Aktualisierung einer FHIR-Ressource - 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.

Aktualisierung einer FHIR-Ressource

Die update FHIR-Interaktion erstellt eine neue aktuelle Version für eine vorhandene Ressource oder erstellt eine erste Version, wenn für die angegebene Ressource noch keine Ressource vorhanden ist. id Weitere Informationen finden Sie updatein der FHIR RESTful R4-API-Dokumentation.

Um eine FHIR-Ressource zu aktualisieren

  1. Sammeln HealthLake region und bewertendatastoreId. Weitere Informationen finden Sie unter Eigenschaften des Datenspeichers abrufen.

  2. Ermitteln Sie den Typ des FHIRResource, der aktualisiert werden soll, und erfassen Sie den zugehörigen id Wert. Weitere Informationen finden Sie unter Ressourcentypen.

  3. Konstruieren Sie mithilfe der gesammelten Werte für HealthLake region und datastoreId eine URL für die Anfrage. Geben Sie auch den Resource FHIR-Typ und den zugehörigen id Typ an. Scrollen Sie über die Schaltfläche Kopieren, um den gesamten URL-Pfad im folgenden Beispiel anzuzeigen.

    PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Erstellen Sie einen JSON Text für die Anfrage, in dem Sie angeben, welche FHIR-Datenaktualisierungen vorgenommen werden sollen. Speichern Sie die Datei für die Zwecke dieses Verfahrens unter. update-patient.json

    { "id": "2de04858-ba65-44c1-8af1-f2fe69a977d9", "resourceType": "Patient", "active": true, "name": [ { "use": "official", "family": "Doe", "given": [ "Jane" ] }, { "use": "usual", "given": [ "Jane" ] } ], "gender": "female", "birthDate": "1985-12-31" }
  5. Senden Sie die Anforderung . Die update FHIR-Interaktion verwendet eine PUT Anfrage mit entweder AWS Signature Version 4 oder SMART bei der FHIR-Autorisierung. Das folgende curl Beispiel aktualisiert eine Patient Ressource in. HealthLake Scrollen Sie über die Schaltfläche Kopieren, um das gesamte Beispiel anzuzeigen.

    SigV4

    SigV4-Autorisierung

    curl --request PUT \ 'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id' \ --aws-sigv4 'aws:amz:region:healthlake' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header 'Accept: application/json' \ --data @update-patient.json

    Ihre Anfrage gibt einen 200 HTTP-Statuscode zurück, wenn eine bestehende Ressource aktualisiert wird, oder einen 201 HTTP-Statuscode, wenn eine neue Ressource erstellt wird.

    SMART on FHIR

    SMART on FHIR-Autorisierungsbeispiel für den IdentityProviderConfigurationDatentyp.

    { "AuthorizationStrategy": "SMART_ON_FHIR", "FineGrainedAuthorizationEnabled": true, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}" }

    Der Anrufer kann im Autorisierungs-Lambda Berechtigungen zuweisen. Weitere Informationen finden Sie unter OAuth 2.0-Bereiche.

    AWS Console

    1. Melden Sie sich auf der Seite „Abfrage ausführen“ in der HealthLake Konsole an.

    2. Treffen Sie im Abschnitt Abfrageeinstellungen die folgenden Optionen.

    • Datenspeicher-ID — Wählen Sie eine Datenspeicher-ID aus, um eine Abfragezeichenfolge zu generieren.

    • Abfragetyp — wählen SieUpdate (PUT).

    • Ressourcentyp — Wählen Sie den FHIR-Ressourcentyp aus, den Sie aktualisieren oder erstellen möchten.

    • Hauptteil der Anfrage — Konstruieren Sie einen JSON-Hauptteil für die Anfrage und geben Sie die FHIR-Daten an, mit denen die Ressource aktualisiert werden soll.

    3. Wählen Sie Abfrage ausführen.

Aktualisierung der FHIR-Ressourcen auf der Grundlage von Bedingungen

