Dev Lab

Medical · 2026 · Sub NDA

Un CRM pentru o clinică medicală

Pacienți, programarea medicilor, fișe electronice și facturare, într-un sistem care nu lasă datele să iasă din clinică.

Client
O clinică medicală privată
An
2026
Direcție
Sisteme CRM
Termen
1-2 luni

Problema

Datele medicale sunt o categorie specială conform articolului 9 din GDPR și nu pot fi tratate ca o listă obișnuită de clienți. CRM-urile cloud de raft înseamnă aproape întotdeauna că fișele pacienților stau pe serverul altcuiva, în altă țară. În același timp, cei care le folosesc sunt medici și recepționeri, nu specialiști IT, deci securitatea nu se poate plăti cu o interfață mai grea.

Ce am făcut

Sistemul este self-hosted: rulează în rețeaua clinicii, cu baza de date și fișierele pe serverul propriu al clinicii. Internetul este necesar doar pentru memento-urile pacienților, iar restul continuă să funcționeze fără el. Datele personale sunt criptate, contul de administrator este protejat cu un al doilea factor, iar fiecare acțiune asupra unei fișe ajunge într-un jurnal de audit. Drepturile nu sunt scrise în cod: rolurile se configurează per clinică. În interior sunt cincisprezece entități, inclusiv un catalog ICD-10 și fișe medicale versionate, cu interfața în trei limbi.

Rezultatul

Sistemul este livrat și se pregătește pentru implementare, deci încă nu are cifre de utilizare și nu inventăm niciuna. Ce se poate verifica azi: datele nu părăsesc clinica, rolurile se schimbă fără a atinge codul, iar fiecare acces la o fișă rămâne în jurnal.

Stack

  • React
  • TypeScript
  • Vite
  • Mantine
  • Node.js
  • Express
  • MongoDB
  • Docker

Ce poate sistemul

Pacienți

  • Fișă cu poliță, alergii și diagnostice cronice
  • CNP, telefon, adresă și poliță se păstrează criptate
  • Căutare în câmpurile criptate, prin indice orb
  • Control al dublurilor după CNP și după nume cu data nașterii
  • Anonimizare în loc de ștergere, conform GDPR
  • Consimțământ pentru prelucrarea datelor, cu formular tipăribil

Programări

  • Grilă a zilei 08:00-20:00, pe medici
  • Mutarea programării prin tragere cu mouse-ul
  • Suprapunerile de timp sunt respinse
  • Orar săptămânal al medicului și concedii
  • 7 stări, de la confirmare la neprezentare
  • Calendarul se actualizează live în toate filele deschise
  • Listă de așteptare pentru intervalul care se eliberează

Fișe medicale

  • Consultație: acuze, examen, diagnostic, recomandări
  • Modificarea creează o versiune nouă, cele vechi rămân neatinse
  • Istoricul versiunilor este vizibil în interfață
  • Catalog ICD-10 cu autocompletare în trei limbi
  • Șabloane de examinare, salvate direct din formular
  • Vizită repetată dintr-un buton

Fișiere și tipar

  • Încărcare prin tragere, cu verificarea tipului după semnătura fișierului
  • Extensia falsificată este respinsă
  • Fișierele stau în afara webroot și se livrează doar prin API
  • Patru documente PDF: extras, rețetă, factură, consimțământ
  • Fiecare document se tipărește în trei limbi

Facturare

  • Facturi INV-AAAA-NNNN, cu poziții din lista de prețuri
  • Sumele în unități minore întregi, fără virgulă mobilă
  • Plată în numerar, cu cardul și prin asigurare
  • Starea facturii se recalculează după suma plătită
  • Raport de casă al zilei, pe metode de plată
  • Factură creată direct din consultația încheiată

Securitate

  • 17 drepturi atomice, rolurile se compun în panoul de administrare
  • Autentificare în doi pași, obligatorie pentru administrator
  • Blocare progresivă după cinci încercări eșuate
  • Drepturile se recitesc la fiecare cerere, dezactivarea are efect imediat
  • Jurnal de audit: autentificări, vizualizări de fișe, descărcări
  • Memento-uri pentru pacienți prin Telegram și e-mail

Ecrane din sistem

  • Ziua clinicii pe medici, cu stările programărilor
  • Fișa pacientului: date criptate, poliță, consimțământ GDPR
  • Jurnalul consultațiilor cu diagnostice ICD-10
  • Facturi și plăți: numerar, card, asigurare
  • Încasări, programări, neprezentări și pacienți noi
  • Constructorul de roluri: 17 drepturi atomice

În cifre

date în afara cliniciiself-hosted, fără cloud
0
limbi de interfațăengleză, română, rusă
3
coduri ICD-10 în catalogul de bază
144