Merge branch 'ade/logbook-tarif/penyesuainruangan70persen' into prod/base

This commit is contained in:
adesyawal 2025-12-02 13:09:07 +07:00
commit 4d73c1cbbe
3 changed files with 39 additions and 7 deletions

View File

@ -355,7 +355,8 @@ public final class Master {
public static final class Ruangan { public static final class Ruangan {
public static final Integer CATHLAB = 703; public static final Integer CATHLAB = 703;
public static final Integer[] GENETIKA = { 277, 563, 587 }; public static final Integer[] GENETIKA = { 277, 563, 587 };
public static final Integer[] ICU_NICU = { 328, 75, 707, 708 }; public static final Integer[] ICU_NICU_V1 = { 328, 75, 707, 708 }; // Perubahan Regulasi Pada 02/12/2025, berlaku untuk data sebelum 1 november 2025
public static final Integer[] ICU_NICU_v2 = { 328,75,463,76,45,464,44,707,708 }; // Perubahan Regulasi Pada 02/12/2025, berlaku untuk data setelah atau sama dengan 1 november 2025
public static final int KLINIK_FALSE_EMERGENCY = 309; public static final int KLINIK_FALSE_EMERGENCY = 309;
public static final Integer KLINIK_GIGI_KARYAWAN = 702; public static final Integer KLINIK_GIGI_KARYAWAN = 702;
public static final Integer KLINIK_KARYAWAN = 70; public static final Integer KLINIK_KARYAWAN = 70;

View File

@ -693,6 +693,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir); double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir);
double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir); double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir);
double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir); double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir);
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/* /*
* Persiapan filter logic remunerasi * Persiapan filter logic remunerasi
*/ */
@ -2218,6 +2225,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir); double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir);
double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir); double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir);
double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir); double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir);
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/* /*
* Persiapan filter logic remunerasi * Persiapan filter logic remunerasi
*/ */

View File

@ -281,6 +281,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} catch (ParseException e) { } catch (ParseException e) {
return null; return null;
} }
/* /*
* Mendapatkan kelompok kerja dokter * Mendapatkan kelompok kerja dokter
*/ */
@ -296,6 +297,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Mendapatkan nominal target remunerasi untuk simulasi * Mendapatkan nominal target remunerasi untuk simulasi
*/ */
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
Double targetRemun = 0.0; Double targetRemun = 0.0;
String sdTarget = getSettingDataFixed("targetRemunJasaDokter"); String sdTarget = getSettingDataFixed("targetRemunJasaDokter");
if (CommonUtil.isNotNullOrEmpty(sdTarget)) if (CommonUtil.isNotNullOrEmpty(sdTarget))
@ -571,8 +580,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false); d.put("isTermasukProporsi", false);
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
@ -2267,6 +2275,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenRemunVisiteDokterKelompokBudiRahmat = toDoubleSettingFix( double persenRemunVisiteDokterKelompokBudiRahmat = toDoubleSettingFix(
"persenRemunVisiteDokterKelompokBudiRahmat", tglAkhir); "persenRemunVisiteDokterKelompokBudiRahmat", tglAkhir);
long millisPersenJasa2024 = Long.parseLong(getSettingDataFixed("tmtPersenJasa2024")); long millisPersenJasa2024 = Long.parseLong(getSettingDataFixed("tmtPersenJasa2024"));
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/* /*
* TMT persentase jasa tahun 2024 * TMT persentase jasa tahun 2024
*/ */
@ -2337,7 +2353,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenOperatorAkumulatif / 100; double persenJasa = persenOperatorAkumulatif / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenOperatorAkumulatif + "%"); d.put("persenJasa", persenOperatorAkumulatif + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2347,7 +2363,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenAsisten / 100; double persenJasa = persenAsisten / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAsisten + "%"); d.put("persenJasa", persenAsisten + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2357,7 +2373,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenAnestesi / 100; double persenJasa = persenAnestesi / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2464,7 +2480,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", "Tarif Jasa ICU (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);