CDA para Historia Clínica Compartida



Estructura de un CDA

En un documento clínico electrónico bien formado, pueden distinguirse una Cabecera (Header) que contiene los metadatos del documento y un Cuerpo (Body) que contiene los datos concernientes a las declaraciones o enunciados de los actos clínicos (observaciones, procedimientos, administración de substancias, etc) que son objeto del documento.

Un CDA es de nivel 3, cuando se codifican los elementos del Header, y a su vez el cuerpo se compone por secciones y entradas codificadas donde estas últimas corresponden a bloques de códigos codificados de acuerdo a algún vocabulario terminológico, como por ejemplo: SNOMED-CT, LOINC, CIE-10, etc. Hay distintos tipos de “entry” para la representación de diagnósticos, procedimientos, medicamentos, entre otros.

Cabecera (Header)

Los primeros elementos de dato que encontramos en una instancia HL7 CDA R2 son denominados atributos de la cabecera, y contienen información general del documento como su identificación, el código del tipo de documento, el título del mismo, la fecha de creación, el código que establece su nivel de confidencialidad, etc.

A continuación se presentan los Elementos Generales considerados para la cabecera de las 4 guías de implementación del proyecto Historia Clínica Compartida:

# Elemento Descripción Valor
1 realmCode Descripción de la zona geográfica en donde será aplicado el CDA "CL"
2 typeId Estructura normativa del esquema HL7 CDA-R2 "POCD_HD000040"
3 templateId Identificación del Template del CDA Varía según cada CDA
4 id Valor de Identificación único e irrepetible del documento OID
5 code Código identificador del tipo de documento LOINC
6 title Título Visible para el lector del documento Varía según cada CDA
7 effectiveTime Fecha y hora de creación del CDA Fecha
8 confidentialityCode Nivel de confidencialidad del documento Rango de Valores
9 languageCode Tipo de lenguaje usado en el documento clínico "es-CL"
10 setId Identificación del documento OID
11 versionNumber Número de la versión del documento Número
12 recordTarget Identificación y datos del contexto sobre el acto clínico del paciente atendido
13 author Autor del documento
14 custodian Detalle de la Organización responsable de custodiar los documentos clínicos

realmCode

Este valor identifica la zona geográfica/cultural bajo la cual el documento tiene alcance. El elemento puede estar presente y de estarlo, su código debe corresponder al de Chile.

<realmCode code=”CL”/>

typeId

Dentro del RIM, modelo de referencia de HL7 v.3, este elemento referencia una estructura fija del esquema del CDA normativo de HL7 V.3 la cual debe ser incluida para dar conformidad al estándar CDA. Consta de dos atributos obligatorios, este valor no es opcional y debe ser registrado para todo documento CDA.

<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>

templateId

Con el objetivo de determinar el formato xml del CDA, debe especificarse un valor en la raíz del elemento templateId indicando la identificación del template usado.

Para este proyecto, se han definido los siguientes OID para identificar los tipos de documento, los cuales pueden ser revisado en la Guía de OID para HCC.

Tipo Documento Número OID
Consulta Ambulatoria 2.16.840.1.113883.2.22.0.100.110.1
Egreso Hospitalario 2.16.840.1.113883.2.22.0.100.110.31
Informe Laboratorio 2.16.840.1.113883.2.22.0.100.110.21
Alta Urgencia 2.16.840.1.113883.2.22.0.100.110.40

Ejemplo:

<templateId root="2.16.840.1.113883.2.22.0.100.110.1"/>

id

Este elemento corresponde a la identificación única del documento por ello es obligatorio. Su uso permite que los documentos que se intercambien entre distintos sistemas no colisionen por su identificación. El elemento id contiene un único elemento root, bajo el siguiente formato:

2.16.840.1.113883.2.22.0.[SS(opt)].[DEIS_HOSPITAL].[AAAAMMDDHHSS].[CONSECUTIVO].[APLICACIÓN]

