Update service pelayanan service

Penerapan proporsi persen dokter umum sebagai asisten di klinik terpadu dialisis untuk kinerja dokter remun baru
This commit is contained in:
Salman Manoe 2023-06-06 19:26:35 +07:00
parent f2ff970c0f
commit d9fd6c0fd1
2 changed files with 24 additions and 1 deletions

View File

@ -376,6 +376,7 @@ public class Master {
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;

View File

@ -465,6 +465,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString());
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
/*
* Persiapan filter logic remunerasi
*/
@ -529,6 +530,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Untuk semua klaim di ruangan klinik karyawan
*/
d.put("hargaJasa", 0.0);
} else if (drKsmUmumList.contains(idPegawai)
&& Master.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
/*
@ -1430,11 +1435,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString());
Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString());
Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
@ -1444,7 +1451,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
if (drKsmUmumList.contains(idPegawai) && Master.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunDokterUmumHD.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
@ -1685,11 +1698,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter").toString());
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter").toString());
Double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA").toString());
Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString());
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
/*
* Mapping persentase jasa remunerasi
*/
@ -1706,6 +1721,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKsmUmumList.contains(idPegawai)
&& Master.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunDokterUmumHD.toString() + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperatorIBS.toString() + "%");