FHIR-Implementierungsleitfäden und -profile sorgen dafür, dass Ressourcen in einem FHIR-Speicher bestimmten definierten Kriterien entsprechen. Beispiele für Implementierungsleitfäden den US Core Implementation Guide 4.0.0 aufnehmen. und den Implementierungsleitfaden für Carin Blue Button.
Auf dieser Seite wird erläutert, wie Sie Implementierungsleitfäden und -profile in R4-FHIR-Speichern mit dem US Core Implementation Guide 4.0.0 definieren, konfigurieren und verwenden.
Überblick
FHIR-Profile sind eine Reihe zusätzlicher Regeln, die auf der Basis der FHIR-Spezifikation definiert sind, um die Verarbeitung von Ressourcen durch verschiedene Gesundheitssysteme zu verarbeiten. Sie können FHIR-Profile in einen FHIR-Speicher importieren und dort aktivieren, um sicherzustellen, dass alle Ressourcen in einem FHIR-Speicher bestimmte Kriterien in Sachen Ressourcenstruktur und erfasster Informationen erfüllen.
Strukturdefinitionen und Implementierungsleitfäden
Sie können FHIR-Profile für Ihren FHIR-Speicher importieren, indem Sie eine oder mehrere Strukturdefinitionen zusammengefasst in einen oder mehrere Implementierungsleitfäden einfügen. Verwenden Sie eine Strukturdefinition, um Folgendes zu tun:
- Definieren Sie die Einschränkung für ein Feld in einer FHIR-Ressource.
- Wertsätze referieren, die Codesysteme und FHIR-Ressourcen verknüpfen.
Implementierungsleitfäden mit Strukturdefinitionen dienen dazu, Ressourcen zu validieren, damit sie mit dem Anwendungsfall Ihrer Drittanbieter-Software übereinstimmen.
Angenommen, Ihre Drittanbieter-Software muss den Richtlinien zur Medicare & Interoperabilität von Medicaid Services (CMS) und Patientenzugriff (endgültig) Regel in den USA. Ihre Drittanbieter-Software müsste eine Patient Access API bereitstellen, die den CARIN-Profilen entspricht. Sie können die CARIN-Implementierungsanleitung in Ihren FHIR-Speicher importieren und aktivieren, um die Ressourcen mit den CARIN-Profilen abzugleichen. Leitfäden zum Importieren und Aktivieren finden Sie in den nachfolgenden Abschnitten auf dieser Seite.
Nachdem Sie den Implementierungsleitfaden importiert haben, können Sie ihn in Ihrem FHIR-Speicher für die Validierung der FHIR-Ressourcen aktivieren. Wenn eine FHIR-Ressource aktualisiert oder dem Speicher hinzugefügt wird, prüft die Cloud Healthcare API, ob sie mit einer Strukturdefinition im Implementierungsleitfaden übereinstimmt. Wenn die FHIR-Ressource übereinstimmt, wird die FHIR-Ressource dem Speicher hinzugefügt. Wenn die FHIR-Ressource nicht den Strukturdefinitionen im Implementierungsleitfaden entspricht, wird eine Fehlermeldung zurückgegeben und die FHIR-Ressource wird abgelehnt.
Erzwingung der Datenvalidierung
Die Cloud Healthcare API erzwingt die Datenvalidierung, wenn folgende Methoden verwendet werden:
projects.locations.datasets.fhirStores.fhir.create
projects.locations.datasets.fhirStores.fhir.update
projects.locations.datasets.fhirStores.fhir.patch
projects.locations.datasets.fhirStores.executeBundle
Workflow zur Profilvalidierung
Das folgende Diagramm zeigt den Validierungsworkflow zum Hinzufügen oder Aktualisieren von FHIR-Ressourcen:
FHIR-Profile definieren
In den folgenden Abschnitten wird beschrieben, wie Sie Strukturdefinitionen aus Ihrer Drittanbieter-Software herunterladen und einen Implementierungsleitfaden konfigurieren.
Ressourcen zur Profilvalidierung herunterladen
Damit Ihre Strukturdefinitionen mit Ihrer autoritativen Quelle übereinstimmen, müssen Sie zum Herunterladen der Ressourcen zur Profilvalidierung, z. B. Strukturdefinitionen, Implementierungsleitfäden oder Wertesätze aus einer externen Quelle wie Registry für Implementierungsleitfaden von FHIR.org Externe Quellen enthalten ein Paket, das alle Wertesätze, Profile, Erweiterungen, eine Liste mit Seiten und URLs für jeden Implementierungsleitfaden enthält.
Wenn Ihr System beispielsweise die US Core Patientenprofil zu erstellen, können Sie Strukturdefinitionen und Leitfaden, der von US Core verwendet wird.
Die Cloud Healthcare API ermöglicht die Validierung der folgenden Arten von Strukturdefinitionsregeln:
slicing
mit Unterstützung der folgenden Diskriminatoren:value
pattern
profile
min/max
type
fixed
pattern
minValue
maxValue
maxLength
binding
, mit Ausnahme der folgenden Regeln:ValueSet.compose.include.filter
ValueSet.compose.exclude
Implementierungsleitfaden konfigurieren
Nachdem Sie die Strukturdefinitionen, den Implementierungsleitfaden und den Wertsatz heruntergeladen haben, müssen Sie die Profile hinzufügen, die der Implementierungsleitfaden zum Prüfen von FHIR-Ressourcen nutzt.
So konfigurieren Sie den Implementierungsleitfaden:
Öffnen Sie die Datei mit dem Implementierungsleitfadens, die Sie von Ihrem Softwareanbieter heruntergeladen haben.
Fügen Sie den folgenden Abschnitt hinzu, um die Strukturdefinitionen anzugeben, die Sie in Ihrem Implementierungsleitfaden validieren möchten:
{ "resourceType": "ImplementationGuide", ... "global": [ { "type": "RESOURCE_TYPE", "profile": "STRUCTURE_DEFINITION_URL" } ] ... }
Dabei gilt:
- RESOURCE_TYPE definiert den Ressourcentyp, auf den der Implementierungsleitfaden angewendet wird.
- STRUCTURE_DEFINITION_URL ist die URL zur Definition der Quellstruktur des Profils, z. B. das US Core-Patientenprofil.
Speichern Sie die Datei mit dem Implementierungsleitfaden.
Das folgende Beispiel zeigt die Patienten- und Organisationsprofile, die für den US Core-Implementierungsleitfaden aktiviert sind:
"global":[ { "type":"Patient", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "type":"Organization", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-organization" }, ... ]
Implementierungsleitfaden in Cloud Storage hochladen
Nachdem Sie Ihren Implementierungsleitfaden bearbeitet haben, müssen Sie folgende Dateien in Cloud Storage hochladen:
- Implementierungsleitfaden
- Strukturdefinitionen
- Wertesätze
Nach dem Hochladen können Sie diese Dateien verwenden, um Ressourcen in Ihrem FHIR-Speicher zu validieren.
So laden Sie Ihren Implementierungsleitfaden in Cloud Storage hoch:
Löschen Sie alle Dateien aus dem Implementierungsleitfaden, die nicht von FHIR-Profilen in der Cloud Healthcare API verwendet werden.
Wenn Sie beispielsweise den US Core-Implementierungsleitfaden implementieren, können Sie die folgenden Dateien löschen:
.DS_Store
ig-r4.json
openapi/.index.json
package.json
Führen Sie die folgenden Befehle aus, um den Implementierungsleitfaden, Strukturdefinitionen und Wertsätze in Cloud Storage hinzuzufügen:
gcloud storage cp \ PATH_TO_IMPLEMENTATION_GUIDE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Dabei gilt:
- PATH_TO_IMPLEMENTATION_GUIDE ist der Pfad zum Implementierungsleitfaden auf Ihrem lokalen Computer
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY ist der Bucket und das Verzeichnis, in dem Sie den Implementierungsleitfaden in Cloud Storage speichern
Implementierungsleitfaden importieren
So verwenden Sie den Implementierungsleitfaden zum Validieren von Profilen in Ihrem FHIR-Speicher: als FHIR-Ressource in Ihren FHIR-Speicher importieren.
Folgende Beispiele zeigen, wie Sie den Implementierungsleitfaden in einen FHIR-Speicher importieren:
gcloud
Führen Sie den gcloud healthcare fhir-stores import gcs
-Befehl aus, um Ihren Implementierungsleitfaden als Ressource einem FHIR-Speicher hinzuzufügen:
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --gcs-uri='gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*' \ --content-structure=resource-pretty
Dabei gilt:
- FHIR_STORE_ID ist die FHIR-Speicher-ID
- DATASET_ID: Die Dataset-ID
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY ist der Speicherort des Implementierungsleitfadens in einem Cloud Storage-Bucket
Die Ausgabe sieht so aus:
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
In dieser Ausgabe gilt:
- PROJECT_ID, LOCATION, DATASET_ID sind die Werte, die Sie im Methodenaufruf angegeben haben
- OPERATION_ID ist eine Kennung für den lang andauernden Vorgang, von der Cloud Healthcare API bereitgestellt
Führen Sie den Befehl gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um weitere Details des Vorgangs anzuzeigen:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Die Ausgabe sieht so aus: Wenn die Antwort done: true
enthält, ist der Vorgang abgeschlossen. Ist dies nicht der Fall, wird der Vorgang noch ausgeführt. Warten Sie einige Sekunden und rufen Sie dann den Befehl gcloud healthcare operations describe
noch einmal auf.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "contentStructure": "RESOURCE_PRETTY", "gcsSource": { "uri": "gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Dabei gilt:
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY ist der Speicherort des Implementierungsleitfadens in einem Cloud Storage-Bucket
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
Die Antwort lautet:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
In dieser Ausgabe gilt:
- PROJECT_ID, LOCATION, DATASET_ID sind die Werte, die Sie im Methodenaufruf angegeben haben
- OPERATION_ID ist eine Kennung für den lang andauernden Vorgang, von der Cloud Healthcare API bereitgestellt
Mit der Methode operations.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"
Dabei gilt:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
- OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde
Die Ausgabe sieht so aus: Wenn die Antwort "done": true
enthält, ist der Vorgang abgeschlossen. Ist dies nicht der Fall, wird der Vorgang noch ausgeführt. Warten Sie einige Sekunden und rufen Sie dann die Methode operations.get
noch einmal auf.
{ "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.ImportResources", "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.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
PowerShell
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '{ "contentStructure": "RESOURCE_PRETTY", "gcsSource": { "uri": "gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Dabei gilt:
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY ist der Speicherort des Implementierungsleitfadens in einem Cloud Storage-Bucket
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
Die Antwort lautet:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
In dieser Ausgabe gilt:
- PROJECT_ID, LOCATION, DATASET_ID sind die Werte, die Sie im Methodenaufruf angegeben haben
- OPERATION_ID ist eine Kennung für den lang andauernden Vorgang, von der Cloud Healthcare API bereitgestellt
Mit der Methode operations.get
können Sie den Status des Vorgangs verfolgen:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Dabei gilt:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
- OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde
Die Ausgabe sieht so aus: Wenn die Antwort "done": true
enthält, ist der Vorgang abgeschlossen. Ist dies nicht der Fall, wird der Vorgang noch ausgeführt. Warten Sie einige Sekunden und rufen Sie dann die Methode operations.get
noch einmal auf.
{ "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.ImportResources", "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.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Abhängigkeiten der Implementierung hochladen und importieren
Bevor Sie den Implementierungsleitfaden aktivieren können, müssen Sie prüfen, ob alle Abhängigkeiten des Leitfadens hochgeladen und importiert wurden. Abhängigkeiten werden durch den Parameter dependsOn
im Implementierungsleitfaden so definiert:
"dependsOn":[
{
"id":"hl7_fhir_uv_bulkdata",
"uri":"http://hl7.org/fhir/uv/bulkdata/ImplementationGuide/hl7.fhir.uv.bulkdata",
"packageId":"hl7.fhir.uv.bulkdata",
"version":"1.0.1"
},
{
"id":"vsac",
"uri":"http://fhir.org/packages/us.nlm.vsac/ImplementationGuide/us.nlm.vsac",
"packageId":"us.nlm.vsac",
"version":"0.3.0"
}
]
Folgen Sie der Anleitung unter Implementierungsleitfaden in Cloud Storage hochladen bzw. Implementierungsleitfaden importieren, um Abhängigkeiten hochzuladen und zu importieren.
Implementierungsleitfaden aktivieren
Wenn Sie eine Implementierungsleitfadenressource zum Validieren von Profilen verwenden möchten, müssen Sie den Implementierungsleitfaden aktivieren. Wenn Sie mehrere Implementierungsleitfäden aktivieren, versucht die Cloud Healthcare API, Profile anhand aller Implementierungsleitfäden zu validieren. Eine FHIR-Ressource muss nur einem der aktivierten Profile entsprechen Implementierungsleitfaden.
Die Cloud Healthcare API validiert Implementierungsleitfäden nur, wenn Sie sie aktivieren. Wenn Sie einen Implementierungsleitfaden ändern und wieder aktivieren, validiert die Cloud Healthcare API den geänderten Implementierungsleitfaden.
Wenn Sie einen Implementierungsleitfaden entfernen, nachdem er aktiviert wurde, ist der Implementierungsleitfaden nicht mehr wirksam.
In folgenden Beispielen wird gezeigt, wie Sie Ihren Implementierungsleitfaden zur Profilvalidierung für einen vorhandenen FHIR-Speicher aktivieren:
curl
Stellen Sie zum Aktivieren des Implementierungsleitfadens eine PATCH
-Anfrage und geben Sie folgenden Informationen an:
- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Das
enabledImplementationGuides
-Feld, das auf den Pfad zu Ihrer Ressource für den Implementierungsleitfaden festgelegt ist
Das folgende Beispiel zeigt eine PATCH
-Anfrage mit curl
.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/fhir+json; charset=utf-8" \ --data '{ "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"], "disableProfileValidation": false } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig"
Ersetzen Sie Folgendes:
- IMPLEMENTATION_GUIDE_URL: die URL, die im Attribut
url
der ImplementationGuide-Ressource definiert ist, z. B.http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
Die Antwort lautet:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"] } }
PowerShell
Stellen Sie zum Aktivieren des Implementierungsleitfadens eine PATCH
-Anfrage und geben Sie folgenden Informationen an:
- Name und Speicherort des übergeordneten Datasets
- Der Name des FHIR-Speichers
- Das
enabledImplementationGuides
-Feld, das auf den Pfad zu Ihrer Ressource für den Implementierungsleitfaden festgelegt ist
Das folgende Beispiel zeigt eine PATCH
-Anfrage mit Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '{ "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"] } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig" | Select-Object -Expand Content
Ersetzen Sie Folgendes:
- IMPLEMENTATION_GUIDE_URL: die URL, die im Attribut
url
der ImplementationGuide-Ressource definiert ist, z. B.http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
Die Antwort lautet:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"], }, }
Python
Implementierungsleitfäden über die Google Cloud Console aktivieren
Wenn Sie die Google Cloud Console für Folgendes verwenden, einen FHIR-Speicher erstellen oder bearbeiten, können Sie Folgendes:
- Wählen Sie die Standardimplementierungsleitfäden aus, die von der Cloud Healthcare API bereitgestellt werden.
- Benutzerdefinierten Implementierungsleitfaden aus Cloud Storage in Ihren FHIR-Speicher importieren
So importieren Sie eine benutzerdefinierte Implementierungsanleitung:
Optional: Konfigurieren Sie Ihren Implementierungsleitfaden.
Dieser Schritt ist erforderlich, um das Array
global
Ihrem Implementierungsleitfaden hinzuzufügen Ressource manuell. Wenn Sie diesen Schritt überspringen, müssen Sie das Arrayglobal
hinzufügen. wenn Sie im nächsten Schritt das FHIR-Transaktions-Bundle mithilfe eines andere Methode verwenden, z. B. Bundler für Ressourcen zur FHIR-Profilvalidierung mit dem Flaggenerate_global_array
.Erstellen Sie ein FHIR-Transaktions-Bundle. Ihrer Ressourcen zur Profilvalidierung, einschließlich Implementierungsleitfaden, die Strukturdefinitionen und die Wertesätze.
Du kannst das Transaktions-Bundle mit dem Bundler für Ressourcen zur FHIR-Profilvalidierung .
Laden Sie das Bundle für die FHIR-Profilvalidierung in einen Cloud Storage-Speicherort hoch.
gcloud storage cp \ PATH_TO_PROFILE_VALIDATION_BUNDLE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Ersetzen Sie Folgendes:
- PATH_TO_PROFILE_VALIDATION_BUNDLE: Pfad zum Profil Validierungs-Bundle auf Ihrem lokalen Computer
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: die Cloud Storage-Speicherort, an dem das Bundle gespeichert werden muss
Importieren Sie Ihre benutzerdefinierte Implementierungsanleitung aus dem Cloud Storage-Speicherort, wenn von Ihnen erstellen oder bearbeiten Ihren FHIR-Speicher.
Ressourcen anhand bestimmter Profile validieren
In den folgenden Beispielen wird gezeigt, wie Sie eine FHIR-Ressource für ein bestimmtes Profil oder für alle Profile validieren, die für einen FHIR-Speicher definiert wurden. FHIR-Ressource validieren können Sie feststellen, ob Ihre FHIR-Ressource einem oder mehreren Profilen entspricht.
Verwenden Sie zum Validieren einer FHIR-Ressource den fhir.Resource-validate
.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @RESOURCE_FILE \ 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL'
Dabei gilt:
- RESOURCE_FILE ist der Speicherort einer Datei, die die Ressource enthält
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
- PROFILE_URL ist die kanonische URL des FHIR-Profils, z. B.
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
für eine Patientenressource. Es muss eine StructureDefinition-Ressource in FHIR_STORE_ID mit dieser URL. Wenn Sie die Ressource anhand der Profile validieren, die Sie bereits im Speicher aktiviert haben, geben Sie diesen Abfrageparameter nicht an. - RESOURCE_TYPE ist der Ressourcentyp.
Wenn eine Ressource den Profilen entspricht, wird eine Antwort wie diese zurückgegeben:
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Wenn eine Ressource keinem Profil entspricht, wird ein Fehler mit einer Antwort wie dieser zurückgegeben:
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }
PowerShell
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body '@RESOURCE_FILE' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL" | Select-Object -Expand Content
Dabei gilt:
- RESOURCE_FILE ist der Speicherort einer Datei, die die Ressource enthält
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist die Dataset-ID
- FHIR_STORE_ID ist die FHIR-Speicher-ID
- PROFILE_URL ist die kanonische URL des FHIR-Profils, z. B.
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
für eine Patientenressource. Es muss eine StructureDefinition-Ressource in FHIR_STORE_ID mit dieser URL. Wenn Sie die Ressource anhand der Profile validieren, die Sie bereits im Speicher aktiviert haben, geben Sie diesen Abfrageparameter nicht an. - RESOURCE_TYPE ist der Ressourcentyp.
Wenn eine Ressource für ein Profil validiert wird, wird eine Antwort wie diese zurückgegeben:
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Wenn eine Ressource nicht für ein Profil validiert wird, wird ein Fehler mit einer Antwort wie dieser zurückgegeben:
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }