Update service pelayanan pasien

Penerapan aturan remun persentase tarif ruangan ICU dan NICU di logbook dokter remun baru
This commit is contained in:
Salman Manoe 2023-05-22 21:45:55 +07:00
parent 5c4475bf01
commit b1cf562a3b
2 changed files with 36 additions and 13 deletions

View File

@ -372,12 +372,12 @@ public class Master {
public static final Integer[] TANJUNG = { 72, 551 };
public static final Integer ICU_PICU = 328;
public static final Integer KLINIK_GIGI_KARYAWAN = 702;
public static final Integer KLINIK_KARYAWAN = 70;
public static final Integer MICU = 464;
public static final Integer NICU = 75;
public static final int KLINIK_FALSE_EMERGENCY = 309;
public static final int KLINIK_GIGI_KARYAWAN = 702;
public static final int KLINIK_KARYAWAN = 70;
public static final int LABORATORIUM_PATOLOGI_ANATOMI = 39;
public static final int LABORATORIUM_PATOLOGI_KLINIK = 276;

View File

@ -463,6 +463,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString());
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
/*
* Mendapatkan data mentah pelayanan pasien
*/
@ -473,6 +474,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listData = listData.stream().filter(d -> !Master.JenisProduk.OBAT_ALKES.equals(d.get("idJenisProduk")))
.collect(Collectors.toList());
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
double persenTarifIBS = persenTarifJasaBedah / 100;
double persenTarifICU = persenTarifJasaICU / 100;
/*
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
*/
@ -483,21 +489,26 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Untuk diskon jasa medis oleh dpjp
*/
d.put("hargaJasa", 0.0);
} else if (Master.Ruangan.KLINIK_KARYAWAN.equals(d.get("idRuangan"))
|| Master.Ruangan.KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
/*
* Untuk semua klaim di ruangan klinik karyawan
*/
d.put("hargaJasa", 0.0);
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
/*
* Set harga jasa pasien bpjs di ibs
*/
double persenTarif = persenTarifJasaBedah / 100;
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
d.put("hargaJasa", persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("hargaJasa", persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100;
d.put("hargaJasa", persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
/*
@ -520,6 +531,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU.equals(d.get("idRuangan"))) {
double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
} else {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
@ -1005,34 +1020,36 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString());
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
double persenTarifIBS = persenTarifJasaBedah / 100;
double persenTarifICU = persenTarifJasaICU / 100;
/*
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs
*/
double persenTarif = persenTarifJasaBedah / 100;
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
d.put("persenJasa", persenOperatorIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("persenJasa", persenAsistenIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100;
d.put("persenJasa", persenAnestesiIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
/*
@ -1071,6 +1088,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("persenJasa", persenVisite.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU.equals(d.get("idRuangan"))) {
double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTindakan.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
} else {
d.put("persenJasa", persenTindakan.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)