Implementasi Use Case Klaim dan Pembayaran

Last Updated: 2023/09/17

A. Pendahuluan

Implementasi use case ini akan difokuskan pada proses integrasi antara BPJS dengan SATUSEHAT. Proses klaim biaya kesehatan yang terintegrasi antara BPJS dan SATUSEHAT dapat dilakukan di fasilitas pelayanan kesehatan (fasyankes) yang telah terintegrasi dengan SATUSEHAT. Data klinis dan data pembayaran yang dikirimkan oleh fasyankes ke SATUSEHAT ini nantinya akan dijadikan dasar verifikasi BPJS.

Tahapan alur integrasi dan resource yang digunakan pada proses klaim BPJS dengan SATUSEHAT secara keseluruhan dapat dilihat pada gambar dibawah ini:

hf_integrasi_bpjs_satusehat_general

Gambar 1. Skema integrasi data klaim BPJS dengan SATUSEHAT

Implementasi proses klaim biaya perawatan pasien BPJS di fasilitas kesehatan secara umum dapat dikelompokkan menjadi 5 tahapan proses sebagai berikut:

  1. Prasyarat ketersediaan data kepesertaan BPJS
  2. Pengajuan Surat Eligibilitas Peserta (SEP)
  3. Pengiriman data klinis dan pembayaran pasien
  4. Pengajuan klaim biaya perawatan
  5. Verifikasi klaim biaya perawatan

Kelima tahapan proses integrasi ini melibatkan 3 organisasi pelaksana yang berbeda, yaitu fasyankes, BPJS, dan Pusjak (aplikasi E-Klaim), sehingga petunjuk cara implementasi yang akan dibahas di part selanjutnya akan dikategorikan berdasarkan:

  1. Fasyankes
  2. E-Klaim
  3. BPJS

B. Langkah-Langkah Pengiriman Data ke SATUSEHAT

I. Fasyankes

Last Updated: 2023/09/17

Data klinis baik pada pasien rawat jalan maupun rawat inap akan selalu berisikan data kunjungan pasien yang disimpan dalam resource Encounter. Data-data kunjungan pasien yang direkam meliputi kapan pertemuan tersebut mulai dan selesai, siapa tenaga kesehatan yang melayani, siapa subjek dari pelayanannya, dan informasi pendukung lainnya. Encounter.id data kunjungan ini akan dilampirkan pada beberapa resource seperti data klaim BPJS (Claim), data pembayaran (ChargeItem), dan data pengajuan Surat Eligibilitas Peserta (CoverageEligibilityRequest).

Tahapan alur integrasi dan resource yang digunakan untuk proses klaim dapat dilihat pada gambar dibawah ini:

hf_integrasi_bpjs_satusehat_pengajuan_klaim

Gambar 3. Skema Pengajuan Klaim BPJS oleh Fasyankes

Step 1. Pengajuan Surat Eligibilitas Peserta (SEP)

Pasien yang ditanggung oleh BPJS Kesehatan yang datang berkunjung ke Rumah Sakit, baik pasien yang telah dirujuk dari faskes lain ataupun pasien yang masuk melalui jalur lain, akan mendapatkan Surat Eligibilitas Peserta atau yang sering disebut dengan SEP.

Pengajuan SEP dapat dilakukan oleh fasyankes dengan mengirimkan resource CoverageEligibilityRequest ke SATUSEHAT dengan format dibawah ini:

Pengajuan No. SEP BPJS

