Efektívne riešenie pre rýchlejšiu prvú pomoc

Systém určený pre rýchle zvolávanie vyškolených dobrovoľníkov k pacientom s náhlym zastavením krvného obehu pred príchodom záchrannej zdravotnej služby.

Ukážka First responder systému

Ako systém funguje?

Systém je možné využiť pri zásahoch, kde môžu byť vyškolení dobrovoľníci z prvej pomoci (Responderi) pri pacientovi skôr, ako záchranná zdravotná služba. Zároveň sa zameriava na pacientov, ktorých diagnóza je spojená s náhlym zastavením krvného obehu. Pri týchto pacientoch sú využívané automatické externé defibrilátory (AED), ktoré v systéme evidujeme. Systém poskytuje API, pomocou ktorého sú dobrovoľníci o takomto zásahu upozornení (cez budúcu mobilnú aplikáciu). Systém je možné využiť ako doplnok k záchranným systémom.

Webová časť tohto systému bola realizovaná ako bakalárska práca
na Fakulte riadenia a informatiky na Žilinskej univerzite.

Dokumentácia

Funkcie systému

Správa používateľov

Systém umožňuje správu používateľov, ktorí môžu mať 3 rôzne role: Nezaradený , Responder a Zamestnanec. Používateľ s rolou Zamestnanec môže zaradiť iných používateľov do skupín, ktoré môžeme využiť pre odosielanie hromadných notifikácie alebo zaradiť responderov na školenia. Používateľ systému si vie v prípade potreby zmeniť svoje zabudnuté heslo.

Evidencia AED zariadení

Automatické externé defibrilátory (AED) evidujeme ako dva rôzne typy zariadení. Verejné AED zariadenia sú umiestnené na verejných miestach a sú dostupné pre každého v prípade núdze. K zariadeniam ukladáme fotografie a informácie o ich umiestnení. Osobné AED zariadenia sú vlastníctvom responderov a sú dostupné len pre nich.

Organizácia zásahov

Zásah je možné vytvoriť výberom miesta priamo na mape alebo zadaním GPS polohy. Po vytvorení je možné spustiť vyhľadávanie a upozornenie responderov. Po prijatí zásahu responderom sa zobrazí na mape a je možné komunikovať s ostatnými účastníkmi zásahu. Informácie o zásahu sa dajú priebežne aktualizovať.

Správa používateľov

Používateľ s rolou Zamestnanec má prístup k administratívnym funkciam systému. V rámci správy používateľov môže filtrovať používateľov systému podľa rôznych kritérií.

Do systému dokáže pridať nového používateľa, upraviť jeho údaje alebo zmeniť rolu. V informáciach o používateľovi tiež vidí jeho predchádzajúce zásahy, v akých skupinách je zaradený a aké školenia v minulosti absolvoval.

V prípade potreby môže zamestnanec odoslať používateľovi email pre zmenu hesla.

Skupiny responderov

Skupiny responderov sú vytvárané zamestnancami systému a slúžia pre jednoduchšie odosielanie hromadných notifikácií a pre zaradenie responderov na školenia.

Každý responder môže byť zaradený do viacerých skupín. V rámci skupiny môže zamestnanec vidieť všetkých zaradených responderov a prípadne pridať nových alebo odstrániť existujúcich responderov.

Príkladom skupiny môže byť Dobrovoľný hasičský zbor obce alebo Mestská polícia.

Školenia responderov

Responderi sa môžu zúčastniť školení, určené pre zlepšenie ich znalostí v oblasti prvej pomoci.

Školenia sú vytvárané zamestnancami systému a obsahujú informácie o dátume, čase, mieste, type školenia a ďalšie informácie. Účastníkov školenia je možné pridať manuálne alebo načítať zo skupiny. Účastníkom je možné odoslať hromadnú pozvánku na školenie emailom.

Typy školení je možné v systéme pridávať, upravovať alebo zmazať.

Notifikácie

Notifikácie sú realizované ako push notifikácie, ktoré sú odosielané pomocou služby Firebase Cloud Messaging do budúcej mobilnej aplikácie responderom.

Notifikácie môžu byť odosielané pre individuálneho používateľa alebo hromadne pomocou skupín responderov.

