Excluindo 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á.

Excluindo um recurso FHIR

A delete interação FHIR remove um recurso FHIR existente de um armazenamento de dados. HealthLake Para obter informações adicionais, consulte a deletedocumentação da API FHIR R4 RESTful .

Para excluir 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 excluir 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.

    DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Envie a solicitação . A delete interação FHIR usa uma DELETE solicitação com AWS Signature Version 4 ou SMART na autorização FHIR. O curl exemplo a seguir remove um Patient recurso FHIR existente de um armazenamento de HealthLake dados. Para ver o exemplo inteiro, role até o botão Copiar.

    SigV4

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

    O servidor retorna um código de status 204 HTTP confirmando que o recurso foi removido do armazenamento de HealthLake dados. Se uma solicitação de exclusão falhar, você receberá um código de status HTTP em 400 série indicando por que a solicitação falhou.

    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 — escolhaDelete.

    • Tipo de recurso — escolha o tipo de recurso FHIR a ser excluído.

    • ID do recurso — insira o ID do recurso FHIR.

    3. Selecione Executar consulta.

Excluindo recursos do FHIR com base nas condições

A exclusão condicional é particularmente útil quando você não sabe o ID específico do recurso FHIR, mas tem outras informações de identificação sobre o recurso que deseja excluir.

A exclusão condicional permite que você exclua um recurso existente com base nos critérios de pesquisa e não no ID lógico do FHIR. Quando o servidor processa a solicitação de exclusão, ele executa uma pesquisa usando recursos de pesquisa padrão para o tipo de recurso para resolver uma única ID lógica para a solicitação.

Como funciona a exclusão condicional

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

  1. Sem resultados: o servidor tenta uma exclusão normal e responde adequadamente (404 Não encontrado para recurso inexistente, 204 Sem conteúdo para recurso já excluído)

  2. Uma partida: o servidor executa uma exclusão normal no recurso correspondente

  3. Várias correspondências: retorna um erro 412 Precondition Failed indicando que os critérios do cliente não foram seletivos o suficiente

Cenários de resposta

AWS HealthLake processa operações de exclusão condicional com os seguintes padrões de resposta:

Operações bem-sucedidas

  • Quando seus critérios de pesquisa identificam com sucesso um único recurso ativo, o sistema retorna 204 Sem conteúdo após concluir a exclusão, assim como as operações de exclusão padrão.

Exclusão condicional baseada em ID

Ao realizar a exclusão condicional id com base em parâmetros adicionais (createdAttag, ou_lastUpdated):

  • 204 Sem conteúdo: o recurso já foi excluído

  • 404 Não encontrado: o recurso não existe

  • 409 Conflito: o ID corresponde, mas outros parâmetros não coincidem

Non-ID-Based Exclusão condicional

Quando não id é fornecido ou ao usar parâmetros diferentes de createdAttag, ou_lastUpdated:

  • 404 Não encontrado: Nenhuma correspondência encontrada

Situações de conflito

Vários cenários resultam em 412 respostas de falha na condição prévia:

  • Vários recursos correspondem aos seus critérios de pesquisa (critérios não específicos o suficiente)

  • Conflitos de versão ao usar ETag cabeçalhos com If-Match

  • Atualizações de recursos que ocorrem entre as operações de pesquisa e exclusão

Exemplo de exclusão condicional bem-sucedida

O exemplo a seguir exclui um recurso do paciente com base em critérios específicos:

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

Essa solicitação exclui um recurso do paciente em que:

  • O nome é “peter”

  • A data de nascimento é 1º de janeiro de 2000

  • O número de telefone é 1234567890

Práticas recomendadas

  1. Use critérios de pesquisa específicos para evitar várias correspondências e evitar 412 erros.

  2. Considere ETag cabeçalhos para controle de versão quando necessário para lidar com modificações simultâneas.

  3. Lide com as respostas de erro de forma adequada:

    • Para 404: Refine seus critérios de pesquisa

    • Para 412: torne os critérios mais específicos ou resolva conflitos de versão

  4. Prepare-se para conflitos temporais em ambientes de alta simultaneidade, nos quais os recursos podem ser modificados entre as operações de pesquisa e exclusão.