0.5.0 - ci-build

FHIR_CORE_AR - Local Development build (v0.5.0). See the Directory of published versions

Federacion

Federación de Pacientes (Federador)

Operaciones con el Federador de Pacientes <?xml version=”1.0” encoding=”UTF-8” standalone=”no”?>Federador de PacientesCLIFEDConsulta Directa por IDGET [url_fed]/Patient/[id]response body: {Patient_ar_core}Consulta por CriterioGET [url_fed]/Patient?[criterio]response body: Bundle <{Patient_ar_core}>Operacion Búsqueda Candidatos ($match)POST [url_fed]/Patient/$match body:{Patient_ar_core}response body: Bundle <{Patient_ar_core_match}>Federar Paciente (OK)POST [url_fed]/Patient body:{Patient_ar_core}response body: {Patient_ar_core} con id federador>Federar Paciente (ERROR)POST [url_fed]/Patient body:{Patient_ar_core}response body: {OperationOutcome} con msg.error

Búsquedas Soportadas

Los siguientes parámetros de búsqueda y combinaciones serán soportados:

  1. Los servidores DEBEN soportar buscar un recurso Patient usando el parametro de búsqueda **[_id]:

    GET [base]/Patient[id]

    Ejemplos

    1. GET [base]/Patient/1032702
    2. GET [base]/Patient?_id=1032702

    Notas de Implementación ([como buscar por id logico] del recurso)

  2. Los servidores DEBEN soportar buscar un recurso Patient por un identificador como el DNI, utilizando el parámetro de búsqueda **[identifier]:

    GET [base]/Patient?identifier={system|}[code]

    Ejemplo:

    1. GET [base]/Patient?identifier=http://renaper.org.ar/DNI 99999999

    Nota de Implementación: Devuelve un Bundle con recursos Patient que coincidan con el identificador - deberia ser siempre un solo recurso ([como buscar por token])

  3. Los servidores DEBEN soportar la búsqueda de recursos Patient por una búsqueda en la cual coincida cualquiera de las partes del nombre (HumanName) incluyendo family, given y/o text usando el parámetro de búsqueda [name]

    GET [base]/Patient?name=[string]

    Ejemplo:

    1. GET [base]/Patient?name=Villanueva

    Nota de Implementación: Devuelve un Bundle con recursos Patient que coincidan con el identificador ([como buscar por cadena alfanumérica])

  4. Los servidores DEBEN soportar la búsqueda de recursos Patient por una búsqueda en la cual se combine el género, la fecha de nacimiento y cualquiera de las partes del nombre (HumanName) incluyendo family, given y/o text usando los parámetros de búsqueda [name] y [birthdate]

    GET [base]/Patient?birthdate=[date]&name=[string]&gender=[code]

    Example:

    1. GET [base]/Patient?name=Villanueva&birthdate=2007-03-20&gender=female

Nota de Implementación: Devuelve un Bundle con recursos Patient para el cual coincidan todos los parámetros de búsqueda especificados

Busqueda por Algoritmo MPI ($match)

Definición de la Operación

Esta operación permite buscar candidatos según el algoritmo de búsqueda del federador

La definición oficial para esta operación esta disponible aquí

http://hl7.org/fhir/OperationDefinition/Patient-match

Un MPI o federador de pacientes (MPI ) es un servicio utilizado para gestionar identificación de pacientes en un contexto donde existen multiples base de datos de pacientes. Las aplicaciones de salud utilizan el MPI para encontrar candidatos o almacenar registros nuevos de pacientes a medida que aparecen.

Para consultar a un federador o MPI sobre los candidatos, los clientes deben usar la operación $match, que acepta como parámetro un recurso Patient que está completo parcialmente. La información provista es interpretada y procesada por un algoritmo que determina los candidatos mas apropiados en el federador. La operacion generica $match no define el set minimo de datos, pero nuestra implementacion requiere

  • Apellido paterno, género, fecha de nacimiento El recurso Patient no tiene porque estar completo, pero debe ser una instancia válida del recurso

POST [base]/Patient/$match

Parámetros
Uso Nombre Cardinalidad Tipoe Vinculación Documentación
IN resource 1..1 Resource Usado para proveer un detalle de los datos de paciente, para buscar los candidatos (se realiza un POST de Patient a Patient/$match).
IN count 0..1 integer La maxima cantidad de registros a devolver. Si no se especifica, el servidor decide cuantos devuelve. Notar que los clientes deben ser precavidos cuando utilizan este parametro ya que puede impedir que algunos candidatos sean devueltos por la operacion
OUT return 1..1 Bundle Un bundle que contiene un conjunto de recursos Patient con posibles candidatos. Si la operación no fuera exitosa, devuelve un recurso OperationOutcome explicando el problema con un codigo de error HTTP 500.

Ver ejemplo [ejemplo-match] Ejemplo de Respuesta - Ver Ejemplo Parámetros Match

La respuesta de la operación $match es un Bundle con recursos Patient, ordenados desde el más parecido al menos parecido. Si no hay candidatos, el federador devolverá un resultado de búsqueda vacio, sin errores. Todos los registros tendrán un score de 0 a 1, siendo 1 el candidato con mas coincidencia

Ejemplo

POST [base]/Patient/$match Body:

{
 "resourceType": "Patient",
 "identifier": [
  {
   "use": "usual",
   "system": "http://www.renaper.gob.ar/dni",
   "value": "23327755"
  }
 ],
 "name": [
  {
   "text": "Juliancito Julianzote Martinez",
   "family": "Martinez",
   "given": [
    "Julian"
   ]
  }
 ],
 "birthDate": "1973-06-12",
 "gender": "male"
}

Se buscó a todos los pacientes masculinos “Julian Martinez” nacidos en “1973-06-12” con DNI “23327755”

Ejemplo de Respuesta - Ver Bundle Respuesta Match

Agregado de Paciente (IHE Patient Identity Feed)

POST [base]/Patient En el Body, un recurso paciente compatible con Patient_ar_core

Si el paciente fue creado exitosamente se obtiene un status “201 Created”