Modification des ressources à l'aide de l'opération PATCH - AWS HealthLake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modification des ressources à l'aide de l'opération PATCH

AWS HealthLake prend désormais en charge l'opération PATCH pour les ressources FHIR, ce qui vous permet de modifier les ressources en ciblant des éléments spécifiques à ajouter, remplacer ou supprimer sans mettre à jour l'intégralité de la ressource. Cette opération est particulièrement utile pour les clients distants ou ceux dont la bande passante est limitée et qui cherchent à réduire l'utilisation du réseau. Cette opération est particulièrement utile lorsque vous devez :

  • Procéder à des mises à jour ciblées à des ressources importantes

  • Réduire l'utilisation de la bande passante du réseau

  • Effectuer des modifications atomiques sur des éléments de ressources spécifiques

  • Minimisez le risque de remplacer des modifications simultanées

Utilisation

L'opération PATCH peut être invoquée sur les ressources FHIR à l'aide de la méthode HTTP PATCH :

Opérations prises en charge

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

Opérations PATCH prises en charge

HealthLake prend en charge les opérations de patch JSON suivantes conformément à la RFC 6902 :

Opération Description
add Ajouter une nouvelle valeur à la ressource
remove Supprimer une valeur de la ressource
replace Remplacer une valeur existante dans la ressource
move Identique sur le plan fonctionnel à une opération de « suppression » sur l'emplacement « de », suivie immédiatement d'une opération « d'ajout » sur l'emplacement cible avec la valeur qui vient d'être supprimée
copy Copiez la valeur à un emplacement spécifié vers l'emplacement cible
test Vérifiez qu'une valeur à l'emplacement cible est égale à une valeur spécifiée

En-têtes de demande

En-tête Obligatoire Description
Content-Type Oui Doit être application/json-patch+json
If-Match Non Mise à jour conditionnelle spécifique à la version à l'aide de ETag

Exemples

Requête PATCH avec plusieurs opérations

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" } ]
Requête PATCH avec opération unique

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

L'opération renvoie la ressource mise à jour avec les nouvelles informations de version :

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" } }

Syntaxe du chemin de correctif JSON

Le paramètre path utilise la syntaxe du pointeur JSON (RFC 6901) :

Exemple de chemin Description
/name/0/family Élément de famille du prénom
/telecom/- Ajouter au réseau de télécommunications
/active Élément actif au niveau de la racine
/address/0/line/1 Deuxième ligne de la première adresse

Attitude

L'opération PATCH :

  1. Valide la syntaxe du patch JSON conformément aux RFC 6902 et RFC 6901

  2. Applique les opérations de manière atomique : toutes les opérations réussissent ou échouent

  3. Met à jour l'ID de version de la ressource et crée une nouvelle entrée d'historique

  4. Préserve la ressource d'origine dans l'historique avant d'appliquer les modifications

  5. Valide les contraintes de ressources FHIR après l'application des correctifs

  6. Supporte les mises à jour conditionnelles à l'aide de l'en-tête If-Match avec ETag

Gestion des erreurs

L'opération gère les conditions d'erreur suivantes :

  • 400 Mauvaise demande : syntaxe de correctif non valide (demande non conforme ou correctif JSON mal formé)

  • 404 Introuvable : ressource introuvable (l'ID spécifié n'existe pas)

  • 409 Conflit : conflit de version (mises à jour simultanées ou identifiant de version non actuel fourni)

  • 422 Entité non traitable : les opérations de correctif ne peuvent pas être appliquées aux éléments de ressource spécifiés

Mises en garde

  • Seul application/json-patch+json le type de contenu est pris en charge

  • Les opérations PATCH conditionnelles utilisant des conditions de recherche ne sont pas prises en charge

Pour plus d'informations sur les opérations PATCH, consultez la documentation FHIR R4 PATCH.