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.
Resolución de problemas AWS HealthLake
En los temas siguientes se proporcionan consejos para solucionar los errores y problemas que puedan surgir al utilizar los AWS CLI AWS SDK o HealthLake la consola. Si encuentras un problema que no aparece en esta sección, usa el botón Enviar comentarios en la barra lateral derecha de esta página para informarlo.
Temas
Acciones de almacenamiento de datos
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).
Problema: Al crear un banco de HealthLake datos con los AWS SDK, el estado de creación del almacén 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
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
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.
Para analizar por qué se produjo un error en un trabajo de importación, utilice la DescribeFHIRImportJob API para analizar el JobProperties. Se recomienda lo siguiente:
-
Si el estado es
FAILEDy 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
FAILEDy no hay ningún mensaje, vaya a la ubicación de salida del trabajo para acceder al archivo de manifiestomanifest.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
resourceTypese 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
resourceIdse 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.
API FHIR
Problema: ¿Cómo puedo implementar la autorización para las API RESTful del FHIR?
Determine la que se va Estrategia de autorización del almacén de datos 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 las API RESTful del FHIR 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
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.
Acciones de transformación de datos
Problema: Cuando llamo a un perfil de agente de transformación de datos o a una API de trabajo, recibo un AccessDeniedException.
A su usuario o rol de IAM le faltan los permisos de agente de transformación de datos necesarios. Añada las healthlake:*DataTransformation* acciones (por ejemplo, healthlake:CreateDataTransformationProfilehealthlake:StartDataTransformationJob, yhealthlake:UpdateProfileWithAgent:) a su política basada en la identidad. Para ver la lista completa de acciones, consulte. Configuración
Problema: Recibo un ResourceNotFoundException mensaje al describir o iniciar un trabajo de transformación.
Por lo general, esto significa que el identificador de perfil o el identificador de trabajo no existen en la región a la que llamas. Verifica el ID con la ListDataTransformationJobs API ListDataTransformationProfiles o la API y confirma que estás operando en la región en la que se creó el recurso.
Problema: Mi trabajo de transformación no comienza con un ValidationException.
La función de acceso a los datos que ha proporcionado no puede leer los archivos de origen ni escribir los resultados. Confirme que la política de confianza del rol healthlake.amazonaws.com permite asumirlo y que su política de permisos concede s3:GetObjects3:PutObject, y s3:ListBucket en sus ubicaciones de Amazon S3: ademáskms:Decrypt, kms:GenerateDataKey si cifra el resultado con una AWS KMS clave gestionada por el cliente. Para conocer las políticas de confianza y permisos, consulte Operaciones y seguridad.
Problema: He completado mi trabajo de transformación, pero el informe de desfase muestra una cobertura baja.
La baja cobertura significa que el perfil aún no mapea algunas secciones o elementos de origen, por lo que los datos no se incorporaron a la salida del FHIR. Abra los trabajos jobLevelDriftResult.json en la ubicación de salida de Amazon S3 para ver la lista clasificada de secciones y elementos de origen no mapeados y, a continuación, utilice el agente de IA de transformación de datos para añadir las asignaciones de recursos que faltan y volver a publicar el perfil. Para obtener más información, consulte Detección de desviaciones.
Problema: el agente de IA de transformación de datos parece dejar de responder a mitad de una conversación.
La conversación ha llegado a un estado de finalización; no está cerrada. Envíe un mensaje de seguimiento utilizando el mismo mensaje ConversationId para continuar con la sesión. Tenga en cuenta que la sesión de un agente de IA caduca a las 8 horas y admite un máximo de 15 mensajes de usuario: consulte Puntos finales y cuotas. Si la sesión ha caducado o ha alcanzado el límite de mensajes, inicia una sesión nueva.
Problema: una solicitud de conversión sincrónica (en tiempo real) devuelve el error 413 Request Entity Too Large.
Tu entrada supera el límite de tamaño de conversión de sincronización. La conversión sincrónica acepta C-CDA entradas de hasta 1 MB y entradas CSV combinadas de hasta 500 KB por solicitud. Para conjuntos de datos más grandes, ejecute en su lugar un trabajo de transformación masiva (asincrónica) a través de Amazon S3. Para conocer los límites de conversión de sincronización, consulte. AWS HealthLake cuotas y puntos de enlace
Integraciones de PNL
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 base64DocumentReference. 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
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_ERROR. Esta búsqueda mostrará una lista de todos los DocumentReference recursos que han provocado 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
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 mensaje de 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
-
Cree un nuevo banco de datos.
-
Exporte los datos del depósito preexistente a un bucket de Amazon S3.
-
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 cambiaCreating.
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 paso a paso 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
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 aCATVAR.
Este problema puede producirse al intentar crear resultados guardados, una tabla (estática) o una vista (dinámica).