

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

# FHIR `$operations` R4 untuk HealthLake
<a name="reference-fhir-operations"></a>

 Operasi FHIR \$1 (juga disebut “operasi dolar”) adalah fungsi sisi server khusus yang melampaui operasi CRUD (`Create`,, `Read``Update`,`Delete`) standar dalam spesifikasi FHIR. Operasi ini diidentifikasi dengan awalan “\$1” dan memungkinkan pemrosesan kompleks, transformasi data, dan operasi massal yang akan sulit atau tidak efisien untuk dilakukan menggunakan panggilan REST API standar. \$1 Operasi dapat dipanggil pada tingkat sistem, tingkat jenis sumber daya, atau pada contoh sumber daya tertentu, menyediakan cara yang fleksibel untuk berinteraksi dengan data FHIR. AWS HealthLake mendukung beberapa FHIR`$operations`. Silakan merujuk ke setiap halaman individu di bawah ini untuk detail tambahan.

**Topics**
+ [Operasi FHIR R4 `$attribution-status` untuk HealthLake](reference-fhir-operations-attribution-status.md)
+ [Menghapus Jenis Sumber Daya dengan `$bulk-delete`](reference-fhir-operations-bulk-delete.md)
+ [`$bulk-member-match`operasi untuk HealthLake](reference-fhir-operations-bulk-member-match.md)
+ [Operasi FHIR R4 `$confirm-attribution-list` untuk HealthLake](reference-fhir-operations-confirm-attribution-list.md)
+ [Operasi FHIR R4 `$davinci-data-export` untuk HealthLake](reference-fhir-operations-davinci-data-export.md)
+ [Menghasilkan Dokumen Klinis dengan `$document`](reference-fhir-operations-document.md)
+ [Menghapus Sumber Daya Secara Permanen dengan `$erase`](reference-fhir-operations-erase.md)
+ [Mendapatkan data pasien dengan `Patient/$everything`](reference-fhir-operations-everything.md)
+ [Mengambil ValueSet Kode dengan `$expand`](reference-fhir-operations-expand.md)
+ [Mengekspor HealthLake data dengan FHIR `$export`](reference-fhir-operations-export.md)
+ [`$inquire`Operasi FHIR untuk HealthLake](reference-fhir-operations-inquire.md)
+ [Mengambil Detail Konsep dengan `$lookup`](reference-fhir-operations-lookup.md)
+ [`$member-add`operasi untuk HealthLake](reference-fhir-operations-member-add.md)
+ [`$member-match`operasi untuk HealthLake](reference-fhir-operations-member-match.md)
+ [`$member-remove`operasi untuk HealthLake](reference-fhir-operations-member-remove.md)
+ [Menghapus Sumber Daya Kompartemen Pasien dengan `$purge`](reference-fhir-operations-purge.md)
+ [`$questionnaire-package`Operasi FHIR untuk HealthLake](reference-fhir-operations-questionnaire-package.md)
+ [`$submit`Operasi FHIR untuk HealthLake](reference-fhir-operations-submit.md)
+ [Memvalidasi Sumber Daya FHIR dengan `$validate`](reference-fhir-operations-validate.md)

# Operasi FHIR R4 `$attribution-status` untuk HealthLake
<a name="reference-fhir-operations-attribution-status"></a>

Mengambil status atribusi untuk anggota tertentu, mengembalikan Bundel yang berisi semua sumber atribusi yang terkait dengan Pasien. Operasi ini merupakan bagian dari implementasi [Daftar Atribusi Anggota FHIR (ATR) IG](https://build.fhir.org/ig/HL7/davinci-atr/spec.html) 2.1.0.

## Titik akhir
<a name="attribution-status-endpoint"></a>

```
POST [base]/Group/[id]/$attribution-status
```

## Parameter Permintaan
<a name="attribution-status-parameters"></a>

Operasi menerima parameter opsional berikut:


| Parameter | Jenis | Deskripsi | 
| --- | --- | --- | 
| MemberID | Pengidentifikasi |  MemberId Anggota yang meminta status atribusi | 
| PatientReferensi | Referensi | Referensi ke sumber daya pasien dalam sistem Produsen | 

**catatan**  
Baik `memberId` atau `patientReference` dapat disediakan, atau keduanya untuk tujuan validasi.

## Permintaan Sampel
<a name="attribution-status-request-example"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "memberId",
      "valueIdentifier": {
        "system": "http://example.org",
        "value": "MBR123456789"
      }
    },
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/patient-123",
        "display": "John Doe"
      }
    }
  ]
}
```

## Respons
<a name="attribution-status-response"></a>

Mengembalikan Bundel yang berisi sumber daya atribusi yang terkait dengan Pasien:


| Sumber daya | Kardinalitas | Lokasi | 
| --- | --- | --- | 
| Pasien | 1.. 1 | Group.member.entity | 
| Cakupan | 0.. 1 | Group.member.extension:CoverageReference | 
| Organization/Practitioner/PractitionerRole | 0.. 1 | group.member.extension:AttributedProvider | 
| Sumber Daya Apa Pun | 0.. 1 | Group.member.extension:AssociatedData | 

### Contoh Respons
<a name="attribution-status-response-example"></a>

```
{
  "resourceType": "Bundle",
  "id": "bundle-response",
  "meta": {
    "lastUpdated": "2014-08-18T01:43:33Z"
  },
  "type": "collection",
  "entry": [
    {
      "fullUrl": "http://example.org/fhir/Patient/12423",
      "resource": {
        "resourceType": "Patient",
        "id": "12423",
        "meta": {
          "versionId": "1",
          "lastUpdated": "2014-08-18T01:43:31Z"
        },
        "active": true,
        "name": [
          {
            "use": "official",
            "family": "Chalmers",
            "given": ["Peter", "James"]
          }
        ],
        "gender": "male",
        "birthDate": "1974-12-25"
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Coverage/123456",
      "resource": {
        "resourceType": "Coverage",
        "id": "1"
        // ... additional Coverage resource details
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Organization/666666",
      "resource": {
        "resourceType": "Organization",
        "id": "2"
        // ... additional Organization resource details
      }
    }
  ]
}
```

## Penanganan Kesalahan
<a name="attribution-status-error-handling"></a>

Operasi menangani kondisi kesalahan berikut:


| Kesalahan | Status HTTP | Deskripsi | 
| --- | --- | --- | 
| Permintaan operasi tidak valid | 400 | Parameter atau struktur permintaan yang tidak sesuai | 
| Sumber daya grup tidak ditemukan | 404 | ID Grup yang ditentukan tidak ada | 
| Sumber daya pasien tidak ditemukan | 404 | Referensi Pasien yang ditentukan tidak ada | 

## Otorisasi dan Keamanan
<a name="attribution-status-authorization"></a>

Persyaratan Lingkup SMART  
Klien harus memiliki hak istimewa yang sesuai untuk membaca sumber daya Grup dan sumber daya atribusi terkait  
Mekanisme otorisasi FHIR standar berlaku untuk semua operasi

# Menghapus Jenis Sumber Daya dengan `$bulk-delete`
<a name="reference-fhir-operations-bulk-delete"></a>

AWS HealthLake mendukung `$bulk-delete` operasi, memungkinkan penghapusan semua sumber daya dari jenis tertentu dalam datastore. Operasi ini sangat berguna ketika Anda perlu:
+ Lakukan audit dan pembersihan musiman
+ Mengelola siklus hidup data dalam skala
+ Hapus jenis sumber daya tertentu
+ Mematuhi kebijakan penyimpanan data

## Penggunaan
<a name="bulk-delete-usage"></a>

`$bulk-delete`Operasi dapat dipanggil menggunakan metode POST:

```
POST [base]/[ResourceType]/$bulk-delete?isHardDelete=false&deleteAuditEvent=true
```

## Parameter
<a name="bulk-delete-parameters"></a>


| Parameter | Tipe | Diperlukan | Default | Deskripsi | 
| --- | --- | --- | --- | --- | 
| isHardDelete | boolean | Tidak | false | Ketika benar, secara permanen menghapus sumber daya dari penyimpanan | 
| deleteAuditEvent | boolean | Tidak | true | Jika benar, menghapus peristiwa audit terkait | 
| \$1since | string | Tidak | Waktu pembuatan Datastore | Saat dimasukkan, pilih waktu cutoff awal untuk menemukan sumber daya berdasarkan waktu LastModified mereka. Tidak dapat digunakan dengan awal atau akhir | 
| start | string | Tidak | Waktu pembuatan Datastore | Saat dimasukkan, pilih waktu cutoff untuk menemukan sumber daya berdasarkan waktu LastModified mereka. Dapat digunakan dengan akhir | 
| end | string | Tidak | Waktu pengajuan Job | Saat dimasukkan, pilih waktu cutoff akhir untuk menemukan sumber daya berdasarkan waktu LastModified mereka | 

## Contoh
<a name="bulk-delete-examples"></a>

**Contoh Permintaan**  


```
POST [base]/Observation/$bulk-delete?isHardDelete=false
```

**Contoh Respons**  


```
{
      "jobId": "jobId",
      "jobStatus": "SUBMITTED"
    }
```

## Status Tugas
<a name="bulk-delete-job-status"></a>

Untuk memeriksa status pekerjaan penghapusan massal:

```
GET [base]/$bulk-delete/[jobId]
```

Operasi mengembalikan informasi status pekerjaan:

```
{
      "datastoreId": "datastoreId",
      "jobId": "jobId",
      "status": "COMPLETED",
      "submittedTime": "2025-10-09T15:09:51.336Z"
    }
```

## Perilaku
<a name="bulk-delete-behavior"></a>

`$bulk-delete`Operasi:

1. Memproses secara asinkron untuk menangani volume sumber daya yang besar

1. Menjaga transaksi ACID untuk integritas data

1. Menyediakan pelacakan status pekerjaan dengan jumlah penghapusan sumber daya

1. Mendukung mode penghapusan lunak dan keras

1. Termasuk pencatatan audit yang komprehensif atas kegiatan penghapusan

1. Memungkinkan penghapusan selektif versi historis dan peristiwa audit

## Pencatatan Audit
<a name="bulk-delete-audit-logging"></a>

Log `$bulk-delete` operasi sebagai Mulai FHIRBulk DeleteJob dan Jelaskan FHIRBulk DeleteJob dengan informasi operasi terperinci.

## Batasan
<a name="bulk-delete-limitations"></a>
+ Bila `isHardDelete` disetel ke true, sumber daya yang dihapus tidak akan muncul di hasil penelusuran atau `_history` kueri.
+ Sumber daya yang dihapus melalui operasi ini mungkin sementara tidak dapat diakses selama pemrosesan
+ Pengukuran penyimpanan disesuaikan hanya pada versi historis - deleteVersionHistory =false tidak akan menyesuaikan penyimpanan datastore

# `$bulk-member-match`operasi untuk HealthLake
<a name="reference-fhir-operations-bulk-member-match"></a>

AWS HealthLake mendukung `$bulk-member-match` operasi untuk memproses beberapa permintaan kecocokan anggota secara asinkron. Operasi ini memungkinkan organisasi perawatan kesehatan untuk secara efisien mencocokkan ratusan pengidentifikasi unik anggota di berbagai sistem perawatan kesehatan menggunakan informasi demografis dan cakupan dalam satu permintaan massal. [Kemampuan ini sangat penting untuk pertukaran payer-to-payer data skala besar, transisi anggota, dan persyaratan kepatuhan CMS dan mengikuti spesifikasi FHIR.](https://build.fhir.org/ig/HL7/davinci-epdx/OperationDefinition-BulkMemberMatch.html)

**catatan**  
`$bulk-member-match`Operasi ini didasarkan pada spesifikasi FHIR yang mendasari yang saat ini eksperimental dan dapat berubah. Seiring berkembangnya spesifikasi, perilaku dan antarmuka API ini akan diperbarui sesuai dengan itu. Pengembang disarankan untuk memantau catatan HealthLake rilis AWS dan pembaruan spesifikasi FHIR yang relevan agar tetap mendapat informasi tentang perubahan apa pun yang dapat memengaruhi integrasi mereka.

Operasi ini sangat berguna ketika Anda perlu:
+ Memproses pencocokan anggota pada skala selama periode pendaftaran terbuka
+ Memfasilitasi transisi anggota massal antar pembayar
+ Mendukung persyaratan pertukaran data kepatuhan CMS skala besar
+ Secara efisien mencocokkan kelompok anggota di seluruh jaringan perawatan kesehatan
+ Minimalkan panggilan API dan tingkatkan efisiensi operasional untuk skenario pencocokan volume tinggi

## Penggunaan
<a name="bulk-member-match-usage"></a>

`$bulk-member-match`Operasi ini adalah operasi asinkron yang dipanggil pada sumber daya Grup menggunakan metode POST:

```
POST [base]/Group/$bulk-member-match
```

Setelah mengirimkan permintaan kecocokan massal, Anda dapat melakukan polling status pekerjaan menggunakan:

```
GET [base]/$bulk-member-match-status/{jobId}
```

## Parameter yang didukung
<a name="bulk-member-match-parameters"></a>

HealthLake mendukung `$bulk-member-match` parameter FHIR berikut:


| Parameter | Tipe | Diperlukan | Deskripsi | 
| --- | --- | --- | --- | 
| `MemberPatient` | Pasien | Ya | Sumber daya pasien yang berisi informasi demografis agar anggota dicocokkan. | 
| `CoverageToMatch` | Cakupan | Ya | Sumber daya cakupan yang akan digunakan untuk pencocokan dengan catatan yang ada. | 
| `CoverageToLink` | Cakupan | Tidak | Sumber daya cakupan yang akan ditautkan selama proses pencocokan. | 
| `Consent` | Persetujuan | Ya | Sumber daya persetujuan untuk tujuan otorisasi juga disimpan. Ini berbeda dengan `$member-match` operasi individu di mana Persetujuan *tidak* diperlukan. | 

## Permintaan POST untuk mengirimkan pekerjaan kecocokan anggota massal
<a name="bulk-member-match-request-example"></a>

Contoh berikut menunjukkan permintaan POST untuk mengirimkan pekerjaan kecocokan anggota massal. Setiap anggota dibungkus dalam `MemberBundle` parameter yang berisi yang diperlukan`MemberPatient`,`CoverageToMatch`, dan `Consent` sumber daya, bersama dengan opsional`CoverageToLink`.

```
POST [base]/Group/$bulk-member-match
Content-Type: application/fhir+json
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberBundle",
      "part": [
        {
          "name": "MemberPatient",
          "resource": {
            "resourceType": "Patient",
            "identifier": [
              {
                "system": "http://example.org/patient-id",
                "value": "patient-0"
              }
            ],
            "name": [
              {
                "family": "Smith",
                "given": ["James"]
              }
            ],
            "gender": "male",
            "birthDate": "1950-01-01"
          }
        },
        {
          "name": "CoverageToMatch",
          "resource": {
            "resourceType": "Coverage",
            "status": "active",
            "identifier": [
              {
                "system": "http://example.org/coverage-id",
                "value": "cov-0"
              }
            ],
            "subscriberId": "sub-0",
            "beneficiary": {
              "reference": "Patient/patient123"
            },
            "relationship": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
                  "code": "self"
                }
              ]
            },
            "payor": [
              {
                "reference": "Organization/org123"
              }
            ]
          }
        },
        {
          "name": "Consent",
          "resource": {
            "resourceType": "Consent",
            "status": "active",
            "scope": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/consentscope",
                  "code": "patient-privacy"
                }
              ]
            },
            "category": [
              {
                "coding": [
                  {
                    "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                    "code": "IDSCL"
                  }
                ]
              }
            ],
            "patient": {
              "reference": "Patient/patient123"
            },
            "performer": [
              {
                "reference": "Patient/patient123"
              }
            ],
            "sourceReference": {
              "reference": "http://example.org/DocumentReference/consent-source"
            },
            "policy": [
              {
                "uri": "http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular"
              }
            ],
            "provision": {
              "type": "permit",
              "period": {
                "start": "2024-01-01",
                "end": "2025-12-31"
              },
              "actor": [
                {
                  "role": {
                    "coding": [
                      {
                        "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
                        "code": "performer"
                      }
                    ]
                  },
                  "reference": {
                    "identifier": {
                      "system": "http://hl7.org/fhir/sid/us-npi",
                      "value": "9876543210"
                    },
                    "display": "Old Health Plan"
                  }
                },
                {
                  "role": {
                    "coding": [
                      {
                        "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                        "code": "IRCP"
                      }
                    ]
                  },
                  "reference": {
                    "identifier": {
                      "system": "http://hl7.org/fhir/sid/us-npi",
                      "value": "0123456789"
                    },
                    "display": "New Health Plan"
                  }
                }
              ],
              "action": [
                {
                  "coding": [
                    {
                      "system": "http://terminology.hl7.org/CodeSystem/consentaction",
                      "code": "disclose"
                    }
                  ]
                }
              ]
            }
          }
        },
        {
          "name": "CoverageToLink",
          "resource": {
            "resourceType": "Coverage",
            "status": "active",
            "identifier": [
              {
                "system": "http://example.org/coverage-link-id",
                "value": "cov-link-0"
              }
            ],
            "subscriberId": "new-sub-0",
            "beneficiary": {
              "reference": "Patient/patient123"
            },
            "relationship": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
                  "code": "self"
                }
              ]
            },
            "payor": [
              {
                "identifier": {
                  "system": "http://hl7.org/fhir/sid/us-npi",
                  "value": "0123456789"
                },
                "display": "New Health Plan"
              }
            ]
          }
        }
      ]
    }
  ]
}
```

## Menyelesaikan respons pekerjaan dengan output
<a name="bulk-member-match-response-example"></a>

Ketika pekerjaan selesai, respons mencakup metadata pekerjaan dan sumber daya Parameter FHIR yang berisi tiga sumber daya Grup yang mengkategorikan hasil pencocokan.

```
{
  "datastoreId": "datastoreId",
  "jobId": "jobId",
  "status": "COMPLETED",
  "submittedTime": "2026-03-20T18:45:26.321Z",
  "numberOfMembers": 3,
  "numberOfMembersProcessedSuccessfully": 3,
  "numberOfMembersWithCustomerError": 0,
  "numberOfMembersWithServerError": 0,
  "output": {
    "resourceType": "Parameters",
    "meta": {
      "profile": [
        "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-out"
      ]
    },
    "parameter": [
      {
        "name": "MatchedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "group1",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Matched members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-0"
                }
              ],
              "name": [
                {
                  "family": "Smith",
                  "given": ["James"]
                }
              ],
              "gender": "male",
              "birthDate": "1950-01-01"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "match",
                "display": "Matched"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/patient123"
              }
            }
          ]
        }
      },
      {
        "name": "NonMatchedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "Group2",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Non-matched members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-501"
                }
              ],
              "name": [
                {
                  "family": "Carter",
                  "given": ["Emily"]
                }
              ],
              "gender": "female",
              "birthDate": "1985-06-15"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "nomatch",
                "display": "Not Matched"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/patient123"
              }
            }
          ]
        }
      },
      {
        "name": "ConsentConstrainedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "group3",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Consent constrained members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-502"
                }
              ],
              "name": [
                {
                  "family": "Nguyen",
                  "given": ["David"]
                }
              ],
              "gender": "male",
              "birthDate": "1972-11-22"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "consentconstraint",
                "display": "Consent Constraint"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/123"
              }
            }
          ]
        }
      }
    ]
  }
}
```

## Sumber daya Grup Keluaran
<a name="bulk-member-match-output-groups"></a>

Pekerjaan yang diselesaikan mengembalikan sumber daya Parameter yang berisi tiga sumber daya Grup:

**MatchedMembers Kelompok**  
Berisi referensi Pasien untuk semua anggota yang berhasil dicocokkan dan tidak dikategorikan sebagai kendala persetujuan.

`Group.quantity`Bidang berisi jumlah total anggota di masing-masing kelompok masing-masing.

**NonMatchedMembers Kelompok**  
Berisi referensi ke anggota di mana tidak ada kecocokan yang ditemukan atau beberapa kecocokan diidentifikasi.

**ConsentConstrainedMembers Kelompok**  
Berisi referensi Pasien untuk semua anggota yang berhasil dicocokkan di mana kendala persetujuan mencegah berbagi data. Sumber daya Persetujuan dianggap dibatasi ketika kedua kondisi berikut hadir:  
+ **URI kebijakan berakhir `#sensitive`** — Ini adalah sinyal paling jelas dan paling langsung. Pembayar yang mengirimkan secara eksplisit mengatakan: “Data anggota ini sensitif — tangani dengan hati-hati.”

  ```
  "policy": [{ "uri": "...hrex-consent.html#sensitive" }]
  ```
+ **Jenis ketentuan tingkat atas adalah `deny`** — Anggota secara luas menolak berbagi data.

  ```
  "provision": { "type": "deny" }
  ```

