Guía MHD para el Intercambio de Información de Salud en Chile
0.1.0-ballot1 - ballot
Guía MHD para el Intercambio de Información de Salud en Chile, published by Hl7 Chile. This guide is not an authorized publication; it is the continuous build for version 0.1.0-ballot1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7Chile/MHD-CL/ and changes regularly. See the Directory of published versions
Esta página describe las transacciones utilizadas para registrar, buscar y recuperar documentos clínicos mediante IHE Mobile access to Health Documents (MHD) sobre HL7 FHIR R4.
La implementación utiliza los perfiles de IHE MHD para el intercambio documental y los perfiles de CL Core para representar las entidades nacionales, como pacientes, profesionales y organizaciones.
| Actor | Función |
|---|---|
| Document Source | Genera y envía documentos clínicos con sus metadatos. |
| Document Recipient | Recibe, valida y registra los documentos enviados. |
| Document Consumer | Busca referencias documentales y solicita los documentos. |
| Document Responder | Responde las búsquedas y entrega los documentos solicitados. |
Nombre IHE: Provide Document Bundle
Actores: Document Source → Document Recipient
Método HTTP: POST [base]
La transacción ITI-65 permite enviar documentos clínicos y sus metadatos al receptor documental. La solicitud se representa mediante un Bundle FHIR de tipo transaction, que debe procesarse de manera atómica: todas las entradas se procesan correctamente o la transacción completa es rechazada.
| Recurso | Uso |
|---|---|
Bundle de tipo transaction |
Contenedor de la transacción. |
List tipo SubmissionSet |
Agrupa los documentos pertenecientes a una misma presentación. |
Uno o más DocumentReference |
Contienen los metadatos y la referencia al contenido documental. |
Binary o Bundle tipo document |
Representan el documento, según la opción MHD implementada. |
Patient basado en CL Core |
Identifica al paciente cuando debe incluirse o registrarse en la misma transacción. |
| Otros recursos CL Core | Representan profesionales u organizaciones cuando corresponda. |
La guía local debe declarar expresamente si el contenido se envía como
Binary, como unBundleFHIR de tipodocumento se mantiene en un repositorio externo mediante la opción de referencias no contenidas.
POST [base]
Content-Type: application/fhir+json
Accept: application/fhir+json
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:submission-set",
"resource": {
"resourceType": "List",
"status": "current",
"mode": "working"
},
"request": {
"method": "POST",
"url": "List"
}
},
{
"fullUrl": "urn:uuid:document-reference",
"resource": {
"resourceType": "DocumentReference",
"status": "current"
},
"request": {
"method": "POST",
"url": "DocumentReference"
}
},
{
"fullUrl": "urn:uuid:clinical-document",
"resource": {
"resourceType": "Bundle",
"type": "document"
},
"request": {
"method": "POST",
"url": "Bundle"
}
}
]
}
El éxito de la transacción se informa mediante un estado HTTP general 200 OK. Cada entrada del Bundle de respuesta indica el resultado individual de su operación, normalmente 201 Created para los recursos creados.
{
"resourceType": "Bundle",
"type": "transaction-response",
"entry": [
{
"response": {
"status": "201 Created",
"location": "List/123/_history/1"
}
},
{
"response": {
"status": "201 Created",
"location": "DocumentReference/456/_history/1"
}
},
{
"response": {
"status": "201 Created",
"location": "Bundle/789/_history/1"
}
}
]
}
Nombre IHE: Find Document References
Actores: Document Consumer → Document Responder
Método HTTP: GET [base]/DocumentReference
La transacción ITI-67 permite al Document Consumer buscar referencias documentales en el Document Responder mediante el recurso DocumentReference. El resultado entrega los metadatos de cada documento y la dirección desde la cual recuperarlo mediante ITI-68.
El servidor DEBE soportar los parámetros de búsqueda obligatorios definidos por IHE MHD para ITI-67. La presente guía puede además establecer restricciones, combinaciones recomendadas o parámetros adicionales para responder a las necesidades de la implementación local. Los parámetros y requisitos detallados se especifican formalmente en el CapabilityStatement MHD Responder de esta guía.
| Parámetro | Tipo | Descripción |
|---|---|---|
patient |
reference | Paciente al que se refiere el documento. |
patient.identifier |
token | Identificador del paciente (por ejemplo, RUN). |
status |
token | Estado de la referencia (por ejemplo, current). |
type |
token | Tipo de documento. |
category |
token | Clase o categoría del documento. |
date |
date | Fecha de indexación de la referencia. |
creation |
date | Fecha de creación del documento. |
period |
date | Período del servicio clínico documentado. |
identifier |
token | Identificador del documento. |
format |
token | Formato del documento. |
facility |
token | Tipo de establecimiento donde se originó el documento. |
setting |
token | Especialidad o ámbito clínico del documento. |
event |
token | Evento clínico que originó el documento. |
security-label |
token | Etiquetas de seguridad y confidencialidad. |
related |
reference | Recursos relacionados con el documento. |
author.given, author.family |
string | Nombre del autor del documento. |
_id, _lastupdated |
token, date | Parámetros generales de FHIR. |
GET [base]/DocumentReference?patient.identifier=[system]|[value]&status=current
Accept: application/fhir+json
Ejemplo:
GET [base]/DocumentReference?patient.identifier=https://www.registrocivil.cl/run|9999999-9&status=current
La búsqueda es la forma definida por IHE MHD para ITI-67. La lectura directa es una interacción FHIR estándar que este servidor declara en el CapabilityStatement MHD Responder.
La respuesta será 200 OK, incluso cuando no se encuentren documentos. En ese caso, el Bundle.total será 0 y no contendrá entradas de resultados.
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"entry": [
{
"fullUrl": "https://servidor.example.org/fhir/DocumentReference/456",
"resource": {
"resourceType": "DocumentReference",
"id": "456",
"status": "current",
"subject": {
"reference": "Patient/123"
},
"content": [
{
"attachment": {
"contentType": "application/fhir+json",
"url": "https://servidor.example.org/fhir/Bundle/789",
"title": "Documento clínico"
}
}
]
},
"search": {
"mode": "match"
}
}
]
}
Nombre IHE: Retrieve Document
Actores: Document Consumer → Document Responder
Método HTTP: GET [URL del documento]
La transacción ITI-68 permite recuperar el documento previamente localizado mediante ITI-67. El consumidor debe utilizar la dirección indicada en DocumentReference.content.attachment.url.
Cuando el documento se representa como un Bundle FHIR de tipo document, la dirección puede corresponder a un endpoint como:
GET [base]/Bundle/[id]
Si el documento se almacena como Binary o en un repositorio documental externo, se utiliza directamente la URL informada en el DocumentReference.
El consumidor puede utilizar el encabezado Accept para indicar el formato requerido:
GET [DocumentReference.content.attachment.url]
Accept: application/fhir+json
El formato solicitado debe ser compatible con el tipo informado en DocumentReference.content.attachment.contentType.
{
"resourceType": "Bundle",
"id": "789",
"type": "document",
"timestamp": "2026-08-17T10:30:00-03:00",
"entry": [
{
"resource": {
"resourceType": "Composition",
"id": "composition-1",
"status": "final"
}
},
{
"resource": {
"resourceType": "Patient",
"id": "patient-1"
}
}
]
}
| Código | Escenario | Descripción |
|---|---|---|
200 OK |
Operación exitosa | Transacción procesada, búsqueda ejecutada o documento recuperado correctamente. |
201 Created |
Recurso creado | Se utiliza en las respuestas individuales de las entradas de una transacción exitosa. |
400 Bad Request |
Solicitud incorrecta | La sintaxis, los parámetros o la estructura de la solicitud son inválidos. |
401 Unauthorized |
Sin autenticación | No se presentaron credenciales válidas. |
403 Forbidden |
Sin autorización | La identidad autenticada no tiene permisos para realizar la operación. |
404 Not Found |
Recurso inexistente | La referencia o el documento solicitado no existe o no puede ser revelado. |
409 Conflict |
Conflicto | Existe una colisión de identificadores, versiones o reglas de negocio. |
422 Unprocessable Entity |
Error de validación | El contenido puede procesarse, pero no cumple los perfiles o restricciones FHIR. |
500 Internal Server Error |
Error interno | El servidor no pudo completar la operación. |
Cuando se produce un error, el servidor debería entregar un recurso OperationOutcome con información suficiente para identificar la causa.
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"diagnostics": "El recurso no cumple con el perfil declarado."
}
]
}
Las transacciones deben ejecutarse mediante HTTPS y aplicar los mecanismos de autenticación, autorización, control de acceso y auditoría definidos por la infraestructura nacional o institucional.
Como mínimo, la implementación debe considerar: