Sie sind auf Seite 1von 7

Jornadas Universitarias de Sistemas de

Información en Salud - Connectathon 2018


URL Base del Conectathon del Federador de pacientes

https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/​ ​está
desplegada la versión FHIR del Federador de pacientes en modo de prueba. Para este
connectathon no vamos a utilizar ninguna autenticación.

En el final del documento dejo un link a una colección de Postman con varios requests de
ejemplo, junto con la definición de la estructura de los Json (structure definitions)
relacionados con el recurso Patient del federador.
A continuación una breve descripción de cada servicio:

get by id [ /fhir/Patient/{id} ]
Esta esta operación, recupera un recurso Patient por id del federador.

GET https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Patient/488848

find by criteria [ /fhir/Patient?... ]


Esta búsqueda retorna un Bundle conteniendo recursos Patient que cumplen con el criterio
especificado como parámetros del request. Los parámetros posibles son: name, family,
identifier, birthdate, phone, gender. Estos parámetros se pueden combinar para formar un
criterio determinado. A continuación se presentan ejemplos con una breve descripción.
Todas las búsquedas por nombre y apellido se realizan case insensitive y sin considerar
acentos ni eñes.

https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Pati
GET
ent?identifier=urn:oid:2.16.840.1.113883.2.10.1|486765&name=andres

identifier=​https://federador.msal.gob.ar/id|488848​ => id del federador


identifier=urn:oid:2.16.840.1.113883.2.10.1|51067085 => por id dentro del oid o dominio
identifier=​http://www.renaper.gob.ar/dni|23327765​ => por número de Documento Nacional
de Identidad
identifier=​http://www.mininterior.gob.ar/pas|60069123​ => por número de Pasaporte
identifier=​https://federador.msal.gob.ar/dnm|​29019353 => por número de Documento de la
Madre
identifier=​http://www.renaper.gob.ar/lc|​4952845 => por número de Libreta Cívica
identifier=​http://www.mercosur.int/cm|​7527530 => por número de Cédula del Mercosur
identifier=http://​www.fuerzas-armadas.mil.ar/le|4281371​ => por número de Libreta de
Enrolamiento
identifier=​http://www.pfa.gob.ar/ci|6071613​ => por número de Cédula de Identidad
identifier=​https://federador.msal.gob.ar/cie|51067085​ => por número de Cédula de Identidad
Extranjera
name=andres => búsqueda por nombre
family=martinez => búsqueda por cualquier apellido
fathersFamily=martinez => búsqueda por apellido paterno
mothersFamily=martinez => búsqueda por apellido materno
family=martinez&gender=female => búsqueda por cualquier apellido y género
birthdate=2009-11-30&gender=female => búsqueda por fecha de nacimiento y género
phone=0261155951918&gender=female => búsqueda por teléfono y género

patient validation [ /fhir/Patient/$validate ]


Esta operación es útil para saber si un recurso Patient está bien formado respecto al
structure definition que espera el Federador. Para ello este servicio realiza simplemente un
chequeo de validez informando los errores si los posee.

POST https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Patient/$validate

$validate => OK
$validate =>Error

match [ /fhir/Patient/$match ]
Esta operación permite buscar recursos Patient similares a los parámetros especificados en
el body del request. Estos parámetros son: name, humanname-fathers-family, birthdate,
gender e identifier. Este último parámetro requiere que sea un identificador que se
corresponda con un documento personal del paciente, es decir que no sea ni el identificador
del federador ni de un oid. Esta operación match es utilizada para la búsqueda de
candidatos, es decir es la operación previa que debe realizar un dominio antes de dar de
alta el paciente. Este match retorna un Bundle con los pacientes similares encontrados junto
con un puntaje (search.score) que indica el parecido del paciente encontrado con los
parámetros de búsqueda. Este puntaje es un valor numérico entre 0 y 1, donde 1 indica una
similitud total con los parámetros. Las entradas en el Bundle están ordenadas por puntaje
de mayor a menor.

El apellido paterno y materno se especifican vía una extensión.

POST https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Patient/$match

{
"resourceType": "Patient",
"identifier": [
{
"use": "usual",
BODY
"system": "http://www.renaper.gob.ar/dni",
"value": "23327755"
}
],
"name": [
{
"_family": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/humanname-fathers-family",
"valueString": "Martinez"
}
]
},
"given": [
"Julian"
]
}
],
"birthDate": "1973-06-12",
"gender": "male"
}

