Übersicht über FHIR-Suche

Die FHIR®-Spezifikation (Fast Healthcare Interoperability Resources) definiert eine API zum Abfragen von Ressourcen in einer FHIR-Serverdatenbank. Dieser Artikel führt Sie durch einige wichtige Aspekte der Abfrage von Daten in FHIR. Ausführliche Informationen zur FHIR-Such-API finden Sie in der HL7-Dokumentation zur FHIR-Suche.

Im Verlauf dieses Artikels veranschaulichen wir die FHIR-Suchsyntax in API-Beispielaufrufen mit dem {{FHIR_URL}}-Platzhalter, um die FHIR-Server-URL darzustellen. Im Falle des FHIR-Diensts in Azure Health Data Services würde diese URL https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.com lauten.

FHIR-Suchvorgänge können auf einen bestimmten Ressourcentyp erfolgen, ein angegebenes Depot oder auf alle Ressourcen in der FHIR-Serverdatenbank. Die einfachste Möglichkeit zum Ausführen einer Suche in FHIR besteht darin, eine GET-Anforderung zu verwenden. Wenn Sie beispielsweise alle Patient-Ressourcen in der Datenbank pullen möchten, könnten Sie die folgende Anforderung verwenden:

GET {{FHIR_URL}}/Patient

Sie können auch mithilfe von POST suchen. Um mithilfe von POST zu suchen, werden die Suchparameter im Textkörper der Anforderung übermittelt. Dies erleichtert das Senden von Abfragen mit längeren, komplexeren Abfolgen von Parametern.

Wenn die Suchanforderung erfolgreich ist, erhalten Sie mit POST oder GET ein FHIR-searchset-Bündel, das die von der Suche zurückgegebene(n) Ressourceninstanz(en) enthält. Wenn die Suche fehlschlägt, finden Sie die Fehlerdetails in einer OperationOutcome-Antwort.

In den folgenden Abschnitten werden die verschiedenen Aspekte des Abfragens von Ressourcen in FHIR behandelt. Nachdem Sie diese Themen gelesen haben, finden Sie auf der Seite mit den FHIR-Suchbeispielen Beispiele für verschiedene FHIR-Suchmethoden.

Suchparameter

Wenn Sie eine Suche in FHIR durchführen, durchsuchen Sie die Datenbank nach Ressourcen, die bestimmten Suchkriterien entsprechen. Die FHIR-API stellt einen umfangreichen Satz von Suchparametern zum Optimieren der Suchkriterien bereit. Jede Ressource in FHIR enthält Informationen als einen Satz von Elementen, und Suchparameter dienen dem Zweck, die Informationen in diesen Elementen abzufragen. Wenn in einem FHIR-Such-API-Aufruf eine positive Übereinstimmung zwischen den Suchparametern der Anforderung und den entsprechenden Elementwerten gefunden wird, die in einer Ressourceninstanz gespeichert sind, gibt der FHIR-Server ein Bündel zurück, das die Ressourceninstanz(en) enthält, deren Elemente die Suchkriterien erfüllt haben.

Für jeden Suchparameter definiert die FHIR-Spezifikation die Datentypen, die verwendet werden können. Die Unterstützung verschiedener Datentypen im FHIR-Dienst wird unten beschrieben.

Suchparametertyp FHIR-Dienst in Azure Health Data Services Azure API for FHIR Kommentar
Zahl Ja Ja
Datum Ja Ja
Zeichenfolge Ja Ja
token Ja Ja
reference Ja Ja
composite Teilweise Partial Die Liste der unterstützten zusammengesetzten Typen finden Sie weiter unten in diesem Artikel.
Menge Ja Ja
uri Ja Ja
speziell Nein Nein

Allgemeine Suchparameter

Es gibt allgemeine Suchparameter, die für alle Ressourcen in FHIR gelten. Diese sind unten aufgeführt, zusammen mit der Information, ob sie im FHIR-Dienst unterstützt werden:

Allgemeiner Suchparameter FHIR-Dienst in Azure Health Data Services Azure API for FHIR Kommentar
_id Ja Ja
_lastUpdated Ja Ja
_tag Ja Ja
_type Ja Ja
_security Ja Ja
_profile Ja Ja
_has Ja Ja
_query Nr. Nr.
_filter Nr. Nr.
_list Nr. Nr.
_text Nr. Nr.
_content Nr. Nein

Ressourcenspezifische Parameter