## Integrasi dengan \$1 davinci-data-export
<a name="bulk-member-match-davinci-integration"></a>

Sumber daya MatchedMembers Grup yang dikembalikan oleh `$bulk-member-match` dapat langsung digunakan dengan `$davinci-data-export` operasi untuk mengambil data anggota massal:

```
POST [base]/Group/{matched-group-id}/$davinci-data-export
GET [base]/Group/{matched-group-id}
```

Integrasi ini memungkinkan alur kerja yang efisien di mana Anda pertama kali mengidentifikasi anggota yang cocok secara massal, kemudian mengekspor catatan kesehatan lengkap mereka menggunakan sumber daya Grup yang dihasilkan.

## Karakteristik kinerja
<a name="bulk-member-match-performance"></a>

`$bulk-member-match`Operasi ini dirancang untuk pemrosesan volume tinggi dan berjalan secara asinkron:
+ **Konkurensi**: Maksimum 5 operasi bersamaan per penyimpanan data.
+ **Skalabilitas**: Menangani hingga 500 anggota per permintaan (batas muatan 5 MB).
+ **Operasi paralel**: Kompatibel dengan operasi impor, ekspor, atau penghapusan massal bersamaan.

## Otorisasi
<a name="bulk-member-match-authorization"></a>

API menggunakan SMART pada protokol otorisasi FHIR dengan cakupan wajib berikut:
+ `system/Patient.read`— Diperlukan untuk mencari dan mencocokkan sumber daya pasien.
+ `system/Coverage.read`— Diperlukan untuk memvalidasi informasi cakupan.
+ `system/Group.write`— Diperlukan untuk membuat sumber daya Grup hasil.
+ `system/Organization.read`— Bersyarat, diperlukan jika cakupan referensi organisasi.
+ `system/Practitioner.read`— Bersyarat, diperlukan jika cakupan referensi praktisi.
+ `system/PractitionerRole.read`— Bersyarat, diperlukan jika cakupan referensi peran praktisi.
+ `system/Consent.write`— Bersyarat, diperlukan jika sumber daya persetujuan disediakan.

Operasi ini juga mendukung otorisasi AWS IAM Signature Version 4 (SiGv4) untuk akses terprogram.

## Penanganan kesalahan
<a name="bulk-member-match-errors"></a>

Operasi menangani kondisi kesalahan berikut:
+ **400 Permintaan Buruk**: Format permintaan tidak valid, parameter yang diperlukan tidak ada, atau muatan melebihi batas ukuran (500 anggota atau 5 MB).
+ **422 Entitas yang Tidak Dapat Diproses**: Memproses kesalahan selama eksekusi pekerjaan.
+ **Kesalahan anggota individu**: Ketika anggota tertentu gagal untuk memproses, operasi berlanjut dengan anggota yang tersisa dan mencakup rincian kesalahan dalam NonMatchedMembers Grup dengan kode alasan yang sesuai. Misalnya, `MemberBundle` dengan Pasien yang hilang `birthDate` parameter akan mengembalikan kesalahan berikut:

  ```
  "errors": [
    {
      "memberIndex": 1,
      "jsonBlob": {
        "resourceType": "OperationOutcome",
        "issue": [
          {
            "severity": "error",
            "code": "invalid",
            "diagnostics": "MemberPatient.birthDate is required"
          }
        ],
        "statusCode": 400
      }
    }
  ]
  ```

Detail kesalahan tersedia melalui titik akhir pemungutan suara status dan termasuk:
+ `numberOfMembersWithCustomerError`: Hitungan anggota dengan validasi atau kesalahan input.
+ `numberOfMembersWithServerError`: Hitungan anggota dengan kesalahan pemrosesan sisi server.

## Operasi terkait
<a name="bulk-member-match-related"></a>
+ [`$member-match`operasi untuk HealthLake](reference-fhir-operations-member-match.md)— Operasi pencocokan anggota individu.
+ [Operasi FHIR R4 `$davinci-data-export` untuk HealthLake](reference-fhir-operations-davinci-data-export.md)— Ekspor data massal menggunakan sumber daya Grup.
+ [FHIR `$operations` R4 untuk HealthLake](reference-fhir-operations.md)— Daftar lengkap operasi yang didukung.

# Operasi FHIR R4 `$confirm-attribution-list` untuk HealthLake
<a name="reference-fhir-operations-confirm-attribution-list"></a>

