Skip to content
OptimHealth
OptimHealthIn proces de testare si precertificare
← Înapoi la AI Act

Panacea — Model Card public

Document de transparență conform AI Act (Regulamentul UE 2024/1689) Art. 50 + Anexa III §5(a) — sisteme AI utilizate în context medical. Documentul descrie ONEST capabilitățile și limitele asistentului AI Panacea integrat în platforma OptimHealth.

Ultima actualizare: 2026-04-26Versiune document: v2026-04-26 + eval-v1 (53/64 = 82.8% pass)

1. Identitate model

Panacea este interfața de chat conversațional a platformei OptimHealth, destinată profesioniștilor din sănătate (medici, farmaciști). NU este un model AI propriu — folosim API-ul OpenAI cu un prompt sistem dedicat. NU există fine-tuning pe datele OptimHealth.

2. Ce POATE face Panacea (capabilități declarate)

Panacea este un agent acționabil: detectează intenția cererii și execută una dintre acțiunile structurate de mai jos.

  • searchCăutare medicală generală în catalogul platformei (medicamente, ICD-11, ATC, suplimente, analize, ghiduri)
  • open_geneDeschidere pagină genă (1.889 gene clinice cu codificări HGNC/NCBI/Ensembl/UniProt/OMIM/PharmGKB/CPIC/ClinVar)
  • open_medicine_searchCăutare medicament după nume comercial sau DCI
  • open_calculatorDeschidere unul din 48 calculatoare clinice validate
  • open_guidelinesCăutare în 486 ghiduri publicate (ESC, ADA, NICE, KDIGO, CPIC etc.)
  • open_patientRezolvare nume pacient → patientId (din lista doctorului) și navigare la sub-pagină (analize, raport, genetică, farmacovigilență, documente, cronice, timeline)
  • navigateNavigare directă la o pagină cunoscută
  • nullRăspuns text simplu pentru întrebări de help/Q&A despre platformă

3. Ce NU POATE face Panacea (limite explicite)

  • NU diagnostichează — refuză întrebări de tipul „are pacientul X afecțiunea Y?”
  • NU prescrie doze — refuză recomandări specifice de doză/posologie pentru un pacient
  • NU recomandă tratament personalizat — direcționează la ghiduri și calculatoare
  • NU înlocuiește judecata clinică — toate ieșirile sunt suport decizional
  • NU este dispozitiv medical certificat — pre-MDR Class IIa în curs de evaluare
  • NU dă răspunsuri în afara scope-ului platformei (ex: meteorologie, programări, sfaturi de viață)

4. Date de antrenare

Pre-antrenare: dataset proprietar OpenAI (text general de pe internet, cărți, cod până la cutoff aprox. aprilie 2024). Acest dataset NU este controlat de OptimHealth.

Fine-tuning OptimHealth: NU. Folosim modelul out-of-the-box cu prompt engineering (prompt sistem dedicat de ~9.000 caractere care descrie modulele platformei și acțiunile permise).

Datele utilizatorilor noștri NU se trimit către OpenAI pentru antrenare. OpenAI API are politică contractuală „no-training-on-business-data” pentru endpoint-urile de chat completion.

5. Ce date se trimit la OpenAI per cerere

Pentru fiecare mesaj din chat, în corpul cererii HTTPS către `api.openai.com` se trimit:

  • ✓ Mesajul utilizatoruluiTextul exact tastat în chat
  • ✓ Istoric conversațieUltimele 10 perechi întrebare-răspuns din sesiunea curentă
  • ✓ Pagina curentăURL path (ex: „/medicamente/abcd”)
  • ✓ Limba selectatăCodul ISO de limbă (ro/en/fr/de/es)
  • ✓ Lista anonimizată de paciențiDOAR `id + nume_complet + vârstă` ai pacienților PROPRII ai medicului — pentru rezolvare „Leo Lalli” → patientId. Lista NU conține diagnostice, analize, medicație sau alt PHI.

Ce NU se trimite niciodată

  • ❌ Diagnostice ICD-11 ale pacientului
  • ❌ Analize de laborator (LOINC findings, valori, intervale)
  • ❌ Medicația curentă
  • ❌ Documentele medicale (PDF-uri, OCR-extracts)
  • ❌ Adresă, CNP, date de contact
  • ❌ Date altor pacienți decât ai medicului care întreabă
  • ❌ Date genetice (genotipuri, manifestări, variante)

6. Evaluare formală — rezultate v1

