Exportação de dados do seu armazenamento HealthLake de dados com operações FHIR REST API - 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á.

Exportação de dados do seu armazenamento HealthLake de dados com operações FHIR REST API

Depois de concluirConfigurando permissões para trabalhos de exportação, você pode exportar dados do seu armazenamento de HealthLake dados com FHIR REST API operações. Para fazer uma solicitação de exportação usando o FHIR RESTAPI, você deve ter um IAM usuário, um grupo ou uma função com as permissões necessárias, especificar $export como parte da POST solicitação e incluir parâmetros de solicitação no corpo da solicitação. De acordo com a FHIR especificação, o FHIR servidor deve oferecer suporte GET às solicitações e pode oferecer suporte POST às solicitações. Para oferecer suporte a parâmetros adicionais, é necessário um corpo para iniciar a exportação e, portanto, HealthLake oferece suporte POST às solicitações.

Importante

HealthLake os armazenamentos de dados criados antes de 1º de junho de 2023 oferecem suporte somente a solicitações de trabalho de exportação FHIR REST API baseadas em exportações em todo o sistema.

HealthLake os armazenamentos de dados criados antes de 1º de junho de 2023 não oferecem suporte para obter o status de uma exportação usando uma GET solicitação no endpoint de um armazenamento de dados.

Todas as solicitações de exportação que você faz usando o FHIR REST API são devolvidas em ndjson formato e exportadas para um bucket do Amazon S3. Cada objeto do S3 conterá somente um único tipo FHIR de recurso.

Você pode enfileirar solicitações de exportação de acordo com as AWS cotas da conta. Para saber mais sobre as Cotas de Serviço associadas a HealthLake, consulte. AWS HealthLake endpoints e cotas

HealthLake suporta os três tipos de solicitações de endpoint de exportação em massa a seguir.

Tipo Descrições Sintaxe

Exportação do sistema

Exporte todos os dados do HealthLake FHIR servidor.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/$export

Todos os pacientes

Exporte todos os dados relacionados a todos os pacientes, incluindo os tipos de recursos associados ao tipo de recurso do paciente.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Patient/$export

Grupo de pacientes

Exporte todos os dados relacionados a um grupo de pacientes especificado com uma ID de grupo.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Group/ID/$export

Antes de começar

Atenda aos requisitos a seguir para fazer uma solicitação de exportação usando o FHIR REST API for HealthLake.

  • Você deve ter configurado um usuário, grupo ou função que tenha as permissões necessárias para fazer a solicitação de exportação. Para saber mais, consulte Autorizando uma solicitação export.

  • Você deve ter criado uma função de serviço que conceda HealthLake acesso ao bucket do Amazon S3 para o qual você deseja que seus dados sejam exportados. A função de serviço também deve ser especificada HealthLake como principal do serviço. Para obter mais informações sobre a configuração de permissões, consulteConfigurando permissões para trabalhos de exportação.

Autorizando uma solicitação export

Para fazer uma solicitação de exportação bem-sucedida usando FHIR REST API o., autorize seu usuário, grupo ou função usando um IAM ou OAuth2 .0. Você também deve ter uma função de serviço.

Autorizando uma solicitação usando IAM

Quando você faz uma $export solicitação, o usuário, o grupo ou a função devem ter StartFHIRExportJobWithPost e CancelFHIRExportJobWithDelete IAM as ações incluídas na política. DescribeFHIRExportJobWithGet

Importante

HealthLake SDKas solicitações de exportação usando StartFHIRExportJob API a operação e as solicitações de FHIR REST API exportação usando StartFHIRExportJobWithPost API a operação têm IAM ações separadas. Cada IAM ação, SDK exportar com StartFHIRExportJob e FHIR REST API exportar comStartFHIRExportJobWithPost, pode ter permissões de permitir/negar tratadas separadamente. Se você quiser que ambas SDK e FHIR REST API as exportações sejam restritas, não se esqueça de negar as permissões para cada IAM ação.

Autorizando uma solicitação usando SMART on FHIR (OAuth2.0)

Ao fazer uma $export solicitação SMART em um armazenamento de HealthLake dados FHIR habilitado, você precisa ter os escopos apropriados atribuídos. Para saber mais sobre os escopos compatíveis, consulteHealthLake escopos específicos de FHIR recursos de armazenamento de dados.

Fazendo uma export solicitação

Esta seção descreve as etapas necessárias que você deve seguir ao fazer uma solicitação de exportação usando FHIR REST API o.

Para evitar cobranças acidentais em sua AWS conta, recomendamos testar suas solicitações fazendo uma POST solicitação sem fornecer a export sintaxe.

Para fazer a solicitação, você deve fazer o seguinte:

  1. Especifique export na POST solicitação URL de um endpoint compatível.

  2. Especifique os parâmetros de cabeçalho necessários.

  3. Especifique um corpo de solicitação que defina os parâmetros necessários.

Etapa 1: especificar export na POST solicitação URL um endpoint compatível

HealthLake oferece suporte a três tipos de solicitações de endpoint de exportação em massa. Para fazer uma solicitação de exportação em massa, você deve fazer uma solicitação POST com base em um dos três endpoints compatíveis. Os exemplos a seguir demonstram como especificar export na solicitaçãoURL.

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/$export

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Patient/$export

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Group/ID/$export

Nessa string de POST solicitação, você pode usar os seguintes parâmetros de pesquisa compatíveis.

Parâmetros de pesquisa compatíveis

HealthLake suporta os seguintes modificadores de pesquisa em solicitações de exportação em massa.

