Aggiornamento 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à.

Aggiornamento di una risorsa FHIR

L'updateinterazione FHIR crea una nuova versione corrente per una risorsa esistente o crea una versione iniziale se non esiste già alcuna risorsa per la determinata risorsa. id Per ulteriori informazioni, consulta la updatedocumentazione dell'API FHIR R4 RESTful .

Per aggiornare una risorsa FHIR

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

  2. Determina il tipo di FHIR Resource da aggiornare e raccogliere 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.

    PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Costruisci un JSON corpo per la richiesta, specificando gli aggiornamenti dei dati FHIR da effettuare. Ai fini di questa procedura, salva il file con nome. update-patient.json

    { "id": "2de04858-ba65-44c1-8af1-f2fe69a977d9", "resourceType": "Patient", "active": true, "name": [ { "use": "official", "family": "Doe", "given": [ "Jane" ] }, { "use": "usual", "given": [ "Jane" ] } ], "gender": "female", "birthDate": "1985-12-31" }
  5. Inviare la richiesta . L'updateinterazione FHIR utilizza una PUT richiesta con autorizzazione AWS Signature Version 4 o SMART on FHIR. L'curlesempio seguente aggiorna una Patient risorsa in. HealthLake Per visualizzare l'intero esempio, scorri il pulsante Copia.

    SigV4

    Autorizzazione SIGv4

    curl --request PUT \ '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' \ --data @update-patient.json

    La richiesta restituirà un codice di stato 200 HTTP se una risorsa esistente viene aggiornata o un codice di stato 201 HTTP se viene creata una nuova risorsa.

    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: scegliUpdate (PUT).

    • Tipo di risorsa: scegli il tipo di risorsa FHIR da aggiornare o creare.

    • Corpo della richiesta: crea un corpo JSON per la richiesta, specificando i dati FHIR con cui aggiornare la risorsa.

    3. Scegli Esegui query.

Aggiornamento delle risorse FHIR in base alle condizioni

L'aggiornamento condizionale consente di aggiornare una risorsa esistente in base ad alcuni criteri di ricerca di identificazione, anziché tramite FHIR logico. id Quando il server elabora l'aggiornamento, esegue una ricerca utilizzando le funzionalità di ricerca standard per il tipo di risorsa, con l'obiettivo di risolvere una singola logica id per la richiesta.

L'azione intrapresa dal server dipende dal numero di corrispondenze trovate:

  • Nessuna corrispondenza, non id fornita nel corpo della richiesta: il server crea la risorsa FHIR.

  • Nessuna corrispondenza, id fornita e la risorsa non esiste già conid: Il server considera l'interazione come un'interazione Update as Create.

  • Nessuna corrispondenza, id fornita e già esistente: il server rifiuta l'aggiornamento con un 409 Conflict errore.

  • Una corrispondenza, nessuna risorsa id fornita OPPURE (risorsa id fornita e corrisponde alla risorsa trovata): il server esegue l'aggiornamento rispetto alla risorsa corrispondente come sopra dove, se la risorsa è stata aggiornata, il server DEVE restituire un200 OK.

  • One Match, risorsa id fornita ma non corrispondente alla risorsa trovata: il server restituisce un 409 Conflict errore che indica che la specifica dell'ID del client era un problema, preferibilmente con un OperationOutcome

  • Corrispondenze multiple: Il server restituisce un 412 Precondition Failed errore che indica che i criteri del client non erano sufficientemente selettivi, preferibilmente con un OperationOutcome

L'esempio seguente aggiorna una Patient risorsa il cui nome è peter, la data di nascita è il 1° gennaio 2000 e il numero di telefono è 1234567890.

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

Configurazione del livello di convalida per gli aggiornamenti delle risorse

Quando si aggiorna una risorsa FHIR, è possibile facoltativamente specificare un'intestazione x-amzn-healthlake-fhir-validation-level HTTP per configurare un livello di convalida per la risorsa. AWS HealthLake attualmente supporta i seguenti livelli di convalida:

  • strict: Le risorse vengono convalidate in base all'elemento del profilo della risorsa o alla specifica R4 se non è presente alcun profilo. Questo è il livello di convalida predefinito per. AWS HealthLake

  • structure-only: Le risorse vengono convalidate rispetto a R4, ignorando i profili di riferimento.

  • minimal: Le risorse vengono convalidate minimamente, ignorando alcune regole R4. Le risorse che non superano i controlli di struttura richiesti search/analytics verranno aggiornate per includere un avviso per l'audit.

Le risorse aggiornate con il livello di convalida minimo possono essere inserite in un Datastore nonostante la convalida non riuscita richiesta per l'indicizzazione della ricerca. In questo caso, le risorse verranno aggiornate per includere un'estensione specifica di Healthlake per documentare tali errori:

{ "url": "http://healthlake.amazonaws.com/fhir/StructureDefinition/validation-issue", "valueString": "{\"resourceType\":\"OperationOutcome\",\"issue\":[{\"severity\":\"error\",\"code\":\"processing\",\"details\":{\"text\":\"FHIR resource in payload failed FHIR validation rules.\"},\"diagnostics\":\"FHIR resource in payload failed FHIR validation rules.\"}]}" }

Inoltre, la seguente intestazione di risposta HTTP verrà inclusa con il valore «true»:

x-amzn-healthlake-validation-issues : true
Nota

Tieni presente che i dati inseriti in formato non corretto secondo la specifica R4 potrebbero non essere ricercabili come previsto se sono presenti questi errori.