{
    "resourceType": "CoverageEligibilityRequest",
    "identifier": {
        "period": {
            "start": "2022-06-14",
            "end": "2022-06-17"
        }
    },
    "status": "active",
    "priority": {
        "coding":  [
            {
                "code": "normal"
            }
        ]
    },
    "purpose":  [
        "validation"
    ],
    "patient": {
        "reference": "Patient/100000030006"
    },
    "servicedDate": "2022-06-14",
    "created": "2022-06-14",
    "enterer": {
        "reference": "Practitioner/N10000001"
    },
    "provider": {
        "reference": "Organization/10085103"
    },
    "insurer": {
        "reference": "Organization/10080028"
    },
    "facility": {
        "reference": "Location/ec3e8a16-437b-4eba-b8f6-ce93c13ac480"
    },
    "supportingInfo":  [
        {
            "sequence": 1,
            "information": {
                "reference": "QuestionnaireResponse/636bf55a-dd47-4235-8f65-3430b48ccf49"
            }
        }
    ],
    "insurance":  [
        {
            "focal": true,
            "coverage": {
                "reference": "Coverage/acc4c2ac-5b2b-4002-a278-a1ce4559802d"
            }
        }
    ],
    "item":  [
        {
            "diagnosis":  [
                {
                    "diagnosisCodeableConcept": {
                        "coding":  [
                            {
                                "system": "http://hl7.org/fhir/sid/icd-10",
                                "code": "I21.9",
                                "display": "Acute myocardial infarction, unspecified"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}
{
    "resourceType": "CoverageEligibilityRequest",
    "status": "active",
    "priority": {
        "coding": [
            {
                "code": "normal"
            }
        ]
    },
    "purpose": [
        "validation",
        "benefits"
    ],
    "patient": {
        "reference": "Patient/{{PATIENT_IHS_NUMBER}}",
		"display": "{{PATIENT_NAME}}"
    },
    "servicedDate": "{{SERVICE_DATE}}",
    "created": "{{COVERAGEELIGIBILITYREQUEST_CREATED_DATETIME}}",
    "enterer": {
        "reference": "Practitioner/{{PRACTITIONER_IHS_NUMBER}}",
		"display": "{{PRACTITIONER_NAME}}"
    },
    "provider": {
        "reference": "Organization/{{PROVIDER_FACILITY_IHS_NUMBER}}",
		"display": "{{PROVIDER_FACILITY_NAME}}"
    },
    "insurer": {
        "reference": "Organization/{{INSURER_FACILITY_IHS_NUMBER}}",
		"display": "{{INSURER_FACILITY_NAME}}"
    },
    "facility": {
        "reference": "Location/{{COVERAGEELIGIBILITYREQUEST_LOCATION_ID}}",
		"display": "{{COVERAGEELIGIBILITYREQUEST_LOCATION_NAME}}"
    },
    "insurance": [
        {
            "coverage": {
                "reference": "Coverage/{{COVERAGE_ID}}"
            }
        }
    ],
    "item": [
        {
            "category": {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/sid/icd-10",
                        "code": "{{DIAGNOSIS_ICD_CODE}}",
                        "display": "{{DIAGNOSIS_ICD_DISPLAY}}"
                    }
                ]
            }
        }
    ]
}
Variabel Deskripsi
PATIENT_IHS_NUMBER SATUSEHAT ID Number untuk Pasien
PATIENT_NAME Nama Pasien
SERVICE_DATE Tanggal pelayanan kesehatan diberikan
COVERAGEELIGIBILITYREQUEST_CREATED_DATETIME Tanggal dan waktu pengajuan SEP ini dilakukan (dibuat oleh sistem)
PRACTITIONER_IHS_NUMBER SATUSEHAT ID untuk staff fasyankes yang mengajukan SEP
PRACTITIONER_NAME Nama staff fasyankes yang mengajukan SEP
PROVIDER_FACILITY_IHS_NUMBER SATUSEHAT ID untuk fasyankes yang mengajukan SEP
PROVIDER_FACILITY_NAME Nama fasyankes yang mengajukan SEP
INSURER_FACILITY_IHS_NUMBER SATUSEHAT ID untuk pihak verifikator SEP (Default: BPJS Kesehatan)
INSURER_FACILITY_NAME Nama pihak verifikator SEP (Default: BPJS Kesehatan)
COVERAGEELIGIBILITYREQUEST_LOCATION_ID ID lokasi fasyankes pengajuan SEP
COVERAGEELIGIBILITYREQUEST_LOCATION_NAME Nama lokasi fasyankes pengajuan SEP
COVERAGE_ID ID data Kepesertaan BPJS
DIAGNOSIS_ICD_CODE Kode ICD-10 untuk diagnosa penyakit yang diderita pasien
DIAGNOSIS_ICD_DISPLAY Deskripsi ICD-10 untuk diagnosa penyakit yang diderita pasien

CATATAN:
(*): Jenis data yang memiliki terminologi spesifik. Kamus terminologi bisa ditemukan pada tab "ValueSet"

[none]

Data Medis (Informasi Tambahan)

Pada proses pengajuan No. SEP, informasi pendukung yang berhubungan dengan layanan medis pasien juga perlu dilampirkan. Data medis yang dimaksud adalah: 1. Jenis Pelayanan: Termasuk jenis pelayanan rawat jalan atau rawat inap 2. Asal Rujukan: Berasal dari Fasilitas Kesehatan Tingkat 1 atau Fasilitas Kesehatan Tingkat 2 3. Tanggal Rujukan 4. Nomor Rujukan: Id 5. Pemberi pelayanan kesehatan (PPK) Rujukan: Fasyankes yang dirujuk

Informasi pendukung ini akan disimpan dalam resource QuestionnaireResponse. Kolom CoverageEligibilityRequest.supportingInfo.information pada contoh diatas akan mereferensi ke QuestionnaireResponse.id.

        
{
    "resourceType": "QuestionnaireResponse",
    "questionnaire": "https://fhir.kemkes.go.id/Questionnaire/Q0006",
    "status": "completed",
    "subject": {
        "reference": "Patient/100000030006",
        "display": "Jane Smith"
    },
    "encounter": {
        "reference": "Encounter/29e3e814-4c9b-4f24-a8cb-54ba597d746f"
    },
    "authored": "2022-06-14T10:00:00+07:00",
    "author": {
        "reference": "Practitioner/N10000001"
    },
    "source": {
        "reference": "Patient/100000030006"
    },
    "item":  [
        {
            "linkId": "1",
            "text": "Jenis Pelayanan",
            "answer":  [
                {
                    "valueCoding": {
                        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                        "code": "IMP",
                        "display": "inpatient encounter"
                    }
                }
            ]
        },
        {
            "linkId": "2",
            "text": "Rujukan",
            "item":  [
                {
                    "linkId": "2.1",
                    "text": "Asal Rujukan",
                    "answer":  [
                        {
                            "valueCoding": {
                                "system": "http://terminology.kemkes.go.id/CodeSystem/organization-type",
                                "code": "FKTP",
                                "display": "Fasilitas Kesehatan Tingkat 1"
                            }
                        }
                    ]
                },
                {
                    "linkId": "2.2",
                    "text": "Tanggal Rujukan",
                    "answer":  [
                        {
                            "valueDate": "2022-06-13"
                        }
                    ]
                },
                {
                    "linkId": "2.3",
                    "text": "Nomor Rujukan",
                    "answer":  [
                        {
                            "valueString": "5375162"
                        }
                    ]
                },
                {
                    "linkId": "2.4",
                    "text": "PPK Rujukan",
                    "answer":  [
                        {
                            "valueCoding": {
                                "system": "http://sys-ids.kemkes.go.id/organization/10000004",
                                "code": "10000004",
                                "display": "Puskesmas Sangat Waras"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "3",
            "text": "Catatan Peserta",
            "answer":  [
                {
                    "valueString": "-"
                }
            ]
        },
        {
            "linkId": "4",
            "text": "Poli",
            "item":  [
                {
                    "linkId": "4.1",
                    "text": "Tujuan",
                    "answer":  [
                        {
                            "valueCoding": {
                                "system": "http://terminology.kemkes.go.id/CodeSystem/organization-type",
                                "code": "P0000001",
                                "display": "Poli Jantung dan Pembuluh Darah"
                            }
                        }
                    ]
                },
                {
                    "linkId": "4.2",
                    "text": "Eksekutif",
                    "answer":  [
                        {
                            "valueBoolean": true
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "5",
            "text": "CoB",
            "answer":  [
                {
                    "valueBoolean": true
                }
            ]
        },
        {
            "linkId": "6",
            "text": "Katarak",
            "answer":  [
                {
                    "valueBoolean": true
                }
            ]
        },
        {
            "linkId": "7",
            "text": "Jaminan Kecelakaan Lalu Lintas",
            "answer":  [
                {
                    "valueBoolean": true
                }
            ]
        },
        {
            "linkId": "8",
            "text": "Tanggal Kejadian Kecelakaan Lalu Lintas",
            "answer":  [
                {
                    "valueDate": "2022-06-13"
                }
            ]
        },
        {
            "linkId": "9",
            "text": "Keterangan Kecelakaan Lalu Lintas",
            "answer":  [
                {
                    "valueString": "-"
                }
            ]
        },
        {
            "linkId": "10",
            "text": "Suplesi",
            "answer":  [
                {
                    "valueBoolean": true
                }
            ]
        },
        {
            "linkId": "11",
            "text": "Nomor SEP Suplesi",
            "answer":  [
                {
                    "valueString": "SUP03203340000002"
                }
            ]
        },
        {
            "linkId": "12",
            "text": "Lokasi Kecelakaan",
            "item":  [
                {
                    "linkId": "12.1",
                    "text": "Kode Provinsi",
                    "answer":  [
                        {
                            "valueReference": {
                                "type": "Location/53d57761-a5e6-445a-ae09-e26e4a78418e"
                            }
                        }
                    ]
                },
                {
                    "linkId": "12.2",
                    "text": "Kode Kabupaten",
                    "answer":  [
                        {
                            "valueReference": {
                                "type": "Location/c2245bff-121e-4a92-89b5-a1363ea94f47"
                            }
                        }
                    ]
                },
                {
                    "linkId": "12.3",
                    "text": "Kode Kecamatan",
                    "answer":  [
                        {
                            "valueReference": {
                                "type": "Location/2c5304cc-de6b-4816-b976-2daa896d99d2"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "linkId": "13",
            "text": "SKDP",
            "item":  [
                {
                    "linkId": "13.1",
                    "text": "Nomor Surat Kontrol",
                    "answer":  [
                        {
                            "valueString": "DS02/DPP16-2023"
                        }
                    ]
                },
                {
                    "linkId": "13.2",
                    "text": "Kode DPJP",
                    "answer":  [
                        {
                            "valueReference": {
                                "type": "Practitioner/N10000001"
                            }
                        }
                    ]
                }
            ]
        }
    ]
}
#tba
#tba
[none]

Respon No. Surat Eligibilitas Pelayanan (SEP) BPJS

Setelah fasyankes mengirimkan data pengajuan SEP BPJS ke SATUSEHAT, sistem BPJS Kesehatan akan melakukan verifikasi terhadap resource CoverageEligibilityRequest secara real-time. SATUSEHAT otomatis akan mengirimkan respon dari data pengajuan SEP tersebut dalam resource CoverageEligibilityResponse. Apabila hasil verifikasi berhasil, maka No. SEP akan tergenerate dan dilampirkan pada resource CoverageEligibilityResponse. Berhubung SEP merupakan syarat utama atau surat jaminan pasien bisa menggunakan fasilitas BPJS, oleh karena itu apabila hasil verifikasi gagal, maka No. SEP tidak akan terbentuk dan secara otomatis pasien tidak bisa menggunakan fasilitas BPJS. Status hasil verifikasi SEP bisa dilihat pada kolom CoverageEligibilityResponse.outcome.
{
    "resourceType": "CoverageEligibilityResponse",
    "identifier": {
        "use": {
            "system": "http://hl7.org/fhir/identifier-use",
            "code": "official",
            "display": "Official"
        },
        "system": "http://sys-ids.kemkes.go.id/jkn-claim-number",
        "value": "0301R0011117V000008",
        "type": {
            "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
            "code": "NIIP",
            "display": "National Insurance Payor Identifier (Payor)"
        },
        "period": {
            "start": "2022-06-14",
            "end": "2022-08-14"
        }
    },
    "status": "active",
    "purpose":  [
        "validation"
    ],
    "patient": {
        "reference": "Patient/100000030006"
    },
    "created": "2022-06-14",
    "requestor": {
        "reference": "Organization/10085103"
    },
    "request": {
        "reference": "CoverageEligibilityRequest/484e6912-1a7f-493f-aac7-0ec80a97a5d1"
    },
    "outcome": "complete",
    "disposition": "Peserta aktif",
    "insurer": {
        "reference": "Organization/10080028"
    },
    "insurance":  [
        {
            "coverage": {
                "reference": "Coverage/acc4c2ac-5b2b-4002-a278-a1ce4559802d"
            },
            "inforce": true,
            "item":  [
                {
                    "category": {
                        "coding":  [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/ex-benefitcategory",
                                "code": "30",
                                "display": "Health Benefit Plan Coverage"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}
{
    "resourceType": "CoverageEligibilityResponse",
    "status": "active",
    "purpose": [
        "validation",
        "benefits"
    ],
    "patient": {
		"reference": "Patient/{{PATIENT_IHS_NUMBER}}",
		"display": "{{PATIENT_NAME}}"
    },
     "servicedDate": "{{SERVICE_DATE}}",
    "created": "{{COVERAGEELIGIBILITYRESPONSE_CREATED_DATETIME}}",
    "request": {
        "reference": "CoverageEligibilityRequest/{{COVERAGEELIGIBILITYREQUEST_ID}}"
    },
    "outcome": "{{HASIL_VERIFIKASI}}",
    "insurer": {
         "reference": "Organization/{{INSURER_FACILITY_IHS_NUMBER}}",
		"display": "{{INSURER_FACILITY_NAME}}"
    },
    "insurance": [
        {
            "coverage": {
                 "reference": "Coverage/{{COVERAGE_ID}}"
            },
            "inforce": true,
            "item": [
                {
                    "category": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/ex-benefitcategory",
                                "code": "{{COVERAGE_CATEGORY_CODE}}",
                                "display": "{{COVERAGE_CATEGORY_DISPLAY}}"
                            }
                        ]
                    },
                    "network": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/benefit-network",
                                "code": "in"
                            }
                        ]
                    },
                    "unit": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/benefit-unit",
                                "code": "individual"
                            }
                        ]
                    },
                    "term": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/benefit-term",
                                "code": "annual"
                            }
                        ]
                    },
                    "benefit": [
                        {
                            "type": {
                                "coding": [
                                    {
                                        "code": "benefit"
                                    }
                                ]
                            },
                            "allowedMoney": {
                                "value": {{AMOUNT1_VALUE}},
                                "currency": "IDR"
                            }
                        },
                        {
                            "type": {
                                "coding": [
                                    {
                                        "code": "copay-maximum"
                                    }
                                ]
                            },
                            "allowedMoney": {
                                "value": {{AMOUNT2_VALUE}},
                                "currency": "IDR"
                            }
                        },
                        {
                            "type": {
                                "coding": [
                                    {
                                        "code": "copay-percent"
                                    }
                                ]
                            },
                            "allowedUnsignedInt": {{ AMOUNT1_PERCENTAGE}}
                        }
                    ]
                }
            ]
        }
    ]
}
Variabel Deskripsi
PATIENT_IHS_NUMBER SATUSEHAT ID Number untuk Pasien
PATIENT_NAME Nama Pasien
SERVICE_DATE Estimasi tanggal pelayanan kesehatan diberikan
COVERAGEELIGIBILITYRESPONSE_CREATED_DATETIME Tanggal dan waktu verifikasi SEP ini dilakukan (dibuat oleh sistem)
COVERAGEELIGIBILITYREQUEST_ID ID CoverageEligibilityRequest data pengajuan SEP
INSURER_FACILITY_IHS_NUMBER SATUSEHAT ID untuk pihak verifikator SEP (Default: BPJS Kesehatan)
INSURER_FACILITY_NAME Nama pihak verifikator SEP (Default: BPJS Kesehatan)
COVERAGE_ID ID data Kepesertaan BPJS
COVERAGE_CATEGORY_CODE Kode kategori pelayanan kesehatan yang bisa diklaim oleh pasien BPJS
COVERAGE_CATEGORY_DISPLAY Deskripsi kategori pelayanan kesehatan yang bisa diklaim oleh pasien BPJS
AMOUNT1_VALUE Biaya maksimum yang diperbolehkan untuk klaim (dalam rupiah)
AMOUNT2_VALUE Pembayaran per layanan (dalam rupiah)
AMOUNT1_PERCENTAGE Persentase pembayaran per layanan
[none]

Step 2. Pengiriman Data Klinis dan Pembayaran oleh Fasyankes

Fasyankes yang sudah terintegrasi dengan SATUSEHAT akan mengirimkan data klinis dan pembayaran untuk pasien rawat jalan/ rawat inap ke SATUSEHAT. Data-data inilah yang nantinya akan digunakan oleh BPJS sebagai acuan dalam melakukan verifikasi klaim BPJS.

Data klinis baik pada pasien rawat jalan maupun rawat inap akan selalu berisikan data kunjungan pasien yang disimpan dalam resource Encounter. Data-data kunjungan pasien yang direkam meliputi kapan pertemuan tersebut mulai dan selesai, siapa tenaga kesehatan yang melayani, siapa subjek dari pelayanannya, dan informasi pendukung lainnya. Encounter.id data kunjungan ini akan dilampirkan pada beberapa resource seperti data klaim BPJS (Claim), data pembayaran (ChargeItem), dan data pengajuan Surat Eligibilitas Pasien (CoverageEligibilityRequest).

Pendaftaran Kunjungan Pasien Rawat Inap

{
    "resourceType": "Encounter",
    "identifier":  [
        {
            "system": "http://sys-ids.kemkes.go.id/encounter/10085103",
            "value": "10085103"
        }
    ],
    "status": "in-progress",
    "class": {
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
        "code": "IMP",
        "display": "inpatient encounter"
    },
    "subject": {
        "reference": "Patient/100000030006",
        "display": "Jane Smith"
    },
    "participant":  [
        {
            "type":  [
                {
                    "coding":  [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                            "code": "ATND",
                            "display": "attender"
                        }
                    ]
                }
            ],
            "individual": {
                "reference": "Practitioner/N10000001",
                "display": "Dokter Bronsig"
            }
        }
    ],
    "period": {
        "start": "2022-06-14T07:00:00+07:00"
    },
    "location":  [
        {
            "location": {
                "reference": "Location/ec3e8a16-437b-4eba-b8f6-ce93c13ac480",
                "display": "Bed 2, Ruang 44, Bangsal Rawat Inap Kelas 2, Layanan Jantung, Lantai 2, Gedung Utama"
            },
            "extension":  [
                {
                    "url": "https://fhir.kemkes.go.id/r4/StructureDefinition/ServiceClass",
                    "extension":  [
                        {
                            "url": "value",
                            "valueCodeableConcept": {
                                "coding":  [
                                    {
                                        "system": "http://terminology.kemkes.go.id/CodeSystem/locationServiceClass",
                                        "code": "2",
                                        "display": "Kelas 2"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "upgradeClassIndicator",
                            "valueCodeableConcept": {
                                "coding":  [
                                    {
                                        "system": "http://terminology.kemkes.go.id/CodeSystem/locationUpgradeClass",
                                        "code": "naik-kelas",
                                        "display": "Kenaikan Kelas Perawatan"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "statusHistory":  [
        {
            "status": "in-progress",
            "period": {
                "start": "2022-06-14T07:00:00+07:00"
            }
        }
    ],
    "serviceProvider": {
        "reference": "Organization/10085103"
    }
}
#tba
#tba
[none]

CATATAN: Proses pengiriman data pasien rawat jalan ke SATUSEHAT secara detail dapat dilihat dalam dokumen Playbook Resume Medis Rawat Jalan.

Referensi:

Postman Klaim dan Pembayaran Playbook Klaim dan Pembayaran (Fasyankes) Postman Resume Medis Rawat Jalan SATUSEHAT

II. E-Klaim

Last Updated: 2023/09/17

Step 1. Konversi format data E-Klaim ke format FHIR

Sama seperti proses yang sudah berlangsung sebelumnya, pengajuan klaim oleh fasyankes tetap dilakukan melalui aplikasi E-Klaim. Aplikasi E-Klaim inilah yang nantinya akan melakukan konversi data klaim ke format FHIR (resource *Claim*) dan dikirimkan ke SATUSEHAT.

Resource *Claim* disini akan referensi ke data klinis seperti *Encounter*, *Observation*, dan data pendukung lainnya. Berhubung fasyankes diperbolehkan untuk melakukan pengajuan klaim terhadap beberapa kunjungan pasien secara sekaligus, maka dari itu 1 *Claim* (1 Nomor SEP) bisa mencakup lebih dari 1 data kunjungan pasien (resource *Encounter*).

Klaim BPJS INACBG

{
    "resourceType": "Claim",
    "id": "960151",
    "meta": {
        "profile":  [
            "https://fhir.kemkes.go.id/r4/StructureDefinition/Claim"
        ]
    },
    "identifier":  [
        {
            "system": "http://sys-ids.kemkes.go.id/jkn-claim-batch-number",
            "value": "96123451"
        }
    ],
    "status": "active",
    "type": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/claim-type",
                "code": "institutional",
                "display": "Institutional"
            }
        ]
    },
    "use": "claim",
    "patient": {
        "reference": "Patient/100000030006"
    },
    "billablePeriod": {
        "start": "2022-06-14",
        "end": "2022-06-21"
    },
    "created": "2022-06-21",
    "enterer": {
        "identifier": {
            "system": "https://fhir.kemkes.go.id/id/nik",
            "value": "3657746633553535555"
        },
        "reference": "Practitioner/N10000001"
    },
    "insurer": {
        "reference": "Organization/10080028"
    },
    "provider": {
        "reference": "Organization/10085103"
    },
    "priority": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/processpriority",
                "code": "normal",
                "display": "Normal"
            }
        ]
    },
    "payee": {
        "type": {
            "coding":  [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/payeetype",
                    "code": "provider",
                    "display": "Provider"
                }
            ]
        },
        "party": {
            "reference": "Organization/10085103"
        }
    },
    "facility": {
        "reference": "Location/ec3e8a16-437b-4eba-b8f6-ce93c13ac480"
    },
    "supportingInfo":  [
        {
            "sequence": 1,
            "category": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/claiminformationcategory",
                        "code": "upgrade-class-indicator",
                        "display": "Indikator Naik Kelas"
                    }
                ]
            },
            "code": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/upgradeClassIndicator",
                        "code": "upgrade",
                        "display": "Ada Kenaikan Kelas"
                    }
                ]
            }
        },
        {
            "sequence": 2,
            "category": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/claiminformationcategory",
                        "code": "upgrade-class-class"
                    }
                ]
            },
            "code": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/locationServiceClass",
                        "code": "2"
                    }
                ]
            },
            "timingPeriod": {
                "start": "2022-06-14",
                "end": "2022-06-21"
            }
        },
        {
            "sequence": 3,
            "category": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/claiminformationcategory",
                        "code": "claim-text-encoded"
                    }
                ]
            },
            "valueAttachment": {
                "contentType": "text/plain;base64",
                "data": "REVNTyBWRVJTSU9OCUQJMwlBUAkxCTI0LzAxLzIwMjMJMjQvMDEvMjAyMwkyNC8wMS8yMDIzCTMwMDAJMQkxCVAwMS42CTk5LjAzCS0JLQlOb25lCU5vbmUJTm9uZQlOb25lCVAtOC0xNy1JCU5vbmUJTm9uZQlOb25lCU5vbmUJTm9uZQlOb25lCU5FT05BVEFMLCBCQkwgPiAyNDk5IEdSIFRBTlBBIFBST1NFRFVSIE1BWU9SIChSSU5HQU4pCTQ1NTk4MDAJMAkwCS0JMAktCTAJLQkwCS0JMAk0NTU5ODAwCTEwMDAwMAkwCTEJMQkwCTAJVEVTVCBCQVlJCTIwMDM5OQkwCTAJCURFTU8gVkVSU0lPTgkxMjIyMzMzNDQJMztKS04JMTExMDEwMTs5MDIyQzAxO0FETQk1LjcuMC4yMDIyMDkyNzEzMDMJNAk2NjgJMSMwIyMwIzAjMC4wIzIwMjMtMDEtMjMgMTc6MTM6MDMjMCMxMzoyOToyOSMxMzoyOToyOSMwMDowMDowMCN7ImNvX2luc2lkZW5zZV9pbmQiOiIwIn0jI3siY2FyYV9tYXN1ayI6ImVtZCIsInNpc3RvbGUiOiIxMTAiLCJkaWFzdG9sZSI6IjcwIiwidG90YWxfdGFyaWZfcnMiOiIxMDAwMDAiLCJiaWxsaW5nX2dyb3VwIjp7InByb2NlZHVyZV9hbXQiOiIxMDAwMDAiLCJzdXJnaWNhbF9hbXQiOiIwIiwiY29uc3VsX2FtdCI6IjAiLCJleHBlcnRfYW10IjoiMCIsIm51cnNpbmdfYW10IjoiMCIsImFuY2lsbGFyeV9hbXQiOiIwIiwiYmxvb2RfYW10IjoiMCIsImxhYm9yYXRvcnlfYW10IjoiMCIsInJhZGlvbG9neV9hbXQiOiIwIiwicmVoYWJfYW10IjoiMCIsInJvb21fYW10IjoiMCIsImludGVuc2l2ZV9hbXQiOiIwIiwiZHJ1Z19hbXQiOiIwIiwiZGV2aWNlX2FtdCI6IjAiLCJjb25zdW1hYmxlX2FtdCI6IjAiLCJkZXZpY2VfcmVudF9hbXQiOiIwIiwiZHJ1Z19jaHJvbmljX2FtdCI6IjAiLCJkcnVnX2NoZW1vX2FtdCI6IjAifSwic2VsaXNpaF9iaWF5YSI6eyJuaWxhaSI6IjAiLCJwZW1iYXlhciI6IiIsIm5haWtfa2VsYXMiOiIifSwidmVudGlsYXRvciI6eyJ1c2VfaW5kIjoiMSIsInN0YXJ0X2R0dG0iOiIyMDIzLTAxLTE5IDE3OjI2OjA4Iiwic3RvcF9kdHRtIjoiMjAyMy0wMS0yMCAxNzoyNjoyCg=="
            }
        },
        {
            "sequence": 4,
            "category": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/claiminformationcategory",
                        "code": "unu-grouper-version"
                    }
                ]
            },
            "valueString": "4"
        },
        {
            "sequence": 5,
            "category": {
                "coding":  [
                    {
                        "system": "http://terminology.kemkes.go.id/CodeSystem/claiminformationcategory",
                        "code": "e-klaim-version"
                    }
                ]
            },
            "valueString": "5.8.3.202301311257"
        }
    ],
    "diagnosis":  [
        {
            "sequence": 1,
            "diagnosisCodeableConcept": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/sid/icd-10",
                        "code": "I21.9",
                        "display": "Acute myocardial infarction, unspecified"
                    }
                ]
            },
            "type":  [
                {
                    "coding":  [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
                            "code": "billing",
                            "display": "Billing"
                        }
                    ]
                }
            ]
        }
    ],
    "procedure":  [
        {
            "sequence": 1,
            "procedureCodeableConcept": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/sid/icd-9-cm",
                        "code": "36.06",
                        "display": "Insertion of non-drug -eluting coronary artery stent(s)"
                    }
                ]
            }
        },
        {
            "sequence": 2,
            "procedureCodeableConcept": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/sid/icd-9-cm",
                        "code": "00.66",
                        "display": "Parcutaneous transluminal coronary angioplasty (PTCA) or coronary atherectomy"
                    }
                ]
            }
        }
    ],
    "insurance":  [
        {
            "sequence": 1,
            "focal": true,
            "coverage": {
                "reference": "Coverage/acc4c2ac-5b2b-4002-a278-a1ce4559802d"
            },
            "identifier": {
                "system": "http://sys-ids.kemkes.go.id/jkn-claim-number",
                "value": "100R01V0010002"
            }
        }
    ],
    "total": {
        "value": 28868200,
        "currency": "IDR"
    },
    "extension":  [
        {
            "url": "https://fhir.kemkes.go.id/r4/StructureDefinition/Package",
            "extension":  [
                {
                    "url": "tariffClass",
                    "valueCodeableConcept": {
                        "coding":  [
                            {
                                "system": "http://terminology.kemkes.go.id/CodeSystem/tariffClass",
                                "code": "AP",
                                "display": "Tarif Kelas A Pemerintah"
                            }
                        ]
                    }
                },
                {
                    "url": "basePackage",
                    "extension":  [
                        {
                            "url": "code",
                            "valueCodeableConcept": {
                                "coding":  [
                                    {
                                        "system": "http://terminology.kemkes.go.id/CodeSystem/inacbg-v5",
                                        "code": "I-1-40-I",
                                        "display": "PROSEDUR KARDIOVASKULAR PERKUTAN (RINGAN)"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "value",
                            "valueInteger": 14434100
                        }
                    ]
                },
                {
                    "url": "additionalPackage",
                    "extension":  [
                        {
                            "url": "code",
                            "valueCodeableConcept": {
                                "coding":  [
                                    {
                                        "system": "http://terminology.kemkes.go.id/CodeSystem/inacbg-special-cmg-v5",
                                        "code": "YY-02-III",
                                        "display": "PCI"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "value",
                            "valueInteger": 14434100
                        }
                    ]
                }
            ]
        }
    ]
}
#tba
#tba
[none]

III. BPJS

Last Updated: 2023/09/17

  1. Prasyarat ketersediaan data kepesertaan BPJS
hf-integrasi-bpjs-satusehat-pendaftaran-data-kepesertaan

Gambar 2. Skema penyediaan data kepesertaan BPJS

Agar fasyankes bisa melakukan pengiriman data pengajuan klaim BPJS, data Master Kepesertaan BPJS wajib disediakan terlebih dahulu di SATUSEHAT. Hal ini dikarenakan data kepesertaan BPJS akan dijadikan referensi saat data klaim BPJS dikirimkan ke SATUSEHAT. Data Master Kepesertaan BPJS bersumber dari existing sistem BPJS sehingga perlu adanya mekanisme sinkronisasi data antara sistem BPJS kesehatan dengan SATUSEHAT.

Master Kepesertaan BPJS pada SATUSEHAT akan disimpan menggunakan salah satu resource dalam FHIR yaitu Coverage. Proses penambahan data peserta baru BPJS dapat dilakukan melalui FHIR API dengan metode POST, sedangkan proses perubahan data peserta existing BPJS (termasuk proses menonaktifkan data peserta BPJS) akan menggunakan metode PUT. Untuk contoh pengiriman data atau payload dari pembaharuan data kepesertaan BPJS dapat dilihat dalam Postman Collection.

1.1. Pembuatan Organisasi BPJS Kesehatan

Langkah awal sebelum mendaftarkan data kepesertaan BPJS di SATUSEHAT adalah organisasi BPJS Kesehatan wajib didaftarkan terlebih dahulu di SATUSEHAT. Hal ini dikarenakan data kepesertaan BPJS akan mereferensi ke {facility-ihs-number} milik BPJS Kesehatan.

BPJS Kesehatan

            {
    "resourceType": "Organization",
    "active": true,
    "address":  [
        {
            "city": "Jakarta",
            "country": "ID",
            "extension":  [
                {
                    "extension":  [
                        {
                            "url": "province",
                            "valueCode": "10"
                        },
                        {
                            "url": "city",
                            "valueCode": "1010"
                        },
                        {
                            "url": "district",
                            "valueCode": "1010101"
                        },
                        {
                            "url": "village",
                            "valueCode": "1010101101"
                        }
                    ],
                    "url": "https://fhir.kemkes.go.id/r4/StructureDefinition/administrativeCode"
                }
            ],
            "line":  [
                "Jalan Matraman Raya No. 94 A, Kecamatan Menteng, Jakarta Pusat, DKI Jakarta"
            ],
            "postalCode": "10320",
            "type": "both",
            "use": "work"
        }
    ],
    "id": "a60f0623-80a0-4a97-a8c0-8bedb7844649",
    "identifier":  [
        {
            "system": "http://sys-ids.kemkes.go.id/organization/10080028",
            "use": "official",
            "value": "BPJS-K"
        }
    ],
    "meta": {
        "lastUpdated": "2023-05-19T16:18:04.201716+00:00",
        "versionId": "MTY4NDUxMzA4NDIwMTcxNjAwMA"
    },
    "name": "BPJS Kesehatan",
    "partOf": {
        "display": "BPJS Kesehatan",
        "reference": "Organization/10080028"
    },
    "telecom":  [
        {
            "system": "phone",
            "value": "022-655 2331"
        },
        {
            "system": "email",
            "value": "wbs@bpjs-kesehatan.go.id"
        },
        {
            "system": "fax",
            "value": "022-655 2323"
        }
    ],
    "type":  [
        {
            "coding":  [
                {
                    "code": "team",
                    "display": "Organizational team",
                    "system": "http://terminology.hl7.org/CodeSystem/organization-type"
                }
            ]
        }
    ]
}
        
#tba
#tba
[none]

1.2. Pencarian Data Pasien

Karena data pasien di dalam SATUSEHAT sudah terdaftar lebih dulu di *Master Patient Index* (MPI) Kementerian Kesehatan, sehingga registrasi data pasien baru tidak diperlukan.

Proses pencarian {patient-ihs-number} dari pasien dapat dilakukan melalui FHIR API dengan metode GET. Untuk metode pencarian data pasien di SATUSEHAT secara detail dapat dilihat dalam dokumen Petunjuk Teknis SATUSEHAT (Juknis SATSET).

1.3. Pembuatan Data Kepesertaan BPJS

Selanjutnya, data {facility-ihs-number} dan {patient-ihs-number} yang didapatkan dari step 1.1. dan step 1.2. akan dilampirkan pada resource Coverage seperti contoh dibawah ini:

Kepesertaan BPJS

{
    "resourceType": "Coverage",
    "status": "active",
    "type": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem v3-ActCode",
                "code": "PUBLICPOL",
                "display": "public healthcare"
            }
        ]
    },
    "policyHolder": {
        "reference": "Patient/100000030006"
    },
    "subscriber": {
        "reference": "Patient/100000030006"
    },
    "subscriberId": "367400001111222",
    "beneficiary": {
        "reference": "Patient/100000030006"
    },
    "dependent": "0",
    "relationship": {
        "coding":  [
            {
                "code": "self"
            }
        ]
    },
    "period": {
        "start": "2022-02-01",
        "end": "2050-12-01"
    },
    "payor":  [
        {
            "reference": "Organization/10080028"
        }
    ],
    "class":  [
        {
            "type": {
                "coding":  [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/coverage-class",
                        "code": "group",
                        "display": "Group"
                    }
                ]
            },
            "value": "COV000009",
            "name": "Pegawai Swasta"
        },
        {
            "type": {
                "coding":  [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/coverage-class",
                        "code": "class",
                        "display": "Class"
                    }
                ]
            },
            "value": "3",
            "name": "Kelas 3"
        }
    ]
}
#tba
#tba
[none]

