UNPKG

@ssecd/jkn

Version:

JKN (BPJS) Bridging API untuk NodeJS

127 lines (126 loc) 4 kB
import { VClaimBaseApi } from './base.js'; // TODO: make generic request and response data type as possible export class RencanaKontrol extends VClaimBaseApi { /** * Insert rencana kontrol */ async insert(data) { return this.send({ name: this.name + 'Insert', path: `/RencanaKontrol/insert`, method: 'POST', data: { request: data } }); } /** * Update rencana kontrol */ async update(data) { return this.send({ name: this.name + 'Update', path: `/RencanaKontrol/Update`, method: 'PUT', data: { request: data } }); } /** * Delete atau hapus rencana kontrol */ async delete(data) { return this.send({ name: this.name + 'Hapus', path: `/RencanaKontrol/Delete`, method: 'DELETE', data: { request: { t_suratkontrol: data } } }); } /** * Insert surat pengantar rawat inap (SPRI) */ async insertSPRI(data) { return this.send({ name: this.name + 'Insert SPRI', path: `/RencanaKontrol/InsertSPRI`, method: 'POST', data: { request: data } }); } /** * Update surat pengantar rawat inap (SPRI) */ async updateSPRI(data) { return this.send({ name: this.name + 'Update SPRI', path: `/RencanaKontrol/UpdateSPRI`, method: 'PUT', data: { request: data } }); } /** * Melihat data SEP untuk keperluan rencana kontrol */ async sep(params) { return this.send({ name: this.name + 'Cari SEP', path: `/RencanaKontrol/nosep/${params.nomor}`, method: 'GET' }); } /** * Melihat detail surat kontrol berdasarkan nomor surat kontrol * * Catatan: * Ketika pembuatan SPRI atau jenis kontrol 1 tidak ada referensi nomor SEP asalnya, * jadi field response SEP kosong atau null. Sedangkan jika pembuatan surat kontrol * atau jenis kontrol 2, akan ter-isi field response SEP karena terdapat referensi * nomor SEP asal ketika pembuatan surat kontrol tersebut. */ async cari(params) { return this.send({ name: this.name + 'Cari Surat Kontrol', path: `/RencanaKontrol/noSuratKontrol/${params.nomor}`, method: 'GET' }); } /** * List data rencana kontrol berdasarkan nomor kartu peserta */ async dataByNoka(params) { const bulan = String(params.bulan || 0).padStart(2, '0'); return this.send({ name: this.name + 'Data Berdasarkan No. Kartu', path: `/RencanaKontrol/ListRencanaKontrol/Bulan/${bulan}/Tahun/${params.tahun}/Nokartu/${params.nomorKartu}/filter/${params.filter}`, method: 'GET' }); } /** * List data rencana kontrol berdasarkan tanggal */ async dataByTanggal(params) { return this.send({ name: this.name + 'Data Berdasarkan Tanggal', path: `/RencanaKontrol/ListRencanaKontrol/tglAwal/${params.awal}/tglAkhir/${params.akhir}/filter/${params.filter}`, method: 'GET' }); } /** * Data poli untuk rencana kontrol */ async poli(params) { return this.send({ name: this.name + 'Data Poli/Spesialistik', path: `/RencanaKontrol/ListSpesialistik/JnsKontrol/${params.jenis}/nomor/${params.nomor}/TglRencanaKontrol/${params.tanggal}`, method: 'GET' }); } /** * Data dokter untuk rencana kontrol */ async dokter(params) { return this.send({ name: this.name + 'Data Dokter', path: `/RencanaKontrol/JadwalPraktekDokter/JnsKontrol/${params.jenis}/KdPoli/${params.kodePoli}/TglRencanaKontrol/${params.tanggal}`, method: 'GET' }); } }