

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
<a name="managing-fhir-resources-update"></a>

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 [https://hl7.org/fhir/R4/http.html#update](https://hl7.org/fhir/R4/http.html#update)in der **FHIR RESTful R4-API-Dokumentation**.

**Um eine FHIR-Ressource zu aktualisieren**  


1. Sammeln HealthLake `region` und bewerten`datastoreId`. Weitere Informationen finden Sie unter [Eigenschaften des Datenspeichers abrufen](managing-data-stores-describe.md).

1. Ermitteln Sie den Typ des FHIR`Resource`, der aktualisiert werden soll, und erfassen Sie den zugehörigen `id` Wert. Weitere Informationen finden Sie unter [Ressourcentypen](reference-fhir-resource-types.md). 

1. 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
   ```

1. 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"
   }
   ```

1. Senden Sie die Anforderung . Die `update` FHIR-Interaktion verwendet eine `PUT` Anfrage mit entweder [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 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 [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html)Datentyp.

   ```
   {
       "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](reference-smart-on-fhir-oauth-scopes.md).

------
#### [ AWS Console ]

   1. Melden Sie sich auf der Seite „[Abfrage ausführen](https://console.aws.amazon.com/healthlake/home#/crud)“ 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 Sie`Update (PUT)`.
   + **Ressourcentyp** — Wählen Sie den [FHIR-Ressourcentyp](reference-fhir-resource-types.md) 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
<a name="managing-fhir-resources-update-conditional"></a>

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 mit`id`: 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
<a name="validation-level-resource-updates"></a>

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.