View a markdown version of this page

Erste Schritte mit dem SDK und AWS CLI - AWS HealthLake

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.

Erste Schritte mit dem SDK und AWS CLI

Installieren und konfigurieren

Anweisungen zur Installation und Konfiguration finden Sie unter Installieren von AWS CLI.

Schritt 1: Erstellen Sie ein Transformationsprofil

Beginnen Sie mit AWS Starter-Profil (nur CCDA)

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CCDA \ --profile-name "My CCDA Profile" \ --source '{"StarterProfile": {"StarterProfileName": "ccda-starter-kit-v1"}}'

Beginnen Sie mit Beispieldaten (nur CSV)

Profil erstellen:

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CSV \ --profile-name "Patient CSV Mapping" \ --source '{"SampleData": {"S3Uri": "s3://my-bucket/samples/patient-data.csv"}}'

Führen Sie den AI-Agenten aus, um ein erstes YAML-Mapping zu erstellen.

Initiieren Sie eine neue Konversation mit dem Agenten, um eine neue Konversations-ID zu erhalten. Rufen Sie die API erneut auf und übergeben Sie diesmal die Antwort ConversationId aus der vorherigen Antwort und Ihre eigentliche Anfrage. Bei einem CSV-Profil analysiert der Agent hier die Beispieldateien, die Sie bei der Erstellung bereitgestellt haben, und generiert das YAML-Mapping:

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CSV \ --conversation-id "00154593-c867-4e4c-b870-25fb5237e54f" \ --input-message '{"Body": "Generate a profile to convert my CSVs into FHIR.", "Type": "normal"}'

Setzen Sie die Konversation mit demselben fort ConversationId , um das Mapping für mehrere Runden zu verfeinern (z. B. „Ordnen Sie die Spalte RACE_CD einer FHIR-Erweiterung zu“). Wenn der Mitarbeiter Sie auffordert, eine Änderung zu bestätigen, antworten Sie mit „Type“: „confirmation_response“.

Beginnen Sie mit der lokalen Zuordnung

aws healthlake create-data-transformation-profile \ --region us-west-2 \ --source-format CCDA \ --profile-name "CI/CD Profile" \ --source '{"ProfileMapping": {"ProfileMapping": {"Resources/Patient.vm": "#set($patient = $input)..."}}}'

Aus vorhandenem Profil klonen

aws healthlake create-data-transformation-profile \ --region us-east-1 \ --source-format CCDA \ --profile-name test-profile-clone \ --source '{"ExistingVersionedProfileId": {"ProfileId": "e41af4b891d6f9211b42b90435cf0cea", "Version": 0}}'

Antwort:

{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "Version": 0, "SourceFormat": "CCDA", "TargetFormat": "FHIR_R4", "ProfileName": "My CCDA Profile", "LastUpdatedAt": "2026-07-01T12:00:00Z" }

Das Profil wird im Entwurfsstatus (Version 0) erstellt.

Schritt 2: Passen Sie das Profil mit dem AI-Agenten an (optional)

Initiieren Sie eine neue Konversation mit dem Agenten, um eine neue Konversations-ID zu erhalten. Rufen Sie die API erneut auf und übergeben Sie dieses Mal die ConversationId

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --conversation-id "conv-a1b2c3d4-e5f6-7890" \ --input-message '{"Body": "Add a mapping for Medication resources", "Type": "normal"}'

Antwort:

{ "chatOutput": { "body": "I can help you add a Medication resource mapping. Which CCDA section should I map from?", "type": "options", "optionsList": ["Medications Section", "Discharge Medications", "Immunizations"] }, "conversationId": "conv-a1b2c3d4-e5f6-7890" }

Setzen Sie die Konversation mit der zurückgegebenen ConversationID fort:

aws healthlake update-profile-with-agent \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --input-message '{"body": "Medications Section", "type": "confirmation_response"}' \ --conversation-id "conv-a1b2c3d4-e5f6-7890"

Schritt 3: Testen Sie mit Sync-Konvertierung (optional)

Der Endpunkt der Synchronisierungskonvertierung ist REST-only. Testen Sie ein Profil vor der Veröffentlichung anhand eines Beispieldokuments:

curl -X POST "https://datatransformation.healthlake.us-west-2.amazonaws.com/transform-data" \ --aws-sigv4 "aws:amz:us-west-2:healthlake" \ --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \ -H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "InputData": {"CcdaInput": "<?xml version=\"1.0\"?><ClinicalDocument>...</ClinicalDocument>"}, "DriftDetectionEnabled": true }'

Antwort:

