Initial Checking with all 820 MLMs
This commit is contained in:
177
MLMStripper/bin/Debug/FORM/FORM_SET_LAB_ORDER_24HR.mlm
Normal file
177
MLMStripper/bin/Debug/FORM/FORM_SET_LAB_ORDER_24HR.mlm
Normal file
@@ -0,0 +1,177 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_SET_LAB_ORDER_24hr;;
|
||||
mlmname: FORM_SET_LAB_ORDER_24hr;;
|
||||
arden: version 2.5;;
|
||||
version: 15.1;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Bryan Berkeybile, Allscripts Corp;;
|
||||
specialist: Bryan Berkeybile;;
|
||||
date: 2016-05-18;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: To select labs on an Orderset form, if available lab results not within 24 hours.
|
||||
;;
|
||||
explanation: Lab grouping on the Orderset form will be auto selected, if there are no results for the lab grouping within past 24 hours.
|
||||
|
||||
Change History
|
||||
2016.05.18 BB CSR# 34528: Created
|
||||
2016.07.15 BB Ticket# 2228125: Removing lab auto-selecting, if the patient does not have a visit type of "Inpatient", "Observation", or "Emergency" .
|
||||
11.20.2018 DJW CSR# 37100 Powerscribe - altered to call FORM_SET_MEDICAL_IMAGING_GRID_ITEM_DESELECT
|
||||
12.4.2018 STH CSR# 37682 Added call to the generic MLM to be used for the form MI CT PrepLbsPeriCar on "formopen" only. Used on CT Pericardocentesis {Go-Live 12/4/2018}
|
||||
;;
|
||||
keywords:
|
||||
;;
|
||||
citations:
|
||||
;;
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
|
||||
|
||||
(this_communication, // Communication object
|
||||
this_form, // Form object
|
||||
client_info_obj //Arden ClientInfo object
|
||||
) := argument;
|
||||
|
||||
|
||||
log_execution_info := FALSE;
|
||||
|
||||
if Called_By_Editor Then
|
||||
(ClientVisitGuid, ChartGuid, ClientGuid) := read last {ClientVisit: GUID, ChartGUID, ClientGUID};
|
||||
//(UserGUID ) := read last { UserInfo: GUID };
|
||||
|
||||
Else
|
||||
ClientVisitGuid := this_communication.ClientVisitGUID;
|
||||
ChartGuid := this_communication.ChartGUID;
|
||||
ClientGuid := this_communication.ClientGUID;
|
||||
endif;
|
||||
//[BB] 7/15/16
|
||||
//obtaning the patient visit type
|
||||
(Visit_Type) := read last { " select TypeCode"
|
||||
|| " from cv3clientvisit with (nolock) "
|
||||
|| " where clientguid = " || sql(ClientGUID)
|
||||
|| " and chartguid = " || sql(ChartGuid)
|
||||
|| " and guid = " || sql(ClientVisitGuid) };
|
||||
//[bb]
|
||||
|
||||
field_list:= this_form.fields;
|
||||
CallingEvent := this_communication.CallingEvent;
|
||||
CallingField := this_communication.CallingFieldName;
|
||||
FormName := this_form.Name;
|
||||
//ClientVisitGuid := this_communication.ClientVisitGUID;{{{SINGLE-QUOTE}}}
|
||||
//ChartGuid := this_communication.ChartGUID;
|
||||
//ClientGuid := this_communication.ClientGUID;
|
||||
|
||||
|
||||
Labs_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderCheckbox"
|
||||
and field_list.label = "Labs");
|
||||
Labs_fld_List := Labs_fld.Value;
|
||||
|
||||
|
||||
Labs_field_selected := labs_fld_list.isselected;
|
||||
|
||||
// pulling Order results from client
|
||||
(Lab_Results) := read
|
||||
{"SELECT DISTINCT o.Name AS {{{SINGLE-QUOTE}}}Orders{{{SINGLE-QUOTE}}} "
|
||||
|| " FROM CV3ClientVisit cv "
|
||||
|| " INNER JOIN CV3Client c ON cv.ClientGUID = c.GUID "
|
||||
|| " INNER JOIN CV3Order o ON cv.GUID = o.ClientVisitGUID AND o.ClientGUID = cv.ClientGUID ANd o.ChartGUID = cv.ChartGUID "
|
||||
|| " JOIN CV3BasicObservation bo ON o.GUID = bo.OrderGUID AND bo.ClientVisitGUID = cv.GUID AND bo.ClientGUID = c.GUID AND bo.ChartGUID = o.ChartGUID "
|
||||
|| " WHERE o.Name IN ({{{SINGLE-QUOTE}}}cbc no Diff (Hemogram Only){{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}CBC (Includes Diff){{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}CBC with Manual Diff{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}BUN{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Creatinine{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Prothrombin/INR{{{SINGLE-QUOTE}}}) "
|
||||
|| " AND cv.ClientGUID = " || SQL(ClientGuid)
|
||||
|| " AND bo.ArrivalDtm > getdate()-1 "
|
||||
};
|
||||
|
||||
// Additional labs
|
||||
|
||||
// pulling OrderItem results from client
|
||||
(Lab_Result_Battery) := read
|
||||
{"SELECT DISTINCT rci2.ItemName AS {{{SINGLE-QUOTE}}}Ords{{{SINGLE-QUOTE}}} "
|
||||
|| " FROM CV3ClientVisit cv "
|
||||
|| " INNER JOIN CV3Client c ON cv.ClientGUID = c.GUID "
|
||||
|| " INNER JOIN CV3Order o ON cv.GUID = o.ClientVisitGUID AND o.ClientGUID = cv.ClientGUID ANd o.ChartGUID = cv.ChartGUID "
|
||||
|| " JOIN CV3BasicObservation bo ON o.GUID = bo.OrderGUID AND bo.ClientVisitGUID = cv.GUID AND bo.ClientGUID = c.GUID AND bo.ChartGUID = o.ChartGUID "
|
||||
|| " JOIN CV3OrderCatalogMasterItem ocmi on o.OrderCatalogMasterItemGUID = ocmi.GUID "
|
||||
|| " JOIN CV3ResultCatalogItem rci ON rci.OrderMasterItemGUID = ocmi.guid "
|
||||
|| " JOIN CV3ResultComponent rcom ON rci.GUID = rcom.ItemParentGUID "
|
||||
|| " JOIN CV3ResultCatalogItem rci2 ON rcom.ItemChildGUID = rci2.GUID "
|
||||
|| " WHERE rci2.ItemName in ({{{SINGLE-QUOTE}}}BUN{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Creatinine Plasma/Serum{{{SINGLE-QUOTE}}})"
|
||||
|| " AND cv.ClientGUID = " || SQL(ClientGuid)
|
||||
|| " AND bo.ArrivalDtm > getdate()-1 "
|
||||
};
|
||||
//[BB] 7/15/16
|
||||
if ((trim(Visit_Type) in ("Inpatient","Observation","Emergency"))) then
|
||||
Inpat := true;
|
||||
else
|
||||
Inpat := false;
|
||||
endif;
|
||||
|
||||
|
||||
if Inpat = true Then
|
||||
//[bb]
|
||||
|
||||
If (("cbc no Diff (Hemogram Only)" in Lab_Results) or ("CBC (Includes Diff)" in Lab_Results) or ("CBC with Manual Diff" in Lab_Results ))
|
||||
THEN create_CBC := false; Else create_CBC := true; endif;
|
||||
if (("BUN" in Lab_Results) or ("BUN" in Lab_Result_Battery))
|
||||
THEN create_BUN := false; Else create_BUN := true; endif;
|
||||
if (("Creatinine" in Lab_Results) or ("Creatinine Plasma/Serum" in Lab_Result_Battery))
|
||||
THEN create_Cr := false; Else create_Cr := true; endif;
|
||||
if "Prothrombin/INR" in Lab_Results
|
||||
THEN create_PTINR := false; Else create_PTINR := true; endif;
|
||||
|
||||
|
||||
for x in 1 seqto (count Labs_fld_List) do
|
||||
aaa := Labs_fld_List[x];
|
||||
// ccc := Labs_fld.value.isselected;
|
||||
ddd := Labs_fld.value[x].isselected;
|
||||
ggg := Labs_fld.value[x];
|
||||
// eee := Labs_fld[x].value.isselected;
|
||||
|
||||
|
||||
if (ggg.name in( "cbc no Diff (Hemogram Only)" , "CBC (Includes Diff)" , "CBC with Manual Diff") AND create_CBC = true)
|
||||
or (ggg.name = "BUN" AND create_BUN = true)
|
||||
or (ggg.name = "Creatinine" AND create_Cr = true)
|
||||
or (ggg.name = "Prothrombin/INR" AND create_PTINR = true) then
|
||||
Labs_fld.value[x].isselected := true;
|
||||
else
|
||||
Labs_fld.value[x].isselected := false;
|
||||
endif;
|
||||
|
||||
Enddo;
|
||||
|
||||
else // Inpat = false
|
||||
|
||||
|
||||
|
||||
|
||||
// Call the Grid Deselect MLM
|
||||
|
||||
GridDeselectMLM:= mlm {{{SINGLE-QUOTE}}}FORM_SET_MEDICAL_IMAGING_GRID_ITEM_DESELECT{{{SINGLE-QUOTE}}};
|
||||
(this_communication,this_form,client_info_obj):= call GridDeselectMLM with this_communication,this_form,client_info_obj;
|
||||
|
||||
|
||||
endif; //[BB] 7/15/16
|
||||
|
||||
if ((CallingEvent = "FormOpen") and (formname = "MI CT PrepLbsPeriCar"))then
|
||||
GenericMLM := mlm {{{SINGLE-QUOTE}}}FORM_SET_GENERIC_ITEM_CONTROL{{{SINGLE-QUOTE}}};
|
||||
(this_communication,this_form,client_info_obj):= call GenericMLM with this_communication,this_form,client_info_obj;
|
||||
endif;
|
||||
;;
|
||||
|
||||
evoke:
|
||||
|
||||
;;
|
||||
logic:
|
||||
conclude true;
|
||||
;;
|
||||
action:
|
||||
|
||||
|
||||
return this_communication, this_form;
|
||||
|
||||
|
||||
;;
|
||||
Urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user