Menunjukkan kepada Produser bahwa Konsumen tidak memiliki perubahan lagi untuk dilakukan pada Daftar Atribusi. Operasi ini menyelesaikan daftar atribusi dengan menghapus anggota yang tidak aktif dari daftar, mengubah status menjadi “final”, dan mengakui operasi. Operasi ini merupakan bagian dari implementasi [Daftar Atribusi Anggota FHIR (ATR) IG](https://build.fhir.org/ig/HL7/davinci-atr/spec.html) 2.1.0.

## Titik akhir
<a name="confirm-attribution-list-endpoint"></a>

```
POST [base]/Group/[id]/$confirm-attribution-list
```

## Permintaan
<a name="confirm-attribution-list-request"></a>

Tidak ada parameter yang diperlukan.

```
POST [base]/Group/[id]/$confirm-attribution-list
```

## Respons
<a name="confirm-attribution-list-response"></a>

Mengembalikan HTTP 201 dengan pesan konfirmasi.

### Contoh Respons
<a name="confirm-attribution-list-response-example"></a>

```
HTTP Status Code: 201

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "message",
      "valueString": "Accepted."
    }
  ]
}
```

## Status Grup Setelah Konfirmasi
<a name="confirm-attribution-list-group-status"></a>

Setelah konfirmasi berhasil, sumber daya Grup akan memiliki status daftar atribusi disetel ke “final”:

```
{
  "resourceType": "Group",
  "id": "fullexample",
  "extension": [
    {
      "url": "http://hl7.org/fhir/us/davinci-atr/StructureDefinition/ext-attributionListStatus",
      "valueCode": "final"
    }
  ]
  // ... other Group properties
}
```

## Penanganan Kesalahan
<a name="confirm-attribution-list-error-handling"></a>

Operasi menangani kondisi kesalahan berikut:


| Kesalahan | Status HTTP | Deskripsi | 
| --- | --- | --- | 
| Permintaan operasi tidak valid | 400 | Parameter atau struktur permintaan yang tidak sesuai | 
| Sumber daya grup tidak ditemukan | 404 | ID Grup yang ditentukan tidak ada | 

## Otorisasi dan Keamanan
<a name="confirm-attribution-list-authorization"></a>

Persyaratan Lingkup SMART  
Klien harus memiliki hak istimewa yang sesuai untuk membaca sumber daya Grup dan sumber daya atribusi terkait  
Untuk`$confirm-attribution-list`, klien juga harus memiliki hak menulis untuk memodifikasi sumber daya Grup  
Mekanisme otorisasi FHIR standar berlaku untuk semua operasi

# Operasi FHIR R4 `$davinci-data-export` untuk HealthLake
<a name="reference-fhir-operations-davinci-data-export"></a>

`$davinci-data-export`Operasi ini adalah operasi FHIR asinkron yang dapat Anda gunakan untuk mengekspor data perawatan kesehatan. AWS HealthLake Operasi ini mendukung beberapa jenis ekspor, termasuk Atribusi Anggota (ATR), Akses PDex Penyedia Payer-to-Payer, dan Akses Anggota. APIs Ini adalah versi khusus dari `$export` operasi FHIR standar, yang dirancang untuk memenuhi persyaratan panduan DaVinci implementasi.

## Fitur Utama
<a name="davinci-data-export-features"></a>
+ *Pemrosesan Asinkron: Mengikuti* pola permintaan asinkron FHIR standar
+ *Ekspor Tingkat Grup: Mengekspor* data untuk anggota dalam sumber daya Grup tertentu
+ *Beberapa Jenis Ekspor*: Mendukung ATR (Atribusi Anggota), Akses PDex Penyedia Payer-to-Payer, dan Akses Anggota APIs
+ *Dukungan Profil Komprehensif*: Termasuk US Core, CARIN Blue Button, dan PDex profil
+ *Penyaringan Fleksibel*: Mendukung penyaringan oleh pasien, jenis sumber daya, dan rentang waktu
+ *Output NDJSON*: Menyediakan data dalam format JSON yang dibatasi baris baru

## Titik Akhir Operasi
<a name="davinci-data-export-endpoint"></a>

```
GET [base]/Group/[id]/$davinci-data-export
POST [base]/Group/[id]/$davinci-data-export
```

## Parameter Permintaan
<a name="davinci-data-export-parameters"></a>


| Parameter | Kardinalitas | Deskripsi | 
| --- | --- | --- | 
| patient | 0.. \$1 | Anggota tertentu yang datanya akan diekspor. Ketika dihilangkan, semua anggota di Grup diekspor. | 
| \$1type | 0.. 1 | Daftar tipe sumber daya FHIR yang dibatasi koma untuk diekspor. | 
| \$1since | 0.. 1 | Hanya sertakan sumber daya yang diperbarui setelah tanggal dan waktu ini. | 
| \$1until | 0.. 1 | Hanya sertakan sumber daya yang diperbarui sebelum tanggal dan waktu ini. | 
| exportType | 0.. 1 | Jenis ekspor yang akan dilakukan. Nilai yang valid:hl7.fhir.us.davinci-atr,hl7.fhir.us.davinci-pdex,hl7.fhir.us.davinci-pdex.p2p,hl7.fhir.us.davinci-pdex.member. Default: hl7.fhir.us.davinci-atr. | 
| \$1includeEOB2xWoFinancial | 0.. 1 | Menentukan apakah akan menyertakan ExplanationOfBenefit sumber daya CARIN BB 2.x dengan data keuangan dihapus. Default: false. | 

### Jenis Sumber Daya yang Didukung
<a name="davinci-data-export-supported-resources"></a>

Jenis sumber daya yang didukung bergantung pada jenis ekspor yang Anda tentukan. Untuk ekspor ATR, jenis sumber daya berikut didukung:
+ `Group`
+ `Patient`
+ `Coverage`
+ `RelatedPerson`
+ `Practitioner`
+ `PractitionerRole`
+ `Organization`
+ `Location`

Untuk PDex ekspor (Akses Penyedia Payer-to-Payer, dan Akses Anggota), semua jenis sumber daya klinis dan klaim didukung selain jenis sebelumnya. Untuk daftar lengkap jenis sumber daya yang didukung, lihat [Panduan Implementasi Inti AS (STU 6.1), Panduan Implementasi](https://hl7.org/fhir/us/core/STU6.1/) [Tombol Biru CARIN, dan Panduan Implementasi](https://hl7.org/fhir/us/carin-bb/) Dukungan [Otorisasi Sebelumnya Da Vinci](https://hl7.org/fhir/us/davinci-pas/).

## Jenis Ekspor
<a name="davinci-data-export-types"></a>

`$davinci-data-export`Operasi ini mendukung jenis ekspor berikut. Anda menentukan jenis ekspor dengan menggunakan `exportType` parameter.


| Jenis Ekspor | Tujuan | Lingkup Data | Batas Temporal | 
| --- | --- | --- | --- | 
| hl7.fhir.us.davinci-atr | Daftar Atribusi Anggota | Sumber daya terkait atribusi | Tidak ada | 
| hl7.fhir.us.davinci-pdex | API Akses Penyedia | Data klinis dan klaim untuk pasien yang dikaitkan | 5 tahun | 
| hl7.fhir.us.davinci-pdex.p2p | Payer-to-Payer Pertukaran | Data anggota historis untuk transisi asuransi | 5 tahun | 
| hl7.fhir.us.davinci-pdex.member | API Akses Anggota | Data kesehatan anggota sendiri | 5 tahun | 

**catatan**  
Untuk PDex ekspor, batas temporal 5 tahun tidak berlaku untuk jenis sumber daya ATR (`Group`,,,`Patient`,`Coverage`, `RelatedPerson` `Practitioner``PractitionerRole`,`Organization`). `Location` Sumber daya ini selalu disertakan tanpa memandang usia.

### ATR (hl7.fhir.us.davinci-atr)
<a name="davinci-data-export-type-atr"></a>

Dengan tipe ekspor ATR, Anda dapat mengekspor data Daftar Atribusi Anggota. Gunakan jenis ekspor ini untuk mengambil sumber daya terkait atribusi bagi anggota dalam Grup. Untuk informasi lebih lanjut, lihat Operasi [Ekspor ATR Da Vinci](https://build.fhir.org/ig/HL7/davinci-atr/OperationDefinition-davinci-data-export.html).

Jenis Sumber Daya yang Didukung  
`Group`, `Patient`, `Coverage`, `RelatedPerson`, `Practitioner`, `PractitionerRole`, `Organization`, `Location`

Penyaringan Temporal  
Tidak ada penyaringan temporal yang diterapkan. Semua sumber daya yang cocok diekspor terlepas dari tanggal.

### PDex Jenis Ekspor
<a name="davinci-data-export-type-pdex"></a>

Semua jenis PDex ekspor berbagi profil yang didukung dan logika pemfilteran yang sama. Untuk informasi selengkapnya, lihat [Da Vinci PDex Provider Access API](https://build.fhir.org/ig/HL7/davinci-epdx/provider-access-api.html). Profil berikut didukung:
+ US Core 3.1.1, 6.1.0, dan 7.0.0
+ PDex Otorisasi Sebelumnya (tidak didukung untuk Akses Anggota)
+ CARIN BB 2.x Profil dasar: Institusional Rawat Inap, Kelembagaan Rawat Jalan, Profesional, Lisan, Farmasi NonClinician

Akses Penyedia (`hl7.fhir.us.davinci-pdex`)  
Memungkinkan penyedia dalam jaringan untuk mengambil data pasien untuk pasien yang dikaitkan.

Payer-to-Payer (`hl7.fhir.us.davinci-pdex.p2p`)  
Memungkinkan pertukaran data antara pembayar ketika pasien mengubah asuransi.

Akses Anggota (`hl7.fhir.us.davinci-pdex.member`)  
Memungkinkan anggota untuk mengakses data kesehatan mereka sendiri. Jenis ekspor ini dapat mencakup data keuangan dalam sumber klaim.

## Dukungan Profil dan Logika Inklusi
<a name="davinci-data-export-profile-support"></a>

Untuk PDex ekspor, `$davinci-data-export` operasi menggunakan deklarasi profil dalam `meta.profile` elemen untuk menentukan sumber daya mana yang akan disertakan dalam ekspor.

### ExplanationOfBenefit Penanganan Sumber Daya
<a name="davinci-data-export-carin-handling"></a>

`ExplanationOfBenefit`(EOB) sumber daya dimasukkan atau dikecualikan dari PDex ekspor berdasarkan deklarasinya`meta.profile`:
+ ExplanationOfBenefit sumber daya dengan profil CARIN BB 1.x dikecualikan dari ekspor.
+ ExplanationOfBenefit sumber daya tanpa `meta.profile` set dikecualikan dari ekspor.
+ ExplanationOfBenefit sumber daya dengan profil CARIN BB 2.x Basis selalu disertakan.
+ ExplanationOfBenefit sumber daya dengan profil CARIN BB 2.x yang berisi data keuangan dikecualikan secara default. Ketika `_includeEOB2xWoFinancial=true` diatur, mereka disertakan dengan data keuangan yang dilucuti dan sumber daya diubah ke profil Basis yang sesuai.
+ ExplanationOfBenefit sumber daya dengan profil Otorisasi PDex Sebelumnya selalu disertakan.

### Transformasi Data Keuangan
<a name="davinci-data-export-financial-transformation"></a>

Ketika Anda mengatur`_includeEOB2xWoFinancial=true`, operasi mengubah ExplanationOfBenefit sumber daya [CARIN BB 2.x](https://hl7.org/fhir/us/carin-bb/) ke profil Basis yang sesuai dengan menghapus data keuangan. Misalnya, `C4BB ExplanationOfBenefit Oral` sumber daya diubah menjadi`C4BB ExplanationOfBenefit Oral Basis`, yang menghapus data keuangan dari catatan per spesifikasi FHIR.

Elemen data keuangan berikut dihapus selama transformasi:
+ Semua mengiris elemen `total`
+ Semua `adjudication` elemen dengan `amounttype` irisan
+ Semua `item.adjudication` elemen dengan informasi jumlah

Operasi ini juga memperbarui metadata profil selama transformasi:
+ `meta.profile`diperbarui ke URL kanonik profil Dasar
+ Versi diperbarui ke versi CARIN BB 2.x Basis
+ Sumber daya yang ada di penyimpanan data tidak dimodifikasi
+ Sumber daya yang diekspor tidak disimpan kembali ke penyimpanan data

### Aturan Deteksi Profil
<a name="davinci-data-export-profile-detection"></a>

Operasi menggunakan aturan berikut untuk mendeteksi dan memvalidasi profil:
+ Deteksi versi didasarkan pada `meta.profile` kanonik URLs
+ Sumber daya disertakan jika ADA profil yang dideklarasikan sesuai dengan kriteria ekspor
+ Validasi profil terjadi selama pemrosesan ekspor

## Penyaringan Temporal Lima Tahun untuk Ekspor PDex
<a name="davinci-data-export-temporal-filtering"></a>

Untuk semua jenis PDex ekspor, HealthLake terapkan filter temporal 5 tahun berdasarkan kapan sumber daya terakhir diperbarui. Filter temporal berlaku untuk semua sumber daya kecuali jenis sumber daya atribusi inti berikut, yang selalu diekspor tanpa memandang usia:
+ `Patient`
+ `Coverage`
+ `Organization`
+ `Practitioner`
+ `PractitionerRole`
+ `RelatedPerson`
+ `Location`
+ `Group`

Sumber daya administratif dan demografis ini dikecualikan karena menyediakan konteks penting untuk data yang diekspor. Ekspor ATR tidak tunduk pada penyaringan temporal apa pun.

## Sampel Permintaan
<a name="davinci-data-export-examples"></a>

Contoh berikut menunjukkan cara memulai pekerjaan ekspor untuk berbagai jenis ekspor.

*Ekspor ATR*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage,Practitioner,Organization&exportType=hl7.fhir.us.davinci-atr

POST https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage,Practitioner,Organization&exportType=hl7.fhir.us.davinci-atr
Content-Type: application/json

{
  "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  "JobName": "attribution-export-job",
  "OutputDataConfig": {
    "S3Configuration": {
      "S3Uri": "s3://your-export-bucket/EXPORT-JOB",
      "KmsKeyId": "arn:aws:kms:region:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }
  }
}
```

*Ekspor Akses Penyedia dengan penghapusan data ExplanationOfBenefit keuangan*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Observation,Condition,MedicationRequest,ExplanationOfBenefit&exportType=hl7.fhir.us.davinci-pdex&_includeEOB2xWoFinancial=true
```

*Payer-to-Payer ekspor*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Coverage,ExplanationOfBenefit,Condition,Procedure&exportType=hl7.fhir.us.davinci-pdex.p2p&_includeEOB2xWoFinancial=true
```

*Ekspor Akses Anggota untuk pasien tertentu*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Observation,Condition,ExplanationOfBenefit,MedicationRequest&exportType=hl7.fhir.us.davinci-pdex.member&patient=Patient/example-patient-id
```

## Contoh Respons
<a name="davinci-data-export-sample-response"></a>

```
{
  "datastoreId": "eaee622d8406b41eb86c0f4741201ff9",
  "jobStatus": "SUBMITTED",
  "jobId": "48d7b91dae4a64d00d54b70862f33f61"
}
```

## Hubungan Sumber Daya
<a name="davinci-data-export-resource-relationships"></a>

Operasi mengekspor sumber daya berdasarkan hubungan mereka dalam Daftar Atribusi Anggota:

```
Group (Attribution List)
├── Patient (Members)
├── Coverage → RelatedPerson (Subscribers)
├── Practitioner (Attributed Providers)
├── PractitionerRole → Location
└── Organization (Attributed Providers)
```

### Sumber Sumber Daya
<a name="davinci-data-export-resource-sources"></a>


| Sumber daya | Lokasi Sumber | Deskripsi | 
| --- | --- | --- | 
| Patient | Group.member.entity | Pasien yang menjadi anggota daftar atribusi | 
| Coverage | Group.member.extension:coverageReference | Cakupan yang mengakibatkan keanggotaan pasien | 
| Organization | Group.member.extension:attributedProvider | Organizations yang dikaitkan dengan pasien | 
| Practitioner | Group.member.extension:attributedProvider | Praktisi individu yang dikaitkan dengan pasien | 
| PractitionerRole | Group.member.extension:attributedProvider | Peran praktisi yang dikaitkan dengan pasien | 
| RelatedPerson | Coverage.subscriber | Pelanggan cakupan | 
| Location | PractitionerRole.location | Lokasi yang terkait dengan peran praktisi | 
| Group | Titik akhir masukan | Daftar atribusi itu sendiri | 

## Manajemen Job
<a name="davinci-data-export-job-management"></a>

Periksa Status Job  
`GET [base]/export/[job-id]`

Batalkan Tugas  
`DELETE [base]/export/[job-id]`

### Siklus Hidup Tugas
<a name="davinci-data-export-job-lifecycle"></a>
+ `SUBMITTED`- Job telah diterima dan diantrian
+ `IN_PROGRESS`- Job sedang aktif memproses
+ `COMPLETED`- Job selesai dengan sukses, file tersedia untuk diunduh
+ `FAILED`- Job mengalami kesalahan

## Format Output
<a name="davinci-data-export-output-format"></a>
+ *Format File*: NDJSON (JSON Terbatas Baris Baru)
+ *Organisasi File*: File terpisah untuk setiap jenis sumber daya
+ *Ekstensi File*: .ndjson
+ *Lokasi*: Bucket dan jalur S3 yang ditentukan

## Penanganan Kesalahan
<a name="davinci-data-export-error-handling"></a>

Operasi mengembalikan HTTP 400 Bad Request dengan OperationOutcome untuk kondisi berikut:

Kesalahan Otorisasi  
Peran IAM yang ditentukan dalam `DataAccessRoleArn` tidak memiliki izin yang cukup untuk melakukan operasi ekspor. Untuk daftar lengkap izin S3 dan KMS yang diperlukan, lihat [Menyiapkan izin untuk pekerjaan ekspor](getting-started-setting-up.md#setting-up-export-permissions).

Kesalahan Validasi Parameter  
+ `patient`Parameter tidak diformat sebagai `Patient/id,Patient/id,...`
+ Satu atau lebih referensi pasien tidak valid atau bukan milik Grup yang ditentukan
+ Nilai `exportType` parameter bukan jenis ekspor yang didukung
+ `_type`Parameter berisi jenis sumber daya yang tidak didukung untuk jenis ekspor yang ditentukan
+ `_type`Parameter tidak memiliki tipe sumber daya yang diperlukan (`Group``Patient`,,`Coverage`) untuk jenis `hl7.fhir.us.davinci-atr` ekspor
+ Nilai `_includeEOB2xWoFinancial` parameter bukan boolean yang valid

Kesalahan Validasi Sumber Daya  
+ Sumber daya Grup yang ditentukan tidak ada di penyimpanan data
+ Sumber daya Grup yang ditentukan tidak memiliki anggota
+ Satu atau lebih anggota Grup mereferensikan sumber daya Pasien yang tidak ada di penyimpanan data

## Keamanan dan Otorisasi
<a name="davinci-data-export-security"></a>
+ Mekanisme otorisasi FHIR standar berlaku
+ Peran akses data harus memiliki izin IAM yang diperlukan untuk operasi S3 dan KMS. Untuk daftar lengkap izin yang diperlukan, lihat [Menyiapkan izin untuk pekerjaan ekspor](getting-started-setting-up.md#setting-up-export-permissions).

## Praktik Terbaik
<a name="davinci-data-export-best-practices"></a>
+ *Pemilihan Jenis Sumber Daya*: Hanya minta jenis sumber daya yang Anda perlukan untuk meminimalkan ukuran ekspor dan waktu pemrosesan
+ *Penyaringan Berbasis Waktu*: Gunakan `_since` parameter untuk ekspor tambahan
+ *Penyaringan Pasien*: Gunakan `patient` parameter saat Anda hanya membutuhkan data untuk anggota tertentu
+ *Job Monitoring*: Secara teratur memeriksa status pekerjaan untuk ekspor besar
+ *Penanganan Kesalahan: Menerapkan* logika coba lagi yang tepat untuk pekerjaan yang gagal
+ *Kesadaran Filter Temporal*: Untuk PDex ekspor, pertimbangkan filter temporal 5 tahun saat Anda memilih jenis sumber daya
+ *Penghapusan Data Keuangan*: Gunakan `_includeEOB2xWoFinancial=true` saat Anda membutuhkan data klaim tanpa informasi keuangan
+ *Manajemen Profil*: Pastikan sumber daya memiliki deklarasi profil yang sesuai, validasi terhadap profil target sebelum konsumsi, dan gunakan versi profil untuk mengontrol perilaku ekspor

## Batasan
<a name="davinci-data-export-limitations"></a>
+ Maksimal 500 pasien dapat ditentukan dalam `patient` parameter
+ Ekspor terbatas hanya untuk operasi tingkat Grup
+ Hanya mendukung kumpulan tipe sumber daya yang telah ditentukan untuk setiap jenis ekspor
+ Output selalu dalam format NDJSON
+ PDex Ekspor dibatasi hingga 5 tahun data klinis dan klaim
+ Transformasi data keuangan hanya berlaku untuk profil CARIN BB 2.x ExplanationOfBenefit 

## Sumber Daya Tambahan
<a name="davinci-data-export-additional-resources"></a>
+ [Daftar Atribusi Anggota Da Vinci IG](https://build.fhir.org/ig/HL7/davinci-atr/)
+ [Da Vinci Payer Data Exchange IG](https://hl7.org/fhir/us/davinci-pdex/)
+ [CARIN IG Pertukaran Data Exchange Pembayar yang Diarahkan Konsumen](https://build.fhir.org/ig/HL7/carin-bb/)
+ [Panduan Implementasi Inti AS](https://www.hl7.org/fhir/us/core/)
+ [Spesifikasi Akses Data Massal FHIR](https://hl7.org/fhir/uv/bulkdata/)

# Menghasilkan Dokumen Klinis dengan `$document`
<a name="reference-fhir-operations-document"></a>

AWS HealthLake sekarang mendukung `$document` operasi untuk sumber daya Komposisi, memungkinkan Anda untuk menghasilkan dokumen klinis lengkap dengan menggabungkan Komposisi dengan semua sumber daya yang direferensikan ke dalam satu paket kohesif. Operasi ini sangat penting untuk aplikasi perawatan kesehatan yang perlu:
+ Buat dokumen klinis standar
+ Tukar catatan pasien lengkap
+ Simpan dokumentasi klinis yang komprehensif
+ Hasilkan laporan yang mencakup semua konteks yang relevan

## Penggunaan
<a name="document-usage"></a>

`$document`Operasi dapat dipanggil pada sumber daya Komposisi menggunakan metode GET dan POST:

**Operasi yang Didukung**  


```
GET/POST [base]/Composition/[id]/$document
```

## Parameter yang Didukung
<a name="document-parameters"></a>

HealthLake mendukung `$document` parameter FHIR berikut:


| Parameter | Tipe | Diperlukan | Default | Deskripsi | 
| --- | --- | --- | --- | --- | 
| persist | boolean | Tidak | false | Boolean menunjukkan apakah server harus menyimpan bundel dokumen yang dihasilkan | 

## Contoh
<a name="document-examples"></a>

**DAPATKAN Permintaan**  


```
GET [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57/$document?persist=true
```

**Permintaan POST dengan Parameter**  


```
POST [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57/$document
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "persist",
      "valueBoolean": true
    }
  ]
}
```

**Contoh Respons**  
Operasi mengembalikan sumber daya Bundle berjenis “dokumen” yang berisi Komposisi dan semua sumber daya yang direferensikan:

```
{
  "resourceType": "Bundle",
  "id": "180f219f-97a8-486d-99d9-ed631fe4fc57",
  "type": "document",
  "identifier": {
    "system": "urn:ietf:rfc:3986",
    "value": "urn:uuid:0c3151bd-1cbf-4d64-b04d-cd9187a4c6e0"
  },
  "timestamp": "2024-06-21T15:30:00Z",
  "entry": [
    {
      "fullUrl": "http://example.org/fhir/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57",
      "resource": {
        "resourceType": "Composition",
        "id": "180f219f-97a8-486d-99d9-ed631fe4fc57",
        "status": "final",
        "type": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "34133-9",
              "display": "Summary of Episode Note"
            }
          ]
        },
        "subject": {
          "reference": "Patient/example"
        },
        "section": [
          {
            "title": "Allergies",
            "entry": [
              {
                "reference": "AllergyIntolerance/123"
              }
            ]
          }
        ]
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Patient/example",
      "resource": {
        "resourceType": "Patient",
        "id": "example",
        "name": [
          {
            "family": "Smith",
            "given": ["John"]
          }
        ]
      }
    },
    {
      "fullUrl": "http://example.org/fhir/AllergyIntolerance/123",
      "resource": {
        "resourceType": "AllergyIntolerance",
        "id": "123",
        "patient": {
          "reference": "Patient/example"
        },
        "code": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "418689008",
              "display": "Allergy to penicillin"
            }
          ]
        }
      }
    }
  ]
}
```

## Perilaku
<a name="document-behavior"></a>

`$document`Operasi:

1. Mengambil sumber daya Komposisi yang ditentukan sebagai dasar untuk dokumen

1. Mengidentifikasi dan mengambil semua sumber daya yang direferensikan secara langsung oleh Komposisi

1. Mengemas Komposisi dan semua sumber daya yang direferensikan ke dalam Bundel jenis “dokumen”

1. Menyimpan bundel dokumen yang dihasilkan di datastore saat parameter persisten disetel ke true

1. Mengidentifikasi dan mengambil sumber daya yang secara tidak langsung direferensikan oleh Komposisi untuk pembuatan dokumen yang komprehensif

`$document`Operasi saat ini mendukung pengambilan referensi sumber daya dalam format berikut:

1. 

   ```
   GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
   ```

1. Sumber daya/ID

Referensi sumber daya yang tidak didukung dalam sumber daya Komposisi akan disaring dari dokumen yang dihasilkan.

## Penanganan Kesalahan
<a name="document-error-handling"></a>

Operasi menangani kondisi kesalahan berikut:
+ 400 Permintaan Buruk: `$document` Operasi tidak valid (permintaan tidak sesuai) atau jika dokumen yang dihasilkan gagal validasi FHIR karena referensi yang disaring saat persisten disetel ke true
+ 404 Tidak Ditemukan: Sumber daya komposisi tidak ditemukan

Untuk informasi lebih lanjut tentang spesifikasi `$document` operasi, lihat dokumentasi [Komposisi `$document` FHIR R4](https://www.hl7.org/fhir/R4/composition-operation-document.html).

# Menghapus Sumber Daya Secara Permanen dengan `$erase`
<a name="reference-fhir-operations-erase"></a>

AWS HealthLake mendukung `$erase` operasi, memungkinkan penghapusan permanen sumber daya tertentu dan versi historisnya. Operasi ini sangat berguna ketika Anda perlu:
+ Hapus sumber daya individu secara permanen
+ Hapus riwayat versi tertentu
+ Mengelola siklus hidup sumber daya individu
+ Mematuhi persyaratan penghapusan data tertentu

## Penggunaan
<a name="erase-usage"></a>

`$erase`Operasi dapat dipanggil pada dua tingkat:

**Tingkat Instans Sumber Daya**  


```
POST [base]/[ResourceType]/[ID]/$erase?deleteAuditEvent=true
```

**Level Khusus Versi**  


```
POST [base]/[ResourceType]/[ID]/_history/[VersionID]/$erase
```

## Parameter
<a name="erase-parameters"></a>


| Parameter | Tipe | Diperlukan | Default | Deskripsi | 
| --- | --- | --- | --- | --- | 
| deleteAuditEvent | boolean | Tidak | false | Jika benar, menghapus peristiwa audit terkait | 

## Contoh
<a name="erase-examples"></a>

**Contoh Permintaan**  


```
POST [base]/Patient/example-patient/$erase
```

**Contoh Respons**  


```
{
      "jobId": "5df47e2f51ff3c731847678cb8cad48e",
      "jobStatus": "SUBMITTED"
    }
```

## Status Tugas
<a name="erase-job-status"></a>

Untuk memeriksa status pekerjaan penghapusan:

```
GET [base]/$erase/[jobId]
```

Operasi mengembalikan informasi status pekerjaan:

```
{
      "datastoreId": "36622996b1fcecb7e12ee2ee085308d3",
      "jobId": "5df47e2f51ff3c731847678cb8cad48e",
      "status": "COMPLETED",
      "submittedTime": "2025-10-30T16:39:24.160Z"
    }
```

## Perilaku
<a name="erase-behavior"></a>

`$erase`Operasi:

1. Memproses secara asinkron untuk memastikan integritas data

1. Mempertahankan transaksi ACID

1. Menyediakan pelacakan status pekerjaan

1. Secara permanen menghapus sumber daya yang ditentukan dan versinya

1. Termasuk pencatatan audit yang komprehensif atas kegiatan penghapusan

1. Mendukung penghapusan selektif peristiwa audit

## Pencatatan Audit
<a name="erase-audit-logging"></a>

Log `$erase` operasi seperti DeleteResource ID pengguna, stempel waktu, dan detail sumber daya.

## Batasan
<a name="erase-limitations"></a>
+ `$erased`sumber daya tidak akan muncul di hasil penelusuran atau `_history` kueri.
+ Sumber daya yang dihapus mungkin sementara tidak dapat diakses selama pemrosesan
+ Pengukuran penyimpanan segera disesuaikan karena sumber daya dihapus secara permanen

# Mendapatkan data pasien dengan `Patient/$everything`
<a name="reference-fhir-operations-everything"></a>

 `Patient/$everything`Operasi ini digunakan untuk query sumber daya FHIR, bersama dengan `Patient` sumber daya lain yang terkait dengan itu`Patient`. Operasi ini dapat digunakan untuk memberi pasien akses ke seluruh catatan mereka atau untuk penyedia untuk melakukan pengunduhan data massal yang terkait dengan pasien. HealthLakemendukung `Patient/$everything` untuk pasien tertentu`id`.

`Patient/$everything`adalah operasi FHIR REST API yang dapat dipanggil seperti yang ditunjukkan pada contoh di bawah ini.

------
#### [ GET request ]

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything
```

------

**catatan**  
Sumber daya dalam tanggapan diurutkan berdasarkan jenis sumber daya dan sumber daya`id`.  
Respon selalu diisi dengan`Bundle.total`. 

## Parameter `Patient/$everything`
<a name="patient-everything-query-params"></a>

HealthLake mendukung parameter query berikut


| Parameter | Detail | 
| --- | --- | 
|  start  |  Dapatkan semua `Patient` data setelah tanggal mulai yang ditentukan.  | 
|  end  |  Dapatkan semua `Patient` data sebelum tanggal akhir yang ditentukan.  | 
|  sejak  |  Dapatkan semua `Patient` data diperbarui setelah tanggal yang ditentukan.  | 
|  \$1ketik  |  Dapatkan `Patient` data untuk jenis sumber daya tertentu.  | 
|  \$1hitung  |  Dapatkan `Patient` data dan tentukan ukuran halaman.  | 

**Example - Dapatkan semua data pasien setelah tanggal mulai yang ditentukan**  
`Patient/$everything`dapat menggunakan `start` filter untuk menanyakan hanya data setelah tanggal tertentu.   

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?start=2024-03-15T00:00:00.000Z
```

**Example - Dapatkan semua `Patient` data sebelum tanggal akhir yang ditentukan**  
Patient \$1everything dapat menggunakan `end` filter untuk hanya menanyakan data sebelum tanggal tertentu.   

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?end=2024-03-15T00:00:00.000Z
```

**Example - Dapatkan semua `Patient` data diperbarui setelah tanggal yang ditentukan**  
`Patient/$everything`dapat menggunakan `since` filter untuk menanyakan hanya data yang diperbarui setelah tanggal tertentu.  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?since=2024-03-15T00:00:00.000Z
```

**Example - Dapatkan `Patient` data untuk jenis sumber daya tertentu**  
Patient \$1everything dapat menggunakan `_type` filter untuk menentukan jenis sumber daya tertentu yang akan disertakan dalam respons. Beberapa jenis sumber daya dapat ditentukan dalam daftar dipisahkan koma.   

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_type=Observation,Condition
```

**Example - Dapatkan `Patient` data dan tentukan ukuran halaman**  
Pasien \$1everything dapat menggunakan `_count` untuk mengatur ukuran halaman.   

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_count=15
```

## `Patient/$everything``start`dan `end` atribut
<a name="reference-patient-everything-start-end-attributes"></a>

HealthLake mendukung atribut sumber daya berikut untuk parameter `Patient/ $everything` `start` dan `end` kueri.


| Sumber daya | Elemen Sumber Daya | 
| --- | --- | 
| Akun | Account.ServicePeriod.Start | 
| AdverseEvent | AdverseEvent.tanggal | 
| AllergyIntolerance | AllergyIntolerance.RecordedDate | 
| Pengangkatan | Janji temu. Mulai | 
| AppointmentResponse | AppointmentResponse.mulai | 
| AuditEvent | AuditEvent.period.start | 
| Basic | Dasar.dibuat | 
| BodyStructure | TIDAK\$1TANGGAL | 
| CarePlan | CarePlan.period.start | 
| CareTeam | CareTeam.period.start | 
| ChargeItem | ChargeItem. occurrenceDateTime, ChargeItem .OcuncencePeriod.start, .OcuncenceTiming.event ChargeItem | 
| Klaim | Claim.billablePeriod.Start | 
| ClaimResponse | ClaimResponse.dibuat | 
| ClinicalImpression | ClinicalImpression.tanggal | 
| Komunikasi | Komunikasi.dikirim | 
| CommunicationRequest | CommunicationRequest. occurrenceDateTime, CommunicationRequest .OcuncencePeriod.start | 
| Komposisi | Komposisi.date | 
| Kondisi | kondisi.RecordedDate | 
| Persetujuan | Consent.DateTime | 
| Cakupan | Cakupan. Period.Start | 
| CoverageEligibilityRequest | CoverageEligibilityRequest.dibuat | 
| CoverageEligibilityResponse | CoverageEligibilityResponse.dibuat | 
| DetectedIssue | DetectedIssue.diidentifikasi | 
| DeviceRequest | DeviceRequest.Authoredon | 
| DeviceUseStatement | DeviceUseStatement.RecordEdon | 
| DiagnosticReport | DiagnosticReport.efektif | 
| DocumentManifest | DocumentManifest.dibuat | 
| DocumentReference | DocumentReference.context.period.start | 
| Pertemuan | Encounter.period.start | 
| EnrollmentRequest | EnrollmentRequest.dibuat | 
| EpisodeOfCare | EpisodeOfCare.period.start | 
| ExplanationOfBenefit | ExplanationOfBenefit.BillablePeriod.Start | 
| FamilyMemberHistory | TIDAK\$1TANGGAL | 
| Bendera | Bendera.period.mulai | 
| Tujuan | Goal.statusDate | 
| Kelompok | TIDAK\$1TANGGAL | 
| ImagingStudy | ImagingStudy.dimulai | 
| Imunisasi | imunisasi.Tercatat | 
| ImmunizationEvaluation | ImmunizationEvaluation.tanggal | 
| ImmunizationRecommendation | ImmunizationRecommendation.tanggal | 
| Faktur | Faktur.tanggal | 
| Daftar | Daftar.tanggal | 
| MeasureReport | MeasureReport.period.start | 
| Media | media.Diterbitkan | 
| MedicationAdministration | MedicationAdministration.efektif | 
| MedicationDispense | MedicationDispense.Ketika Disiapkan | 
| MedicationRequest | MedicationRequest.PenulisDon | 
| MedicationStatement | MedicationStatement.dateAsserted | 
| MolecularSequence | TIDAK\$1TANGGAL | 
| NutritionOrder | NutritionOrder.DateTime | 
| Observasi | pengamatan. Efektif | 
| Pasien | TIDAK\$1TANGGAL | 
| Orang | TIDAK\$1TANGGAL | 
| Prosedur | prosedur.Dilakukan | 
| Asal | Provenance.OcuncredPeriod.Start, Asal. occurredDateTime | 
| QuestionnaireResponse | QuestionnaireResponse.menulis | 
| RelatedPerson | TIDAK\$1TANGGAL | 
| RequestGroup | RequestGroup.PenulisDon | 
| ResearchSubject | ResearchSubject.periode | 
| RiskAssessment | RiskAssessment. occurrenceDateTime, RiskAssessment .OcuncencePeriod.start | 
| Jadwal | jadwal.planningHorizon | 
| ServiceRequest | ServiceRequest.PenulisDon | 
| Spesimen | Specimen.ReceivedTime | 
| SupplyDelivery | SupplyDelivery. occurrenceDateTime, SupplyDelivery .OcuncencePeriod.start, .OcuncenceTiming.event SupplyDelivery | 
| SupplyRequest | SupplyRequest.PenulisDon | 
| VisionPrescription | VisionPrescription.dateDitulis | 

# Mengambil ValueSet Kode dengan `$expand`
<a name="reference-fhir-operations-expand"></a>

AWS HealthLake sekarang mendukung `$expand` operasi untuk ValueSets yang dicerna oleh Anda sebagai pelanggan, memungkinkan Anda untuk mengambil daftar lengkap kode yang terkandung dalam ValueSet sumber daya tersebut. Operasi ini sangat berguna ketika Anda perlu:
+ Ambil semua kode yang mungkin untuk tujuan validasi
+ Tampilkan opsi yang tersedia di antarmuka pengguna
+ Lakukan pencarian kode komprehensif dalam konteks terminologi tertentu

## Penggunaan
<a name="expand-usage"></a>

`$expand`Operasi dapat dipanggil pada ValueSet sumber daya menggunakan metode GET dan POST:

**Operasi yang Didukung**  


```
GET/POST [base]/ValueSet/[id]/$expand
GET [base]/ValueSet/$expand?url=http://example.com
POST [base]/ValueSet/$expand
```

## Parameter yang Didukung
<a name="expand-parameters"></a>

HealthLake mendukung subset parameter FHIR `$expand` R4:


| Parameter | Tipe | Diperlukan | Deskripsi | 
| --- | --- | --- | --- | 
| url | uri | Tidak | URL kanonik untuk memperluas ValueSet  | 
| id | id | Tidak | ValueSet id sumber daya untuk diperluas (untuk operasi GET atau POST) | 
| filter | string | Tidak | Filter hasil ekspansi kode | 
| count | integer | Tidak | Jumlah kode yang akan dikembalikan | 
| offset | integer | Tidak | Jumlah kode yang cocok untuk dilewati sebelum kembali. Berlaku setelah pemfilteran dan hanya untuk kode yang cocok, bukan untuk konten asli yang lengkap dan tanpa filter ValueSet | 

## Contoh
<a name="expand-examples"></a>

**DAPATKAN Permintaan dengan ID**  


```
GET [base]/ValueSet/example-valueset/$expand
```

**DAPATKAN Permintaan berdasarkan URL dengan Filter**  


```
GET [base]/ValueSet/$expand?url=http://example.com/ValueSet/my-valueset&filter=male&count=5
```

**Permintaan POST dengan Parameter (berdasarkan ID)**  


```
POST [base]/ValueSet/example-valueset/$expand
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "count",
      "valueInteger": 10
    },
    {
      "name": "filter",
      "valueString": "admin"
    }
  ]
}
```

**Permintaan POST dengan Parameter (berdasarkan URL)**  


```
POST [base]/ValueSet/$expand
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "url",
      "valueUri": "http://hl7.org/fhir/ValueSet/administrative-gender"
    },
    {
      "name": "count",
      "valueInteger": 10
    }
  ]
}
```

**Contoh Respons**  
Operasi mengembalikan ValueSet sumber daya dengan `expansion` elemen yang berisi kode diperluas:

```
{
  "resourceType": "ValueSet",
  "id": "administrative-gender",
  "status": "active",
  "expansion": {
    "identifier": "urn:uuid:12345678-1234-1234-1234-123456789abc",
    "timestamp": "2024-01-15T10:30:00Z",
    "total": 4,
    "parameter": [
      {
        "name": "count",
        "valueInteger": 10
      }
    ],
    "contains": [
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "male",
        "display": "Male"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "female",
        "display": "Female"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "other",
        "display": "Other"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "unknown",
        "display": "Unknown"
      }
    ]
  }
}
```

Respons meliputi:
+ expansion.total: Jumlah total kode yang diperluas ValueSet
+ expansion.contains: Array kode yang diperluas dengan sistem, kode, dan nilai tampilannya
+ expansion.parameter: Parameter yang digunakan dalam permintaan ekspansi

Untuk informasi lebih lanjut tentang spesifikasi `$expand` operasi, lihat dokumentasi [FHIR R4 ValueSet `$expand`](https://build.fhir.org/valueset-operation-expand.html).

# Mengekspor HealthLake data dengan FHIR `$export`
<a name="reference-fhir-operations-export"></a>

Anda dapat mengekspor data secara massal dari penyimpanan HealthLake data Anda menggunakan operasi FHIR \$1export. HealthLake mendukung `$export` penggunaan `POST` dan `GET` permintaan FHIR. Untuk membuat permintaan ekspor dengan`POST`, Anda harus memiliki pengguna, grup, atau peran IAM dengan izin yang diperlukan, tentukan `$export` sebagai bagian dari permintaan, dan sertakan parameter yang diinginkan dalam badan permintaan.

**catatan**  
Semua permintaan HealthLake ekspor yang dibuat menggunakan FHIR dikembalikan dalam `ndjson` format dan diekspor ke bucket Amazon S3, di `$export` mana setiap objek Amazon S3 hanya berisi satu jenis sumber daya FHIR.  
Anda dapat mengantri permintaan ekspor per kuota layanan AWS akun. Untuk informasi selengkapnya, lihat [Kuota layanan](reference-healthlake-endpoints-quotas.md#reference-healthlake-quotas).

HealthLake mendukung tiga jenis permintaan titik akhir ekspor massal berikut.


**HealthLake `$export`jenis massal**  

| Tipe ekspor | Deskripsi | Sintaksis | 
| --- | --- | --- | 
| Sistem | Ekspor semua data dari server HealthLake FHIR. | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export`  | 
| Semua pasien | Ekspor semua data yang berkaitan dengan semua pasien termasuk jenis sumber daya yang terkait dengan jenis sumber daya Pasien. | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export` `GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export` | 
| Sekelompok pasien | Ekspor semua data yang berkaitan dengan sekelompok pasien yang ditentukan dengan ID Grup. | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export` `GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export` | 

## Sebelum Anda mulai
<a name="export-rest-before-you-begin"></a>

Memenuhi persyaratan berikut untuk membuat permintaan ekspor menggunakan FHIR REST API untuk HealthLake.
+ Anda harus menyiapkan pengguna, grup, atau peran yang memiliki izin yang diperlukan untuk membuat permintaan ekspor. Untuk mempelajari selengkapnya, lihat [Mengotorisasi permintaan `$export`](#export-rest-auth).
+ Anda harus telah membuat peran layanan yang memberikan HealthLake akses ke bucket Amazon S3 tempat Anda ingin data Anda diekspor. Peran layanan juga harus ditentukan HealthLake sebagai kepala layanan. Untuk informasi selengkapnya tentang menyiapkan izin, lihat[Menyiapkan izin untuk pekerjaan ekspor](getting-started-setting-up.md#setting-up-export-permissions).

## Mengotorisasi permintaan `$export`
<a name="export-rest-auth"></a>

Untuk membuat permintaan ekspor yang berhasil menggunakan FHIR REST API, otorisasi pengguna, grup, atau peran Anda menggunakan IAM atau .0. OAuth2 Anda juga harus memiliki peran layanan.

**Mengotorisasi permintaan menggunakan IAM**  
Saat Anda membuat `$export` permintaan, pengguna, grup, atau peran harus memiliki tindakan IAM yang disertakan dalam kebijakan. Untuk informasi selengkapnya, lihat [Menyiapkan izin untuk pekerjaan ekspor](getting-started-setting-up.md#setting-up-export-permissions).

**Mengotorisasi permintaan menggunakan SMART di FHIR (2.0) OAuth**  
Saat Anda membuat `$export` permintaan pada SMART di penyimpanan HealthLake data berkemampuan FHIR, Anda harus memiliki cakupan yang sesuai yang ditetapkan. Untuk informasi selengkapnya, lihat [SMART pada cakupan sumber daya FHIR untuk HealthLake](reference-smart-on-fhir-oauth-scopes.md#smart-on-fhir-scopes-rest).

**catatan**  
FHIR `$export` dengan `GET` permintaan memerlukan metode otentikasi atau token pembawa yang sama (dalam kasus SMART di FHIR) untuk meminta ekspor dan mengambil file. File yang diekspor menggunakan FHIR `$export` dengan `GET` tersedia untuk diunduh selama 48 jam.

## Membuat `$export` permintaan
<a name="export-rest-request"></a>

Bagian ini menjelaskan langkah-langkah yang diperlukan yang harus Anda ambil saat membuat permintaan ekspor menggunakan FHIR REST API.

Untuk menghindari tagihan yang tidak disengaja pada AWS akun Anda, kami sarankan untuk menguji permintaan Anda dengan membuat `POST` permintaan tanpa menyediakan sintaks. `$export`

Untuk membuat permintaan, Anda harus melakukan hal berikut:

1. Tentukan `$export` di URL `POST` permintaan untuk titik akhir yang didukung.

1. Tentukan parameter header yang diperlukan.

1. Tentukan badan permintaan yang mendefinisikan parameter yang diperlukan.

### Langkah 1: Tentukan `$export` URL `POST` permintaan untuk [titik akhir](reference-healthlake-endpoints-quotas.md#reference-healthlake-endpoints) yang didukung.
<a name="export-rest-request-step-1"></a>

HealthLake mendukung tiga jenis permintaan titik akhir ekspor massal. Untuk membuat permintaan ekspor massal, Anda harus membuat permintaan `POST` berbasis pada salah satu dari tiga titik akhir yang didukung. Contoh berikut menunjukkan di mana harus menentukan `$export` dalam URL permintaan.
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export`
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export`
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export`

Anda dapat menggunakan parameter pencarian yang didukung berikut dalam string `POST` permintaan.

#### Parameter pencarian yang didukung
<a name="export-rest-query-parameters"></a>

HealthLake mendukung pengubah pencarian berikut dalam permintaan ekspor massal.

Contoh berikut termasuk karakter khusus yang harus dikodekan sebelum mengirimkan permintaan Anda.


| Nama | Wajib? | Deskripsi | Contoh | 
| --- | --- | --- | --- | 
| \$1outputFormat | Tidak | Format untuk file Data Massal yang diminta untuk dihasilkan. Nilai yang diterima adalahapplication/fhir\$1ndjson,application/ndjson,ndjson. |  | 
| \$1type | Tidak | Serangkaian jenis sumber daya FHIR yang dibatasi koma yang ingin Anda sertakan dalam pekerjaan ekspor Anda. Kami merekomendasikan termasuk \$1type karena ini dapat memiliki implikasi biaya ketika semua sumber daya diekspor. | &\$1type=MedicationStatement, Observation | 
| \$1since | Tidak | Jenis sumber daya dimodifikasi pada atau setelah stempel tanggal waktu. Jika jenis sumber daya tidak memiliki waktu pembaruan terakhir, mereka akan disertakan dalam respons Anda. | &\$1since=2024-05-09T00%3A00%3A00Z | 
| \$1until | Tidak | Jenis sumber daya dimodifikasi pada atau sebelum stempel tanggal waktu. Digunakan dalam kombinasi dengan \$1since untuk menentukan rentang waktu tertentu untuk ekspor. Jika jenis sumber daya tidak memiliki waktu pembaruan terakhir, mereka akan dikecualikan dari respons Anda. | &\$1until=2024-12-31T23%3A59%3A59Z | 

### Langkah 2: Tentukan parameter header yang diperlukan
<a name="export-rest-request-step-2"></a>

Untuk membuat permintaan ekspor menggunakan FHIR REST API, Anda harus menentukan parameter header berikut.
+ Tipe Konten: `application/fhir+json`
+ Lebih suka: `respond-async`

Selanjutnya, Anda harus menentukan elemen yang diperlukan di badan permintaan.

### Langkah 3: Tentukan badan permintaan yang menentukan parameter yang diperlukan.
<a name="export-rest-request-step-3"></a>

Permintaan ekspor juga membutuhkan badan dalam `JSON` format. Tubuh dapat mencakup parameter berikut.


| Key | Wajib? | Deskripsi | Nilai | 
| --- | --- | --- | --- | 
| DataAccessRoleArn | Ya | ARN dari peran HealthLake layanan. Peran layanan yang digunakan harus ditentukan HealthLake sebagai prinsipal layanan. | arn:aws:iam::444455556666:role/your-healthlake-service-role | 
| JobName | Tidak | Nama permintaan ekspor. | your-export-job-name | 
| S3Uri | Ya | Bagian dari sebuah OutputDataConfig kunci. URI S3 dari bucket tujuan tempat data Anda yang diekspor akan diunduh. | s3://amzn-s3-demo-bucket/EXPORT-JOB/ | 
| KmsKeyId | Ya | Bagian dari sebuah OutputDataConfig kunci. ARN dari AWS KMS kunci yang digunakan untuk mengamankan bucket Amazon S3. | arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab | 

**Example Isi permintaan ekspor yang dibuat menggunakan FHIR REST API**  
Untuk membuat permintaan ekspor dengan menggunakan FHIR REST API, Anda harus menentukan isi, seperti yang ditunjukkan dalam berikut ini.  

```
{
  "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  "JobName": "your-export-job",
  "OutputDataConfig": {
    "S3Configuration": {
      "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB",
      "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }
  }
}
```

Ketika permintaan Anda berhasil, Anda akan menerima tanggapan berikut.

*Respon Header*

```
content-location: https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id
```

*Respon Tubuh*

```
{
  "datastoreId": "your-data-store-id",
  "jobStatus": "SUBMITTED",
  "jobId": "your-export-request-job-id"
}
```

## Mengelola permintaan ekspor Anda
<a name="export-rest-management"></a>

Setelah membuat permintaan ekspor berhasil, Anda dapat mengelola permintaan menggunakan `$export` untuk menjelaskan status permintaan ekspor saat ini, dan `$export` untuk membatalkan permintaan ekspor saat ini.

Saat membatalkan permintaan ekspor menggunakan REST API, Anda hanya ditagih untuk bagian data yang diekspor hingga saat Anda mengirimkan permintaan pembatalan.

Topik berikut menjelaskan bagaimana Anda bisa mendapatkan status atau membatalkan permintaan ekspor saat ini.

### Membatalkan permintaan ekspor
<a name="export-rest-management-describe"></a>

Untuk membatalkan permintaan ekspor, buat `DELETE` permintaan dan berikan ID pekerjaan di URL permintaan.

```
DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id
```

Ketika permintaan Anda berhasil, Anda menerima yang berikut ini.

```
{
  "exportJobProperties": {
    "jobId": "your-original-export-request-job-id",
    "jobStatus": "CANCEL_SUBMITTED",
    "datastoreId": "your-data-store-id"
  }
}
```

Ketika permintaan Anda tidak berhasil, Anda menerima yang berikut ini.

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-supported",
      "diagnostics": "Interaction not supported."
    }
  ]
}
```

### Menjelaskan permintaan ekspor
<a name="export-rest-management-describe"></a>

Untuk mendapatkan status permintaan ekspor, buat `GET` permintaan dengan menggunakan `export` dan Anda`export-request-job-id`.

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-id
```

Respons JSON akan berisi `ExportJobProperties` objek. Ini mungkin berisi pasangan key:value berikut.


| Nama | Wajib? | Deskripsi | Nilai | 
| --- | --- | --- | --- | 
| DataAccessRoleArn | Tidak | ARN dari peran HealthLake layanan. Peran layanan yang digunakan harus ditentukan HealthLake sebagai prinsipal layanan. | arn:aws:iam::444455556666:role/your-healthlake-service-role | 
| SubmitTime | Tidak | Tanggal waktu pekerjaan ekspor diajukan. | Apr 21, 2023 5:58:02 | 
| EndTime | Tidak | Waktu pekerjaan ekspor selesai. | Apr 21, 2023 6:00:08 PM | 
| JobName | Tidak | Nama permintaan ekspor. | your-export-job-name | 
| JobStatus | Tidak |  | Nilai yang valid adalah:<pre>SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED |<br />      FAILED</pre> | 
| S3Uri | Ya | Bagian dari suatu [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html)objek. URI Amazon S3 dari bucket tujuan tempat data yang Anda ekspor akan diunduh. | s3://amzn-s3-demo-bucket/EXPORT-JOB/ | 
| KmsKeyId | Ya | Bagian dari suatu [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html)objek. ARN dari AWS KMS kunci yang digunakan untuk mengamankan bucket Amazon S3. | arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab | 

**Example : Isi permintaan ekspor deskripsi yang dibuat menggunakan FHIR REST API**  
Ketika berhasil, Anda akan mendapatkan respon JSON berikut.  

```
{
  "exportJobProperties": {
    "jobId": "your-export-request-id",
    "JobName": "your-export-job",
    "jobStatus": "SUBMITTED",
    "submitTime": "Apr 21, 2023 5:58:02 PM",
    "endTime": "Apr 21, 2023 6:00:08 PM",
    "datastoreId": "your-data-store-id",
    "outputDataConfig": {
      "s3Configuration": {
        "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB",
        "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab""
      }
    },
    "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  }
}
```

# `$inquire`Operasi FHIR untuk HealthLake
<a name="reference-fhir-operations-inquire"></a>

`$inquire`Operasi ini memungkinkan Anda untuk memeriksa status permintaan otorisasi sebelumnya yang diajukan sebelumnya. Operasi ini mengimplementasikan Panduan [Implementasi Da Vinci Prior Authorization Support (PAS)](https://hl7.org/fhir/us/davinci-pas/), menyediakan alur kerja berbasis FHIR standar untuk mengambil keputusan otorisasi saat ini.

## Cara kerjanya
<a name="inquire-how-it-works"></a>
+ **Kirim Pertanyaan**: Anda mengirim Paket FHIR yang berisi Klaim yang ingin Anda periksa dan informasi pendukung
+ **Cari**: HealthLake mencari yang sesuai ClaimResponse di penyimpanan data Anda
+ **Ambil**: Status otorisasi terbaru diambil
+ **Tanggapan**: Anda menerima tanggapan langsung dengan status otorisasi saat ini (mengantri, disetujui, ditolak, dll.)

**catatan**  
`$inquire`adalah **operasi hanya-baca yang mengambil status** otorisasi yang ada. Itu tidak mengubah atau memperbarui sumber daya apa pun di penyimpanan data Anda.

## Titik akhir API
<a name="inquire-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Claim/$inquire  
Content-Type: application/fhir+json
```

## Struktur permintaan
<a name="inquire-request-structure"></a>

### Persyaratan bundel
<a name="inquire-bundle-requirements"></a>

Permintaan Anda harus berupa sumber daya Bundel FHIR dengan:
+ **Bundle.type**: Harus `"collection"`
+ **Bundle.entry**: Harus berisi tepat **satu** sumber Klaim dengan:
  + `use = "preauthorization"`
  + `status = "active"`
+ **Sumber Daya yang Direferensikan**: Semua sumber daya yang direferensikan oleh Klaim harus disertakan dalam Bundel

**Kueri demi contoh**  
Sumber daya dalam Bundle masukan Anda berfungsi sebagai template pencarian. HealthLake menggunakan informasi yang diberikan untuk menemukan yang sesuai ClaimResponse.

### Sumber daya yang dibutuhkan
<a name="inquire-required-resources"></a>


| Sumber daya | Kardinalitas | Profil | Deskripsi | 
| --- | --- | --- | --- | 
| Klaim | 1 | Permintaan Klaim PAS | Otorisasi sebelumnya yang Anda tanyakan | 
| Pasien | 1 | Pasien Penerima PAS | Informasi demografis pasien | 
| Organisasi (Penanggung) | 1 | Organisasi Penanggung PAS | Perusahaan asuransi | 
| Organisasi (Penyedia) | 1 | Organisasi Permintaan PAS | Penyedia layanan kesehatan yang mengajukan permintaan | 

### Kriteria pencarian penting
<a name="inquire-search-criteria"></a>

HealthLake pencarian untuk ClaimResponse menggunakan:
+ **Referensi pasien** dari Klaim
+ **Referensi Penanggung dari Klaim**
+ **Referensi penyedia** dari Klaim
+ **Tanggal dibuat** dari Klaim (sebagai filter waktu)

**Hanya Pertanyaan Khusus Pasien**  
Semua pertanyaan harus dikaitkan dengan pasien tertentu. Pertanyaan di seluruh sistem tanpa identifikasi pasien tidak diizinkan.

## Contoh permintaan
<a name="inquire-example-request"></a>

```
POST /datastore/example-datastore/r4/Claim/$inquire  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType": "Bundle",  
  "id": "PASClaimInquiryBundleExample",  
  "meta": {  
    "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-inquiry-request-bundle"]  
  },  
  "identifier": {  
    "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
    "value": "5269368"  
  },  
  "type": "collection",  
  "timestamp": "2005-05-02T14:30:00+05:00",  
  "entry": [  
    {  
      "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
      "resource": {  
        "resourceType": "Claim",  
        "id": "MedicalServicesAuthorizationExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:01:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "provider": {  
          "reference": "Organization/UMOExample"  
        }  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Patient/SubscriberExample",  
      "resource": {  
        "resourceType": "Patient",  
        "id": "SubscriberExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"]  
        },  
        "name": [{  
          "family": "SMITH",  
          "given": ["JOE"]  
        }],  
        "gender": "male"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/UMOExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "UMOExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
        },  
        "name": "Provider Organization"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/InsurerExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "InsurerExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
        },  
        "name": "Insurance Company"  
      }  
    }  
  ]  
}
```

## Format respons
<a name="inquire-response-format"></a>

### Respon sukses (200 OK)
<a name="inquire-success-response"></a>

Anda akan menerima Paket Respons Pertanyaan PAS yang berisi:
+ **ClaimResponse**dengan status otorisasi saat ini; beberapa **ClaimResponse**jika cocok dengan kriteria pencarian
+ Semua sumber daya asli dari permintaan Anda (bergema kembali)
+ Stempel waktu saat respons dirakit

**Kemungkinan ClaimResponse Hasil**  



| Hasil | Deskripsi | 
| --- | --- | 
| queued | Permintaan otorisasi masih menunggu peninjauan | 
| complete | Keputusan otorisasi telah dibuat (periksa disposition untuk disetujui/ditolak) | 
| error | Terjadi kesalahan selama pemrosesan | 
| partial | Otorisasi sebagian diberikan | 

```
{  
  "resourceType": "Bundle",  
  "identifier": {  
        "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
        "value": "5269367"  
  },  
  "type": "collection",  
  "timestamp": "2005-05-02T14:30:15+05:00",  
  "entry": [  
    {  
      "fullUrl": "http://example.org/fhir/ClaimResponse/InquiryResponseExample",  
      "resource": {  
        "resourceType": "ClaimResponse",  
        "id": "InquiryResponseExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:05:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "request": {  
          "reference": "Claim/MedicalServicesAuthorizationExample"  
        },  
        "outcome": "complete",  
        "disposition": "Approved",  
        "preAuthRef": "AUTH12345"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
      "resource": {  
        "resourceType": "Claim",  
        "id": "MedicalServicesAuthorizationExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:01:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "provider": {  
          "reference": "Organization/UMOExample"  
        }  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Patient/SubscriberExample",  
      "resource": {  
        "resourceType": "Patient",  
        "id": "SubscriberExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"]  
        },  
        "name": [{  
          "family": "SMITH",  
          "given": ["JOE"]  
        }],  
        "gender": "male"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/UMOExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "UMOExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
        },  
        "name": "Provider Organization"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/InsurerExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "InsurerExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
        },  
        "name": "Insurance Company"  
      }  
    }  
  ]  
}
```

## Tanggapan kesalahan
<a name="inquire-error-responses"></a>

### 400 Permintaan Buruk
<a name="inquire-400-error"></a>

Dikembalikan ketika format permintaan tidak valid atau validasi gagal.

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "required",  
            "diagnostics": "Reference 'Patient/SubscriberExample' at path 'patient' for 'CLAIM' resource not found(at Bundle.entry[0].resource)"  
        }  
    ]  
}
```

### 401 Tidak Sah
<a name="inquire-401-error"></a>

Dikembalikan ketika kredensi otentikasi hilang atau tidak valid.

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "forbidden",  
            "diagnostics": "Invalid authorization header"  
        }  
    ]  
}
```

### 403 Dilarang
<a name="inquire-403-error"></a>

Dikembalikan ketika pengguna yang diautentikasi tidak memiliki izin untuk mengakses sumber daya yang diminta.

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "exception",  
            "diagnostics": "Insufficient SMART scope permissions."  
        }  
    ]  
}
```

### 400 Ketika tidak ada yang ditemukan
<a name="inquire-400-none-found"></a>

Dikembalikan ketika tidak ClaimResponse ada kecocokan yang ditemukan untuk penyelidikan.

```
{  
  "resourceType": "OperationOutcome",
  "issue": [{
    "severity": "error",
    "code": "not-found",
    "diagnostics": "Resource not found. No ClaimResponse found from the input Claim that matches the specified Claim properties patient, insurer, provider, and created(at Bundle.entry[0].resource)"
  }]
}
```

### 415 Jenis Media yang Tidak Didukung
<a name="inquire-415-error"></a>

Dikembalikan ketika header Content-Type bukan application/fhir\$1json.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "value",  
    "diagnostics": "Incorrect MIME-type. Update request Content-Type header."  
  }]  
}
```

### 429 Terlalu Banyak Permintaan
<a name="inquire-429-error"></a>

Dikembalikan ketika batas tarif terlampaui.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "throttled",  
    "diagnostics": "Rate limit exceeded. Please retry after some time."  
  }]  
}
```

