Update service pelayanan pasien

Penerapan aturan remun dokter anestesi untuk tindakan mandiri di radiologi
This commit is contained in:
Salman Manoe 2023-06-07 12:53:51 +07:00
parent e80fdedd5c
commit fe49363183
2 changed files with 43 additions and 14 deletions

View File

@ -367,18 +367,21 @@ public class Master {
}
public static final class Ruangan {
public static final Integer[] ICU_NICU = { 328, 75, 707, 708 };
public static final Integer[] NONRANAP = { 45, 75, 76, 328, 463, 464 };
public static final Integer[] NONIKI_NONFFS = { 535 };
public static final Integer[] PENUNJANG_MURNI = { 39, 276 };
public static final Integer[] PERISTI = { 45, 75, 76, 463, 464 };
public static final Integer[] TANJUNG = { 72, 551 };
public static final Integer ICU_COVID = 707;
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 KLINIK_TERPADU_DIALISIS = 535;
public static final Integer MICU = 464;
public static final Integer NICU = 75;
public static final Integer NICU_COVID = 708;
public static final int KLINIK_FALSE_EMERGENCY = 309;
public static final int LABORATORIUM_PATOLOGI_ANATOMI = 39;

View File

@ -466,6 +466,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
Double persenRemunAnestesiRadiologi = Double
.parseDouble(GetSettingDataFixed("persenRemunAnestesiRadiologi").toString());
/*
* Persiapan filter logic remunerasi
*/
@ -561,7 +564,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
if (drAnastesiList.contains(idPegawai)
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa",
persenRemunAnestesiRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else {
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) {
@ -572,8 +581,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU.equals(d.get("idRuangan"))) {
} else if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(d.get("idRuangan"))) {
double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
} else {
@ -1453,15 +1461,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
Double persenRemunAnestesiRadiologi = Double
.parseDouble(GetSettingDataFixed("persenRemunAnestesiRadiologi").toString());
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> idsMonitoringIntervensi = splitDataSettingDatafixed("idMonitoringIntervensi");
List<Integer> idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed(
"idMonitoringHemodinamikGagalOrgan");
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
@ -1516,9 +1524,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
if (drAnastesiList.contains(idPegawai)
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunAnestesiRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunAnestesiRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else {
d.put("persenJasa", persenRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
@ -1539,8 +1555,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("persenJasa", persenLaboratorium.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU.equals(d.get("idRuangan"))) {
} else if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(d.get("idRuangan"))) {
double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTarifJasaICU.toString() + "% + " + persenTindakan.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
@ -1719,12 +1734,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter").toString());
Double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
Double persenJasaAnestesiRadiologi = Double
.parseDouble(GetSettingDataFixed("persenJasaAnestesiRadiologi").toString());
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
/*
* Mapping persentase jasa remunerasi
*/
@ -1764,9 +1782,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
if (drAnastesiList.contains(idPegawai)
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaAnestesiRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasaAnestesiRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else {
d.put("persenJasa", persenRadiologi.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
}
} else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)