Criação de um armazenamento HealthLake de dados - 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á.

Criação de um armazenamento HealthLake de dados

Use CreateFHIRDatastore para criar um armazenamento de AWS HealthLake dados em conformidade com a especificação FHIR R4. HealthLake os armazenamentos de dados são usados para importar, gerenciar, pesquisar e exportar dados FHIR. Você pode optar por importar (pré-carregar) dados de saúde FHIR R4 de código aberto do Synthea para seu armazenamento de dados ao criá-los. Para obter mais informações, consulte Tipos de dados pré-carregados.

Importante

HealthLake suporta dois tipos de estratégias de autorização de armazenamento de dados FHIR, AWS SigV4 ou SMART no FHIR. Você deve escolher uma das estratégias de autorização antes de criar um armazenamento de dados HealthLake FHIR. Para obter mais informações, consulte Estratégia de autorização do armazenamento de dados.

Quando você cria um armazenamento de HealthLake dados, um repositório de dados FHIR é disponibilizado por meio de um RESTful endpoint de API. Depois de criar seu armazenamento de HealthLake dados, você pode solicitar sua Declaração de Capacidade para encontrar todos os recursos (comportamentos) relacionados ao FHIR associados.

Os menus a seguir fornecem exemplos para o AWS CLI AWS SDKs e e um procedimento para AWS Management Console o. Para obter mais informações, consulte CreateFHIRDatastore na Referência de APIs do AWS HealthLake .

Para criar um armazenamento HealthLake de dados

Escolha um menu com base na sua preferência de acesso AWS HealthLake a.

CLI
AWS CLI

Exemplo 1: Criar um armazenamento de dados habilitado para SIGv4 HealthLake

O create-fhir-datastore exemplo a seguir demonstra como criar um novo armazenamento de dados em AWS HealthLake.

aws healthlake create-fhir-datastore \ --datastore-type-version R4 \ --datastore-name "FhirTestDatastore"

Saída:

{ "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "CREATING", "DatastoreId": "(Data store ID)" }

Exemplo 2: Crie um SMART no armazenamento de dados habilitado para FHIR HealthLake

O create-fhir-datastore exemplo a seguir demonstra como criar um novo SMART no armazenamento de dados habilitado para FHIR em. AWS HealthLake

aws healthlake create-fhir-datastore \ --datastore-name "your-data-store-name" \ --datastore-type-version R4 \ --preload-data-config PreloadDataType="SYNTHEA" \ --sse-configuration '{ "KmsEncryptionConfig": { "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:your-account-id:key/your-key-id" } }' \ --identity-provider-configuration file://identity_provider_configuration.json

Conteúdo de identity_provider_configuration.json:

{ "AuthorizationStrategy": "SMART_ON_FHIR_V1", "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\"]}" }

Saída:

{ "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "CREATING", "DatastoreId": "(Data store ID)" }

Para obter mais informações, consulte Criação e monitoramento de um armazenamento de dados FHIR no Guia do AWS HealthLake desenvolvedor.

Python
SDK para Python (Boto3)
@classmethod def from_client(cls) -> "HealthLakeWrapper": """ Creates a HealthLakeWrapper instance with a default AWS HealthLake client. :return: An instance of HealthLakeWrapper initialized with the default HealthLake client. """ health_lake_client = boto3.client("healthlake") return cls(health_lake_client) def create_fhir_datastore( self, datastore_name: str, sse_configuration: dict[str, any] = None, identity_provider_configuration: dict[str, any] = None, ) -> dict[str, str]: """ Creates a new HealthLake data store. When creating a SMART on FHIR data store, the following parameters are required: - sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store. - identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store. :param datastore_name: The name of the data store. :param sse_configuration: The server-side encryption configuration for a SMART on FHIR-enabled data store. :param identity_provider_configuration: The identity provider configuration for a SMART on FHIR-enabled data store. :return: A dictionary containing the data store information. """ try: parameters = {"DatastoreName": datastore_name, "DatastoreTypeVersion": "R4"} if ( sse_configuration is not None and identity_provider_configuration is not None ): # Creating a SMART on FHIR-enabled data store parameters["SseConfiguration"] = sse_configuration parameters[ "IdentityProviderConfiguration" ] = identity_provider_configuration response = self.health_lake_client.create_fhir_datastore(**parameters) return response except ClientError as err: logger.exception( "Couldn't create data store %s. Here's why %s", datastore_name, err.response["Error"]["Message"], ) raise

O código a seguir mostra um exemplo de parâmetros para um SMART no armazenamento de dados habilitado para FHIR HealthLake .

sse_configuration = { "KmsEncryptionConfig": {"CmkType": "AWS_OWNED_KMS_KEY"} } # TODO: Update the metadata to match your environment. 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", ], } # TODO: Update the IdpLambdaArn. identity_provider_configuration = { "AuthorizationStrategy": "SMART_ON_FHIR_V1", "FineGrainedAuthorizationEnabled": True, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": json.dumps(metadata), } data_store = self.create_fhir_datastore( datastore_name, sse_configuration, identity_provider_configuration )
  • Para obter detalhes da API, consulte Referência da API Create FHIRDatastore in AWS SDK for Python (Boto3).

nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository.

Exemplo de disponibilidade

Não consegue encontrar o que precisa? Solicite um exemplo de código usando o link Fornecer feedback na barra lateral direita desta página.

Observação

O procedimento a seguir cria um armazenamento HealthLake de dados com autorização AWS SigV4. O HealthLake console não suporta a criação de um SMART no armazenamento de dados FHIR.

Para criar um armazenamento HealthLake de dados com autorização AWS SigV4
  1. Faça login na página Criar armazenamento de dados no HealthLake console.

  2. Escolha Criar armazenamento de dados.

  3. Na seção Configurações do Armazenamento de Dados, em Nome do Armazenamento de Dados, especifique um nome.

  4. (Opcional) Na seção Configurações do Data Store, em Pré-carregar dados de amostra, marque a caixa de seleção para pré-carregar dados do Synthea. Os dados Synthea são um conjunto de dados de amostra de código aberto. Para obter mais informações, consulte Tipos de dados pré-carregados do Synthea para HealthLake.

  5. Na seção Criptografia do armazenamento de dados, escolha Usar chave própria da AWS (padrão) ou Escolher uma chave diferente do AWS KMS (avançada).

  6. Na seção Tags - opcional, você pode adicionar tags ao seu armazenamento de dados. Para saber mais sobre como marcar seu armazenamento de dados, consulteMarcando armazenamentos HealthLake de dados.

  7. Escolha Criar armazenamento de dados.

    O status do seu armazenamento de dados está disponível na página Armazenamentos de dados.