APLIKACJE MOBILNE

Konwersacyjny asystent medyczny do wywiadu pacjenta

Aplikacja na Android i iOS prowadząca strukturalny wywiad medyczny — głosem lub klikiem — z modułem ML i panelem dla lekarzy

← Realizacje
Rok
2021
Czas
8-12 miesięcy
Kategoria
Aplikacje mobilne
Branża
Health-tech / telemedycyna

Wyzwanie

Klasyczny wywiad medyczny w gabinecie pochłania dużą część czasu konsultacji: lekarz zadaje serię pytań, notuje odpowiedzi, decyduje o kolejnym pytaniu na bazie poprzednich. Klient z branży medycznej chciał odciążyć ten proces — pozwolić pacjentowi przeprowadzić wstępny, ustrukturyzowany wywiad w aplikacji mobilnej (głosowo lub klikowo), a lekarzowi pokazywać już posortowane wnioski wraz z sugerowanymi kierunkami diagnostycznymi.

Rozwiązanie

Zbudowaliśmy aplikację mobilną dostępną natywnie na Android (Kotlin) i iOS (Swift), oferującą dwa równoległe tryby interakcji: głosowy — pacjent odpowiada wypowiedzią, aplikacja rozpoznaje mowę, ekstrahuje odpowiedź i przekazuje do silnika decyzyjnego; klikowy — pacjent wybiera odpowiedź z predefiniowanych opcji, idealnie dla osób preferujących prywatność lub w głośnym otoczeniu. Backend (Node.js + PHP/Laravel) trzyma logikę biznesową, ML do analizy odpowiedzi oraz API dla obu klientów. Lekarze dostają osobny panel webowy w Vue z widokiem przeprowadzonych wywiadów, sugestiami diagnostycznymi i możliwością ich akceptacji/korekty.

Silnik rozpoznawania mowy i przetwarzania odpowiedzi

Tryb głosowy oparty jest o natywne biblioteki rozpoznawania mowy (Speech Framework na iOS, SpeechRecognizer na Android), z opcjonalnym fallbackiem na chmurową usługę dla dłuższych wypowiedzi. Tekst z rozpoznania mowy przechodzi przez warstwę normalizacji (usuwanie wahań, korekty fonetyczne typowe dla polskich nazw medycznych) i jest mapowany na predefiniowane kategorie odpowiedzi — tak żeby silnik decyzyjny operował na jednolitej reprezentacji niezależnie od tego, czy pacjent kliknął opcję czy ją powiedział.

Silnik ML — dobór pytań i sugestie diagnostyczne

Sercem aplikacji jest moduł ML, który:

  1. Wybiera kolejne pytanie na bazie dotychczasowych odpowiedzi — drzewo decyzyjne uczone na danych przygotowanych przez zespół medyczny klienta, optymalizujące zmniejszanie niepewności diagnostycznej w jak najmniejszej liczbie kroków.
  2. Klasyfikuje sygnały z odpowiedzi do kategorii objawowych (układ pokarmowy, oddechowy, neurologiczny itd.) i waży je czasem trwania, intensywnością i wcześniejszymi schorzeniami pacjenta.
  3. Sugeruje kierunki diagnostyczne — generuje listę najbardziej prawdopodobnych chorób kompatybilnych z zebranym wywiadem, wraz ze stopniem dopasowania. Wynik nie jest diagnozą — to materiał wejściowy dla lekarza prowadzącego konsultację.

Efekt

Pacjent przeprowadza wstępny wywiad w aplikacji w wygodnym dla siebie tempie, lekarz dostaje strukturalny raport zamiast surowych notatek. Aplikacja w obu sklepach (App Store, Google Play), moduł lekarski używany przez zespoły medyczne klienta.

Co zbudowaliśmy

Backend & API

API i silnik ML

Node.js obsługuje real-time komunikację z mobilką, kolejkowanie analizy ML i orkiestrację silnika decyzyjnego (drzewo pytań). Laravel (PHP) odpowiada za panel administracyjny, zarządzanie bazą wiedzy medycznej, kontami lekarzy i raportowaniem. Wspólna baza relacyjna.

Frontend Web

Panel lekarza

SPA w Vue.js dla zespołu medycznego — lista przeprowadzonych wywiadów, szczegółowy widok pacjenta z timeline odpowiedzi, sugestiami ML i miejscem na decyzję lekarza. Komunikacja z backendem przez REST + WebSocket dla powiadomień o nowych wywiadach.

Android

Klient Android

Natywna aplikacja Android (Kotlin), interfejs konwersacyjny z dwoma trybami (głos/klik) przełączalnymi w trakcie wywiadu, integracja z Android SpeechRecognizer, lokalna kolejka odpowiedzi z synchronizacją do backendu (działanie przy słabym połączeniu).

iOS

Klient iOS

Natywna aplikacja iOS (Swift), bliźniaczy UX do wersji Android, integracja ze Speech Framework Apple, AVAudioEngine dla nasłuchu z VAD (voice activity detection), wsparcie dostępności i trybu wysokiego kontrastu.

Stack technologiczny

Node.jsPHPLaravelVue.jsKotlinSwiftAndroid SDKiOS SDK

Efekty

Android + iOS
Platformy mobilne
głos + klik
Tryby interakcji
4
Warstwy systemu
Live w stores
Status