

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 name="managing-fhir-resources-delete"></a>

A `delete` interação FHIR remove um recurso FHIR existente de um armazenamento de dados. HealthLake Para obter informações adicionais, consulte a [https://hl7.org/fhir/R4/http.html#delete](https://hl7.org/fhir/R4/http.html#delete)documentaçã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](managing-data-stores-describe.md).

1. Determine o tipo de FHIR `Resource` para excluir e coletar o valor associado`id`. Para obter mais informações, consulte [Resource types](reference-fhir-resource-types.md).

1. 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
   ```

1. Envie a solicitação . A `delete` interação FHIR usa uma `DELETE` solicitação com [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 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 [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html)dados.

   ```
   {
       "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](reference-smart-on-fhir-oauth-scopes.md).

------
#### [ AWS Console ]

   1. Faça login na página [Executar consulta](https://console.aws.amazon.com/healthlake/home#/crud) 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** — escolha`Delete`.
   + **Tipo de recurso** — escolha o tipo de [recurso FHIR a ser excluído](reference-fhir-resource-types.md).
   + **ID do recurso** — insira o ID do recurso FHIR.

   3. Selecione **Executar consulta**.

------

## Excluindo recursos do FHIR com base nas condições
<a name="conditional-delete-fhir"></a>

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 name="conditional-delete-works"></a>

**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)

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

1. **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
<a name="response-scenerios"></a>

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 (`createdAt``tag`, 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 `createdAt``tag`, 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.

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

1. 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

1. 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.