diff --git a/src/main/java/org/oscarehr/casemgmt/web/CaseManagementEntry2Action.java b/src/main/java/org/oscarehr/casemgmt/web/CaseManagementEntry2Action.java index 6dbd09f19e4..f03c90fbbbc 100644 --- a/src/main/java/org/oscarehr/casemgmt/web/CaseManagementEntry2Action.java +++ b/src/main/java/org/oscarehr/casemgmt/web/CaseManagementEntry2Action.java @@ -32,6 +32,7 @@ import org.apache.commons.lang.math.NumberUtils; import org.apache.logging.log4j.Logger; import org.apache.struts2.ServletActionContext; +import org.apache.struts2.interceptor.SessionAware; import org.oscarehr.PMmodule.dao.ProgramProviderDAO; import org.oscarehr.PMmodule.dao.ProviderDao; import org.oscarehr.PMmodule.model.Program; @@ -89,7 +90,7 @@ import java.text.SimpleDateFormat; import java.util.*; -public class CaseManagementEntry2Action extends ActionSupport { +public class CaseManagementEntry2Action extends ActionSupport implements SessionAware { HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); @@ -109,7 +110,11 @@ public String execute() throws Exception { logger.error(message); return null; } - String method = request.getParameter("method"); + + restoreFromSession(); + + String method = request.getParameter("method") != null ? request.getParameter("method") : (String) request.getAttribute("method"); + if ("setUpMainEncounter".equals(method)) { return setUpMainEncounter(); } else if ("isNoteEdited".equals(method)) { @@ -205,7 +210,8 @@ public String edit() throws Exception { return null; } - this.setChain(""); + CaseManagementEntryFormBean cform = new CaseManagementEntryFormBean(); + cform.setChain(""); request.setAttribute("change_flag", "false"); request.setAttribute("from", "casemgmt"); @@ -279,7 +285,7 @@ public String edit() throws Exception { logger.debug("Get Issues and filter them " + String.valueOf(current - start)); start = current; - this.setDemoNo(demono); + cform.setDemoNo(demono); CaseManagementNote note = null; String nId = request.getParameter("noteId"); @@ -411,8 +417,8 @@ else if (nId != null && !"null".equalsIgnoreCase(nId) && Integer.parseInt(nId) > start = current; // put the new/retrieved not in the form object for rendering on page - this.setCaseNote(note); - logger.debug("note in cform " + this.getCaseNote_note()); + cform.setCaseNote(note); + logger.debug("note in cform " + cform.getCaseNote_note()); /* set issue checked list */ // get issues for current demographic, based on provider rights @@ -458,11 +464,11 @@ else if (nId != null && !"null".equalsIgnoreCase(nId) && Integer.parseInt(nId) > current = System.currentTimeMillis(); - this.setIssueCheckList(checkedList); + cform.setIssueCheckList(checkedList); - this.setSign("off"); - if (!note.isIncludeissue()) this.setIncludeIssue("off"); - else this.setIncludeIssue("on"); + cform.setSign("off"); + if (!note.isIncludeissue()) cform.setIncludeIssue("off"); + else cform.setIncludeIssue("on"); boolean passwd = caseManagementMgr.getEnabled(); String chain = request.getParameter("chain"); @@ -481,15 +487,15 @@ else if (nId != null && !"null".equalsIgnoreCase(nId) && Integer.parseInt(nId) > if (casemgmtNoteLock.isLocked()) { note = makeNewNote(providerNo, demono, request); - this.setCaseNote(note); + cform.setCaseNote(note); } session.setAttribute("casemgmtNoteLock" + demono, casemgmtNoteLock); String frmName = "caseManagementEntryForm" + demono; //logger.debug("Setting session form - " + frmName + " - " + String.valueOf(cform != null)); - logger.debug("note in cform " + this.getCaseNote_note()); - //session.setAttribute(frmName, cform); + logger.debug("note in cform " + cform.getCaseNote_note()); + mySessionMap.put(frmName, cform); String fwd, finalFwd = null; if (chain != null && chain.length() > 0) { @@ -1213,6 +1219,7 @@ public String issueNoteSave() throws Exception { return null; } + this.setReloadUrl("/CaseManagementView.do?" + reloadUrl); return "listCPPNotes"; } @@ -3754,6 +3761,24 @@ public void setCPPMedicalHistory(CaseManagementCPP cpp, String providerNo, List } } + private Map mySessionMap; + + @Override + public void setSession(Map session) { + this.mySessionMap = session; + } + + private void restoreFromSession() { + if (demographicNo != null) { + String sessionName = "caseManagementEntryForm" + demographicNo; + CaseManagementEntryFormBean sessionFrm = (CaseManagementEntryFormBean) mySessionMap.get(sessionName); + if (sessionFrm != null) { + this.issueCheckList = sessionFrm.getIssueCheckList(); + this.newIssueCheckList = sessionFrm.getNewIssueCheckList(); + } + } + } + private CaseManagementNote caseNote; private CaseManagementCPP cpp; private String demoNo; @@ -3795,6 +3820,8 @@ public void setCPPMedicalHistory(CaseManagementCPP cpp, String providerNo, List private Integer OscarMsgType; private Integer OscarMsgTypeLink; + private String reloadUrl; + public String getObservation_date() { return this.observation_date; } @@ -4091,6 +4118,14 @@ public void setMinuteOfEncTransportationTime(Integer minuteOfEncTransportationTi this.minuteOfEncTransportationTime = minuteOfEncTransportationTime; } + public String getReloadUrl() { + return reloadUrl; + } + + public void setReloadUrl(String reloadUrl) { + this.reloadUrl = reloadUrl; + } + /** * @return the OscarMsgType * diff --git a/src/main/java/org/oscarehr/casemgmt/web/CaseManagementView2Action.java b/src/main/java/org/oscarehr/casemgmt/web/CaseManagementView2Action.java index abf06bb64c9..3a3f88fcbed 100644 --- a/src/main/java/org/oscarehr/casemgmt/web/CaseManagementView2Action.java +++ b/src/main/java/org/oscarehr/casemgmt/web/CaseManagementView2Action.java @@ -119,7 +119,8 @@ public String execute() throws Exception { request.getSession().setAttribute("casemgmt_msgBeans", new ArrayList()); - String method = request.getParameter("method"); + String method = request.getParameter("method") != null ? request.getParameter("method") : (String) request.getAttribute("method"); + if ("saveAndExit".equals(method)) { return saveAndExit(); } else if ("save".equals(method)) { diff --git a/src/main/webapp/WEB-INF/classes/struts.xml b/src/main/webapp/WEB-INF/classes/struts.xml index c10d171421a..c278149f4fe 100644 --- a/src/main/webapp/WEB-INF/classes/struts.xml +++ b/src/main/webapp/WEB-INF/classes/struts.xml @@ -2146,7 +2146,9 @@ /casemgmt/newEncounterLayout.jsp /casemgmt/CaseManagementEntry.jsp /CaseManagementView.do?method=view - /CaseManagementView.do + + ${reloadUrl} + /casemgmt/IssueSearch.jsp /casemgmt/noDemo.jsp /casemgmt/close.jsp diff --git a/src/main/webapp/casemgmt/ChartNotes.jsp b/src/main/webapp/casemgmt/ChartNotes.jsp index de6d9913725..056e4afba13 100644 --- a/src/main/webapp/casemgmt/ChartNotes.jsp +++ b/src/main/webapp/casemgmt/ChartNotes.jsp @@ -188,13 +188,6 @@
-
@@ -527,7 +520,7 @@ String oscarMsgType = (String) request.getParameter("msgType"); String OscarMsgTypeLink = (String) request.getParameter("OscarMsgTypeLink"); %> - + diff --git a/src/main/webapp/casemgmt/forward.jsp b/src/main/webapp/casemgmt/forward.jsp index 2fa3a1af498..ac5fdcef7a3 100644 --- a/src/main/webapp/casemgmt/forward.jsp +++ b/src/main/webapp/casemgmt/forward.jsp @@ -44,7 +44,7 @@ String redirectURL; if ("true".equals(useNewCaseMgmt)) { - redirectURL = request.getContextPath() + "/CaseManagementEntry.do?method=setUpMainEncounter&from=casemgmt&chain=list&demographicNo=" + request.getParameter("demographicNo") + "&OscarMsgTypeLink=" + request.getParameter("OscarMsgTypeLink") + "&msgType=" + request.getParameter("msgType"); + redirectURL = request.getContextPath() + "/CaseManagementEntry.do?method=setUpMainEncounter&from=casemgmt&chain=list&demographicNo=" + request.getParameter("demographicNo") + "&providerNo=" + request.getParameter("providerNo") + "&OscarMsgTypeLink=" + request.getParameter("OscarMsgTypeLink") + "&msgType=" + request.getParameter("msgType"); } else { redirectURL = request.getContextPath() + "/CaseManagementView.do"; } diff --git a/src/main/webapp/casemgmt/noteIssueList.jsp b/src/main/webapp/casemgmt/noteIssueList.jsp index f14c5754fe1..3942db76e31 100644 --- a/src/main/webapp/casemgmt/noteIssueList.jsp +++ b/src/main/webapp/casemgmt/noteIssueList.jsp @@ -398,7 +398,7 @@ ${issueCheckList.issueDisplay.description} - +   Delete diff --git a/src/main/webapp/casemgmt/viewNotes.jsp b/src/main/webapp/casemgmt/viewNotes.jsp index 3438696e4c3..8c0ba789014 100644 --- a/src/main/webapp/casemgmt/viewNotes.jsp +++ b/src/main/webapp/casemgmt/viewNotes.jsp @@ -23,153 +23,230 @@ Ontario, Canada --%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> -<%@page import="org.apache.commons.lang.StringEscapeUtils" %> -<%@page import="oscar.util.ConversionUtils" %> -<%@page import="org.oscarehr.casemgmt.web.NoteDisplay" %> -<% long start = System.currentTimeMillis(); %> -<%@include file="/casemgmt/taglibs.jsp" %> + +<%@page import="org.apache.commons.lang.StringEscapeUtils"%> +<%@page import="oscar.util.ConversionUtils"%> +<%@page import="org.oscarehr.casemgmt.web.NoteDisplay"%> +<% long start = System.currentTimeMillis(); %> +<%@include file="/casemgmt/taglibs.jsp"%> <%@page - import="java.util.List, java.util.Set, java.util.Iterator, org.oscarehr.casemgmt.model.CaseManagementIssue, org.oscarehr.casemgmt.model.CaseManagementNoteExt" %> -<%@page import="org.oscarehr.common.model.Provider" %> -<%@page import="org.oscarehr.provider.web.CppPreferencesUIBean" %> -<%@page import="org.oscarehr.util.LoggedInInfo" %> -<%@page import="org.oscarehr.casemgmt.web.CaseManagementViewAction" %> -<%@page import="org.oscarehr.common.dao.UserPropertyDAO" %> -<%@page import="org.oscarehr.common.model.UserProperty" %> -<%@page import="org.oscarehr.common.model.PartialDate" %> -<%@page import="org.oscarehr.util.SpringUtils" %> -<%@page import="org.oscarehr.util.LoggedInInfo" %> -<%@ page import="java.util.ResourceBundle"%> + import="java.util.List, java.util.Set, java.util.Iterator, org.oscarehr.casemgmt.model.CaseManagementIssue, org.oscarehr.casemgmt.model.CaseManagementNoteExt, org.oscarehr.casemgmt.model.CaseManagementNote"%> +<%@page import="org.oscarehr.common.model.Provider"%> +<%@page import="org.oscarehr.provider.web.CppPreferencesUIBean"%> +<%@page import="org.oscarehr.util.LoggedInInfo"%> +<%@page import="org.oscarehr.casemgmt.web.CaseManagementViewAction"%> +<%@page import="org.oscarehr.common.dao.UserPropertyDAO"%> +<%@page import="org.oscarehr.common.model.UserProperty"%> +<%@page import="org.oscarehr.common.model.PartialDate"%> +<%@page import="org.oscarehr.util.SpringUtils"%> +<%@page import="org.oscarehr.util.LoggedInInfo"%> + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> + <% - String roleName$ = (String) session.getAttribute("userrole") + "," + (String) session.getAttribute("user"); - boolean authed = true; + String roleName$ = (String)session.getAttribute("userrole") + "," + (String) session.getAttribute("user"); + boolean authed=true; %> - <%authed = false; %> - <%response.sendRedirect(request.getContextPath() + "/securityError.jsp?type=_casemgmt.notes");%> + <%authed=false; %> + <%response.sendRedirect(request.getContextPath() + "/securityError.jsp?type=_casemgmt.notes");%> <% - if (!authed) { - return; - } - ResourceBundle bundle = ResourceBundle.getBundle("oscarResources", request.getLocale()); - String titleParam = request.getParameter("title"); - String titleMsg = bundle.getString(titleParam); + if(!authed) { + return; + } %> - + - - -
- - -
- - + + +
+ + +
+ + -num" value="${num}"> -threshold" value="0"> + + + <%! String getNoteExts(Long noteId, List lcme) { - StringBuffer strcme = new StringBuffer(); - for (CaseManagementNoteExt cme : lcme) { - if (cme.getNoteId().equals(noteId)) { - String key = cme.getKeyVal(); - String val = null; - if (key.contains(" Date")) { - val = readPartialDate(cme); - } else { - val = org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(cme.getValue()); - } - if (strcme.length() > 0) strcme.append(";"); - strcme.append(key + ";" + val); - } - } - return strcme.toString(); + StringBuffer strcme = new StringBuffer(); + for (CaseManagementNoteExt cme : lcme) { + if (cme.getNoteId().equals(noteId)) { + String key = cme.getKeyVal(); + String val = null; + if (key.contains(" Date")) { + val = readPartialDate(cme); + } else { + val = org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(cme.getValue()); + } + if (strcme.length()>0) strcme.append(";"); + strcme.append(key + ";" + val); + } + } + return strcme.toString(); } - String readPartialDate(CaseManagementNoteExt cme) { - String type = cme.getValue(); - String val = null; - - if (type != null && !type.trim().equals("")) { - if (type.equals(PartialDate.YEARONLY)) - val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(), "yyyy"); - else if (type.equals(PartialDate.YEARMONTH)) - val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(), "yyyy-MM"); - else val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(), "yyyy-MM-dd"); - } else { - val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(), "yyyy-MM-dd"); + String readPartialDate(CaseManagementNoteExt cme) { + String type = cme.getValue(); + String val = null; + + if (type!=null && !type.trim().equals("")) { + if (type.equals(PartialDate.YEARONLY)) + val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(),"yyyy"); + else if (type.equals(PartialDate.YEARMONTH)) + val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(),"yyyy-MM"); + else val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(),"yyyy-MM-dd"); + } else { + val = oscar.util.UtilDateUtilities.DateToString(cme.getDateValue(),"yyyy-MM-dd"); + } + return val; } - return val; - } %>