From eb76e0e8a9ede4b444ff0ab2aca357450a60305f Mon Sep 17 00:00:00 2001 From: adesyawal <52590145+adesyawal@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:52:56 +0700 Subject: [PATCH] Penyesuaian Ruangan dengan jasa 70% --- .../medifirst2000/constants/Master.java | 3 +- .../impl/PelayananPasienServiceImpl.java | 15 ++++++++++ .../service/impl/RemunerasiServiceImpl.java | 28 +++++++++++++++---- 3 files changed, 39 insertions(+), 7 deletions(-) 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 d2503bec..0e72aea0 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 @@ -355,7 +355,8 @@ public final class Master { public static final class Ruangan { public static final Integer CATHLAB = 703; 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 Integer KLINIK_GIGI_KARYAWAN = 702; public static final Integer KLINIK_KARYAWAN = 70; 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 109c3575..94180a12 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 @@ -693,6 +693,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir); double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", 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 */ @@ -2218,6 +2225,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir); double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", 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 */ diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java index e3eb90dc..e4a55ae9 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java @@ -281,6 +281,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } catch (ParseException e) { return null; } + /* * Mendapatkan kelompok kerja dokter */ @@ -296,6 +297,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * 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; String sdTarget = getSettingDataFixed("targetRemunJasaDokter"); if (CommonUtil.isNotNullOrEmpty(sdTarget)) @@ -571,8 +580,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("hargaJasa", hargaJasa.getNilai()); if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) d.put("isTermasukProporsi", false); - } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) - && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2267,6 +2275,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double persenRemunVisiteDokterKelompokBudiRahmat = toDoubleSettingFix( "persenRemunVisiteDokterKelompokBudiRahmat", tglAkhir); 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 */ @@ -2337,7 +2353,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double persenJasa = persenOperatorAkumulatif / 100; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); 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()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (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; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); 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()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (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; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); 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()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (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; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); 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()); } else { RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);