Auf dieser Seite wird beschrieben, wie Sie einen FHIR-Speicher konfigurieren, um benutzerdefinierte Suchparameter für Felder und Erweiterungen zu unterstützen, die nicht von den FHIR-Standardsuchparametern abgedeckt werden.
Benutzerdefinierte Suchparameter können in vielen Situationen nützlich sein, darunter:
- Sie müssen in einer FHIR-Ressource nach einem Feld suchen, aber es gibt keinen unterstützten Suchparameter für das Feld.
- Sie müssen in Erweiterungen suchen, die dem FHIR-Datenmodell hinzugefügt wurden.
Überblick
Standardmäßig unterstützen Suchen nach FHIR-Ressourcen die in denFHIR-Spezifikation definierten Standard-Suchparameter, mit einigen Ausschlüssen, die in der FHIR-Funktionsanweisung oder der FHIR-Konformitätserklärung dokumentiert sind.
Sie können einen oder mehrere benutzerdefinierte Suchparameter erstellen und den FHIR-Speicher so konfigurieren, dass sie in Abfragen über die Methode search
unterstützt werden. Benutzerdefinierte Suchparameter sind in folgenden Situationen nützlich:
- Suchen in Feldern, die nicht von Standardsuchparametern abgedeckt werden.
- Suchen in Erweiterungen des FHIR-Datenmodells.
In vielen FHIR-Implementierungsleitfäden werden Suchparameter definiert, die Sie in Ihren Suchvorgängen verwenden können.
Benutzerdefinierte Suchparameter unterstützen das gleiche Suchverhalten, einschließlich erweiterter FHIR-Suchfunktionen wie Standardsuchparameter. Beispiele:
- Modifikatoren
_include
und_revinclude
- Verkettete Suche
_sort
Zum Aktivieren einer benutzerdefinierten Suche für Ihren FHIR-Speicher müssen Sie zuerst eine oder mehrere SearchParameter
-Ressourcen erstellen, die das Suchverhalten definieren. SearchParameter
ist ein Standard-FHIR-Ressourcentyp, der mit denselben Methoden wie jeder andere Ressourcentyp erstellt, aktualisiert oder gelöscht werden kann. Weitere Informationen finden Sie unter Suchparameterressource im Speicher erstellen.
SearchParameter
-Ressourcen in einem FHIR-Speicher werden erst wirksam, wenn sie mit der Methode configureSearch
konfiguriert wurden. Mit dieser Methode wird eine Liste mit benutzerdefinierten Suchparametern aktiviert. Bei jedem Aufruf wird die vorherige Liste der Parameter ersetzt. Ein Vorgang mit langer Ausführungszeit wird für configureSearch
ausgelöst, um alle relevanten Ressourcen im Speicher gemäß der neuen Suchkonfiguration neu zu indexieren. Alle neuen und aktualisierten Ressourcen nach dem Methodenaufruf werden gemäß der neuen Konfiguration indexiert. Alle Indexdaten für benutzerdefinierte Suchparameter, die nicht mehr in der Konfiguration enthalten sind, werden entfernt.
Weitere Informationen zur Verwendung von configureSearch
finden Sie unter Benutzerdefinierten Suchparameter für Ihren FHIR-Speicher aktivieren.
Der CapabilityStatement
des Speichers, der über die fhir.capabilities
-Methode abgerufen wird, listet sowohl Standard- als auch benutzerdefinierte Suchparameter auf. Suchparameter für eine Ressource finden Sie im rest.resource.searchParam
-Feld.
Benutzerdefinierte FHIR-Suche erstellen
Suchparameter-Ressource im FHIR-Speicher erstellen
In folgenden Beispielen wird gezeigt, wie Sie eine benutzerdefinierte Suchparameter-Ressource mit der projects.locations.datasets.fhirStores.fhir.create
-Methode erstellen. Sie können auch die projects.locations.datasets.fhirStores.import
-Methode verwenden.
Beschreibungen der relevanten Suchparameterfelder finden Sie unter Felder für Suchparameter-Ressourcen.
curl
Das folgende Beispiel zeigt eine POST
-Anfrage mit curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"resourceType\": \"SearchParameter\", \"url\": \"CANONICAL_URL\", \"base\": [\"RESOURCE_TYPE\"], \"code\": \"SEARCH_PARAMETER_CODE\", \"name\": \"SEARCH_PARAMETER_NAME\", \"type\": \"SEARCH_PARAMETER_TYPE\", \"expression\": \"SEARCH_PARAMETER_EXPRESSION\", \"status\": \"active\", \"description\": \"SEARCH_PARAMETER_DESCRIPTION\" }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "resourceType": "SearchParameter", "url": "CANONICAL_URL", "base": ["RESOURCE_TYPE"], "code": "SEARCH_PARAMETER_CODE", "name": "SEARCH_PARAMETER_NAME", "type": "SEARCH_PARAMETER_TYPE", "expression": "SEARCH_PARAMETER_EXPRESSION", "status": "active", "description": "SEARCH_PARAMETER_DESCRIPTION", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, }
PowerShell
Das folgende Beispiel zeigt eine POST
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $SearchParameter = '{ "resourceType": "SearchParameter", "url": "CANONICAL_URL", "base": ["RESOURCE_TYPE"], "code": "SEARCH_PARAMETER_CODE", "name": "SEARCH_PARAMETER_NAME", "type": "SEARCH_PARAMETER_TYPE", "expression": "SEARCH_PARAMETER_EXPRESSION", "status": "active", "description": "SEARCH_PARAMETER_DESCRIPTION" }' Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $SearchParameter ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "resourceType": "SearchParameter", "url": "CANONICAL_URL", "base": ["RESOURCE_TYPE"], "code": "SEARCH_PARAMETER_CODE", "name": "SEARCH_PARAMETER_NAME", "type": "SEARCH_PARAMETER_TYPE", "expression": "SEARCH_PARAMETER_EXPRESSION", "status": "active", "description": "SEARCH_PARAMETER_DESCRIPTION", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, }
Benutzerdefinierten Suchparameter für Ihren FHIR-Speicher aktivieren
Um einen oder mehrere benutzerdefinierte Suchparameter für Ihren FHIR-Speicher zu aktivieren, senden Sie eine POST
-Anfrage an die [store base URL]:configureSearch
-Methode und geben die kanonische URL für jeden zu aktivierenden Suchparameter an.
Kanonische URLs werden in einem der folgenden Formate angegeben:
uri
: Wählt die größteversion
aus, die im Speicher für diesen URI verfügbar ist.uri|version
: Wählt eine bestimmte Version aus.
Beispiel: Wenn der Speicher die Versionen 1.0.0
und 1.0.1
für Suchparameter mit dem http://example.com/search
-URI enthält, wählt die kanonische URL http://example.com/search|1.0.0
die 1.0.0
-Version aus. Mit der kanonischen URL http://example.com/search
wird die 1.0.1
-Version ausgewählt.
Die Liste der für diese Methode bereitgestellten URLs ersetzt alle vorherigen Konfigurationen und entfernt benutzerdefinierte Suchparameter, die zuvor gültig waren. Die Konfiguration wird basierend auf den Inhalten der SearchParameter
-Ressourcen, die zum Zeitpunkt des configureSearch
-Aufrufs vorhanden waren, im Cache gespeichert. Wenn die SearchParameter
-Ressourcen aktualisiert oder gelöscht werden, wird die Konfiguration erst aktualisiert, wenn configureSearch
noch einmal aufgerufen wird.
Wenn der Methodenaufruf [store base URL]:configureSearch
erfolgreich ist, ist der Rückgabewert der Name eines Vorgangs mit langer Ausführungszeit, um die Ressourcen im Speicher gemäß der neuen Konfiguration neu zu indexieren. Sie können den Status des Vorgangs mit langer Ausführungszeit mit der Methode operations.get
aufrufen. Mit der Methode operations.cancel
können Sie den Vorgang abbrechen. Der Status enthält einen Zähler, der angibt, wie viele Ressourcen erfolgreich neu indexiert wurden.
Suchvorgänge im Speicher funktionieren weiterhin normal, während der Vorgang mit langer Ausführungszeit ausgeführt wird, mit der Ausnahme, dass benutzerdefinierte Suchparameter, die von diesem Vorgang hinzugefügt oder geändert werden, Teilergebnisse zurückgeben. Das Abbrechen des Vorgangs ist sicher, führt jedoch zu einer teilweisen Indexierung der benutzerdefinierten Suchparameter. Es ist wichtig, einen vollständigen erfolgreichen Vorgang zur Neuindexierung abzuschließen, bevor Sie neu hinzugefügte oder geänderte Parameter für die Suche verwenden.
Wenn Fehler auftreten, werden sie in Cloud Logging angezeigt.
Die configureSearch
-Methode kann auch mit der Option "validate_only": true
verwendet werden, um die angegebenen Suchparameter zu validieren, ohne die Speicherkonfiguration zu ändern und ohne Daten neu zu indexieren.
In folgenden Beispielen wird gezeigt, wie Sie einen oder mehrere benutzerdefinierte Suchparameter für Ihren FHIR-Speicher mit der projects.locations.datasets.fhirStores.configureSearch
-Methode aktivieren.
curl
Das folgende Beispiel zeigt eine POST
-Anfrage mit curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"canonicalUrls\": [\"CANONICAL_URL1\",\"CANONICAL_URL2\"], }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Sie können den Status des Vorgangs mit der Methode Operation get
verfolgen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der FHIR-Ressourcen, deren Neuindexierung aussteht, im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1beta1.fhir.FhirStoreService.ConfigureSearch", "createTime": "CREATE_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "pending": "PENDING_COUNT" } } }
Wenn der Vorgang abgeschlossen ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.configureSearch", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty", } }
Wenn der LRO erfolgreich ist, enthält die Antwort die Anzahl der erfolgreich neu indexierten FHIR-Ressourcen und den Antworttyp google.protobuf.Empty
.
PowerShell
Das folgende Beispiel zeigt eine POST
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $configureSearch = '{ "canonical_urls": [ "CANONICAL_URL1", "CANONICAL_URL2" ] }' Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $configureSearch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Die Antwort enthält einen Vorgangsnamen. Sie können den Status des Vorgangs mit der Methode Operation get
verfolgen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der FHIR-Ressourcen, deren Neuindexierung aussteht, im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1beta1.fhir.FhirStoreService.ConfigureSearch", "createTime": "CREATE_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "pending": "PENDING_COUNT" } } }
Wenn der Vorgang abgeschlossen ist, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.configureSearch", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty", } }
Wenn der LRO erfolgreich ist, enthält die Antwort die Anzahl der erfolgreich neu indexierten FHIR-Ressourcen und den Antworttyp google.protobuf.Empty
.
Mit einer benutzerdefinierten Suche nach Ressourcen suchen
Sie können mit einem benutzerdefinierten Suchparameter ganz normal wie in jedem anderen Suchvorgang suchen. Verwenden Sie den Wert code
aus der Suchparameter-Ressource als key
für die Suchanfrage. Weitere Informationen finden Sie unter Nach FHIR-Ressourcen suchen.
Felder für Suchparameter-Ressourcen
Im folgenden Abschnitt werden die Felder der SearchParameter beschrieben, die für benutzerdefinierte Suchvorgänge relevant sind. Diese Felder sind sowohl in der STU3- als auch in der R4-Version von FHIR verfügbar.
uri
und version
Das erforderliche Feld uri
und das optionale Feld version
definieren die kanonische URL für die Suchparameter-Ressource. Die Kombination aus uri
und version
darf innerhalb des FHIR-Speichers nur einmal vorkommen.
Die kanonische URL ist die im configureSearch
-Aufruf verwendete URL.
name
, description
und status
Die Felder name
, description
und status
sind erforderlich, haben aber keine funktionale Wirkung.
base
Im base
-Feld sind die FHIR-Ressourcentypen aufgelistet, für die diese Suche gilt.
Wenn mehrere Typen vorhanden sind, muss das Feld expression
für jeden Typ eine Klausel enthalten. Es macht keinen Unterschied, ob Sie einen Parameter für zwei Typen oder einen Parameter für jeden Typ definieren. Wenn Sie einen Parameter für mehrere Ressourcentypen definieren, werden die Definitionen kompakter.
code
Das Feld code
definiert den Schlüssel, der in einer FHIR-Suchanfrage verwendet werden soll. Beispiel: Wenn code
als payment-type
und base
als Claim
definiert ist, wäre Claim?payment-type=ABC
eine Suchanfrage mit diesem Parameter.
Das Feld code
darf nicht denselben Wert wie jeder andere Standard- oder benutzerdefinierte Suchparameter mit demselben Ressourcentyp haben. Die Standardsuchparameter können nicht mithilfe von benutzerdefinierten Suchparametern neu definiert oder geändert werden. Mit der Methode configureSearch
werden doppelte Suchparameter abgelehnt.
Der Wert des code
-Felds muss folgende Anforderungen erfüllen:
- Muss mit einem Buchstaben beginnen
- Darf nicht länger als 64 Zeichen sein
- Darf nur Folgendes enthalten:
- Alphanumerische Zeichen
- Bindestrich
-
- Unterstrich
_
Die FHIR-Standardkonvention für das code
-Feld ist kleingeschrieben und mit Bindestrichen.
type
Das Feld type
definiert den Suchparametertyp. Der Suchparametertyp bestimmt die Semantik der Suchbedingungen, wie in der FHIR-Suchspezifikation definiert.
Dieser Wert von type
muss mit dem Datentyp des Felds kompatibel sein, das im Feld expression
angegeben ist. Ist dies nicht der Fall, lehnt configureSearch
den benutzerdefinierten Suchparameter ab.
Das type
-Feld muss einer der folgenden Werte sein:
number
date
string
token
reference
quantity
uri
Die Typen composite
und special
werden nicht unterstützt.
expression
Das expression
-Feld definiert, welche Felder oder Erweiterungen die Suchparameterabfragen abfragen. In diesem Feld wird ein limitiertes Set der Syntax und der Funktionen von FHIRPath verwendet.
Feldsyntax
Das Feld expression
ist als Pfad definiert, der mit dem Ressourcentyp beginnt, gefolgt von einem oder mehreren durch .
getrennten Feldern, z. B. Patient.contact.name.given
. Die Feldstruktur von FHIR-Daten finden Sie in den FHIR-Ressourcen und FHIR-Datentypen.
Mehrere Klauseln
Das Feld expression
kann mehrere Klauseln enthalten, die durch |
getrennt sind. In diesem Fall stimmt der Suchparameter überein, wenn eine der Klauseln mit der Ressource übereinstimmt. Ein Suchparameter mit dem Ausdruck Patient.name.given | Patient.name.family
stimmt beispielsweise mit einem dieser beiden Felder überein. Verwenden Sie mehrere Klauseln, wenn in base
mehrere Ressourcentypen angegeben sind. Beispiel: Patient.name.given | Practitioner.name.given
für einen Suchparameter, der sowohl für Patient
als auch für Practitioner
gilt.
.as([data type])
Verwenden Sie die Funktion .as([data type])
, wenn ein Feld mehr als einen potenziellen Datentyp hat. Das Feld Observation.value
kann beispielsweise viele verschiedene Typen enthalten, z. B. Quantity
und String
, die mit verschiedenen Suchtypen funktionieren.
Sie können diese Suchtypen mit Observation.value.as(Quantity)
oder Observation.value.as(String)
auswählen.
Erweiterungen auswählen
Sie können Erweiterungen mit der .extension([canonical url])
-Funktion auswählen.
Da Erweiterungen ein value
-Feld umfassen, das einen beliebigen Datentyp enthalten kann, ist der vollständige Pfad als .extension([canonical url]).value.as([data type])
definiert.
Komplexe Erweiterungen können mehrere .extension()
-Komponenten verwenden, z. B. Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-citizenship').extension('code').value.as(CodeableConcept)
.
Sie können auch die .extension.where(url='[canonical url]')
-Funktion zum Auswählen von Erweiterungen verwenden. Dies ist der einzige Kontext, in dem die where()
-Funktion zulässig ist.
Es werden keine anderen FHIRPath-Funktionen unterstützt.
target
Wenn das Feld type
als reference
definiert ist, muss das Feld target
einen oder mehrere FHIR-Ressourcentypen enthalten, die definieren, welche Ressourcentypen das Ziel dieser Referenzsuche sein können.
Wenn das Feld Patient.generalPractitioner
beispielsweise Verweise auf Practitioner
, PractitionerRole
und Organization
zulässt, kann ein Suchparameter Verweise auf Practitioner
, PractitionerRole
oder Organization
abgleichen.
Wenn du alle Zieltypen von Referenzen abgleichen möchtest, füge alle Typen im Feld target
ein.
modifier
, comparator
, multipleOr
, multipleAnd
und chain
Die Felder modifier
, comparator
, multipleOr
, multipleAnd
und chain
werden ignoriert. Die mit einem benutzerdefinierten Suchparameter verfügbaren Optionen und Funktionen sind die gleichen, die vom FHIR-Speicher für einen Standardsuchparameter desselben Typs unterstützt werden.
Suchparameter aus einem Implementierungsleitfaden verwenden
Wenn Sie Suchparameter implementieren, die aus einem FHIR-Implementierungsleitfaden abgerufen wurden, importieren Sie die SearchParameter
-Ressourcen aus der JSON-Datei Ihres Implementierungsleitfadens mit einer der folgenden Methoden in den FHIR-Speicher:
In einigen Fällen müssen Sie einen veröffentlichten Suchparameter konvertieren, damit die Cloud Healthcare API ihn unterstützt. Nicht konvertierte Suchparameter werden von der Methode configureSearch
abgelehnt. Für Suchparameter aus den Implementierungsleitfäden gelten die folgenden Einschränkungen:
Wenn der Suchparameter mit den Parametern in der Basis-FHIR-Spezifikation identisch ist, lehnt die Methode
configureSearch
die doppelten Suchparameter ab. Lassen Sie solche Duplikate beim Aufrufen vonconfigureSearch
weg. Weitere Informationen finden Sie untercode
.Wenn der Suchparameter nur einen
xpath
-Ausdruck enthält, konvertieren Sie den Ausdruck in einen entsprechenden FHIRPath-Ausdruck und verwenden Sie ihn im Feldexpression
. Weitere Informationen finden Sie unterexpression
.Die Suchparametertypen
composite
undspecial
werden nicht unterstützt.Die alternative Syntax für die Typumwandlung
([field] as [data type])
wird nicht unterstützt. Konvertieren Sie in das unterstützten Äquivalent[field].as([data type])
. Weitere Informationen finden Sie unter.as([data type])
.Die
[reference field].where(resolve() is [resource type])
-Konvention zum Einschränken des Typs einer referenzierten Ressource wird nicht unterstützt. Entfernen Sie diewhere()
-Klausel und speichern Sie den referenzierten Ressourcentyp stattdessen imSearchParameter.target
-Feld. Weitere Informationen finden Sie untertarget
.Einige Implementierungsleitfäden verwenden Ausdrücke für Erweiterungen, die einige der für den FHIR-Speicher der Cloud Healthcare API erforderlichen Pfadkomponenten weglassen. Beispiel:
Patient.extension('url')
muss inPatient.extension('url').value.as([data type])
geändert werden undPatient.extension('url').extension.value
muss inPatient.extension('url').extension('url2').value.as([data type])
geändert werden.
Beispiele
Benutzerdefinierte Suche für die Suche in einem Erweiterungsfeld verwenden
Folgende Schritte zeigen ein Beispiel für die Suche nach Text in der mothersMaidenName
-Erweiterung in Patientenressourcen.
Erstellen Sie eine Beispielressource für den Patienten:
curl
Das folgende Beispiel zeigt, wie Sie eine Patientenressource erstellen. Dazu stellen Sie eine
POST
-Anfrage mitcurl
. Für diese Patientenressource ist die ErweiterungmothersMaidenName
aufMarca
gesetzt.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"name\": [ { \"use\": \"official\", \"family\": \"Smith\", \"given\": [ \"Darcy\" ] } ], \"gender\": \"female\", \"birthDate\": \"1970-01-01\", \"resourceType\": \"Patient\", \"extension\": [ { \"url\": \"http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName\", \"valueString\": \"Marca\" } ] }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie diese im JSON-Format zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Marca" } ] }
PowerShell
Das folgende Beispiel zeigt, wie Sie eine Patientenressource durch Senden einer
POST
-Anfrage mit Windows PowerShell erstellen. Für diese Patientenressource ist die ErweiterungmothersMaidenName
aufMarca
festgelegt.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $Patient = '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Marca" } ] }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $Patient ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie diese im JSON-Format zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Marca" } ] }
Erstellen Sie eine benutzerdefinierte Suchparameter-Ressource:
curl
Das folgende Beispiel zeigt, wie Sie über eine
POST
-Anfrage mitcurl
die benutzerdefinierte Suchparameter-Ressource für diemothersMaidenName
-Erweiterung erstellen.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"resourceType\": \"SearchParameter\", \"url\": \"http://example.com/SearchParameter/patient-mothersMaidenName\", \"base\": [\"Patient\"], \"code\": \"mothers-maiden-name\", \"name\": \"mothers-maiden-name\", \"type\": \"string\", \"expression\": \"Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)\", \"status\": \"active\", \"description\": \"search on mother's maiden name\" }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{
"resourceType": "SearchParameter",
"url": "http://example.com/SearchParameter/patient-mothersMaidenName",
"base": ["Patient"],
"code": "mothers-maiden-name",
"name": "mothers-maiden-name",
"type": "string",
"expression": "Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)",
"status": "active",
"description": "search on mother's maiden name",
"meta": {
"lastUpdated": "2020-01-01T00:00:00+00:00",
"versionId": "VERSION_ID"
},
}PowerShell
Im Folgenden wird gezeigt, wie Sie die benutzerdefinierte Suchparameter-Ressource für die Erweiterung "mothersMaidenName" erstellen. Stellen Sie dazu eine "POST"-Anfrage mit Windows PowerShell.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $SearchParameter = '{ "resourceType": "SearchParameter", "url": "http://example.com/SearchParameter/patient-mothersMaidenName", "base": ["Patient"], "code": "mothers-maiden-name", "name": "mothers-maiden-name", "type": "string", "expression": "Patient.extension(''http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName'').value.as(String)", "status": "active", "description": "search on mother''s maiden name" }' Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $SearchParameter ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{
"resourceType": "SearchParameter",
"url": "http://example.com/SearchParameter/patient-mothersMaidenName",
"base": ["Patient"],
"code": "mothers-maiden-name",
"name": "mothers-maiden-name",
"type": "string",
"expression": "Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)",
"status": "active",
"description": "search on mother's maiden name",
"meta": {
"lastUpdated": "2020-01-01T00:00:00+00:00",
"versionId": "VERSION_ID"
},
}.as([data type])
, um ein Targeting auf einen anderen Datentyp im Feldexpression
vorzunehmen. Wenn Sie beispielsweise den Suchausdruck für einen booleschen Wert angeben möchten, verwenden Sie.value.as(Boolean)
. Weitere Informationen finden Sie unter.as([data type])
.Suchparameter aktivieren:
curl
Um den benutzerdefinierten Suchparameter zu aktivieren, stellen Sie eine
POST
-Anfrage und geben die kanonische URL für jeden zu aktivierenden Suchparameter an.Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"canonicalUrls\": [\"http://example.com/SearchParameter/patient-mothersMaidenName\"], }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
PowerShell
Um den benutzerdefinierten Suchparameter zu aktivieren, stellen Sie eine
POST
-Anfrage und geben die kanonische URL für jeden zu aktivierenden Suchparameter an.Das folgende Beispiel zeigt eine
POST
-Anfrage mit Windows PowerShell.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $configureSearch = '{ "canonicalUrls": "http://example.com/SearchParameter/patient-mothersMaidenName" }' ` Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $configureSearch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Führen Sie die Suche mit dem benutzerdefinierten Suchparameter aus:
curl
Das folgende Beispiel zeigt, wie Sie über eine
GET
-Anfrage mitcurl
nach Patientenressourcen für den StringMarca
in dermothersMaidenName
-Erweiterung suchen.curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?mothers-maiden-name:exact=Marca"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR-
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Marca" } ] }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
PowerShell
Das folgende Beispiel zeigt, wie Sie über eine GET-Anfrage mit Windows PowerShell nach Patientenressourcen für den String "Marca" in der Erweiterung "mothersMaidenName" suchen.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?mothers-maiden-name:exact=Marca" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR-
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName", "valueString": "Marca" } ] }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
Benutzerdefinierte Suche in einem Erweiterungsfeld mit zwei Ebenen verwenden
Die folgenden Schritte zeigen, wie Sie in einer Patientenressource innerhalb der Erweiterung us-core-ethnicity
nach dem Code suchen.
Erstellen Sie eine Beispielressource für den Patienten:
curl
Das folgende Beispiel zeigt, wie Sie eine Patientenressource erstellen. Dazu stellen Sie eine
POST
-Anfrage mitcurl
. Für diese Patientenressource ist die Erweiterungus-core-ethnicity
festgelegt.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"name\": [ { \"use\": \"official\", \"family\": \"Smith\", \"given\": [ \"Darcy\" ] } ], \"gender\": \"female\", \"birthDate\": \"1970-01-01\", \"resourceType\": \"Patient\", \"extension\": [ { \"url\": \"http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity\", \"extension\": [ { \"url\" : \"ombCategory\", \"valueCoding\" : { \"system\" : \"urn:oid:2.16.840.1.113883.6.238\", \"code\" : \"2028-9\", \"display\" : \"Asian\" } } ] } ] }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie diese im JSON-Format zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url" : "ombCategory", "valueCoding" : { "system" : "urn:oid:2.16.840.1.113883.6.238", "code" : "2028-9", "display" : "Asian" } } ] } ] }
PowerShell
Das folgende Beispiel zeigt, wie Sie eine Patientenressource durch Senden einer
POST
-Anfrage mit Windows PowerShell erstellen. Für diese Patientenressource ist die Erweiterungus-core-ethnicity
festgelegt.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $Patient = '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient", "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url" : "ombCategory", "valueCoding" : { "system" : "urn:oid:2.16.840.1.113883.6.238", "code" : "2028-9", "display" : "Asian" } } ] } ] }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $Patient ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie diese im JSON-Format zurück:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url" : "ombCategory", "valueCoding" : { "system" : "urn:oid:2.16.840.1.113883.6.238", "code" : "2028-9", "display" : "Asian" } } ] } ] }
Erstellen Sie eine benutzerdefinierte Suchparameter-Ressource:
curl
Das folgende Beispiel zeigt, wie Sie über einePOST
-Anfrage mitcurl
die benutzerdefinierte Suchparameter-Ressource für dieus-core-ethnicity
-Erweiterung erstellen.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"resourceType\": \"SearchParameter\", \"url\": \"http://example.com/SearchParameter/patient-us-core-ethnicity\", \"base\": [\"Patient\"], \"code\": \"ethnicity\", \"name\": \"ethnicity\", \"type\": \"token\", \"expression\": \"Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)\", \"status\": \"active\", \"description\": \"search on the ombCategory of a patient.\" }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "resourceType": "SearchParameter", "url": "http://example.com/SearchParameter/patient-us-core-ethnicity", "base": ["Patient"], "code": "ethnicity", "name": "ethnicity", "type": "token", "expression": "Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)", "status": "active", "description": "search on the ombCategory of a patient.", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, }
PowerShell
Im folgenden Beispiel wird gezeigt, wie Sie die benutzerdefinierte Suchparameter-Ressource für die Erweiterung "mothersMaidenName" erstellen, indem Sie eine "POST"-Anfrage mit Windows PowerShell senden.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $SearchParameter = '{ "resourceType": "SearchParameter", "url": "http://example.com/SearchParameter/patient-us-core-ethnicity", "base": ["Patient"], "code": "ethnicity", "name": "ethnicity", "type": "token", "expression": "Patient.extension(''http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'').extension(''ombCategory'').value.as(Coding)", "status": "active", "description": "search on the ombCategory of a patient." }' Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $SearchParameter ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "resourceType": "SearchParameter", "url": "http://example.com/SearchParameter/patient-us-core-ethnicity", "base": ["Patient"], "code": "ethnicity", "name": "ethnicity", "type": "token", "expression": "Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)", "status": "active", "description": "search on the ombCategory of a patient.", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, }
Suchparameter aktivieren:
curl
Um den benutzerdefinierten Suchparameter zu aktivieren, stellen Sie eine
POST
-Anfrage und geben die kanonische URL für jeden zu aktivierenden Suchparameter an.Das folgende Beispiel zeigt eine
POST
-Anfrage mitcurl
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ \"canonicalUrls\": [\"http://example.com/SearchParameter/patient-us-core-ethnicity\"], }" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
PowerShell
Um den benutzerdefinierten Suchparameter zu aktivieren, stellen Sie eine
POST
-Anfrage und geben die kanonische URL für jeden zu aktivierenden Suchparameter an.Das folgende Beispiel zeigt eine
POST
-Anfrage mit Windows PowerShell.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $configureSearch = '{ "canonicalUrls": "http://example.com/SearchParameter/patient-us-core-ethnicity" }' ` Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $configureSearch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Führen Sie die Suche mit dem benutzerdefinierten Suchparameter aus:
curl
Das folgende Beispiel zeigt, wie Sie in Patientenressourcen nach dem Code
urn:oid:2.16.840.1.113883.6.238|2028-9
in der Erweiterungus-core-ethnicity
suchen, indem Sie übercurl
eineGET
-Anfrage senden.curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR-
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url" : "ombCategory", "valueCoding" : { "system" : "urn:oid:2.16.840.1.113883.6.238", "code" : "2028-9", "display" : "Asian" } } ] } ] }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }
PowerShell
Das folgende Beispiel zeigt, wie Sie in Patientenressourcen nach dem Code "urn:oid:2.16.840.1.113883.6.238|2028-9" in der Erweiterung "us-core-ethnicity" suchen, indem Sie eine GET-Anfrage mit Windows PowerShell senden.$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9 | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort als FHIR-
Bundle
im JSON-Format zurück.Bundle.type
istsearchset
und die Suchergebnisse sind Einträge im ArrayBundle.entry
. In diesem Beispiel gibt die Anfrage eine einzelne Patientenressource mit den Daten in dieser Ressource zurück:{ "entry": [ { "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID", "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "LAST_UPDATED", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" "extension": [ { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url" : "ombCategory", "valueCoding" : { "system" : "urn:oid:2.16.840.1.113883.6.238", "code" : "2028-9", "display" : "Asian" } } ] } ] }, "search": { "mode": "match" } } ], "link": [ { "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9" } ], "resourceType": "Bundle", "total": 1, "type": "searchset" }