Lectura del historial de recursos 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.

Lectura del historial de recursos del FHIR

La history interacción del FHIR recupera el historial de un recurso del FHIR en particular en un almacén de datos. HealthLake Con esta interacción, puede determinar cómo ha cambiado el contenido de un recurso del FHIR a lo largo del tiempo. También resulta útil, en coordinación con los registros de auditoría, para ver el estado de un recurso antes y después de la modificación. El FHIR create interactúa update y da delete como resultado una versión histórica del recurso que se va a guardar. Para obtener información adicional, consulte la documentación de historyla API R4 RESTful del FHIR.

nota

Puede optar por no utilizar tipos de recursos history específicos del FHIR. Para excluirse, cree un caso utilizando AWS Support Center Console. Para crear tu caso, inicia sesión en tu cuenta Cuenta de AWS y selecciona Crear caso.

Para leer el historial de recursos 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 FHIR Resource para leer y recopilar 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 de FHIR, sus parámetros de búsqueda asociados id y opcionales. Para ver la ruta URL completa en el siguiente ejemplo, desplázate sobre el botón Copiar.

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history{?[parameters]}
    HealthLake parámetros de búsqueda compatibles para la interacción FHIR history
    Parámetro Descripción
    _count : integer El número máximo de resultados de búsqueda en una página. El servidor devolverá el número solicitado o el número máximo de resultados de búsqueda permitido de forma predeterminada para el almacén de datos, lo que sea inferior.
    _since : instant Incluya únicamente las versiones de recursos que se hayan creado en un instante determinado o con posterioridad a él.
    _at : date(Time) Incluya únicamente las versiones de recursos que estuvieran actualizadas en algún momento durante el período de tiempo especificado en el valor de fecha y hora. Para obtener más información, consulte la documentación datede la RESTful API del HL7 FHIR.
  4. Envíe la solicitud . La history interacción del FHIR utiliza una GET solicitud con la versión 4 de la AWS firma o SMART previa autorización del FHIR. En el siguiente curl ejemplo, se utiliza el parámetro de _count búsqueda para devolver 100 resultados de búsqueda históricos por página para un recurso del FHIR Patient en. HealthLake Para ver el ejemplo completo, desplázate sobre el botón Copiar.

    SigV4

    Autorización SigV4

    curl --request GET \ 'https://healthlake.region.amazonaws.com/datastore/datastore-id/r4/Patient/id/_history?_count=100' \ --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'
    SMART on FHIR

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

    { "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.

    El contenido devuelto de una history interacción está contenido en un recurso FHIRBundle, con el tipo establecido en. history Contiene el historial de versiones especificado, ordenado en último lugar por las versiones más antiguas, e incluye los recursos eliminados. Para obtener más información, consulte Resource Bundlela documentación del FHIR R4.

Lectura del historial de recursos del FHIR específico de cada versión

La vread interacción del FHIR realiza una lectura específica de la versión de un recurso en un almacén de datos. HealthLake Con esta interacción, puede ver el contenido de un recurso del FHIR tal como estaba en un momento determinado del pasado.

nota

Si utiliza la history interacción del FHIR sin vread ella, HealthLake siempre devuelve la última versión de los metadatos del recurso.

HealthLake declara que admite el control de versiones CapabilityStatement.rest.resource.versioningpara cada recurso compatible. Todos los almacenes de HealthLake datos incluyen Resource.meta.versionId (vid) en todos los recursos.

Cuando history la interacción FHIR está habilitada (de forma predeterminada para los almacenes de datos creados después del 25 de octubre de 2024 o cuando se solicita para los almacenes de datos más antiguos), la Bundle respuesta los incluye vid como parte del elemento. location En el siguiente ejemplo, se vid muestra como un número. 1 Para ver el ejemplo completo, consulta Example Bundle/Bundle-Response (JSON).

"response" : { "status" : "201 Created", "location" : "Patient/12423/_history/1", ...}
Para leer el historial de recursos del FHIR específico de cada versión

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

  2. Determine el Resource tipo de FHIR que se va a leer y recopilar vid los valores id y valores asociados. Para obtener más información, consulte Tipos de recurso.

  3. Cree una URL para la solicitud utilizando los valores recopilados para el HealthLake FHIR. Para ver la ruta URL completa en el siguiente ejemplo, desplázate sobre el botón Copiar.

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history/vid
  4. Envíe la solicitud . La history interacción del FHIR utiliza una GET solicitud con la versión 4 de la AWS firma o SMART con la autorización del FHIR. La siguiente vread interacción devuelve una sola instancia con el contenido especificado para el Patient recurso de la FHIR para la versión de los metadatos del recurso especificada por la. vid Para ver la ruta URL completa en el siguiente ejemplo, desplázate sobre el botón Copiar.

    SigV4

    Autorización SigV4

    curl --request GET \ 'https://healthlake.region.amazonaws.com/datastore/datastore-id/r4/Patient/id/_history/vid' \ --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'
    SMART on FHIR

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

    { "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.