{ "TransformedData": "{\"resourceType\":\"Bundle\",\"type\":\"collection\",\"entry\":[...]}", "DriftReport": "{\"coverageRate\":0.95,\"unmappedElements\":[...]}" }
  • TransformedData: Die konvertierten FHIR-Ressourcen als JSON-encoded FHIR-Bundle-Zeichenfolge.

  • DriftReport: nur vorhanden, wenn es wahr DriftDetectionEnabled ist. Ein JSON-encoded Drift-Bericht, der die Deckungsrate und nicht zugeordnete Quellenelemente anzeigt.

Anmerkung

ProvenanceEnabled ist standardmäßig auf true voreingestellt. Ressourcen zur Herkunft werden generiert, sofern Sie in der Anfrage nicht ausdrücklich "ProvenanceEnabled„: false gesetzt haben.

Schritt 4: Veröffentlichen Sie das Profil

aws healthlake publish-data-transformation-profile \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --source-format CCDA \ --change-description "Initial release - Patient, Observation, Medication mappings"

Beim Veröffentlichen wird eine unveränderliche Version (v1) erstellt. Ihr Entwurf bleibt editierbar, und Massenaufträge verwenden automatisch die neueste veröffentlichte Version.

Schritt 5: Daten in FHIR konvertieren

Der Data Transformation Agent bietet 3 Möglichkeiten, Ihre Quelldaten in FHIR R4 zu konvertieren.

1. Synchronisieren Sie die Konvertierung

curl -X POST "https://datatransformation.healthlake.us-west-2.amazonaws.com/transform-data" \ --aws-sigv4 "aws:amz:us-west-2:healthlake" \ --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \ -H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "ProfileId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "InputData": {"CcdaInput": "<?xml version=\"1.0\"?><ClinicalDocument>...</ClinicalDocument>"}, "DriftDetectionEnabled": true }'

2. Führen Sie einen Massentransformationsauftrag für Amazon S3 aus

aws healthlake start-data-transformation-job \ --region us-west-2 \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --input-data-config '{"S3Uri": "s3://my-source-bucket/ccda-files/", "SourceFormat": "CCDA"}' \ --output-data-config '{"S3Configuration": {"S3Uri": "s3://my-output-bucket/fhir-output/", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd1234"}}' \ --data-access-role-arn "arn:aws:iam::123456789012:role/DTA-DataAccessRole" \ --client-token "unique-token-$(date +%s)" \ --job-name "cardiology-batch-july" \ --drift-detection-enabled

Überwachen Sie den Job:

# Check status aws healthlake describe-data-transformation-job \ --region us-west-2 \ --job-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" # List recent completed jobs aws healthlake list-data-transformation-jobs \ --region us-west-2 \ --job-status COMPLETED \ --submitted-after "2026-07-01T00:00:00Z"

3. Führen Sie einen Massentransformationsjob aus und nehmen Sie ihn in einen Datenspeicher auf HealthLake

Um Quelldateien zu konvertieren und die resultierenden FHIR-Ressourcen in einem einzigen Schritt direkt in einen HealthLake Datenspeicher zu laden, verwenden Sie die vorhandene StartFHIRImportJob API mit den Transformationsprofilfeldern:

aws healthlake start-fhir-import-job \ --region us-west-2 \ --datastore-id "your-datastore-id" \ --input-data-config '{"S3Uri": "s3://my-source-bucket/ccda-files/"}' \ --job-output-data-config '{"S3Configuration": {"S3Uri": "s3://my-output-bucket/import-output/", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd1234"}}' \ --data-access-role-arn "arn:aws:iam::123456789012:role/DTA-DataAccessRole" \ --profile-id "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" \ --input-format "CCDA" \ --drift-detection-enabled \ --job-name "cardiology-import-july" \ --client-token "import-$(date +%s)"

Dadurch wird ein zweiphasiger Job gestartet: Zuerst konvertiert der Service Ihre Quelldateien mithilfe des veröffentlichten Profils und nimmt dann die resultierenden FHIR-Ressourcen in den Datenspeicher auf. Die Daten können sofort über die FHIR REST-API abgefragt werden, sobald die Aufnahme abgeschlossen ist.

Überwachen Sie den Job:

aws healthlake describe-fhir-import-job \ --region us-west-2 \ --datastore-id "your-datastore-id" \ --job-id "returned-job-id"
Anmerkung

Der Datenspeicher muss sich im Status AKTIV befinden. Provenance ist standardmäßig aktiviert. Die Datenzugriffsrolle benötigt dieselben Amazon S3 und dieselben AWS KMS Berechtigungen wie eigenständige Jobs.