View a markdown version of this page

Supprimer une ressource FHIR - 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.

Supprimer une ressource FHIR

L'deleteinteraction FHIR supprime une ressource FHIR existante d'un magasin de HealthLake données. Pour plus d'informations, consultez la documentation delete de l'API RESTful FHIR R4.

Pour supprimer une ressource FHIR

  1. Collectez HealthLake region et datastoreId valorisez. Pour de plus amples informations, veuillez consulter Obtenir les propriétés du magasin de données.

  2. Déterminez le type de FHIR Resource à supprimer et collectez la id valeur associée. Pour de plus amples informations, veuillez consulter Types de ressources.

  3. Créez une URL pour la demande en utilisant les valeurs collectées pour HealthLake region etdatastoreId. Incluez également le Resource type FHIR et ses caractéristiques associéesid. Pour afficher le chemin URL complet dans l'exemple suivant, faites défiler la page sur le bouton Copier.

    DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Envoyez la demande . L'deleteinteraction FHIR utilise une DELETE demande avec AWS Signature Version 4 ou SMART sur autorisation FHIR. L'curlexemple suivant supprime une Patient ressource FHIR existante d'un magasin de HealthLake données. Pour afficher l'exemple complet, faites défiler la page sur le bouton Copier.

    SigV4

    Autorisation SIGv4

    curl --request DELETE \ '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'

    Le serveur renvoie un code d'état 204 HTTP confirmant que la ressource a été supprimée du magasin de HealthLake données. Si une demande de suppression échoue, vous recevrez une 400 série de codes d'état HTTP indiquant pourquoi la demande a échoué.

    SMART on FHIR

    Exemple d'autorisation SMART sur FHIR pour le type de IdentityProviderConfiguration données.

    { "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\"]}" }

    L'appelant peut attribuer des autorisations dans le lambda d'autorisation. Pour de plus amples informations, veuillez consulter Étendue OAuth 2.0.

    AWS Console

    1. Connectez-vous à la page Exécuter la requête sur la HealthLake console.

    2. Dans la section Paramètres de requête, effectuez les sélections suivantes.

    • ID du magasin de données  : choisissez un identifiant de magasin de données pour générer une chaîne de requête.

    • Type de requête  : choisissezDelete.

    • Type de ressource  : choisissez le type de ressource FHIR à supprimer.

    • ID de ressource  : entrez l'ID de ressource FHIR.

    3. Choisissez Exécuter la requête.

Suppression de ressources FHIR en fonction de conditions

La suppression conditionnelle est particulièrement utile lorsque vous ne connaissez pas l'ID de ressource FHIR spécifique mais que vous disposez d'autres informations d'identification sur la ressource que vous souhaitez supprimer.

La suppression conditionnelle vous permet de supprimer une ressource existante en fonction de critères de recherche plutôt que d'un identifiant FHIR logique. Lorsque le serveur traite la demande de suppression, il effectue une recherche à l'aide des fonctionnalités de recherche standard pour le type de ressource afin de résoudre un identifiant logique unique pour la demande.

Comment fonctionne la suppression conditionnelle

L'action du serveur dépend du nombre de correspondances qu'il trouve :

  1. Aucune correspondance  : le serveur tente une suppression ordinaire et répond de manière appropriée (404 introuvable pour une ressource inexistante, 204 Aucun contenu pour une ressource déjà supprimée)

  2. Une seule correspondance  : le serveur effectue une suppression ordinaire sur la ressource correspondante

  3. Correspondances multiples  : renvoie une erreur 412 Precondition Failed indiquant que les critères du client n'étaient pas suffisamment sélectifs

Scénarios de réponse

AWS HealthLake gère les opérations de suppression conditionnelle avec les modèles de réponse suivants :

Des opérations réussies

  • Lorsque vos critères de recherche identifient avec succès une seule ressource active, le système renvoie 204 Aucun contenu une fois la suppression terminée, comme pour les opérations de suppression standard.

ID-Based Suppression conditionnelle

Lorsque vous effectuez une suppression conditionnelle basée sur id des paramètres supplémentaires (createdAt_tag, ou_lastUpdated) :

  • 204 Aucun contenu  : la ressource a déjà été supprimée

  • 404 Non trouvé  : la ressource n'existe pas

  • 409 Conflit  : l'identifiant correspond mais les autres paramètres ne correspondent pas

Non-ID-Based Suppression conditionnelle

Quand n'idest pas fourni ou lorsque vous utilisez des paramètres autres quecreatedAt,_tag, ou _lastUpdated :

  • 404 Non trouvé  : Aucun résultat trouvé

Situations de conflit

Plusieurs scénarios entraînent l'échec de 412 réponses à la précondition :

  • Plusieurs ressources correspondent à vos critères de recherche (critères pas assez précis)

  • Conflits de version lors de l'utilisation des en-têtes ETag avec If-Match

  • Mises à jour des ressources survenant entre les opérations de recherche et de suppression

Exemple de suppression conditionnelle réussie

L'exemple suivant supprime une ressource destinée aux patients en fonction de critères spécifiques :

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

Cette demande supprime une ressource destinée aux patients dans laquelle :

  • Le nom est « Peter »

  • La date de naissance est le 1er janvier 2000

  • Le numéro de téléphone est 1234567890

Bonnes pratiques

  1. Utilisez des critères de recherche spécifiques pour éviter les résultats multiples et éviter les erreurs 412.

  2. Envisagez les en-têtes ETag pour le contrôle de version lorsque cela est nécessaire pour gérer les modifications simultanées.

  3. Gérez les réponses aux erreurs de manière appropriée :

    • Pour 404 : Affinez vos critères de recherche

    • Pour 412 : rendre les critères plus spécifiques ou résoudre les conflits de versions

  4. Préparez-vous aux conflits de synchronisation dans les environnements à haute concurrence où les ressources peuvent être modifiées entre les opérations de recherche et de suppression.