Guía MHD para el Intercambio de Información de Salud en Chile
0.1.0-ballot1 - ballot Chile flag

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

Transacciones asociadas a MHD

Transacciones MHD

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.

Contenido


Actores MHD

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.
Actores y transacciones MHDActores y transacciones MHDDocument SourceDocument RecipientDocument ConsumerDocument ResponderDocument SourceDocument SourceDocument RecipientDocument RecipientDocument ConsumerDocument ConsumerDocument ResponderDocument ResponderITI-65Registrar documentoITI-67Buscar referenciasITI-68Recuperar documento



Transacción 1: Registrar un documento — ITI-65

Nombre IHE: Provide Document Bundle
Actores: Document Source → Document Recipient
Método HTTP: POST [base]

Descripción

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.

Recursos de la transacción
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 un Bundle FHIR de tipo document o se mantiene en un repositorio externo mediante la opción de referencias no contenidas.

Solicitud
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"
      }
    }
  ]
}
Diagrama de secuencia
ITI-65 — Registrar documentoITI-65 — Registrar documentoDocument RecipientDocument SourceDocument RecipientRepositorioDocument Source(Sistema clínico)Document Source(Sistema clínico)Document Recipient(Repositorio MHD)Document Recipient(Repositorio MHD)RepositoriodocumentalRepositoriodocumentalDocument RecipientPOST [base]Bundle transactionBundle transaction:• List (SubmissionSet)• DocumentReference• Documento clínico• Recursos CL Core, si correspondeValidar Bundle y perfilesVerificar referenciasRegistrar metadatos y contenidoRegistro confirmadoHTTP 200Bundle transaction-response


Respuesta exitosa

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"
      }
    }
  ]
}

Transacción 2: Buscar documentos — ITI-67

Nombre IHE: Find Document References
Actores: Document Consumer → Document Responder
Método HTTP: GET [base]/DocumentReference

Descripción

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ámetros de búsqueda
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.
Solicitud por identificador del paciente
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.

Diagrama de secuencia
ITI-67 — Buscar referencias documentalesITI-67 — Buscar referencias documentalesDocument ResponderDocument ConsumerDocument ResponderÍndice deDocument Consumer(Sistema clínico)Document Consumer(Sistema clínico)Document Responder(Servicio MHD)Document Responder(Servicio MHD)Índice dedocumentosÍndice dedocumentosDocument ResponderGET [base]/DocumentReference?patient.identifier=system|value&status=currentValidar parámetrosBuscar DocumentReferenceCoincidenciasHTTP 200Bundle searchset


Respuesta exitosa

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"
      }
    }
  ]
}

Transacción 3: Recuperar un documento — ITI-68

Nombre IHE: Retrieve Document
Actores: Document Consumer → Document Responder
Método HTTP: GET [URL del documento]

Descripción

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.

Encabezados

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.

Diagrama de secuencia
ITI-68 — Recuperar documentoITI-68 — Recuperar documentoDocument ResponderDocument ConsumerDocument ResponderRepositorioDocument Consumer(Sistema clínico)Document Consumer(Sistema clínico)Document Responder(Servicio MHD)Document Responder(Servicio MHD)RepositoriodocumentalRepositoriodocumentalDocument ResponderGET URL indicada enDocumentReference.content.attachment.urlVerificar autorizaciónSolicitar documentoContenido documentalHTTP 200Documento solicitado


Respuesta exitosa: documento FHIR
{
  "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ódigos de respuesta HTTP

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."
    }
  ]
}

Seguridad

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:

  • autenticación del sistema solicitante;
  • autorización según operación y paciente;
  • protección de la confidencialidad e integridad de los documentos;
  • registro de auditoría de las operaciones;
  • trazabilidad de accesos y recuperaciones;
  • cumplimiento de las políticas de consentimiento aplicables.

Referencias