Freigeben über


Ü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 wichtige Aspekte der Abfrage von Daten in FHIR. Ausführliche Informationen zur FHIR-Such-API finden Sie in der HL7-Dokumentation zur FHIR-Suche.

In diesem Artikel wird die FHIR-Suchsyntax in Beispiel-API-Aufrufen mit dem {{FHIR_URL}} Platzhalter zur Darstellung der FHIR-Server-URL veranschaulicht. Wenn sich der FHIR-Dienst in Azure Health Data Services befindet, lautet https://<WORKSPACE-NAME>-<FHIR-SERVICE-NAME>.fhir.azurehealthcareapis.comdiese URL .

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 abrufen möchten, können 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.

POST GETWenn die Suchanforderung erfolgreich ist, erhalten Sie entweder ein FHIR-Bündelsearchset, das die von der Suche zurückgegebenen Ressourceninstanzen enthält. Wenn die Suche fehlschlägt, finden Sie die Fehlerdetails in einer OperationOutcome-Antwort.

In den folgenden Abschnitten behandeln wir die verschiedenen Aspekte der Abfrage von Ressourcen in FHIR. 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 Kriterien 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 Ressourceninstanzen enthält, deren Elemente die Suchkriterien erfüllt haben.

Für jeden Suchparameter definiert die FHIR-Spezifikation den Datentyp, der verwendet werden kann. 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
date Ja Ja
Zeichenfolge Ja Ja
token Ja Ja
Referenz Ja Ja
composite Teilweise Partial Die Liste der unterstützten zusammengesetzten Typen folgt in diesem Artikel.
Menge Ja Ja
uri Ja Ja
speziell No No

Allgemeine Suchparameter

Es gibt allgemeine Suchparameter, die für alle Ressourcen in FHIR gelten. Diese werden wie folgt aufgeführt, zusammen mit ihrer Unterstützung im FHIR-Dienst.

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. No

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 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 würden beispielsweise keine positive Übereinstimmung für eine Beobachtung mit dem Höhencode und einem Armlängencode über 60 Zoll wünschen. 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 Suchparametertyppaarungen für zusammengesetzte Suchvorgänge.

  • 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 Tabelle mit FHIR-Modifizierern und deren Unterstützung im FHIR-Dienst.

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) No No
:below (Token) No No
:above (Token) No No
:not-in (Token) No Nr.
:identifier Nr. No

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äfix gt "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 Tabelle mit FHIR-Suchergebnisparametern und deren Unterstützung im FHIR-Dienst.

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. _includeauf PaaS und OSS unter Azure Cosmos DB wird (#2137) nicht unterstützt.:iterate
_revinclude Ja Ja Elemente, die mit _revinclude abgerufen werden, sind auf 100 begrenzt. _revincludeauf PaaS und OSS unter Azure Cosmos DB wird (#2137) nicht unterstützt.:iterate Es gibt auch einen falschen 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 No Nr.
_containedType Nr. Nr.
_score Nr. No

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 Wildcardsuchvorgänge mit "Neuigkeit". Durch Hinzufügen eines Abfrageparameters "." in einer erneuten Abfrage wird der FHIR-Dienst aufgefordert, auf alle Ressourcen zu verweisen, 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

Die . oben genannte Anforderung steuert den Pfad der verketteten Suche zum Zielparameter (name in diesem Fall).

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 bereits erwähnt, stehen die Ergebnisse einer FHIR-Suche in paginierter Form auf einem Link im searchset Bundle zur Verfügung. 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.

Häufig gestellte Fragen

Was bedeutet "partielle Unterstützung" in R4 Nicht unterstützte Suchparameter?

Einige der ressourcenspezifischen Suchparameter decken mehr als einen Datentyp ab, und der FHIR-Dienst in Azure Health Data Services unterstützt möglicherweise nur diesen Suchparameter für einen dieser Datentypen. Beispielsweise decken bedingungsabatement-alter und Condition-onset-age zwei verschiedene Datentypen, Alter und Bereich ab; Allerdings unterstützt der FHIR-Dienst in Azure Health Data Services diese beiden Suchparameter im Bereich, aber nicht im Alter.

Wird der $lastn-Vorgang für Beobachtungen unterstützt?

Dieser Vorgang wird nicht unterstützt. Der alternative Ansatz wäre die Verwendung von _count zum Einschränken der pro Seite zurückgegebenen Ressourcen und _sort, um Ergebnisse in absteigender Reihenfolge bereitzustellen.

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.

Hinweis

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