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
| 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:
-
Validiert die JSON-Patch-Syntax gemäß RFC 6902 und RFC 6901
-
Wendet Operationen atomar an — alle Operationen sind erfolgreich oder alle schlagen fehl
-
Aktualisiert die Versions-ID der Ressource und erstellt einen neuen Verlaufseintrag
-
Behält die ursprüngliche Ressource im Verlauf bei, bevor Änderungen übernommen werden
-
Überprüft die FHIR-Ressourcenbeschränkungen nach dem Anwenden von Patches
-
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+jsonInhaltstyp 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