Respons & error

Satu bentuk untuk semua tahap. Baca status, lalu tampilkan perbaikannya.

Status: tiga nilai, di semua tempat

lengkapLengkap. Tidak ada yang perlu dilakukan.
belum_lengkapAda yang belum diisi. Lengkapi.
perbaikiSudah diisi tapi tidak sesuai bukti. Perbaiki.

summary.claim_ready bernilai true hanya jika semua bagian lengkap.

Anatomi respons

summaryStatus keseluruhan dan jumlah
findings[]Satu hasil per bagian: status, rekomendasi, contoh isian, penjelasan
notices[]Saran tambahan, mis. berkas yang perlu ditambahkan agar koding lebih akurat
claim_impact · diagnosis_suggestions · medication_review · document_sync · coding_warningsBlok khusus tahap, null bila tidak berlaku
skipped · skip_reasontrue untuk non-BPJS atau kasus yang tidak didukung. Tanpa AI, tanpa biaya.

Blok khusus tahap

BlokTahapArti
claim_impactranap_cppt · ranap_resumeDampak ke klaim: under-coding, risiko upcoding, atau optimal
diagnosis_suggestionsranap_cpptSaran diagnosa yang didukung bukti
medication_reviewranap_cpptTelaah obat terhadap diagnosa dan hasil pemeriksaan
document_syncranap_cpptBerkas yang harus lengkap sebelum pulang
coding_warnings[]rajal_soapPeringatan kaidah klaim deterministik (masa berlaku rujukan, tindakan berulang)

Contoh respons · ranap_cppt

response.json
{
  "check_id": "chk_e788073e94e38836",
  "api_version": "v1",
  "stage": "ranap_cppt",
  "pathway": "igd_ranap",
  "encounter_ref": {
    "visit_id": "DEMO-EWS-DATA-BERMASALAH-CAP-",
    "patient_ref": null
  },
  "skipped": false,
  "skip_reason": null,
  "skip_detail": null,
  "summary": {
    "status": "perbaiki",
    "claim_ready": false,
    "counts": {
      "lengkap": 6,
      "belum_lengkap": 0,
      "perbaiki": 3
    }
  },
  "notices": [],
  "findings": [],
  "claim_impact": {
    "status": "perbaiki",
    "rekomendasi": "Sesuaikan kode pneumonia ke J15.0 dan kode diabetes melitus ke E11.65 pada form klaim.",
    "contoh_isian": "Diagnosa utama J15.0 Pneumonia lobaris akibat Klebsiella pneumoniae, diagnosa sekunder E11.65 Diabetes melitus tipe 2 dengan hiperglikemia.",
    "penjelasan": "Sesuai kaidah koding ICD-10, jika agen penyebab infeksi telah teridentifikasi melalui kultur sputum (Klebsiella pneumoniae pada 2026-07-08), maka harus dikode spesifik ke J15.0, bukan J18.9. Diabetes melitus dengan hiperglikemia persisten yang membutuhkan insulin koreksi dikode ke E11.65.",
    "temuan": [
      {
        "kondisi": "Pneumonia akibat Klebsiella pneumoniae",
        "icd10_disarankan": "J15.0",
        "dasar_bukti": [
          "Hasil kultur sputum tanggal 2026-07-07 menunjukkan pertumbuhan Klebsiella pneumoniae positif, didukung terapi Ceftriaxone IV sejak 2026-07-06."
        ],
        "dampak_severity": "Meningkatkan akurasi kode spesifik etiologi bakteri gram negatif"
      },
      {
        "kondisi": "Diabetes Melitus tipe 2 dengan komplikasi hiperglikemia",
        "icd10_disarankan": "E11.1 atau E11.65",
        "dasar_bukti": [
          "CPPT tanggal 2026-07-06 s.d. 2026-07-08 mencatat GDS tidak terkontrol (280 mg/dL dan 230 mg/dL) yang memerlukan terapi aktif Insulin Novorapid koreksi SC."
        ],
        "dampak_severity": "Meningkatkan severity level dari minor menjadi moderate/major"
      }
    ]
  },
  "diagnosis_suggestions": {
    "status": "perbaiki",
    "rekomendasi": "Ganti diagnosa utama menjadi J15.0 dan diagnosa sekunder DM menjadi E11.65 sebelum resume medis dibuat.",
    "contoh_isian": "Diagnosa Utama: J15.0 Pneumonia Klebsiella. Diagnosa Sekunder: E11.65 DM Tipe 2 dengan Hiperglikemia, I10 Hipertensi Esensial.",
    "penjelasan": "Kaidah ICD-10 menginstruksikan penggunaan kode spesifik bila hasil pemeriksaan penunjang (kultur sputum bakteri gram negatif) telah tegak. Kondisi hiperglikemia yang mendapat terapi insulin koreksi aktif juga wajib dikode spesifik.",
    "kandidat": [
      {
        "icd10": "J15.0",
        "deskripsi": "Pneumonia due to Klebsiella pneumoniae",
        "status": "disarankan_ganti",
        "tingkat_keyakinan": "tinggi",
        "dasar_bukti": [
          "Hasil kultur sputum tanggal 2026-07-07: Klebsiella pneumoniae (+)",
          "CPPT DPJP tanggal 2026-07-08: hasil kultur sputum keluar Klebsiella pneumoniae"
        ],
        "dampak_klaim": "Mengganti kode pneumonia tidak spesifik J18.9 menjadi spesifik bakteri gram negatif J15.0 yang memiliki bobot klinis lebih tepat."
      },
      {
        "icd10": "E11.65",
        "deskripsi": "Type 2 diabetes mellitus with hyperglycemia",
        "status": "disarankan_ganti",
        "tingkat_keyakinan": "tinggi",
        "dasar_bukti": [
          "Hasil lab GDS tanggal 2026-07-06 sebesar 280 mg/dL",
          "CPPT DPJP tanggal 2026-07-06 s.d. 2026-07-08: DM belum terkontrol, lanjut insulin koreksi"
        ],
        "dampak_klaim": "Mengubah komorbiditas dari tanpa komplikasi E11.9 menjadi dengan hiperglikemia E11.65 yang meningkatkan severity level klaim INA-CBG."
      }
    ]
  },
  "medication_review": {
    "ringkasan": {
      "status": "perbaiki",
      "jumlah_obat_diperiksa": 3,
      "jumlah_bermasalah": 1
    },
    "detail": [
      {
        "nama_obat": "Insulin Novorapid",
        "status": "perbaiki",
        "rekomendasi": "Sesuaikan diagnosa sekunder DM pada klaim agar mencerminkan kondisi hiperglikemia.",
        "contoh_isian": "Diagnosa sekunder: E11.65 Diabetes melitus tipe 2 dengan hiperglikemia.",
        "penjelasan": "Pemberian insulin koreksi Novorapid SC untuk mengatasi GDS 280 mg/dL tidak selaras dengan diagnosa klaim saat ini yaitu E11.9 (DM tanpa komplikasi). Harus disesuaikan ke E11.65."
      },
      {
        "nama_obat": "Ceftriaxone inj 1g",
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "nama_obat": "Amlodipin 10mg",
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      }
    ]
  },
  "document_sync": {
    "wajib": [
      {
        "key": "asesmenAwalIgd",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "key": "pengantarRanap",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "key": "asesmenAwalRanap",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "key": "lab",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "key": "radiologi",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      },
      {
        "key": "cpoObat",
        "label": null,
        "status": "lengkap",
        "rekomendasi": "",
        "contoh_isian": "",
        "penjelasan": ""
      }
    ],
    "kondisional": [
      {
        "key": "curb65",
        "label": null,
        "status": "belum_lengkap",
        "rekomendasi": "Unggah berkas skor CURB-65 untuk melengkapi administrasi klinis pneumonia.",
        "contoh_isian": "Skor CURB-65: 1 (usia di bawah 65 tahun, RR 26 kali per menit, kesadaran compos mentis, tidak ada uremia/hipotensi).",
        "penjelasan": "Sesuai PPK Pneumonia Komunitas, penilaian derajat keparahan menggunakan skor CURB-65 atau PSI wajib dilampirkan sebagai pendukung indikasi rawat inap pasien pneumonia.",
        "diperlukan": true
      }
    ]
  },
  "coding_warnings": [],
  "meta": {
    "latency_ms": null,
    "engine": "rules+llm",
    "model": "google/gemini-3.5-flash",
    "profile": "simple",
    "origin_normalized": "IGD"
  }
}

