

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai SDK dan AWS CLI
<a name="data-transformation-getting-started-cli"></a>

## Menginstal dan mengonfigurasi
<a name="data-transformation-getting-started-cli-install"></a>

Untuk petunjuk instalasi dan konfigurasi, lihat [Menginstal AWS CLI](https://docs.aws.amazon.com/healthlake/latest/devguide/getting-started-setting-up.html#setting-up-install-cli).

## Langkah 1: Buat profil transformasi
<a name="data-transformation-getting-started-cli-step1"></a>

### Mulai dari AWS Profil Pemula (hanya CCDA)
<a name="data-transformation-getting-started-cli-step1-starter"></a>

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

### Mulai dari data sampel (khusus CSV)
<a name="data-transformation-getting-started-cli-step1-csv"></a>

Buat profil:

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

Jalankan agen AI untuk membuat pemetaan YAMM awal.

Memulai percakapan baru dengan agen untuk mendapatkan ID percakapan baru. Panggil API lagi, kali ini meneruskan ConversationId dari respons sebelumnya dan permintaan Anda yang sebenarnya. Untuk profil CSV, di sinilah agen menganalisis file sampel yang Anda berikan saat pembuatan dan menghasilkan pemetaan YAMM:

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

Lanjutkan percakapan dengan yang sama ConversationId untuk menyempurnakan pemetaan di beberapa putaran (misalnya, “Petakan kolom RACE\_CD ke ekstensi FHIR”). Jika agen meminta Anda untuk mengonfirmasi perubahan, tanggapi dengan “Type”: “confirmation\_response”.

### Mulai dari Pemetaan Lokal
<a name="data-transformation-getting-started-cli-step1-raw"></a>

```
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)..."}}}'
```

### Kloning dari Profil yang ada
<a name="data-transformation-getting-started-cli-step1-clone"></a>

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

Respons:

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

Profil dibuat dalam keadaan draf (versi 0).

## Langkah 2: Sesuaikan Profil dengan agen AI (opsional)
<a name="data-transformation-getting-started-cli-step2"></a>

Memulai percakapan baru dengan agen untuk mendapatkan ID percakapan baru. Panggil API lagi, kali ini melewati 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"}'
```

Respons:

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

Lanjutkan percakapan dengan ConversationId yang dikembalikan:

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

## Langkah 3: Uji dengan konversi sinkronisasi (opsional)
<a name="data-transformation-getting-started-cli-step3"></a>

Titik akhir konversi sinkronisasi adalah REST-only. Uji profil terhadap dokumen sampel sebelum menerbitkan:

```
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
  }'
```

Respons:

```
{
    "TransformedData": "{\"resourceType\":\"Bundle\",\"type\":\"collection\",\"entry\":[...]}",
    "DriftReport": "{\"coverageRate\":0.95,\"unmappedElements\":[...]}"
}
```
+ TransformedData: sumber daya FHIR yang dikonversi sebagai string Bundel JSON-encoded FHIR.
+ DriftReport: hadir hanya ketika DriftDetectionEnabled itu benar. Laporan JSON-encoded drift yang menunjukkan tingkat cakupan dan elemen sumber yang tidak dipetakan.

**catatan**  
ProvenanceEnabled default ke true. Sumber daya asal dihasilkan kecuali Anda secara eksplisit menetapkan "ProvenanceEnabled“: false dalam permintaan.

## Langkah 4: Publikasikan profil
<a name="data-transformation-getting-started-cli-step4"></a>

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

Penerbitan membuat versi yang tidak dapat diubah (v1). Draf Anda tetap dapat diedit, dan pekerjaan massal menggunakan versi terbaru yang diterbitkan secara otomatis.

## Langkah 5: Konversi data ke FHIR
<a name="data-transformation-getting-started-cli-convert"></a>

Agen Transformasi Data menawarkan 3 cara untuk mengonversi data sumber Anda ke FHIR R4.

### 1. Konversi sinkronisasi
<a name="data-transformation-getting-started-cli-sync"></a>

```
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. Jalankan pekerjaan transformasi massal ke Amazon S3
<a name="data-transformation-getting-started-cli-bulk-s3"></a>

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

Pantau pekerjaan:

```
# 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. Jalankan pekerjaan transformasi massal dan masukkan ke dalam datastore HealthLake
<a name="data-transformation-getting-started-cli-bulk-import"></a>

Untuk mengonversi file sumber dan memuat sumber daya FHIR yang dihasilkan secara langsung ke HealthLake datastore dalam satu langkah, gunakan StartFHIRImportJob API yang ada dengan bidang profil transformasi:

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

Ini memulai pekerjaan dua fase: pertama layanan mengonversi file sumber Anda menggunakan profil yang dipublikasikan, kemudian menyerap sumber daya FHIR yang dihasilkan ke dalam datastore. Data segera dapat dikueri melalui FHIR REST API setelah konsumsi selesai.

Pantau pekerjaan:

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

**catatan**  
Datastore harus dalam keadaan AKTIF. Asal diaktifkan secara default. Peran akses data memerlukan Amazon S3 dan AWS KMS izin yang sama dengan pekerjaan mandiri.