Creación de un almacén HealthLake de datos - 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.

Creación de un almacén HealthLake de datos

Se utiliza CreateFHIRDatastore para crear un banco AWS HealthLake de datos que cumpla con la especificación FHIR R4. HealthLake Los bancos de datos se utilizan para importar, administrar, buscar y exportar datos del FHIR. Puede optar por importar (precargar) los datos de salud del FHIR R4 de código abierto de Synthea a su almacén de datos al crearlos. Para obtener más información, consulte Tipos de datos precargados.

Importante

HealthLake admite dos tipos de estrategias de autorización de almacenes de datos del FHIR: AWS SiGv4 o SMART on FHIR. Debe elegir una de las estrategias de autorización antes de crear un banco de datos del HealthLake FHIR. Para obtener más información, consulte Estrategia de autorización del almacén de datos.

Al crear un banco de HealthLake datos, un repositorio de datos del FHIR está disponible a través de un punto final de la RESTful API. Una vez creado el banco de HealthLake datos, puede solicitar su declaración de capacidad para encontrar todas las capacidades (comportamientos) relacionadas con el FHIR asociadas.

Los siguientes menús proporcionan ejemplos de la AWS CLI AWS SDKs y un procedimiento para la. Consola de administración de AWS Para obtener más información, consulta CreateFHIRDatastore en la AWS HealthLake Referencia de la API de .

Para crear un banco HealthLake de datos

Elija un menú en función de sus preferencias de acceso a AWS HealthLake.

CLI
AWS CLI

Ejemplo 1: Crear un almacén de datos compatible con SIGv4 HealthLake

El siguiente create-fhir-datastore ejemplo muestra cómo crear un nuevo banco de datos en. AWS HealthLake

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

Salida:

{ "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)" }

Ejemplo 2: Crear un almacén de datos SMART en un almacén de datos compatible con FHIR HealthLake

El siguiente create-fhir-datastore ejemplo muestra cómo crear un nuevo almacén de datos compatible con SMART on FHIR en. 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

Contenido 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\"]}" }

Salida:

{ "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 obtener más información, consulte Creación y supervisión de un banco de datos del FHIR en la Guía para desarrolladores.AWS HealthLake

  • Para obtener más información sobre la API, consulte Create FHIRDatastore in AWS CLI Command Reference.

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

En el siguiente código se muestra un ejemplo de parámetros para un almacén de datos compatible con SMART on 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 obtener más información sobre la API, consulta la referencia de la API Create FHIRDatastore in AWS SDK for Python (Boto3).

nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Ejemplo de disponibilidad

¿No encuentra lo que necesita? Solicita un ejemplo de código mediante el enlace Enviar comentarios en la barra lateral derecha de esta página.

Nota

El siguiente procedimiento crea un almacén de HealthLake datos con la autorización de AWS SiGv4. La HealthLake consola no admite la creación de un almacén de datos SMART en el FHIR.

Para crear un almacén de HealthLake datos con la autorización de AWS SiGv4
  1. Inicie sesión en la página de creación de un almacén de datos de la HealthLake consola.

  2. Selecciona Crear almacén de datos.

  3. En la sección de configuración del almacén de datos, en Nombre del almacén de datos, especifique un nombre.

  4. (Opcional) En la sección de configuración del almacén de datos, en Precargar datos de muestra, active la casilla de verificación para precargar los datos de Synthea. Los datos de Synthea son un conjunto de datos de muestra de código abierto. Para obtener más información, consulte Tipos de datos precargados de Synthea para HealthLake.

  5. En la sección de cifrado del almacén de datos, elija Usar una clave propia de AWS (predeterminada) o Elegir una clave de AWS KMS diferente (avanzada).

  6. En la sección Etiquetas (opcional), puede añadir etiquetas a su almacén de datos. Para obtener más información sobre cómo etiquetar el banco de datos, consulteEtiquetado de almacenes HealthLake de datos.

  7. Elija Crear almacén de datos.

    El estado del banco de datos está disponible en la página Almacenes de datos.