Der FHIR-Dienst in Azure Health Data Services unterstützt fast alle ressourcenspezifischen Suchparameter, die in der FHIR-Spezifikation definiert sind. Suchparameter, die nicht unterstützt werden, werden in den folgenden Links aufgeführt:

Sie können auch die aktuelle Unterstützung für Suchparameter in der FHIR-Funktionsbestätigung mit der folgenden Anforderung anzeigen:

GET {{FHIR_URL}}/metadata

Um die unterstützten Suchparameter in der Funktionsbestätigung anzuzeigen, navigieren Sie für die ressourcenspezifischen Suchparameter zu CapabilityStatement.rest.resource.searchParam und für Suchparameter, die für alle Ressourcen gelten, zu CapabilityStatement.rest.searchParam.

Hinweis

Der FHIR-Dienst in Azure Health Data Services indiziert nicht automatisch Suchparameter, die nicht in der Basis-FHIR-Spezifikation definiert sind. Der FHIR-Dienst unterstützt jedoch benutzerdefinierte Suchparameter.

Zusammengesetzte Suchparameter

Zusammengesetzte Suchen in FHIR ermöglichen es Ihnen, nach Elementpaaren als logische verbundene Einheiten zu suchen. Wenn Sie beispielsweise nach Beobachtungen suchen, bei denen die Größe des Patienten über 152,5 cm (60 Zoll) lag, sollten Sie sicherstellen, dass eine einzelne Eigenschaft der Beobachtung den Größencode und einen Wert größer als 152,5 cm (60 Zoll) enthielt (der Wert sollte sich nur auf die Größe beziehen). Sie möchten schließlich keine positive Übereinstimmung für eine Beobachtung mit dem Größencode und beispielsweise einer Armspannnweite von über 152,5 cm (60 Zoll) zurückgeben. Zusammengesetzte Suchparameter verhindern dieses Problem, indem sie nach vordefinierten Paaren von Elementen suchen, deren Werte beide die Suchkriterien erfüllen müssen, damit es zu einer positiven Übereinstimmung kommt.

Der FHIR-Dienst in Azure Health Data Services unterstützt die folgenden Paarungen von Suchparametertypen für zusammengesetzte Suchen:

  • Verweis, Token
  • Token, Datum
  • Token, Zahl, Zahl
  • Token, Menge
  • Token, Zeichenfolge
  • Token, Token

Weitere Informationen finden Sie in der HL7-Dokumentation zu zusammengesetzten Suchparametern.

Hinweis

Zusammengesetzte Suchparameter unterstützen keine Modifizierer gemäß der FHIR-Spezifikation.

Modifizierer und Präfixe

Modifizierer ermöglichen es Ihnen, Suchparameter mit zusätzlichen Bedingungen zu qualifizieren. Nachfolgend finden Sie eine Liste der FHIR-Modifizierer und ob sie im FHIR-Dienst unterstützt werden:

Modifizierer FHIR-Dienst in Azure Health Data Services Azure API for FHIR Kommentar
:missing Ja Ja
:exact Ja Ja
:contains Ja Ja
:text Ja Ja
:type (Referenz) Ja Ja
:not Ja Ja
:below (URI) Ja Ja
:above (URI) Ja Ja
:in (Token) Nein Nein
:below (Token) Nein Nein
:above (Token) Nein Nein
:not-in (Token) Nein Nein

Bei Suchparametern mit einer bestimmten Reihenfolge (Zahlen, Datumsangaben und Mengen) können Sie ein Präfix vor dem Parameterwert verwenden, Patient?_lastUpdated=gt2022-08-01 um die Suchkriterien zu verfeinern (z. B. wenn das Präfixgt "größer als"). Der FHIR-Dienst in Azure Health Data Services unterstützt alle Präfixe, die im FHIR-Standard definiert sind.

Suchergebnisparameter

FHIR gibt einen Satz von Suchergebnisparametern an, die bei der Verwaltung der von einer Suche zurückgegebenen Informationen helfen sollen. Ausführliche Informationen zur Verwendung von Suchergebnisparametern in FHIR finden Sie auf der HL7-Website. Nachfolgend finden Sie eine Liste der FHIR-Suchergebnisparameter und ob sie im FHIR-Dienst unterstützt werden.

