Skip to content

Commit 8cfc3f3

Browse files
Merge 25.7 to develop
2 parents 5c7a2f9 + b7473f7 commit 8cfc3f3

2 files changed

Lines changed: 21 additions & 28 deletions

File tree

nirc_ehr/resources/queries/study/cases.js

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,29 @@ function onInit(event, helper) {
1515

1616
EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Events.BEFORE_UPSERT, 'study', 'cases', function(helper, errors, row, oldRow){
1717
if (!helper.isETL()) {
18+
var error = false;
1819
if (row.enddate) {
1920
if (!row.closeRemark) {
2021
EHR.Server.Utils.addError(errors, 'closeRemark', 'Close remark required when closing a case.', 'ERROR');
22+
error = true;
2123
}
2224

2325
if(!triggerHelper.canCloseCase(row.category)) {
2426
EHR.Server.Utils.addError(errors, 'enddate', 'Veterinarian permission required to close a case.', 'ERROR');
27+
error = true;
2528
}
2629
}
2730

31+
if (!row.performedby) {
32+
EHR.Server.Utils.addError(errors, 'performedby', 'Opened By is a required field.', 'ERROR');
33+
error = true;
34+
}
35+
2836
if (!helper.isValidateOnly() && row.caseid && row.enddate && (row.enddate != oldRow.enddate)) {
2937
triggerHelper.closeDailyClinicalObs(row.caseid, row.enddate);
3038
}
3139

32-
if (!helper.isValidateOnly()) {
40+
if (!helper.isValidateOnly() && !error) {
3341
var qc;
3442
if (row.QCStateLabel) {
3543
qc = EHR.Server.Security.getQCStateByLabel(row.QCStateLabel);
@@ -41,36 +49,21 @@ EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Even
4149
if (!qc) {
4250
console.error('Unable to find QCState: ' + row.QCState + '/' + row.QCStateLabel);
4351
}
44-
45-
// Don't allow taking an existing non-draft case back to draft
46-
if (oldRow && qc.Label == 'In Progress') {
47-
var oldQc = EHR.Server.Security.getQCStateByLabel(oldRow.QCStateLabel);
48-
if (oldQc.Label != 'In Progress') {
49-
EHR.Server.Utils.addError(errors, null, 'Cannot save a draft copy of a case already opened or in review.', 'ERROR');
50-
}
51-
}
5252
else {
53-
var reopen = oldRow && oldRow.enddate && !row.enddate;
54-
if ((reopen || helper.getEvent() == 'insert') && row.caseid && row.Id && row.performedby && row.taskid && row.category == 'Clinical') {
55-
var qc;
56-
if (row.QCStateLabel) {
57-
qc = EHR.Server.Security.getQCStateByLabel(row.QCStateLabel);
58-
}
59-
else if (row.QCState) {
60-
qc = EHR.Server.Security.getQCStateByRowId(row.QCState);
61-
}
6253

63-
if (!qc) {
64-
console.error('Unable to find QCState: ' + row.QCState + '/' + row.QCStateLabel);
54+
// Don't allow taking an existing non-draft case back to draft
55+
if (oldRow && qc.Label == 'In Progress') {
56+
var oldQc = EHR.Server.Security.getQCStateByLabel(oldRow.QCStateLabel);
57+
if (oldQc.Label != 'In Progress') {
58+
EHR.Server.Utils.addError(errors, null, 'Cannot save a draft copy of a case already opened or in review.', 'ERROR');
6559
}
66-
else if ((qc.Label == 'Completed' || qc.Label == 'Review Required') && row.caseid && row.Id && row.performedby && row.taskid && qc) {
67-
var ordersInTransaction = helper.getProperty('ordersInTransaction');
68-
var oit = [];
69-
if (ordersInTransaction && ordersInTransaction.length) {
70-
oit = ordersInTransaction;
71-
}
72-
triggerHelper.ensureDailyClinicalObservationOrders(row.Id, row.caseid, row.date, row.performedby, qc.RowId, row.taskid, oit);
60+
} else if (row.category == 'Clinical' && (qc.Label == 'Completed' || qc.Label == 'Review Required') && row.caseid && row.Id && row.performedby && row.taskid) {
61+
var ordersInTransaction = helper.getProperty('ordersInTransaction');
62+
var oit = [];
63+
if (ordersInTransaction && ordersInTransaction.length) {
64+
oit = ordersInTransaction;
7365
}
66+
triggerHelper.ensureDailyClinicalObservationOrders(row.Id, row.caseid, row.date, row.performedby, qc.RowId, row.taskid, oit);
7467
}
7568
}
7669
}

nirc_ehr/resources/views/datasets.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
cfg.items.push({
8181
xtype: 'ldk-linkbutton',
8282
tooltip: item.searchTooltip || 'Admin click to update records',
83-
href: LABKEY.ActionURL.buildURL('ehr', 'updateQuery', null, params),
83+
href: LABKEY.ActionURL.buildURL('ldk', 'updateQuery', null, params),
8484
text: 'Admin Update Records'
8585
});
8686
}

0 commit comments

Comments
 (0)