Création d'un magasin HealthLake de données - AWS HealthLake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un magasin HealthLake de données

CreateFHIRDatastoreÀ utiliser pour créer un magasin de AWS HealthLake données conforme à la spécification FHIR R4. HealthLake les magasins de données sont utilisés pour importer, gérer, rechercher et exporter des données FHIR. Vous pouvez choisir d'importer (précharger) les données de santé open source FHIR R4 de Synthea dans votre banque de données lorsque vous les créez. Pour de plus amples informations, veuillez consulter Types de données préchargés.

Important

HealthLake prend en charge deux types de stratégies d'autorisation de stockage de données FHIR, AWS SIGv4 ou SMART sur FHIR. Vous devez choisir l'une des stratégies d'autorisation avant de créer un magasin de données HealthLake FHIR. Pour de plus amples informations, veuillez consulter Stratégie d'autorisation du magasin de données.

Lorsque vous créez un magasin de HealthLake données, un référentiel de données FHIR est mis à disposition via un point de terminaison d' RESTfulAPI. Après avoir créé votre banque de HealthLake données, vous pouvez demander sa déclaration de capacité pour trouver toutes les capacités (comportements) associées au FHIR.

Les menus suivants fournissent des exemples pour AWS CLI AWS SDKs et une procédure pour AWS Management Console. Pour plus d’informations, consultez CreateFHIRDatastore dans la Référence d’API AWS HealthLake .

Pour créer un magasin HealthLake de données

Choisissez un menu en fonction de vos préférences d'accès à AWS HealthLake.

CLI
AWS CLI

Exemple 1 : création d'un magasin de données compatible SIGv4 HealthLake

L'create-fhir-datastoreexemple suivant montre comment créer un nouveau magasin de données dans AWS HealthLake.

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

Sortie :

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

Exemple 2 : créer un magasin de données compatible SMART sur FHIR HealthLake

L'create-fhir-datastoreexemple suivant montre comment créer un nouveau magasin de données compatible SMART on FHIR dans. 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

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

Sortie :

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

Pour plus d'informations, consultez la section Création et surveillance d'un magasin de données FHIR dans le Guide du AWS HealthLake développeur.

Python
SDK pour 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

Le code suivant montre un exemple de paramètres pour un magasin de données compatible SMART sur 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 )
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

Exemple de disponibilité

Vous n’avez pas trouvé ce dont vous avez besoin ? Demandez un exemple de code à l'aide du lien Fournir des commentaires dans la barre latérale droite de cette page.

Remarque

La procédure suivante crée un magasin de HealthLake données avec l'autorisation AWS SigV4. La HealthLake console ne prend pas en charge la création d'un magasin de données SMART sur FHIR.

Pour créer un magasin de HealthLake données avec l'autorisation AWS SigV4
  1. Connectez-vous à la page Créer un magasin de données sur la HealthLake console.

  2. Choisissez Create Data Store.

  3. Dans la section Paramètres du magasin de données, pour le nom du magasin de données, spécifiez un nom.

  4. (Facultatif) Dans la section des paramètres du magasin de données, pour Précharger les échantillons de données, cochez la case pour précharger les données Synthea. Synthea Data est un exemple de jeu de données open source. Pour de plus amples informations, veuillez consulter Types de données préchargés Synthea pour HealthLake.

  5. Dans la section Chiffrement du magasin de données, choisissez Utiliser une clé appartenant à AWS (par défaut) ou Choisir une autre clé AWS KMS (avancée).

  6. Dans la section Balises - optionnelle, vous pouvez ajouter des balises à votre banque de données. Pour en savoir plus sur le balisage de votre banque de données, consultezMarquage des magasins de HealthLake données.

  7. Choisissez Create Data Store.

    L'état de votre magasin de données est disponible sur la page des magasins de données.