Exportação de HealthLake dados com o FHIR $export - 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 HealthLake dados com o FHIR $export

Você pode exportar dados em massa do seu armazenamento de HealthLake dados usando a operação FHIR $export. HealthLake suporta o $export uso POST e as solicitações do FHIR. GET Para fazer uma solicitação de exportação comPOST, você precisa ter um usuário, grupo ou função do IAM com as permissões necessárias, especificar $export como parte da solicitação e incluir os parâmetros desejados no corpo da solicitação.

nota

Todas as solicitações de HealthLake exportação feitas usando o FHIR $export são retornadas em ndjson formato e exportadas para um bucket do Amazon S3, onde cada objeto do Amazon S3 contém somente um único tipo de recurso do FHIR.

Você pode enfileirar solicitações de exportação de acordo com as AWS cotas de serviço da conta. Para obter mais informações, consulte Cotas de serviço.

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

HealthLake $exporttipos a granel
Tipo de exportação Descrição Sintaxe

Sistema

Exporte todos os dados do servidor HealthLake FHIR.

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/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.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/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.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export

Antes de começar

Atenda aos requisitos a seguir para fazer uma solicitação de exportação usando a API FHIR REST para. 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 a API REST FHIR, autorize seu usuário, grupo ou função usando IAM ou .0. OAuth2 Você também deve ter uma função de serviço.

Autorizar uma solicitação usando o IAM

Quando você faz uma $export solicitação, o usuário, o grupo ou a função devem ter ações do IAM incluídas na política. Para obter mais informações, consulte Configurando permissões para trabalhos de exportação.

Autorizando uma solicitação usando SMART no FHIR (2.0) OAuth

Ao fazer uma $export solicitação em um SMART no armazenamento de HealthLake dados habilitado para FHIR, você deve ter os escopos apropriados atribuídos. Para obter mais informações, consulte SMART nos escopos de recursos do FHIR para HealthLake.

nota

O FHIR $export com GET solicitações exige o mesmo método de autenticação ou token do portador (no caso do SMART no FHIR) para solicitar a exportação e a recuperação de arquivos. Os arquivos exportados usando o FHIR $export com GET estão disponíveis para download por 48 horas.

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 a API FHIR REST.

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 no URL da POST solicitação para 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: especifique $export no URL da POST solicitação para 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 onde especificar $export na URL da solicitação.

  • POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export

  • POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export

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

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

Parâmetros de pesquisa compatíveis

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

Os exemplos a seguir 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 recursos FHIR 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 a API REST FHIR, você deve especificar os seguintes parâmetros de cabeçalho.

  • 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 Um ARN de uma função de HealthLake 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 URI do S3 do bucket de destino em que seus dados exportados serão baixados. s3://amzn-s3-demo-bucket/EXPORT-JOB/
KmsKeyId Sim Parte de uma OutputDataConfig chave. O ARN da 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 a API FHIR REST

Para fazer uma solicitação de exportação usando a API REST FHIR, 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://amzn-s3-demo-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.region.amazonaws.com/datastore/datastoreId/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 a 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 a API REST, você só é 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 URL da solicitação.

DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/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.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-id

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

Nome Obrigatório? Descrição Valor
DataAccessRoleArn Não Um ARN de uma função de HealthLake 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
SubmitTime Não A data e hora em que um trabalho de exportação foi enviado. Apr 21, 2023 5:58:02
EndTime Não

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

Apr 21, 2023 6:00:08 PM
JobName Não O nome da solicitação de exportação. your-export-job-name
JobStatus Não Os valores válidos são:
SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED | FAILED
S3Uri Sim Parte de um OutputDataConfigobjeto. O URI do Amazon S3 do bucket de destino em que seus dados exportados serão baixados. s3://amzn-s3-demo-bucket/EXPORT-JOB/
KmsKeyId Sim Parte de um OutputDataConfigobjeto. O ARN da 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 a API REST FHIR

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

{ "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://amzn-s3-demo-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", } }