## Aturan validasi
<a name="inquire-validation-rules"></a>

HealthLake melakukan validasi komprehensif atas pertanyaan Anda:

### Validasi bundel
<a name="inquire-bundle-validation"></a>
+ Harus sesuai dengan profil Paket Permintaan Pertanyaan PAS
+ `Bundle.type`harus `"collection"`
+ Harus berisi persis satu sumber Klaim
+ Semua sumber daya yang direferensikan harus disertakan dalam Bundel

### Validasi klaim
<a name="inquire-claim-validation"></a>
+ Harus sesuai dengan profil Permintaan Klaim PAS
+ `Claim.use`harus `"preauthorization"`
+ `Claim.status`harus `"active"`
+ Bidang yang diperlukan:`patient`,`insurer`,`provider`, `created`

### Validasi sumber daya
<a name="inquire-resource-validation"></a>
+ Semua sumber daya harus sesuai dengan profil Penyelidikan PAS masing-masing
+ Sumber daya pendukung yang diperlukan harus ada (Pasien, Organisasi Penanggung, Organisasi Penyedia)
+ Referensi silang harus valid dan dapat diselesaikan dalam Bundel

## Spesifikasi kinerja
<a name="inquire-performance-specs"></a>


| Metrik | Spesifikasi | 
| --- | --- | 
| Batas Hitungan Sumber Daya | 500 sumber daya per Bundel | 
| Batas Ukuran Bundel | Maksimum 5 MB | 

