|
3 min de lectura
|

Cómo resolver conflictos de códigos en SearchParameters de FHIR

Resumir este artículo con:
ChatGPTPerplexityClaudeGrok

¿Qué es el código de un SearchParameter?

En FHIR, SearchParameter es un recurso que define cómo pueden realizarse búsquedas sobre otros recursos FHIR. Especifica los parámetros que pueden utilizarse en una consulta de búsqueda y cómo dichos parámetros se relacionan con los elementos dentro de un recurso FHIR.

SearchParameter.code, en particular, define el nombre del parámetro de búsqueda que se recomienda utilizar en la URL.

Por ejemplo, el SearchParameter Patient-name de la especificación FHIR central tiene

"code" : "name"

lo que significa que cualquier servidor FHIR debería ser capaz de ejecutar la siguiente búsqueda:

GET /fhir/Patient?name=John

y devolver los resultados correspondientes.

¿Qué SearchParameters están disponibles en el servidor FHIR?

Según la especificación FHIR, el servidor FHIR debería soportar los siguientes SearchParameters:

  • Todos los SearchParameters definidos por la especificación FHIR central.
  • SearchParameters definidos externamente. La mayoría de los servidores FHIR: ofrecen la posibilidad de definir los IGs soportados (lo que normalmente implica que todos los SearchParameters del IG estarán disponibles en el servidor FHIR)
  • Ofrecen la posibilidad de definir SearchParameters directamente, por ejemplo, mediante la definición de recursos SearchParameter

Aidbox, en particular, permite:

¿Es posible que dos SearchParameters distintos tengan el mismo código?

¡Definitivamente!

Si va a utilizar múltiples guías de implementación (IGs) en su servidor FHIR, es posible que encuentre parámetros en conflicto entre diferentes IGs; por ejemplo, el 86 % de los parámetros de búsqueda definidos en la US Core Implementation Guide tienen un parámetro con el mismo código que la especificación FHIR central dentro del mismo recurso.

Y, por supuesto, si está creando SearchParameters personalizados en su servidor FHIR, lo más probable es que nada le impida crear SearchParameters con códigos ya utilizados en los parámetros de búsqueda estándar de FHIR o en otros parámetros de búsqueda definidos externamente.

¿Cómo debe resolverse este conflicto según la especificación FHIR?

https://hl7.org/fhir/searchparameter-definitions.html#SearchParameter.code

SearchParameter.code

Element Id
SearchParameter.code
Definition
The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code.

https://build.fhir.org/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.searchParam.name

CapabilityStatement.rest.resource.searchParam.name

Element Id
CapabilityStatement.rest.resource.searchParam.name
Definition
The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code

En caso de que existan múltiples SearchParameters con el mismo código, el servidor FHIR debe resolver el conflicto y decidir qué SearchParameter será responsable de gestionar la solicitud; esto debe reflejarse en el Capability Statement del servidor: el CapabilityStatement.rest.resource.searchParam.name debe ser único en el contexto del recurso.

¿Qué hacer en tales situaciones en Aidbox?

Situación actual Por el momento, Aidbox utiliza SearchParameter.name como etiqueta de URL en lugar de SearchParameter.code para todos los SearchParameters, independientemente de si existe un conflicto o no; por ejemplo, el SearchParameter USCorePatientName se utiliza en la siguiente solicitud:

GET /fhir/Patient?USCorePatientName=John

Planes inmediatos

Queremos proporcionar un método de configuración claro y flexible en Aidbox para especificar qué SearchParameter gestionará las búsquedas mediante una etiqueta determinada.

La configuración estará disponible en tiempo de ejecución a través de la REST API y en la interfaz de usuario mediante el recurso de configuración personalizado que vamos a introducir.

Utilizaremos este enfoque para gestionar todos los casos de uso similares (perfiles predeterminados para la validación de recursos, operaciones con nombres no únicos, etc.).

¡Permanezca atento para ver lo que podemos lograr en una de las próximas versiones!

Aidbox ofrece licencias de desarrollo gratuitas, lo que le permite dar vida a sus ideas FHIR sin preocupaciones por la expiración. Estas licencias son ideales para ejecutar estas configuraciones, experimentar con FHIR, participar en FHIR Connectathons y realizar pruebas de concepto (POC), con un límite de tamaño de base de datos de 5 GB. Empiece con Aidbox

Véase también: Nuevo navegador de recursos y Hoja de ruta de Aidbox para 2025.

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

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