View a markdown version of this page

Eliminazione di una risorsa FHIR - AWS HealthLake

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eliminazione di una risorsa FHIR

L'deleteinterazione FHIR rimuove una risorsa FHIR esistente da un HealthLake archivio dati. Per ulteriori informazioni, consulta la documentazione dell'deleteAPI RESTful FHIR R4.

Per eliminare una risorsa FHIR

  1. Raccogli HealthLake region e datastoreId valori. Per ulteriori informazioni, consulta Ottenere le proprietà dell'archivio dati.

  2. Determina il tipo di FHIR Resource da eliminare e raccogli il id valore associato. Per ulteriori informazioni, consulta Tipi di risorse.

  3. Costruisci un URL per la richiesta utilizzando i valori raccolti per HealthLake region e. datastoreId Includi anche il tipo FHIR e il Resource tipo associato. id Per visualizzare l'intero percorso URL nell'esempio seguente, scorri il pulsante Copia.

    DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Inviare la richiesta . L'deleteinterazione FHIR utilizza una DELETE richiesta con AWS Signature Version 4 o SMART on FHIR. L'curlesempio seguente rimuove una Patient risorsa FHIR esistente da un HealthLake archivio dati. Per visualizzare l'intero esempio, scorri il pulsante Copia.

    SigV4

    Autorizzazione 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'

    Il server restituisce un codice di stato 204 HTTP che conferma che la risorsa è stata rimossa dal HealthLake data store. Se una richiesta di eliminazione fallisce, riceverai una 400 serie di codici di stato HTTP che indica il motivo per cui la richiesta non è riuscita.

    SMART on FHIR

    Esempio di autorizzazione SMART on FHIR per il tipo di IdentityProviderConfiguration dati.

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

    Il chiamante può assegnare le autorizzazioni nel lambda di autorizzazione. Per ulteriori informazioni, consulta Ambiti OAuth 2.0.

    AWS Console

    1. Accedi alla pagina Esegui query sulla console. HealthLake

    2. Nella sezione Impostazioni della query, effettua le seguenti selezioni.

    • Data Store ID: scegli un ID Data Store per generare una stringa di query.

    • Tipo di query: scegliDelete.

    • Tipo di risorsa: scegli il tipo di risorsa FHIR da eliminare.

    • ID risorsa: immettere l'ID della risorsa FHIR.

    3. Scegli Esegui query.

Eliminazione delle risorse FHIR in base alle condizioni

L'eliminazione condizionale è particolarmente utile quando non si conosce l'ID specifico della risorsa FHIR ma si dispone di altre informazioni identificative sulla risorsa che si desidera eliminare.

L'eliminazione condizionale consente di eliminare una risorsa esistente in base a criteri di ricerca anziché in base all'ID FHIR logico. Quando il server elabora la richiesta di eliminazione, esegue una ricerca utilizzando le funzionalità di ricerca standard per il tipo di risorsa per risolvere un singolo ID logico per la richiesta.

Come funziona l'eliminazione condizionale

L'azione del server dipende dal numero di corrispondenze che trova:

  1. Nessuna corrispondenza: il server tenta una normale eliminazione e risponde in modo appropriato (404 Not Found per risorsa inesistente, 204 No Content per risorsa già eliminata)

  2. Una corrispondenza: il server esegue un'eliminazione ordinaria sulla risorsa corrispondente

  3. Corrispondenze multiple: restituisce un errore 412 Precondition Failed che indica che i criteri del client non erano sufficientemente selettivi

Scenari di risposta

AWS HealthLake gestisce le operazioni di eliminazione condizionale con i seguenti modelli di risposta:

Operazioni riuscite

  • Quando i criteri di ricerca identificano con successo una singola risorsa attiva, il sistema restituisce 204 Nessun contenuto dopo aver completato l'eliminazione, proprio come le operazioni di eliminazione standard.

ID-Based Eliminazione condizionale

Quando si esegue l'eliminazione condizionale in base id a parametri aggiuntivi (createdAt,_tag, o_lastUpdated):

  • 204 Nessun contenuto: la risorsa è già stata eliminata

  • 404 Non trovato: la risorsa non esiste

  • 409 Conflitto: l'ID corrisponde ma gli altri parametri non corrispondono

Non-ID-Based Eliminazione condizionale

Quando non id viene fornito o quando si utilizzano parametri diversi dacreatedAt,_tag, o_lastUpdated:

  • 404 Non trovato: nessuna corrispondenza trovata

Situazioni di conflitto

Diversi scenari danno come risultato 412 risposte precondizionate non riuscite:

  • Diverse risorse corrispondono ai tuoi criteri di ricerca (criteri non sufficientemente specifici)

  • Conflitti di versione quando si utilizzano le intestazioni ETag con If-Match

  • Aggiornamenti delle risorse che si verificano tra le operazioni di ricerca ed eliminazione

Esempio di eliminazione condizionale riuscita

L'esempio seguente elimina una risorsa Paziente in base a criteri specifici:

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

Questa richiesta elimina una risorsa Patient in cui:

  • Il nome è «peter»

  • La data di nascita è il 1 gennaio 2000

  • Il numero di telefono è 1234567890

Best practice

  1. Utilizza criteri di ricerca specifici per evitare corrispondenze multiple e prevenire 412 errori.

  2. Prendi in considerazione le intestazioni ETag per il controllo della versione quando necessario per gestire modifiche simultanee.

  3. Gestisci le risposte agli errori in modo appropriato:

    • Per 404: perfeziona i criteri di ricerca

    • Per 412: rendi i criteri più specifici o risolvi i conflitti di versione

  4. Preparati ai conflitti di tempistica in ambienti ad alta concorrenza in cui le risorse possono essere modificate tra le operazioni di ricerca ed eliminazione.