create[ /fhir/Patient ]
Crea un recurso Patient dentro del federador. En el body del request se espera un Patient
bien formado, es decir que sea válido (ver patient validation). Si la creación fue exitosa la url
del nuevo paciente está en el header de la respuesta, ver key Location.
Para crear un paciente utilizar el oid correspondiente.

POST https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Patient

{
"resourceType": "Patient",
"identifier": [
{
"system": "urn:oid:2.16.840.1.113883.2.10.28",
"value": "A-555555"
},
{
BODY "system": "http://www.renaper.gob.ar/dni",
"value": "11111111"
}
],
"name": [
{
"text": "Marjorie Bouvier Garner Simpson",
"family": "Bouvier Garner Simpson",
"_family": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/humanname-fathers-family",
"valueString": "Bouvier"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/humanname-mothers-family",
"valueString": "Garner"
}
]
},
"given": [
"Marjorie"
]
}
],
"birthDate": "1979-06-14",
"gender": "female"
}
Immunization

Url Base: ​https://bus-dev.msal.gov.ar/fhir-demo/Immunization

El recurso ​Immunization​ está fuertemente acoplado a NOMIVAC. Varios de los


identificadores necesarios para el recurso están publicados en el ​sitio web de SISA​, en la
sección de codificaciones públicas.
Para el connectathon no se validan las referencias a los distintos identificadores, y no se
niega el registro de una aplicación de vacuna por error en las reglas de negocio de
NOMIVAC.

@create
Crea un recurso Immunization. En el response header vendrá el recurso con el atributo id
asignado “​Location:https://bus-dev.msal.gov.ar/fhir-demo/Immunization/​1​”.
Se puede informar al servidor que se espera obtener el recurso creado en el body de la
respuesta (que normalmente estaria vacia, con un status code 201 Created).
Para ello se proporciona un header en el request: “​Prefer:return=representation​”.

En el body del request se esperan referencias a:


- Patient (obtenido del federador)
- Location
Extensiones del standard:
- Esquema
- CondicionAplicacion

POST https://bus-dev.msal.gov.ar/fhir-demo/Immunization

<?xml version="1.0" encoding="UTF-8"?>


<Immunization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://hl7.org/fhir
../../FHIR_FUNDAMENTALS/STU3/fhir-all-xsd/immunization.xsd"
xmlns="http://hl7.org/fhir">
<extension url="http://sisa/fhir/esquema">
<valueCoding>
<system value="http:/sisa/fhir/esquemas"></system>
<code value="81"></code>
</valueCoding> <!-- Antigripal - Personal de salud -->
BODY </extension>
<extension url="http://sisa/fhir/condicionAplicacion">
<valueCoding>
<system value="http://www.snomed.org/"></system>
<code value="81312321323"></code>
</valueCoding>
</extension>
<extension url="http://sisa/fhir/sistemaProvincial">
<valueCoding>
<system value="http://www.snomed.org/"></system>
<code value="13"></code>
</valueCoding>
</extension>

<status value="completed"/>
<notGiven value="false"/>
<vaccineCode>
<coding>
<system value="http:/sisa/fhir/vacuna"/>
<code value="143"/>
</coding>
</vaccineCode>
<patient>
<reference
value="https://testapp.hospitalitaliano.org.ar/masterfile-federacion-service/fhir/Patient/33149453
"/>
</patient>
<date value="2018-05-22"/>
<primarySource value="true"/>
<location>
<reference value="http://sisa/fhir/Location/282818181"/>
</location>
<lotNumber value="649718"/>
<vaccinationProtocol>
<doseSequence value="1"/>
<targetDisease>
<coding>
<system value="http://snomed.info/sct"/>
<code value="40733004"/> <!-- enfermedad infecciosa -->
</coding>
</targetDisease>
<doseStatus>
<coding>
<system value="http://hl7.org/fhir/vaccination-protocol-dose-status"/>
<code value="count"/>
</coding>
</doseStatus>
</vaccinationProtocol>
</Immunization>

@get
Se obtiene un recurso Immunization creado, por id.

GET https://bus-dev.msal.gov.ar/fhir-demo/Immunization/${id}