Ressourcen mit PATCH-Operation ändern - 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.

Ressourcen mit PATCH-Operation ändern

AWS HealthLake unterstützt jetzt den PATCH-Vorgang für FHIR-Ressourcen, sodass Sie Ressourcen ändern können, indem Sie gezielt bestimmte Elemente hinzufügen, ersetzen oder löschen möchten, ohne die gesamte Ressource zu aktualisieren. Dieser Vorgang ist besonders nützlich für Remote-Clients oder Clients mit begrenzter Bandbreite, die die Netzwerkauslastung reduzieren möchten. Dieser Vorgang ist besonders nützlich, wenn Sie:

  • Nehmen Sie gezielte Aktualisierungen großer Ressourcen vor

  • Reduzieren Sie die Nutzung der Netzwerkbandbreite

  • Führen Sie atomare Änderungen an bestimmten Ressourcenelementen durch

  • Minimiere das Risiko, dass gleichzeitige Änderungen überschrieben werden

Verwendung

Der PATCH-Vorgang kann auf FHIR-Ressourcen mithilfe der PATCH-HTTP-Methode aufgerufen werden:

Unterstützte Vorgänge

PATCH [base]/[resource-type]/[id]{?_format=[mime-type]}

Unterstützte PATCH-Operationen

HealthLake unterstützt die folgenden JSON-Patch-Operationen gemäß RFC 6902:

Operation Beschreibung
add Fügen Sie der Ressource einen neuen Wert hinzu
remove Entferne einen Wert aus der Ressource
replace Ersetzt einen vorhandenen Wert in der Ressource
move Funktionell identisch mit einer Operation „Entfernen“ an der „Von“ -Position, unmittelbar gefolgt von einer „Hinzufügen“ -Operation an der Zielposition mit dem Wert, der gerade entfernt wurde
copy Kopiert den Wert an einer bestimmten Position an die Zielposition
test Testen Sie, ob ein Wert an der Zielposition einem angegebenen Wert entspricht

Anforderungsheader

Header Erforderlich Beschreibung
Content-Type Ja Muss application/json-patch+json sein.
If-Match Nein Versionsspezifisches bedingtes Update mit ETag

Beispiele

PATCH-Anfrage mit mehreren Vorgängen

PATCH [base]/Patient/example Content-Type: application/json-patch+json If-Match: W/"1" [ { "op": "replace", "path": "/name/0/family", "value": "Smith" }, { "op": "add", "path": "/telecom/-", "value": { "system": "phone", "value": "************", "use": "home" } }, { "op": "remove", "path": "/address/0" }, { "op": "move", "from": "/name/0/family", "path": "/name/1/family" }, { "op": "test", "path": "/gender", "value": "male" }, { "op": "copy", "from": "/name/0", "path": "/name/1" } ]
PATCH-Anfrage mit einem Vorgang

PATCH [base]/Patient/example Content-Type: application/json-patch+json [ { "op": "replace", "path": "/active", "value": false } ]
Beispielantwort

Der Vorgang gibt die aktualisierte Ressource mit neuen Versionsinformationen zurück:

HTTP/1.1 200 OK Content-Type: application/fhir+json ETag: W/"2" Last-Modified: Mon, 05 May 2025 10:10:10 GMT { "resourceType": "Patient", "id": "example", "active": true, "name": [ { "family": "Smith", "given": ["John"] } ], "telecom": [ { "system": "phone", "value": "************", "use": "home" } ], "meta": { "versionId": "2", "lastUpdated": "2025-05-05T10:10:10Z" } }

Syntax des JSON-Patchpfads

Der Pfadparameter verwendet die JSON-Pointer-Syntax (RFC 6901):

Beispiel für einen Pfad Beschreibung
/name/0/family Das Familienelement des Vornamens
/telecom/- An das Telekommunikations-Array anhängen
/active Aktives Element auf Stammebene
/address/0/line/1 Zweite Zeile der ersten Adresse

Behavior

Die PATCH-Operation:

  1. Validiert die JSON-Patch-Syntax gemäß RFC 6902 und RFC 6901

  2. Wendet Operationen atomar an — alle Operationen sind erfolgreich oder alle schlagen fehl

  3. Aktualisiert die Versions-ID der Ressource und erstellt einen neuen Verlaufseintrag

  4. Behält die ursprüngliche Ressource im Verlauf bei, bevor Änderungen übernommen werden

  5. Überprüft die FHIR-Ressourcenbeschränkungen nach dem Anwenden von Patches

  6. Unterstützt bedingte Aktualisierungen mithilfe des If-Match-Headers mit ETag

Fehlerbehandlung

Der Vorgang behandelt die folgenden Fehlerbedingungen:

  • 400 Bad Request: Ungültige Patch-Syntax (fehlerhafte Anfrage oder fehlerhafter JSON-Patch)

  • 404 Nicht gefunden: Ressource nicht gefunden (angegebene ID existiert nicht)

  • 409-Konflikt: Versionskonflikt (gleichzeitige Updates oder veraltete Versions-ID angegeben)

  • 422 Unverarbeitbare Entität: Patch-Operationen können nicht auf die angegebenen Ressourcenelemente angewendet werden

Einschränkungen

  • Es wird nur der application/json-patch+json Inhaltstyp unterstützt

  • Bedingte PATCH-Operationen, die Suchbedingungen verwenden, werden nicht unterstützt

Weitere Informationen zu PATCH-Vorgängen finden Sie in der FHIR R4 PATCH-Dokumentation.