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 2e27060d..4cf0e130 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 @@ -955,7 +955,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.valueOf(next.get("hargaJasa").toString()); - } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA).contains(next.get("idDepartemen")) + } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(next.get("idDepartemen")) || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) { /* * Dibatasi hanya di rawat jalan atau visite saja @@ -1035,7 +1036,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.valueOf(next.get("hargaJasa").toString()); - } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA).contains(next.get("idDepartemen")) + } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(next.get("idDepartemen")) || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) { /* * Dibatasi hanya di rawat jalan atau visite saja @@ -1104,7 +1106,74 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Alokasi untuk bagian ffs */ - listPelayananFfs.add(next); + if (drKkPediatrikGDList.contains(idPegawai)) { + /* + * Ffs untuk dokter-dokter kk pediatrik gawat darurat + */ + if (idsDokterPediatrikGD.contains(next.get("idProduk"))) { + /* + * Dibatasi oleh daftar tindakan tertentu + */ + listPelayananFfs.add(next); + } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(next.get("idDepartemen")) + || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) { + /* + * Dibatasi hanya di rawat jalan atau visite saja + */ + listPelayananFfs.add(next); + } + } else if (!drKkPediatrikGDList.contains(idPegawai)) { + /* + * Selain dokter-dokter kk pediatrik gawat darurat + */ + if (listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))) { + /* + * Dibatasi oleh daftar jenis tindakan tertentu + */ + if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk")) + || idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) { + /* + * Pengecualian daftar tindakan penunjang yang + * bebas klaim + */ + listPelayananFfs.add(next); + } else { + listPelayananFfs.add(next); + } + } else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk")) + && Master.Departemen.IGD.equals(next.get("idDepartemen")) + && drKsmUmumList.contains(idPegawai) + && idsDokterUmumIGD.contains(next.get("idProduk"))) { + /* + * Aturan dokter ksm umum di igd + */ + listPelayananFfs.add(next); + } else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk")) + && drKkPerinatologiList.contains(idPegawai) + && idsDokterPerinatologi.contains(next.get("idProduk"))) { + /* + * Aturan dokter kk perinatologi dengan pembatasan + * tindakan tertentu + */ + listPelayananFfs.add(next); + } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) + && listDetailJenisProdukException.contains(next.get("idDetailJenisProduk"))) { + /* + * Diluar pembatasan jenis produk + */ + if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk")) + || idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) { + /* + * Pengecualian daftar tindakan penunjang yang + * bebas klaim + */ + listPelayananFfs.add(next); + } else { + listPelayananFfs.add(next); + } + } + } } } /*