Uso de Patient-everything en el servicio FHIR
La operación Patient-everything se usa para proporcionar una vista de todos los recursos relacionados con un paciente. Esta operación puede ser útil para dar a los pacientes acceso a su registro completo o a un proveedor u otro usuario para realizar una descarga masiva de datos relacionada con un paciente. Según la especificación Fast Healthcare Interoperability Resources (FHIR®), Patient-everything devuelve toda la información relacionada con uno o varios pacientes descritos en el recurso o contexto en el que se invoca esta operación. En el servicio FHIR de Azure Health Data Services (denominado servicio FHIR), patient-everything está disponible para extraer datos relacionados con un paciente específico.
Uso de Patient-everything
Para llamar a Patient-everything, use el siguiente comando:
GET {FHIRURL}/Patient/{ID}/$everything
Nota
Tendrá que especificar un identificador para un paciente específico. Si necesita todos los datos para todos los pacientes, vea $export.
El servicio FHIR valida que puede encontrar al paciente que coincida con el identificador de paciente proporcionado. Si se encuentra un resultado, la respuesta será una agrupación de tipo searchset
con la siguiente información:
- Recurso del paciente.
- Recursos a los que hace referencia directamente el recurso paciente, excepto las referencias de vínculo que no son de ver también o si el
seealso
vínculo hace referencia a .RelatedPerson
- Si hay
seealso
referencias de vínculo a otros pacientes, los resultados incluirán la operación Patient-everything en losseealso
pacientes enumerados. - Recursos en el compartimiento del paciente.
- Recursos de dispositivo que hacen referencia al recurso del paciente.
Nota
Si el paciente tiene más de 100 dispositivos vinculados, solo se devolverán 100.
Parámetros de patient-everything
El servicio FHIR admite los siguientes parámetros de consulta. Todos estos parámetros son opcionales:
Parámetro de consulta | Descripción |
---|---|
_type | Permite especificar los tipos de recursos que se van a incluir en la respuesta. Por ejemplo, _type=Encounter devolvería solo Encounter los recursos asociados al paciente. |
_Desde | Solo devolverá los recursos que se han modificado desde el momento indicado. |
start | Si se especifica la fecha de inicio, se extraerán los recursos en los que su fecha clínica sea posterior a la fecha de inicio especificada. Si no se proporciona ninguna fecha de inicio, todos los registros anteriores a la fecha de finalización están en el ámbito. |
end | Si se especifica la fecha de finalización, se extraerán los recursos en los que su fecha clínica sea anterior a la fecha de finalización especificada. Si no se proporciona ninguna fecha de finalización, todos los registros posteriores a la fecha de inicio están en el ámbito. |
Nota
Esta implementación de Patient-everything no admite el parámetro _count.
Procesamiento de vínculos de pacientes
En un recurso de paciente, hay un elemento denominado vínculo, que vincula a un paciente a otros pacientes o personas relacionadas. Estos pacientes vinculados ayudan a dar una visión holística del paciente original. La referencia de vínculo se puede usar cuando un paciente reemplaza a otro paciente o cuando dos recursos de pacientes tienen información complementaria. Un caso de uso para los vínculos es cuando aparece un mensaje ADT 38 o 39 HL7v2. Describe una actualización de un paciente. Esta actualización se puede almacenar como referencia entre dos pacientes en el elemento de vínculo.
La especificación FHIR tiene una descripción detallada de los diferentes tipos de vínculos de pacientes, pero hemos incluido un resumen de alto nivel:
- replaces: el recurso Patient reemplaza a un paciente diferente.
- consulte : el paciente es válido, pero no se considera la fuente principal de información. Apunta a otro paciente para recuperar información adicional.
- seealso : el paciente contiene un vínculo a otro paciente que es igualmente válido.
- replaced-by : el recurso Patient reemplaza a un paciente diferente.
Detalles de vínculos de pacientes de todo el paciente
La operación Patient-everything del servicio FHIR procesa los vínculos de pacientes de diferentes maneras para ofrecerle la visión más holística del paciente.
Nota
Un vínculo también puede hacer referencia a .RelatedPerson
En este momento, RelatedPerson
los recursos no se procesan en Patient-everything y no se devuelven en la agrupación.
En este momento, los vínculos de reemplazo y referencia se omiten mediante la operación Patient-everything y el paciente vinculado no se devuelve en la agrupación.
Como se describe, los vínculos seealso hacen referencia a otro paciente que se considera igualmente válido para el original. Después de ejecutar la operación Patient-everything, si el paciente tiene seealso
vínculos a otros pacientes, la operación ejecuta Patient-everything en cada seealso
vínculo. Esto significa que si un paciente se vincula a otros cinco pacientes con un vínculo de tipo seealso
, ejecutaremos Patient-everything en cada uno de esos cinco pacientes.
Nota
Esto se configura para seguir solo los seealso
vínculos de una capa profunda. No procesa los vínculos de seealso
un seealso
vínculo.
El tipo de vínculo final se reemplaza por. En este caso, el recurso de paciente original ya no se usa y el replaced-by
vínculo apunta al paciente que se debe usar. Esta implementación de incluirá de Patient-everything
forma predeterminada un resultado de operación al principio del lote con una advertencia de que el paciente ya no es válido. Esto también será el comportamiento cuando el Prefer
encabezado se establezca handling=lenient
en .
Además, puede establecer el Prefer
encabezado en handling=strict
para que produzca un error en su lugar. En este caso, una devolución del código de error 301 MovedPermanently
indica que el paciente actual no está actualizado y devuelve el identificador del paciente correcto que se incluye en el vínculo. El ContentLocation
encabezado del error devuelto apuntará a la solicitud correcta y actualizada.
Nota
Si hay un replaced-by
vínculo presente Prefer: handling=lenient
y los resultados se devuelven de forma asincrónica en varios conjuntos, solo se devuelve un resultado de la operación en una agrupación.
Orden de respuesta de pacientes y todo
La operación Patient-everything devuelve resultados en fases:
- La fase 1 devuelve el
Patient
propio recurso además de las referencias ir de losgeneralPractitioner
recursos ymanagingOrganization
. - La fase 2 y 3 devuelven los recursos en el compartimiento del paciente. Si se especifican los
start
parámetros de consulta oend
, la fase 2 devuelve los recursos del compartimiento que se pueden filtrar por su fecha clínica y la fase 3 devuelve recursos del compartimiento que no se pueden filtrar por su fecha clínica. Si no se especifica ninguno de estos parámetros, se omite la fase 2 y la fase 3 devuelve todos los recursos del compartimiento de pacientes. - La fase 4 devolverá todos los dispositivos que hagan referencia al paciente.
Cada fase devolverá resultados en una agrupación. Si los resultados abarcan varias páginas, el siguiente vínculo de la agrupación apuntará a la siguiente página de resultados de esa fase. Una vez que se devuelven todos los resultados de una fase, el siguiente vínculo del lote apuntará a la llamada para iniciar la siguiente fase.
Si el paciente original tiene vínculos seealso
, se repetirán las fases del 1 al 4 para cada uno de esos pacientes.
Ejemplos de paciente-todo
Estos son algunos ejemplos de uso de la operación Patient-everything. Además de estos ejemplos, tenemos un archivo REST de ejemplo que muestra cómo funciona el seealso
comportamiento y replaced-by
.
Para usar Patient-everything para consultar "todo" de un paciente entre 2010 y 2020, use la siguiente llamada:
GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020
Para usar Patient-everything para consultar la observación y el encuentro de un paciente, use la siguiente llamada:
GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter
Para usar Patient-everything para consultar "todo" de un paciente desde 2021-05-27T05:00:00Z, use la siguiente llamada:
GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z
Si se encuentra un paciente para cada una de estas llamadas, obtendrá una respuesta 200 con un Bundle
de los recursos correspondientes.
Pasos siguientes
Ahora que sabe cómo usar la operación Patient-everything, puede obtener información sobre las opciones de búsqueda. Para obtener más información, vea
FHIR® es una marca registrada de HL7 y se usa con su permiso.