Evidencia AED

Automatické externé defibrilátory (AED) evidujeme ako dva rôzne typy zariadení - Verejné a Osobné. AED je možné zobraziť vo forme zoznamu s možnosťou filtrovania alebo verejné AED na mape.

AED sú farebne označené podľa ich aktuálneho stavu, napríklad či je momentálne pripravené na použitie alebo potrebuje servisný zásah.

K zariadeniam je možné evidovať aj udalosti ako exspirácie batérií, elektród prípadne detských elektród. Tieto udalosti je možné zobraziť vo forme kalendára.

Technické parametre AED

Pri AED zariadeniach je možné evidovať aj technické parametre ako výrobca, model a jazyk prístroja. Modely AED zariadení sú pridávané pod jednotlivých výrobcov evidovaných v systéme.

Všetky tieto možnosti sa dajú v systéme pridávať, upravovať alebo zmazať.

Organizácia zásahov

Zásah je možné vytvoriť výberom miesta priamo na mape alebo zadaním GPS polohy spolu s ďalšími informáciami o zásahu. Po vytvorení zásahu je možné spustiť vyhľadávanie a upozornenie responderov.

Ak sa nejaký responder prihlási na zásah, zobrazí sa v zozname responderov a aj na mape, kde zamestnanec vidí aj dopravný prostriedok respondera (auto, bicykel, peši). Poloha respondera sa priebežne aktualizuje.

Medzi zamestnancom a respondermi je možná výmena správ a po ukončení zásahu vedia responderi vytvoriť správu o zásahu.

Použité technológie

ASP.NET 8

ASP.NET 8

Systém je postavený na platforme ASP.NET 8, pričom využívame klasický MVC prístup pre vytvorenie webovej aplikácie. Pre mobilnú aplikáciu poskytujeme API.

MediatR

MediatR

MediatR je knižnica pre implementáciu návrhového vzoru Mediator. Systém je vďaka nej postavený na Clean Architektúre, kde je biznis logika rozdelená na use-case triedy.

Entity Framework Core

Entity Framework Core

Entity Framework Core je ORM framework pre komunikáciu s databázou. Jednotlivé tabuľky databázy sú mapované na objekty v C#, čím sa zjednodušuje práca s dátami.

Microsoft SQL Server

Microsoft SQL Server

Ako databázový systém bol použitý Microsoft SQL Server. Namodelované vzťahy medzi entitami v C# kóde sú mapované na tabuľky v relačnej databáze.

SignalR

SignalR

SignalR slúži pre real-time komunikáciu medzi serverom a webovým prehliadačom. Využitý bol pre aktuálizáciu informácií o zásahu v reálnom čase (mapa responderov, odosielanie správ, ...).

Firebase Cloud Messaging

Firebase Cloud Messaging

FCM využívame na odosielanie push notifikácií na mobilné zariadenia. Okrem vizuálnej notifikácie je možné odosielať aj dáta a spúšťať kód na pozadí zariadenia ako background service (získanie polohy).

Vue.js

Vue.js

Frontend framework Vue.js bol použitý na zapúzdrenie logiky do komponentov na miestach stránky, kde je potrebná vyššia miera reaktivity. Webová aplikácia pri tom nie je SPA ale klasická MPA (Multi-Page Application).

Bulma

Bulma

CSS framework Bulma poskytuje moderné používateľské rozhranie pre našu webovú aplikáciu, pričom poskytuje veľké množstvo komponentov a štýlov.

Architektúra systému

Dominik Ježík Bakalárska práca

Dominik Ježík

Web developer

Volám sa Dominik Ježík a som študentom Fakulty riadenia a informatiky na Žilinskej univerzite v Žiline, kde som úspešne obhájil bakalársku prácu na tému Webová časť systému First responder.

Počas tvorby tejto práce som sa zdokonalil v technológiach ASP.NET, EF Core, Vue.js a naučil som sa pracovať s ďalšími modernými technológiami. Vďaka tejto práci som získal veľa skúseností a zároveň ma motivovala k ďalšiemu vzdelávaniu a zlepšovaniu sa v oblasti vývoja softvéru.