Die bedingte Aktualisierung ermöglicht es Ihnen, eine vorhandene Ressource anhand einiger Identifikations-Suchkriterien und nicht anhand logischer FHIR id zu aktualisieren. Wenn der Server das Update verarbeitet, führt er eine Suche mithilfe seiner Standardsuchfunktionen für den Ressourcentyp durch, mit dem Ziel, eine id für die Anfrage logische Lösung zu finden.

Die Aktion, die der Server ergreift, hängt davon ab, wie viele Treffer er findet:

  • Keine Treffer, keine id Angabe im Anfragetext: Der Server erstellt die FHIR-Ressource.

  • Keine Treffer, id angegeben und die Ressource ist noch nicht vorhanden mitid: Der Server behandelt die Interaktion als Update as Create-Interaktion.

  • Keine Treffer, id angegeben und bereits vorhanden: Der Server lehnt das Update mit einem 409 Conflict Fehler ab.

  • Ein Treffer, keine Ressource id bereitgestellt ODER (Ressource id bereitgestellt und sie entspricht der gefundenen Ressource): Der Server führt das Update anhand der passenden Ressource wie oben beschrieben durch. Wenn die Ressource aktualisiert wurde, MUSS der Server a 200 OK zurückgeben.

  • One Match, id bereitgestellte Ressource, entspricht aber nicht der gefundenen Ressource: Der Server gibt einen 409 Conflict Fehler zurück, der darauf hinweist, dass die Client-ID-Spezifikation ein Problem war, vorzugsweise mit einem OperationOutcome

  • Mehrere Treffer: Der Server gibt einen 412 Precondition Failed Fehler zurück, der darauf hinweist, dass die Kriterien des Clients nicht selektiv genug waren, vorzugsweise mit einem OperationOutcome

Im folgenden Beispiel wird eine Patient Ressource aktualisiert, deren Name Peter ist, deren Geburtsdatum der 1. Januar 2000 ist und deren Telefonnummer 1234567890 ist.

PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?name=peter&birthdate=2000-01-01&phone=1234567890

Konfiguration der Validierungsebene für Ressourcenupdates

Bei der Aktualisierung einer FHIR-Ressource können Sie optional einen x-amzn-healthlake-fhir-validation-level HTTP-Header angeben, um eine Validierungsebene für die Ressource zu konfigurieren. AWS HealthLake unterstützt derzeit die folgenden Validierungsstufen:

  • strict: Ressourcen werden anhand des Profilelements der Ressource oder der R4-Spezifikation, falls kein Profil vorhanden ist, validiert. Dies ist die Standardvalidierungsebene für AWS HealthLake.

  • structure-only: Ressourcen werden anhand von R4 validiert, wobei alle referenzierten Profile ignoriert werden.

  • minimal: Ressourcen werden minimal validiert, wobei bestimmte R4-Regeln ignoriert werden. Ressourcen, die die erforderlichen Strukturprüfungen nicht bestehen, search/analytics werden aktualisiert und enthalten nun eine Warnung zur Prüfung.

Ressourcen, die mit der Mindestvalidierungsstufe aktualisiert wurden, können in einen Datenspeicher aufgenommen werden, obwohl die für die Suchindizierung erforderliche Überprüfung fehlgeschlagen ist. In diesem Fall werden die Ressourcen um eine Healthlake-spezifische Erweiterung erweitert, um die genannten Fehler zu dokumentieren:

{ "url": "http://healthlake.amazonaws.com/fhir/StructureDefinition/validation-issue", "valueString": "{\"resourceType\":\"OperationOutcome\",\"issue\":[{\"severity\":\"error\",\"code\":\"processing\",\"details\":{\"text\":\"FHIR resource in payload failed FHIR validation rules.\"},\"diagnostics\":\"FHIR resource in payload failed FHIR validation rules.\"}]}" }

Zusätzlich wird der folgende HTTP-Antwort-Header mit dem Wert „true“ hinzugefügt:

x-amzn-healthlake-validation-issues : true
Anmerkung

Beachten Sie, dass aufgenommene Daten, die gemäß der R4-Spezifikation falsch formatiert sind, möglicherweise nicht wie erwartet durchsucht werden können, wenn diese Fehler vorliegen.