2.16.840.1.113883.2.22.0 Documento de Organización bajo Raiz OID HCC
SS Identificación del Servicio de Salud al cual pertenece quien genera el Documento
Organización Identificación DEIS del Hospital quien genera el Documento
AAAAMMDDHHSS Fecha AAAAMMDD - ISO 8601:2004 Hora HHMMSS - ISO 8601:2004
CONSECUTIVO Consecutivo secuencial al generar el CDA
APLICACIÓN Número de la aplicación en la Institución

id para CDA generado por el HIS 1 del Hospiatl Ernesto Torres Galdames de Tarapacá:

<id root="2.16.170.11001.1000.1.301.20170210030402.123.1"/>

code

Este elemento, de carácter obligatorio, representa a la clase o tipo del documento que refiere (ej: informe radiológico, nota de evolución, epicrisis, nota quirúrgica, entre otros). La codificación usada y recomendada es LOINC. Los atributos necesarios son code y codeSystem, donde el código contiene la secuencia que indica el tipo de documento, y el codeSystem es el OID de la organización que definió la secuencia. Para que sea legible para las personas, los elementos opcionales son codeSystemName y displayName.

Tipo Documento Código LOINC
Consulta Ambulatoria 51845-6
Egreso Hospitalario 18842-5
Informe Laboratorio 11502-2
Alta Urgencia 59258-4

Ejemplo:

<code code=”51845-6” codeSystem=”2.16.840.1.113883.6.1” codeSystemName="LOINC" displayName="Cierre de Consulta"/>

title

Debe especificarse un título para el documento.

<title>Título del Documento</title>

effectiveTime

Este elemento, de carácter obligatorio, representa la fecha del acto Médico. Es la fecha de creación original de documento (fecha completa en que el documento empezó a existir). Si un documento CDA proviene de una transformación de otro tipo de reporte, el effectiveTime mantiene el tiempo en que se creó el documento original. La fecha y el tiempo están codificados según la norma ISO - 8601 en su forma extendida (yyyymmddhhmmss) Conociendo el año/mes/día/hora/minuto/segundo, y en horario local.

<effectiveTime value="20150420114502-0400"/>

confidentialityCode

La confidencialidad es un componente contextual requerido en el esquema CDA, donde el valor expresado en la cabecera se asume para todo el documento, salvo que se cambien en algún valor anidado. La restricción para codificar este elemento es Codificado Con Excepciones (CWE)

Código Descripción Uso
N Normal Reglas de acceso normales. (Sólo personas autorizadas con una necesidad sanitaria o similar podrán consultar la información)
R Restringido Reglas adicionales exigidas. Sólo podrán acceder a él profesionales sanitarios que estén tratando al paciente
V Muy Restringido Sólo podrán acceder a esta información aquellos con autorización expresa del paciente, o bajo una situación de emergencia

Ejemplo:

<confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>

languageCode

Debe especificarse el lenguaje en el cual se escribe el documento. El valor de @code de lenguaje debe estar en formato nn-CC, donde nn debe ser un código perteneciente a la ISO-639-1 y CC debe ser un código perteneciente a la ISO-3166. Dado que el documento se usará para la realidad chilena se debe usar como CC el valor “CL”.

<languajeCode code="es-CL"/>

setId y versionNumber

Los elementos setId y versionNumber son usados para identificar un documento y el número de versión de este. Para nuevas versiones de un documento, el setId debe tener el mismo valor que el elemento <id> (explicado previamente), del mismo documento, y el @value del número de versión deberá ser 1. Cuando se requiera reemplazar o modificar algún documento previo (trabajar sobre una modificación de uno ya existente o agregar datos a algún documento previo), el setId debe hacer referencia al <id> del documento que se modifica y el versionNumber debe ser incrementado en 1.

<setId root="2.16.840.1.113883.2.22.2.0.2.102100.100.20180810094955.1"/>
<versionNumber value="1"/>

recordTarget

Representa la persona a la que pertenece el documento clínico. Normalmente coincide con el sujeto sobre el que se están realizando la documentación de las pruebas/observaciones, entre otros; pero puede que no sea así, ej: una muestra de tejido, entre otros. El elemento recordTarget de un documento se define en el encabezado y se propaga al resto del documento, donde NO puede ser modificado. Dentro del recordTarget se definen los elementos:

