Skip to main content

Recursos FHIR

Enviás recursos FHIR R4 a POST /fhir, sueltos o dentro de un Bundle de tipo transaction. Recursos soportados: Patient, Encounter (episodio), Procedure (práctica) y DocumentReference (documentación).

Identidad: tu número externo

Cada entidad se identifica por tu número externo (no por DNI ni por datos de PAMI), en identifier.value con su system. Los system se acuerdan en el onboarding; estos son los valores por defecto:

Entidadsystem
Pacientehttps://cliente.example.org/ids/patient
Episodiohttps://cliente.example.org/ids/encounter
Prácticahttps://cliente.example.org/ids/procedure
Documentohttps://cliente.example.org/ids/document
DNIhttps://www.argentina.gob.ar/dni

Las referencias entre recursos se hacen por identificador lógico (no por reference: "Patient/123"):

"subject": {
"type": "Patient",
"identifier": { "system": "https://cliente.example.org/ids/patient", "value": "PAC-00" }
}

Una referencia resuelve si el destino viaja en el mismo Bundle o ya lo enviaste antes.

ABM (alta / baja / modificación)

  • Alta / modificación: enviás el recurso (mismo identifier = modificación del mismo).
  • Baja: Patient con active: false; el resto de los recursos con status: "entered-in-error".

Paciente

{
"resourceType": "Patient",
"identifier": [
{ "system": "https://cliente.example.org/ids/patient", "value": "PAC-00" },
{ "system": "https://www.argentina.gob.ar/dni", "value": "20345678" }
],
"active": true,
"name": [{ "family": "Pérez", "given": ["Juan"] }],
"birthDate": "1990-01-15"
}

Episodio (Encounter)

Requiere la cobertura (credencial + plan) en una extensión. class.code: IMP (internación) o AMB (ambulatorio). La extensión authorization (nº de OP) es opcional. status: in-progress (abierto), finished/cancelled (cierre), entered-in-error (baja).

{
"resourceType": "Encounter",
"identifier": [{ "system": "https://cliente.example.org/ids/encounter", "value": "ENC-001" }],
"status": "in-progress",
"class": { "code": "IMP" },
"subject": {
"type": "Patient",
"identifier": { "system": "https://cliente.example.org/ids/patient", "value": "PAC-00" }
},
"period": { "start": "2026-06-01T09:30:00-03:00" },
"extension": [
{
"url": "https://cliente.example.org/fhir/StructureDefinition/coverage",
"extension": [
{ "url": "credential", "valueString": "150123456789-00" },
{ "url": "plan", "valueString": "PAMI_PI" }
]
},
{
"url": "https://cliente.example.org/fhir/StructureDefinition/authorization",
"extension": [{ "url": "number", "valueString": "AUTH-001" }]
}
]
}

El plan (plan) debe ser un código de plan válido acordado en el onboarding.

Práctica (Procedure)

Una práctica realizada dentro de un episodio: encounter es obligatorio y debe referenciar un episodio existente. El código de la práctica va en code, como código de nomenclador (coding.code) y/o descripción (code.text). La extensión authorization es opcional.

{
"resourceType": "Procedure",
"identifier": [{ "system": "https://cliente.example.org/ids/procedure", "value": "PROC-001" }],
"status": "completed",
"subject": {
"type": "Patient",
"identifier": { "system": "https://cliente.example.org/ids/patient", "value": "PAC-00" }
},
"encounter": {
"type": "Encounter",
"identifier": { "system": "https://cliente.example.org/ids/encounter", "value": "ENC-001" }
},
"code": { "coding": [{ "code": "427109", "system": "https://pami.gob.ar/nomenclador" }] },
"performedDateTime": "2026-06-02T10:00:00-03:00"
}

Documentación (DocumentReference)

Un documento clínico adjunto a un paciente, un episodio o una práctica (subject.type = Patient / Encounter / Procedure). El archivo viaja inline en base64 en content[0].attachment.data.

{
"resourceType": "DocumentReference",
"identifier": [{ "system": "https://cliente.example.org/ids/document", "value": "DOC-001" }],
"status": "current",
"type": { "text": "Epicrisis" },
"subject": {
"type": "Encounter",
"identifier": { "system": "https://cliente.example.org/ids/encounter", "value": "ENC-001" }
},
"content": [
{
"attachment": {
"contentType": "application/pdf",
"title": "epicrisis.pdf",
"data": "<archivo en base64>"
}
}
]
}