Model asinkron
Satu kunjungan menjadi rantai resource FHIR yang dikirim berurutan. Karena itu pengiriman diterima lebih dulu (202) lalu diproses di latar belakang.
POST /v1/satusehat/kunjungan
→ 202 { "request_id": "01J9F3K2M7QX1041G8T5ZC3B0N",
"status": "pending" }GET /v1/satusehat/kunjungan/01J9F3K2M7QX1041G8T5ZC3B0N
→ 200 { "status": "partial", "retry_scheduled": false,
"resources": [ … ] }status dan retry_scheduled menjawab pertanyaan berbeda
status menjawab "seberapa jauh rantai berjalan". retry_scheduled menjawab "apakah gateway akan mencoba lagi". Membaca salah satunya saja adalah sumber kesalahan integrasi paling umum di sistem ini.
Seluruh rantai masuk. Selesai.
Tidak perlu tindakan.
Sebagian resource masuk, sisanya akan dicoba lagi otomatis.
Tunggu. Jangan kirim ulang.
Sebagian resource masuk, sisanya tidak akan terkirim tanpa tindakan.
Butuh manusia. Perbaiki data lalu jalankan ulang.
Rantai berhenti sebelum ada resource yang masuk.
Perbaiki payload lalu kirim ulang.
Dua request_id yang berbeda
meta.request_id berawalan req_ dan menandai satu panggilan HTTP — pakai itu saat menghubungi dukungan. data.request_id adalah ULID tanpa awalan dan menandai pekerjaan kunjungan yang berjalan di latar belakang — itu yang disimpan di SIMRS dan dipakai untuk memeriksa status.