Was ist der Code eines SearchParameters?
In FHIR ist SearchParameter eine Ressource, die definiert, wie Suchen auf anderen FHIR-Ressourcen durchgeführt werden können. Sie legt die Parameter fest, die in einer Suchanfrage verwendet werden können, und beschreibt, wie diese Parameter mit den Elementen innerhalb einer FHIR-Ressource zusammenhängen.
SearchParameter.code definiert insbesondere den Namen des Suchparameters, dessen Verwendung in der URL empfohlen wird.
Der Such-Parameter Patient-name aus der FHIR-Kernspezifikation besitzt beispielsweise
"code" : "name"
Dies bedeutet, dass jeder FHIR-Server in der Lage sein sollte, die folgende Suche auszuführen:
GET /fhir/Patient?name=John
und entsprechende Ergebnisse zurückzuliefern.
Welche SearchParameters sind im FHIR-Server verfügbar?
Gemäß der FHIR-Spezifikation sollte der FHIR-Server die folgenden SearchParameters unterstützen:
- Alle SearchParameters, die durch die FHIR-Kernspezifikation definiert sind.
- Extern definierte SearchParameters. Die meisten FHIR-Server: bieten die Möglichkeit, unterstützte IGs zu definieren (was in der Regel bedeutet, dass alle SearchParameters aus dem IG im FHIR-Server verfügbar sind)
- Sie bieten die Möglichkeit, SearchParameters direkt zu definieren, z. B. durch das Anlegen von SearchParameter-Ressourcen.
Aidbox ermöglicht insbesondere:
Ist es möglich, dass zwei verschiedene SearchParameters denselben Code haben?
Definitiv!
Wenn Sie mehrere Implementation Guides (IGs) in Ihrem FHIR-Server verwenden möchten, können Sie auf kollidierende Parameter in verschiedenen IGs stoßen. So haben beispielsweise 86 % der Suchparameter, die im US Core Implementation Guide definiert sind, einen Parameter mit demselben Code aus der FHIR-Kernspezifikation innerhalb derselben Ressource.
Und wenn Sie natürlich benutzerdefinierte SearchParameters in Ihrem FHIR-Server erstellen, wird Sie in den meisten Fällen nichts daran hindern, SearchParameters mit Codes zu erstellen, die bereits in den standardmäßigen FHIR-Suchparametern oder in anderen extern definierten Suchparametern verwendet werden.
Wie sollte dieser Konflikt gemäß der FHIR-Spezifikation aufgelöst werden?
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.
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
Für den Fall, dass mehrere SearchParameters denselben Code besitzen, sollte der FHIR-Server den Konflikt auflösen und entscheiden, welcher SearchParameter für die Bearbeitung der Anfrage zuständig ist. Dies muss im Capability Statement des Servers widergespiegelt werden – der CapabilityStatement.rest.resource.searchParam.name muss im Kontext der Ressource eindeutig sein.
Was ist in solchen Situationen in Aidbox zu tun?
Aktuelle Situation Derzeit verwendet Aidbox SearchParameter.name als URL-Label anstelle von SearchParameter.code für alle SearchParameters, unabhängig davon, ob ein Konflikt vorliegt oder nicht. Der USCorePatientName SearchParameter wird beispielsweise in der folgenden Anfrage verwendet:
GET /fhir/Patient?USCorePatientName=John
Nächste Planungsschritte
Wir möchten in Aidbox eine klare und flexible Konfigurationsmethode bereitstellen, mit der festgelegt werden kann, welcher SearchParameter Suchen anhand eines bestimmten Labels verarbeitet.
Die Konfiguration wird zur Laufzeit über die REST-API und in der Benutzeroberfläche über die benutzerdefinierte Konfigurations-Ressource verfügbar sein, die wir einführen werden.
Wir werden diesen Ansatz verwenden, um alle ähnlichen Anwendungsfälle zu verwalten (Standardprofile für die Validierung von Ressourcen, Operationen mit nicht eindeutigen Namen usw.).
Bleiben Sie gespannt, was wir in einem der kommenden Releases erreichen werden!
Aidbox bietet kostenlose Entwicklungslizenzen an, mit denen Sie Ihre FHIR-Ideen ohne Ablaufbedenken verwirklichen können. Diese Lizenzen eignen sich ideal zum Ausführen dieser Konfigurationen, zum Experimentieren mit FHIR, zur Teilnahme an FHIR-Connectathons und zur Durchführung von POCs, mit einem Datenbankgrößenlimit von 5 GB. Erste Schritte mit Aidbox
Siehe auch: Neuer Ressourcen-Browser und Aidbox 2025-Roadmap.