## Izin yang diperlukan
<a name="inquire-required-permissions"></a>

Untuk menggunakan `$inquire` operasi, pastikan peran IAM Anda memiliki:
+ `healthlake:InquirePreAuthClaim`- Untuk memanggil operasi

**SMART pada Lingkup FHIR**  
**Cakupan minimum yang diperlukan:**
+ **SMART v1:** `user/ClaimResponse.read`
+ **SMART v2**: `user/ClaimResponse.s`

## Catatan implementasi penting
<a name="inquire-implementation-notes"></a>

### Perilaku pencarian
<a name="inquire-search-behavior"></a>

Saat Anda mengirimkan pertanyaan, HealthLake cari penggunaan: ClaimResponse 
+ **Referensi pasien** dari klaim masukan
+ **Referensi Penanggung dari Masukan** Klaim
+ **Referensi penyedia** dari Klaim masukan
+ **Tanggal dibuat** dari Klaim masukan (sebagai filter waktu)

**Beberapa Kecocokan**: Jika beberapa ClaimResponses cocok dengan kriteria pencarian Anda, HealthLake mengembalikan semua hasil yang cocok. Anda harus menggunakan `ClaimResponse.created` stempel waktu terbaru untuk mengidentifikasi status terbaru.

### Klaim yang diperbarui
<a name="inquire-updated-claims"></a>

Jika Anda telah mengirimkan beberapa pembaruan ke otorisasi sebelumnya yang sama (misalnya, Klaim v1.1, v1.2, v1.3), `$inquire` operasi akan mengambil yang ClaimResponse terkait dengan **versi terbaru** berdasarkan kriteria pencarian yang disediakan.

### Operasi hanya-baca
<a name="inquire-read-only"></a>

`$inquire`Operasi:
+ **Apakah** mengambil status otorisasi yang ada
+ **Apakah** mengembalikan yang terbaru ClaimResponse
+ **Tidak** mengubah atau memperbarui sumber daya apa pun
+ **Tidak** membuat sumber daya baru
+ **Tidak** memicu pemrosesan otorisasi baru

## Contoh alur kerja
<a name="inquire-workflow-example"></a>

**Alur Kerja Permintaan Otorisasi Sebelumnya yang Khas**  


```
1. Provider submits PA request  
   POST /Claim/$submit  
   → Returns ClaimResponse with outcome="queued"  
  
2. Payer reviews request (asynchronous)  
   → Updates ClaimResponse status internally  
  
3. Provider checks status  
   POST /Claim/$inquire  
   → Returns ClaimResponse with outcome="queued" (still pending)  
  
4. Provider checks status again later  
   POST /Claim/$inquire  
   → Returns ClaimResponse with outcome="complete", disposition="Approved"
```

## Operasi terkait
<a name="inquire-related-operations"></a>
+ `Claim/$submit`- Kirim permintaan otorisasi sebelumnya yang baru atau perbarui yang sudah ada
+ `Patient/$everything`- Ambil data pasien yang komprehensif untuk konteks otorisasi sebelumnya

# Mengambil Detail Konsep dengan `$lookup`
<a name="reference-fhir-operations-lookup"></a>

AWS HealthLake sekarang mendukung `$lookup` operasi untuk CodeSystem sumber daya, memungkinkan Anda untuk mengambil rincian tentang konsep tertentu dalam sistem kode dengan memberikan informasi identifikasi seperti kodenya. Operasi ini sangat berguna ketika Anda perlu:
+ Ambil informasi rinci tentang kode medis tertentu
+ Validasi arti dan properti kode
+ Akses definisi dan hubungan konsep
+ Support pengambilan keputusan klinis dengan data terminologi yang akurat

## Penggunaan
<a name="lookup-usage"></a>

`$lookup`Operasi dapat dipanggil pada CodeSystem sumber daya menggunakan metode GET dan POST:

**Operasi yang Didukung**  


```
GET [base]/CodeSystem/$lookup?system=http://snomed.info/sct&code=73211009&version=20230901
POST [base]/CodeSystem/$lookup
```

## Parameter yang Didukung
<a name="lookup-parameters"></a>

HealthLake mendukung subset parameter FHIR `$lookup` R4:


| Parameter | Tipe | Diperlukan | Deskripsi | 
| --- | --- | --- | --- | 
| code | code | Ya | Kode konsep yang Anda cari (misalnya, “71620000" di SNOMED CT) | 
| system | uri | Ya | URL kanonik dari sistem kode (misalnya, "[http://snomed.info/sct](http://snomed.info/sct) “) | 
| version | string | Tidak | Versi spesifik dari sistem kode | 

## Contoh
<a name="lookup-examples"></a>

**DAPATKAN Permintaan**  


```
GET [base]/CodeSystem/$lookup?system=http://snomed.info/sct&code=71620000&version=2023-09
```

**Permintaan POST**  


```
POST [base]/CodeSystem/$lookup
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueUri": "http://snomed.info/sct"
    },
    {
      "name": "code",
      "valueCode": "71620000"
    },
    {
      "name": "version",
      "valueString": "2023-09"
    }
  ]
}
```

**Contoh Respons**  
Operasi mengembalikan sumber daya Parameter yang berisi rincian konsep:

```
{
    "resourceType": "Parameters",
    "parameter": [{
            "name": "name",
            "valueString": "SNOMED CT Fractures"
        },
        {
            "name": "version",
            "valueString": "2023-09"
        },
        {
            "name": "display",
            "valueString": "Fracture of femur"
        },
        {
            "name": "property",
            "part": [{
                    "name": "code",
                    "valueCode": "child"
                },
                {
                    "name": "value",
                    "valueCode": "263225007"
                },
                {
                    "name": "description",
                    "valueString": "Fracture of neck of femur"
                }
            ]
        },
        {
            "name": "property",
            "part": [{
                    "name": "code",
                    "valueCode": "child"
                },
                {
                    "name": "value",
                    "valueCode": "263227004"
                },
                {
                    "name": "description",
                    "valueString": "Fracture of shaft of femur"
                }
            ]
        }
    ]
}
```

## Parameter Respons
<a name="lookup-response-parameters"></a>

Respons mencakup parameter berikut bila tersedia:


| Parameter | Jenis | Deskripsi | 
| --- | --- | --- | 
| name | string | Nama sistem kode | 
| version | string | Versi sistem kode | 
| display | string | Nama tampilan konsep | 
| designation | BackboneElement | Representasi tambahan untuk konsep ini. | 
| property | BackboneElement | Properti tambahan dari konsep (definisi, hubungan, dll.) | 

## Perilaku
<a name="lookup-behavior"></a>

`$lookup`Operasi:

1. Memvalidasi parameter yang diperlukan (`code`dan`system`)

1. Mencari konsep dalam sistem kode tertentu yang disimpan dalam datastore

1. Mengembalikan informasi konsep rinci termasuk nama tampilan, sebutan, dan properti.

1. Mendukung pencarian khusus versi saat parameter disediakan `version`

1. Beroperasi hanya pada sistem kode yang disimpan secara eksplisit di datastore HealthLake 

## Penanganan Kesalahan
<a name="lookup-error-handling"></a>

Operasi menangani kondisi kesalahan berikut:
+ 400 Permintaan Buruk: `$lookup` Operasi tidak valid (permintaan tidak sesuai atau parameter yang diperlukan tidak ada)
+ 404 Tidak Ditemukan: Sistem kode tidak ditemukan atau kode tidak ditemukan dalam sistem kode yang ditentukan

## Peringatan
<a name="lookup-caveats"></a>

Untuk rilis ini, berikut ini tidak didukung:
+ `$lookup`operasi dengan memanggil server terminologi eksternal
+ `$lookup`operasi pada CodeSystems dikelola oleh HealthLake tetapi tidak secara eksplisit disimpan di datastore

Untuk informasi lebih lanjut tentang spesifikasi `$lookup` operasi, lihat dokumentasi [FHIR R4 CodeSystem `$lookup`](https://www.hl7.org/fhir/R4/codesystem-operation-lookup.html).

# `$member-add`operasi untuk HealthLake
<a name="reference-fhir-operations-member-add"></a>

`$member-add`Operasi FHIR menambahkan anggota (pasien) ke sumber daya Grup, khususnya Daftar Atribusi Anggota. Operasi ini merupakan bagian dari Panduan Implementasi Atribusi DaVinci Anggota dan mendukung proses rekonsiliasi untuk mengelola atribusi anggota.

## Titik Akhir Operasi
<a name="member-add-endpoint"></a>

```
POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add
Content-Type: application/json
```

## Parameter
<a name="member-add-parameters"></a>

Operasi menerima sumber daya Parameter FHIR dengan kombinasi parameter berikut:

### Opsi Parameter
<a name="member-add-parameter-options"></a>

Anda dapat menggunakan salah satu kombinasi parameter berikut:

Opsi 1: ID Member\$1NPI Penyedia  
`memberId` \$1 `providerNpi`  
`memberId` \$1 `providerNpi` \$1 `attributionPeriod`

Opsi 2: Referensi Pasien\$1Referensi Penyedia  
`patientReference` \$1 `providerReference`  
`patientReference` \$1 `providerReference` \$1 `attributionPeriod`

### Rincian Parameter
<a name="member-add-parameter-details"></a>

MemberID (Opsional)  
Pengenal anggota yang akan ditambahkan ke Grup.  
Jenis: Identifier  
Sistem: Sistem pengenal pasien  

```
{
  "name": "memberId",
  "valueIdentifier": {
    "system": "http://example.org/patient-id",
    "value": "patient-new"
  }
}
```

ProviderNPI (Opsional)  
Pengenal Penyedia Nasional (NPI) dari penyedia yang dikaitkan.  
Jenis: Identifier  
Sistem: http://terminology.hl7. org/CodeSystem/NPI  

```
{
  "name": "providerNpi",
  "valueIdentifier": {
    "system": "http://terminology.hl7.org/CodeSystem/NPI",
    "value": "1234567890"
  }
}
```

PatientReference (Opsional)  
Referensi langsung ke sumber daya pasien yang akan ditambahkan.  
Jenis: Referensi  

```
{
  "name": "patientReference",
  "valueReference": {
    "reference": "Patient/patient-123"
  }
}
```

ProviderReference (Opsional)  
Referensi langsung ke sumber daya penyedia.  
Jenis: Referensi  

```
{
  "name": "providerReference",
  "valueReference": {
    "reference": "Practitioner/provider-456"
  }
}
```

Periode Atribusi (Opsional)  
Periode waktu di mana pasien dikaitkan dengan penyedia.  
Jenis: Periode  

```
{
  "name": "attributionPeriod",
  "valuePeriod": {
    "start": "2024-07-15",
    "end": "2025-07-14"
  }
}
```

## Minta Contoh
<a name="member-add-examples"></a>

### Menggunakan ID Anggota dan NPI Penyedia
<a name="member-add-example-id-npi"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "memberId",
      "valueIdentifier": {
        "system": "http://example.org/patient-id",
        "value": "patient-new"
      }
    },
    {
      "name": "providerNpi",
      "valueIdentifier": {
        "system": "http://terminology.hl7.org/CodeSystem/NPI",
        "value": "1234567890"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

### Menggunakan Referensi Pasien dan Penyedia
<a name="member-add-example-references"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/patient-123"
      }
    },
    {
      "name": "providerReference",
      "valueReference": {
        "reference": "Practitioner/provider-456"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

## Format Respons
<a name="member-add-response"></a>

### Respon Penambahan yang Berhasil
<a name="member-add-success-response"></a>

```
HTTP Status: 200 OK
Content-Type: application/fhir+json

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "success",
      "code": "informational",
      "details": {
        "text": "Member Patient/patient-new successfully added to the Member Attribution List."
      }
    }
  ]
}
```

### Respons Kesalahan
<a name="member-add-error-responses"></a>

Sintaks Permintaan Tidak Valid  
Status HTTP: 400 Permintaan Buruk  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "invalid",
      "details": {
        "text": "Invalid parameter combination provided"
      }
    }
  ]
}
```

Sumber Daya Tidak Ditemukan  
Status HTTP: 404 Tidak Ditemukan  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "Resource not found."
      }
    }
  ]
}
```

Konflik Versi  
Status HTTP: 409 Konflik  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "conflict",
      "details": {
        "text": "Resource version conflict detected"
      }
    }
  ]
}
```

Status Atribusi Tidak Valid  
Status HTTP: 422 Entitas yang Tidak Dapat Diproses  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "business-rule",
      "details": {
        "text": "Cannot add member to Attribution List with status 'final'. Status must be 'draft' or 'open'."
      }
    }
  ]
}
```

## Aturan Bisnis
<a name="member-add-business-rules"></a>

Validasi Status Atribusi  
Operasi hanya dapat dilakukan jika Status Atribusi Grup adalah:  
+ `draft`
+ `open`
Operasi tidak diperbolehkan ketika statusnya`final`.

Pencegahan Anggota Duplikat  
Sistem mencegah penambahan anggota duplikat berdasarkan kombinasi unik dari:  
+ Pengenal Anggota
+ Pengidentifikasi Pembayar
+ Pengidentifikasi Cakupan

Validasi Periode Cakupan  
Ketika `attributionPeriod` disediakan, itu harus berada dalam batas-batas periode pertanggungan anggota. Sistem akan:  
+ Cari sumber daya Cakupan anggota
+ Gunakan Cakupan terbaru (versionId tertinggi) jika ada beberapa
+ Memvalidasi bahwa periode atribusi tidak melebihi periode pertanggungan

Validasi Referensi  
Ketika ID dan referensi disediakan untuk sumber daya yang sama (pasien atau penyedia), sistem memvalidasi bahwa mereka sesuai dengan sumber daya yang sama.  
Ketika bidang ID dan reference.identifier disediakan untuk sumber daya yang sama (pasien atau penyedia), kesalahan akan muncul.

## Otentikasi & Otorisasi
<a name="member-add-auth"></a>

Operasi ini membutuhkan otorisasi SMART pada FHIR untuk:
+ Izin baca - Untuk memvalidasi sumber daya pasien, penyedia, dan grup
+ Izin pencarian - Untuk menemukan sumber daya berdasarkan pengenal
+ Perbarui izin - Untuk memodifikasi sumber daya Grup

## Perilaku Operasional
<a name="member-add-behavior"></a>

Pembaruan Sumber Daya  
+ Memperbarui ID versi sumber daya Grup
+ Membuat entri riwayat dengan status sumber daya asli sebelum operasi
+ Menambahkan informasi anggota ke array Group.member dengan:
  + Referensi pasien di entity.reference
  + Periode atribusi dalam periode
  + Informasi cakupan dan penyedia di bidang ekstensi

Langkah Validasi  
+ Validasi Parameter - Memastikan kombinasi parameter yang valid
+ Keberadaan Sumber Daya - Memvalidasi sumber daya pasien, penyedia, dan kelompok yang ada
+ Status Atribusi - Mengonfirmasi status grup memungkinkan modifikasi
+ Pemeriksaan Duplikat - Mencegah penambahan anggota yang ada
+ Validasi Cakupan - Memastikan periode atribusi berada dalam batas cakupan