B. Verifikasi data klaim dari fasyankes

hf_integrasi_bpjs_satusehat_verifikasi_klaim

Gambar 4. Skema Verifikasi Klaim oleh BPJS Kesehatan

BPJS akan melakukan verifikasi data klaim fasyankes secara *monthly*. Data yang akan diverifikasi oleh tim BPJS adalah resource Claim yang dikirimkan oleh aplikasi E-Claim (step 2.4.). Data klinis dan pembayaran pada fasyankes (step 2.1.) juga akan digunakan dalam proses verifikasi ini.

Respons Klaim BPJS INACBG

{
    "resourceType": "ClaimResponse",
    "status": "active",
    "type": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/claim-type",
                "code": "institutional"
            }
        ]
    },
    "subType": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/ex-claimsubtype",
                "code": "emergency"
            }
        ]
    },
    "use": "claim",
    "patient": {
        "reference": "Patient/100000030006"
    },
    "created": "2022-06-22",
    "insurer": {
        "reference": "Organization/10080028"
    },
    "requestor": {
        "reference": "Organization/10085103"
    },
    "request": {
        "reference": "Claim/f53c953b-944a-49b2-a2bc-6ddcd23e7791"
    },
    "outcome": "complete",
    "payeeType": {
        "coding":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/payeetype",
                "code": "provider"
            }
        ]
    },
    "adjudication":  [
        {
            "category": {
                "coding":  [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "309010003",
                        "display": "Report payment claim status"
                    }
                ]
            },
            "reason": {
                "coding":  [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "161040006",
                        "display": "Entitled to benefits"
                    }
                ]
            },
            "amount": {
                "value": 28868200,
                "currency": "IDR"
            },
            "value": 1
        }
    ],
    "total":  [
        {
            "category": {
                "coding":  [
                    {
                        "code": "submitted"
                    }
                ]
            },
            "amount": {
                "value": 28868200,
                "currency": "IDR"
            }
        }
    ],
    "payment": {
        "type": {
            "coding":  [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/ex-paymenttype",
                    "code": "complete"
                }
            ]
        },
        "date": "2022-06-22",
        "amount": {
            "value": 28868200,
            "currency": "IDR"
        }
    }
}
#tba
#tba
[none]