diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 616e6e8a..5bf24293 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -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; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index 8c2aa934..6e6df771 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -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 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)