diff --git a/src/main/java/com/iemr/hwc/controller/anc/AntenatalCareController.java b/src/main/java/com/iemr/hwc/controller/anc/AntenatalCareController.java index 02c62cea..99b0c98d 100644 --- a/src/main/java/com/iemr/hwc/controller/anc/AntenatalCareController.java +++ b/src/main/java/com/iemr/hwc/controller/anc/AntenatalCareController.java @@ -21,6 +21,11 @@ */ package com.iemr.hwc.controller.anc; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,6 +40,7 @@ import org.springframework.web.bind.annotation.RestController; import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -118,7 +124,23 @@ public String saveBenANCDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long r = ancService.saveANCDoctorData(jsnOBJ, Authorization); if (r != null && r > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -540,7 +562,23 @@ public String updateANCDoctorData(@RequestBody String requestObj, try { Long result = ancService.updateANCDoctorData(jsnOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/cancerscreening/CancerScreeningController.java b/src/main/java/com/iemr/hwc/controller/cancerscreening/CancerScreeningController.java index 356f28e7..9255071b 100644 --- a/src/main/java/com/iemr/hwc/controller/cancerscreening/CancerScreeningController.java +++ b/src/main/java/com/iemr/hwc/controller/cancerscreening/CancerScreeningController.java @@ -21,6 +21,11 @@ */ package com.iemr.hwc.controller.cancerscreening; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,6 +39,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -119,7 +126,23 @@ public String saveBenCancerScreeningDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long csDocDataSaveSuccessFlag = cSServiceImpl.saveCancerScreeningDoctorData(jsnOBJ, Authorization); if (csDocDataSaveSuccessFlag != null && csDocDataSaveSuccessFlag > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -574,7 +597,23 @@ public String updateCancerScreeningDoctorData(@RequestBody String requestObj) { try { int result = cSServiceImpl.updateCancerScreeningDoctorData(jsnOBJ); if (result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/covid19/CovidController.java b/src/main/java/com/iemr/hwc/controller/covid19/CovidController.java index 05c041a3..69f6c317 100644 --- a/src/main/java/com/iemr/hwc/controller/covid19/CovidController.java +++ b/src/main/java/com/iemr/hwc/controller/covid19/CovidController.java @@ -21,7 +21,9 @@ */ package com.iemr.hwc.controller.covid19; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.json.JSONObject; @@ -37,6 +39,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -109,7 +113,24 @@ public String saveBenCovidDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = covid19ServiceImpl.saveDoctorData(jsnOBJ, Authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setResponse("Unable to save data"); } @@ -348,7 +369,24 @@ public String updateCovid19DoctorData(@RequestBody String requestObj, try { Long result = covid19ServiceImpl.updateCovid19DoctorData(jsnOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/generalOPD/GeneralOPDController.java b/src/main/java/com/iemr/hwc/controller/generalOPD/GeneralOPDController.java index 85facea3..44d88537 100644 --- a/src/main/java/com/iemr/hwc/controller/generalOPD/GeneralOPDController.java +++ b/src/main/java/com/iemr/hwc/controller/generalOPD/GeneralOPDController.java @@ -21,6 +21,9 @@ */ package com.iemr.hwc.controller.generalOPD; +import java.util.ArrayList; +import java.util.HashMap; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,12 +38,20 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.iemr.hwc.service.generalOPD.GeneralOPDServiceImpl; import com.iemr.hwc.utils.response.OutputResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import com.google.gson.Gson; +import com.google.gson.JsonArray; + import io.swagger.v3.oas.annotations.Operation; /*** @@ -118,7 +129,23 @@ public String saveBenGenOPDDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long genOPDRes = generalOPDServiceImpl.saveDoctorData(jsnOBJ, Authorization); if (null != genOPDRes && genOPDRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setResponse("Unable to save data"); } @@ -422,7 +449,23 @@ public String updateGeneralOPDDoctorData(@RequestBody String requestObj, try { Long result = generalOPDServiceImpl.updateGeneralOPDDoctorData(jsnOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/ncdCare/NCDCareController.java b/src/main/java/com/iemr/hwc/controller/ncdCare/NCDCareController.java index 774e034a..efb6b76a 100644 --- a/src/main/java/com/iemr/hwc/controller/ncdCare/NCDCareController.java +++ b/src/main/java/com/iemr/hwc/controller/ncdCare/NCDCareController.java @@ -21,7 +21,9 @@ */ package com.iemr.hwc.controller.ncdCare; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.json.JSONObject; @@ -37,6 +39,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -114,7 +118,24 @@ public String saveBenNCDCareDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = ncdCareServiceImpl.saveDoctorData(jsnOBJ, Authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setResponse("Unable to save data"); } @@ -353,7 +374,24 @@ public String updateNCDCareDoctorData(@RequestBody String requestObj, try { Long result = ncdCareServiceImpl.updateNCDCareDoctorData(jsnOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/ncdscreening/NCDScreeningController.java b/src/main/java/com/iemr/hwc/controller/ncdscreening/NCDScreeningController.java index 15102c37..bfc1810d 100644 --- a/src/main/java/com/iemr/hwc/controller/ncdscreening/NCDScreeningController.java +++ b/src/main/java/com/iemr/hwc/controller/ncdscreening/NCDScreeningController.java @@ -21,6 +21,11 @@ */ package com.iemr.hwc.controller.ncdscreening; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -117,7 +124,24 @@ public String saveBenNCDScreeningDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = ncdScreeningService.saveDoctorData(jsnOBJ, Authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setResponse("Unable to save data"); } @@ -527,9 +551,25 @@ public String updateDoctorData(@RequestBody String requestObj, jsnOBJ = jsnElmnt.getAsJsonObject(); int i = ncdSCreeningDoctorService.updateDoctorData(jsnOBJ, Authorization); - if (i > 0) - response.setResponse("Data updated successfully"); - else + if (i > 0) { + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else response.setError(5000, "Error in data update"); } catch (Exception e) { logger.error("Unable to modify data : " + e.getLocalizedMessage()); diff --git a/src/main/java/com/iemr/hwc/controller/pnc/PostnatalCareController.java b/src/main/java/com/iemr/hwc/controller/pnc/PostnatalCareController.java index a6fc2ed4..1833fff9 100644 --- a/src/main/java/com/iemr/hwc/controller/pnc/PostnatalCareController.java +++ b/src/main/java/com/iemr/hwc/controller/pnc/PostnatalCareController.java @@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -43,6 +44,10 @@ import io.swagger.v3.oas.annotations.Operation; +import java.util.*; +import com.google.gson.Gson; +import com.google.gson.JsonArray; + /** * * @Objective Saving PNC nurse and doctor data @@ -116,7 +121,23 @@ public String saveBenPNCDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long r = pncServiceImpl.savePNCDoctorData(jsnOBJ, Authorization); if (r != null && r > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -485,7 +506,23 @@ public String updatePNCDoctorData(@RequestBody String requestObj, try { Long result = pncServiceImpl.updatePNCDoctorData(jsnOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/controller/quickconsult/QuickConsultController.java b/src/main/java/com/iemr/hwc/controller/quickconsult/QuickConsultController.java index 44d6a548..6d16e069 100644 --- a/src/main/java/com/iemr/hwc/controller/quickconsult/QuickConsultController.java +++ b/src/main/java/com/iemr/hwc/controller/quickconsult/QuickConsultController.java @@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -45,6 +46,10 @@ import io.swagger.v3.oas.annotations.Operation; +import java.util.*; +import com.google.gson.Gson; +import com.google.gson.JsonArray; + /** * * @Objective Saving general OPD quick consult data for Nurse and Doctor both. @@ -131,7 +136,25 @@ public String saveQuickConsultationDetail( Integer i = quickConsultationServiceImpl.quickConsultDoctorDataInsert(quickConsultDoctorOBJ, Authorization); if (i != null && i > 0) { - response.setResponse("Data saved successfully"); + // Check if drug IDs were saved and added to the JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (quickConsultDoctorOBJ.has("savedDrugIDs") + && !quickConsultDoctorOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = quickConsultDoctorOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response data with message and drug IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + // Convert to JSON string and set response + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -270,7 +293,22 @@ public String updateGeneralOPDQCDoctorData(@RequestBody String requestObj, Long result = quickConsultationServiceImpl.updateGeneralOPDQCDoctorData(quickConsultDoctorOBJ, Authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/hwc/data/benFlowStatus/BeneficiaryFlowStatus.java b/src/main/java/com/iemr/hwc/data/benFlowStatus/BeneficiaryFlowStatus.java index 581c8bd9..14ecce5b 100644 --- a/src/main/java/com/iemr/hwc/data/benFlowStatus/BeneficiaryFlowStatus.java +++ b/src/main/java/com/iemr/hwc/data/benFlowStatus/BeneficiaryFlowStatus.java @@ -55,7 +55,7 @@ public class BeneficiaryFlowStatus { @Expose @Column(name = "ben_flow_id") private Long benFlowID; - + @Expose @Column(name = "beneficiary_reg_id") private Long beneficiaryRegID; @@ -168,20 +168,20 @@ public class BeneficiaryFlowStatus { @Expose @Column(name = "father_name") private String fatherName; -// @Expose -// @Column(name = "benQuickbloxID") -// private Long benQuickbloxID; + // @Expose + // @Column(name = "benQuickbloxID") + // private Long benQuickbloxID; @Expose @Column(name = "spouse_name") private String spouseName; -// public Long getBenQuickbloxID() { -// return benQuickbloxID; -// } -// -// public void setBenQuickbloxID(Long benQuickbloxID) { -// this.benQuickbloxID = benQuickbloxID; -// } + // public Long getBenQuickbloxID() { + // return benQuickbloxID; + // } + // + // public void setBenQuickbloxID(Long benQuickbloxID) { + // this.benQuickbloxID = benQuickbloxID; + // } @SQLInjectionSafe @Expose @Column(name = "district") @@ -291,11 +291,15 @@ public class BeneficiaryFlowStatus { @Expose @Column(name = "referred_visitcode") private Long referredVisitCode; - + @Expose @Column(name = "referred_visit_id") private Long referred_visit_id; - + + @Expose + @Column(name = "doctor_signature_flag") + private Boolean doctorSignatureFlag = false; + @Transient private I_bendemographics i_bendemographics; @Transient @@ -320,7 +324,6 @@ public class BeneficiaryFlowStatus { private String bloodGroup; @Transient private String subVisitCategory; - // new variable added for patient app @Transient @@ -1000,9 +1003,5 @@ public String getSubVisitCategory() { public void setSubVisitCategory(String subVisitCategory) { this.subVisitCategory = subVisitCategory; } - - - - } diff --git a/src/main/java/com/iemr/hwc/data/ncdcare/NCDCareDiagnosis.java b/src/main/java/com/iemr/hwc/data/ncdcare/NCDCareDiagnosis.java index 13aa67ed..fbcd6960 100644 --- a/src/main/java/com/iemr/hwc/data/ncdcare/NCDCareDiagnosis.java +++ b/src/main/java/com/iemr/hwc/data/ncdcare/NCDCareDiagnosis.java @@ -146,24 +146,22 @@ public class NCDCareDiagnosis { @Transient @Expose private String specialistDiagnosis; - + @Transient @Expose private String counsellingProvided; - + @Expose @Transient private ArrayList provisionalDiagnosisList; - + @Expose @Transient private String diagnosisProvided; - + @Expose @Transient private String diagnosisProvided_SCTCode; - - public String getDiagnosisProvided() { return diagnosisProvided; @@ -404,6 +402,9 @@ public static NCDCareDiagnosis getNCDCareDiagnosisDetails(ArrayList re cOBJ = new NCDCareDiagnosis((Long) obj[0], (Long) obj[1], (Integer) obj[2], (Long) obj[3], (String) obj[4], (String) obj[5], (String) obj[6], (Long) obj[7], null, (String) obj[8]); + // Set audit fields + cOBJ.setCreatedBy((String) obj[9]); + cOBJ.setCreatedDate((Timestamp) obj[10]); } return cOBJ; } diff --git a/src/main/java/com/iemr/hwc/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java b/src/main/java/com/iemr/hwc/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java index 99717e9a..32a43d3b 100644 --- a/src/main/java/com/iemr/hwc/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java +++ b/src/main/java/com/iemr/hwc/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java @@ -45,11 +45,15 @@ public interface BeneficiaryFlowStatusRepo extends CrudRepository { // nurse worklist -// @Query("SELECT t from BeneficiaryFlowStatus t WHERE (t.nurseFlag = 1 OR t.nurseFlag = 100) AND (t.specialist_flag <> 100 OR t.specialist_flag is null) AND t.deleted = false " -// + " AND Date(t.visitDate) = curdate() AND t.providerServiceMapId = :providerServiceMapId " -// + " AND t.vanID = :vanID ORDER BY t.visitDate DESC ") -// public ArrayList getNurseWorklistNew( -// @Param("providerServiceMapId") Integer providerServiceMapId, @Param("vanID") Integer vanID); + // @Query("SELECT t from BeneficiaryFlowStatus t WHERE (t.nurseFlag = 1 OR + // t.nurseFlag = 100) AND (t.specialist_flag <> 100 OR t.specialist_flag is + // null) AND t.deleted = false " + // + " AND Date(t.visitDate) = curdate() AND t.providerServiceMapId = + // :providerServiceMapId " + // + " AND t.vanID = :vanID ORDER BY t.visitDate DESC ") + // public ArrayList getNurseWorklistNew( + // @Param("providerServiceMapId") Integer providerServiceMapId, @Param("vanID") + // Integer vanID); @Query("SELECT t from BeneficiaryFlowStatus t WHERE (t.nurseFlag = 1 OR t.nurseFlag = 100) AND (t.specialist_flag <> 100 OR t.specialist_flag is null) AND t.deleted = false " + " AND Date(t.visitDate) >= Date(:fromDate) AND t.providerServiceMapId = :providerServiceMapId " @@ -117,12 +121,16 @@ public int updateBenFlowStatusAfterNurseActivityANC(@Param("benFlowID") Long ben @Param("tcDate") Timestamp tcDate, @Param("specialistID") Integer specialistID, @Param("labTechnician") Short labTechnician); -// @Query("SELECT t.benFlowID, t.beneficiaryRegID, t.visitDate, t.benName, t.age, t.ben_age_val, t.genderID, t.genderName, " -// + " t.villageName, t.districtName, t.beneficiaryID, t.servicePointName, t.VisitReason, t.VisitCategory, t.benVisitID, " -// + " t.registrationDate, t.benVisitDate, t.visitCode, t.consultationDate FROM BeneficiaryFlowStatus t " -// + " Where t.beneficiaryRegID = :benRegID AND t.benFlowID = :benFlowID ") -// public ArrayList getBenDetailsForLeftSidePanel(@Param("benRegID") Long benRegID, -// @Param("benFlowID") Long benFlowID); + // @Query("SELECT t.benFlowID, t.beneficiaryRegID, t.visitDate, t.benName, + // t.age, t.ben_age_val, t.genderID, t.genderName, " + // + " t.villageName, t.districtName, t.beneficiaryID, t.servicePointName, + // t.VisitReason, t.VisitCategory, t.benVisitID, " + // + " t.registrationDate, t.benVisitDate, t.visitCode, t.consultationDate FROM + // BeneficiaryFlowStatus t " + // + " Where t.beneficiaryRegID = :benRegID AND t.benFlowID = :benFlowID ") + // public ArrayList getBenDetailsForLeftSidePanel(@Param("benRegID") + // Long benRegID, + // @Param("benFlowID") Long benFlowID); // HWC, 2.0 dob in response @Query("SELECT t FROM BeneficiaryFlowStatus t Where t.benFlowID = :benFlowID ") @@ -186,11 +194,15 @@ public ArrayList getTCSpecialistWorkListNewFutureSchedule @Param("providerServiceMapId") Integer providerServiceMapId, @Param("tCSpecialistUserID") Integer tCSpecialistUserID); -// @Query("SELECT t.benFlowID from BeneficiaryFlowStatus t WHERE t.beneficiaryRegID = :benRegID " -// + "AND t.providerServiceMapId = :provoderSerMapID AND t.vanID = :vanID AND " -// + " (t.nurseFlag = 1 OR t.nurseFlag = 100) AND Date(t.visitDate) = curdate() AND t.deleted = false") -// public ArrayList checkBenAlreadyInNurseWorkList(@Param("benRegID") Long benRegID, -// @Param("provoderSerMapID") Integer provoderSerMapID, @Param("vanID") Integer vanID); + // @Query("SELECT t.benFlowID from BeneficiaryFlowStatus t WHERE + // t.beneficiaryRegID = :benRegID " + // + "AND t.providerServiceMapId = :provoderSerMapID AND t.vanID = :vanID AND " + // + " (t.nurseFlag = 1 OR t.nurseFlag = 100) AND Date(t.visitDate) = curdate() + // AND t.deleted = false") + // public ArrayList checkBenAlreadyInNurseWorkList(@Param("benRegID") Long + // benRegID, + // @Param("provoderSerMapID") Integer provoderSerMapID, @Param("vanID") Integer + // vanID); @Query("SELECT t.benFlowID from BeneficiaryFlowStatus t WHERE t.beneficiaryRegID = :benRegID " + "AND t.providerServiceMapId = :provoderSerMapID AND t.vanID = :vanID AND " + " (t.nurseFlag = 1 OR t.nurseFlag = 100) AND Date(t.visitDate) >= Date(:fromDate) AND t.deleted = false") @@ -210,7 +222,7 @@ public ArrayList getLabWorklistNew( */ @Transactional @Modifying - @Query("UPDATE BeneficiaryFlowStatus t set t.doctorFlag = :docFlag , t.pharmacist_flag = :pharmaFlag, " + @Query("UPDATE BeneficiaryFlowStatus t set t.doctorFlag = :docFlag , t.pharmacist_flag = :pharmaFlag, t.doctorSignatureFlag = :signatureFlag, " + " t.oncologist_flag = :oncologistFlag, t.consultationDate = now(), t.processed = 'U', " + " t.specialist_flag = :tcSpecialistFlag, t.tCSpecialistUserID = :tcSpecialistUserID, " + "t.tCRequestDate = :tcDate, t.lab_technician_flag = :labTechnicianFlag " @@ -219,7 +231,8 @@ public int updateBenFlowStatusAfterDoctorActivity(@Param("benFlowID") Long benFl @Param("benRegID") Long benRegID, @Param("benID") Long benID, @Param("docFlag") Short docFlag, @Param("pharmaFlag") Short pharmaFlag, @Param("oncologistFlag") Short oncologistFlag, @Param("tcSpecialistFlag") Short tcSpecialistFlag, @Param("tcSpecialistUserID") int tcSpecialistUserID, - @Param("tcDate") Timestamp tcDate, @Param("labTechnicianFlag") Short labTechnicianFlag); + @Param("tcDate") Timestamp tcDate, @Param("labTechnicianFlag") Short labTechnicianFlag, + @Param("signatureFlag") Boolean signatureFlag); /*** * @author DU20091017 updating lab technician flag as well after feto sense. @@ -436,13 +449,14 @@ public int updateLabTechnicianFlag(@Param("lab_technician_flag") Short lab_techn + " AND ben_gender_val = 2 AND ben_dob is not null order by ben_flow_id DESC LIMIT 1 ") public Timestamp getBenAgeVal(@Param("benRegID") Long benRegID); -// /** -// * get labtechnician flag and update for foetal monitor test -// * @author SH20094090 -// * @param benFlowID -// */ -// @Query("SELECT t.lab_technician_flag from BeneficiaryFlowStatus t WHERE t.benFlowID =:benFlowID ") -// public Short getLabTechnicianFlag(@Param("benFlowID") Long benFlowID); + // /** + // * get labtechnician flag and update for foetal monitor test + // * @author SH20094090 + // * @param benFlowID + // */ + // @Query("SELECT t.lab_technician_flag from BeneficiaryFlowStatus t WHERE + // t.benFlowID =:benFlowID ") + // public Short getLabTechnicianFlag(@Param("benFlowID") Long benFlowID); @Query(value = " SELECT beneficiary_visit_code FROM db_iemr.i_ben_flow_outreach WHERE beneficiary_reg_id =:benRegId AND " + " visit_category =:vc AND beneficiary_visit_code is not null ORDER BY ben_flow_id DESC LIMIT 1 ", nativeQuery = true) @@ -450,11 +464,14 @@ public int updateLabTechnicianFlag(@Param("lab_technician_flag") Short lab_techn // get visit by location and modify_date @Query("SELECT t from BeneficiaryFlowStatus t WHERE t.villageID = :villageID AND t.modified_date > :lastModDate ORDER BY t.visitDate DESC ") - public ArrayList getVisitByLocationAndLastModifDate(@Param("villageID") Integer villageID, @Param("lastModDate") Timestamp lastModDate); + public ArrayList getVisitByLocationAndLastModifDate(@Param("villageID") Integer villageID, + @Param("lastModDate") Timestamp lastModDate); - //get ben flow status records based on villageId and last sync date to sync to app local dB + // get ben flow status records based on villageId and last sync date to sync to + // app local dB @Query("SELECT t from BeneficiaryFlowStatus t WHERE t.villageID IN :villageIDs AND t.modified_date > :lastModDate ") - ArrayList getFlowRecordsToSync(@Param("villageIDs") List villageID, @Param("lastModDate") Timestamp lastModDate); + ArrayList getFlowRecordsToSync(@Param("villageIDs") List villageID, + @Param("lastModDate") Timestamp lastModDate); @Query("SELECT COUNT(t) from BeneficiaryFlowStatus t WHERE t.villageID IN :villageIDs AND t.modified_date > :lastModDate ") Long getFlowRecordsCount(@Param("villageIDs") List villageID, @Param("lastModDate") Timestamp lastModDate); diff --git a/src/main/java/com/iemr/hwc/repo/nurse/ncdcare/NCDCareDiagnosisRepo.java b/src/main/java/com/iemr/hwc/repo/nurse/ncdcare/NCDCareDiagnosisRepo.java index 5d16955d..aa254755 100644 --- a/src/main/java/com/iemr/hwc/repo/nurse/ncdcare/NCDCareDiagnosisRepo.java +++ b/src/main/java/com/iemr/hwc/repo/nurse/ncdcare/NCDCareDiagnosisRepo.java @@ -40,7 +40,8 @@ public interface NCDCareDiagnosisRepo extends CrudRepository { @Query(" SELECT beneficiaryRegID, benVisitID, providerServiceMapID, prescriptionID, " - + " ncdScreeningCondition, ncdComplication, ncdCareType, visitCode, ncdScreeningConditionOther " + + " ncdScreeningCondition, ncdComplication, ncdCareType, visitCode, ncdScreeningConditionOther, " + + " createdBy, createdDate " + " from NCDCareDiagnosis ba " + " WHERE ba.beneficiaryRegID = :benRegID" + " AND ba.visitCode = :visitCode AND ba.deleted = false " + " ORDER BY createdDate desc") public ArrayList getNCDCareDiagnosisDetails(@Param("benRegID") Long benRegID, diff --git a/src/main/java/com/iemr/hwc/service/adolescent/AdolescentAndChildCareServiceImpl.java b/src/main/java/com/iemr/hwc/service/adolescent/AdolescentAndChildCareServiceImpl.java index 7c421990..adfee312 100644 --- a/src/main/java/com/iemr/hwc/service/adolescent/AdolescentAndChildCareServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/adolescent/AdolescentAndChildCareServiceImpl.java @@ -242,7 +242,7 @@ public String saveNurseData(JsonObject requestOBJ, String Authorization) throws return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -433,6 +433,12 @@ public int saveDoctorDataCAC(JsonObject requestOBJ, String Authorization) throws int saveSuccessFlag = 1; Long prescriptionID = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + // Integer tcRequestStatusFlag = null; if (requestOBJ != null) { @@ -553,7 +559,7 @@ public int saveDoctorDataCAC(JsonObject requestOBJ, String Authorization) throws } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = 1; @@ -917,6 +923,13 @@ public int updateBenImmunServiceDetailsCAC(JsonObject immunServiceOBJ) throws Ex @Override @Transactional(rollbackFor = Exception.class) public Long updateDoctorDataCAC(JsonObject requestOBJ, String Authorization) throws Exception { + + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + Long updateSuccessFlag = null; Long prescriptionID = null; @@ -1042,7 +1055,16 @@ public Long updateDoctorDataCAC(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } } @@ -1055,7 +1077,7 @@ public Long updateDoctorDataCAC(JsonObject requestOBJ, String Authorization) thr commonUtilityClass.setAuthorization(Authorization); int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = (long) 1; diff --git a/src/main/java/com/iemr/hwc/service/anc/ANCServiceImpl.java b/src/main/java/com/iemr/hwc/service/anc/ANCServiceImpl.java index cdb5801f..165dbf46 100644 --- a/src/main/java/com/iemr/hwc/service/anc/ANCServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/anc/ANCServiceImpl.java @@ -129,7 +129,7 @@ public class ANCServiceImpl implements ANCService { @Autowired private SysObstetricExaminationRepo sysObstetricExaminationRepo; - + @Autowired private BenVisitDetailRepo benVisitDetailRepo; @Autowired @@ -277,7 +277,7 @@ public String saveANCNurseData(JsonObject requestOBJ, String Authorization) thro } return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -361,6 +361,12 @@ public Long saveANCDoctorData(JsonObject requestOBJ, String Authorization) throw Long referSaveSuccessFlag = null; Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); @@ -456,7 +462,17 @@ public Long saveANCDoctorData(JsonObject requestOBJ, String Authorization) throw tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -495,7 +511,7 @@ public Long saveANCDoctorData(JsonObject requestOBJ, String Authorization) throw } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = diagnosisSuccessFlag; @@ -1632,11 +1648,13 @@ public int updateBenANCExaminationDetails(JsonObject examinationDetailsOBJ) thro obstetricExmnSuccessFlag = ancNurseServiceImpl.updateSysObstetricExamination(sysObstetricExamination); } -// if (genExmnSuccessFlag > 0 && headToToeExmnSuccessFlag > 0 && cardiExmnSuccessFlag > 0 -// && respiratoryExmnSuccessFlag > 0 && centralNrvsExmnSuccessFlag > 0 && muskelstlExmnSuccessFlag > 0 -// && genitorinaryExmnSuccessFlag > 0 && obstetricExmnSuccessFlag > 0) { -// exmnSuccessFlag = genExmnSuccessFlag; -// } + // if (genExmnSuccessFlag > 0 && headToToeExmnSuccessFlag > 0 && + // cardiExmnSuccessFlag > 0 + // && respiratoryExmnSuccessFlag > 0 && centralNrvsExmnSuccessFlag > 0 && + // muskelstlExmnSuccessFlag > 0 + // && genitorinaryExmnSuccessFlag > 0 && obstetricExmnSuccessFlag > 0) { + // exmnSuccessFlag = genExmnSuccessFlag; + // } return 1; } @@ -1702,6 +1720,12 @@ public Long updateANCDoctorData(JsonObject requestOBJ, String Authorization) thr Long referSaveSuccessFlag = null; Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); @@ -1809,7 +1833,16 @@ public Long updateANCDoctorData(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1840,7 +1873,7 @@ public Long updateANCDoctorData(JsonObject requestOBJ, String Authorization) thr } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = investigationSuccessFlag; else diff --git a/src/main/java/com/iemr/hwc/service/benFlowStatus/CommonBenStatusFlowServiceImpl.java b/src/main/java/com/iemr/hwc/service/benFlowStatus/CommonBenStatusFlowServiceImpl.java index 06e3cebb..f769dcac 100644 --- a/src/main/java/com/iemr/hwc/service/benFlowStatus/CommonBenStatusFlowServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/benFlowStatus/CommonBenStatusFlowServiceImpl.java @@ -50,7 +50,7 @@ public class CommonBenStatusFlowServiceImpl implements CommonBenStatusFlowServic private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @Autowired private BenVisitDetailRepo benVisitDetailRepo; - + @Value("${nurseWL}") private Integer nurseWL; @@ -79,7 +79,8 @@ public int createBenFlowRecord(String requestOBJ, Long beneficiaryRegID, Long be cal.add(Calendar.DAY_OF_YEAR, -7); long sevenDaysAgo = cal.getTimeInMillis(); ArrayList benFlowIDList = beneficiaryFlowStatusRepo.checkBenAlreadyInNurseWorkList( - obj.getBeneficiaryRegID(), obj.getProviderServiceMapID(), obj.getVanID(),new Timestamp(sevenDaysAgo)); + obj.getBeneficiaryRegID(), obj.getProviderServiceMapID(), obj.getVanID(), + new Timestamp(sevenDaysAgo)); if (benFlowIDList != null && benFlowIDList.size() > 0) { // update i_ben_flow table for updated beneficiary id returnOBJ = 3; @@ -115,16 +116,17 @@ public int updateBenFlowNurseAfterNurseActivity(Long benFlowID, Long benRegID, L } return i; } - - public int updateBenFlowNurseAfterNurseActivityANC(Long benFlowID, Long benRegID, Long benVisitID, String visitReason, + + public int updateBenFlowNurseAfterNurseActivityANC(Long benFlowID, Long benRegID, Long benVisitID, + String visitReason, String visitCategory, Short nurseFlag, Short docFlag, Short labIteration, Short radiologistFlag, Short oncologistFlag, Long visitCode, Integer vanID, Short specialistFlag, Timestamp tcDate, - Integer tcSpecialistUserID,Short labTechnician) { + Integer tcSpecialistUserID, Short labTechnician) { int i = 0; try { i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterNurseActivityANC(benFlowID, benRegID, benVisitID, visitReason, visitCategory, nurseFlag, docFlag, labIteration, radiologistFlag, oncologistFlag, - visitCode, vanID, specialistFlag, tcDate, tcSpecialistUserID,labTechnician); + visitCode, vanID, specialistFlag, tcDate, tcSpecialistUserID, labTechnician); // System.out.println("hello"); } catch (Exception e) { // e.printStackTrace(); @@ -174,9 +176,8 @@ private BeneficiaryFlowStatus getBenFlowRecordObj(String requestOBJ, Long benefi && obj.getBenPhoneMaps().get(0).getPhoneNo() != null) obj.setPreferredPhoneNum(obj.getBenPhoneMaps().get(0).getPhoneNo()); - if (obj.getGenderID() == null) - { - if(obj.getM_gender() !=null) + if (obj.getGenderID() == null) { + if (obj.getM_gender() != null) obj.setGenderID(obj.getM_gender().getGenderID()); } @@ -248,11 +249,13 @@ private BeneficiaryFlowStatus getBenFlowRecordObj(String requestOBJ, Long benefi } public int updateBenFlowAfterDocData(Long benFlowID, Long benRegID, Long benID, Long benVisitID, short docFlag, - short pharmaFlag, short oncologistFlag, short tcSpecialistFlag, int tcUserID, Timestamp tcDate,short labTechnicianFlag) { + short pharmaFlag, short oncologistFlag, short tcSpecialistFlag, int tcUserID, Timestamp tcDate, + short labTechnicianFlag, Boolean doctorSignatureFlag) { int i = 0; try { i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivity(benFlowID, benRegID, benID, docFlag, - pharmaFlag, oncologistFlag, tcSpecialistFlag, tcUserID, tcDate,labTechnicianFlag); + pharmaFlag, oncologistFlag, tcSpecialistFlag, tcUserID, tcDate, labTechnicianFlag, + doctorSignatureFlag); } catch (Exception e) { logger.error("Error in ben flow creation = " + e); } @@ -260,23 +263,24 @@ public int updateBenFlowAfterDocData(Long benFlowID, Long benRegID, Long benID, } public int updateBenFlowAfterDocDataFromSpecialist(Long benFlowID, Long benRegID, Long benID, Long benVisitID, - short docFlag, short pharmaFlag, short oncologistFlag, short tcSpecialistFlag,short labTechnicianFlag) { + short docFlag, short pharmaFlag, short oncologistFlag, short tcSpecialistFlag, short labTechnicianFlag) { int i = 0; try { i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivitySpecialist(benFlowID, benRegID, benID, - docFlag, pharmaFlag, oncologistFlag, tcSpecialistFlag,labTechnicianFlag); + docFlag, pharmaFlag, oncologistFlag, tcSpecialistFlag, labTechnicianFlag); } catch (Exception e) { logger.error("Error in ben flow creation = " + e); } return i; } - + public int updateBenFlowAfterDocDataFromSpecialistANC(Long benFlowID, Long benRegID, Long benID, Long benVisitID, - short docFlag, short pharmaFlag, short oncologistFlag, short tcSpecialistFlag,short labTechnicianFlag) { + short docFlag, short pharmaFlag, short oncologistFlag, short tcSpecialistFlag, short labTechnicianFlag) { int i = 0; try { - i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivitySpecialistANC(benFlowID, benRegID, benID, - docFlag, pharmaFlag, oncologistFlag, tcSpecialistFlag,labTechnicianFlag); + i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivitySpecialistANC(benFlowID, benRegID, + benID, + docFlag, pharmaFlag, oncologistFlag, tcSpecialistFlag, labTechnicianFlag); } catch (Exception e) { logger.error("Error in ben flow creation = " + e); } @@ -285,7 +289,7 @@ public int updateBenFlowAfterDocDataFromSpecialistANC(Long benFlowID, Long benRe public int updateBenFlowAfterDocDataUpdate(Long benFlowID, Long benRegID, Long benID, Long benVisitID, short docFlag, short pharmaFlag, short oncologistFlag, short tcSpecialistFlag, int tcUserID, - Timestamp tcDate,short labTechnicianFlag) throws Exception { + Timestamp tcDate, short labTechnicianFlag, Boolean doctorSignatureFlag) throws Exception { int i = 0; try { Short pharmaF = beneficiaryFlowStatusRepo.getPharmaFlag(benFlowID); @@ -297,7 +301,8 @@ public int updateBenFlowAfterDocDataUpdate(Long benFlowID, Long benRegID, Long b pharmaF1 = pharmaFlag; i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivity(benFlowID, benRegID, benID, docFlag, - pharmaF1, oncologistFlag, tcSpecialistFlag, tcUserID, tcDate,labTechnicianFlag); + pharmaF1, oncologistFlag, tcSpecialistFlag, tcUserID, tcDate, labTechnicianFlag, + doctorSignatureFlag); } catch (Exception e) { logger.error("Error in ben flow creation = " + e); throw new Exception(e); @@ -319,7 +324,7 @@ public int updateBenFlowAfterDocDataUpdateTCSpecialist(Long benFlowID, Long benR pharmaF1 = pharmaFlag; i = beneficiaryFlowStatusRepo.updateBenFlowStatusAfterDoctorActivityTCSpecialist(benFlowID, benRegID, benID, - pharmaF1, oncologistFlag, tcSpecialistFlag,labTechnicianFlag); + pharmaF1, oncologistFlag, tcSpecialistFlag, labTechnicianFlag); } catch (Exception e) { logger.error("Error in ben flow creation = " + e); throw new Exception(e); diff --git a/src/main/java/com/iemr/hwc/service/cancerScreening/CSServiceImpl.java b/src/main/java/com/iemr/hwc/service/cancerScreening/CSServiceImpl.java index f401f14b..c11f7ef4 100644 --- a/src/main/java/com/iemr/hwc/service/cancerScreening/CSServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/cancerScreening/CSServiceImpl.java @@ -100,7 +100,7 @@ public class CSServiceImpl implements CSService { private CommonServiceImpl commonServiceImpl; @Autowired private TCRequestModelRepo tCRequestModelRepo; - + private BenVisitDetailRepo benVisitDetailRepo; @Autowired private BenChiefComplaintRepo benChiefComplaintRepo; @@ -183,7 +183,7 @@ public String saveCancerScreeningNurseData(JsonObject requestOBJ, String Authori nurseUtilityClass.setVisitCode(benVisitCode); nurseUtilityClass.setBenVisitID(benVisitID); - }else { + } else { Map responseMap = new HashMap(); responseMap.put("response", "Data already saved"); return new Gson().toJson(responseMap); @@ -295,7 +295,7 @@ else if (nurseDataSuccessFlag == 2) } return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -370,16 +370,17 @@ private Long getBenRegID(JsonObject requestOBJ) throws Exception { public Map saveBenVisitDetails(BeneficiaryVisitDetail benVisitDetailsOBJ, CommonUtilityClass nurseUtilityClass) throws Exception { Map visitIdAndCodeMap = new HashMap<>(); - int i=commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(),benVisitDetailsOBJ.getVisitReason(),benVisitDetailsOBJ.getVisitCategory()); - if(i<1) { - Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ); + int i = commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(), + benVisitDetailsOBJ.getVisitReason(), benVisitDetailsOBJ.getVisitCategory()); + if (i < 1) { + Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ); - // 11-06-2018 visit code - Long benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), - nurseUtilityClass.getSessionID()); + // 11-06-2018 visit code + Long benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), + nurseUtilityClass.getSessionID()); - visitIdAndCodeMap.put("visitID", benVisitID); - visitIdAndCodeMap.put("visitCode", benVisitCode); + visitIdAndCodeMap.put("visitID", benVisitID); + visitIdAndCodeMap.put("visitCode", benVisitCode); } return visitIdAndCodeMap; } @@ -816,6 +817,12 @@ public Long saveCancerScreeningDoctorData(JsonObject requestOBJ, String Authoriz Long docDataSuccessFlag = null; Long tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null && requestOBJ.has("diagnosis") && !requestOBJ.get("diagnosis").isJsonNull()) { TeleconsultationRequestOBJ tcRequestOBJ = null; @@ -921,7 +928,7 @@ public Long saveCancerScreeningDoctorData(JsonObject requestOBJ, String Authoriz } else { l2 = commonBenStatusFlowServiceImpl.updateBenFlowAfterDocData(tmpBenFlowID, tmpbeneficiaryRegID, tmpBeneficiaryID, tmpBenVisitID, docFlag, pharmaFalg, oncologistFlag, tcSpecialistFlag, - tcUserID, tcDate, (short) 0); + tcUserID, tcDate, (short) 0, doctorSignatureFlag); } if (l1 > 0 || l2 > 0) @@ -1308,7 +1315,8 @@ public int updateCancerDiagnosisDetailsByOncologist(CancerDiagnosis cancerDiagno } private int createCareStreamOrder(long benRegID, long benVisitID, String Authorization, Long benFlowID) { -// ArrayList benDataForCareStream = registrarRepoBenData.getBenDataForCareStream(benRegID); + // ArrayList benDataForCareStream = + // registrarRepoBenData.getBenDataForCareStream(benRegID); ArrayList benDataForCareStream = beneficiaryFlowStatusRepo.getBenDataForCareStream(benFlowID); int r = cSCarestreamServiceImpl.createMamographyRequest(benDataForCareStream, benRegID, benVisitID, diff --git a/src/main/java/com/iemr/hwc/service/common/transaction/CommonDoctorServiceImpl.java b/src/main/java/com/iemr/hwc/service/common/transaction/CommonDoctorServiceImpl.java index 2293c14f..b7e5e41b 100644 --- a/src/main/java/com/iemr/hwc/service/common/transaction/CommonDoctorServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/common/transaction/CommonDoctorServiceImpl.java @@ -706,7 +706,8 @@ public Long updateBenReferDetails(JsonObject referObj, Boolean rrList) throws IE /// ------Start of beneficiary flow table after doctor data save------------- public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityClass, Boolean isTestPrescribed, - Boolean isMedicinePrescribed, TeleconsultationRequestOBJ tcRequestOBJ) throws IEMRException { + Boolean isMedicinePrescribed, TeleconsultationRequestOBJ tcRequestOBJ, Boolean doctorSignatureFlag) + throws IEMRException { short pharmaFalg; short docFlag = (short) 1; short tcSpecialistFlag = (short) 0; @@ -806,7 +807,7 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl } else i = commonBenStatusFlowServiceImpl.updateBenFlowAfterDocData(tmpBenFlowID, tmpbeneficiaryRegID, tmpBeneficiaryID, tmpBenVisitID, docFlag, pharmaFalg, (short) 0, tcSpecialistFlag, tcUserID, tcDate, - labTechnicianFlag); + labTechnicianFlag, doctorSignatureFlag); if (commonUtilityClass.getIsSpecialist() == true) { if (tcSpecialistFlag == 9) { if (commonUtilityClass.getPrescriptionID() != null) { @@ -844,7 +845,8 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl * @return */ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtilityClass, Boolean isTestPrescribed, - Boolean isMedicinePrescribed, TeleconsultationRequestOBJ tcRequestOBJ) throws Exception { + Boolean isMedicinePrescribed, TeleconsultationRequestOBJ tcRequestOBJ, Boolean doctorSignatureFlag) + throws Exception { int i = 0; short pharmaFalg; short docFlag = (short) 0; @@ -939,7 +941,7 @@ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtility i = commonBenStatusFlowServiceImpl.updateBenFlowAfterDocDataUpdate(tmpBenFlowID, tmpbeneficiaryRegID, tmpBeneficiaryID, tmpBenVisitID, docFlag, pharmaFalg, (short) 0, tcSpecialistFlag, tcUserID, tcDate, - labTechnicianFlag); + labTechnicianFlag, doctorSignatureFlag); } diff --git a/src/main/java/com/iemr/hwc/service/common/transaction/CommonNurseServiceImpl.java b/src/main/java/com/iemr/hwc/service/common/transaction/CommonNurseServiceImpl.java index 6224205b..32445800 100644 --- a/src/main/java/com/iemr/hwc/service/common/transaction/CommonNurseServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/common/transaction/CommonNurseServiceImpl.java @@ -35,7 +35,6 @@ import java.util.Map; import java.util.Objects; - import jakarta.persistence.PersistenceContext; import jakarta.transaction.Transactional; @@ -157,9 +156,9 @@ public class CommonNurseServiceImpl implements CommonNurseService { private Integer oncoWL; @Value("${TMReferredWL}") private Integer TMReferredWL; - + private BenVisitDetailRepo benVisitDetailRepo; - + private BenChiefComplaintRepo benChiefComplaintRepo; private BenMedHistoryRepo benMedHistoryRepo; private BencomrbidityCondRepo bencomrbidityCondRepo; @@ -196,7 +195,7 @@ public class CommonNurseServiceImpl implements CommonNurseService { private PhysicalActivityTypeRepo physicalActivityTypeRepo; private IDRSDataRepo iDRSDataRepo; private BenCancerVitalDetailRepo benCancerVitalDetailRepo; - + private CommonDoctorServiceImpl commonDoctorServiceImpl; private BenReferDetailsRepo benReferDetailsRepo; @Autowired @@ -686,8 +685,8 @@ public BeneficiaryVisitDetail getCSVisitDetails(Long benRegID, Long visitCode) { benVisitDetailsOBJ.setFileIDs(fileIds); -// if (benVisitDetailsOBJ1 != null) -// benVisitDetailsOBJ1.setFileIDs(fileIds); + // if (benVisitDetailsOBJ1 != null) + // benVisitDetailsOBJ1.setFileIDs(fileIds); if (benVisitDetailsOBJ.getFpMethodFollowup() != null) { String[] fpMethodArr = benVisitDetailsOBJ.getFpMethodFollowup().split("\\|\\|"); @@ -804,11 +803,11 @@ private ArrayList getFemaleObstetricHistoryObj( StringBuilder postAbortionComp; StringBuilder postAbortionCompValues; -// StringBuilder typeOfAbortionID; -// StringBuilder typeOfAbortionValue; -// -// StringBuilder serviceFacilityID; -// StringBuilder serviceFacilityValue; + // StringBuilder typeOfAbortionID; + // StringBuilder typeOfAbortionValue; + // + // StringBuilder serviceFacilityID; + // StringBuilder serviceFacilityValue; // iterate through pregnancy complication for (FemaleObstetricHistory obj : femaleObstetricHistorylist) { @@ -970,7 +969,8 @@ public Integer savePersonalHistory(BenPersonalHabit benPersonalHabit) { ArrayList personalHabits = benPersonalHabit.getPersonalHistory(); if (personalHabits.size() > 0) { - ArrayList res = (ArrayList) benPersonalHabitRepo.saveAll(personalHabits); + ArrayList res = (ArrayList) benPersonalHabitRepo + .saveAll(personalHabits); if (personalHabits.size() == res.size()) { personalHistorySuccessFlag = 1; } @@ -985,7 +985,8 @@ public Long saveAllergyHistory(BenAllergyHistory benAllergyHistory) { ArrayList allergyList = benAllergyHistory.getBenAllergicHistory(); if (allergyList.size() > 0) { - ArrayList res = (ArrayList) benAllergyHistoryRepo.saveAll(allergyList); + ArrayList res = (ArrayList) benAllergyHistoryRepo + .saveAll(allergyList); if (allergyList.size() == res.size()) { allergyHistorySuccessFlag = new Long(1); } @@ -2105,10 +2106,11 @@ public String getBenCdss(Long beneficiaryRegID, Long visitCode) { } public BenFamilyHistory getFamilyHistoryDetail(Long beneficiaryRegID, Long visitCode) { -// BenFamilyHistory familyHistory = benFamilyHistoryRepo.getBenFamilyHistoryDetails(beneficiaryRegID, visitCode); -// -// -// return new Gson().toJson(familyHistory); + // BenFamilyHistory familyHistory = + // benFamilyHistoryRepo.getBenFamilyHistoryDetails(beneficiaryRegID, visitCode); + // + // + // return new Gson().toJson(familyHistory); ArrayList familyHistory = benFamilyHistoryRepo.getBenFamilyHisDetail(beneficiaryRegID, visitCode); BenFamilyHistory familyHistoryDetails = BenFamilyHistory.getBenFamilyHist(familyHistory); @@ -2460,7 +2462,7 @@ public OralExamination getOralExamination(Long benRegID, Long visitCode) throws } //// get service over -// ----------------------------------------- + // ----------------------------------------- public int updateBenChiefComplaints(List benChiefComplaintList) { int r = 0; if (null != benChiefComplaintList && benChiefComplaintList.size() > 0) { @@ -3107,20 +3109,20 @@ public Long saveBenPrescription(PrescriptionDetail prescription) { && prescription.getProvisionalDiagnosisList().size() > 0) { for (SCTDescription obj : prescription.getProvisionalDiagnosisList()) { if (obj.getTerm() != null) { - if(pdTerm.toString().isEmpty()){ + if (pdTerm.toString().isEmpty()) { pdTerm.append(obj.getTerm()); - if(null != obj.getConceptID()) { + if (null != obj.getConceptID()) { pdConceptID.append(obj.getConceptID()); - }else { + } else { pdConceptID.append("N/A"); } - }else{ - if(obj.getTerm() != null){ + } else { + if (obj.getTerm() != null) { pdTerm.append(" || ").append(obj.getTerm()); } - if (obj.getConceptID() != null){ + if (obj.getConceptID() != null) { pdConceptID.append(" || ").append(obj.getConceptID()); - }else{ + } else { pdConceptID.append(" || ").append("N/A"); } } @@ -3172,11 +3174,12 @@ public int updatePrescription(PrescriptionDetail prescription) { } -// String processed = prescriptionDetailRepo.getGeneralOPDDiagnosisStatus(prescription.getBeneficiaryRegID(), -// prescription.getVisitCode(), prescription.getPrescriptionID()); -// if (null != processed && !processed.equals("N")) { -// processed = "U"; -// } + // String processed = + // prescriptionDetailRepo.getGeneralOPDDiagnosisStatus(prescription.getBeneficiaryRegID(), + // prescription.getVisitCode(), prescription.getPrescriptionID()); + // if (null != processed && !processed.equals("N")) { + // processed = "U"; + // } String processed; PrescriptionDetail pDetails = prescriptionDetailRepo.getGeneralOPDDiagnosisStatus( @@ -3191,9 +3194,9 @@ public int updatePrescription(PrescriptionDetail prescription) { } prescription.setProcessed(processed); -// if (pDetails.getInstruction() != null) { -// prescription.setInstruction(pDetails.getInstruction());} -// + // if (pDetails.getInstruction() != null) { + // prescription.setInstruction(pDetails.getInstruction());} + // if (pDetails != null && prescription.getInstruction() == null && pDetails.getInstruction() != null) { prescription.setInstruction(pDetails.getInstruction()); } @@ -3227,7 +3230,9 @@ public Long saveBeneficiaryLabTestOrderDetails(JsonObject caseSheet, Long prescr return returnOBJ; } - public Integer saveBenPrescribedDrugsList(List prescribedDrugDetailList) { + public Map saveBenPrescribedDrugsList(List prescribedDrugDetailList) { + Map result = new HashMap<>(); + List prescribedDrugIDs = new ArrayList<>(); Integer r = 0; if (prescribedDrugDetailList.size() > 0) { @@ -3243,11 +3248,20 @@ public Integer saveBenPrescribedDrugsList(List prescribedD .saveAll(prescribedDrugDetailList); if (prescribedDrugDetailList.size() == prescribedDrugDetailListRS.size()) { r = prescribedDrugDetailListRS.size(); + // Extract the IDs from saved entities + for (PrescribedDrugDetail savedDrug : prescribedDrugDetailListRS) { + if (savedDrug.getId() != null) { + prescribedDrugIDs.add(savedDrug.getId()); + } + } } } else { r = 1; } - return r; + + result.put("count", r); + result.put("prescribedDrugIDs", prescribedDrugIDs); + return result; } private int calculateQtyPrescribed(String form, String dose, String frequency, String duration, @@ -3666,7 +3680,8 @@ public Long saveChildDevelopmentHistory(BenChildDevelopmentHistory benChildDevel public Long saveChildFeedingHistory(ChildFeedingDetails childFeedingDetails) { Long feedingSuccessFlag = null; -// ChildFeedingDetails childFeedingHistory = ChildFeedingDetails.getChildFeedingHistory(childFeedingDetails); + // ChildFeedingDetails childFeedingHistory = + // ChildFeedingDetails.getChildFeedingHistory(childFeedingDetails); // typeofFoodIntolerance list to string if (childFeedingDetails != null && childFeedingDetails.getTypeOfFoodIntolerances() != null @@ -4154,7 +4169,8 @@ public int updateSysGastrointestinalExamination(SysGastrointestinalExamination g public Map getGraphicalTrendData(Long benRegID, String visitCategory) { Map returnOBJ = new HashMap<>(); - ArrayList benLastSixVisitDetails = benVisitDetailRepo.getLastSixVisitDetailsForBeneficiary(benRegID, visitCategory); + ArrayList benLastSixVisitDetails = benVisitDetailRepo.getLastSixVisitDetailsForBeneficiary(benRegID, + visitCategory); ArrayList benVisitCodeListCancer = new ArrayList<>(); ArrayList benVisitCodeListOther = new ArrayList<>(); @@ -4314,13 +4330,15 @@ public int updateBenPhysicalActivityHistoryNCDScreening(PhysicalActivityType phy // TODO Auto-generated method stub int pysicalActivityHistorySuccessFlag = 0; -// ArrayList familyHistoryList = benFamilyHistory.getBenFamilyHistory(); -// if (familyHistoryList.size() > 0) { -// ArrayList res = (ArrayList) benFamilyHistoryRepo -// .save(familyHistoryList); -// if (familyHistoryList.size() == res.size()) { -// familyHistorySuccessFlag = 1; -// } + // ArrayList familyHistoryList = + // benFamilyHistory.getBenFamilyHistory(); + // if (familyHistoryList.size() > 0) { + // ArrayList res = (ArrayList) + // benFamilyHistoryRepo + // .save(familyHistoryList); + // if (familyHistoryList.size() == res.size()) { + // familyHistorySuccessFlag = 1; + // } if (physicalActivityType.getID() != null) physicalActivityType.setProcessed("U"); else @@ -4406,49 +4424,51 @@ public String getBenSymptomaticData(Long benRegID) throws Exception { return new Gson().toJson(responseMap); } -// @Override -// public String getBenPreviousDiabetesData(Long benRegID) throws Exception { -// Map response = new HashMap(); -// -// ArrayList resultSet = new ArrayList<>(); -// ArrayList resultSet1 = new ArrayList<>(); -// Map column; -// ArrayList> columns = new ArrayList<>(); -// -// column = new HashMap<>(); -// column.put("columnName", "Date of Capture"); -// column.put("keyName", "createdDate"); -// columns.add(column); -// -// column = new HashMap<>(); -// column.put("columnName", "Visit Code"); -// column.put("keyName", "visitCode"); -// columns.add(column); -// -// column = new HashMap<>(); -// column.put("columnName", "Question"); -// column.put("keyName", "question"); -// columns.add(column); -// -// column = new HashMap<>(); -// column.put("columnName", "Answer"); -// column.put("keyName", "answer"); -// columns.add(column); -// IDRSData idrs=new IDRSData(); -// resultSet1 = iDRSDataRepo.getBenPreviousDiabetesDetails(benRegID); -// if(resultSet1 !=null && resultSet1.size()>0) -// { -// for(Object[] obj:resultSet1) -// { -// idrs=new IDRSData(((BigInteger) obj[0]).longValue(),(Timestamp)obj[1],(String)obj[2],(String)obj[3],((BigInteger) obj[4]).longValue(),((Integer) obj[5]) -// ,(String)obj[6]); -// resultSet.add(idrs); -// } -// } -// response.put("columns", columns); -// response.put("data", resultSet); -// return new Gson().toJson(response); -// } + // @Override + // public String getBenPreviousDiabetesData(Long benRegID) throws Exception { + // Map response = new HashMap(); + // + // ArrayList resultSet = new ArrayList<>(); + // ArrayList resultSet1 = new ArrayList<>(); + // Map column; + // ArrayList> columns = new ArrayList<>(); + // + // column = new HashMap<>(); + // column.put("columnName", "Date of Capture"); + // column.put("keyName", "createdDate"); + // columns.add(column); + // + // column = new HashMap<>(); + // column.put("columnName", "Visit Code"); + // column.put("keyName", "visitCode"); + // columns.add(column); + // + // column = new HashMap<>(); + // column.put("columnName", "Question"); + // column.put("keyName", "question"); + // columns.add(column); + // + // column = new HashMap<>(); + // column.put("columnName", "Answer"); + // column.put("keyName", "answer"); + // columns.add(column); + // IDRSData idrs=new IDRSData(); + // resultSet1 = iDRSDataRepo.getBenPreviousDiabetesDetails(benRegID); + // if(resultSet1 !=null && resultSet1.size()>0) + // { + // for(Object[] obj:resultSet1) + // { + // idrs=new IDRSData(((BigInteger) + // obj[0]).longValue(),(Timestamp)obj[1],(String)obj[2],(String)obj[3],((BigInteger) + // obj[4]).longValue(),((Integer) obj[5]) + // ,(String)obj[6]); + // resultSet.add(idrs); + // } + // } + // response.put("columns", columns); + // response.put("data", resultSet); + // return new Gson().toJson(response); + // } @Override public String getBenPreviousDiabetesData(Long benRegID) throws Exception { @@ -4546,17 +4566,17 @@ public String fetchProviderSpecificdata(String request) throws IEMRException { try { ProviderSpecificRequest detail = InputMapper.gson().fromJson(request, ProviderSpecificRequest.class); switch (detail.getFetchMMUDataFor().toLowerCase()) { - case "prescription": - res = getPrescriptionData(detail); - break; - case "investigation": - res = getInvestigationData(detail); - break; - case "referral": - res = getReferralData(detail); - break; - default: - res = "Invalid master param to fetch data"; + case "prescription": + res = getPrescriptionData(detail); + break; + case "investigation": + res = getInvestigationData(detail); + break; + case "referral": + res = getReferralData(detail); + break; + default: + res = "Invalid master param to fetch data"; } } catch (Exception e) { throw new IEMRException(e.getMessage()); @@ -4595,11 +4615,13 @@ private String getReferralData(ProviderSpecificRequest request) throws IEMRExcep // ArrayList resList = // benReferDetailsRepo.getBenReferDetails2(request.getBenRegID(), // request.getVisitCode()); -// ArrayList resList = benReferDetailsRepo.getBenReferDetails(request.getBenRegID(), -// request.getVisitCode()); -// BenReferDetails referDetails = BenReferDetails.getBenReferDetails(resList); -// value.put("data", -// commonDoctorServiceImpl.getReferralDetails(request.getBenRegID(), request.getVisitCode())); + // ArrayList resList = + // benReferDetailsRepo.getBenReferDetails(request.getBenRegID(), + // request.getVisitCode()); + // BenReferDetails referDetails = BenReferDetails.getBenReferDetails(resList); + // value.put("data", + // commonDoctorServiceImpl.getReferralDetails(request.getBenRegID(), + // request.getVisitCode())); // values.add(value); ArrayList resList = benReferDetailsRepo @@ -4684,7 +4706,9 @@ String getInvestigationData(ProviderSpecificRequest request) throws IEMRExceptio response.put("columns", columns); try { -// ArrayList labTestOrders = labTestOrderDetailRepo.getLabTestOrderDetails2(request.getBenRegID(), request.getVisitCode()); + // ArrayList labTestOrders = + // labTestOrderDetailRepo.getLabTestOrderDetails2(request.getBenRegID(), + // request.getVisitCode()); ArrayList labTestOrders = labTestOrderDetailRepo.getLabTestOrderDetails(request.getBenRegID(), request.getVisitCode()); WrapperBenInvestigationANC labTestOrdersList = LabTestOrderDetail.getLabTestOrderDetails(labTestOrders); diff --git a/src/main/java/com/iemr/hwc/service/covid19/Covid19ServiceImpl.java b/src/main/java/com/iemr/hwc/service/covid19/Covid19ServiceImpl.java index 4e4c7924..90a8e47d 100644 --- a/src/main/java/com/iemr/hwc/service/covid19/Covid19ServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/covid19/Covid19ServiceImpl.java @@ -98,7 +98,7 @@ public class Covid19ServiceImpl implements Covid19Service { private Covid19BenFeedbackRepo covid19BenFeedbackRepo; @Autowired private PrescriptionDetailRepo prescriptionDetailRepo; - + @Autowired private BenVisitDetailRepo benVisitDetailRepo; @@ -210,7 +210,7 @@ public String saveCovid19NurseData(JsonObject requestOBJ, String Authorization) } return new Gson().toJson(responseMap); } - + public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -665,9 +665,11 @@ public String getBenVisitDetailsFrmNurseCovid19(Long benRegID, Long visitCode) { resMap.put("covidDetails", new Gson().toJson(covid19BenFeedback)); resMap.put("Cdss", commonNurseServiceImpl.getBenCdss(benRegID, visitCode)); -// resMap.put("BenAdherence", commonNurseServiceImpl.getBenAdherence(benRegID, visitCode)); -// -// resMap.put("Investigation", commonNurseServiceImpl.getLabTestOrders(benRegID, visitCode)); + // resMap.put("BenAdherence", commonNurseServiceImpl.getBenAdherence(benRegID, + // visitCode)); + // + // resMap.put("Investigation", commonNurseServiceImpl.getLabTestOrders(benRegID, + // visitCode)); return resMap.toString(); } @@ -1072,6 +1074,12 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E Long referSaveSuccessFlag = null; Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; @@ -1145,15 +1153,18 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E // save diagnosis // not required in covid diagnosis -// if (requestOBJ.has("diagnosis") && !requestOBJ.get("diagnosis").isJsonNull()) { -// NCDCareDiagnosis ncdDiagnosis = InputMapper.gson().fromJson(requestOBJ.get("diagnosis"), -// NCDCareDiagnosis.class); -// ncdDiagnosis.setPrescriptionID(prescriptionID); -// diagnosisSuccessFlag = ncdCareDoctorServiceImpl.saveNCDDiagnosisData(ncdDiagnosis); -// -// } else { -// diagnosisSuccessFlag = new Long(1); -// } + // if (requestOBJ.has("diagnosis") && !requestOBJ.get("diagnosis").isJsonNull()) + // { + // NCDCareDiagnosis ncdDiagnosis = + // InputMapper.gson().fromJson(requestOBJ.get("diagnosis"), + // NCDCareDiagnosis.class); + // ncdDiagnosis.setPrescriptionID(prescriptionID); + // diagnosisSuccessFlag = + // ncdCareDoctorServiceImpl.saveNCDDiagnosisData(ncdDiagnosis); + // + // } else { + // diagnosisSuccessFlag = new Long(1); + // } // save prescribed lab test if (isTestPrescribed) { @@ -1176,7 +1187,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1207,7 +1228,7 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = referSaveSuccessFlag; @@ -1310,6 +1331,12 @@ public Long updateCovid19DoctorData(JsonObject requestOBJ, String Authorization) Integer prescriptionSuccessFlag = null; Long referSaveSuccessFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; @@ -1416,7 +1443,16 @@ public Long updateCovid19DoctorData(JsonObject requestOBJ, String Authorization) tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1446,7 +1482,7 @@ public Long updateCovid19DoctorData(JsonObject requestOBJ, String Authorization) } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = investigationSuccessFlag; diff --git a/src/main/java/com/iemr/hwc/service/family_planning/FamilyPlanningServiceImpl.java b/src/main/java/com/iemr/hwc/service/family_planning/FamilyPlanningServiceImpl.java index 9e8f7c67..2433a513 100644 --- a/src/main/java/com/iemr/hwc/service/family_planning/FamilyPlanningServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/family_planning/FamilyPlanningServiceImpl.java @@ -265,7 +265,7 @@ public String saveNurseDataFP(JsonObject requestOBJ, String Authorization) throw return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -681,6 +681,12 @@ public int updateBenVitalDetailsFP(JsonObject vitalDetailsOBJ) throws Exception @Transactional(rollbackFor = Exception.class) public Long updateDoctorDataFP(JsonObject requestOBJ, String Authorization) throws Exception { + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); @@ -773,7 +779,16 @@ public Long updateDoctorDataFP(JsonObject requestOBJ, String Authorization) thro tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } } @@ -792,7 +807,7 @@ public Long updateDoctorDataFP(JsonObject requestOBJ, String Authorization) thro commonUtilityClass.setAuthorization(Authorization); int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) { if (tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { @@ -824,6 +839,12 @@ public int saveDoctorDataFP(JsonObject requestOBJ, String Authorization) throws Integer prescriptionSuccessFlag = null; Long referSaveSuccessFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + // Integer tcRequestStatusFlag = null; if (requestOBJ != null) { @@ -917,7 +938,16 @@ public int saveDoctorDataFP(JsonObject requestOBJ, String Authorization) throws tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -951,7 +981,7 @@ public int saveDoctorDataFP(JsonObject requestOBJ, String Authorization) throws } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = 1; diff --git a/src/main/java/com/iemr/hwc/service/generalOPD/GeneralOPDServiceImpl.java b/src/main/java/com/iemr/hwc/service/generalOPD/GeneralOPDServiceImpl.java index 922e703e..6950e998 100644 --- a/src/main/java/com/iemr/hwc/service/generalOPD/GeneralOPDServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/generalOPD/GeneralOPDServiceImpl.java @@ -121,7 +121,7 @@ public class GeneralOPDServiceImpl implements GeneralOPDService { /// --------------- start of saving nurse data ------------------------ @Override -// @Transactional(rollbackFor = Exception.class) + // @Transactional(rollbackFor = Exception.class) public String saveNurseData(JsonObject requestOBJ, String Authorization) throws Exception { Long historySaveSuccessFlag = null; Long vitalSaveSuccessFlag = null; @@ -191,8 +191,9 @@ public String saveNurseData(JsonObject requestOBJ, String Authorization) throws // if (i > 0) saveSuccessFlag = historySaveSuccessFlag; -// else -// throw new RuntimeException("Error occurred while saving data. Beneficiary status update failed"); + // else + // throw new RuntimeException("Error occurred while saving data. Beneficiary + // status update failed"); if (i > 0 && tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { int k = sMSGatewayServiceImpl.smsSenderGateway("schedule", nurseUtilityClass.getBeneficiaryRegID(), @@ -809,6 +810,12 @@ public Long saveBenExaminationDetails(JsonObject examinationDetailsOBJ, Long ben @Override @Transactional(rollbackFor = Exception.class) public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws Exception { + + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } Long saveSuccessFlag = null; Long prescriptionID = null; Long investigationSuccessFlag = null; @@ -922,7 +929,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -956,7 +973,7 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = investigationSuccessFlag; @@ -1394,7 +1411,8 @@ public String getBenCaseRecordFromDoctorGeneralOPD(Long benRegID, Long visitCode resMap.put("LabReport", new Gson().toJson(labTechnicianServiceImpl.getLabResultDataForBen(benRegID, visitCode))); - resMap.put("GraphData", new Gson().toJson(commonNurseServiceImpl.getGraphicalTrendData(benRegID, "General OPD"))); + resMap.put("GraphData", + new Gson().toJson(commonNurseServiceImpl.getGraphicalTrendData(benRegID, "General OPD"))); resMap.put("ArchivedVisitcodeForLabResult", labTechnicianServiceImpl.getLast_3_ArchivedTestVisitList(benRegID, visitCode)); @@ -1405,6 +1423,13 @@ public String getBenCaseRecordFromDoctorGeneralOPD(Long benRegID, Long visitCode // update doctor data @Transactional(rollbackFor = Exception.class) public Long updateGeneralOPDDoctorData(JsonObject requestOBJ, String Authorization) throws Exception { + + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + Long updateSuccessFlag = null; Long prescriptionID = null; Long investigationSuccessFlag = null; @@ -1527,7 +1552,16 @@ public Long updateGeneralOPDDoctorData(JsonObject requestOBJ, String Authorizati tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1563,7 +1597,7 @@ public Long updateGeneralOPDDoctorData(JsonObject requestOBJ, String Authorizati } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = investigationSuccessFlag; diff --git a/src/main/java/com/iemr/hwc/service/ncdCare/NCDCareServiceImpl.java b/src/main/java/com/iemr/hwc/service/ncdCare/NCDCareServiceImpl.java index 25625f6c..5b1c4b16 100644 --- a/src/main/java/com/iemr/hwc/service/ncdCare/NCDCareServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/ncdCare/NCDCareServiceImpl.java @@ -90,7 +90,7 @@ public class NCDCareServiceImpl implements NCDCareService { private CommonServiceImpl commonServiceImpl; @Autowired private TeleConsultationServiceImpl teleConsultationServiceImpl; - + @Autowired private BenVisitDetailRepo benVisitDetailRepo; @Autowired @@ -228,7 +228,7 @@ public String saveNCDCareNurseData(JsonObject requestOBJ, String Authorization) } return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -853,6 +853,13 @@ public String getBeneficiaryCdssDetails(Long beneficiaryRegID, Long benVisitID) /// --------------- start of saving doctor data ------------------------ @Transactional(rollbackFor = Exception.class) public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws Exception { + + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + Long saveSuccessFlag = null; Long prescriptionID = null; Long investigationSuccessFlag = null; @@ -997,7 +1004,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1029,7 +1046,7 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = diagnosisSuccessFlag; @@ -1323,6 +1340,12 @@ public Long updateNCDCareDoctorData(JsonObject requestOBJ, String Authorization) Long referSaveSuccessFlag = null; Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; @@ -1430,7 +1453,17 @@ public Long updateNCDCareDoctorData(JsonObject requestOBJ, String Authorization) tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1461,7 +1494,7 @@ public Long updateNCDCareDoctorData(JsonObject requestOBJ, String Authorization) } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = investigationSuccessFlag; diff --git a/src/main/java/com/iemr/hwc/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java b/src/main/java/com/iemr/hwc/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java index d7a42da4..29220022 100644 --- a/src/main/java/com/iemr/hwc/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.regex.Pattern; import org.springframework.beans.factory.annotation.Autowired; @@ -68,21 +69,21 @@ public void setPrescriptionDetailRepo(PrescriptionDetailRepo prescriptionDetailR private CommonServiceImpl commonServiceImpl; @Autowired private SMSGatewayServiceImpl sMSGatewayServiceImpl; -// -// @Autowired -// private BreastCancerScreeningRepo breastCancerScreeningRepo; -// -// @Autowired -// private CervicalCancerScreeningRepo cervicalCancerScreeningRepo; -// -// @Autowired -// private DiabetesScreeningRepo diabetesScreeningRepo; -// -// @Autowired -// private HypertensionScreeningRepo hypertensionScreeningRepo; -// -// @Autowired -// private OralCancerScreeningRepo oralCancerScreeningRepo; + // + // @Autowired + // private BreastCancerScreeningRepo breastCancerScreeningRepo; + // + // @Autowired + // private CervicalCancerScreeningRepo cervicalCancerScreeningRepo; + // + // @Autowired + // private DiabetesScreeningRepo diabetesScreeningRepo; + // + // @Autowired + // private HypertensionScreeningRepo hypertensionScreeningRepo; + // + // @Autowired + // private OralCancerScreeningRepo oralCancerScreeningRepo; @Autowired private CommonNcdScreeningService commonNcdScreeningService; @@ -99,9 +100,15 @@ public int updateDoctorData(JsonObject requestOBJ, String Authorization) throws Long referSaveSuccessFlag = null; // Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; -// TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; + // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); // teleconsultation request @@ -163,13 +170,12 @@ public int updateDoctorData(JsonObject requestOBJ, String Authorization) throws prescriptionDetail.setExternalInvestigation(wrapperBenInvestigationANC.getExternalInvestigations()); prescriptionID = prescriptionDetail.getPrescriptionID(); } - + if (requestOBJ.has("counsellingProvidedList") && !requestOBJ.get("counsellingProvidedList").isJsonNull() && requestOBJ.get("counsellingProvidedList") != null) { - + PrescriptionDetail tempPrescription = InputMapper.gson().fromJson(requestOBJ, PrescriptionDetail.class); - - + if (tempPrescription != null && tempPrescription.getCounsellingProvidedList() != null && tempPrescription.getCounsellingProvidedList().length > 0) { StringBuffer sb = new StringBuffer(); @@ -179,7 +185,7 @@ public int updateDoctorData(JsonObject requestOBJ, String Authorization) throws if (sb.length() >= 2) prescriptionDetail.setCounsellingProvided(sb.substring(0, sb.length() - 2)); - }else + } else prescriptionDetail.setCounsellingProvided(""); } // update prescription @@ -208,7 +214,16 @@ public int updateDoctorData(JsonObject requestOBJ, String Authorization) throws tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -232,7 +247,7 @@ public int updateDoctorData(JsonObject requestOBJ, String Authorization) throws // call method to update beneficiary flow table int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = 1; diff --git a/src/main/java/com/iemr/hwc/service/ncdscreening/NCDScreeningServiceImpl.java b/src/main/java/com/iemr/hwc/service/ncdscreening/NCDScreeningServiceImpl.java index a71dd78d..a09532ab 100644 --- a/src/main/java/com/iemr/hwc/service/ncdscreening/NCDScreeningServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/ncdscreening/NCDScreeningServiceImpl.java @@ -144,7 +144,7 @@ public class NCDScreeningServiceImpl implements NCDScreeningService { @Autowired private CommonNcdScreeningService commonNcdScreeningService; - + @Autowired private BenChiefComplaintRepo benChiefComplaintRepo; @Autowired @@ -418,7 +418,7 @@ public String saveNCDScreeningNurseData(JsonObject requestOBJ, String Authorizat return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -984,9 +984,9 @@ public Long saveidrsDetails(JsonObject idrsDetailsOBJ, Long benVisitID, Long ben } } -// if (idrsFlag != null && idrsFlag > 0 ) { -// vitalSuccessFlag = anthropometrySuccessFlag; -// } + // if (idrsFlag != null && idrsFlag > 0 ) { + // vitalSuccessFlag = anthropometrySuccessFlag; + // } } return idrsFlag; @@ -1006,9 +1006,9 @@ public Long savePhysicalActivityDetails(JsonObject physicalActivityDetailsOBJ, L physicalActivityFlag = commonNurseServiceImpl.savePhysicalActivity(physicalActivityDetail); } -// if (idrsFlag != null && idrsFlag > 0 ) { -// vitalSuccessFlag = anthropometrySuccessFlag; -// } + // if (idrsFlag != null && idrsFlag > 0 ) { + // vitalSuccessFlag = anthropometrySuccessFlag; + // } } return physicalActivityFlag; @@ -1178,8 +1178,8 @@ public Long UpdateIDRSScreen(JsonObject idrsOBJ) throws Exception { idrsDetail.setAnswer(ar[i].getAnswer()); idrsDetail.setQuestion(ar[i].getQuestion()); idrsDetail.setDiseaseQuestionType(ar[i].getDiseaseQuestionType()); -// idrsDetail.setBenVisitID(idrsDetail1.getBenVisitID()); -// idrsDetail.setVisitCode(idrsDetail1.getVisitCode()); + // idrsDetail.setBenVisitID(idrsDetail1.getBenVisitID()); + // idrsDetail.setVisitCode(idrsDetail1.getVisitCode()); if (idrsDetail.getSuspectArray() != null && idrsDetail.getSuspectArray().length > 0) { for (int a = 0; a < idrsDetail.getSuspectArray().length; a++) { @@ -1265,15 +1265,15 @@ public Long UpdateIDRSScreen(JsonObject idrsOBJ) throws Exception { idrsFlag = new Long(1); } } -// idrsFlag = commonNurseServiceImpl -// .saveIDRS(idrsDetail1); + // idrsFlag = commonNurseServiceImpl + // .saveIDRS(idrsDetail1); } } -// if (idrsFlag != null && idrsFlag > 0 ) { -// vitalSuccessFlag = anthropometrySuccessFlag; -// } + // if (idrsFlag != null && idrsFlag > 0 ) { + // vitalSuccessFlag = anthropometrySuccessFlag; + // } } return idrsFlag; @@ -1290,6 +1290,12 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E Long referSaveSuccessFlag = null; Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; @@ -1392,7 +1398,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1423,7 +1439,7 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = investigationSuccessFlag; @@ -1454,7 +1470,8 @@ public String getBenCaseRecordFromDoctorNCDScreening(Long benRegID, Long visitCo resMap.put("findings", commonDoctorServiceImpl.getFindingsDetails(benRegID, visitCode)); -// resMap.put("diagnosis", ncdCareDoctorServiceImpl.getNCDCareDiagnosisDetails(benRegID, visitCode)); + // resMap.put("diagnosis", + // ncdCareDoctorServiceImpl.getNCDCareDiagnosisDetails(benRegID, visitCode)); String diagnosis_prescription = ncdSCreeningDoctorServiceImpl.getNCDDiagnosisData(benRegID, visitCode); resMap.put("diagnosis", diagnosis_prescription); @@ -1649,7 +1666,7 @@ public Long saveHypertensionDetails(HypertensionScreening requestObj) throws IEM throw new IEMRException("Error while saving hypertension screening data"); } -//save breast screening data + // save breast screening data public Long saveBreastCancerDetails(BreastCancerScreening requestObj) throws IEMRException { requestObj = breastCancerScreeningRepo.save(requestObj); @@ -1768,8 +1785,8 @@ public String updateNCDScreeningData(JsonObject requestOBJ) throws IEMRException diabetesScreening.setBeneficiaryRegId(nurseUtilityClass.getBeneficiaryRegID()); diabetesScreening.setVisitcode(nurseUtilityClass.getVisitCode()); -// diabetesScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); -// diabetesScreening.setProcessed("N"); + // diabetesScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); + // diabetesScreening.setProcessed("N"); if (diabetesScreening.getId() == null) { diabetesScreening.setCreatedBy(nurseUtilityClass.getModifiedBy()); @@ -1817,8 +1834,8 @@ public String updateNCDScreeningData(JsonObject requestOBJ) throws IEMRException breastCancerScreening.setBeneficiaryRegId(nurseUtilityClass.getBeneficiaryRegID()); breastCancerScreening.setVisitcode(nurseUtilityClass.getVisitCode()); -// breastCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); -// breastCancerScreening.setProcessed('N'); + // breastCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); + // breastCancerScreening.setProcessed('N'); if (breastCancerScreening.getId() == null) { breastCancerScreening.setCreatedBy(nurseUtilityClass.getModifiedBy()); @@ -1842,8 +1859,8 @@ public String updateNCDScreeningData(JsonObject requestOBJ) throws IEMRException cervicalCancerScreening.setBeneficiaryRegId(nurseUtilityClass.getBeneficiaryRegID()); cervicalCancerScreening.setVisitcode(nurseUtilityClass.getVisitCode()); -// cervicalCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); -// cervicalCancerScreening.setProcessed('N'); + // cervicalCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); + // cervicalCancerScreening.setProcessed('N'); if (cervicalCancerScreening.getId() == null) { cervicalCancerScreening.setCreatedBy(nurseUtilityClass.getModifiedBy()); @@ -1866,8 +1883,8 @@ public String updateNCDScreeningData(JsonObject requestOBJ) throws IEMRException oralCancerScreening.setBeneficiaryRegId(nurseUtilityClass.getBeneficiaryRegID()); oralCancerScreening.setVisitcode(nurseUtilityClass.getVisitCode()); -// oralCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); -// oralCancerScreening.setProcessed('N'); + // oralCancerScreening.setModifiedBy(nurseUtilityClass.getModifiedBy()); + // oralCancerScreening.setProcessed('N'); if (oralCancerScreening.getId() == null) { oralCancerScreening.setCreatedBy(nurseUtilityClass.getModifiedBy()); diff --git a/src/main/java/com/iemr/hwc/service/neonatal/NeonatalServiceImpl.java b/src/main/java/com/iemr/hwc/service/neonatal/NeonatalServiceImpl.java index da089c07..55640bd0 100644 --- a/src/main/java/com/iemr/hwc/service/neonatal/NeonatalServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/neonatal/NeonatalServiceImpl.java @@ -96,7 +96,7 @@ public class NeonatalServiceImpl implements NeonatalService { private GeneralOPDDoctorServiceImpl generalOPDDoctorServiceImpl; @Autowired private LabTechnicianServiceImpl labTechnicianServiceImpl; - + @Autowired private BenChiefComplaintRepo benChiefComplaintRepo; @Autowired @@ -236,7 +236,7 @@ public String saveNurseData(JsonObject requestOBJ, String Authorization) throws return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -261,6 +261,13 @@ public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { @Override @Transactional(rollbackFor = Exception.class) public int saveDoctorDataNNI(JsonObject requestOBJ, String Authorization) throws Exception { + + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + int saveSuccessFlag = 1; Long prescriptionID = null; @@ -384,7 +391,7 @@ public int saveDoctorDataNNI(JsonObject requestOBJ, String Authorization) throws } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = 1; @@ -702,14 +709,16 @@ public String getBeneficiaryImmunizationServiceDetails(Long beneficiaryRegID, Lo return resMap.toString(); } -// @Override -// public String getBenImmunizationServiceHistory(Long beneficiaryRegID) throws Exception { -// -// List rsList = immunizationServicesRepo.findByBeneficiaryRegIDAndDeleted(beneficiaryRegID, -// false); -// -// return new Gson().toJson(rsList); -// } + // @Override + // public String getBenImmunizationServiceHistory(Long beneficiaryRegID) throws + // Exception { + // + // List rsList = + // immunizationServicesRepo.findByBeneficiaryRegIDAndDeleted(beneficiaryRegID, + // false); + // + // return new Gson().toJson(rsList); + // } @Override public String getBenCaseRecordFromDoctorNNI(Long benRegID, Long visitCode) throws IEMRException { @@ -766,7 +775,7 @@ public String getNurseDataNNI(Long benRegID, Long visitCode) throws Exception { return resMap.toString(); } -/// ***************** update nurse data ***************************** + /// ***************** update nurse data ***************************** // update vitals & anthro /** @@ -919,6 +928,12 @@ public Long updateDoctorDataNNI(JsonObject requestOBJ, String Authorization) thr Long updateSuccessFlag = null; Long prescriptionID = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; @@ -1041,7 +1056,16 @@ public Long updateDoctorDataNNI(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } } @@ -1055,7 +1079,7 @@ public Long updateDoctorDataNNI(JsonObject requestOBJ, String Authorization) thr commonUtilityClass.setAuthorization(Authorization); int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = (long) 1; diff --git a/src/main/java/com/iemr/hwc/service/pnc/PNCServiceImpl.java b/src/main/java/com/iemr/hwc/service/pnc/PNCServiceImpl.java index a2846133..ebb0e37f 100644 --- a/src/main/java/com/iemr/hwc/service/pnc/PNCServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/pnc/PNCServiceImpl.java @@ -135,7 +135,7 @@ public void setPncNurseServiceImpl(PNCNurseServiceImpl pncNurseServiceImpl) { @Autowired private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; - + @Autowired private BenVisitDetailRepo benVisitDetailRepo; @Autowired @@ -257,7 +257,7 @@ public String savePNCNurseData(JsonObject requestOBJ, String Authorization) thro } return new Gson().toJson(responseMap); } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -314,6 +314,11 @@ public Long savePNCDoctorData(JsonObject requestOBJ, String Authorization) throw Integer prescriptionSuccessFlag = null; Long referSaveSuccessFlag = null; // Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; @@ -417,7 +422,16 @@ public Long savePNCDoctorData(JsonObject requestOBJ, String Authorization) throw tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -448,7 +462,7 @@ public Long savePNCDoctorData(JsonObject requestOBJ, String Authorization) throw } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) saveSuccessFlag = diagnosisSuccessFlag; @@ -1546,6 +1560,12 @@ public Long updatePNCDoctorData(JsonObject requestOBJ, String Authorization) thr Long referSaveSuccessFlag = null; // Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (requestOBJ.has("doctorSignatureFlag") + && !requestOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = requestOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + if (requestOBJ != null) { TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; @@ -1651,7 +1671,16 @@ public Long updatePNCDoctorData(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1683,7 +1712,7 @@ public Long updatePNCDoctorData(JsonObject requestOBJ, String Authorization) thr } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, - isTestPrescribed, isMedicinePrescribed, tcRequestOBJ); + isTestPrescribed, isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = investigationSuccessFlag; diff --git a/src/main/java/com/iemr/hwc/service/quickConsultation/QuickConsultationServiceImpl.java b/src/main/java/com/iemr/hwc/service/quickConsultation/QuickConsultationServiceImpl.java index d7b97e1a..32bc8472 100644 --- a/src/main/java/com/iemr/hwc/service/quickConsultation/QuickConsultationServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/quickConsultation/QuickConsultationServiceImpl.java @@ -100,7 +100,7 @@ public class QuickConsultationServiceImpl implements QuickConsultationService { private BenVisitDetailRepo benVisitDetailRepo; @Autowired private CDSSRepo cdssRepo; - + @Autowired private BenAdherenceRepo benAdherenceRepo; @@ -209,91 +209,94 @@ public String quickConsultNurseDataInsert(JsonObject jsnOBJ, String Authorizatio BeneficiaryVisitDetail benVisitDetailsOBJ = InputMapper.gson().fromJson(jsnOBJ.get("visitDetails"), BeneficiaryVisitDetail.class); - int i=commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(),benVisitDetailsOBJ.getVisitReason(),benVisitDetailsOBJ.getVisitCategory()); - if(i<1) { - Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ, nurseUtilityClass.getSessionID()); - - // 11-06-2018 visit code - benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), - nurseUtilityClass.getSessionID()); - // Getting benflowID for ben status update - Long benFlowID = null; - // if (jsnOBJ.has("benFlowID")) { - // benFlowID = jsnOBJ.get("benFlowID").getAsLong(); - // } - - // Above if block code replaced by below line - benFlowID = nurseUtilityClass.getBenFlowID(); - - if (benVisitID != null && benVisitID > 0) { - - nurseUtilityClass.setVisitCode(benVisitCode); - nurseUtilityClass.setBenVisitID(benVisitID); - - tcRequestOBJ = commonServiceImpl.createTcRequest(jsnOBJ, nurseUtilityClass, Authorization); - - BenAnthropometryDetail benAnthropometryDetail = InputMapper.gson().fromJson(jsnOBJ.get("vitalsDetails"), - BenAnthropometryDetail.class); - benAnthropometryDetail.setBenVisitID(benVisitID); - benAnthropometryDetail.setVisitCode(benVisitCode); - Long benAnthropometryID = commonNurseServiceImpl - .saveBeneficiaryPhysicalAnthropometryDetails(benAnthropometryDetail); - BenPhysicalVitalDetail benPhysicalVitalDetail = InputMapper.gson().fromJson(jsnOBJ.get("vitalsDetails"), - BenPhysicalVitalDetail.class); - benPhysicalVitalDetail.setBenVisitID(benVisitID); - benPhysicalVitalDetail.setVisitCode(benVisitCode); - Long benPhysicalVitalID = commonNurseServiceImpl - .saveBeneficiaryPhysicalVitalDetails(benPhysicalVitalDetail); - - - //Chief Complaint QC update - Long benChiefComplaintID = null; - JsonArray chiefComplaintArray = jsnOBJ.getAsJsonArray("chiefComplaintList"); - - for (JsonElement element : chiefComplaintArray) { - JsonObject complaint = element.getAsJsonObject(); - complaint.addProperty("benVisitID", benVisitID); - complaint.addProperty("visitCode", benVisitCode); - } - - benChiefComplaintID = saveBeneficiaryChiefComplaint(jsnOBJ); - - if (benAnthropometryID != null && benAnthropometryID > 0 && benPhysicalVitalID != null - && benPhysicalVitalID > 0 && benChiefComplaintID != null && benChiefComplaintID > 0) { - // Integer i = commonNurseServiceImpl.updateBeneficiaryStatus('N', - // benVisitDetailsOBJ.getBeneficiaryRegID()); + int i = commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(), + benVisitDetailsOBJ.getVisitReason(), benVisitDetailsOBJ.getVisitCategory()); + if (i < 1) { + Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ, + nurseUtilityClass.getSessionID()); + + // 11-06-2018 visit code + benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), + nurseUtilityClass.getSessionID()); + // Getting benflowID for ben status update + Long benFlowID = null; + // if (jsnOBJ.has("benFlowID")) { + // benFlowID = jsnOBJ.get("benFlowID").getAsLong(); + // } + + // Above if block code replaced by below line + benFlowID = nurseUtilityClass.getBenFlowID(); + + if (benVisitID != null && benVisitID > 0) { + + nurseUtilityClass.setVisitCode(benVisitCode); + nurseUtilityClass.setBenVisitID(benVisitID); + + tcRequestOBJ = commonServiceImpl.createTcRequest(jsnOBJ, nurseUtilityClass, Authorization); + + BenAnthropometryDetail benAnthropometryDetail = InputMapper.gson().fromJson( + jsnOBJ.get("vitalsDetails"), + BenAnthropometryDetail.class); + benAnthropometryDetail.setBenVisitID(benVisitID); + benAnthropometryDetail.setVisitCode(benVisitCode); + Long benAnthropometryID = commonNurseServiceImpl + .saveBeneficiaryPhysicalAnthropometryDetails(benAnthropometryDetail); + BenPhysicalVitalDetail benPhysicalVitalDetail = InputMapper.gson().fromJson( + jsnOBJ.get("vitalsDetails"), + BenPhysicalVitalDetail.class); + benPhysicalVitalDetail.setBenVisitID(benVisitID); + benPhysicalVitalDetail.setVisitCode(benVisitCode); + Long benPhysicalVitalID = commonNurseServiceImpl + .saveBeneficiaryPhysicalVitalDetails(benPhysicalVitalDetail); + + // Chief Complaint QC update + Long benChiefComplaintID = null; + JsonArray chiefComplaintArray = jsnOBJ.getAsJsonArray("chiefComplaintList"); + + for (JsonElement element : chiefComplaintArray) { + JsonObject complaint = element.getAsJsonObject(); + complaint.addProperty("benVisitID", benVisitID); + complaint.addProperty("visitCode", benVisitCode); + } - returnOBJ = 1; - /** - * We have to write new code to update ben status flow new logic - */ + benChiefComplaintID = saveBeneficiaryChiefComplaint(jsnOBJ); - int j = updateBenStatusFlagAfterNurseSaveSuccess(benVisitDetailsOBJ, benVisitID, benFlowID, - benVisitCode, nurseUtilityClass.getVanID(), tcRequestOBJ); + if (benAnthropometryID != null && benAnthropometryID > 0 && benPhysicalVitalID != null + && benPhysicalVitalID > 0 && benChiefComplaintID != null && benChiefComplaintID > 0) { + // Integer i = commonNurseServiceImpl.updateBeneficiaryStatus('N', + // benVisitDetailsOBJ.getBeneficiaryRegID()); - if (j > 0) returnOBJ = 1; - else - throw new RuntimeException( - "Error occurred while saving data. Beneficiary status update failed"); - - if (j > 0 && tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { - int k = sMSGatewayServiceImpl.smsSenderGateway("schedule", - nurseUtilityClass.getBeneficiaryRegID(), tcRequestOBJ.getSpecializationID(), - tcRequestOBJ.getTmRequestID(), null, nurseUtilityClass.getCreatedBy(), - tcRequestOBJ.getAllocationDate() != null - ? String.valueOf(tcRequestOBJ.getAllocationDate()) - : "", - null, Authorization); + /** + * We have to write new code to update ben status flow new logic + */ + + int j = updateBenStatusFlagAfterNurseSaveSuccess(benVisitDetailsOBJ, benVisitID, benFlowID, + benVisitCode, nurseUtilityClass.getVanID(), tcRequestOBJ); + + if (j > 0) + returnOBJ = 1; + else + throw new RuntimeException( + "Error occurred while saving data. Beneficiary status update failed"); + + if (j > 0 && tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { + int k = sMSGatewayServiceImpl.smsSenderGateway("schedule", + nurseUtilityClass.getBeneficiaryRegID(), tcRequestOBJ.getSpecializationID(), + tcRequestOBJ.getTmRequestID(), null, nurseUtilityClass.getCreatedBy(), + tcRequestOBJ.getAllocationDate() != null + ? String.valueOf(tcRequestOBJ.getAllocationDate()) + : "", + null, Authorization); + } + + } else { + throw new RuntimeException("Error occurred while saving data"); } - } else { - throw new RuntimeException("Error occurred while saving data"); + throw new RuntimeException("Error occurred while creating beneficiary visit"); } } else { - throw new RuntimeException("Error occurred while creating beneficiary visit"); - } - } else { Map responseMap = new HashMap(); responseMap.put("response", "Data already saved"); return new Gson().toJson(responseMap); @@ -313,7 +316,7 @@ public String quickConsultNurseDataInsert(JsonObject jsnOBJ, String Authorizatio return new Gson().toJson(responseMap); // return returnOBJ; } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -370,6 +373,12 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St Long referSaveSuccessFlag = null; // Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (quickConsultDoctorOBJ.has("doctorSignatureFlag") + && !quickConsultDoctorOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = quickConsultDoctorOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(quickConsultDoctorOBJ, @@ -379,7 +388,7 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St Long benChiefComplaintID = saveBeneficiaryChiefComplaint(quickConsultDoctorOBJ); Long clinicalObservationID = saveBeneficiaryClinicalObservations(quickConsultDoctorOBJ); - + // generate prescription Long prescriptionID = commonNurseServiceImpl.saveBeneficiaryPrescription(quickConsultDoctorOBJ); @@ -408,14 +417,24 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + // Use the modified method to get both count and IDs + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store the drug IDs in the JsonObject for later retrieval in controller + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + quickConsultDoctorOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } } else { prescriptionSuccessFlag = 1; } - + // save prescribed lab test if (isTestPrescribed) { Long i = commonNurseServiceImpl.saveBeneficiaryLabTestOrderDetails(quickConsultDoctorOBJ, prescriptionID); @@ -465,7 +484,7 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St } // call method to update beneficiary flow table int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) returnOBJ = 1; @@ -496,18 +515,17 @@ public String getBenDataFrmNurseToDocVisitDetailsScreen(Long benRegID, Long visi CDSS cdssObj = commonNurseServiceImpl.getCdssDetails(benRegID, visitCode); String benChiefComplaintsJson = commonNurseServiceImpl.getBenChiefComplaints(benRegID, visitCode); - BenChiefComplaint[] complaintsArray = gson.fromJson(benChiefComplaintsJson, BenChiefComplaint[].class); - List benChiefComplaints = Arrays.asList(complaintsArray); - + BenChiefComplaint[] complaintsArray = gson.fromJson(benChiefComplaintsJson, BenChiefComplaint[].class); + List benChiefComplaints = Arrays.asList(complaintsArray); if (null != benVisitDetailsOBJ) { resMap.put("benVisitDetails", benVisitDetailsOBJ); } - if (benChiefComplaints != null && !benChiefComplaints.isEmpty()) { - resMap.put("BenChiefComplaints", benChiefComplaints); - } - if(cdssObj != null) { + if (benChiefComplaints != null && !benChiefComplaints.isEmpty()) { + resMap.put("BenChiefComplaints", benChiefComplaints); + } + if (cdssObj != null) { resMap.put("cdss", cdssObj); } @@ -524,7 +542,7 @@ public String getBeneficiaryVitalDetails(Long beneficiaryRegID, Long visitCode) return resMap.toString(); } - + public String getBeneficiaryCdssDetails(Long beneficiaryRegID, Long benVisitID) { Map resMap = new HashMap<>(); @@ -539,7 +557,7 @@ public String getBenQuickConsultNurseData(Long benRegID, Long visitCode) { Map resMap = new HashMap<>(); resMap.put("vitals", getBeneficiaryVitalDetails(benRegID, visitCode)); - + resMap.put("cdss", getBeneficiaryCdssDetails(benRegID, visitCode)); return resMap.toString(); @@ -580,6 +598,12 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin Integer tcRequestStatusFlag = null; + Boolean doctorSignatureFlag = false; + if (quickConsultDoctorOBJ.has("doctorSignatureFlag") + && !quickConsultDoctorOBJ.get("doctorSignatureFlag").isJsonNull()) { + doctorSignatureFlag = quickConsultDoctorOBJ.get("doctorSignatureFlag").getAsBoolean(); + } + TeleconsultationRequestOBJ tcRequestOBJ = null; // TcSpecialistSlotBookingRequestOBJ tcSpecialistSlotBookingRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(quickConsultDoctorOBJ, @@ -633,7 +657,17 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + // Use the modified method to get both count and IDs + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store the drug IDs in the JsonObject for later retrieval in controller + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + quickConsultDoctorOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescribedDrugSuccessFlag = new Long(1); } @@ -688,7 +722,7 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, isTestPrescribed, - isMedicinePrescribed, tcRequestOBJ); + isMedicinePrescribed, tcRequestOBJ, doctorSignatureFlag); if (i > 0) updateSuccessFlag = benChiefComplaintID;