Skip to content

SATUSEHAT and BPJS integrations

SATUSEHAT sync status and how to fix errors

Updated 30 Oct 2026

In this article

Every visit is sent automatically in the background to SATUSEHAT, the Ministry of Health's national health data platform (based on HL7 FHIR). The status appears in the Sync Badge on the visit and on the sync dashboard (permission "View sync dashboard and resend").

Data that is sent

Medivana data SATUSEHAT resource When
Clinic, clinic units, doctors Organization, Location, Practitioner During implementation
Patient Patient (matched by NIK, the national identity number) At registration
Visit Encounter During the consultation; updated when completed
Vital signs, lab results Observation (LOINC) Visit closed / result finalized
Diagnoses, procedures Condition (ICD-10), Procedure (ICD-9-CM) Visit closed
Allergies AllergyIntolerance When recorded
Prescriptions, dispensing MedicationRequest, MedicationDispense (KFA) Visit closed / dispensed
Diagnostic orders and results ServiceRequest, DiagnosticReport When ordered / result finalized
Immunizations Immunization When recorded

Status meanings

Status Meaning Action
Sent Accepted by SATUSEHAT —
Pending Queued, being sent, or waiting for parent data (for example a diagnosis waiting for its visit to be sent) Wait; Medivana resends automatically after 1, 5, 15, and 60 minutes, then every 6 hours for 3 days
Failed Rejected because of the data, or still failing after 3 days Read the error message, correct the data, then Resend

Patient care does not need to stop when some data fails or SATUSEHAT is disrupted; the data is safely stored in Medivana.

Error messages and solutions

Message (example) Cause What to do
"SATUSEHAT is not configured yet. Enter the credentials in Settings > Integrations, then press Resend all." Client ID/Secret not entered A user with the "Manage integration credentials" permission enters the credentials from the clinic's SATUSEHAT portal, then Resend all
"… SATUSEHAT credentials were rejected (HTTP 401/403) …" Wrong or expired Client ID/Secret Copy them again from the SATUSEHAT portal and save; Medivana retries automatically
"… SATUSEHAT cannot be reached right now / is busy or disrupted …" A problem on the SATUSEHAT side No action needed; it is resent automatically
"Patient … has no NIK, so they cannot be matched with SATUSEHAT. Complete the patient's NIK, then resend." The patient's NIK is empty Complete the NIK in the patient record, then Resend
"… has no SATUSEHAT Practitioner ID and no NIK has been entered. Enter the NIK in the user record, then resend." Incomplete doctor data Complete the doctor's NIK in Settings → Users
"… was not found in SATUSEHAT by NIK. Make sure the NIK matches the SISDMK/STR data, then resend." The doctor's NIK does not match the national healthcare worker data (SISDMK, the national health workforce information system; STR, the registration certificate) Check the doctor's NIK; contact the SISDMK admin if the national record does not exist yet
"The visit has no clinic unit/service unit." / "… has no attending doctor." Incomplete visit data Complete the clinic unit or doctor on the visit, then Resend
"The diagnosis has not been sent to SATUSEHAT: ICD-10 code … is not recognized. Check the code, then resend." Invalid or inactive code Correct the diagnosis with the right code, then Resend
"The procedure has not been sent … ICD-9-CM code … is not recognized." Invalid procedure code Correct the procedure code
"The visit has not been sent to SATUSEHAT. Resend the visit first, then resend this data." Dependent data (diagnoses, medication, lab) requires the visit to be sent first Resend the visit, then the dependent data
"… the reference to other data is not valid yet … Make sure the patient, doctor, and visit have been sent, then resend." The patient, doctor, or location has no SATUSEHAT ID yet Complete the SATUSEHAT IDs for the organization, location (clinic unit), doctor, and patient
"The immunization has not been sent to SATUSEHAT: immunizations must be recorded within a visit." The immunization was recorded outside a visit Record the immunization within a visit
Medication fails to send (KFA code) The item is not mapped to KFA (the national drug and medical device dictionary) Complete the KFA code in the item master

Resending

  • One record: open the visit → Sync Badge → error details → Resend.
  • Everything that failed: sync dashboard → filter "Failed" → Resend all (after fixing the common cause, such as credentials).

Ask the AI Assistant: "Why did this visit fail to send to SATUSEHAT?" The AI reads the error message and explains how to fix it.

Baca dalam Bahasa Indonesia