

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.

# Solución de problemas AWS HealthLake
<a name="reference-healthlake-troubleshooting"></a>

En los temas siguientes se proporcionan consejos para solucionar los errores y problemas que puedan surgir al utilizar la HealthLake consola AWS CLI AWS SDKs, o. Si encuentra un problema que no aparece en esta sección, utilice el botón **Enviar comentarios** en la barra lateral derecha de esta página para informarlo.

**Topics**
+ [Acciones de almacenamiento de datos](#troubleshooting-data-store)
+ [Acciones de importación](#troubleshooting-import)
+ [FHIR APIs](#troubleshooting-fhir-apis)
+ [Integraciones de PNL](#troubleshooting-nlp-integrations)
+ [Integraciones de SQL](#troubleshooting-sql-integrations)

## Acciones de almacenamiento de datos
<a name="troubleshooting-data-store"></a>

**Problema:** *cuando intento crear un banco de HealthLake datos, aparece el siguiente error:*

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

El 14 de noviembre de 2022, HealthLake actualicé los permisos de IAM necesarios para crear un nuevo banco de datos. Para obtener más información, consulte [Configure el usuario o rol de IAM que desee utilizar HealthLake (administrador de IAM)](getting-started-setting-up.md#setting-up-configure-iam).

**Problema:** *Al crear un banco de HealthLake datos mediante el AWS SDKs, el estado de creación del banco de datos devuelve un estado de excepción o desconocido*.

Actualice su AWS SDK a la última versión si sus llamadas `DescribeFHIRDatastore` o las de la `ListFHIRDatastores` API devuelven una excepción o un estado desconocido del almacén de datos.

## Acciones de importación
<a name="troubleshooting-import"></a>

**Problema:** *¿Puedo seguir utilizándolos HealthLake si mis datos no están en formato FHIR R4*?

Solo los datos con formato FHIR R4 se pueden importar a un almacén de datos. HealthLake [Para ver una lista de socios que pueden ayudar a transformar los datos de salud existentes al formato R4 del FHIR, consulte Socios.AWS HealthLake](https://docs.aws.amazon.com/healthlake/partners/)

**Problema:** *¿Por qué falló mi trabajo de importación del FHIR*?

Si la importación se realiza correctamente, se generará una carpeta con los resultados (registro de salida) en `.ndjson` formato; sin embargo, es posible que no se puedan importar registros individuales. Cuando esto suceda, se generará una segunda `FAILURE` carpeta con un manifiesto de los registros que no se pudieron importar. Para obtener más información, consulte [Importación de datos del FHIR con AWS HealthLake](importing-fhir-data.md).

Para analizar por qué ha fallado un trabajo de importación, utilice la `DescribeFHIRImportJob` API para analizar el JobProperties. Se recomienda lo siguiente:
+ Si el estado es `FAILED` y aparece un mensaje, los errores están relacionados con parámetros del trabajo, como el tamaño de los datos de entrada o el número de archivos de entrada, que superan HealthLake las cuotas.
+ Si el estado del trabajo de importación es`COMPLETED_WITH_ERRORS`, consulte el archivo de manifiesto para obtener información sobre los archivos que no se importaron correctamente. `manifest.json` 
+ Si el estado del trabajo de importación es `FAILED` y no hay ningún mensaje, vaya a la ubicación de salida del trabajo para acceder al archivo de manifiesto`manifest.json`. 

 Para cada archivo de entrada, hay un archivo de salida con un nombre de archivo de entrada para cualquier recurso que no se pueda importar. Las respuestas contienen el número de línea (LineID) correspondiente a la ubicación de los datos de entrada, el objeto de respuesta del FHIR (UpdateResourceResponse) y el código de estado (StatusCode) de la respuesta.

Un ejemplo de archivo de salida podría ser similar al siguiente:

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

El ejemplo anterior muestra que hubo errores en las líneas 3, 4, 7, 9 y 15 de las líneas de entrada correspondientes del archivo de entrada. Para cada una de esas líneas, las explicaciones son las siguientes: 
+ En la línea 3, la respuesta explica lo que `resourceType` se proporciona en la línea 3 del archivo de entrada no es válido.
+ En la línea 5, la respuesta explica que hay un error de validación del FHIR en la línea 5 del archivo de entrada.
+ En la línea 7, la respuesta explica que hay un problema de validación y `resourceId` se proporciona como entrada.
+ En la línea 9, la respuesta explica que el archivo de entrada debe contener un identificador de recurso válido.
+ En la línea 15, la respuesta del archivo de entrada es que el archivo no está en un formato JSON válido.

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

**Asunto:** *¿Cómo puedo implementar la autorización para el RESTful APIs FHIR*?

Determine el que se [Estrategia de autorización del almacén de datos](getting-started-concepts.md#concept-data-store-authorization-strategy) va a utilizar.

Para crear una autorización SigV4 mediante el AWS SDK para Python (Boto3), cree un script similar al siguiente ejemplo.

```
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())
```

**Problema:** *¿Por qué recibo `AccessDenied` errores al utilizar el FHIR RESTful APIs para un almacén de datos cifrado con una clave KMS gestionada por el cliente*?

Para que un usuario o rol pueda acceder a un almacén de datos, se requieren permisos tanto para las claves administradas por el cliente como para las políticas de IAM. El usuario debe tener los permisos de IAM necesarios para utilizar una clave gestionada por el cliente. Si un usuario revoca o retira una concesión que daba HealthLake permiso para usar la clave de KMS administrada por el cliente, HealthLake devolverá un `AccessDenied` error.

HealthLake debe tener el permiso para acceder a los datos de los clientes, cifrar los nuevos recursos del FHIR importados a un almacén de datos y descifrar los recursos del FHIR cuando se soliciten. [Para obtener más información, consulte Solución de problemas de permisos. AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html)

**Problema:** *una operación de la `POST` API del FHIR que HealthLake utiliza un documento de 10 MB devuelve el `413 Request Entity Too Large`* error.

AWS HealthLake tiene un límite sincrónico de 5 MB para crear y actualizar la API para evitar el aumento de las latencias y los tiempos de espera. Puede ingerir documentos de gran tamaño, de hasta 164 MB, utilizando el tipo de `Binary` recurso que utilice la API de importación masiva.

## Integraciones de PNL
<a name="troubleshooting-nlp-integrations"></a>

**Problema:** *¿Cómo activo la función HealthLake de procesamiento de lenguaje natural integrada*?

A partir del 14 de noviembre de 2022, el comportamiento predeterminado de HealthLake los almacenes de datos cambió.

**Almacenes de datos actuales**: todos los almacenes de HealthLake datos actuales dejarán de utilizar el procesamiento del lenguaje natural (NLP) en los recursos codificados en base64`DocumentReference`. Esto significa que `DocumentReference` los nuevos recursos no se analizarán mediante la PNL y no se generarán nuevos recursos a partir del texto del tipo de recurso. `DocumentReference` En el caso de `DocumentReference` los recursos existentes, los datos y los recursos generados mediante la PNL permanecen, pero no se actualizarán después del 20 de febrero de 2023.

**Nuevos almacenes de datos**: HealthLake los almacenes de datos creados después del 20 de febrero de 2023 *no* procesarán el lenguaje natural (NLP) en recursos codificados en `DocumentReference` base64.

Para activar la integración de la HealthLake PNL, cree un caso de soporte utilizando. [AWS Support Center Console](https://console.aws.amazon.com/support/home#/) Para crear tu caso, inicia sesión en tu y Cuenta de AWS, a continuación, selecciona **Crear caso**. Para obtener más información sobre la creación de un caso y la gestión de casos, consulte [Creación de casos de soporte y gestión de casos](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) en la *Guía del Soporte usuario*.

**Problema:** *> ¿Cómo puedo encontrar `DocumentReference` recursos que no puedan procesarse con la PNL integrada*?

Si un `DocumentReference` recurso no es válido, HealthLake proporciona una extensión que indica un error de validación en lugar de incluirlo en el resultado de la PNL médica integrada. **Para encontrar `DocumentReference` los recursos que provocaron un error de validación durante el procesamiento de la PNL, puede utilizar la `search` función FHIR con la clave HealthLake de búsqueda **cm-decoration-status**y el valor de búsqueda VALIDATION\$1ERROR.** Esta búsqueda mostrará una lista de todos los `DocumentReference` recursos que provocaron errores de validación, junto con un mensaje de error que describe la naturaleza del error. La estructura del campo de extensión en los `DocumentReference` recursos con errores de validación se parecerá a la del siguiente ejemplo.

```
"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/"
          }
    ]
```

**nota**  
También `VALIDATION_ERROR` puede ocurrir si la decoración de la PNL crea más de 10 000 objetos anidados. Cuando esto sucede, el documento debe dividirse en documentos más pequeños antes de procesarlo.

## Integraciones de SQL
<a name="troubleshooting-sql-integrations"></a>

**Problema:** *¿Por qué obtengo un Lake Formation `permissions error: lakeformation:PutDataLakeSettings` al añadir un nuevo administrador de lagos de datos?*

Si su usuario o rol de IAM contiene la política `AWSLakeFormationDataAdmin` AWS administrada, no podrá añadir nuevos administradores de lagos de datos. Aparecerá un error que contiene lo siguiente:

```
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 política AWS gestionada `AdministratorAccess` es necesaria para añadir un usuario o rol de IAM como administrador AWS del lago de datos de Lake Formation. Si su usuario o rol de IAM también lo contiene, `AWSLakeFormationDataAdmin` la acción fallará. La política `AWSLakeFormationDataAdmin` AWS gestionada contiene una denegación explícita de la operación de la API AWS Lake Formation,`PutDataLakeSetting`. Incluso los administradores con acceso total al AWS uso de la política `AdministratorAccess` administrada pueden estar limitados por la `AWSLakeFormationDataAdmin` política.

**Problema:** *¿Cómo puedo migrar un almacén de HealthLake datos existente para usar la integración de Amazon Athena SQL*?

HealthLake los almacenes de datos creados antes del 14 de noviembre de 2022 son funcionales, pero no se pueden consultar en Athena mediante SQL. Para consultar un banco de datos preexistente con Athena, primero debe migrarlo a un banco de datos nuevo. 

**Para migrar sus HealthLake datos a un nuevo banco de datos**

1. Cree un nuevo banco de datos.

1. Exporte los datos del depósito preexistente a un bucket de Amazon S3.

1. Importe los datos al nuevo almacén de datos desde el bucket de Amazon S3.

**nota**  
La exportación de datos a un bucket de Amazon S3 conlleva un coste adicional. El cargo adicional depende del tamaño de los datos que exporte.

**Problema:** *Al crear un nuevo HealthLake banco de datos para la integración con SQL, el estado del banco de datos no cambia`Creating`.*

Si intenta crear un nuevo banco de HealthLake datos y su estado no cambia desde **Crear**, debe actualizar Athena para usar el. AWS Glue Data Catalog Para obtener más información, consulte [Actualización al catálogo de datos de AWS Glue step-by-step](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) en la Guía del *usuario de Amazon Athena*.

Después de actualizar correctamente el AWS Glue Data Catalog, puede crear un almacén de HealthLake datos.

Para eliminar un almacén de HealthLake datos antiguo, cree un caso de soporte utilizando [AWS Support Center Console](https://console.aws.amazon.com/support/home#/). Para crear su caso, inicie sesión en su y Cuenta de AWS, a continuación, seleccione **Crear caso**. Para obtener más información, consulte [Creación de casos de soporte y administración de casos](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) en la *Guía del Soporte usuario*.

**Problema:** *la consola Athena no funciona después de importar datos a un nuevo HealthLake * almacén de datos

Después de importar los datos a un nuevo banco de HealthLake datos, es posible que los datos no estén disponibles para su uso inmediato. Esto es para dar tiempo a que los datos se ingieran en las tablas de Apache Iceberg. Inténtelo de nuevo más tarde.

**Problema:** *¿Cómo puedo conectar los resultados de búsqueda de Athena con otros AWS servicios*?

Al compartir los resultados de búsqueda de Athena con otros AWS servicios, pueden producirse problemas al utilizarlos `json_extract[1]` como parte de una consulta de búsqueda de SQL. Para solucionar este problema, debe actualizar a`CATVAR`.

Este problema puede producirse al intentar **crear** resultados guardados, una **tabla** (estática) o una **vista** (dinámica).