# Dokumentasi API ICD10 — Walk-in Registration Stemcell Base URL dev: ```text https://devcpone.aplikasi.web.id/one-api/mockup/fo/walk_in_registration_stemcell/order ``` Semua response API menggunakan format standar: ```json { "status": "OK", "data": [] } ``` Jika gagal: ```json { "status": "ERR", "message": "Pesan error" } ``` --- ## 1. Search ICD10 Digunakan untuk mencari data ICD10 berdasarkan kode atau nama diagnosis. Hasil dapat digunakan untuk mengisi field `selected_icd10` pada saat registrasi. **Endpoint:** ```http POST /search_icd10 ``` **Request body:** | Field | Tipe | Wajib | Keterangan | |----------|--------|-------|-------------------------------------| | `search` | string | Ya | Kata kunci pencarian (kode / nama) | **Contoh request:** ```json { "search": "diabetes" } ``` **Contoh response sukses:** ```json { "status": "OK", "data": [ { "code": "E11", "display": "Type 2 diabetes mellitus", "display_name": "E11 | Type 2 diabetes mellitus" }, { "code": "E10", "display": "Type 1 diabetes mellitus", "display_name": "E10 | Type 1 diabetes mellitus" } ] } ``` **Contoh curl:** ```bash curl -X POST "https://devcpone.aplikasi.web.id/one-api/mockup/fo/walk_in_registration_stemcell/order/search_icd10" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer {token}" \ -d '{"search": "diabetes"}' ``` **Catatan:** - Pencarian mendukung kode ICD10 (contoh: `E11`), nama diagnosis, maupun kombinasi keduanya. - Autocomplete ICD10 pada tab Demografi modul FE `one-fo-registration-walk-in-stemcell` menggunakan endpoint ini. - Gunakan field `code` dan `display` dari hasil pencarian untuk mengisi `selected_icd10` pada payload `save`. --- ## 2. Save (dengan ICD10) Fungsi `save` yang sudah ada kini secara otomatis menyimpan data ICD10 ke tabel `t_orderheader_icd10` jika field `selected_icd10` diisi. **Endpoint:** ```http POST /save ``` **Tambahan field pada request body:** | Field | Tipe | Wajib | Keterangan | |-----------------|--------|-------|--------------------------------------------------| | `selected_icd10` | object | Tidak | Objek ICD10 yang dipilih dari hasil `search_icd10` | **Struktur `selected_icd10`:** | Field | Tipe | Keterangan | |-----------|--------|-------------------------| | `code` | string | Kode ICD10 (contoh: `E11`) | | `display` | string | Nama diagnosis | **Contoh potongan request body:** ```json { "selected_icd10": { "code": "E11", "display": "Type 2 diabetes mellitus" }, ...field lainnya seperti biasa... } ``` **Perilaku:** - Jika `selected_icd10` tidak diisi atau `code` kosong, data ICD10 tidak disimpan dan proses save tetap berjalan normal. - Jika `selected_icd10` diisi, sistem akan menyimpan satu record ke `t_orderheader_icd10`. - Satu order header hanya boleh punya satu record ICD10. Jika sudah ada, insert akan dilewati (tidak error). - Jika insert ICD10 gagal, seluruh transaksi save akan di-rollback.