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.
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 DCIopen_calculatorDeschidere unul din 48 calculatoare clinice validateopen_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 general | 6 / 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ă
| Furnizor | OpenAI |
| Model | gpt-4o-mini |
| Endpoint | https://api.openai.com/v1/chat/completions |
| Temperature | 0.3 |
| Max tokens output | 600 |
| Format răspuns | JSON Object (acțiune structurată sau text simplu) |
| Memorie istoric | Ultimele 10 mesaje din sesiunea curentă (NU persistat între sesiuni) |
| Rate limit | 10 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:
Pentru raportare vulnerabilități de securitate: vezi /.well-known/security.txt