|
2 min de lectura
|

Terminology FHIR en dos fases: Autoría y Uso

Resumir este artículo con:
ChatGPTPerplexityClaudeGrok

Terminology en la informática de salud es un aspecto muy importante y complejo. Gran parte de la interoperabilidad depende de con qué precisión se codifican los datos.

La especificación del servicio de Terminology de FHIR hace un excelente trabajo al proporcionar a los desarrolladores una API sencilla y directa para el servicio de terminología.

La gestión de Terminology es un dominio complejo: hay que mantener actualizados los sistemas de códigos externos, comprender su estructura interna y disponer de herramientas de autoría, versionado y publicación.

Podemos imaginar una arquitectura con un servidor FHIR y un servicio de Terminology separados. Sin embargo, un «buen» servidor FHIR tiene una dependencia bastante fuerte de Terminology para validación, búsquedas y consultas de subsunción. Implementar la especificación completa del servicio de Terminology en el servidor FHIR es una tarea considerable. Usar un servicio de Terminology externo hace que el servidor FHIR no sea autónomo. Así que hay una concesión :(

Empiece a usar el servidor FHIR de Aidbox para almacenamiento de datos, integraciones, analítica sanitaria y mucho más, o contrate a nuestro equipo para cubrir sus necesidades de desarrollo de software.

Autoría frente a Uso

Si se examina con más detenimiento la Terminology de FHIR, se puede observar que puede descomponerse en dos partes: autoría/gestión y uso. Para los casos de autoría, se necesitan CodeSystems y herramientas de diseño de ValueSets actualizados, con motor de expansión, gestión de versiones, etc. Para el uso, se trabaja principalmente con ValueSets inmutables y es necesario proporcionar filtrado y búsqueda eficientes para la validación.

Para reducir el acoplamiento entre Terminology y el servidor FHIR, podemos separar las responsabilidades de la siguiente manera:

  • Diseñar ValueSets en el servicio de Terminology y publicarlos en forma expandida mediante algún tipo de API/formato de exportación masiva
  • Cargar y utilizar ValueSets en forma optimizada en los servidores FHIR

A continuación se presentan los detalles técnicos de cómo se puede lograr esto.

El recurso Concept

En Aidbox dividimos CodeSystem en información de cabecera y un conjunto de recursos Concept (aún no FHIR :) ), que tienen una estructura similar al elemento CodeSystem.concept y al tipo de dato Coding. Esto nos permite traducir parte de la API del servicio de Terminology en una API FHIR unificada de CRUD/búsqueda sobre recursos Concept.

Convertimos las terminologías más populares en un conjunto de recursos Concept, que pueden distribuirse como archivos ndjson para una exportación/importación masiva eficiente. A continuación se muestra un ejemplo para LOINC:


- code: 10000-8 ** display: R wave duration in lead AVR ** names: - R wave dur L-AVR - Cardiac - "Durat" - "ECG" .... ** property: ** loinc: ** relatednames2: Cardiac; Durat; ECG; EKG.MEASUREMENTS; ... ** method_typ: EKG ** classtype: '2' ** system: Heart ** time_aspct: Pt ** common_order_rank: '0' ** property: Time ** order_obs: Observation ** unitsrequired: Y ....

Desnormalización de expansiones

Si añadimos al recurso Concept múltiples vínculos a Value Sets, podemos desnormalizar todas las expansiones sofisticadas de Value Sets de la siguiente manera:

code: 10000-8 system: http://loinc.org**display: R wave duration in lead AVR valueSet: - reference: ValueSet/LL1162-8 - reference: ValueSet/another-vs

El conjunto de Concepts con ValueSets desnormalizados puede volcarse en ndjson mediante una API de exportación masiva y cargarse en el servidor FHIR.

Tiempo de ejecución del servidor FHIR

El recurso Concept con vínculos a ValueSets puede utilizarse en el servidor FHIR para implementar las operaciones básicas de uso — expandconfiltro,expand con filtro, validate-code y $lookup — mediante una API de búsqueda sencilla sobre Concept:

GET /ValueSet/v1/$expand?_filter=x => GET /Concept?vs=v1&display=???/ValueSet/v1/$validate-code?system=???code=??? => /Concept?vs=v1&system=???code=???

Conclusión

Para simplificar el uso de Terminology y desacoplar los servidores FHIR de la terminología, podemos introducir un nuevo tipo de recurso Concept, realizar toda la autoría de ValueSets en el servicio de Terminology y exportar/importar de forma masiva los Concepts desnormalizados (expandidos) a los servidores FHIR con una implementación mucho más sencilla de las operaciones básicas.

¡Sus comentarios son bienvenidos!

Aidbox FHIR Platform Free Trial

Compartir este artículo
Comments
Comments
Sign in
Loading comments...
Subscribe to our blog

Get the latest articles on FHIR, interoperability, and healthcare IT.