Update PelayananPasienServiceImpl.java

Perbaikan pengecekan kategori null saat pembentukan data logbook dokter
This commit is contained in:
Salman Manoe 2023-07-04 14:59:11 +07:00
parent 9012ce1a28
commit 92fa203bf9

View File

@ -506,18 +506,21 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
@ -544,7 +547,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(Master.Ruangan.ICU_NICU)
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
@ -557,8 +560,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> rawDataBpjs0 = new ArrayList<>();
for (Map<String, Object> d : listData)
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
rawDataBpjs0.add(d);
/*
* Filter tindakan operasi untuk pasien BPJS hanya diambil tarif
@ -656,7 +660,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs2) {
if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
@ -681,7 +687,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
for (Map<String, Object> d : rawDataBpjs2) {
int count = 1;
for (Map<String, Object> e : listEpisode)
if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))
@ -696,7 +704,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if (!Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))))
|| !Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")) && count == 1)
rawDataBpjs3.add(d);
}
@ -715,7 +725,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs3) {
if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& idsMonitoringHemodinamikGagalOrgan
.contains(Integer.parseInt(d.get("idProduk").toString()))) {
boolean existEpisode = false;
@ -741,7 +753,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
for (Map<String, Object> d : rawDataBpjs3) {
int count = 1;
for (Map<String, Object> e : listEpisode)
if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& idsMonitoringHemodinamikGagalOrgan
.contains(Integer.parseInt(d.get("idProduk").toString()))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
@ -757,7 +771,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if (!Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))))
|| !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& count == 1)
rawDataBpjs4.add(d);
@ -833,8 +849,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : listData) {
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
@ -856,8 +874,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
for (Map<String, Object> d : listData) {
for (Map<String, Object> e : listEpisode) {
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))) {
@ -1017,8 +1037,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant()
.atZone(ZoneId.systemDefault()).toLocalDateTime();
for (Map<String, Object> j : listJadwalKerja) {
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
@ -1050,8 +1072,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
for (Map<String, Object> j : listJadwalKerja) {
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
if (CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
if (tglPelayanan.isEqual(tglMasuk)) {
listDataLuarJamKerja.add(d);
@ -1095,21 +1119,25 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Dokter luar hanya mendapatkan ffs
*/
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))
if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))
&& idsDokterBPJSffs.contains(idPegawai)) {
/*
* dokter-dokter tertentu yang hanya dapat pasien bpjs
*/
listPelayananFfs.add(next);
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
} else {
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) {
/*
* Urutan alokasi bpjs sebagai urutan prioritas
*/
@ -1123,11 +1151,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString()))
} else if (((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
&& (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
*/
@ -1138,28 +1169,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (listDetailJenisProduk
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
@ -1168,8 +1203,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
@ -1193,23 +1230,26 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProdukException
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Diluar pembatasan jenis produk
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
@ -1230,11 +1270,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString()))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
*/
@ -1245,28 +1288,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (listDetailJenisProduk
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
@ -1275,8 +1322,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
@ -1300,23 +1349,26 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProdukException
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Diluar pembatasan jenis produk
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
@ -1335,11 +1387,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Dibatasi oleh daftar tindakan tertentu
*/
listPelayananFfs.add(next);
} else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString()))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
*/
@ -1349,26 +1404,30 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (listDetailJenisProduk
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananFfs.add(next);
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
@ -1376,8 +1435,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Aturan dokter ksm umum di igd
*/
listPelayananFfs.add(next);
} else if (!listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
@ -1400,22 +1461,25 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProdukException
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
/*
* Diluar pembatasan jenis produk
*/
if (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananFfs.add(next);
} else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString()))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
}
@ -1507,6 +1571,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa",
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
@ -1515,6 +1580,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
@ -1523,6 +1589,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
@ -1569,7 +1636,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(Master.Ruangan.ICU_NICU)
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTarifJasaICU + "% + " + persenTindakan + "%");
@ -1725,8 +1792,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/*
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
* dari tarif total
@ -1794,8 +1862,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : listData) {
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
@ -1817,8 +1887,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
for (Map<String, Object> d : listData) {
for (Map<String, Object> e : listEpisode) {
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))) {