Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions onprc_ehr/resources/queries/onprc_ehr/MedsEndDateAlert.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@

Added Diet to the list by Kollil on 5/14/25. Refer to tkt #12506
5. E-X1380 - Diet Daily (Non-standard), 5LOP (TAD)

Added Diet to the list by Kollil on 8/5/2026. Refer to tkt #15123
6. E-YYY85 - Diet, 5000 Chow
*/
SELECT
Id,
date,
CAST(date AS DATE) AS date,
enddate,
frequency,
frequency.meaning as frequency,
treatmenttimes,
project,
project.displayname as project,
code,
volumewithunits,
concentrationwithunits,
Expand All @@ -25,10 +28,11 @@ SELECT
performedby,
remark,
reason,
modifiedby,
modified,
modifiedby.displayname as modifiedby,
CAST(modified AS DATE) AS modified,
category,
qcstate.label as qcstate,
taskid.rowid as TaskId
FROM study.treatment_order
WHERE code NOT IN ('E-85760', 'E-Y7735', 'E-X0500', 'E-Y9750', 'E-X1380')
WHERE code NOT IN ('E-85760', 'E-Y7735', 'E-X0500', 'E-Y9750', 'E-X1380', 'E-YYY85')
AND enddate is null
7 changes: 5 additions & 2 deletions onprc_ehr/resources/scripts/onprc_ehr/onprc_triggers.js
Original file line number Diff line number Diff line change
Expand Up @@ -1064,12 +1064,15 @@ exports.init = function(EHR){

Added Diet to the list by Kollil on 5/14/25. Refer to tkt #12506
5. E-X1380 - Diet Daily (Non-standard), 5LOP (TAD)

Added Diet to the list by Kollil on 8/5/2026. Refer to tkt #15123
6. E-YYY85 - Diet, 5000 Chow
*/

if (row.code != 'E-85760' && row.code != 'E-Y7735' && row.code != 'E-X0500' &&
row.code != 'E-Y9750' && row.code != 'E-X1380' && !row.enddate) {
row.code != 'E-Y9750' && row.code != 'E-X1380' && row.code != 'E-YYY85' && !row.enddate) {
EHR.Server.Utils.addError(scriptErrors, 'enddate', 'Must enter enddate', 'WARN');
}

//Added by Kollil, 9/15/25
/* MPA validation, as per ticket #9669
Add validation code to ensure that MPA is ordered for the correct day:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,14 @@ private void MedsEndDateAlert(Container c, User u, final StringBuilder msg, fina
" <br>2. E-Y7735 (Diet - Weekly Multivitamin)" +
" <br>3. E-X0500 (Diet, L-Phyto (Low-phytoestrogen)) " +
" <br>4. E-Y9750 (Diet, 5047 High Protein, Jumbo) " +
" <br>5. E-X1380 (Diet Daily (Non-standard), 5LOP (TAD)) <hr>");
" <br>5. E-X1380 (Diet Daily (Non-standard), 5LOP (TAD)) " +
" <br>6. E-YYY85 (5000 Chow) <hr>");
}
else if (count > 0)
{
//Display the report link on the notification page
msg.append("<br><b>" + count + " treatment order(s) found with missing end dates</b><br><br>");
msg.append("<p><a href='" + getExecuteQueryUrl(c, "onprc_ehr", "MedsEndDateAlert", null) + "'>Click here to view the treatments</a></p>\n");
msg.append("<br>" + count + " treatment order(s) found with missing end dates. ");
msg.append("<a href='" + getExecuteQueryUrl(c, "onprc_ehr", "MedsEndDateAlert", null) + "'>Click here to view the Medications/Diets in a grid view</a>\n");
msg.append("<hr>");

//Display the report in the email
Expand All @@ -134,40 +135,41 @@ else if (count > 0)
columns.add(FieldKey.fromString("modifiedby"));
columns.add(FieldKey.fromString("modified"));
columns.add(FieldKey.fromString("category"));
columns.add(FieldKey.fromString("qcstate"));
columns.add(FieldKey.fromString("taskid"));

final Map<FieldKey, ColumnInfo> colMap = QueryService.get().getColumns(ti, columns);
TableSelector ts2 = new TableSelector(ti, colMap.values(), null, new Sort("date"));

// Table header
msg.append("<table border=1 style='border-collapse: collapse;'>");
msg.append("<tr>");
msg.append("<br><table border=1 style='border-collapse: collapse;'>");

msg.append("<table border=1 style='border-collapse: collapse; border: 1px solid black;'>");
msg.append("<tr bgcolor = " + '"' + "#00FF7F" + '"' + "style='font-weight: bold;'>");
msg.append("<td> Id </td><td> Begin Date </td><td> End Date </td><td> Frequency </td><td> Times </td><td> Charge To </td><td> Treatment </td><td> Volume </td><td> Concentration </td><td> Amount </td><td> Route </td><td> Ordered By </td><td> Remark </td><td> Reason </td><td> Modified By </td><td> Modified Date </td><td> Category </td><td> Task Id </td></tr>");
msg.append("<td> Id </td><td> Begin Date </td><td> End Date </td><td> Frequency </td><td> Times </td><td> Charge To </td><td> Treatment </td><td> Volume </td><td> Concentration </td><td> Amount </td><td> Route </td><td> Ordered By </td><td> Remark </td><td> Reason </td><td> Modified By </td><td> Modified Date </td><td> Category </td><td> QCState </td><td> Task Id </td></tr>");

ts2.forEach(object -> {
Results rs = new ResultsImpl(object, colMap);
String url = getParticipantURL(c, rs.getString("Id"));

msg.append("<td> <a href='" + url + "'>" + PageFlowUtil.filter(rs.getString("Id")) + "</a></td>\n");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("date")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("enddate")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("frequency")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("treatmentTimes")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("project")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("code")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("volumewithunits")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("concentrationwithunits")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("amountwithunits")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("route")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("performedby")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("remark")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("reason")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("modifiedby")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("modified")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("category")) + "</td>");
msg.append("<td>" + PageFlowUtil.filter(rs.getString("taskid")) + "</td>");
msg.append("<td style='border: 1px solid black;'><b> <a href='" + url + "'>" + PageFlowUtil.filter(rs.getString("Id")) + "</a> </b></td>\n");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("date")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("enddate")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("frequency")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("treatmentTimes")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("project")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("code")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("volumewithunits")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("concentrationwithunits")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("amountwithunits")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("route")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("performedby")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("remark")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("reason")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("modifiedby")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("modified")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("category")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("qcstate")) + "</td>");
msg.append("<td style='border: 1px solid black;'>" + PageFlowUtil.filter(rs.getString("taskid")) + "</a> </b></td>\n");
msg.append("</tr>");
});
msg.append("</table>");
Expand Down