Lendo o histórico de recursos do 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á.

Lendo o histórico de recursos do FHIR

A history interação FHIR recupera o histórico de um recurso FHIR específico em um armazenamento de dados. HealthLake Usando essa interação, você pode determinar como o conteúdo de um recurso FHIR mudou ao longo do tempo. Também é útil em coordenação com os registros de auditoria para ver o estado de um recurso antes e depois da modificação. As interações create do FHIR e delete resultam em uma versão histórica do recurso a ser salvo. update Para obter informações adicionais, consulte a historydocumentação da API FHIR R4 RESTful .

nota

Você pode optar por não receber tipos history específicos de recursos do FHIR. Para optar por não participar, crie um caso usando AWS Support Center Console. Para criar seu caso, faça login no seu Conta da AWS e escolha Criar caso.

Para ler o histórico de recursos do 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 ler 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 de FHIR, seus parâmetros de pesquisa associados id e opcionais. Para ver todo o caminho do URL no exemplo a seguir, role até o botão Copiar.

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history{?[parameters]}
    HealthLake parâmetros de pesquisa suportados para interação FHIR history
    Parameter Descrição
    _count : integer O número máximo de resultados de pesquisa em uma página. O servidor retornará o número solicitado ou o número máximo de resultados de pesquisa permitidos por padrão para o armazenamento de dados, o que for menor.
    _since : instant Inclua somente versões de recursos que foram criadas em ou após um determinado instante no tempo.
    _at : date(Time) Inclua somente versões de recursos que estavam atualizadas em algum momento durante o período especificado no valor de data e hora. Para obter mais informações, consulte a datedocumentação da RESTfulAPI HL7 FHIR.
  4. Envie a solicitação . A history interação FHIR usa uma GET solicitação com AWS Signature Version 4 ou SMART na autorização FHIR. O curl exemplo a seguir usa o parâmetro de _count pesquisa para retornar 100 resultados históricos de pesquisa por página para um Patient recurso FHIR em. HealthLake Para ver o exemplo inteiro, role até o botão Copiar.

    SigV4

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

    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.

    O conteúdo de retorno de uma history interação está contido em um recurso FHIRBundle, com o tipo definido como. history Ele contém o histórico de versões especificado, classificado com as versões mais antigas por último, e inclui recursos excluídos. Para obter mais informações, consulte a Resource Bundledocumentação do FHIR R4.

Lendo o histórico de recursos FHIR específico da versão

A vread interação FHIR realiza uma leitura específica da versão de um recurso em um armazenamento de dados. HealthLake Usando essa interação, você pode visualizar o conteúdo de um recurso FHIR como era em um determinado momento no passado.

nota

Se você usar a history interação FHIR semvread, HealthLake sempre retornará a versão mais recente dos metadados do recurso.

HealthLake declara que oferece suporte ao controle de versão CapabilityStatement.rest.resource.versioningpara cada recurso suportado. Todos os armazenamentos de HealthLake dados incluem Resource.meta.versionId (vid) em todos os recursos.

Quando a history interação FHIR está ativada (por padrão para armazenamentos de dados criados após 25/10/2024 ou por solicitação para armazenamentos de dados mais antigos), a Bundle resposta inclui o como parte do vid elemento. location No exemplo a seguir, o é vid exibido como o número1. Para ver o exemplo completo, consulte Exemplo de bundle/bundle-response (JSON).

"response" : { "status" : "201 Created", "location" : "Patient/12423/_history/1", ...}
Para ler o histórico de recursos FHIR específico da versão

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

  2. Determine o Resource tipo de FHIR para ler e coletar valores id e vid associados. Para obter mais informações, consulte Tipos de recursos.

  3. Crie uma URL para a solicitação usando os valores coletados para HealthLake e FHIR. Para ver todo o caminho do URL no exemplo a seguir, role até o botão Copiar.

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history/vid
  4. Envie a solicitação . A history interação FHIR usa uma GET solicitação com AWS Signature Version 4 ou SMART na autorização FHIR. A vread interação a seguir retorna uma única instância com o conteúdo especificado para o Patient recurso FHIR para a versão dos metadados do recurso especificada pelo. vid Para ver todo o caminho do URL no exemplo a seguir, role até o botão Copiar.

    SigV4

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

    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.