## Batasan
<a name="member-add-limitations"></a>
+ Semua sumber daya yang direferensikan harus ada dalam datastore yang sama
+ Operasi hanya berfungsi dengan sumber daya Grup Daftar Atribusi Anggota
+ Periode atribusi harus berada dalam batas pertanggungan
+ Tidak dapat mengubah grup dengan status “final”

# `$member-match`operasi untuk HealthLake
<a name="reference-fhir-operations-member-match"></a>

AWS HealthLake sekarang mendukung `$member-match` operasi untuk sumber daya Pasien, memungkinkan organisasi perawatan kesehatan untuk menemukan pengenal unik anggota di berbagai sistem perawatan kesehatan menggunakan informasi demografis dan cakupan. Operasi ini sangat penting untuk mencapai kepatuhan CMS dan memfasilitasi pertukaran payer-to-payer data yang aman sambil menjaga privasi pasien.

Operasi ini sangat berguna ketika Anda perlu:
+ Aktifkan pertukaran data perawatan kesehatan yang aman antar organisasi
+ Pertahankan kontinuitas perawatan pasien di berbagai sistem
+ Mendukung persyaratan kepatuhan CMS
+ Memfasilitasi identifikasi anggota yang akurat di seluruh jaringan perawatan kesehatan

## Penggunaan
<a name="member-match-usage"></a>

`$member-match`Operasi dapat dipanggil pada sumber daya Pasien menggunakan metode POST:

```
POST [base]/Patient/$member-match
```

## Parameter yang Didukung
<a name="member-match-parameters"></a>

HealthLake mendukung `$member-match` parameter FHIR berikut:


| Parameter | Tipe | Diperlukan | Default | Deskripsi | 
| --- | --- | --- | --- | --- | 
| MemberPatient | Pasien | Ya | — | Sumber daya pasien yang berisi informasi demografis agar anggota dicocokkan | 
| CoverageToMatch | Cakupan | Ya | — | Sumber daya cakupan yang akan digunakan untuk pencocokan dengan catatan yang ada | 
| CoverageToLink | Cakupan | Tidak | — | Sumber daya cakupan yang akan ditautkan selama proses pencocokan | 
| Persetujuan | Persetujuan | Tidak | — | Sumber daya persetujuan untuk tujuan otorisasi | 

## Contoh
<a name="member-match-examples"></a>

### Permintaan POST dengan Parameter
<a name="member-match-request-example"></a>

```
POST [base]/Patient/$member-match
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberPatient",
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "family": "Jones",
            "given": ["Sarah"]
          }
        ],
        "gender": "female",
        "birthDate": "1985-05-15"
      }
    },
    {
      "name": "CoverageToMatch",
      "resource": {
        "resourceType": "Coverage",
        "status": "active",
        "beneficiary": {
          "reference": "Patient/1"
        },
        "relationship": {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
              "code": "self",
              "display": "Self"
            }
          ]
        },
        "payor": [
          {
            "reference": "Organization/payer456"
          }
        ]
      }
    },
    {
      "name": "Consent",
      "resource": {
        "resourceType": "Consent",
        "status": "active",
        "scope": {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/consentscope",
              "code": "patient-privacy"
            }
          ]
        },
        "category": [
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                "code": "IDSCL"
              }
            ]
          }
        ],
        "patient": {
          "reference": "Patient/1"
        },
        "performer": [
          {
            "reference": "Patient/patient123"
          }
        ],
        "sourceReference": {
          "reference": "Document/someconsent"
        },
        "policy": [
          {
            "uri": "http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular"
          }
        ]
      }
    }
  ]
}
```

### Contoh Respons
<a name="member-match-response-example"></a>

Operasi mengembalikan sumber daya Parameter yang berisi hasil yang cocok:

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberIdentifier",
      "valueIdentifier": {
        "system": "http://hospital.org/medical-record-number",
        "value": "MRN-123456"
      }
    },
    {
      "name": "MemberId",
      "valueReference": {
        "reference": "Patient/patient123"
      }
    },
    {
      "name": "matchAlgorithm",
      "valueString": "DEMOGRAPHIC_MATCH"
    },
    {
      "name": "matchDetails",
      "valueString": "Demographic match: DOB + Name"
    },
    {
      "name": "matchedFields",
      "valueString": "given,birthdate,gender,family"
    }
  ]
}
```

## Parameter Respons
<a name="member-match-response-parameters"></a>

Respons mencakup parameter berikut ketika kecocokan ditemukan:


| Parameter | Jenis | Deskripsi | 
| --- | --- | --- | 
| MemberIdentifier | Pengidentifikasi | Pengenal unik untuk anggota yang cocok | 
| MemberId | Referensi | Referensi ke sumber daya Pasien | 
| MatchAlgorithm | String | Jenis algoritma pencocokan yang digunakan (EXACT\$1MATCH, STRONG\$1MATCH, atau DEMOGRAPHIC\$1MATCH) | 
| Detail pertandingan | String | Informasi terperinci tentang proses pencocokan | 
| MatchedFields | String | Daftar bidang tertentu yang berhasil dicocokkan | 

## Algoritma Pencocokan
<a name="member-match-algorithms"></a>

`$member-match`API menggunakan pendekatan pencocokan multi-tier untuk memastikan identifikasi anggota yang akurat:

EXACT\$1MATCH  
Menggunakan Patient Identifier dikombinasikan dengan Cakupan SubscriberId  
Memberikan tingkat kepercayaan tertinggi untuk pencocokan anggota

STRONG\$1MATCH  
Menggunakan Patient Identifier dengan informasi cakupan minimum  
Menawarkan kepercayaan diri yang tinggi ketika kriteria kecocokan yang tepat tidak terpenuhi

DEMOGRAFIK\$1MATCH  
Bergantung pada informasi demografis dasar  
Digunakan saat pencocokan berbasis pengenal tidak dimungkinkan

## Perilaku
<a name="member-match-behavior"></a>

`$member-match`Operasi:
+ Menerima demografi pasien, detail cakupan, dan informasi persetujuan opsional sebagai masukan
+ Mengembalikan pengenal anggota unik yang dapat digunakan untuk interaksi selanjutnya
+ Menerapkan pencocokan multi-tier (tepat, kuat, demografis) untuk memastikan identifikasi anggota yang akurat di berbagai sistem perawatan kesehatan
+ Menyimpan informasi persetujuan yang diberikan untuk tujuan otorisasi future
+ Mendukung pertukaran payer-to-payer data yang aman sambil menjaga privasi pasien
+ Memenuhi persyaratan CMS untuk pertukaran data perawatan kesehatan

## Otorisasi
<a name="member-match-authorization"></a>

API menggunakan SMART pada protokol otorisasi FHIR dengan cakupan wajib berikut:
+ `system/Patient.read`
+ `system/Coverage.read`
+ `system/Organization.read`(bersyarat)
+ `system/Practitioner.read`(bersyarat)
+ `system/PractitionerRole.read`(bersyarat)
+ `system/Consent.write`(bersyarat)

## Penanganan Kesalahan
<a name="member-match-error-handling"></a>

Operasi menangani kondisi kesalahan berikut:
+ `400 Bad Request`: `$member-match` Operasi tidak valid (permintaan yang tidak sesuai atau parameter yang diperlukan tidak ada)
+ `422 Unprocessable Entity`: Tidak ada kecocokan atau beberapa kecocokan yang ditemukan

# `$member-remove`operasi untuk HealthLake
<a name="reference-fhir-operations-member-remove"></a>

`$member-remove`Operasi ini memungkinkan Anda untuk menghapus anggota dari Daftar Atribusi Anggota FHIR (sumber daya Grup) di. AWS HealthLake Operasi ini merupakan bagian dari Panduan Implementasi Atribusi DaVinci Anggota dan mendukung proses rekonsiliasi untuk mengelola atribusi anggota.

## Prasyarat
<a name="member-remove-prerequisites"></a>
+ AWS HealthLake Datasore FHIR
+ Izin IAM yang sesuai untuk operasi HealthLake 
+ Daftar Atribusi Anggota (Sumber daya grup) dalam draf atau status terbuka

## Detail Operasi
<a name="member-remove-endpoint"></a>

Titik akhir  
`POST /Group/{id}/$member-remove`

Jenis Konten  
`application/fhir+json`

## Parameter
<a name="member-remove-parameters"></a>

Operasi menerima sumber daya Parameter FHIR dengan parameter opsional berikut:


| Parameter | Kardinalitas | Tipe | Deskripsi | 
| --- | --- | --- | --- | 
| MemberID | 0.. 1 | Pengidentifikasi | Pengenal bisnis anggota yang akan dihapus | 
| ProviderNPI | 0.. 1 | Pengidentifikasi | NPI dari penyedia yang dikaitkan | 
| PatientReferensi | 0.. 1 | Referensi | Referensi langsung ke sumber daya Pasien | 
| Penyedia Referensi | 0.. 1 | Referensi | Referensi langsung ke sumber daya Penyedia (Praktisi, PractitionerRole, atau Organisasi) | 
| CoverageReference | 0.. 1 | Referensi | Referensi ke sumber daya Cakupan | 

### Kombinasi Parameter yang Didukung
<a name="member-remove-parameter-combinations"></a>

Kombinasi parameter berikut didukung:
+ `memberId`only - Menghapus semua atribusi untuk anggota yang ditentukan
+ `memberId`\$1 `providerNpi` - Menghapus atribusi untuk kombinasi member-provider tertentu
+ `patientReference`hanya - Menghapus semua atribusi untuk pasien yang ditentukan
+ `patientReference`\$1 `providerReference` - Menghapus atribusi untuk kombinasi pasien-penyedia tertentu
+ `patientReference`\$1 `providerReference` \$1 `coverageReference` - Menghapus atribusi spesifik berdasarkan pasien, penyedia, dan cakupan

## Contoh Permintaan
<a name="member-remove-examples"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/12345"
      }
    },
    {
      "name": "providerReference",
      "valueReference": {
        "reference": "Practitioner/67890"
      }
    }
  ]
}
```

## Respons
<a name="member-remove-response"></a>

### Respon yang Berhasil
<a name="member-remove-success-response"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "result",
      "valueBoolean": true
    },
    {
      "name": "effectiveDate",
      "valueDate": "2024-06-30"
    },
    {
      "name": "status",
      "valueCode": "inactive"
    },
    {
      "name": "message",
      "valueString": "Member successfully removed from attribution list"
    }
  ]
}
```

## Perilaku
<a name="member-remove-behavior"></a>

Persyaratan Status  
Operasi hanya berfungsi pada daftar atribusi dengan status `draft` atau `open`  
Daftar dengan `final` status akan menolak operasi dengan kesalahan 422

Proses Penghapusan Anggota  
*Daftar Status Draf*: Anggota ditandai sebagai tidak aktif (`inactive: true`) dan `changeType` ekstensi mereka diperbarui ke `changed`  
*Daftar Status Terbuka*: Perilaku serupa dengan status draf  
*Daftar Status Akhir*: Operasi ditolak

Validasi  
Referensi divalidasi untuk memastikan mereka ada di datastore HealthLake   
Jika pengenal dan referensi disediakan untuk jenis sumber daya yang sama, mereka harus sesuai dengan sumber daya yang sama  
Kombinasi parameter divalidasi sesuai dengan pola yang didukung

## Penanganan Kesalahan
<a name="member-remove-error-handling"></a>

### Tanggapan Kesalahan Umum
<a name="member-remove-common-errors"></a>

Sumber Daya Tidak Ditemukan (404)  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "Patient with identifier 'http://example.org/fhir/identifiers|99999' not found in system"
      },
      "diagnostics": "Cannot remove member from attribution list. Verify patient identifier and try again.",
      "expression": ["memberId"]
    }
  ]
}
```

Status Akhir Daftar Atribusi (422)  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "business-rule",
      "details": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/us/davinci-atr/CodeSystem/atr-error-codes",
            "code": "list-final",
            "display": "Attribution list is final and cannot be modified"
          }
        ]
      },
      "diagnostics": "Cannot modify attribution list with status 'final'. List modifications are not permitted after finalization.",
      "expression": ["Group.status"]
    }
  ]
}
```

Operasi Tidak Valid (400)  
Dikembalikan ketika kombinasi parameter tidak valid atau cacat.

Ditemukan Beberapa Pertandingan (412)  
Dikembalikan ketika parameter yang disediakan cocok dengan beberapa anggota dalam daftar atribusi.  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "Multiple members found matching the criteria"
    }
  ]
}
```

## Praktik Terbaik
<a name="member-remove-best-practices"></a>
+ *Gunakan Parameter Spesifik*: Jika memungkinkan, gunakan kombinasi parameter yang paling spesifik untuk menghindari penghapusan yang tidak diinginkan
+ *Periksa Status Daftar*: Verifikasi status daftar atribusi sebelum mencoba menghapus
+ *Menangani Kesalahan dengan Anggun*: Menerapkan penanganan kesalahan yang tepat untuk semua kemungkinan kondisi kesalahan
+ *Validasi Referensi*: Pastikan semua sumber daya yang direferensikan ada sebelum membuat permintaan

# Menghapus Sumber Daya Kompartemen Pasien dengan `$purge`
<a name="reference-fhir-operations-purge"></a>

AWS HealthLake mendukung `$purge` operasi, memungkinkan penghapusan permanen semua sumber daya dalam kompartemen pasien. Operasi ini sangat berguna ketika Anda perlu:
+ Hapus semua data yang terkait dengan pasien
+ Mematuhi permintaan penghapusan data pasien
+ Kelola siklus hidup data pasien
+ Jalankan pembersihan catatan pasien yang komprehensif

## Penggunaan
<a name="purge-usage"></a>

`$purge`Operasi dapat dipanggil pada sumber daya Pasien:

```
POST [base]/Patient/[ID]/$purge?deleteAuditEvent=true
```

## Parameter
<a name="purge-parameters"></a>


| Parameter | Tipe | Diperlukan | Default | Deskripsi | 
| --- | --- | --- | --- | --- | 
| deleteAuditEvent | boolean | Tidak | false | Jika benar, menghapus peristiwa audit terkait | 
| \$1since | string | Tidak | Waktu pembuatan Datastore | Saat dimasukkan, pilih waktu cutoff awal untuk menemukan sumber daya berdasarkan waktu LastModified mereka. Tidak dapat digunakan dengan awal atau akhir | 
| start | string | Tidak | Waktu pembuatan Datastore | Saat dimasukkan, pilih waktu cutoff untuk menemukan sumber daya berdasarkan waktu LastModified mereka. Dapat digunakan dengan akhir | 
| end | string | Tidak | Waktu pengajuan Job | Saat dimasukkan, pilih waktu cutoff akhir untuk menemukan sumber daya berdasarkan waktu LastModified mereka | 

## Contoh
<a name="purge-examples"></a>

**Contoh Permintaan**  


```
POST [base]/Patient/example-patient/$purge?deleteAuditEvent=true
```

**Contoh Respons**  


```
{
  "resourceType": "OperationOutcome",
  "id": "purge-job",
  "issue": [
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "Purge job started successfully. Job ID: 12345678-1234-1234-1234-123456789012"
    }
  ]
}
```

## Status Tugas
<a name="purge-job-status"></a>

Untuk memeriksa status pekerjaan pembersihan:

```
GET [base]/$purge/[jobId]
```

Operasi mengembalikan informasi status pekerjaan:

```
{
      "datastoreId": "36622996b1fcecb7e12ee2ee085308d3",
      "jobId": "3dd1c7a5b6c0ef8c110f566eb87e2ef9",
      "status": "COMPLETED",
      "submittedTime": "2025-10-31T18:43:21.822Z"
    }
```

## Perilaku
<a name="purge-behavior"></a>

`$purge`Operasi:

1. Memproses secara asinkron untuk menangani banyak sumber daya

1. Menjaga transaksi ACID untuk integritas data

1. Menyediakan pelacakan status pekerjaan dengan jumlah penghapusan sumber daya

1. Secara permanen menghapus semua sumber daya di kompartemen pasien

1. Termasuk pencatatan audit komprehensif dari kegiatan penghapusan

1. Mendukung penghapusan selektif peristiwa audit

## Pencatatan Audit
<a name="purge-audit-logging"></a>

Log `$purge` operasi sebagai Mulai FHIRBulk DeleteJob dan Jelaskan FHIRBulk DeleteJob dengan informasi operasi terperinci.

## Batasan
<a name="purge-limitations"></a>
+ Sumber daya yang dibersihkan tidak akan muncul di respons penelusuran
+ Sumber daya yang sedang dibersihkan mungkin sementara tidak dapat diakses selama pemrosesan
+ Semua sumber daya di kompartemen pasien dihapus secara permanen

# `$questionnaire-package`Operasi FHIR untuk HealthLake
<a name="reference-fhir-operations-questionnaire-package"></a>

`$questionnaire-package`Operasi mengambil bundel komprehensif yang berisi Kuesioner FHIR dan semua dependensinya yang diperlukan untuk membuat dan memproses kuesioner. Operasi ini mengimplementasikan [Panduan Implementasi Template dan Aturan Dokumentasi Da Vinci (DTR)](https://hl7.org/fhir/us/davinci-dtr/OperationDefinition-questionnaire-package.html), memungkinkan rendering formulir dinamis untuk persyaratan dokumentasi dalam alur kerja perawatan kesehatan.

## Cara kerjanya
<a name="questionnaire-package-how-it-works"></a>
+ **Permintaan**: Anda mengirim parameter yang mengidentifikasi kuesioner yang diperlukan, bersama dengan cakupan dan konteks pesanan
+ **Ambil**: HealthLake mengumpulkan Kuesioner dan semua dependensi (, Perpustakaan CQLValueSets, dll.)
+ **Package**: Semua sumber daya dibundel bersama dalam format standar
+ **Menanggapi**: Anda menerima paket lengkap yang siap untuk rendering dan pengumpulan data

**Kasus penggunaan**  

+ **Dokumentasi Otorisasi Sebelumnya**: Kumpulkan informasi klinis yang diperlukan untuk permintaan otorisasi sebelumnya
+ **Persyaratan Cakupan**: Kumpulkan dokumentasi yang diperlukan untuk memenuhi persyaratan cakupan pembayar
+ **Clinical Data Exchange**: Struktur data klinis untuk diserahkan kepada pembayar
+ **Formulir Dinamis**: Render kuesioner dengan data pasien yang telah diisi sebelumnya dan logika bersyarat

## Titik akhir API
<a name="questionnaire-package-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json
```

## Permintaan parameter
<a name="questionnaire-package-request-parameters"></a>

### Parameter input
<a name="questionnaire-package-input-parameters"></a>

Badan permintaan harus berisi sumber daya Parameter FHIR dengan parameter berikut:


| Parameter | Tipe | Kardinalitas | Deskripsi | 
| --- | --- | --- | --- | 
| coverage | Cakupan | 1.. \$1 (Diperlukan) | Sumber daya cakupan untuk menetapkan anggota dan cakupan untuk dokumentasi | 
| questionnaire | canonical | 0.. \$1 | URL kanonik untuk Kuesioner tertentu untuk dikembalikan (mungkin termasuk versi) | 
| order | Sumber daya | 0.. \$1 | Pesan sumber daya (DeviceRequest, ServiceRequest, MedicationRequest, Encounter, Appointment) untuk menetapkan konteks | 
| changedSince | dateTime | 0.. 1 | Jika ada, hanya sumber daya yang dikembalikan yang diubah setelah stempel waktu ini | 

### Aturan validasi parameter
<a name="questionnaire-package-parameter-validation"></a>

**Setidaknya SATU dari berikut ini harus disediakan** (selain yang diperlukan`coverage`):
+ Satu atau lebih `questionnaire` kanonik URLs
+ Satu atau lebih `order` sumber daya

**Kombinasi Permintaan yang Valid:**  

+ `coverage` \$1 `questionnaire`
+ `coverage` \$1 `order`
+ `coverage` \$1 `questionnaire` \$1 `order`

## Contoh permintaan
<a name="questionnaire-package-example-request"></a>

```
POST /datastore/example-datastore/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": {  
        "resourceType": "Coverage",  
        "id": "example-coverage",  
        "status": "active",  
        "beneficiary": {  
          "reference": "Patient/example-patient"  
        },  
        "payor": [{  
          "reference": "Organization/example-payer"  
        }],  
        "class": [{  
          "type": {  
            "coding": [{  
              "system": "http://terminology.hl7.org/CodeSystem/coverage-class",  
              "code": "group"  
            }]  
          },  
          "value": "12345"  
        }]  
      }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0"  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "id": "example-service-request",  
        "status": "active",  
        "intent": "order",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660",  
            "display": "Continuous positive airway pressure ventilation (CPAP)"  
          }]  
        },  
        "subject": {  
          "reference": "Patient/example-patient"  
        }  
      }  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-01-01T00:00:00Z"  
    }  
  ]  
}
```

## Format respons
<a name="questionnaire-package-response-format"></a>

### Respon sukses (200 OK)
<a name="questionnaire-package-success-response"></a>

Operasi mengembalikan sumber daya Parameter FHIR yang berisi satu atau lebih **Package Bundle**. Setiap Package Bundle meliputi:


| Jenis Entri | Kardinalitas | Deskripsi | 
| --- | --- | --- | 
| Kuesioner | 1 | Kuesioner yang akan diberikan | 
| QuestionnaireResponse | 0.. 1 | Respons yang telah diisi sebelumnya atau sebagian selesai (jika ada) | 
| Perpustakaan | 0.. \$1 | Perpustakaan CQL yang berisi pra-populasi dan logika bersyarat | 
| ValueSet | 0.. \$1 | Diperluas ValueSets (untuk pilihan jawaban dengan <40 ekspansi) | 

**Example Contoh tanggapan**  

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "PackageBundle",  
      "resource": {  
        "resourceType": "Bundle",  
        "id": "questionnaire-package-example",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/DTR-QPackageBundle"]  
        },  
        "type": "collection",  
        "timestamp": "2024-03-15T10:30:00Z",  
        "entry": [  
          {  
            "fullUrl": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
            "resource": {  
              "resourceType": "Questionnaire",  
              "id": "home-oxygen-therapy",  
              "url": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
              "version": "2.0",  
              "status": "active",  
              "title": "Home Oxygen Therapy Documentation",  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "type": "choice",  
                  "answerValueSet": "http://example.org/fhir/ValueSet/oxygen-diagnoses"  
                }  
              ]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/Library/oxygen-prepopulation",  
            "resource": {  
              "resourceType": "Library",  
              "id": "oxygen-prepopulation",  
              "url": "http://example.org/fhir/Library/oxygen-prepopulation",  
              "version": "1.0",  
              "type": {  
                "coding": [{  
                  "system": "http://terminology.hl7.org/CodeSystem/library-type",  
                  "code": "logic-library"  
                }]  
              },  
              "content": [{  
                "contentType": "text/cql",  
                "data": "bGlicmFyeSBPeHlnZW5QcmVwb3B1bGF0aW9u..."  
              }]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
            "resource": {  
              "resourceType": "ValueSet",  
              "id": "oxygen-diagnoses",  
              "url": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
              "status": "active",  
              "expansion": {  
                "timestamp": "2024-03-15T10:30:00Z",  
                "contains": [  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J44.0",  
                    "display": "COPD with acute lower respiratory infection"  
                  },  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J96.01",  
                    "display": "Acute respiratory failure with hypoxia"  
                  }  
                ]  
              }  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/QuestionnaireResponse/example-prepopulated",  
            "resource": {  
              "resourceType": "QuestionnaireResponse",  
              "id": "example-prepopulated",  
              "questionnaire": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0",  
              "status": "in-progress",  
              "subject": {  
                "reference": "Patient/example-patient"  
              },  
              "basedOn": [{  
                "reference": "ServiceRequest/example-service-request"  
              }],  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "answer": [{  
                    "valueCoding": {  
                      "system": "http://hl7.org/fhir/sid/icd-10",  
                      "code": "J44.0",  
                      "display": "COPD with acute lower respiratory infection"  
                    }  
                  }]  
                }  
              ]  
            }  
          }  
        ]  
      }  
    },  
    {  
      "name": "Outcome",  
      "resource": {  
        "resourceType": "OperationOutcome",  
        "issue": [{  
          "severity": "information",  
          "code": "informational",  
          "details": {  
            "text": "Successfully retrieved questionnaire package"  
          }  
        }]  
      }  
    }  
  ]  
}
```

