Atualizando um recurso FHIR - AWS HealthLake

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualizando um recurso FHIR

A update interação FHIR cria uma nova versão atual para um recurso existente ou cria uma versão inicial se nenhum recurso já existir para o determinado. id Para obter informações adicionais, consulte a updatedocumentação da API FHIR R4 RESTful .

Para atualizar um recurso FHIR

  1. Colecione HealthLake region e datastoreId valorize. Para obter mais informações, consulte Obter propriedades do datastore.

  2. Determine o tipo de FHIR Resource para atualizar e coletar o valor associadoid. Para obter mais informações, consulte Tipos de recursos.

  3. Crie uma URL para a solicitação usando os valores coletados para HealthLake region datastoreId e. Inclua também o Resource tipo FHIR e seus associados. id Para ver todo o caminho do URL no exemplo a seguir, role até o botão Copiar.

    PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Crie um JSON corpo para a solicitação, especificando as atualizações de dados do FHIR a serem feitas. Para fins desse procedimento, salve o arquivo comoupdate-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. Envie a solicitação . A update interação FHIR usa uma PUT solicitação com AWS Signature Version 4 ou SMART na autorização FHIR. O curl exemplo a seguir atualiza um Patient recurso em HealthLake. Para ver o exemplo inteiro, role até o botão Copiar.

    SigV4

    Autorização 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

    Sua solicitação retornará um código de status 200 HTTP se um recurso existente for atualizado ou um código de status 201 HTTP se um novo recurso for criado.

    SMART on FHIR

    SMART no exemplo de autorização FHIR para o tipo de IdentityProviderConfigurationdados.

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

    O chamador pode atribuir permissões na autorização lambda. Para obter mais informações, consulte OAuth escopos 2.0.

    AWS Console

    1. Faça login na página Executar consulta no HealthLake console.

    2. Na seção Configurações da consulta, faça as seguintes seleções.

    • ID do armazenamento de dados — escolha um ID do armazenamento de dados para gerar uma sequência de caracteres de consulta.

    • Tipo de consulta — escolhaUpdate (PUT).

    • Tipo de recurso — escolha o tipo de recurso FHIR para atualizar ou criar.

    • Corpo da solicitação — construa um corpo JSON para a solicitação, especificando os dados FHIR com os quais atualizar o recurso.

    3. Selecione Executar consulta.

Atualização dos recursos do FHIR com base nas condições

A atualização condicional permite que você atualize um recurso existente com base em alguns critérios de pesquisa de identificação, em vez de usar o id FHIR lógico. Quando o servidor processa a atualização, ele realiza uma pesquisa usando seus recursos de pesquisa padrão para o tipo de recurso, com o objetivo de resolver uma única lógica id para a solicitação.

A ação que o servidor executa depende de quantas correspondências ele encontra:

  • Sem correspondências, não id fornecido no corpo da solicitação: o servidor cria o recurso FHIR.

  • Nenhuma correspondência, id fornecida e o recurso ainda não existe com o id: O servidor trata a interação como uma interação de atualização como criação.

  • Nenhuma correspondência, id fornecida e já existe: o servidor rejeita a atualização com um 409 Conflict erro.

  • Uma correspondência, nenhum recurso id fornecido OU (recurso id fornecido e corresponde ao recurso encontrado): O servidor executa a atualização em relação ao recurso correspondente conforme descrito acima, onde, se o recurso foi atualizado, o servidor DEVE retornar 200 OK a.

  • One Match, recurso id fornecido, mas não corresponde ao recurso encontrado: o servidor retorna um 409 Conflict erro indicando que a especificação do ID do cliente era um problema, preferencialmente com um OperationOutcome

  • Várias correspondências: o servidor retorna um 412 Precondition Failed erro indicando que os critérios do cliente não foram seletivos o suficiente, de preferência com um OperationOutcome

O exemplo a seguir atualiza um Patient recurso cujo nome é peter, data de nascimento é 1º de janeiro de 2000 e número de telefone 1234567890.

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

Configurando o nível de validação para atualizações de recursos

Ao atualizar um recurso FHIR, você pode especificar opcionalmente um cabeçalho x-amzn-healthlake-fhir-validation-level HTTP para configurar um nível de validação para o recurso. AWS HealthLake atualmente suporta os seguintes níveis de validação:

  • strict: os recursos são validados de acordo com o elemento de perfil do recurso ou com a especificação R4 se nenhum perfil estiver presente. Esse é o nível de validação padrão para AWS HealthLake.

  • structure-only: os recursos são validados em relação ao R4, ignorando quaisquer perfis referenciados.

  • minimal: os recursos são validados minimamente, ignorando certas regras do R4. Os recursos que falharem nas verificações de estrutura exigidas search/analytics serão atualizados para incluir um aviso para auditoria.

Recursos atualizados com o nível mínimo de validação podem ser ingeridos em um Datastore, apesar da falha na validação necessária para a indexação de pesquisas. Nesse caso, os recursos serão atualizados para incluir uma extensão específica do Healthlake para documentar essas falhas:

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

Além disso, o seguinte cabeçalho de resposta HTTP será incluído com o valor “true”:

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

Observe que os dados ingeridos que estão malformados de acordo com a especificação R4 podem não ser pesquisáveis conforme o esperado se esses erros estiverem presentes.