@ssecd/jkn
Version:
JKN (BPJS) Bridging API untuk NodeJS
127 lines (126 loc) • 4 kB
JavaScript
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'
});
}
}