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 Suchanfragen 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
Wenn Sie eine benutzerdefinierte Suche für Ihren FHIR-Speicher aktivieren möchten, 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 Suchparameter-Ressource 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 dem Inhalt der SearchParameter
-Ressourcen im Cache gespeichert, die zum Zeitpunkt des Aufrufs von configureSearch
vorhanden waren. 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 unbedenklich, führt aber dazu, dass die benutzerdefinierten Suchparameter nur teilweise indexiert werden. 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. Mit der Methode Operation get
können Sie den Status des Vorgangs 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 läuft, gibt der Server eine Antwort mit der Anzahl der FHIR-Ressourcen zurück, die noch neu indexiert werden müssen. Das Format ist JSON:
{ "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 die LRO 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 die LRO erfolgreich ist, enthält die Antwort die Anzahl der FHIR-Ressourcen, die erfolgreich neu indexiert wurden, und einen google.protobuf.Empty
-Antworttyp.
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. Mit der Methode Operation get
können Sie den Status des Vorgangs 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 läuft, gibt der Server eine Antwort mit der Anzahl der FHIR-Ressourcen zurück, die noch neu indexiert werden müssen. Das Format ist JSON:
{ "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 die LRO 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 die LRO erfolgreich ist, enthält die Antwort die Anzahl der FHIR-Ressourcen, die erfolgreich neu indexiert wurden, und einen google.protobuf.Empty
-Antworttyp.
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
muss innerhalb des FHIR-Speichers eindeutig sein.
Die kanonische URL ist die URL, die im configureSearch
-Aufruf verwendet wird.
name
, description
und status
Die Felder name
, description
und status
sind Pflichtfelder, haben aber keine funktionale Wirkung.
base
Im base
-Feld sind die FHIR-Ressourcentypen aufgelistet, für die diese Suche gilt.
Wenn es mehr als einen Typ gibt, 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 mit benutzerdefinierten Suchparametern neu definiert oder geändert werden. Die Methode configureSearch
lehnt doppelte Suchparameter ab.
Der Wert des code
-Felds muss folgende Anforderungen erfüllen:
- Muss mit einem Buchstaben beginnen
- Darf nicht länger als 64 Zeichen sein
- Er 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. Andernfalls wird der benutzerdefinierte Suchparameter von configureSearch
abgelehnt.
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 Sie alle Zieltypen von Referenzen abgleichen möchten, fügen Sie alle Typen in das Feld target
ein.
modifier
, comparator
, multipleOr
, multipleAnd
und chain
Die Felder modifier
, comparator
, multipleOr
, multipleAnd
und chain
werden ignoriert. Die Optionen und Funktionen, die mit einem benutzerdefinierten Suchparameter verfügbar sind, entsprechen denen, 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 für die Cloud Healthcare API konvertieren, damit er unterstützt wird. 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 Parametern in der FHIR-Basisspezifikation identisch ist, werden die doppelten Suchparameter von der Methode
configureSearch
abgelehnt. 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])
undPatient.extension('url').extension.value
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 vom Typ „Patient“:
curl
Das folgende Beispiel zeigt, wie Sie eine Patientenressource erstellen, indem Sie eine
POST
-Anfrage mitcurl
senden. Bei dieser Patientenressource ist diemothersMaidenName
-Erweiterung aufMarca
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/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 erstellen, indem Sie eine
POST
-Anfrage mit Windows PowerShell stellen. Bei dieser Patientenressource ist diemothersMaidenName
-Erweiterung 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"
},
}expression
auf einen anderen Datentyp ausrichten möchten, verwenden Sie die Funktion.as([data type])
. Verwenden Sie beispielsweise.value.as(Boolean)
, um den Suchausdruck für einen booleschen Wert anzugeben. Weitere Informationen finden Sie unter.as([data type])
.Aktivieren Sie den Suchparameter:
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 für die Suche in einem Erweiterungsfeld mit zwei Ebenen verwenden
In den folgenden Schritten wird gezeigt, wie Sie in einer Patientenressource nach dem Code in der us-core-ethnicity
-Erweiterung suchen.
Erstellen Sie eine Beispielressource vom Typ „Patient“:
curl
Das folgende Beispiel zeigt, wie Sie eine Patientenressource erstellen, indem Sie eine
POST
-Anfrage mitcurl
senden. 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 erstellen, indem Sie eine
POST
-Anfrage mit Windows PowerShell stellen. 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" }, }
Aktivieren Sie den Suchparameter:
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" }