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 FHIR RESTful R4.

Per eliminare una risorsa FHIR

  1. Raccogli HealthLake region e datastoreId valorizza. 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 risorsa.

  3. Costruisci un URL per la richiesta utilizzando i valori raccolti per HealthLake region e. datastoreId Includi anche il Resource tipo FHIR e il relativo associato. id Per visualizzare l'intero percorso dell'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 autorizzazione 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, scorrete 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 dall' HealthLake archivio dati. Se una richiesta di eliminazione ha esito negativo, 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 IdentityProviderConfigurationdati.

    { "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 nella lambda di autorizzazione. Per ulteriori informazioni, consulta OAuth Cannocchiali 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 del 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 a condizioni

L'eliminazione condizionale è particolarmente utile quando non si conosce l'ID specifico della risorsa FHIR ma si hanno altre informazioni di identificazione 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 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 un'eliminazione ordinaria e risponde in modo appropriato (404 Not Found per una risorsa inesistente, 204 Nessun contenuto per una risorsa già eliminata)

  2. Una risposta: 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 correttamente una singola risorsa attiva, il sistema restituisce 204 No Content dopo aver completato l'eliminazione, proprio come le operazioni di eliminazione standard.

Eliminazione condizionale basata su ID

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 Not Found: 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 da createdAttag, oppure_lastUpdated:

  • 404 non trovato: Nessuna corrispondenza trovata

Situazioni di conflitto

Diversi scenari generano 412 risposte non riuscite alla condizione preliminare:

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

  • La versione è in conflitto quando si utilizzano ETag intestazioni 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 Patient 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 ed evitare 412 errori.

  2. Prendi in considerazione le ETag intestazioni per il controllo della versione quando necessario per gestire le 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. Preparatevi ai conflitti temporali in ambienti ad alta concorrenza in cui le risorse possono essere modificate tra le operazioni di ricerca ed eliminazione.