## Alur kerja operasi
<a name="questionnaire-package-operation-workflow"></a>

**Bagaimana HealthLake Memproses Permintaan Anda**  
Saat Anda menelepon `$questionnaire-package` HealthLake , lakukan langkah-langkah berikut:

1. **Identifikasi Pasien & Pembayar**: Ekstrak pasien dan organisasi asuransi dari `coverage` parameter Anda.

1. **Temukan Kuesioner yang Tepat**:
   + **Dengan `questionnaire`** **parameter**: Menggunakan URL kanonik yang Anda berikan
   + **Dengan `order`** **parameter**: Cocokkan kode pesanan (CPT/HCPCS/LOINC) dan pembayar untuk menemukan kuesioner yang sesuai

1. **Kumpulkan Dependensi**: Secara otomatis mengambil semua yang diperlukan untuk membuat kuesioner:
   + **Perpustakaan CQL** - Logika untuk pertanyaan pra-populasi dan bersyarat
   + **ValueSets**- Pilihan jawaban (secara otomatis diperluas jika <40 opsi)
   + **QuestionnaireResponse**- Setiap tanggapan yang sedang berlangsung atau selesai

1. **Package Semuanya Bersama**:
   + Bundel semua sumber daya (setiap sumber daya hanya disertakan sekali)
   + Filter berdasarkan `changedSince` stempel waktu jika disediakan
   + Menambahkan peringatan `Outcome` jika ada sumber daya yang hilang

**Hasil**: Paket lengkap dan mandiri yang siap untuk dirender.

## Tanggapan kesalahan
<a name="questionnaire-package-error-responses"></a>

### 400 Permintaan Buruk
<a name="questionnaire-package-400-error"></a>

Dikembalikan ketika validasi permintaan gagal.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "required",  
    "details": {  
      "text": "At least one of 'questionnaire' or 'order' must be provided along with 'coverage'"  
    }  
  }]  
}
```

### 424 Ketergantungan Gagal
<a name="questionnaire-package-424-error"></a>

Dikembalikan ketika sumber daya dependen tidak dapat diambil.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "warning",  
    "code": "not-found",  
    "details": {  
      "text": "Referenced Library 'http://example.org/fhir/Library/missing-library' could not be retrieved"  
    }  
  }]  
}
```

### 401 Tidak Sah
<a name="questionnaire-package-401-error"></a>

Dikembalikan ketika kredensi otentikasi hilang atau tidak valid.

### 403 Dilarang
<a name="questionnaire-package-403-error"></a>

Dikembalikan ketika pengguna yang diautentikasi tidak memiliki izin untuk mengakses sumber daya yang diminta.

### 406 Tidak Dapat Diterima
<a name="questionnaire-package-406-error"></a>

Dikembalikan ketika jenis konten yang diminta tidak dapat disediakan.

### 409 Konflik
<a name="questionnaire-package-409-error"></a>

Dikembalikan ketika ada versi atau konflik konkurensi.

### 410 Hilang
<a name="questionnaire-package-410-error"></a>

Dikembalikan ketika sumber daya yang diminta telah dihapus secara permanen.

### 429 Terlalu Banyak Permintaan
<a name="questionnaire-package-429-error"></a>

Dikembalikan ketika batas tarif terlampaui.

### 500 Kesalahan Server Internal
<a name="questionnaire-package-500-error"></a>

Dikembalikan ketika terjadi kesalahan server yang tidak terduga.

### 501 Tidak Diimplementasikan
<a name="questionnaire-package-501-error"></a>

Dikembalikan ketika operasi yang diminta belum dilaksanakan.

## Aturan validasi
<a name="questionnaire-package-validation-rules"></a>

### Validasi masukan
<a name="questionnaire-package-input-validation"></a>
+ `coverage`parameter **diperlukan** (1.. \$1 kardinalitas)
+ Setidaknya satu dari `questionnaire` atau `order` harus disediakan
+ Semua sumber daya Cakupan harus sumber daya FHIR yang valid
+ Semua sumber daya Pesanan harus sumber daya FHIR yang valid
+ Canonical URLs harus diformat dengan benar
+ `changedSince`harus berupa ISO 8601 DateTime yang valid

### QuestionnaireResponse validasi
<a name="questionnaire-package-response-validation"></a>
+ `status`harus sesuai (`in-progress`,`completed`,`amended`)
+ Struktur harus sesuai dengan Kuesioner yang direferensikan
+ `basedOn`harus mereferensikan sumber daya Pesanan yang valid
+ `subject`harus referensi sumber daya Pasien yang valid

### Deduplikasi sumber daya
<a name="questionnaire-package-resource-dedup"></a>
+ Setiap sumber daya hanya muncul sekali dalam bundel
+ Pengecualian: Versi berbeda dari sumber daya yang sama dapat disertakan
+ Sumber daya diidentifikasi oleh URL dan versi kanonik mereka

## Spesifikasi kinerja
<a name="questionnaire-package-performance-specs"></a>


| Metrik | Spesifikasi | 
| --- | --- | 
| Batas Hitungan Sumber Daya | 500 sumber daya per Bundel | 
| Batas Ukuran Bundel | Maksimum 5 MB | 

## Izin yang diperlukan
<a name="questionnaire-package-required-permissions"></a>

Untuk menggunakan `$questionnaire-package` operasi, pastikan peran IAM Anda memiliki:
+ `healthlake:QuestionnairePackage`- Untuk memanggil operasi
+ `healthlake:ReadResource`- Untuk mengambil Kuesioner dan sumber daya dependen
+ `healthlake:SearchWithPost`- Untuk mencari QuestionnaireResponse dan sumber daya terkait

**SMART pada Lingkup FHIR**  
**Cakupan minimum yang diperlukan:**
+ **SMART v1:** `user/Questionnaire.read user/Library.read user/ValueSet.read user/QuestionnaireResponse.read`
+ **SMART v2**: `user/Questionnaire.rs user/Library.rs user/ValueSet.rs user/QuestionnaireResponse.rs`

## Catatan implementasi penting
<a name="questionnaire-package-implementation-notes"></a>

### Strategi pengambilan sumber daya
<a name="questionnaire-package-retrieval-strategy"></a>

**Prioritas Identifikasi Kuesioner:**  

+ **URL kanonik** (jika `questionnaire` parameter disediakan) - Prioritas tertinggi
+ **Analisis Pesanan** (jika `order` parameter disediakan):
  + Cocokkan kode pesanan (CPT, HCPCS, LOINC) dengan kebijakan medis pembayar
  + Gunakan pembayar cakupan untuk memfilter kuesioner khusus pembayar
  + Pertimbangkan kode alasan untuk konteks tambahan

### Resolusi ketergantungan
<a name="questionnaire-package-dependency-resolution"></a>

**Perpustakaan CQL:**  

+ Diperoleh melalui `cqf-library` ekstensi pada sumber Kuesioner
+ Mengambil pustaka dependen secara rekursif melalui tipe `Library.relatedArtifact` `depends-on`
+ Semua dependensi perpustakaan disertakan dalam paket

**ValueSets:**  

+ Secara otomatis diperluas jika mengandung kurang dari 40 konsep
+ Lebih besar ValueSets disertakan tanpa ekspansi
+ ValueSets direferensikan dalam Kuesioner dan sumber daya Perpustakaan disertakan

### QuestionnaireResponse pra-populasi
<a name="questionnaire-package-prepopulation"></a>

Operasi dapat mengembalikan data yang telah QuestionnaireResponse diisi sebelumnya ketika:
+ Respons yang sedang berlangsung atau selesai ditemukan
+ Logika CQL di Perpustakaan terkait dapat mengekstrak data dari catatan pasien
+ Tanggapan terkait dengan urutan dan cakupan yang relevan

**Kriteria Pencarian untuk QuestionnaireResponse:**  



| Parameter Pencarian | Jalan FHIR | Deskripsi | 
| --- | --- | --- | 
| based-on | QuestionnaireResponse.basedOn | Tautan ke ServiceRequest atau CarePlan | 
| patient | QuestionnaireResponse.subject | Pasien yang menjadi subjeknya | 
| questionnaire | QuestionnaireResponse.questionnaire | Kuesioner yang dijawab | 

### Pemfilteran sumber daya yang diubah
<a name="questionnaire-package-changed-filtering"></a>

Ketika `changedSince` parameter disediakan:
+ Hanya sumber daya yang dimodifikasi **setelah** stempel waktu yang ditentukan disertakan
+ Jika tidak ada sumber daya yang berubah, kembali `200 OK` dengan paket kosong
+ Berguna untuk pembaruan tambahan dan strategi caching
+ Perbandingan stempel waktu menggunakan bidang sumber daya `meta.lastUpdated`

### Beberapa paket bundel
<a name="questionnaire-package-multiple-bundles"></a>

Operasi dapat mengembalikan **beberapa Package Bundle** ketika:
+ Beberapa kuesioner diminta melalui kanonik URLs
+ Beberapa pesanan memerlukan kuesioner yang berbeda
+ Versi berbeda dari kuesioner yang sama berlaku

Setiap Package Bundle mandiri dengan semua dependensi yang diperlukan.

## Kasus penggunaan umum
<a name="questionnaire-package-common-use-cases"></a>

### Kasus Penggunaan 1: Dokumentasi Otorisasi Sebelumnya
<a name="questionnaire-package-use-case-1"></a>

**Skenario**: Penyedia perlu mengumpulkan dokumentasi untuk terapi oksigen rumah sebelum otorisasi.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Patient's insurance coverage */ }  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660"  
          }]  
        }  
      }  
    }  
  ]  
}
```

**Hasil**: Mengembalikan paket dengan kuesioner terapi oksigen, diisi sebelumnya dengan tanda vital pasien dan kode diagnosis dari EHR.

### Kasus Penggunaan 2: Ambil Versi Kuesioner Khusus
<a name="questionnaire-package-use-case-2"></a>

**Skenario**: Penyedia membutuhkan versi kuesioner tertentu untuk kepatuhan.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/dme-request|3.1.0"  
    }  
  ]  
}
```

**Hasil**: Mengembalikan persis versi 3.1.0 dari kuesioner permintaan DME dengan semua dependensi.

### Kasus Penggunaan 3: Periksa Pembaruan
<a name="questionnaire-package-use-case-3"></a>

**Skenario**: Penyedia ingin memeriksa apakah ada sumber kuesioner yang telah diperbarui sejak pengambilan terakhir.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/medication-request"  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-03-01T00:00:00Z"  
    }  
  ]  
}
```

**Hasil**: Mengembalikan hanya sumber daya yang telah dimodifikasi setelah 1 Maret 2024, atau paket kosong jika tidak ada yang berubah.

### Kasus Penggunaan 4: Beberapa Pesanan
<a name="questionnaire-package-use-case-4"></a>

**Skenario**: Penyedia mengirimkan beberapa permintaan layanan yang mungkin memerlukan kuesioner yang berbeda.

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for imaging */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for DME */ }  
    }  
  ]  
}
```

**Hasil**: Mengembalikan beberapa Paket Paket, satu untuk setiap kuesioner yang berlaku.

## Integrasi dengan Da Vinci Lainnya IGs
<a name="questionnaire-package-integration"></a>

### Penemuan Persyaratan Cakupan (CRD)
<a name="questionnaire-package-crd-integration"></a>

**Integrasi Alur Kerja:**  

+ Penyedia memesan layanan di EHR mereka
+ CRD hook fire, memeriksa persyaratan cakupan
+ Pembayar merespons yang menunjukkan dokumentasi diperlukan
+ Panggilan penyedia `$questionnaire-package` untuk mengambil formulir dokumentasi
+ Penyedia melengkapi kuesioner
+ Dokumentasi disampaikan melalui PAS atau CDex

### Prior Authorization Support (PAS)
<a name="questionnaire-package-pas-integration"></a>

**Integrasi Alur Kerja:**  

+ Gunakan `$questionnaire-package` untuk mengambil persyaratan dokumentasi
+ Lengkapi QuestionnaireResponse dengan data klinis yang diperlukan
+ Kirimkan otorisasi sebelumnya menggunakan `Claim/$submit` dengan yang sudah selesai QuestionnaireResponse
+ Periksa status menggunakan `Claim/$inquire`

### Data Exchange Klinis (CDex)
<a name="questionnaire-package-cdex-integration"></a>

**Integrasi Alur Kerja:**  

+ Pembayar meminta dokumentasi tambahan untuk klaim
+ Penyedia menggunakan `$questionnaire-package` untuk mengambil formulir pengumpulan data terstruktur
+ Penyedia menyelesaikan QuestionnaireResponse
+ Dokumentasi diserahkan kepada pembayar melalui alur kerja CDex lampiran

## Panduan pemecahan masalah
<a name="questionnaire-package-troubleshooting"></a>

### Masalah: Tidak Ada Kuesioner yang Dikembalikan
<a name="questionnaire-package-no-questionnaire"></a>

**Kemungkinan Penyebab:**  

+ URL Canonical tidak cocok dengan Kuesioner apa pun di penyimpanan data
+ Kode pesanan tidak dipetakan ke kuesioner apa pun dalam kebijakan medis pembayar
+ Pembayar cakupan tidak memiliki kuesioner terkait

**Solusi:**  

+ Verifikasi URL kanonik benar dan Kuesioner ada
+ Periksa apakah kode pesanan (CPT/HCPCS) ditentukan dengan benar
+ Konfirmasikan bahwa organisasi pembayar memiliki kuesioner yang dikonfigurasi

### Masalah: Dependensi Hilang dalam Package
<a name="questionnaire-package-missing-dependencies"></a>

**Kemungkinan Penyebab:**  

+ Perpustakaan yang direferensikan atau ValueSet tidak ada di penyimpanan data
+ Referensi perpustakaan rusak atau salah
+ ValueSet ekspansi gagal

**Solusi:**  

+ Periksa `Outcome` parameter untuk peringatan tentang sumber daya yang hilang
+ Verifikasi semua sumber daya yang direferensikan ada di penyimpanan data Anda
+ Pastikan ValueSet URLs benar dan dapat diselesaikan

### Masalah: Paket Kosong dengan ChangedSince
<a name="questionnaire-package-empty-package"></a>

**Kemungkinan Penyebab:**  

+ Ini adalah perilaku yang diharapkan - tidak ada sumber daya yang telah dimodifikasi sejak stempel waktu yang ditentukan

**Solusi:**  

+ Gunakan versi paket yang di-cache
+ Hapus `changedSince` parameter untuk mengambil paket lengkap

### Masalah: QuestionnaireResponse Tidak Terisi
<a name="questionnaire-package-not-prepopulated"></a>

**Kemungkinan Penyebab:**  

+ Tidak ada yang QuestionnaireResponse ditemukan
+ Logika Perpustakaan CQL tidak dapat mengekstrak data yang diperlukan
+ Data pasien hilang atau tidak lengkap

**Solusi:**  

+ Ini mungkin diharapkan - tidak semua kuesioner memiliki logika pra-populasi
+ Periksa apakah data pasien ada di penyimpanan data
+ Tinjau logika Perpustakaan CQL untuk persyaratan ekstraksi data

## Praktik terbaik
<a name="questionnaire-package-best-practices"></a>

### 1. Gunakan Canonical URLs dengan Versi
<a name="questionnaire-package-bp-versions"></a>

Selalu tentukan nomor versi saat meminta kuesioner tertentu:

```
{  
  "name": "questionnaire",  
  "valueCanonical": "http://example.org/fhir/Questionnaire/dme|2.1.0"  
}
```

**Mengapa**: Memastikan konsistensi dan mencegah perubahan tak terduga saat kuesioner diperbarui.

### 2. Leverage BerubahSejak untuk Kinerja
<a name="questionnaire-package-bp-changed-since"></a>

Untuk kuesioner yang sering diakses, gunakan `changedSince` untuk meminimalkan transfer data:

```
{  
  "name": "changedSince",  
  "valueDateTime": "2024-03-10T15:30:00Z"  
}
```

**Mengapa**: Mengurangi penggunaan latensi dan bandwidth dengan hanya mengambil sumber daya yang diperbarui.

### 3. Sertakan Informasi Cakupan Lengkap
<a name="questionnaire-package-bp-coverage"></a>

Berikan detail cakupan yang komprehensif untuk memastikan pemilihan kuesioner yang benar:

```
{  
  "name": "coverage",  
  "resource": {  
    "resourceType": "Coverage",  
    "beneficiary": { "reference": "Patient/123" },  
    "payor": [{ "reference": "Organization/payer-abc" }],  
    "class": [{ /* Group/plan information */ }]  
  }  
}
```

**Mengapa**: Membantu HealthLake mengidentifikasi kuesioner dan persyaratan khusus pembayar.

## Operasi terkait
<a name="questionnaire-package-related-operations"></a>
+ `Claim/$submit`- Kirim permintaan otorisasi sebelumnya dengan dokumentasi lengkap
+ `Claim/$inquire`- Periksa status otorisasi sebelumnya yang dikirimkan
+ `ValueSet/$expand`- Perluas ValueSets untuk pilihan jawaban

# `$submit`Operasi FHIR untuk HealthLake
<a name="reference-fhir-operations-submit"></a>