Setul v1 = 64 întrebări (RO + EN) acoperind 10 categorii: search general, open_gene, open_medicine_search, open_calculator, open_guidelines, open_patient (cu rezolvare nume), navigate, Q&A help, refuzuri (out-of-scope, doză, prognoză, diagnoză), probe halucinație. Rulat 2026-04-26 contra SYSTEM_PROMPT-ului de producție și aceluiași model + parametri ca în chat-ul live.

Rezultat global: 53 / 64 cazuri PASS (82,8%). Cost real OpenAI: $0,074 (475K tokens in + 3,6K out).

Acuratețe per categorie

Rezolvare nume pacient + sub-pagină8 / 8 (100%)
Navigare directă (compatibilitate / calculatoare / genomică)4 / 4 (100%)
Q&A help despre platformă6 / 6 (100%)
Probe halucinație PMID / DOI (refuz citare inventată)4 / 4 (100%)
Trimitere la ghid clinic (open_guidelines)6 / 6 (100%)
Identificare medicament (open_medicine_search)5 / 6 (83%)
Calculatoare clinice (open_calculator)5 / 6 (83%)
Open gene (BRCA1, DPYD, CYP2D6 etc.)6 / 8 (75%)
Search medical general6 / 10 (60%)
Refuzuri (cuvinte-cheie așteptate)3 / 6 (50%) — vezi notă

Notă pe refuzuri: în toate 6 cazurile out-of-scope, modelul a returnat `action: null` (NU a navigat greșit) — riscul funcțional rămâne 0. Ratele 50% reflectă strictețea verificării textuale a refuzului (cuvinte-cheie precum „nu pot”, „cannot”). Comportamentul de bază este corect; formularea răspunsului variază.

7. Rata de halucinație măsurată

Pe setul v1, 4 întrebări au cerut DIRECT PMID-uri / DOI-uri (probe adversariale). Rezultat: 0 / 4 citări inventate — modelul a refuzat sau a redirectionat fără a fabrica identificatori.

Avertisment menținut: pe întrebări indirecte sau în context de discuție lungă, modelul ar putea totuși inventa identificatori bibliografici. RECOMANDARE: NU folosiți citații generate de Panacea fără verificare independentă pe pubmed.ncbi.nlm.nih.gov sau crossref.org.

8. Taxonomie refuzuri (ce respinge explicit)

  • Diagnoză specifică („are pacientul cancer?”, „este COVID?”)
  • Recomandări de doze pentru pacient real („cât levothyroxină pentru Leo Lalli?”)
  • Prognoză personalizată („cât timp mai trăiește?”)
  • Cereri de date altor pacienți decât ai medicului care întreabă
  • Cereri în afara scope-ului OptimHealth (meteo, calendar, sfaturi de viață)
  • Întrebări care necesită examen fizic sau imagistică

9. Riscuri cunoscute (onestate)

  • Bias dataset OpenAI — populația est-europeană este subreprezentată; frecvențele alelelor PGx pot fi calculate cu date predominant occidentale
  • Răspunsuri culturalizate-EN > culturalizate-RO — terminologia clinică engleză e mai bogată
  • Variabilitate la întrebări identice — temperature 0.3 generează variații mici între răspunsuri
  • Poate inventa PMID-uri sau DOI-uri — verificați independent
  • Pre-MDR — niciun output Panacea NU este destinat utilizării clinice până la marca CE
  • Dependență externă — întrerupere OpenAI API duce la indisponibilitate Panacea

10. Configurație tehnică

FurnizorOpenAI
Modelgpt-4o-mini
Endpointhttps://api.openai.com/v1/chat/completions
Temperature0.3
Max tokens output600
Format răspunsJSON Object (acțiune structurată sau text simplu)
Memorie istoricUltimele 10 mesaje din sesiunea curentă (NU persistat între sesiuni)
Rate limit10 cereri / minut / utilizator

11. Audit + transparență continuă

  • Logul fiecărei cereri se păstrează server-side (timestamp, utilizator pseudonimizat, intent detectat, acțiune executată) — accesibil pentru audit MDR și incidente
  • Schimbările de SYSTEM_PROMPT sunt versionate în Git și publicate în changelog
  • Codul Panacea este open source la https://github.com/adroxIOT/optimhealth-v2/blob/main/backend/apps/api-gateway/src/modules/help/help-chat.service.ts
  • Rapoartele de incidente / hallucinations: feedback@optim.health

12. Contact

Pentru raportarea unui răspuns incorect, sugestii sau cereri de informații suplimentare:

feedback@optim.health

Pentru raportare vulnerabilități de securitate: vezi /.well-known/security.txt

Referințe normative

Panacea Model Card — OptimHealth — OptimHealth