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 003c41c7..0264dd90 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 @@ -846,187 +846,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { rawDataBpjs5.addAll(rawDataBpjs4); } - /* - * Dapatkan semua pendaftaran non-jkn - */ - List> listEpisode = new ArrayList<>(); - for (Map d : listData) { - 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 e : listEpisode) - if (e.get("id").toString().equals(d.get("idPasienDaftar")) - && Integer.valueOf(e.get("idProduk").toString()).equals(d.get("idProduk"))) - existEpisode = true; - if (!existEpisode) { - Map episode = new HashMap<>(); - episode.put("id", d.get("idPasienDaftar")); - episode.put("idProduk", d.get("idProduk")); - episode.put("count", 1); - listEpisode.add(episode); - } - } - } - /* - * Filter tindakan operasi non-jkn, persen jasa tereduksi seiring - * banyaknya operasi yang dilakukan di satu episode pasien yang sama - */ - for (Map d : listData) { - for (Map e : listEpisode) { - 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"))) { - if (e.get("count").equals(1)) { - /* - * Mendapatkan 100% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(2)) { - /* - * Mendapatkan 50% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.5 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(3)) { - /* - * Mendapatkan 40% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.4 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(4)) { - /* - * Mendapatkan 30% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.3 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(5)) { - /* - * Mendapatkan 20% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.2 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(6)) { - /* - * Mendapatkan 10% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.1 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else { - /* - * Mendapatkan 0% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.0 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } - } - } - } /* * Alokasi data diurutkan dulu untuk jam kerja. Asumsi jam kerja dokter * nonshift @@ -1895,187 +1714,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); } } - /* - * Dapatkan semua pendaftaran non-jkn - */ - List> listEpisode = new ArrayList<>(); - for (Map d : listData) { - 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 e : listEpisode) - if (e.get("id").toString().equals(d.get("idPasienDaftar")) - && Integer.valueOf(e.get("idProduk").toString()).equals(d.get("idProduk"))) - existEpisode = true; - if (!existEpisode) { - Map episode = new HashMap<>(); - episode.put("id", d.get("idPasienDaftar")); - episode.put("idProduk", d.get("idProduk")); - episode.put("count", 1); - listEpisode.add(episode); - } - } - } - /* - * Filter tindakan operasi non-jkn, persen jasa tereduksi seiring - * banyaknya operasi yang dilakukan di satu episode pasien yang sama - */ - for (Map d : listData) { - for (Map e : listEpisode) { - 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"))) { - if (e.get("count").equals(1)) { - /* - * Mendapatkan 100% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(2)) { - /* - * Mendapatkan 50% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.5 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.5 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(3)) { - /* - * Mendapatkan 40% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.4 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.4 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(4)) { - /* - * Mendapatkan 30% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.3 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.3 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(5)) { - /* - * Mendapatkan 20% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.2 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.2 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else if (e.get("count").equals(6)) { - /* - * Mendapatkan 10% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.1 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.1 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } else { - /* - * Mendapatkan 0% dari tarif - */ - if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", - 0.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else { - d.put("hargaJasa", - 0.0 * persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } - int count = Integer.parseInt(e.get("count").toString()); - e.put("count", ++count); - break; - } - } - } - } /* * Populate data filter */