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[] TANJUNG = { 72, 551 };
public static final Integer ICU_PICU = 328; 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 MICU = 464;
public static final Integer NICU = 75; public static final Integer NICU = 75;
public static final int KLINIK_FALSE_EMERGENCY = 309; 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_ANATOMI = 39;
public static final int LABORATORIUM_PATOLOGI_KLINIK = 276; 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 persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString()); Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString()); Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString());
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
/* /*
* Mendapatkan data mentah pelayanan pasien * 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"))) listData = listData.stream().filter(d -> !Master.JenisProduk.OBAT_ALKES.equals(d.get("idJenisProduk")))
.collect(Collectors.toList()); .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 * 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 * Untuk diskon jasa medis oleh dpjp
*/ */
d.put("hargaJasa", 0.0); 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")) } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) { && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
/* /*
* Set harga jasa pasien bpjs di ibs * Set harga jasa pasien bpjs di ibs
*/ */
double persenTarif = persenTarifJasaBedah / 100;
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100; 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"))) { } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100; 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"))) { } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100; 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"))) { } 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())); d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { } else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); 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 { } else {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); 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 persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString()); Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").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 * Mapping persentase jasa remunerasi
*/ */
for (Map<String, Object> d : listData) { for (Map<String, Object> d : listData) {
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) { && 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"))) { if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100; double persenJasa = persenOperatorIBS / 100;
d.put("persenJasa", persenOperatorIBS.toString() + "%"); d.put("persenJasa", persenOperatorIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", 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"))) { } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100; double persenJasa = persenAsistenIBS / 100;
d.put("persenJasa", persenAsistenIBS.toString() + "%"); d.put("persenJasa", persenAsistenIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", 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"))) { } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100; double persenJasa = persenAnestesiIBS / 100;
d.put("persenJasa", persenAnestesiIBS.toString() + "%"); d.put("persenJasa", persenAnestesiIBS.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", 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"))) { } 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() + "%"); d.put("persenJasa", persenVisite.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); 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 { } else {
d.put("persenJasa", persenTindakan.toString() + "%"); d.put("persenJasa", persenTindakan.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)