Auf dieser Seite wird erläutert, wie Sie FHIR-Ressourcen erstellen, aktualisieren, korrigieren, ansehen und löschen.
Eine FHIR-Ressource kann Daten zu einem Patienten, einem Gerät, einer Beobachtung und mehr enthalten. Eine vollständige Liste der FHIR-Ressourcen finden Sie im FHIR-Ressourcenindex (DSTU2 oder R4).
Die Beispiele curl
und Windows PowerShell auf dieser Seite funktionieren mit einem R4-FHIR-Speicher. Eine erfolgreiche Anwendungs ist bei Verwendung eines DSTU2- oder STU3-FHIR-Speichers nicht garantiert.
Wenn Sie einen FHIR- oder STU3-FHIR-Speicher verwenden, finden Sie in der offiziellen FHIR-Dokumentation unter https://www.hl7.org/fhir/ Informationen zum Konvertieren der Beispiele in die von Ihnen verwendete FHIR-Version.
Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit einem STU3-FHIR-Speicher.
FHIR-Ressourcen erstellen
Bevor Sie FHIR-Ressourcen erstellen können, müssen Sie einen FHIR-Speicher erstellen.
Die Beispiele curl
, Windows PowerShell und Python zeigen, wie die folgenden FHIR-Ressourcen erstellt werden:
- Eine Patientenressource (DSTU2, STU3 und R4)
- Eine Encounter-Ressource (DSTU2, STU3 und R4) für den Patienten
- Eine Beobachtungsressource (DSTU2, STU3 und R4) für den Typ "Encounter"
Die Beispiele für alle anderen Sprachen zeigen, wie eine allgemeine FHIR-Ressource erstellt wird.
Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.create
.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Um eine Patientenressource zu erstellen, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ein Blob von Daten, die Informationen über den Patienten enthalten
- Der Ressourcentyp
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine POST
-Anfrage mit curl
senden, um eine Patientenressource zu erstellen:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"name\": [ { \"use\": \"official\", \"family\": \"Smith\", \"given\": [ \"Darcy\" ] } ], \"gender\": \"female\", \"birthDate\": \"1970-01-01\", \"resourceType\": \"Patient\" }" \ "https://healthcare.googleapis.com/v1/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 die folgende 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" }
PowerShell
Um eine Patientenressource zu erstellen, senden Sie eine POST
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ein Blob von Daten, die Informationen über den Patienten enthalten
- Der Ressourcentyp
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine POST
-Anfrage mit Windows PowerShell senden, um eine Patientenressource zu erstellen:
$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" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $patient ` -Uri "https://healthcare.googleapis.com/v1/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 die folgende 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" }
Go
Java
Node.js
Python
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Das Python-Beispiel funktioniert mit STU3-FHIR-Speichern.
curl
Nachdem Sie die Patientenressource erstellt haben, erstellen Sie eine Encounter-Ressource zur Beschreibung einer Interaktion zwischen dem Patienten und einem Arzt.
Im folgenden Beispiel wird gezeigt, wie Sie eine POST
-Anfrage mit curl
senden, um eine Ressource vom Typ „Encounter“ zu erstellen.
Ersetzen Sie im Feld PATIENT_ID die ID aus der Antwort, die vom Server zurückgegeben wurde, als Sie den Patienten erstellt haben.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"status\": \"finished\", \"class\": { \"system\": \"http://hl7.org/fhir/v3/ActCode\", \"code\": \"IMP\", \"display\": \"inpatient encounter\" }, \"reasonCode\": [ { \"text\": \"The patient had an abnormal heart rate. She was concerned about this.\" } ], \"subject\": { \"reference\": \"Patient/PATIENT_ID\" }, \"resourceType\": \"Encounter\" }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück.
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
PowerShell
Nachdem Sie die Patientenressource erstellt haben, erstellen Sie eine Encounter-Ressource zur Beschreibung einer Interaktion zwischen dem Patienten und einem Arzt. Im folgenden Beispiel wird gezeigt, wie Sie eine POST
-Anfrage mit Windows PowerShell senden, um eine Encounter-Ressource zu erstellen.
Ersetzen Sie im Feld PATIENT_ID die ID aus der Antwort, die vom Server zurückgegeben wurde, als Sie den Patienten erstellt haben.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $encounter = '{ "status": "finished", "class": { "system": "http://hl7.org/fhir/v3/ActCode", "code": "IMP", "display": "inpatient encounter" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "subject": { "reference": "Patient/PATIENT_ID" }, "resourceType": "Encounter" }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $encounter ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Encounter" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück.
{ "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } }
Python
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Das Python-Beispiel funktioniert mit STU3-FHIR-Speichern.
curl
Erstellen Sie nach der Erstellung der Ressource "Encounter" eine "Beobachtung" über die Encounter-Ressource. Die Beobachtung liefert eine Messung der Herzfrequenz eines Patienten in Schlägen pro Minute (SpM). Das folgende Beispiel zeigt, wie Sie eine POST
-Anfrage mit curl
senden, um eine Beobachtungsressource zu erstellen.
- Geben Sie einen Wert in das Feld BPM_VALUE ein.
- Ersetzen Sie im Feld PATIENT_ID die ID aus der Antwort, die vom Server zurückgegeben wurde, als Sie den Patienten erstellt haben.
- Geben Sie im Feld ENCOUNTER_ID die ID aus der Antwort ein, die vom Server zurückgegeben wurde, als Sie die Begegnung erstellt haben.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data "{ \"resourceType\": \"Observation\", \"status\": \"final\", \"subject\": { \"reference\": \"Patient/PATIENT_ID\" }, \"effectiveDateTime\": \"2020-01-01T00:00:00+00:00\", \"code\": { \"coding\": [ { \"system\": \"http://loinc.org\", \"code\": \"8867-4\", \"display\": \"Heart rate\" } ] }, \"valueQuantity\": { \"value\": BPM_VALUE, \"unit\": \"bpm\" }, \"encounter\": { \"reference\": \"Encounter/ENCOUNTER_ID\" } }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Erstellen Sie nach der Erstellung der Ressource "Encounter" eine "Beobachtung" über die Encounter-Ressource. Die Beobachtung liefert eine Messung der Herzschläge des Patienten pro Minute. Das folgende Beispiel zeigt, wie Sie eine POST
-Anfrage mit Windows PowerShell stellen, um eine Beobachtungsressource zu erstellen:
- Geben Sie einen Wert in das Feld BPM_VALUE ein.
- Ersetzen Sie im Feld PATIENT_ID die ID aus der Antwort, die vom Server zurückgegeben wurde, als Sie den Patienten erstellt haben.
- Geben Sie im Feld ENCOUNTER_ID die ID aus der Antwort ein, die vom Server zurückgegeben wurde, als Sie die Begegnung erstellt haben.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "code": { "coding": [ { "system": "http://loinc.org", "code": "8867-4", "display": "Heart rate" } ] }, "valueQuantity": { "value": BPM_VALUE, "unit": "bpm" }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" } }' Invoke-RestMethod ` -Method Post ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Python
Eine FHIR-Ressource aktualisieren
Die folgenden Beispiele zeigen, wie die Methode projects.locations.datasets.fhirStores.fhir.update
aufgerufen wird, um eine FHIR-Ressource zu aktualisieren. Die Methode implementiert die FHIR-Standardaktualisierungsinteraktion (DSTU2, STU3 und R4).
Wenn Sie eine Ressource aktualisieren, aktualisieren Sie den gesamten Inhalt der Ressource. Dies steht im Gegensatz zum Patchen einer Ressource, bei dem nur ein Teil einer Ressource aktualisiert wird.
Wenn für den FHIR-Speicher enableUpdateCreate
festgelegt ist, wird die Anfrage als Upsert (Aktualisieren oder Einfügen) behandelt, das die Ressource aktualisiert, falls sie vorhanden ist, oder sie mit der angegebenen Anfrage einfügt, falls sie nicht vorhanden ist.
Der Anfragetext muss eine JSON-codierte FHIR-Ressource enthalten und die Anfrageheader müssen Content-Type: application/fhir+json
enthalten. Die Ressource muss ein id
-Element enthalten, dessen Wert mit der ID im REST-Pfad der Anfrage identisch ist.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Stellen Sie zum Aktualisieren einer FHIR-Ressource eine PUT
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Ressourcentyp
- Die Ressourcen-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PUT
-Anfrage mit curl
senden, um eine Beobachtungsressource zu bearbeiten. Die Beobachtung liefert eine Messung der Herzschläge eines Patienten pro Minute (SpM).
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Stellen Sie zum Aktualisieren einer FHIR-Ressource eine PUT
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Ressourcentyp
- Die Ressourcen-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PUT
-Anfrage mit Windows PowerShell senden, um eine Beobachtungsressource zu bearbeiten. Die Beobachtung liefert eine Messung der Herzschläge eines Patienten pro Minute (SpM).
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "code": { "coding": [ { "code": "8867-4", "display": "Heart rate", "system": "http://loinc.org" } ] }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Node.js
Python
Eine FHIR-Ressource bedingt aktualisieren
Die folgenden Beispiele zeigen, wie die Methode projects.locations.datasets.fhirStores.fhir.conditionalUpdate
aufgerufen wird, um eine FHIR-Ressource, die mit einer Suchanfrage übereinstimmt, zu aktualisieren, anstatt die Ressource anhand ihrer ID zu identifizieren. Die Methode implementiert die bedingte Aktualisierungsinteraktion des FHIR-Standards (DSTU2, STU3 und R4).
Eine bedingte Aktualisierung kann immer nur auf eine Ressource angewendet werden.
Die vom Server zurückgegebene Antwort hängt davon ab, wie viele Übereinstimmungen basierend auf den Suchkriterien auftreten:
- Eine Übereinstimmung: Die Ressource wurde erfolgreich aktualisiert oder ein Fehler wird zurückgegeben.
- Mehr als eine Übereinstimmung: Die Anfrage gibt einen
412 Precondition Failed
-Fehler zurück. - Keine Übereinstimmungen mit
id
: Wenn die Suchkriterien keine Übereinstimmungen erkennen, der bereitgestellte Ressourcentext einenid
enthält und der FHIR-Speicher eineenableUpdateCreate
-Einstellung hat, wird die Ressource mit einer vom Server zugewiesenen ID erstellt, ähnlich wie bei der Erstellung der Ressource mitprojects.locations.datasets.fhirStores.fhir.create
.id
wird ignoriert. - Keine Übereinstimmungen ohne
id
: Wenn die Suchkriterien keine Übereinstimmungen erkennen und der bereitgestellte Ressourcentext keinid
enthält, wird die Ressource mit einer vom Server zugewiesenen ID ähnlich erstellt, ähnlich wie bei der Erstellung der Ressource mitprojects.locations.datasets.fhirStores.fhir.create
.
Der Anfragetext muss eine JSON-codierte FHIR-Ressource enthalten und die Anfrageheader müssen Content-Type: application/fhir+json
enthalten.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go- und Python-Beispiele funktionieren mit STU3 FHIR-Speichern.
curl
Wenn Sie eine FHIR-Ressource aktualisieren möchten, die einer Suchanfrage entspricht, senden Sie eine PUT
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Im folgenden Beispiel wird gezeigt, wie Sie eine PUT
-Anfrage mit curl
senden, um eine Beobachtungsressource mit der Beobachtungs-ID (ABC-12345
in my-code-system
) zu bearbeiten. Die Beobachtung liefert eine Messung der Herzschläge eines Patienten pro Minute (SpM)
curl -X PUT \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Wenn Sie eine FHIR-Ressource aktualisieren möchten, die einer Suchanfrage entspricht, senden Sie eine PUT
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Im folgenden Beispiel wird gezeigt, wie Sie eine PUT
-Anfrage mit Windows PowerShell senden, um eine Beobachtungsressource mit der Beobachtungs-ID (ABC-12345
in my-code-system
) zu bearbeiten. Die Beobachtung liefert eine Messung der Herzschläge eines Patienten pro Minute (SpM).
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $observation = '{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }' Invoke-RestMethod ` -Method Put ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Body $observation ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "identifier": [ { "system": "my-code-system", "value": "ABC-12345" } ], "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
Eine FHIR-Ressource patchen
In den folgenden Beispielen wird gezeigt, wie Sie die Methode projects.locations.datasets.fhirStores.fhir.patch
zum Patchen einer FHIR-Ressource aufrufen. Die Methode implementiert die FHIR-Standardpatch-Interaktion (DSTU2, STU3 und R4).
Beim Patchen einer Ressource aktualisieren Sie einen Teil der Ressource, indem Sie die in einem JSON Patch-Dokument angegebenen Vorgänge anwenden.
Die Anfrage muss ein JSON-Patchdokument enthalten und die Anfrageheader müssen Content-Type: application/json-patch+json
enthalten.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Zum Patchen einer FHIR-Ressource stellen Sie eine PATCH
-Anfrage und geben die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Ressourcentyp
- Die Ressourcen-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PATCH
-Anfrage mit curl
senden, um eine Beobachtungsressource zu bearbeiten. Die Beobachtung der Herzschläge eines Patienten pro Minute (BPM) wird mit dem replace
-Patch-Vorgang aktualisiert.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Zum Patchen einer FHIR-Ressource stellen Sie eine PATCH
-Anfrage und geben die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Der Ressourcentyp
- Die Ressourcen-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PATCH
-Anfrage mit Windows PowerShell senden, um eine Beobachtungsressource zu bearbeiten. Die Beobachtung der Herzschläge eines Patienten pro Minute (BPM) wird mit dem replace
-Patch-Vorgang aktualisiert.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/OBSERVATION_ID" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Java
Node.js
Python
Eine FHIR-Ressource bedingt patchen
Die folgenden Beispiele zeigen, wie die Methode projects.locations.datasets.fhirStores.fhir.conditionalPatch
aufgerufen wird, um eine FHIR-Ressource, die mit einer Suchanfrage übereinstimmt, zu korrigieren, anstatt die Ressource anhand ihrer ID zu identifizieren. Die Methode implementiert die bedingte Patch-Interaktion des FHIR-Standards (DSTU2, STU3 und R4).
Ein bedingter Patch kann jeweils nur auf eine Ressource angewendet werden. Wenn die Suchkriterien mehr als eine Übereinstimmung identifizieren, gibt die Anfrage den Fehler 412 Precondition Failed
zurück.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go- und Python-Beispiele funktionieren mit STU3 FHIR-Speichern.
curl
Zum Patchen einer FHIR-Ressource, die einer Suchanfrage entspricht, senden Sie eine PATCH
-Anfrage und geben die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PATCH
-Anfrage mit curl
zum Bearbeiten einer Beobachtung versenden, wenn die Kennung der Beobachtung ABC-12345
in my-code-system
ist.
Die Beobachtung der Herzschläge eines Patienten pro Minute (BPM) wird mit dem replace
-Patch-Vorgang aktualisiert.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json-patch+json" \ --data '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Zum Patchen einer FHIR-Ressource, die einer Suchanfrage entspricht, senden Sie eine PATCH
-Anfrage und geben die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Das folgende Beispiel zeigt, wie Sie eine PATCH
-Anfrage mit zum Bearbeiten einer Beobachtung versenden, wenn ABC-12345
die Kennung der Beobachtung my-code-system
in ist.
Die Beobachtung der Herzschläge eines Patienten pro Minute (BPM) wird mit dem replace
-Patch-Vorgang aktualisiert.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } $patch = '[ { "op": "replace", "path": "/valueQuantity/value", "value": BPM_VALUE } ]' Invoke-RestMethod ` -Method Patch ` -Headers $headers ` -ContentType: "application/json-patch+json" ` -Body $patch ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?identifier=my-code-system|ABC-12345" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Python
Eine FHIR-Ressource erhalten
Die folgenden Beispiele zeigen, wie der Inhalt einer FHIR-Ressource abgerufen wird. Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.read
.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Um die Inhalte einer FHIR-Ressource abzurufen, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
für die im vorherigen Abschnitt erstellte Beobachtung.
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/fhirStores/FHIR_STORE_ID/fhir/Observation/RESOURCE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
PowerShell
Um die Inhalte einer FHIR-Ressource abzurufen, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit Windows PowerShell für die im vorherigen Abschnitt erstellte Beobachtung.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation/RESOURCE_ID" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "VERSION_ID" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } }
Go
Java
Node.js
Python
Alle Ressourcen für den Patientenbereich abrufen
Die folgenden Beispiele zeigen, wie Sie alle Ressourcen abrufen, die mit einem bestimmten Patientenbereich (DSTU2, STU3 und R4) verknüpft sind.
Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Wenn Sie die Ressourcen in einem Patientenbereich abrufen möchten, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Die Patienten-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
.
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/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything"
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
PowerShell
Wenn Sie die Ressourcen in einem Patientenbereich abrufen möchten, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Die Patienten-ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything' | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server eine Antwort wie die folgende im JSON-Format zurück:
{ "entry": [ { "resource": { "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" } }, { "resource": { "class": { "code": "IMP", "display": "inpatient encounter", "system": "http://hl7.org/fhir/v3/ActCode" }, "id": "ENCOUNTER_ID", "reasonCode": [ { "text": "The patient had an abnormal heart rate. She was concerned about this." } ], "resourceType": "Encounter", "status": "finished", "subject": { "reference": "Patient/PATIENT_ID" } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": BPM_VALUE } } } ], "resourceType": "Bundle", "type": "searchset" }
Go
Java
Node.js
Python
Ressourcen für Patientenbereich, gefiltert nach Typ oder Datum
In den folgenden Beispielen wird gezeigt, wie Sie alle Ressourcen seit einem bestimmten Datum und einer bestimmten Uhrzeit abrufen, die mit einem bestimmten Patientenbereich (R4) verbunden und nach einer Liste von Typen gefiltert sind.
Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.Patient-everything
.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern.
curl
Wenn Sie die Ressourcen in einem Patientenbereich eines angegebenen Typs und seit einem bestimmten Datum benötigen, stellen Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Die Patienten-ID
- Ein Abfragestring, der eine kommagetrennte Liste von Ressourcentypen und das Startdatum enthält
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
.
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/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID/\$everything?_type=RESOURCE_TYPES&_since=DATE"
Wenn die Anfrage erfolgreich ist, gibt der Server alle Ressourcen zurück, die die angegebenen Kriterien im JSON-Format erfüllen.
PowerShell
Wenn Sie die Ressourcen in einem Patientenbereich eines angegebenen Typs und seit einem bestimmten Datum benötigen, stellen Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Die Patienten-ID
- Ein Abfragestring, der eine kommagetrennte Liste von Ressourcentypen und das Startdatum enthält
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/RESOURCE_ID/$everything?_type=RESOURCE_TYPES&_since=DATE' | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server alle Ressourcen zurück, die die angegebenen Kriterien im JSON-Format erfüllen.
FHIR-Ressourcen-Versionen auflisten
Die folgenden Beispiele zeigen, wie alle historischen Versionen einer FHIR-Ressource aufgelistet werden. Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.history
.
Die Beispiele verwenden die in Erstellen einer FHIR-Ressource erstellten Ressourcen und zeigen, wie die Versionen einer Beobachtungsressource aufgelistet werden.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Das folgende Beispiel zeigt, wie alle Versionen einer Beobachtungsressource aufgelistet werden. Die Beobachtung wurde einmal nach der ursprünglichen Erstellung aktualisiert, um die Herzschläge des Patienten pro Minute zu ändern.
Wenn Sie alle Versionen einer FHIR-Ressource auflisten möchten, einschließlich der aktuellen und aller gelöschten Versionen, stellen Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
.
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/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: In diesem Beispiel werden zwei Versionen der Beobachtung zurückgegeben. In der ersten Version betrug die Herzfrequenz des Patienten 75 Schläge pro Minute. In der zweiten Version lag die Herzfrequenz des Patienten bei 85 Schlägen pro Minute.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
PowerShell
Das folgende Beispiel zeigt, wie alle Versionen einer Beobachtungsressource aufgelistet werden. Die Beobachtung wurde einmal nach der ursprünglichen Erstellung aktualisiert, um die Herzschläge des Patienten pro Minute zu ändern.
Wenn Sie alle Versionen einer FHIR-Ressource auflisten möchten, einschließlich der aktuellen und aller gelöschten Versionen, stellen Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: In diesem Beispiel werden zwei Versionen der Beobachtung zurückgegeben. In der ersten Version betrug die Herzfrequenz des Patienten 75 Schläge pro Minute. In der zweiten Version lag die Herzfrequenz des Patienten bei 85 Schlägen pro Minute.
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 85 } } }, { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } } } ], "resourceType": "Bundle", "type": "history" }
Go
Java
Node.js
Python
Eine FHIR-Ressourcenversion abrufen
Die folgenden Beispiele zeigen, wie Sie eine bestimmte Version einer Ressource abrufen können.
Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.vread
.
Die Versions-IDs für die Beobachtungsressource aus der Liste der FHIR-Ressourcenversionen sind unten hervorgehoben:
{ "entry": [ { "resource": { "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-02T00:00:00+00:00", "versionId": "MTU0MTE5MDk5Mzk2ODcyODAwMA" }, ... { "resource": { "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, ... }
In den folgenden Beispielen werden die unter Erstellen einer FHIR-Ressource erstellten Ressourcen verwendet und es wird gezeigt, wie eine Beobachtungsressource angezeigt wird.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Node.js- und Python-Beispiele funktionieren mit STU3 FHIR-Speichern.
curl
Um eine bestimmte Version einer FHIR-Ressource abzurufen, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Die Ressourcenversion
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
.
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/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/_history/RESOURCE_VERSION"
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: In diesem Beispiel wird die erste Version der Beobachtung zurückgegeben, bei der die Herzfrequenz des Patienten 75 Schlägen pro Minute entspricht.
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
PowerShell
Um eine bestimmte Version einer FHIR-Ressource abzurufen, senden Sie eine GET
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Die Ressourcenversion
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine GET
-Anfrage mit curl
.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/RESOURCE_VERSION/_history" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück: In diesem Beispiel wird die erste Version der Beobachtung zurückgegeben, bei der die Herzfrequenz des Patienten 75 Schlägen pro Minute entspricht.
{ "encounter": { "reference": "Encounter/ENCOUNTER_ID" }, "effectiveDateTime": "2020-01-01T00:00:00+00:00", "id": "OBSERVATION_ID", "meta": { "lastUpdated": "2020-01-01T00:00:00+00:00", "versionId": "MTU0MTE5MDg4MTY0MzQ3MjAwMA" }, "resourceType": "Observation", "status": "final", "subject": { "reference": "Patient/PATIENT_ID" }, "valueQuantity": { "unit": "bpm", "value": 75 } }
Go
Node.js
Python
Eine FHIR-Ressource löschen
Die folgenden Beispiele zeigen, wie die Methode projects.locations.datasets.fhirStores.fhir.delete
aufgerufen wird, um eine FHIR-Ressource zu löschen.
Unabhängig davon, ob der Vorgang erfolgreich ist oder nicht, gibt der Server den HTTP-Statuscode 200 OK
zurück. Wenn Sie prüfen möchten, ob die Ressource erfolgreich gelöscht wurde, suchen oder holen Sie die Ressource und prüfen Sie, ob sie vorhanden ist.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Wenn Sie eine FHIR-Ressource löschen möchten, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit curl
.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID"
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}
PowerShell
Wenn Sie eine FHIR-Ressource löschen möchten, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}
Go
Java
Node.js
Python
Eine FHIR-Ressource bedingte löschen
In den folgenden Beispielen wird gezeigt, wie Sie die Methode projects.locations.datasets.fhirStores.fhir.conditionalDelete
aufrufen, um eine FHIR-Ressource zu löschen, die einer Suchanfrage entspricht, anstatt die Ressource anhand ihrer ID zu identifizieren.
Im Gegensatz zu einem bedingten Patching oder einer bedingten Aktualisierung einer Ressource kann die bedingte Löschmethode für mehrere Ressourcen gelten, wenn mehrere Übereinstimmungen aus den Suchkriterien zurückgegeben werden.
Unabhängig davon, ob der Vorgang erfolgreich ist oder nicht, gibt der Server den HTTP-Statuscode 200 OK
zurück. Wenn Sie prüfen möchten, ob die Ressource erfolgreich gelöscht wurde, suchen oder holen Sie die Ressource und prüfen Sie, ob sie vorhanden ist.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go- und Python-Beispiele funktionieren mit STU3 FHIR-Speichern.
curl
Wenn Sie FHIR-Ressourcen löschen möchten, die einer Suchanfrage entsprechen, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit curl
zum Löschen aller Beobachtungen mit einem status
von cancelled
(STU3 und R4).
curl -X DELETE \ -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/Observation?status=cancelled"
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}
PowerShell
Wenn Sie FHIR-Ressourcen löschen möchten, die einer Suchanfrage entsprechen, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Den Ressourcentyp, nach dem Sie suchen
- Ein Abfragestring mit den Informationen, nach denen Sie suchen
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit Windows PowerShell zum Löschen aller Beobachtungen mit einem status
von cancelled
(STU3 und R4).
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Observation?status=cancelled" | Select-Object -Expand Content
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}
Go
Python
Historische Versionen einer FHIR-Ressource löschen
In den folgenden Beispielen wird gezeigt, wie Sie alle Verlaufsversionen einer FHIR-Ressource löschen. Weitere Informationen finden Sie unter projects.locations.datasets.fhirStores.fhir.Resource-purge
.
Der Aufruf der Methode projects.locations.datasets.fhirStores.fhir.Resource-purge
ist auf Nutzer (Aufrufer) mit der Rolle roles/healthcare.fhirStoreAdmin
beschränkt. Nutzer mit der Rolle roles/healthcare.fhirResourceEditor
können die Methode nicht aufrufen. So lassen Sie zu, dass ein Aufrufer historische Versionen einer FHIR-Ressource löscht:
- Stellen Sie sicher, dass der Aufrufer die Rolle
roles/healthcare.fhirStoreAdmin
hat. - Erstellen Sie eine benutzerdefinierte IAM-Rolle mit der Berechtigung
healthcare.fhirResources.purge
und weisen Sie dem Aufrufer die Rolle zu.
Die Beispiele verwenden die unter FHIR-Ressource erstellen erstellten Ressourcen und zeigen, wie die Verlaufsversionen einer Beobachtungsressource gelöscht werden.
Die folgenden Beispiele für curl
und Windows PowerShell funktionieren mit R4-FHIR-Speichern. Die Go-, Java-, Node.js- und Python-Beispiele funktionieren mit STU3-FHIR-Speichern.
curl
Wenn Sie alle historischen Versionen einer FHIR-Ressource löschen möchten, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit curl
.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge"
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}
PowerShell
Wenn Sie alle historischen Versionen einer FHIR-Ressource löschen möchten, senden Sie eine DELETE
-Anfrage und geben Sie die folgenden Informationen an:
- Der Name des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Ressourcentyp und ID
- Ein Zugriffstoken
Das folgende Beispiel zeigt eine DELETE
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-RestMethod ` -Method Delete ` -Headers $headers ` -ContentType: "application/fhir+json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID/$purge" | ConvertTo-Json
Wenn die Anfrage erfolgreich ist, gibt der Server den leeren Antworttext im JSON-Format zurück:
{}