Rol del paciente Representa el rol de la persona objeto del documento, por defecto el valor que tiene es “PAT”
Información del Paciente Corresponde a los datos demográficos del paciente: Nombres, Apellidos, Género y Fecha de nacimiento, etc.
Identificación del Establecimiento Se detalla la información del Prestador al cual acude el paciente.

Rol del Paciente

  • Identificación

  • Se debe determinar la identificación mediante el atributo id. Este atributo debe contener un elemento @root y puede contener un elemento @extension.

    En las identificaciones de personas debe ir un valor en @root correspondiente al OID del tipo de documento y debe declararse el valor del documento como tal en @extension.

    El tipo de documento debe ser identificado según lo indicado en la Tabla Maestra de tipo de Documento

    Tipo de Documento ID
    Certificado de Nacimiento 666784
    Tarjeta de Ciudadanía 679000
    Licencia de conducir 687600
    Pasaporte diplomático 688000
    Número de Historia Clínica 778200
    Número de Pasaporte 808078
    Identificador individual único nacional 787300
    Número de Seguro Social 838300
    Sin documento de identificación personal 836873
    Rol Único Nacional Provisorio 787380
    Cedula de Identidad 689090
    
    <recordTarget>
        <patientRole>
            <!--OID RUN Chile-->
            <id extension="17.111.874-3" root="2.16.840.1.113883.2.22.1.152.787300"/>
    						
  • Dirección del Paciente

  • Puede existir una dirección asociada al paciente en donde se pueden considerar los siguientes elementos:

    • Región: Nombre y código de la Región de la dirección registrada con código según Tabla Maestra DEIS “Regiones”
    • Comuna: Nombre y código de la Comuna de la dirección registrada con código según Tabla Maestra DEIS “Comunas”
    • Dirección: Calle de dirección registrada en texto libre
    • Número: Numero de la dirección registrada
    • Tipo de Vía: Tipo de Calle como Avenida, Calle, pasaje, etc. Según tabla Maestra DEIS “Vías”.
    • Resto: Información adicional de existir.
    • Tipo de Dirección: uso de la información como “domicilio”, “trabajo”, etc.

    La dirección debe ser parte del elemento y su cardinalidad es [1..*]

    Código Glosa de Uso
    BAD Dirección Errónea
    CONF Dirección confidencial
    H Domicilio
    HP Domicilio de Residencia Principal
    HV Domicilio de Vacaciones
    OLD Domicilio Antiguo no usado
    TMP Domicilio Temporal
    WP Lugar de Trabajo
    
    <!-- Dirección del Paciente -->
    <addr use="HP">
    	<streetAddressLine>Calle,  Los Vencedores,  No 33, Casa 22, Comuna de Valparaíso, Región de Valparaíso</streetAddressLine>
    	<streetNameType>01</streetNameType> <!-- Tipo de Via codigo de "Calle" segun DEIS -->
    	<houseNumber>No 33</houseNumber>
    	<additionalLocator> Casa 22</additionalLocator> 
    	<precinct>051</precinct> <!-- Comuna de Valparaíso 051 segun DEIS -->
    	<state> 05</state> <!-- Región, Valparaíso 05 segun DEIS -->
    </addr>
    						
  • Contacto

  • El paciente puede ser informado con un contacto telefónico como también puede ser informado con un e-mail. Ambos contactos serán de cardinalidad [1..*]

    
    <!-- Contacto -->
    <telecom value="tel:32-2457634"/>
    <telecom value="cel:+56 954329013"/>
    <telecom value="email:daniel.montillo@dom.com"/>
    						

Información del Paciente

Se debe ingresar un Primer Apellido, siendo este solamente uno. Éste debe ser indicado en el elemento <family>.

Se puede ingresar un Segundo Apellido, siendo este solamente uno. Se debe crear un nuevo elemento <family> pero siempre debe ir expresado posterior al primer apellido.

Para los nombres se debe usar el elemento <given> como un texto libre.

