Validierung von FHIR-Ressourcen mit $validate - AWS HealthLake

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Validierung von FHIR-Ressourcen mit $validate

AWS HealthLake unterstützt jetzt den $validate Vorgang für FHIR-Ressourcen, sodass Sie eine Ressource anhand der FHIR-Spezifikation validieren und ihre Konformität mit einem bestimmten Profil oder einer Basisressourcendefinition überprüfen können, ohne Speichervorgänge durchführen zu müssen. Dieser Vorgang ist besonders nützlich, wenn Sie:

  • Überprüfen Sie die FHIR CMS-Compliance-Anforderungen

  • Testen Sie Ressourcen, bevor Sie sie in der Produktion verwenden

  • Geben Sie Feedback zur Validierung in Echtzeit, während Benutzer klinische Daten bearbeiten

  • Reduzieren Sie die Anzahl ungültiger Dateneinreichungen bei der Erstellung und Aktualisierung APIs

Verwendung

Der $validate Vorgang kann mit POST-Methoden auf FHIR-Ressourcen aufgerufen werden:

Unterstützte Vorgänge

POST [base]/[type]/[id]/$validate POST [base]/[type]/$validate

Unterstützte Payloads

Ressource „Parameter“

HealthLake unterstützt die folgenden $validate FHIR-Parameter:

Parameter Typ Erforderlich Beschreibung
resource Ressource Ja Die zu validierende Ressource
profile kanonisch Nein Kanonische URL des Profils, gegen das validiert werden soll
mode Code Nein Validierungsmodus:create, oder update
Direkte Ressource mit Abfrageparametern

Parameter Typ Erforderlich Beschreibung
profile kanonisch Nein Kanonische URL des Profils, gegen das validiert werden soll
mode Code Nein Validierungsmodus:create, oder update

Beispiele

POST-Anfrage für eine Ressource mit ID und Payload mit Parametern

POST [base]/Patient/example-patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "create" } ] }
POST-Anforderung für die Payload des Ressourcentyps und der Parameter

POST [base]/Patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "name": [ { "family": "Doe", "given": ["Jane"] } ], "gender": "female", "birthDate": "1985-05-15" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "update" } ] }
POST-Anfrage für eine Ressource mit ID und direkter Ressourcennutzlast

POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
POST-Anfrage für den Ressourcentyp und die direkte Ressourcennutzlast

POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
Beispielantwort

Der Vorgang gibt eine OperationOutcome Ressource mit Überprüfungsergebnissen zurück:

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "information", "code": "informational", "diagnostics": "Validation successful" } ] }
Beispielantwort mit Validierungsfehlern

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "required", "details": { "text": "Missing required element" }, "diagnostics": "Patient.identifier is required by the US Core Patient profile", "location": [ "Patient.identifier" ] }, { "severity": "warning", "code": "code-invalid", "details": { "text": "Invalid code value" }, "diagnostics": "The provided gender code is not from the required value set", "location": [ "Patient.gender" ] } ] }

Behavior

Die $validate Operation:

  1. Validiert die Ressource anhand der FHIR-Spezifikation und der Basisressourcendefinition

  2. Überprüft die Konformität mit den angegebenen Profilen, wenn der profile Parameter angegeben wird

  3. Validiert basierend auf dem angegebenen Modus (oder) create update

  4. Gibt detaillierte Überprüfungsergebnisse zurück, einschließlich Fehlern, Warnungen und Informationsmeldungen

  5. Führt keine Speichervorgänge durch — nur Validierung

  6. Gibt HTTP 200 OK zurück, wenn die Validierung durchgeführt werden kann, unabhängig davon, ob Validierungsprobleme gefunden wurden

Validierungsmodi

  • create: Validiert die Ressource so, als ob sie erstellt würde (neue Ressource)

  • update: Validiert die Ressource so, als ob sie aktualisiert würde (bestehende Ressource)

Fehlerbehandlung

Die Operation gibt Folgendes zurück:

  • 200 OK: Die Validierung wurde erfolgreich durchgeführt (unabhängig vom Überprüfungsergebnis)

  • 400 Schlechte Anfrage: Ungültiges Anforderungsformat oder ungültige Parameter

  • 404 Nicht gefunden: Ressourcentyp oder Profil nicht gefunden

Weitere Informationen zur $validate Operationsspezifikation finden Sie in der FHIR $validate R4-Ressourcendokumentation.