Mòdul 13 · Lliçó 3 de 6
FHIR: recursos, API web i perfils
Què aporta FHIR davant d'HL7 v2: recursos modulars, una API REST amb JSON, perfils i guies d'implementació, i el resum internacional de pacient.
- 25 min
- 9 fonts
- 6 targetes
- Actualitzada el 26 d'octubre de 2026
FHIR és la resposta d'HL7 al web. En lloc de missatges de text amb delimitadors, defineix recursos (pacient, episodi, observació…) amb adreça pròpia, que es llegeixen, creen i cerquen per una API com qualsevol servei web, en JSON o XML. El seu nucli és deliberadament petit: cada país, regió o hospital l'adapta amb perfils i guies d'implementació. No substitueix de cop HL7 v2: conviuen, i hi ha mapes oficials entre tots dos.
Què és FHIR i d'on ve
HL7 el presenta com un marc d'estàndards de nova generació que combina el millor d'HL7 v2, HL7 v3 i CDA 1. Es basa en estàndards web comuns: XML, JSON, HTTP i OAuth, entre d'altres 1. Les solucions FHIR es construeixen amb components modulars anomenats recursos 1.
La versió publicada a hl7.org en la data de consulta és la Release 5 (v5.0.0) 1. La Release 6 és en procés de votació; el seu primer esborrany és de desembre de 2023 5. Moltes implementacions i guies encara es basen en la Release 4: per exemple, la guia oficial de traducció de v2 a FHIR i la del resum internacional de pacient 6 7. Data de publicació final de la Release 6: [PENDIENTE: no publicada per HL7 a 26 d'octubre de 2026].
Recursos: peces petites i enllaçades
FHIR té recursos per a conceptes administratius, com pacient, professional, organització i dispositiu, i per a molts conceptes clínics 1. Cada recurs és una peça amb sentit propi, que en referencia d'altres. Els segments d'HL7 v2 corresponen, més o menys, a la idea de recurs de FHIR 4. La guia oficial de traducció ho concreta 6:
| Segment HL7 v2 | Recurs FHIR de destinació |
|---|---|
PID (pacient) | Patient |
PV1 (visita) | Encounter |
ORC / OBR (petició) | ServiceRequest, DiagnosticReport |
OBX (resultat) | Observation |
AL1 (al·lèrgia) | AllergyIntolerance |
DG1 (diagnòstic) | Condition |
Una diferència de fons: el nucli dels recursos FHIR és molt més limitat que els segments de v2, que inclouen molts elements d'ús rar 4. El que falta s'hi afegeix amb extensions, que, a diferència dels segments Z de v2, porten una definició pública 3. Una altra diferència: els recursos porten una part llegible per persones, cosa que en general les instàncies v2 no tenen 4.
Un resultat de laboratori, inventat i simplificat, com a recurs Observation en JSON:
{
"resourceType": "Observation",
"id": "obs-001",
"status": "final",
"code": {"coding": [{"system": "http://loinc.org", "code": "2951-2",
"display": "Sodium [Moles/volume] in Serum or Plasma"}]},
"subject": {"reference": "Patient/pac-123"},
"effectiveDateTime": "2026-10-26T09:00:00+01:00",
"valueQuantity": {"value": 139, "unit": "mmol/L",
"system": "http://unitsofmeasure.org", "code": "mmol/L"}
}
La prova s'identifica amb el codi LOINC 2951-2, sodi en sèrum o plasma 9, i la unitat, amb un sistema d'unitats estàndard. El pacient no s'hi copia a dins: s'hi referencia.
L'API: llegir, cercar i crear pel web
FHIR es descriu com una especificació RESTful 2. Cada recurs té una adreça amb el patró [base]/[tipo]/[id] 2, i les operacions són les del protocol web 2:
| Interacció | Verb | Exemple |
|---|---|---|
| read: llegir el contingut actual | GET | GET [base]/Patient/pac-123 |
| search: cercar amb criteris | GET o POST | GET [base]/Observation?patient=pac-123&code=http://loinc.org|2951-2 |
| create: crear al servidor | POST | POST [base]/Observation |
| update: nova versió d'un recurs | PUT | PUT [base]/Observation/obs-001 |
Els formats oficials són application/fhir+json i application/fhir+xml 2. La seguretat (qui pot llegir què) no la resol el nucli de l'estàndard: es recolza en mecanismes web com OAuth 1.
A més de l'API, FHIR admet missatgeria per esdeveniments, semblant a la de v2, i documents 1 4. Un mateix recurs Observation pot viatjar dins d'un missatge, formar part d'un document o servir-se per l'API.
Perfils i guies d'implementació
L'estàndard base gairebé mai no es fa servir tal qual: HL7 adverteix que sol requerir més adaptació a cada context 3. Per a això hi ha tres eines 3:
- Perfil: un conjunt de restriccions sobre un recurs. Per exemple, que el pacient porti obligatòriament l'identificador sanitari autonòmic i que el sexe faci servir un conjunt de codis concret.
- Extensió: un element nou, identificat per una adreça web que en defineix el significat i on es pot fer servir.
- Guia d'implementació: «a coherent and bounded set of adaptations that are published as a single unit».
Les guies formen una jerarquia: dels acords internacionals als d'una sola institució, cada nivell afegeix acords «with an ever smaller community» 3. Que dos sistemes «parlin FHIR» no n'hi ha prou. Cal preguntar quina guia compleixen.
Un exemple de guia: el resum de pacient
La guia International Patient Summary (IPS) defineix un conjunt de dades «minimal and non-exhaustive; specialty-agnostic and condition-independent; but still clinically relevant» 7. Està pensada per a l'atenció no planificada i transfronterera, tot i que no s'hi limita, i l'especifica la norma ISO 27269 7. La versió publicada és la 2.0.1, d'ús a prova, basada en FHIR Release 4 7.
Encaixa amb el que exigeix Europa. Les històries clíniques resumides són la primera categoria prioritària de l'Espai Europeu de Dades de Salut (art. 14.1.a) 8. El format europeu d'intercanvi haurà d'incloure conjunts de dades harmonitzats, sistemes de codificació i especificacions tècniques, amb «normes i perfils» (art. 15.1) 8. Si aquest format es basarà en FHIR, en un altre estàndard o en diversos: [PENDIENTE: actes d'execució de l'art. 15 del Reglament (UE) 2025/327, no publicats a 26 d'octubre de 2026].
Cas pràctic
Un servei de salut vol que una aplicació mòbil mostri al pacient els seus últims resultats d'analítica. El laboratori i la història clínica de l'hospital només parlen HL7 v2.
La solució habitual és una capa de traducció: el motor d'integració rep cada ORU^R01, converteix els OBX en recursos Observation seguint la guia oficial de v2 a FHIR 6 i els desa en un servidor FHIR. L'aplicació consulta aquest servidor amb cerques com GET [base]/Observation?patient=… 2.
El punt feble no és tècnic. Si el laboratori fa servir codis locals, l'aplicació mostrarà GLU sense explicar què és ni podrà agrupar la mateixa prova feta en dos centres. La conversió de format funciona; la interoperabilitat semàntica requereix, a més, un codi estàndard.
Què implica per als sistemes
| Element | Què cal decidir o mantenir | Amb qui |
|---|---|---|
| Servidor FHIR | Quins recursos exposa, amb quins perfils i per a quins usuaris | Aplicacions de professionals i de pacients, altres centres |
| Guies d'implementació | Quina guia nacional o regional es compleix i en quina versió de FHIR | Servei de salut, Ministeri, projectes europeus |
| Conversió v2 a FHIR | Mapes de segments a recursos i de codis locals a estàndard | Motor d'integració i sistemes departamentals |
| Seguretat de l'API | Autenticació, permisos per recurs, registre d'accessos | Identitat corporativa, protecció de dades |
Targetes d'aquesta lliçó (6)
- Recurs FHIR
- Unitat modular d'informació de FHIR, amb estructura definida i identificador propi: Patient, Encounter, Observation, ServiceRequest, DiagnosticReport…
- Perfil FHIR
- Conjunt de restriccions sobre un recurs base per a un ús concret: quins elements són obligatoris, quins codis s'admeten, quines extensions s'hi afegeixen.
- Extensió FHIR
- Element afegit a un recurs, identificat per una adreça web única que en defineix el significat, per recollir dades que el nucli de l'estàndard no preveu.
- Guia d'implementació
- Conjunt coherent de perfils, extensions i regles publicat com una unitat per a una comunitat: internacional, nacional, regional o d'una sola institució.
- IPS
- International Patient Summary: conjunt mínim de dades clíniques d'una persona, pensat per a l'atenció no planificada i transfronterera; l'especifica la norma ISO 27269.
- REST
- Estil d'arquitectura web en què cada recurs té la seva adreça i es manipula amb les operacions estàndard del protocol HTTP: llegir, crear, actualitzar, esborrar, cercar.
Fonts
- HL7 International — FHIR Release 5 (v5.0.0): resumen del estándar (FHIR Overview)
- HL7 International — FHIR Release 5: API RESTful (http.html)
- HL7 International — FHIR Release 5: perfiles, extensiones y guías de implementación (profiling.html)
- HL7 International — FHIR Release 5: comparación con HL7 v2 (Comparison-v2)
- HL7 International — FHIR Release 6, primer borrador a votación (6.0.0-ballot1)
- HL7 International — HL7 Version 2 to FHIR Implementation Guide 1.0.0 (STU 1)
- HL7 International — International Patient Summary Implementation Guide (STU 2)
- Reglamento (UE) 2025/327, relativo al Espacio Europeo de Datos de Salud (DOUE L de 5.3.2025), arts. 14 y 15
- SNOMED International — LOINC Implementation Guide, 2.1 «LOINC Features»