Suchergebnisparameter FHIR-Dienst in Azure Health Data Services Azure API for FHIR Kommentar
_elements Ja Ja
_count Ja Ja _count ist auf 1000 Ressourcen beschränkt. Wenn sie höher als 1000 festgelegt ist, werden nur 1000 zurückgegeben, und eine Warnung wird im Bundle enthalten.
_include Ja Ja Elemente, die mit _include abgerufen werden, sind auf 100 begrenzt. _include auf PaaS und OSS in Azure Cosmos DB unterstützt :iterate nicht, (#2137).
_revinclude Ja Ja Elemente, die mit _revinclude abgerufen werden, sind auf 100 begrenzt. _revinclude auf PaaS und OSS in Azure Cosmos DB unterstützt :iterate nicht, (#2137). Es gibt auch einen fehlerhaften Statuscode für eine ungültige Anforderung, #1319.
_summary Ja Ja
_total Teilweise Partial _total=none und _total=accurate
_sort Teilweise Partial sort=_lastUpdated wird im FHIR-Dienst unterstützt. Für den FHIR-Dienst und die SQL DB FHIR-OSS-Server wird das Sortieren nach Zeichenfolgen und dateTime-Feldern unterstützt. Für Azure API für FHIR- und Azure Cosmos DB-OSS-Datenbanken, die nach dem 20. April 2021 erstellt wurden, wird das Sortieren nach Vorname, Nachname, Geburtsdatum und klinischem Datum unterstützt.
_contained Nein Nr.
_containedType Nr. Nr.
_score Nr. Nein

Hinweis:

  1. Standardmäßig ordnet _sort Datensätze in aufsteigender Reihenfolge an. Sie können auch das Präfix - verwenden, um in absteigender Reihenfolge zu sortieren. Der FHIR-Dienst gestattet es Ihnen nur, jeweils nach einem einzelnen Feld zu sortieren.
  2. Der FHIR-Dienst unterstützt wilden Karte Suchvorgängen mit Neuzurücksicht. Durch Hinzufügen des Abfrageparameters "." in der Abfrage wird der FHIR-Dienst direkt auf alle Ressourcen verwiesen, die der Quellressource zugeordnet sind.

Standardmäßig ist der FHIR-Dienst in Azure Health Data Services auf eine großzügige Handhabung festgelegt. Dies bedeutet, dass der Server unbekannte oder nicht unterstützte Parameter ignoriert. Wenn Sie eine strenge Handhabung verwenden möchten, können Sie den Prefer-Header einschließen und handling=strict festlegen.

Verkettete und umgekehrte Verkettete Suche

Mithilfe einer verketteten Suche können Sie sehr differenziert gezielte Abfragen nach Ressourcen ausführen, die über einen Verweis auf eine andere Ressource verfügen. Wenn Sie beispielsweise Untersuchungen finden möchten, bei denen der Name der Patientin „Jane“ ist, verwenden Sie:

GET {{FHIR_URL}}/Encounter?subject:Patient.name=Jane

Durch den . in der oben stehenden Anforderung wird der Pfad der verketteten Suche zu dem Zielparameter (name in diesem Fall) gelenkt.

Ebenso können Sie eine umgekehrte verkettete Suche mit dem Parameter _has durchführen. Auf diese Weise können Sie Ressourceninstanzen abrufen, indem Sie Kriterien für andere Ressourcen angeben, die auf die Sie interessierenden Ressourcen verweisen. Beispiele für verkettete und umgekehrte verkettete Suchen finden Sie auf der Seite mit FHIR-Suchbeispielen.

Paginierung

Wie oben Erwähnung, sind die Ergebnisse einer FHIR-Suche in paginierter Form in einem Link im searchset Bundle verfügbar. Standardmäßig zeigt der FHIR-Dienst 10 Suchergebnisse pro Seite an, dies kann jedoch durch Festlegen des _count Parameters erhöht (oder verringert werden). Wenn mehr Übereinstimmungen vorhanden sind als auf einer Seite passen, enthält das Bündel einen next Link. Beim wiederholten Abrufen aus dem next Link werden die nachfolgenden Seiten der Ergebnisse zurückgegeben. Beachten Sie, dass der _count Parameterwert 1000 nicht überschreiten kann.

Aktuell unterstützt der FHIR-Dienst in Azure Health Data Services nur den next-Link und unterstützt keine first-, last- oder previous-Links in Bündeln, die von einer Suche zurückgegeben werden.

Nächste Schritte

Nachdem Sie nun die Grundlagen der FHIR-Suche kennengelernt haben, finden Sie auf der Seite mit Suchbeispielen detaillierte Informationen dazu, wie Sie mithilfe von Suchparametern, Modifizierern und anderen FHIR-Suchmethoden suchen können.

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.