Initial Checking with all 820 MLMs
This commit is contained in:
168
MLMStripper/bin/Debug/FORM/FORM_MEDREC_FILLTEMPLATE.mlm
Normal file
168
MLMStripper/bin/Debug/FORM/FORM_MEDREC_FILLTEMPLATE.mlm
Normal file
@@ -0,0 +1,168 @@
|
||||
maintenance:
|
||||
|
||||
title: MEDREC_FILLTEMPLATE;;
|
||||
mlmname: FORM_MEDREC_FILLTEMPLATE;;
|
||||
arden: version 2;;
|
||||
version: 4.50;;
|
||||
institution: SCH;;
|
||||
author: Robert Spence Ext 7461;;
|
||||
specialist: ;;
|
||||
date: 2010-04-30;;
|
||||
validation: testing;;
|
||||
library:
|
||||
purpose: This MLM sets the fields in the order form to the correct data per Med Rec hence correcting child form issue.
|
||||
|
||||
;;
|
||||
explanation: Blah blah blah
|
||||
;;
|
||||
keywords: Called MLMs, Form fields, MED REC,OMP
|
||||
;;
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
|
||||
// This MLM is passed three arguments, of types
|
||||
// communication_type, form_type and client info object respectively.
|
||||
|
||||
(this_communication, // Communication object
|
||||
this_form, // Form object
|
||||
client_info_obj //Arden ClientInfo object
|
||||
) := argument;
|
||||
|
||||
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
||||
include standard_libs;
|
||||
|
||||
using "ObjectsPlusXA.SCM.Forms";
|
||||
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
||||
|
||||
|
||||
// marker
|
||||
// using "MoreThanOneMedRec";
|
||||
// using namespace "MoreThanOneMedRec";
|
||||
// test:= new net_object {{{SINGLE-QUOTE}}}MoreThanOne{{{SINGLE-QUOTE}}};
|
||||
// end of marker
|
||||
|
||||
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
||||
|
||||
/* Set to true if a decision.log is needed.*/
|
||||
log_execution_info := FALSE;
|
||||
|
||||
|
||||
// dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Where am I"
|
||||
// ,"Tester","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"STOP" as {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}},"Button2" as {{{SINGLE-QUOTE}}}MessageBoxDefaultButton{{{SINGLE-QUOTE}}};
|
||||
// Note: Dialog result proves that the objects + call will hold up the MLM, exactly what we wanted.
|
||||
|
||||
// Assigns fields passed in the Form object to the Field object
|
||||
field_list:= this_form.fields;
|
||||
prim_obj := this_communication.PrimaryObj;
|
||||
|
||||
frm_modify := prim_obj.Modifier;
|
||||
itemguid := this_communication.ItemID;
|
||||
|
||||
if (frm_modify matches pattern "%Med Reconciliation Order%" and prim_obj.IsForDischarge = false)
|
||||
then
|
||||
|
||||
itemguid := this_communication.ItemID;
|
||||
|
||||
orderguid:= prim_obj.GUID;
|
||||
ClientGuid:=this_communication.ClientGUID;
|
||||
|
||||
// tryme := CALL test.retrievedata with itemguid as string,clientguid as string;
|
||||
/* sqlstatement := " select ao.guid,isnull(orox.toorderguid,0),ao.frequencycode from CV3AlternateOrder as ao with (nolock) "
|
||||
|| " left join cv3orderreconcileorderxref as orox with (nolock) "
|
||||
|| " on orox.fromorderguid = ao.guid "
|
||||
|| " where ao.ordercatalogmasteritemguid = " || itemguid
|
||||
|| " and ao.clientguid = " || ClientGuid
|
||||
|| " and ao.repflags = 0 "
|
||||
|| " and orox.toorderguid is null ";
|
||||
tryme := CALL test.retrievedata with itemguid as string,clientguid as string, sqlstatement as string;
|
||||
*/
|
||||
fromguid,toguid,freqcode := read last {" select ao.guid,isnull(orox.toorderguid,0),ao.frequencycode from CV3AlternateOrder as ao with (nolock) "
|
||||
|| " left join cv3orderreconcileorderxref as orox with (nolock) "
|
||||
|| " on orox.fromorderguid = ao.guid "
|
||||
|| " where ao.ordercatalogmasteritemguid = " || sql(itemguid)
|
||||
|| " and ao.clientguid = " || sql(ClientGuid)
|
||||
|| " and ao.repflags = 0 "
|
||||
|| " and orox.toorderguid is null "
|
||||
};
|
||||
|
||||
|
||||
// dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Discharge Order? " || prim_obj.IsForDischarge
|
||||
// ,"Tester","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"STOP" as {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}},"Button2" as {{{SINGLE-QUOTE}}}MessageBoxDefaultButton{{{SINGLE-QUOTE}}};
|
||||
if fromguid is not null
|
||||
then
|
||||
dosesql, uomsql,routesql := read last{ " select me.dosagelow,me.uom,me.orderroutecode "
|
||||
|| " from cv3medicationextension as me with (nolock) "
|
||||
|| " where me.guid = " ||sql(fromguid)
|
||||
};
|
||||
|
||||
rxinstructsupper,rxinstructs := read last {" select upper(value),value from CV3OrderUserData with (nolock)"
|
||||
|| " WHERE ClientGUID = " || sql(ClientGUID)
|
||||
|| " and OrderGUID = " || sql(fromguid)
|
||||
|| " and userdatacode = {{{SINGLE-QUOTE}}}RX Instructions{{{SINGLE-QUOTE}}} "
|
||||
};
|
||||
|
||||
if (rxinstructs is not null) and (rxinstructs <> "") then
|
||||
if (rxinstructsupper matches pattern "%PRN%") or
|
||||
(rxinstructsupper matches pattern "%AS NEEDED%") or
|
||||
// (rxinstructsupper matches pattern "%LAST DOSE TAKEN%") or
|
||||
// (rxinstructsupper matches pattern "%DOSE UNKNOWN%") or
|
||||
(rxinstructsupper matches pattern "%FOR AGITATION%") or
|
||||
(rxinstructsupper matches pattern "%FOR ANXIETY%") or
|
||||
(rxinstructsupper matches pattern "%FOR CHEST PAIN%") or
|
||||
(rxinstructsupper matches pattern "%FOR CONSTIPATION%") or
|
||||
(rxinstructsupper matches pattern "%FOR DIARRHEA%") or
|
||||
(rxinstructsupper matches pattern "%FOR DIFFICULTY BREATHING%") or
|
||||
(rxinstructsupper matches pattern "%FOR FEVER%") or
|
||||
(rxinstructsupper matches pattern "%FOR HEADACHE%") or
|
||||
(rxinstructsupper matches pattern "%FOR ITCHING%") or
|
||||
(rxinstructsupper matches pattern "%FOR NAUSEA%") or
|
||||
(rxinstructsupper matches pattern "%FOR PAIN%") or
|
||||
(rxinstructsupper matches pattern "%FOR RESTLESSNESS%") or
|
||||
(rxinstructsupper matches pattern "%FOR SLEEP%") or
|
||||
(rxinstructsupper matches pattern "%FOR SPASMS%") or
|
||||
(rxinstructsupper matches pattern "%FOR WHEEZING%")
|
||||
then
|
||||
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "This order with Rx Instructions: \n\n" || rxinstructs
|
||||
|| "\n\nHas been identified as a possible PRN order\n\n"
|
||||
|| "Would you like to mark this order as PRN?"
|
||||
,"PRN ALERT","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"STOP" as {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}},"Button1" as {{{SINGLE-QUOTE}}}MessageBoxDefaultButton{{{SINGLE-QUOTE}}};
|
||||
|
||||
resulttext := dialogResult as string;
|
||||
|
||||
if resulttext = "Yes"
|
||||
then
|
||||
IsPRN := first of (field_list where field_list.DataItemName = "IsPRN");
|
||||
IsPRN.Value := true;
|
||||
endif;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
// do test on fields, see if we can hardcode them. remove this logic at stage 2
|
||||
dose := first of (field_list where field_list.DataItemName = "DosageLow");
|
||||
regular_freq := last of (field_list where field_list.DataItemName = "FrequencyCode");
|
||||
regular_freq_value := regular_freq.value;
|
||||
dose_route := first of (field_list where field_list.DataItemName = "OrderRouteCode");
|
||||
|
||||
dose.value := dosesql as number;
|
||||
regular_freq_value.FrequencySummary := freqcode;
|
||||
dose_route := routesql;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;;
|
||||
evoke: // No evoke statement
|
||||
;;
|
||||
logic:
|
||||
//oeUnsigned:=CALL test.ShowDialog;
|
||||
conclude true;
|
||||
;;
|
||||
action:
|
||||
// This MLM returns two parameters, of types communication_type and form_type respectively.
|
||||
return this_communication, this_form;
|
||||
;;
|
||||
end:
|
||||
Reference in New Issue
Block a user