Esses exemplos incluem caracteres especiais que devem ser codificados antes de enviar sua solicitação.

Nome Obrigatório? Descrição Exemplo
_outputFormat Não O formato dos arquivos de dados em massa solicitados a serem gerados. Os valores aceitos sãoapplication/fhir+ndjson,application/ndjson,ndjson.
_type Não Uma sequência de tipos de FHIR recursos delimitados por vírgula que você deseja incluir em seu trabalho de exportação. Recomendamos incluir _type porque isso pode ter uma implicação de custo quando todos os recursos são exportados. &_type=MedicationStatement, Observation
_since Não Tipos de recursos modificados em ou após o carimbo de data e hora. Se um tipo de recurso não tiver um horário de última atualização, ele será incluído na sua resposta. &_since=2024-05-09T00%3A00%3A00Z

Etapa 2: especificar os parâmetros de cabeçalho necessários

Para fazer uma solicitação de exportação usando o FHIR RESTAPI, você deve especificar os dois parâmetros de cabeçalho a seguir.

  • Content-Type: application/fhir+json

  • Prefiro: respond-async

Em seguida, você deve especificar os elementos necessários no corpo da solicitação.

Etapa 3: especifique um corpo de solicitação que defina os parâmetros necessários.

A solicitação de exportação também exige um corpo em JSON formato. O corpo pode incluir os seguintes parâmetros.

Chave Obrigatório? Descrição Valor
DataAccessRoleArn Sim E ARN de uma função HealthLake de serviço. A função de serviço usada deve ser especificada HealthLake como principal do serviço. arn:aws:iam::444455556666:role/your-healthlake-service-role
JobName Não O nome da solicitação de exportação. your-export-job-name
S3Uri Sim Parte de uma OutputDataConfig chave. O S3 URI do bucket de destino em que seus dados exportados serão baixados. s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB/
KmsKeyId Sim Parte de uma OutputDataConfig chave. A ARN AWS KMS chave usada para proteger o bucket do Amazon S3. arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
exemplo — Corpo de uma solicitação de exportação feita usando o FHIR REST API

Para fazer uma solicitação de exportação usando o FHIR RESTAPI, você deve especificar um corpo, conforme mostrado a seguir.

{ "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", "JobName": "your-export-job", "OutputDataConfig": { "S3Configuration": { "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } }

Quando sua solicitação for bem-sucedida, você receberá a seguinte resposta.

cabeçalho de resposta

content-location: https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-job-id

Corpo de resposta

{ "datastoreId": "your-data-store-id", "jobStatus": "SUBMITTED", "jobId": "your-export-request-job-id" }

Gerenciando sua solicitação de exportação

Depois de fazer uma solicitação de exportação bem-sucedida, você pode gerenciar essa solicitação usando export para descrever o status de uma solicitação de exportação atual e export cancelar uma solicitação de exportação atual.

Ao cancelar uma solicitação de exportação usando o RESTAPI, você só será cobrado pela parte dos dados que foram exportados até o momento em que você enviou a solicitação de cancelamento.

Os tópicos a seguir descrevem como você pode obter o status de uma solicitação de exportação atual ou cancelá-la.

Cancelamento de uma solicitação de exportação

Para cancelar uma solicitação de exportação, faça uma DELETE solicitação e forneça o ID do trabalho na solicitaçãoURL.

DELETE https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-job-id

Quando sua solicitação for bem-sucedida, você receberá o seguinte.

{ "exportJobProperties": { "jobId": "your-original-export-request-job-id", "jobStatus": "CANCEL_SUBMITTED", "datastoreId": "your-data-store-id" } }

Quando sua solicitação não for bem-sucedida, você receberá o seguinte.

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-supported", "diagnostics": "Interaction not supported." } ] }

Descrever uma solicitação de exportação

Para obter o status de uma solicitação de exportação, faça uma GET solicitação usando export e seuexport-request-job-id.

GET https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-id

A JSON resposta conterá um ExportJobProperties objeto. Ele pode conter os seguintes pares chave-valor.

NomeObrigatório?DescriçãoValor
DataAccessRoleArnNãoE ARN de uma função HealthLake de serviço. A função de serviço usada deve ser especificada HealthLake como principal do serviço.arn:aws:iam::444455556666:role/your-healthlake-service-role
SubmitTimeNãoA data e hora em que um trabalho de exportação foi enviado.Apr 21, 2023 5:58:02
EndTimeNão

A hora em que um trabalho de exportação foi concluído.

Apr 21, 2023 6:00:08 PM
JobNameNãoO nome da solicitação de exportação.your-export-job-name
JobStatusNãoOs valores válidos são:
SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED | FAILED
S3UriSimParte de um OutputDataConfigobjeto. O Amazon S3 URI do bucket de destino em que seus dados exportados serão baixados.s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB/
KmsKeyIdSimParte de um OutputDataConfigobjeto. A ARN AWS KMS chave usada para proteger o bucket do Amazon S3.arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
exemplo : Corpo de uma solicitação de descrição de exportação feita usando o FHIR REST API

Quando for bem-sucedido, você receberá a seguinte JSON resposta.

{ "exportJobProperties": { "jobId": "your-export-request-id", "JobName": "your-export-job", "jobStatus": "SUBMITTED", "submitTime": "Apr 21, 2023 5:58:02 PM", "endTime": "Apr 21, 2023 6:00:08 PM", "datastoreId": "your-data-store-id", "outputDataConfig": { "s3Configuration": { "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"" } }, "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", } }