Se podrá ingresar un nombre social el cual debe ser asociado como nombre por medio del atributo @qualifier. Lo anterior implica que una vez abierta una etiqueta <given>, se debe agregar el atributo @qualifier cuyo valor para este caso debe ser "CL" que corresponde al calificador de “nombre deseado por el paciente”.


<patient>
	<name>
		<!-- Nombre al nacer-->
		<given>Daniel Esteban</given>
		<!-- Nombre Social-->
		<given qualifier="CL">Daniela</given>
		<!-- Primer Apellido-->
		<family>Montillo</family>
		<!-- Segundo Apellido-->
		<family>Cortéz</family>
	</name>
					
  • Sexo registral

  • Este corresponde al sexo con el cual el paciente está registrado en su cédula de identidad (o documento equivalente). El elemento debe ser explicitado en el documento por medio del elemento <administrativeGenderCode>.

    
    <!-- Tabla Maestra Sexo Biológico-->
    <administrativeGenderCode code="01" displayName="Hombre" codeSystem="2.16.840.1.113883.2.22.0.100.90.5"/>
    					
  • Fecha de nacimiento

  • Debe indicarse Fecha de nacimiento y esta debe estar en el formato: AAAAMMDDhhmmss(+/-)T

    Para los casos en que la fecha de nacimiento no se registre con horas, minutos y segundos (ejemplo: adultos mayores), se debe rellenar esos elementos con cero (0).

    
    <!-- F. Nacimiento -->
    <birthTime value="19880910000000"/>
    					
  • Pueblos Indígenas

  • Se puede describir la etnia del paciente en el elemento <ethnicGroupCode>, el cual se describe con formato de código.

    @code debe llevar el código de “Pueblo Indígena” según la tabla Maestra Pueblos Indígenas.

    @displayName debe contener la glosa del código seleccionado.

    @CodeSystem debe contener el valor "2.16.840.1.113883.2.22.0.100.90.7", el cual identifica la Tabla Maestra Pueblo Indígena.

    
    <!-- Tabla Maestra Pueblos Indígenas (Etnia) -->
    <ethnicGroupCode code="01" displayName="Mapuche"
    	codeSystem="2.16.840.1.113883.2.22.0.100.90.7"
    	codeSystemName="Tabla Maestra Pueblos Indígenas"/>
    					
  • País de Nacimiento del Paciente

  • En caso de notificar país de nacimiento esto debe ser hecho en el elemento <birthplace/place/addr>. Para la indicación del país se debe usar la descripción de una dirección en donde sólo se debe utilizar la etiqueta <country> con el nombre del país de origen.

    
    	<!--Pais de nacimiento-->
    	<birthplace>
    		<place>
    			<addr>
    				<country>Chile</country>
    			</addr>
    		</place>
    	</birthplace>
    	
    </patient>
    					

Identificación del Establecimiento

La identificación del establecimiento de atención del Paciente debe ser notificada y debe hacerse en <providerOrganization>. La identificación será por medio de un OID lo cual se encuentra documentado en la Guía de OID para HCC.

Se debe identificar el nombre del Recinto por medio del elemento <name>

Se debe identificar la dirección del establecimiento determinando, calle, número, comuna y ciudad en el elemento <addr>

Calle debe ser indicada en el elemento <streetNameBase>

Número debe ser notificado en el elemento <houseNumber>

La ciudad debe ser indicada en el elemento <city>

La región debe ser notificada en el elemento <state>

El código de la comuna puede ir en el atributo <precint>

Se debe identificar a la organización por medio de su número OID generado. La generación de un OID para identificar a un establecimiento se indica en el documento Guía de OID para HCC.


	<providerOrganization>
            <!-- OID Organización-->
            <id root="2.16.840.1.113883.2.22.0.2.102100"/>
            <name>Hospital Ernesto Torres Galdames de Iquique</name>
            <addr>
                <streetAddressLine>Héroes de la Concepción</streetAddressLine>
                <houseNumber>502</houseNumber>
                <city>Iquique</city>
                <precinct>Iquique</precinct>
                <state>Tarapacá</state>
            </addr>
        </providerOrganization>
        
    </patientRole>
