Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Fehlerbehebung AWS HealthLake
Die folgenden Themen enthalten Hinweise zur Behebung von Fehlern und Problemen, die bei der Verwendung der AWS CLI AWS SDKs oder der HealthLake Konsole auftreten können. Wenn Sie ein Problem finden, das in diesem Abschnitt nicht aufgeführt ist, verwenden Sie die Schaltfläche Feedback geben in der rechten Seitenleiste dieser Seite, um es zu melden.
Themen
Aktionen im Datenspeicher
Problem: Wenn ich versuche, einen HealthLake Datenspeicher zu erstellen, erhalte ich die folgende Fehlermeldung:
AccessDeniedException: Insufficient Lake Formation permission(s): Required Database on Catalog
Am 14. November 2022 HealthLake wurden die erforderlichen IAM-Berechtigungen zum Erstellen eines neuen Datenspeichers aktualisiert. Weitere Informationen finden Sie unter Konfigurieren Sie einen zu verwendenden IAM-Benutzer oder eine IAM-Rolle HealthLake (IAM-Administrator).
Problem: Beim Erstellen eines HealthLake Datenspeichers mithilfe der AWS SDKs gibt der Erstellungsstatus des Datenspeichers einen Ausnahmestatus oder einen unbekannten Status zurück.
Aktualisieren Sie Ihr AWS SDK auf die neueste Version, wenn Ihre Aufrufe DescribeFHIRDatastore oder ListFHIRDatastores API-Aufrufe eine Ausnahme oder einen unbekannten Datenspeicherstatus zurückgeben.
Aktionen importieren
Problem: Kann ich es trotzdem verwenden, HealthLake wenn meine Daten nicht im FHIR R4-Format vorliegen?
Nur FHIR R4-formatierte Daten können in einen Datenspeicher importiert werden. HealthLake Eine Liste von Partnern, die bei der Umwandlung vorhandener Gesundheitsdaten in das FHIR R4-Format helfen können, finden Sie unter Partner.AWS HealthLake
Problem: Warum ist mein FHIR-Importjob fehlgeschlagen?
Bei einem erfolgreichen Importauftrag wird ein Ordner mit Ergebnissen (Ausgabeprotokoll) im .ndjson Format generiert. Einzelne Datensätze können jedoch möglicherweise nicht importiert werden. In diesem Fall wird ein zweiter FAILURE Ordner mit einem Manifest der Datensätze generiert, die nicht importiert werden konnten. Weitere Informationen finden Sie unter Import von FHIR-Daten mit AWS HealthLake.
Um zu analysieren, warum ein Importauftrag fehlgeschlagen ist, verwenden Sie die DescribeFHIRImportJob API zur Analyse von JobProperties. Folgendes wird empfohlen:
-
Wenn der Status lautet
FAILEDund eine Meldung vorhanden ist, hängen die Fehler damit zusammen, dass Jobparameter wie die Größe der Eingabedaten oder die Anzahl der Eingabedateien die HealthLake Kontingente überschreiten. -
Lautet der Status des
COMPLETED_WITH_ERRORSImportauftrags, finden Sie in der Manifestdatei Informationen darübermanifest.json, welche Dateien nicht erfolgreich importiert wurden. -
Wenn der Status des Importauftrags lautet
FAILEDund keine Meldung vorhanden ist, wechseln Sie zum Ausgabeort des Jobs, um auf die Manifestdatei zuzugreifenmanifest.json.
Für jede Eingabedatei gibt es eine Fehlerausgabedatei mit dem Namen der Eingabedatei für jede Ressource, die nicht importiert werden kann. Die Antworten enthalten die Zeilennummer (lineID), die der Position der Eingabedaten entspricht, das FHIR-Antwortobjekt (UpdateResourceResponse) und den Statuscode (statusCode) der Antwort.
Eine Beispielausgabedatei könnte der folgenden ähneln:
{"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}
Das obige Beispiel zeigt, dass in den Zeilen 3, 4, 7, 9, 15 in den entsprechenden Eingabezeilen der Eingabedatei Fehler aufgetreten sind. Für jede dieser Zeilen lauten die Erklärungen wie folgt:
-
In Zeile 3 wird in der Antwort erklärt, dass die
resourceTypeAngaben in Zeile 3 der Eingabedatei nicht gültig sind. -
In Zeile 5 wird in der Antwort erklärt, dass in Zeile 5 der Eingabedatei ein FHIR-Validierungsfehler vorliegt.
-
In Zeile 7 wird in der Antwort erklärt, dass ein Validierungsproblem bei der Eingabe
resourceIdvorliegt. -
In Zeile 9 wird in der Antwort erklärt, dass die Eingabedatei eine gültige Ressourcen-ID enthalten muss.
-
In Zeile 15 lautet die Antwort der Eingabedatei, dass die Datei kein gültiges JSON-Format hat.
FHIR APIs
Problem: Wie implementiere ich die Autorisierung für die FHIR RESTful APIs?
Ermitteln Sie, welche verwendet werden Strategie zur Autorisierung von Datenspeichern soll.
Um eine SigV4-Autorisierung mit dem zu erstellen AWS SDK für Python (Boto3), erstellen Sie ein Skript, das dem folgenden Beispiel ähnelt.
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())
Problem: Warum erhalte ich AccessDenied Fehler, wenn ich die FHIR RESTful-APIs für einen Datenspeicher verwende, der mit einem vom Kunden verwalteten KMS-Schlüssel verschlüsselt ist?
Damit ein Benutzer oder eine Rolle auf einen Datenspeicher zugreifen kann, sind Berechtigungen sowohl für vom Kunden verwaltete Schlüssel als auch für IAM-Richtlinien erforderlich. Ein Benutzer muss über die erforderlichen IAM-Berechtigungen verfügen, um einen vom Kunden verwalteten Schlüssel verwenden zu können. Wenn ein Benutzer eine Erteilung widerruft oder zurückzieht, mit der die HealthLake Erlaubnis zur Verwendung des vom Kunden verwalteten KMS-Schlüssels erteilt wurde, HealthLake wird ein AccessDenied Fehler zurückgegeben.
HealthLake muss über die erforderlichen Berechtigungen verfügen, um auf Kundendaten zuzugreifen, neue in einen Datenspeicher importierte FHIR-Ressourcen zu verschlüsseln und die FHIR-Ressourcen zu entschlüsseln, wenn sie angefordert werden. Weitere Informationen finden Sie unter Problembehandlung bei Berechtigungen. AWS KMS
Problem: Ein POST FHIR-API-Vorgang zur HealthLake Verwendung eines 10-MB-Dokuments gibt den 413 Request Entity Too Large Fehler zurück.
AWS HealthLake hat ein synchrones Create and Update API-Limit von 5 MB, um erhöhte Latenzen und Timeouts zu vermeiden. Sie können große Dokumente (bis zu 164 MB) mithilfe des Binary Ressourcentyps mithilfe der Bulk Import API aufnehmen.
Aktionen zur Datentransformation
Problem: Wenn ich ein Data Transformation Agent-Profil oder eine Job-API aufrufe, erhalte ich eine AccessDeniedException.
Ihrem IAM-Benutzer oder Ihrer IAM-Rolle fehlen die erforderlichen Data Transformation Agent-Berechtigungen. Fügen Sie die healthlake:*DataTransformation* Aktionen, zum Beispiel, healthlake:CreateDataTransformationProfilehealthlake:StartDataTransformationJob, undhealthlake:UpdateProfileWithAgent: zu Ihrer identitätsbasierten Richtlinie hinzu. Die vollständige Liste der Aktionen finden Sie unter. Einrichtung
Problem: Ich erhalte eine, ResourceNotFoundException wenn ich einen Transformationsjob beschreibe oder starte.
Das bedeutet normalerweise, dass die Profil- oder Job-ID in der Region, die Sie anrufen, nicht existiert. Überprüfen Sie die ID mit der ListDataTransformationJobs API ListDataTransformationProfiles oder und vergewissern Sie sich, dass Sie in der Region tätig sind, in der die Ressource erstellt wurde.
Problem: Mein Transformationsjob beginnt nicht mit einem ValidationException.
Die von Ihnen angegebene Datenzugriffsrolle kann Ihre Quelldateien nicht lesen und keine Ausgabe schreiben. Vergewissern Sie sich, dass die Vertrauensrichtlinie der Rolle es erlaubthealthlake.amazonaws.com, sie anzunehmen, und dass ihre Berechtigungsrichtlinie dies s3:ListBucket an Ihren Amazon S3 S3-Standorten gewährts3:GetObject: kms:Decrypt und kms:GenerateDataKey ob Sie die Ausgabe mit einem vom Kunden verwalteten AWS KMS Schlüssel verschlüsseln. s3:PutObject Die Vertrauens- und Berechtigungsrichtlinien finden Sie unter Betrieb und Sicherheit.
Problem: Mein Transformationsjob wurde abgeschlossen, aber im Drift-Bericht wird nur eine geringe Abdeckung angezeigt.
Eine geringe Abdeckung bedeutet, dass das Profil einige Quellabschnitte oder Elemente noch nicht abbildet, sodass keine Daten in die FHIR-Ausgabe übernommen wurden. Öffnen Sie die Jobs jobLevelDriftResult.json im Amazon S3 S3-Ausgabespeicherort, um die Rangliste der nicht zugewiesenen Quellabschnitte und -elemente zu sehen, und verwenden Sie dann den Data Transformation AI-Agent, um die fehlenden Ressourcenzuordnungen hinzuzufügen und das Profil erneut zu veröffentlichen. Weitere Informationen finden Sie unter Erkennung von Abweichungen.
Problem: Der Data Transformation AI-Agent scheint während einer Konversation nicht mehr zu reagieren.
Die Konversation hat den Status „Abschluss“ erreicht; sie ist nicht geschlossen. Senden Sie eine Follow-up-Nachricht und verwenden Sie dieselbeConversationId, um die Sitzung fortzusetzen. Beachten Sie, dass eine AI-Agentensitzung nach 8 Stunden abläuft und maximal 15 Benutzernachrichten zulässig sind: siehe Endpunkte und Kontingente. Wenn die Sitzung abgelaufen ist oder das Nachrichtenlimit erreicht wurde, starten Sie eine neue Sitzung.
Problem: Eine synchrone Konvertierungsanforderung (in Echtzeit) gibt den Fehler 413 Request Entity Too Large zurück.
Ihre Eingabe überschreitet die Größenbeschränkung für die Synchronisierungskonvertierung. Die synchrone Konvertierung akzeptiert C-CDA Eingaben bis zu 1 MB und kombinierte CSV-Eingaben bis zu 500 KB pro Anfrage. Führen Sie bei größeren Datensätzen stattdessen einen (asynchronen) Massentransformationsauftrag über Amazon S3 aus. Informationen zu den Grenzwerten für Synchronisierungskonvertierungen finden Sie unter. AWS HealthLake Endpunkte und Kontingente
NLP-Integrationen
Problem: Wie aktiviere ich die integrierte HealthLake Funktion zur Verarbeitung natürlicher Sprache?
Ab dem 14. November 2022 hat sich das Standardverhalten von HealthLake Datenspeichern geändert.
Aktuelle Datenspeicher: Alle aktuellen HealthLake Datenspeicher werden die Verarbeitung natürlicher Sprache (NLP) für DocumentReference Base64-kodierte Ressourcen einstellen. Das bedeutet, dass neue DocumentReference Ressourcen nicht mit NLP analysiert werden und dass keine neuen Ressourcen auf der Grundlage von Text im Ressourcentyp generiert werden. DocumentReference Für bestehende DocumentReference Ressourcen bleiben die über NLP generierten Daten und Ressourcen erhalten, sie werden jedoch nach dem 20. Februar 2023 nicht aktualisiert.
Neue Datenspeicher: HealthLake Datenspeicher, die nach dem 20. Februar 2023 erstellt wurden, führen keine Verarbeitung natürlicher Sprache (NLP) auf DocumentReference Base64-codierten Ressourcen durch.
Um die HealthLake NLP-Integration zu aktivieren, erstellen Sie einen Support-Fall mit. AWS Support Center Console
Problem: >Wie finde ich DocumentReference Ressourcen, die mit integriertem NLP nicht verarbeitet werden konnten?
Wenn eine DocumentReference Ressource nicht gültig ist, wird eine Erweiterung HealthLake bereitgestellt, die auf einen Validierungsfehler hinweist, anstatt sie in der integrierten medizinischen NLP-Ausgabe bereitzustellen. Um DocumentReference Ressourcen zu finden, die bei der NLP-Verarbeitung zu einem Validierungsfehler geführt haben, können Sie die search FHIR-Funktion mit dem Suchschlüssel cm-decoration-status und dem Suchwert VALIDATION_ERROR verwenden HealthLake. Diese Suche listet alle DocumentReference Ressourcen auf, die zu Validierungsfehlern geführt haben, zusammen mit einer Fehlermeldung, die die Art des Fehlers beschreibt. Die Struktur des Erweiterungsfeldes in den DocumentReference Ressourcen mit Validierungsfehlern ähnelt dem folgenden Beispiel.
"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/" } ]
Anmerkung
A VALIDATION_ERROR kann auch auftreten, wenn bei der NLP-Dekoration mehr als 10.000 verschachtelte Objekte erstellt werden. In diesem Fall muss das Dokument vor der Verarbeitung in kleinere Dokumente aufgeteilt werden.
SQL-Integrationen
Problem: Warum erhalte ich eine Lake Formation, permissions error:
lakeformation:PutDataLakeSettings wenn ich einen neuen Data Lake-Administrator hinzufüge?
Wenn Ihr IAM-Benutzer oder Ihre IAM-Rolle die AWSLakeFormationDataAdmin AWS verwaltete Richtlinie enthält, können Sie keine neuen Data Lake-Administratoren hinzufügen. Sie erhalten eine Fehlermeldung, die Folgendes enthält:
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
Die AWS verwaltete Richtlinie AdministratorAccess ist erforderlich, um einen IAM-Benutzer oder eine IAM-Rolle als AWS Lake Formation Data Lake-Administrator hinzuzufügen. Wenn Ihr IAM-Benutzer oder Ihre IAM-Rolle ebenfalls enthält, schlägt AWSLakeFormationDataAdmin die Aktion fehl. Die AWSLakeFormationDataAdmin AWS verwaltete Richtlinie enthält eine ausdrückliche Ablehnung des AWS Lake Formation Formation-API-Vorgangs,PutDataLakeSetting. Selbst Administratoren mit uneingeschränktem AWS Zugriff auf die AdministratorAccess verwaltete Richtlinie können durch die AWSLakeFormationDataAdmin Richtlinie eingeschränkt werden.
Problem: Wie migriere ich einen vorhandenen HealthLake Datenspeicher, um die Amazon Athena SQL-Integration zu verwenden?
HealthLake Datenspeicher, die vor dem 14. November 2022 erstellt wurden, funktionieren, können in Athena jedoch nicht mit SQL abgefragt werden. Um einen bereits vorhandenen Datenspeicher mit Athena abzufragen, müssen Sie ihn zunächst in einen neuen Datenspeicher migrieren.
Um Ihre HealthLake Daten in einen neuen Datenspeicher zu migrieren
-
Erstellen Sie einen neuen Datenspeicher.
-
Exportieren Sie die Daten aus dem bereits vorhandenen in einen Amazon S3 S3-Bucket.
-
Importieren Sie die Daten aus dem Amazon S3 S3-Bucket in den neuen Datenspeicher.
Anmerkung
Das Exportieren von Daten in einen Amazon S3 S3-Bucket ist mit einem Aufpreis verbunden. Die zusätzliche Gebühr hängt von der Größe der Daten ab, die Sie exportieren.
Problem: Beim Erstellen eines neuen HealthLake Datenspeichers für die SQL-Integration ändert sich der Status des Datenspeichers nicht vonCreating.
Wenn Sie versuchen, einen neuen HealthLake Datenspeicher zu erstellen, und Ihr Datenspeicherstatus sich nicht von Creating ändert, müssen Sie Athena aktualisieren, um den AWS Glue Data Catalog verwenden zu können. Weitere Informationen finden Sie unter Schrittweises Upgrade auf den AWS Glue-Datenkatalog im Amazon Athena Athena-Benutzerhandbuch.
Nach dem erfolgreichen Upgrade von können Sie einen HealthLake Datenspeicher erstellen. AWS Glue Data Catalog
Um einen alten HealthLake Datenspeicher zu entfernen, erstellen Sie einen Support-Fall mit AWS Support Center Console
Problem: Die Athena-Konsole funktioniert nach dem Import von Daten in einen neuen HealthLake Datenspeicher nicht
Nachdem Sie Daten in einen neuen HealthLake Datenspeicher importiert haben, stehen die Daten möglicherweise nicht sofort zur Verfügung. Dies dient dazu, genügend Zeit für die Aufnahme der Daten in Apache Iceberg-Tabellen zu haben. Versuchen Sie es zu einem späteren Zeitpunkt erneut.
Problem: Wie verbinde ich Suchergebnisse in Athena mit anderen AWS Diensten?
Wenn Sie Ihre Suchergebnisse von Athena mit anderen AWS Diensten teilen, können Probleme auftreten, wenn Sie sie json_extract[1] als Teil einer SQL-Suchabfrage verwenden. Um dieses Problem zu beheben, müssen Sie auf CATVAR aktualisieren.
Dieses Problem tritt möglicherweise auf, wenn Sie versuchen, Speicherergebnisse, eine Tabelle (statisch) oder eine Ansicht (dynamisch) zu erstellen.