Responses & errors

One shape for every stage. Read the status, then show the fixes.

Status: three values, everywhere

lengkapComplete. Nothing to do.
belum_lengkapSomething is missing. Fill it in.
perbaikiPresent but inconsistent with the evidence. Correct it.

summary.claim_ready is true only when every section is lengkap.

Anatomy of a response

summaryOverall status and counts
findings[]One result per section: status, recommendation, copy-ready example, explanation
notices[]Extra advice, e.g. documents to add for more accurate coding
claim_impact · diagnosis_suggestions · medication_review · document_sync · coding_warningsStage-specific blocks, null when not applicable
skipped · skip_reasontrue for non-BPJS or unsupported cases. No AI call, no charge.

Stage-specific blocks

BlockStageMeaning
claim_impactranap_cppt · ranap_resumeEffect on the claim: under-coding, upcoding risk, or optimal
diagnosis_suggestionsranap_cpptDiagnosis suggestions supported by the evidence
medication_reviewranap_cpptMedication review against diagnoses and results
document_syncranap_cpptDocuments that must be complete before discharge
coding_warnings[]rajal_soapDeterministic claim-rule warnings (referral validity, repeated procedures)

Example response · 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"
  }
}

Skipped (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"
  }
}

Errors

HTTPWhenWhat to do
400Payload does not match the schema. details lists the fields.Fix the mapping
401API key missing, wrong or revokedCheck the key / contact HealthGuard
413Payload larger than 5 MBSend lab/radiology summaries only
422Valid JSON but unusable (e.g. Bundle without Encounter)Fix the data
429Too many requests for your facilityWait for Retry-After
502AI provider failed after retriesRetry with the same Idempotency-Key
400
{
  "error": "invalid_payload",
  "message": "Request does not match the schema",
  "details": [
    "/sections/0/key: 'codingDiagnosis' is not one of […]"
  ],
  "request_id": "req_01J…"
}
NextExamples & Postman →