`$submit`Operasi ini memungkinkan Anda untuk secara elektronik mengirimkan permintaan otorisasi sebelumnya kepada pembayar untuk persetujuan. Operasi ini mengimplementasikan Panduan [Implementasi Da Vinci Prior Authorization Support (PAS)](https://hl7.org/fhir/us/davinci-pas/), menyediakan alur kerja berbasis FHIR standar untuk pengiriman otorisasi sebelumnya.

## Cara kerjanya
<a name="submit-how-it-works"></a>
+ **Kirim**: Anda mengirim Bundel FHIR yang berisi permintaan otorisasi sebelumnya dan data klinis pendukung
+ **Validasi**: HealthLake memvalidasi pengajuan terhadap persyaratan PAS
+ **Bertahan**: Semua sumber daya disimpan di penyimpanan HealthLake data Anda
+ **Tanggapan**: Anda menerima tanggapan langsung dengan status “antrian”
+ **Proses**: Keputusan otorisasi diproses secara asinkron oleh pembayar

## Titik akhir API
<a name="submit-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Claim/$submit  
Content-Type: application/fhir+json
```

## Struktur permintaan
<a name="submit-request-structure"></a>

### Persyaratan bundel
<a name="submit-bundle-requirements"></a>

Permintaan Anda harus berupa sumber daya FHIR Bundle dengan:
+ **Bundle.type**: Harus `"collection"`
+ **Bundle.entry**: Harus berisi tepat **satu** sumber daya Klaim dengan `use = "preauthorization"`
+ **Sumber Daya yang Direferensikan**: Semua sumber daya yang direferensikan oleh Klaim harus disertakan dalam Bundel

### Sumber daya yang dibutuhkan
<a name="submit-required-resources"></a>


| Sumber daya | Kardinalitas | Profil | Deskripsi | 
| --- | --- | --- | --- | 
| Klaim | 1 | Klaim PAS | Permintaan otorisasi sebelumnya | 
| Pasien | 1 | Pasien PAS | Informasi demografis pasien | 
| Organisasi (Penanggung) | 1 | Penanggung PAS | Perusahaan asuransi | 
| Organisasi (Penyedia) | 1 | Pemohon PAS | Penyedia layanan kesehatan mengirimkan permintaan | 
| Cakupan | 1 atau lebih | Cakupan PAS | Detail pertanggungan asuransi | 

### Sumber daya opsional
<a name="submit-optional-resources"></a>


| Sumber daya | Kardinalitas | Profil | Deskripsi | 
| --- | --- | --- | --- | 
| Praktisi | 0 atau lebih | Praktisi PAS | Praktisi kesehatan | 
| PractitionerRole | 0 atau lebih | PAS PractitionerRole | Peran praktisi | 
| ServiceRequest | 0 atau lebih | PAS ServiceRequest | Meminta layanan medis | 
| DeviceRequest | 0 atau lebih | PAS DeviceRequest | Alat kesehatan yang diminta | 
| MedicationRequest | 0 atau lebih | PAS MedicationRequest | Obat yang diminta | 
| DocumentReference | 0 atau lebih | PAS DocumentReference | Mendukung dokumentasi klinis | 

## Contoh permintaan
<a name="submit-example-request"></a>

```
POST /datastore/example-datastore/r4/Claim/$submit  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType" : "Bundle",  
  "id" : "MedicalServicesAuthorizationBundleExample",  
  "meta" : {  
    "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-request-bundle"]  
  },  
  "identifier" : {  
    "system" : "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
    "value" : "5269367"  
  },  
  "type" : "collection",  
  "timestamp" : "2005-05-02T11:01:00+05:00",  
  "entry" : [{  
    "fullUrl" : "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
    "resource" : {  
      "resourceType" : "Claim",  
      "id" : "MedicalServicesAuthorizationExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim"]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"   
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:01:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "provider" : {  
        "reference" : "Organization/UMOExample"  
      },  
      "priority" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/processpriority",  
          "code" : "normal"  
        }]  
      },  
      "insurance" : [{  
        "sequence" : 1,  
        "focal" : true,  
        "coverage" : {  
          "reference" : "Coverage/InsuranceExample"  
        }  
      }],  
      "item" : [{  
        "extension" : [{  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceItemRequestType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1525",  
              "code" : "IN",  
              "display" : "Initial Medical Services Reservation"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-certificationType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1322",  
              "code" : "I",  
              "display" : "Initial"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-authorizationNumber",  
          "valueString" : "1122344"  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-administrationReferenceNumber",  
          "valueString" : "33441122"  
        }],  
        "sequence" : 1,  
        "category" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/1365",  
            "code" : "1",  
            "display" : "Medical Care"  
          }]  
        },  
        "productOrService" : {  
          "coding" : [{  
            "system" : "http://www.cms.gov/Medicare/Coding/HCPCS​ReleaseCodeSets",  
            "code" : "99212",  
            "display" : "Established Office Visit"  
          }]  
        },  
        "servicedDate" : "2005-05-10",  
        "locationCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set",  
            "code" : "11"  
          }]  
        }  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/UMOExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "UMOExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "8189991234"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "X3"  
        }]  
      }],  
      "name" : "DR. JOE SMITH CORPORATION",  
      "address" : [{  
        "line" : ["111 1ST STREET"],  
        "city" : "SAN DIEGO",  
        "state" : "CA",  
        "postalCode" : "92101",  
        "country" : "US"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/InsurerExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "InsurerExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "1234567893"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "PR"  
        }]  
      }],  
      "name" : "MARYLAND CAPITAL INSURANCE COMPANY"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Coverage/InsuranceExample",  
    "resource" : {  
      "resourceType" : "Coverage",  
      "id" : "InsuranceExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage"]  
      },  
      "status" : "active",  
      "subscriberId" : "1122334455",  
      "beneficiary" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "relationship" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",  
          "code" : "self"  
        },  
        {  
          "system" : "https://codesystem.x12.org/005010/1069",  
          "code" : "18"  
        }]  
      },  
      "payor" : [{  
        "reference" : "Organization/InsurerExample"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Patient/SubscriberExample",  
    "resource" : {  
      "resourceType" : "Patient",  
      "id" : "SubscriberExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-subscriber"]  
      },  
      "extension" : [{  
        "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-militaryStatus",  
        "valueCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/584",  
            "code" : "RU"  
          }]  
        }  
      }],  
      "identifier" : [{  
        "type" : {  
          "coding" : [{  
            "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",  
            "code" : "MB"  
          }]  
        },  
        "system" : "http://example.org/MIN",  
        "value" : "12345678901"  
      }],  
      "name" : [{  
        "family" : "SMITH",  
        "given" : ["JOE"]  
      }],  
      "gender" : "male"  
    }  
  }]  
}
```

## Format respons
<a name="submit-response-format"></a>

### Respon sukses (200 OK)
<a name="submit-success-response"></a>

Anda akan menerima PAS Response Bundle yang berisi:
+ **ClaimResponse**dengan `outcome: "queued"` dan `status: "active"`
+ Semua sumber daya asli dari permintaan Anda
+ Tanda terima konfirmasi stempel waktu

```
{  
  "resourceType" : "Bundle",  
  "identifier": {  
        "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
        "value": "5269367"  
  },  
  "type" : "collection",  
  "timestamp" : "2005-05-02T11:02:00+05:00",  
  "entry" : [{  
    "fullUrl" : "http://example.org/fhir/ClaimResponse/PractitionerRequestorPendingResponseExample",  
    "resource" : {  
      "resourceType" : "ClaimResponse",  
      "id" : "PractitionerRequestorPendingResponseExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse"]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"  
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:02:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "requestor" : {  
        "reference" : "PractitionerRole/ReferralPractitionerRoleExample"  
      },  
      "request" : {  
        "reference" : "Claim/MedicalServicesAuthorizationExample"  
      },  
      "outcome" : "queued"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
    "resource" : {  
      "resourceType" : "Claim",  
      "id" : "MedicalServicesAuthorizationExample",  
      "meta" : {  
        "profile": [  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim",  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim|2.1.0"  
        ]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"  
        }  
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:01:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "provider" : {  
        "reference" : "Organization/UMOExample"  
      },  
      "priority" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/processpriority",  
          "code" : "normal"  
        }]  
      },  
      "insurance" : [{  
        "sequence" : 1,  
        "focal" : true,  
        "coverage" : {  
          "reference" : "Coverage/InsuranceExample"  
        }  
      }],  
      "item" : [{  
        "extension" : [{  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceItemRequestType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1525",  
              "code" : "IN",  
              "display" : "Initial Medical Services Reservation"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-certificationType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1322",  
              "code" : "I",  
              "display" : "Initial"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-authorizationNumber",  
          "valueString" : "1122344"  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-administrationReferenceNumber",  
          "valueString" : "33441122"  
        }],  
        "sequence" : 1,  
        "category" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/1365",  
            "code" : "1",  
            "display" : "Medical Care"  
          }]  
        },  
        "productOrService" : {  
          "coding" : [{  
            "system" : "http://www.cms.gov/Medicare/Coding/HCPCS​ReleaseCodeSets",  
            "code" : "99212",  
            "display" : "Established Office Visit"  
          }]  
        },  
        "servicedDate" : "2005-05-10",  
        "locationCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set",  
            "code" : "11"  
          }]  
        }  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/UMOExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "UMOExample",  
      "meta" : {  
        "profile": [  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor",  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor|2.1.0"  
        ]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "8189991234"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "X3"  
        }]  
      }],  
      "name" : "DR. JOE SMITH CORPORATION",  
      "address" : [{  
        "line" : ["111 1ST STREET"],  
        "city" : "SAN DIEGO",  
        "state" : "CA",  
        "postalCode" : "92101",  
        "country" : "US"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/InsurerExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "InsurerExample",  
      "meta" : {  
           "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer|2.1.0"  
            ]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "1234567893"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "PR"  
        }]  
      }],  
      "name" : "MARYLAND CAPITAL INSURANCE COMPANY"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Coverage/InsuranceExample",  
    "resource" : {  
      "resourceType" : "Coverage",  
      "id" : "InsuranceExample",  
      "meta": {  
            "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage|2.1.0"  
            ]  
        },  
      "status" : "active",  
      "subscriberId" : "1122334455",  
      "beneficiary" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "relationship" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",  
          "code" : "self"  
        },  
        {  
          "system" : "https://codesystem.x12.org/005010/1069",  
          "code" : "18"  
        }]  
      },  
      "payor" : [{  
        "reference" : "Organization/InsurerExample"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Patient/SubscriberExample",  
    "resource" : {  
      "resourceType" : "Patient",  
      "id" : "SubscriberExample",  
      "meta": {  
            "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-subscriber",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary|2.1.0"  
            ]  
        },  
      "extension" : [{  
        "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-militaryStatus",  
        "valueCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/584",  
            "code" : "RU"  
          }]  
        }  
      }],  
      "identifier" : [{  
        "type" : {  
          "coding" : [{  
            "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",  
            "code" : "MB"  
          }]  
        },  
        "system" : "http://example.org/MIN",  
        "value" : "12345678901"  
      }],  
      "name" : [{  
        "family" : "SMITH",  
        "given" : ["JOE"]  
      }],  
      "gender" : "male"  
    }  
  }]  
}
```

## Tanggapan kesalahan
<a name="submit-error-responses"></a>

### 400 Permintaan Buruk
<a name="submit-400-error"></a>

Dikembalikan ketika format permintaan tidak valid atau cacat.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "invalid",  
    "diagnostics": "The provided payload was invalid and could not be parsed correctly."  
  }]  
}
```

### 412 Prasyarat Gagal
<a name="submit-412-error"></a>

Dikembalikan ketika permintaan otorisasi sebelumnya yang sama telah dikirimkan (duplikat pengiriman terdeteksi).

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "processing",  
    "diagnostics": "PreAuth Claim already exists"  
  }]  
}
```

**Idempotensi**  
`$submit`Operasi ini idempoten. Mengirimkan permintaan yang sama beberapa kali tidak akan membuat duplikat permintaan otorisasi sebelumnya. Sebagai gantinya, Anda akan menerima kesalahan 412 yang mengarahkan Anda untuk menggunakan `$inquire` untuk memeriksa status pengiriman asli Anda.

### 422 Entitas yang Tidak Dapat Diproses
<a name="submit-422-error"></a>

Dikembalikan ketika validasi FHIR gagal.

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "required",  
    "diagnostics": "Bundle contains more than one preauthorization claim"  
  }]  
}
```

## Aturan validasi
<a name="submit-validation-rules"></a>

HealthLake melakukan validasi komprehensif pada kiriman Anda:

### Validasi bundel
<a name="submit-bundle-validation"></a>
+ Harus sesuai dengan profil PAS Request Bundle
+ `Bundle.type`harus `"collection"`
+ Dapat berisi beberapa sumber Klaim
+ Namun, harus berisi persis satu sumber Klaim dengan penggunaan pra-otorisasi
  + Dan sumber daya Klaim ini harus menjadi entri pertama dalam bundel
+ Semua sumber daya yang direferensikan harus disertakan dalam Bundel

### Validasi klaim
<a name="submit-claim-validation"></a>
+ Harus sesuai dengan profil Klaim PAS
+ `Claim.use`harus `"preauthorization"`
+ Bidang yang diperlukan: `patient``insurer`,,`provider`,`created`, `priority`
+ Pengidentifikasi bisnis harus ada dan valid

### Validasi sumber daya
<a name="submit-resource-validation"></a>
+ Semua sumber daya harus sesuai dengan profil PAS masing-masing
+ Sumber daya pendukung yang diperlukan harus ada (Pasien, Cakupan, Organisasi)
+ Referensi silang harus valid dan dapat diselesaikan dalam Bundel

## Spesifikasi kinerja
<a name="submit-performance-specs"></a>


| Metrik | Spesifikasi | 
| --- | --- | 
| Batas Ukuran Bundel | Maksimum 5 MB | 
| Batas Hitungan Sumber Daya | 500 sumber daya per Bundel | 

## Izin yang diperlukan
<a name="submit-required-permissions"></a>

Untuk menggunakan `$submit` operasi, seseorang dapat menggunakan AWS Sigv4 atau SMART di FHIR:
+ Pastikan peran IAM Anda memiliki: `healthlake:SubmitPreAuthClaim` - Untuk memanggil operasi

**SMART pada Lingkup FHIR**  
**Cakupan minimum yang diperlukan:**
+ **SMART v1:** `user/Claim.write & <all_resourceTypes_in_Bundle>.write`
+ **SMART v2**: `user/Claim.c & <all_resourceTypes_in_Bundle>.c or system/*.*`

## Catatan implementasi penting
<a name="submit-implementation-notes"></a>

### Kegigihan sumber daya
<a name="submit-resource-persistence"></a>
+ Semua entri Bundle dipertahankan sebagai sumber daya FHIR individual di penyimpanan data Anda
+ Disediakan pelanggan dipertahankan saat IDs disediakan
+ Riwayat versi dipertahankan untuk tujuan audit
+ Deteksi duplikat mencegah konflik sumber daya

### Perilaku pemrosesan
<a name="submit-processing-behavior"></a>
+ Setiap pengiriman yang valid menghasilkan persis satu ClaimResponse dengan `"queued"` hasil
+ Kiriman tidak valid mengembalikan kode status 400 atau 422 dengan informasi kesalahan terperinci
+ Kesalahan sistem mengembalikan kode status 5xx yang sesuai
+ Semua kiriman yang berhasil mengembalikan 200 status dengan pended ClaimResponse

### Persyaratan bundel
<a name="submit-bundle-requirements-impl"></a>
+ `Bundle.entry.fullUrl`nilai harus berupa REST URLs atau `"urn:uuid:[guid]"` format
+ Semua GUIDs harus unik di seluruh kiriman (kecuali untuk contoh sumber daya yang sama)
+ Sumber daya yang direferensikan harus ada di dalam Bundel atau dapat diselesaikan

## Operasi terkait
<a name="submit-related-operations"></a>
+ `Claim/$inquire`- Kueri status permintaan otorisasi sebelumnya yang diajukan
+ `Patient/$everything`- Ambil data pasien yang komprehensif untuk konteks otorisasi sebelumnya

# Memvalidasi Sumber Daya FHIR dengan `$validate`
<a name="reference-fhir-operations-validate"></a>

AWS HealthLake sekarang mendukung `$validate` operasi untuk sumber daya FHIR, memungkinkan Anda untuk memvalidasi sumber daya terhadap spesifikasi FHIR dan memeriksa kesesuaiannya dengan profil tertentu atau definisi sumber daya dasar tanpa melakukan operasi penyimpanan apa pun. Operasi ini sangat berguna ketika Anda perlu:
+ Validasi persyaratan kepatuhan FHIR CMS
+ Uji sumber daya sebelum menggunakannya dalam produksi
+ Berikan umpan balik validasi waktu nyata saat pengguna mengedit data klinis
+ Mengurangi pengiriman data yang tidak valid untuk membuat dan memperbarui APIs

## Penggunaan
<a name="validate-usage"></a>

`$validate`Operasi dapat dipanggil pada sumber daya FHIR menggunakan metode POST:

**Operasi yang Didukung**  


```
POST [base]/[type]/[id]/$validate
POST [base]/[type]/$validate
```

## Muatan yang Didukung
<a name="validate-payloads"></a>

**Parameter sumber daya**  


HealthLake mendukung `$validate` parameter FHIR berikut:


| Parameter | Tipe | Diperlukan | Deskripsi | 
| --- | --- | --- | --- | 
| resource | Sumber daya | Ya | Sumber daya yang akan divalidasi | 
| profile | canonical | Tidak | URL kanonik profil untuk memvalidasi | 
| mode | code | Tidak | Mode validasi:create, atau update | 

**Sumber daya langsung dengan Parameter Kueri**  



| Parameter | Tipe | Diperlukan | Deskripsi | 
| --- | --- | --- | --- | 
| profile | canonical | Tidak | URL kanonik profil untuk memvalidasi | 
| mode | code | Tidak | Mode validasi:create, atau update | 

## Contoh
<a name="validate-examples"></a>

**POST Permintaan Sumber Daya dengan ID dan Parameter payload**  


```
POST [base]/Patient/example-patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "id": "example-patient",
        "name": [
          {
            "family": "Smith",
            "given": ["John"]
          }
        ],
        "gender": "male",
        "birthDate": "1990-01-01"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "create"
    }
  ]
}
```

**POST Permintaan untuk Jenis Sumber Daya dan Parameter payload**  


```
POST [base]/Patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "family": "Doe",
            "given": ["Jane"]
          }
        ],
        "gender": "female",
        "birthDate": "1985-05-15"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "update"
    }
  ]
}
```

**POST Permintaan Sumber Daya dengan ID dan muatan sumber daya langsung**  


```
POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**POST Permintaan untuk Jenis Sumber Daya dan muatan sumber daya langsung**  


```
POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**Contoh Respons**  
Operasi mengembalikan OperationOutcome sumber daya dengan hasil validasi:

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "Validation successful"
    }
  ]
}
```

**Sampel Respon dengan Kesalahan Validasi**  


```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "required",
      "details": {
        "text": "Missing required element"
      },
      "diagnostics": "Patient.identifier is required by the US Core Patient profile",
      "location": [
        "Patient.identifier"
      ]
    },
    {
      "severity": "warning",
      "code": "code-invalid",
      "details": {
        "text": "Invalid code value"
      },
      "diagnostics": "The provided gender code is not from the required value set",
      "location": [
        "Patient.gender"
      ]
    }
  ]
}
```

## Perilaku
<a name="validate-behavior"></a>

`$validate`Operasi:

1. Memvalidasi sumber daya terhadap spesifikasi FHIR dan definisi sumber daya dasar

1. Memeriksa kesesuaian dengan profil yang ditentukan saat parameter disediakan `profile`

1. Memvalidasi berdasarkan mode yang ditentukan (`create`atau`update`)

1. Mengembalikan hasil validasi rinci termasuk kesalahan, peringatan, dan pesan informasi

1. Tidak melakukan operasi penyimpanan apa pun - hanya validasi

1. Mengembalikan HTTP 200 OK ketika validasi dapat dilakukan, terlepas dari apakah masalah validasi ditemukan

## Mode Validasi
<a name="validate-modes"></a>
+ **create**: Memvalidasi sumber daya seolah-olah sedang dibuat (sumber daya baru)
+ **update**: Memvalidasi sumber daya seolah-olah sedang diperbarui (sumber daya yang ada)

## Penanganan Kesalahan
<a name="validate-error-handling"></a>

Operasi kembali:
+ 200 OK: Validasi berhasil dilakukan (terlepas dari hasil validasi)
+ 400 Permintaan Buruk: Format atau parameter permintaan tidak valid
+ 404 Tidak Ditemukan: Jenis sumber daya atau profil tidak ditemukan

Untuk informasi selengkapnya tentang spesifikasi `$validate` operasi, lihat dokumentasi [FHIR R4 Resource `$validate`](https://www.hl7.org/fhir/R4/operation-resource-validate.html).