UNPKG

@ssecd/jkn

Version:

JKN (BPJS) Bridging API untuk NodeJS

188 lines (187 loc) 5.36 kB
import { VClaimBaseApi } from './base.js'; // TODO: make generic request and response data type as possible export class Rujukan extends VClaimBaseApi { /** * Pencarian data rujukan berdasarkan nomor rujukan */ async cariByNomor(params) { const paths = { 1: `/Rujukan/${params.nomor}`, 2: `/Rujukan/RS/${params.nomor}` }; return this.send({ name: this.name + `Berdasarkan Nomor (${params.sumber})`, path: paths[params.sumber], method: 'GET' }); } /** * Pencarian data rujukan berdasarkan nomor kartu peserta */ async cariByNoka(params) { const paths = { 1: `/Rujukan/Peserta/${params.nomor}`, 2: `/Rujukan/RS/Peserta/${params.nomor}` }; return this.send({ name: this.name + `Berdasarkan No. Kartu (${params.sumber})`, path: paths[params.sumber], method: 'GET' }); } /** * Pencarian data rujukan berdasarkan nomor kartu peserta (Multi records) */ async cariByNokaMulti(params) { const paths = { 1: `/Rujukan/List/Peserta/${params.nomor}`, 2: `/Rujukan/RS/List/Peserta/${params.nomor}` }; return this.send({ name: this.name + `Berdasarkan No. Kartu (${params.sumber}) Multi`, path: paths[params.sumber], method: 'GET' }); } /** * Insert rujukan * * Catatan: * Untuk tipe rujukan `1` maka response adalah `null` */ async insert(data) { return this.send({ name: this.name + 'Insert', path: `/Rujukan/insert`, method: 'POST', data: { request: { t_rujukan: data } } }); } /** * Update data rujukan */ async update(data) { return this.send({ name: this.name + 'Update', path: `/Rujukan/update`, method: 'PUT', data: { request: { t_rujukan: data } } }); } /** * Hapus data rujukan */ async delete(data) { return this.send({ name: this.name + 'Hapus', path: `/Rujukan/delete`, method: 'DELETE', data: { request: { t_rujukan: data } } }); } /** * Insert rujukan khusus */ async insertKhusus(data) { return this.send({ name: this.name + 'Insert Rujukan Khusus', path: `/Rujukan/Khusus/insert`, method: 'POST', data }); } /** * Delete atau hapus rujukan khusus */ async deleteKhusus(data) { return this.send({ name: this.name + 'Hapus Rujukan Khusus', path: `/Rujukan/Khusus/delete`, method: 'POST', data: { request: { t_rujukan: data } } }); } /** * List data rujukan khusus */ async listKhusus(params) { return this.send({ name: this.name + 'List Rujukan Khusus', path: `/Rujukan/Khusus/List/Bulan/${params.bulan}/Tahun/${params.tahun}`, method: 'GET' }); } /** * Insert rujukan menggunakan versi 2.0 */ async insertV2(data) { return this.send({ name: this.name + 'Insert V2', path: `/Rujukan/2.0/insert`, method: 'POST', data: { request: { t_rujukan: data } } }); } /** * Update data rujukan menggunakan versi 2.0 */ async updateV2(data) { return this.send({ name: this.name + 'Update V2', path: `/Rujukan/2.0/Update`, method: 'PUT', data: { request: { t_rujukan: data } } }); } /** * Data spesialistik rujukan */ async listSpesialistik(params) { return this.send({ name: this.name + 'List Spesialistik Rujukan', path: `/Rujukan/ListSpesialistik/PPKRujukan/${params.kodePpk}/TglRujukan/${params.tanggal}`, method: 'GET' }); } /** * Data sarana rujukan */ async listSarana(params) { return this.send({ name: this.name + 'List Sarana', path: `/Rujukan/ListSarana/PPKRujukan/${params.kodePpk}`, method: 'GET' }); } /** * Data rujukan keluar rumah sakit atau klinik utama */ async listKeluar(params) { return this.send({ name: this.name + 'List Rujukan Keluar Faskes', path: `/Rujukan/Keluar/List/tglMulai/${params.awal}/tglAkhir/${params.akhir}`, method: 'GET' }); } /** * Detail rujukan keluar rumah sakit atau klinik utama berdasarkan * nomor rujukan */ async keluarByNomor(params) { return this.send({ path: `/Rujukan/Keluar/${params.nomor}`, method: 'GET' }); } /** * Jumlah SEP yang terbentuk berdasarkan nomor rujukan yang masuk ke * rumah sakit atau klinik utama */ async jumlahSep(params) { return this.send({ name: this.name + 'List Rujukan Keluar Faskes Berdasarkan No. Rujukan', path: `/Rujukan/JumlahSEP/${params.jenis}/${params.nomor}`, method: 'GET' }); } }