Dilewati (non-BPJS)

response.json
{
  "check_id": "chk_466365dc77710640",
  "api_version": "v1",
  "stage": "ranap_cppt",
  "pathway": "igd_ranap",
  "encounter_ref": {
    "visit_id": "DEMO-EWS-NON-BPJS-EXPECT-SKIP",
    "patient_ref": null
  },
  "skipped": true,
  "skip_reason": "non_bpjs",
  "skip_detail": "Pasien non-BPJS (penjamin: \"UMUM\") — verifikasi AI dilewati.",
  "summary": {
    "status": null,
    "claim_ready": null,
    "counts": {
      "lengkap": 0,
      "belum_lengkap": 0,
      "perbaiki": 0
    }
  },
  "notices": [],
  "findings": [],
  "claim_impact": null,
  "diagnosis_suggestions": null,
  "medication_review": null,
  "document_sync": null,
  "coding_warnings": [],
  "meta": {
    "latency_ms": null,
    "engine": "rules+llm",
    "model": null,
    "profile": "simple",
    "origin_normalized": "IGD"
  }
}

Error

HTTPKapanYang harus dilakukan
400Payload tidak sesuai skema. details berisi field-nya.Perbaiki mapping
401API key kosong, salah, atau dicabutCek key / hubungi HealthGuard
413Payload lebih dari 5 MBKirim ringkasan lab/radiologi saja
422JSON valid tapi tidak bisa dipakai (mis. Bundle tanpa Encounter)Perbaiki data
429Terlalu banyak request untuk faskes AndaTunggu Retry-After
502Penyedia AI gagal setelah retryUlangi dengan Idempotency-Key yang sama
400
{
  "error": "invalid_payload",
  "message": "Request does not match the schema",
  "details": [
    "/sections/0/key: 'codingDiagnosis' is not one of […]"
  ],
  "request_id": "req_01J…"
}
BerikutnyaContoh & Postman →