

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

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