</recordTarget>
					

author

El elemento author se utiliza para representar al autor (persona o máquina) del documento clínico, que en general será el Médico o profesional del equipo de salud que realice el acto.

En algunos casos, el rol o función del autor es inherente al ClinicalDocument.code, y puede también estar registrado en los atributos Author.functionCode o AssignedAuthor.code. Si se incluye cualquiera de estos atributos, deberían ser equivalentes o más especializados que el rol inherente en el ClinicalDocument.code, y no entrar en conflicto con éste, ya que el conflicto constituiría una situación ambigua.

Elemento Descripción
functionCode Se puede incluir la especialidad del profesional, utilizando este elemento, teniendo presente que dicha especialidad será considerada como la especialidad que posee el profesional el momento de la atención.
time Indica el tiempo en que la persona o dispositivo comenzaron su participación como autor, este dato puede tener relevancia clínica. En algunas oportunidades corresponde con el valor ingresado en ClinicalDocumet/effectiveTime.
assignedAuthor Refiere al autor del documento y por lo tanto requiere un id para su identificación unívoca.
assignedPerson Refiere a los datos de identificación de la persona (autor), comúnmente médico que atiende.
representedOrganization Identifica a la organización donde se realizó el documento, debe contener un elemento hijo id y puede tener un elemento opcional name.

<author>
    <!-- Tabla Maestra Especialidades Médicas 0..1 -->
    <functionCode code="04" displayName="CIRUGÍA GENERAL"
        codeSystem="2.16.840.1.113883.2.22.0.100.90.10"
        codeSystemName="Tabla Maestra Especialidades Médicas"/>
    
    <!--Fecha y hora del termino de la atecion -->
    <time value="20150420153624-0300"/>
    <assignedAuthor>
        <!-- Rut Autor -->
        <id extension="8.234.527-4" root="2.16.840.1.113883.2.22.1.152.787300"/>
        <assignedPerson>
            <name>
                <!-- Título Profesional o Técnico -->
                <prefix>Médico Cirujano</prefix>
                <given>Juan</given>
                <family>Cortes</family>
                <family>Cabrera</family>
            </name>
        </assignedPerson>
        
    </assignedAuthor>
</author>

custodian

El elemento custodian representa la organización que está a cargo de la conservación del documento. Todos los documentos CDA tienen exactamente un elemento custodian. La clase custodian contiene un elemento hijo requerido que es assignedCustodian, que a su vez requiere de representedCustodianOrganization, definido por un identificador id cuyo uso es obligatorio. Dado que el repositorio es Centralizado el Custodio será siempre MINSAL.


<custodian>
	<assignedCustodian>
		<representedCustodianOrganization>
			<id root="2.16.840.1.113883.2.22.0.100"/>
			<name>Repositorio Ministerio de Salud (MINSAL)</name>
		</representedCustodianOrganization>
	</assignedCustodian> 
</custodian>
Cuerpo (Body)

El cuerpo del CDA representa al contenido narrativo del documento clínico. El cuerpo es la parte del documento clínico asociado con la clase ClinicalDocument a través de la relación component, hay exactamente un cuerpo por cada documento CDA. El cuerpo del CDA puede ser representado a través de un cuerpo estructurado (structuredBody) o uno no estructurado en XML (nonXMLBody). Un contenido XML estructurado siempre está insertado dentro de un elemento structuredBody, nunca como un archivo externo, el segundo se usa cuando el contenido es un archivo externo tal como una imagen TIFF, un documento MS RTF document, entre otros.

Los documentos de cuerpo estructurado (CDA Nivel 2 y 3), se dividen en bloques llamados componentes (component), que permiten agrupar la información en forma lógica. El cuerpo de un documento HL7 CDA R2 puede contener varios (n) componentes.

Cada componente se asocia a una sección (section) que permite subdividir el documento en forma contextual, organizando el contenido en forma coherente.

Secciones

El cuerpo del Documento se estructura en Secciones, cada una de las cuales tiene contenido afín al propósito de dicha sección.

