

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.

# Résolution des problèmes AWS HealthLake
<a name="reference-healthlake-troubleshooting"></a>

Les rubriques suivantes fournissent des conseils de résolution des erreurs et des problèmes que vous pourriez rencontrer lors de l'utilisation AWS CLI AWS des SDK ou de HealthLake la console. Si vous trouvez un problème qui n'est pas répertorié dans cette section, utilisez le bouton **Envoyer des commentaires** dans la barre latérale droite de cette page pour le signaler.

**Topics**
+ [Actions relatives au stockage des données](#troubleshooting-data-store)
+ [Actions d'importation](#troubleshooting-import)
+ [API FHIR](#troubleshooting-fhir-apis)
+ [Actions de transformation des données](#data-transformation-troubleshooting)
+ [Intégrations NLP](#troubleshooting-nlp-integrations)
+ [Intégrations SQL](#troubleshooting-sql-integrations)

## Actions relatives au stockage des données
<a name="troubleshooting-data-store"></a>

**Problème :** *Lorsque j'essaie de créer un magasin de HealthLake données, le message d'erreur suivant s'affiche :*

```
AccessDeniedException: Insufficient Lake Formation permission(s): Required Database on Catalog
```

Le 14 novembre 2022, les autorisations IAM requises ont été HealthLake mises à jour pour créer un nouveau magasin de données. Pour de plus amples informations, veuillez consulter [Configuration d'un utilisateur ou d'un rôle IAM à utiliser HealthLake (administrateur IAM)](getting-started-setting-up.md#setting-up-configure-iam).

**Problème :** *lors de la création d'un magasin de HealthLake données à l'aide AWS des SDK, le statut de création du magasin de données renvoie une exception ou un statut inconnu*.

Mettez à jour votre AWS SDK vers la dernière version si vos appels `DescribeFHIRDatastore` ou ceux de `ListFHIRDatastores` l'API renvoient une exception ou un statut de banque de données inconnu.

## Actions d'importation
<a name="troubleshooting-import"></a>

**Problème :** *Puis-je toujours l'utiliser HealthLake si mes données ne sont pas au format FHIR R4 ?*

Seules les données au format FHIR R4 peuvent être importées dans un HealthLake magasin de données. [Pour une liste des partenaires qui peuvent aider à transformer les données de santé existantes au format FHIR R4, voir AWS HealthLake Partenaires.](https://docs.aws.amazon.com/healthlake/partners/)

**Problème :** *Pourquoi ma tâche d'importation FHIR a-t-elle échoué* ?

Une tâche d'importation réussie générera un dossier avec les résultats (journal de sortie) au `.ndjson` format, mais l'importation d'enregistrements individuels peut échouer. Dans ce cas, un deuxième `FAILURE` dossier sera généré avec un manifeste des enregistrements dont l'importation n'a pas pu être effectuée. Pour de plus amples informations, veuillez consulter [Importation de données FHIR avec AWS HealthLake](importing-fhir-data.md).

Pour analyser pourquoi une tâche d'importation a échoué, utilisez l'`DescribeFHIRImportJob`API pour analyser le JobProperties. Les mesures suivantes sont recommandées :
+ Si le statut est `FAILED` et qu'un message est présent, les échecs sont liés à des paramètres de tâche tels que la taille des données d'entrée ou le nombre de fichiers d'entrée dépassant les HealthLake quotas.
+ Si le statut de la tâche d'importation est le suivant `COMPLETED_WITH_ERRORS``manifest.json`, consultez le fichier manifeste pour savoir quels fichiers n'ont pas été importés correctement. 
+ Si le statut de la tâche d'importation est le même `FAILED` et qu'aucun message n'est présent, rendez-vous à l'emplacement de sortie de la tâche pour accéder au fichier manifeste,`manifest.json`. 

 Pour chaque fichier d'entrée, il existe un fichier de sortie d'échec avec le nom du fichier d'entrée pour toute ressource dont l'importation échoue. Les réponses contiennent le numéro de ligne (LineID) correspondant à l'emplacement des données d'entrée, l'objet de réponse FHIR (UpdateResourceResponse) et le code d'état (StatusCode) de la réponse.

Un exemple de fichier de sortie peut être similaire au suivant :

```
{"lineId":3, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"1 validation error detected: Value 'Patient123' at 'resourceType' failed to satisfy constraint: Member must satisfy regular expression pattern: [A-Za-z]{1,256}"}]}, "statusCode":400}
{"lineId":5, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"This property must be an simple value, not a com.google.gson.JsonArray","location":["/EffectEvidenceSynthesis/name"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@telecom'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@gender'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@birthDate'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@address'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@maritalStatus'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@multipleBirthBoolean'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@communication'","location":["/EffectEvidenceSynthesis"]},{"severity":"warning","code":"processing","diagnostics":"Name should be usable as an identifier for the module by machine processing applications such as code generation [name.matches('[A-Z]([A-Za-z0-9_]){0,254}')]","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.status': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.population': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.exposure': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.exposureAlternative': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.outcome': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"information","code":"processing","diagnostics":"Unknown extension http://synthetichealth.github.io/synthea/disability-adjusted-life-years","location":["EffectEvidenceSynthesis.extension[3]"]},{"severity":"information","code":"processing","diagnostics":"Unknown extension http://synthetichealth.github.io/synthea/quality-adjusted-life-years","location":["EffectEvidenceSynthesis.extension[4]"]}]}, "statusCode":400}
{"lineId":7, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"2 validation errors detected: Value at 'resourceId' failed to satisfy constraint: Member must satisfy regular expression pattern: [A-Za-z0-9-.]{1,64}; Value at 'resourceId' failed to satisfy constraint: Member must have length greater than or equal to 1"}]}, "statusCode":400}
{"lineId":9, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"Missing required id field in resource json"}]}, "statusCode":400}
{"lineId":15, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"Invalid JSON found in input file"}]}, "statusCode":400}
```

L'exemple ci-dessus montre qu'il y a eu des défaillances sur les lignes 3, 4, 7, 9, 15 à partir des lignes d'entrée correspondantes du fichier d'entrée. Pour chacune de ces lignes, les explications sont les suivantes : 
+ Sur la ligne 3, la réponse explique que le contenu `resourceType` fourni dans la ligne 3 du fichier d'entrée n'est pas valide.
+ Sur la ligne 5, la réponse explique qu'il y a une erreur de validation FHIR dans la ligne 5 du fichier d'entrée.
+ À la ligne 7, la réponse explique qu'il existe un problème de validation avec la `resourceId` valeur fournie en entrée.
+ Sur la ligne 9, la réponse explique que le fichier d'entrée doit contenir un identifiant de ressource valide.
+ À la ligne 15, la réponse du fichier d'entrée est que le fichier n'est pas dans un format JSON valide.

## API FHIR
<a name="troubleshooting-fhir-apis"></a>

**Problème :** *Comment implémenter l'autorisation pour les API RESTful de FHIR* ?

Déterminez le [Stratégie d'autorisation du magasin de données](getting-started-concepts.md#concept-data-store-authorization-strategy) à utiliser.

Pour créer une autorisation SigV4 à l'aide de AWS SDK pour Python (Boto3), créez un script similaire à l'exemple suivant.

```
import boto3
import requests
import json
from requests_auth_aws_sigv4 import AWSSigV4
 
# Set the input arguments
data_store_endpoint = 'https://healthlake.us-east-1.amazonaws.com/datastore/<datastore id>/r4//'
resource_path = "Patient"
requestBody = {"resourceType": "Patient", "active": True, "name": [{"use": "official","family": "Dow","given": ["Jen"]},{"use": "usual","given": ["Jen"]}],"gender": "female","birthDate": "1966-09-01"}
region = 'us-east-1'
 
#Frame the resource endpoint
resource_endpoint = data_store_endpoint+resource_path
session = boto3.session.Session(region_name=region)
client = session.client("healthlake")
 
# Frame authorization
auth = AWSSigV4("healthlake", session=session)
 
# Call data store FHIR endpoint using SigV4 auth

r = requests.post(resource_endpoint, json=requestBody, auth=auth, )
print(r.json())
```

**Problème :** *Pourquoi est-ce que je reçois `AccessDenied` des erreurs lors de l'utilisation des API RESTful FHIR pour un magasin de données chiffré à l'aide d'une clé KMS gérée par le client* ?

Les autorisations relatives aux clés gérées par le client et aux politiques IAM sont requises pour qu'un utilisateur ou un rôle puisse accéder à un magasin de données. Un utilisateur doit disposer des autorisations IAM requises pour utiliser une clé gérée par le client. Si un utilisateur révoque ou retire une HealthLake autorisation autorisant l'utilisation de la clé KMS gérée par le client, un `AccessDenied` message d'erreur HealthLake sera renvoyé.

HealthLake doit avoir l'autorisation d'accéder aux données des clients, de chiffrer les nouvelles ressources FHIR importées dans un magasin de données et de déchiffrer les ressources FHIR lorsqu'elles sont demandées. Pour plus d'informations, consultez la section [Résolution des problèmes liés AWS KMS aux autorisations](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html).

**Problème :** *Une opération de `POST` l'API FHIR HealthLake utilisant un document de 10 Mo renvoie l'`413 Request Entity Too Large`erreur*.

AWS HealthLake dispose d'une limite d'API de création et de mise à jour synchrone de 5 Mo afin d'éviter des latences et des délais d'attente accrus. Vous pouvez ingérer des documents volumineux, jusqu'à 164 Mo, en utilisant le type de `Binary` ressource à l'aide de l'API d'importation en bloc.

## Actions de transformation des données
<a name="data-transformation-troubleshooting"></a>

**Problème :** *Lorsque j'appelle un profil d'agent de transformation des données ou une API de travail, je reçois un AccessDeniedException.*

Votre utilisateur ou rôle IAM ne dispose pas des autorisations requises pour l'agent de transformation des données. Ajoutez les `healthlake:*DataTransformation*` actions : par exemple, `healthlake:CreateDataTransformationProfile``healthlake:StartDataTransformationJob`, et `healthlake:UpdateProfileWithAgent` : à votre politique basée sur l'identité. Pour la liste complète des actions, voir[Configuration](data-transformation-setting-up.md).

**Problème :** *Je reçois un ResourceNotFoundException lorsque je décrit ou démarre un travail de transformation.*

Cela signifie généralement que l'identifiant de profil ou l'identifiant de poste n'existe pas dans la région que vous appelez. Vérifiez l'ID avec l'`ListDataTransformationJobs`API `ListDataTransformationProfiles` or et confirmez que vous opérez dans la région où la ressource a été créée.

**Problème :** *Mon travail de transformation ne commence pas par un ValidationException.*

Le rôle d'accès aux données que vous avez indiqué ne peut pas lire vos fichiers source ni écrire de sortie. Vérifiez que la politique de confiance du rôle permet de l'`healthlake.amazonaws.com`assumer, et que sa politique d'autorisations l'accorde `s3:GetObject``s3:PutObject`, et `s3:ListBucket` sur vos sites Amazon S3 : `kms:Decrypt` et `kms:GenerateDataKey` si vous cryptez la sortie avec une AWS KMS clé gérée par le client. Pour les politiques de confiance et d'autorisation, voir Opérations et sécurité.

**Problème :** *Mon travail de transformation est terminé, mais le rapport de dérive indique une faible couverture.*

Une faible couverture signifie que le profil ne cartographie pas encore certaines sections ou certains éléments de la source, de sorte que les données n'ont pas été intégrées dans la sortie du FHIR. Ouvrez la tâche `jobLevelDriftResult.json` dans l'emplacement de sortie Amazon S3 pour voir la liste classée des sections et éléments source non mappés, puis utilisez l'agent Data Transformation AI pour ajouter les mappages de ressources manquants et republier le profil. Pour de plus amples informations, veuillez consulter [Détection des écarts](data-transformation-features.md#data-transformation-drift-detection).

**Problème :** *L'agent Data Transformation AI semble cesser de répondre au cours d'une conversation*.

La conversation a atteint l'état d'achèvement ; elle n'est pas close. Envoyez un message de suivi en utilisant le même `ConversationId` pour poursuivre la session. Notez qu'une session d'agent AI expire au bout de 8 heures et autorise un maximum de 15 messages utilisateur : voir Endpoints et quotas. Si la session a expiré ou a atteint le nombre limite de messages, démarrez une nouvelle session.

**Problème :** *Une demande de conversion synchrone (en temps réel) renvoie une erreur 413 Request Entity Too Large*.

Votre saisie dépasse la limite de taille de conversion de synchronisation. La conversion synchrone accepte C-CDA des entrées allant jusqu'à 1 Mo et des entrées CSV combinées jusqu'à 500 Ko par demande. Pour les ensembles de données plus volumineux, exécutez plutôt une tâche de transformation en masse (asynchrone) sur Amazon S3. Pour connaître les limites de conversion de synchronisation, consultez[AWS HealthLake points de terminaison et quotas](reference-healthlake-endpoints-quotas.md).

## Intégrations NLP
<a name="troubleshooting-nlp-integrations"></a>

**Problème :** *Comment activer la fonction intégrée HealthLake de traitement du langage naturel ?*

Le 14 novembre 2022, le comportement par défaut des magasins de HealthLake données a changé.

**Magasins de données actuels** : tous les magasins de HealthLake données actuels cesseront d'utiliser le traitement du langage naturel (NLP) sur les ressources codées en base64`DocumentReference`. Cela signifie que les nouvelles `DocumentReference` ressources ne seront pas analysées à l'aide du NLP et qu'aucune nouvelle ressource ne sera générée à partir du texte du type de `DocumentReference` ressource. Pour les `DocumentReference` ressources existantes, les données et les ressources générées via le NLP sont conservées, mais elles ne seront pas mises à jour après le 20 février 2023.

**Nouveaux magasins de données : les** magasins de HealthLake données créés après le 20 février 2023 *n'effectueront pas* de traitement du langage naturel (NLP) sur les ressources codées en base64`DocumentReference`.

Pour activer l'intégration du HealthLake NLP, créez un dossier d'assistance à l'aide [AWS Support Center Console](https://console.aws.amazon.com/support/home#/)de. Pour créer votre dossier, connectez-vous à votre dossier Compte AWS, puis choisissez **Créer un dossier**. Pour en savoir plus sur la création d'un dossier et sur la gestion des [dossiers, voir Création de dossiers d'assistance et gestion de cas](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) dans le *Guide de Support l'utilisateur*.

**Problème :** *>Comment trouver les `DocumentReference` ressources qui n'ont pas pu être traitées par le NLP intégré* ?

Si une `DocumentReference` ressource n'est pas valide, HealthLake fournit une extension indiquant une erreur de validation au lieu de la fournir dans la sortie PNL médicale intégrée. **Pour rechercher les `DocumentReference` ressources qui ont entraîné une erreur de validation lors du traitement NLP, vous pouvez utiliser la `search` fonction FHIR avec la clé HealthLake de recherche **cm-decoration-status** et la valeur de recherche VALIDATION\_ERROR.** Cette recherche répertorie toutes les `DocumentReference` ressources ayant entraîné des erreurs de validation, ainsi qu'un message d'erreur décrivant la nature de l'erreur. La structure du champ d'extension dans les `DocumentReference` ressources présentant des erreurs de validation ressemblera à l'exemple suivant.

```
"extension": [
          {
              "extension": [
                  {
                      "url": "http://healthlake.amazonaws.com/aws-cm/status/",
                      "valueString": "VALIDATION_ERROR"
                  },
                  {
                      "url": "http://healthlake.amazonaws.com/aws-cm/message/",
                      "valueString": "Resource led to too many nested objects after NLP operation processed the document. 10937 nested objects exceeds the limit of 10000."
                  }
              ],
              "url": "http://healthlake.amazonaws.com/aws-cm/"
          }
    ]
```

**Note**  
Un `VALIDATION_ERROR` peut également se produire si la décoration NLP crée plus de 10 000 objets imbriqués. Dans ce cas, le document doit être scindé en documents plus petits avant d'être traité.

## Intégrations SQL
<a name="troubleshooting-sql-integrations"></a>

**Problème :** *Pourquoi est-ce que j'obtiens un Lake Formation `permissions error: lakeformation:PutDataLakeSettings` lorsque j'ajoute un nouvel administrateur de lac de données ?*

Si votre utilisateur ou rôle IAM contient la politique `AWSLakeFormationDataAdmin` AWS gérée, vous ne pouvez pas ajouter de nouveaux administrateurs de data lake. Vous recevrez un message d'erreur contenant les informations suivantes :

```
User arn:aws:sts::111122223333:assumed-role/lakeformation-admin-user is not authorized to perform: lakeformation:PutDataLakeSettings on resource: arn:aws:lakeformation:us-east-2:111122223333:catalog:111122223333 with an explicit deny in an identity-based policy
```

La politique AWS gérée `AdministratorAccess` est requise pour ajouter un utilisateur ou un rôle IAM en tant qu'administrateur AWS du lac de données de Lake Formation. Si votre utilisateur ou rôle IAM en contient également, `AWSLakeFormationDataAdmin` l'action échouera. La politique `AWSLakeFormationDataAdmin` AWS gérée contient un refus explicite de l'opération de l'API AWS Lake Formation,`PutDataLakeSetting`. Même les administrateurs disposant d'un accès complet à l' AWS utilisation de la politique `AdministratorAccess` gérée peuvent être limités par cette `AWSLakeFormationDataAdmin` dernière.

**Problème :** *Comment migrer un magasin de HealthLake données existant pour utiliser l'intégration SQL d'Amazon Athena* ?

HealthLake les magasins de données créés avant le 14 novembre 2022 sont fonctionnels, mais ne peuvent pas être interrogés dans Athena à l'aide de SQL. Pour interroger un magasin de données préexistant avec Athena, vous devez d'abord le migrer vers un nouveau magasin de données. 

**Pour migrer vos HealthLake données vers un nouveau magasin de données**

1. Créez un nouveau magasin de données.

1. Exportez les données du compartiment préexistant vers un compartiment Amazon S3.

1. Importez les données dans le nouveau magasin de données depuis le compartiment Amazon S3.

**Note**  
L'exportation de données vers un compartiment Amazon S3 entraîne des frais supplémentaires. Les frais supplémentaires dépendent de la taille des données que vous exportez.

**Problème :** *lors de la création d'un nouveau magasin de HealthLake données pour l'intégration SQL, le statut du magasin de données ne change pas de`Creating`.*

Si vous essayez de créer un nouveau magasin de HealthLake données et que le statut de votre magasin de données ne change pas depuis **Création**, vous devez mettre Athéna à jour pour qu'elle utilise le. AWS Glue Data Catalog Pour plus d'informations, consultez la section [Mise à niveau vers le catalogue de données AWS Glue étape par étape](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) dans le guide de l'*utilisateur Amazon Athena*.

Une fois la mise à niveau réussie AWS Glue Data Catalog, vous pouvez créer un magasin de HealthLake données.

Pour supprimer un ancien magasin de HealthLake données, créez un dossier d'assistance à l'aide de [AWS Support Center Console](https://console.aws.amazon.com/support/home#/). Pour créer votre dossier, connectez-vous à votre dossier Compte AWS, puis choisissez **Créer un dossier**. Pour en savoir plus, consultez les sections [Création de demandes d'assistance et gestion de dossiers](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) dans le *Guide de Support l'utilisateur*.

**Problème :** *La console Athena ne fonctionne pas après l'importation de données dans un nouveau HealthLake * magasin de données

Une fois que vous avez importé des données dans un nouveau magasin de HealthLake données, il est possible que celles-ci ne soient pas disponibles pour une utilisation immédiate. Cela permet de laisser le temps aux données d'être ingérées dans les tables Apache Iceberg. Réessayez ultérieurement.

**Problème :** *Comment associer les résultats de recherche d'Athena à d'autres AWS services* ?

Lorsque vous partagez les résultats de recherche d'Athena avec d'autres AWS services, des problèmes peuvent survenir lorsque vous les utilisez dans `json_extract[1]` le cadre d'une requête de recherche SQL. Pour résoudre ce problème, vous devez effectuer une mise à jour vers`CATVAR`.

Vous pouvez rencontrer ce problème lorsque vous essayez de **créer des** résultats de sauvegarde, une **table** (statique) ou une **vue** (dynamique).