Eliminar un recurso del FHIR - AWS HealthLake

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Eliminar un recurso del FHIR

La delete interacción del FHIR elimina un recurso del FHIR existente de un HealthLake almacén de datos. Para obtener información adicional, consulte la documentación de la deleteAPI RESTful R4 del FHIR.

Para eliminar un recurso del FHIR

  1. HealthLake regionRecopila y datastoreId valora. Para obtener más información, consulte Obtención de propiedades de los almacenes de datos.

  2. Determine el tipo de Resource FHIR que desea eliminar y recopile el id valor asociado. Para obtener más información, consulte Tipos de recurso.

  3. Cree una URL para la solicitud utilizando los valores recopilados para HealthLake region ydatastoreId. Incluya también el Resource tipo FHIR y su correspondienteid. Para ver la ruta URL completa en el siguiente ejemplo, desplázate sobre el botón Copiar.

    DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Envíe la solicitud . La delete interacción del FHIR utiliza una DELETE solicitud con la versión 4 de la AWS firma o SMART con la autorización del FHIR. En el siguiente curl ejemplo, se elimina un Patient recurso del FHIR existente de un HealthLake banco de datos. Para ver el ejemplo completo, desplácese sobre el botón Copiar.

    SigV4

    Autorización 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'

    El servidor devuelve un código de estado 204 HTTP que confirma que el recurso se ha eliminado del almacén de HealthLake datos. Si se produce un error en una solicitud de eliminación, recibirá una 400 serie de códigos de estado HTTP que indicará el motivo del error en la solicitud.

    SMART on FHIR

    Ejemplo de autorización SMART on FHIR para el tipo IdentityProviderConfigurationde datos.

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

    La persona que llama puede asignar permisos en la lambda de autorización. Para obtener más información, consulte OAuth osciloscopios 2.0.

    AWS Console

    1. Inicie sesión en la página Ejecutar consultas de la HealthLake consola.

    2. En la sección de configuración de consultas, realice las siguientes selecciones.

    • ID de almacén de datos: elija un ID de almacén de datos para generar una cadena de consulta.

    • Tipo de consulta: elijaDelete.

    • Tipo de recurso: elija el tipo de recurso FHIR que desee eliminar.

    • ID de recurso: introduzca el ID de recurso del FHIR.

    3. Elija Ejecutar consulta.

Eliminar los recursos del FHIR en función de las condiciones

La eliminación condicional resulta especialmente útil cuando no se conoce el identificador específico del recurso del FHIR, pero se dispone de otra información de identificación sobre el recurso que se desea eliminar.

La eliminación condicional le permite eliminar un recurso existente en función de los criterios de búsqueda y no de un ID de FHIR lógico. Cuando el servidor procesa la solicitud de eliminación, realiza una búsqueda utilizando las capacidades de búsqueda estándar para el tipo de recurso a fin de resolver un único identificador lógico para la solicitud.

Cómo funciona la eliminación condicional

La acción del servidor depende del número de coincidencias que encuentre:

  1. No hay coincidencias: el servidor intenta realizar una eliminación normal y responde adecuadamente (404 No se ha encontrado ningún recurso, 204 no se ha encontrado contenido para un recurso ya eliminado)

  2. Una coincidencia: el servidor realiza una eliminación normal del recurso coincidente

  3. Coincidencias múltiples: devuelve el error 412: no se pudo cumplir la condición previa, lo que indica que los criterios del cliente no eran lo suficientemente selectivos

Escenarios de respuesta

AWS HealthLake gestiona las operaciones de borrado condicional con los siguientes patrones de respuesta:

Operaciones exitosas

  • Cuando los criterios de búsqueda identifican correctamente un único recurso activo, el sistema devuelve 204 Sin contenido tras completar la eliminación, al igual que en las operaciones de eliminación estándar.

Eliminación condicional basada en ID

Al realizar una eliminación condicional basada en id parámetros adicionales (createdAt,tag, o_lastUpdated):

  • 204 Sin contenido: el recurso ya se ha eliminado

  • 404 No encontrado: el recurso no existe

  • 409 Conflicto: el identificador coincide pero otros parámetros no coinciden

Non-ID-Based Eliminación condicional

Cuando no id se proporciona o cuando se utilizan parámetros distintos de createdAttag, o_lastUpdated:

  • 404 No se encontró: no se encontraron coincidencias

Situaciones de conflicto

Varios escenarios dan como resultado 412 respuestas fallidas a una condición previa:

  • Varios recursos coinciden con sus criterios de búsqueda (los criterios no son lo suficientemente específicos)

  • La versión entra en conflicto cuando se utilizan ETag encabezados con If-Match

  • Las actualizaciones de recursos se producen entre las operaciones de búsqueda y eliminación

Ejemplo de una eliminación condicional correcta

En el siguiente ejemplo, se elimina un recurso para pacientes en función de criterios específicos:

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

Esta solicitud elimina un recurso para pacientes en el que:

  • El nombre es «peter»

  • La fecha de nacimiento es el 1 de enero de 2000

  • El número de teléfono es 1234567890

Prácticas recomendadas

  1. Utilice criterios de búsqueda específicos para evitar múltiples coincidencias y evitar errores 412.

  2. Tenga en cuenta ETag los encabezados para el control de versiones cuando sea necesario para gestionar las modificaciones simultáneas.

  3. Gestione las respuestas de error de forma adecuada:

    • Para 404: Refina tus criterios de búsqueda

    • Para 412: especifique los criterios o resuelva los conflictos de versiones

  4. Prepárese para los conflictos de temporización en entornos de alta concurrencia, en los que los recursos pueden modificarse entre las operaciones de búsqueda y eliminación.