En general una sección contendrá información suficiente para describir el/los elementos de datos que se desean informar, como también para entregar información computable suficiente para poder estructurar dicha información. Es por esto que como base una sección deberá contener los siguientes elementos:

  • templateId: Valor OID que determina la identificación del template en particular para la sección tratada. Estos identificadores son OID registrados bajo el nombre de la sección descrita en esta guía.

  • code: El código contiene información relativa a la referencia de la sección, indicando su procedencia mediante un código LOINC, el nombre de la Sección y el sistema de codificación sobre el cual se ha determinado el tipo de sección que para nuestro caso será LOINC como fuera indicado.

  • Texto Narrativo: Parte de la sección que es usada para narrativa del autor y que permite legibilidad humana.

  • Entradas: Solo serán requeridas en caso de que se especifique la necesidad de codificar ciertos elementos de datos dentro de la sección.

						
<!-- ***************************** CUERPO DEL DOCUMENTO ***************************** -->
	<!-- Secciones Nivel 2 y 3 -->
    <component>
        <structuredBody>
            <!-- Sección 1 -->
            <component>
                <section> </section>
            </component>

            <!-- Sección 2 -->
            <component>
                <section> </section>
            </component>

            <!-- Sección N-->
            <component>
                <section> </section>
            </component>
        </structuredBody>
    </component>

Entradas

Cada una de estas secciones está dividida en una o varias entradas de datos (entry), donde se registra la información sobre las declaraciones o enunciados de los actos (act) clínicos (observaciones, procedimientos, administración de substancias, etc) que constituyen el contenido principal del documento.

Una entrada debe ser desarrollada según la siguiente clasificación de declaración de acto que se desea notificar.

  • acto: declaración de una entrada sin una clasificación específica y con definición más ambigua.

  • encuentro: declaración de una entrada que indica las codificaciones correspondientes a un acto de encuentro médico.

  • procedimiento: declaración de una entrada que indica procedimientos específicos hechos al paciente.

  • observación: declaración de una entrada que indica entradas respecto a una observación clínica realizada sobre el paciente.

  • administración de substancia: declaración de una entrada que indica elementos relacionados sobre la administración de sustancias y medicamentos a un paciente.

  • suministro: declaración de una entrada que indica insumos entregados a un paciente durante el desarrollo del encuentro médico.

  • organización: declaración de una entrada que determina factores de procesos desarrollados durante la actividad clínica que vivió el paciente.

En relación al proyecto de HCC, las entradas utilizadas corresponden a los tipos de acto y observación, los cuales serán explicados con mayor detalle dentro de la especificación de las Guías de Implementación.



<!-- Especificación de Entrada Observation -->
<entry>
    <observation classCode="" moodCode="">
       <code code="" displayName="" codeSystem="" codeSystemName=""/>
       <value xsi:type="" code="" codeSystem="" displayName=""/>
    </observation>
</entry>


<!-- Especificación de Entrada Act -->
<entry>
    <act classCode="" moodCode="">
        <code code="" displayName="" codeSystem="" codeSystemName=""/>
    </act>
</entry>


<!-- Especificación de Entrada Encounter -->
<entry> 
    <encounter classCode="" moodCode="">
        <code code="" displayName="" codeSystem="" codeSystemName=""/>
    </encounter>
</entry>

Entradas Relacionadas

Para indicar un elemento de información codificada, adicional a la entrada que se está notificado, es que se desarrolla dentro de una entrada una relación sobre ésta en el elemento entryRelationship.

Este elemento de relación será explicado con mayor detalle dentro de la especificación de las Guías de Implementación.



<!-- Especificación de Entrada -->
<entry>
	:
<!-- Especificación de Entrada Relacionada -->
       <entryRelationship typeCode="">
          <observation classCode="" moodCode="">
              <code code="" displayName="" codeSystem="" codeSystemName="">
              <value xsi:type="" code="" codeSystem="" codeSystemName=""/>
           </observation>
        </entryRelationship>
</entry>
Ejercicio

En el siguiente link podrá descargar el ejercicio para esta unidad: Ejercicio

>