1096 lines
56 KiB
Plaintext
1096 lines
56 KiB
Plaintext
maintenance:
|
|
|
|
title: FORM_SET_Diabetic_Mgt;;
|
|
mlmname: FORM_SET_Diabetic_Mgt;;
|
|
arden: version 2.5;;
|
|
version: 16.3;;
|
|
institution: St Clair Hospital;;
|
|
author: Teresa Spicuzza, Allscripts ;;
|
|
specialist: St Clair Hospital;;
|
|
date: 2017-10-31;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Support best practice for diabetic management including standardized weight based calculation long and short acting insulin.
|
|
;;
|
|
|
|
explanation:
|
|
|
|
Change history
|
|
10.31.2017 TMS CSR 35723: Created to calculate interim insulin orders and/or enter other orders to manage patients with Diabetes
|
|
until a full review of home medications and hospital treatment is reviewed by the physician managing the patient.
|
|
11.13.2017 TMS CSR 35723: Updated to check blood glucose and present user with an alert box allowing them to enter
|
|
a dose to be given now based upon the sliding scale ordered from the algorithm.
|
|
07.24.2018 TMS CSR 36815: Updated to to increase the Insulin Total Daily Dose (TDD) for patients on IV corticosteroids to
|
|
0.5 units/kg (previously was 0.4) as well as increase the Total Daily Dose (TDD) for patients without steroids
|
|
and without GFR issues to 0.4 units/kg (previously was 0.3).
|
|
;;
|
|
keywords: Insulin, weight based, diabetic
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
local_session := CDS_SESSION.local;
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
// 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;
|
|
|
|
comm_obj := this_communication.primaryobj;
|
|
|
|
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
|
|
|
/* Set to true if a decision.log is needed.*/
|
|
log_execution_info := FALSE;
|
|
|
|
|
|
/***************************************************************************************/
|
|
|
|
// Initialize error message
|
|
error_message:="";
|
|
CR := 13 formatted with "%c";
|
|
LF := 10 formatted with "%c";
|
|
CRLF:= CR||LF;
|
|
TAB := 9 FORMATTED WITH "%C" ;
|
|
TAB2 := TAB || TAB ;
|
|
TAB3 := TAB || TAB || TAB;
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField := this_communication.CallingFieldName;
|
|
ClientGuid := this_communication.ClientGUID;
|
|
ClientVisitGuid := this_communication.ClientVisitGUID;
|
|
ChartGuid := this_communication.ChartGUID;
|
|
UserGuid := this_communication.UserGuid;
|
|
|
|
|
|
//Form fields
|
|
Endo_Consult:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
AND field_list.Control_MultiFieldOccNum = 5 );
|
|
Physician_Consult:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
AND field_list.Control_MultiFieldOccNum = 6 );
|
|
InsulinLowDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline"
|
|
AND field_list.Control_MultiFieldOccNum = 1);
|
|
InsulinModDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline"
|
|
AND field_list.Control_MultiFieldOccNum = 2);
|
|
InsulinHighDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline"
|
|
AND field_list.Control_MultiFieldOccNum = 3);
|
|
BasalInsulin:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
AND field_list.Control_MultiFieldOccNum = 2 );
|
|
CurrWeight := last of ( field_list WHERE field_list.DataItemName = "CombinedMeasurements"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
OrderInfo := last of ( field_list WHERE field_list.DataItemName = "PRX_NOTECOMMENT0"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
BGMFrequencyCode := last of ( field_list WHERE field_list.DataItemName = "FrequencyCode"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
BGMFrequency := BGMFrequencyCode.value;
|
|
|
|
|
|
SingleOral_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_SingleOralHomeMed"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
MultipleOralOrInsulin_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_MultipleOralOrInsulin"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
Diabetic_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientIsDiabetic"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
InsulinPump_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientOnInsulinPump"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
DietControlled_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientDietControlled"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
GFR_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_DM_GFR_LT_30"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
IvSteroid_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PtOnIvSteroids"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
Override_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Generic_CB"
|
|
AND field_list.Control_MultiFieldOccNum = 1 );
|
|
|
|
CurrentLoc := read last
|
|
{" select currentlocation from cv3clientvisit "
|
|
|| " where ClientGUID = " || SQL(clientguid)
|
|
|| " and GUID = " || SQL(clientvisitguid)};
|
|
|
|
|
|
|
|
InsulinLowDoseList := InsulinLowDose.value;
|
|
InsulinModDoseList := InsulinModDose.value;
|
|
InsulinHighDoseList := InsulinHighDose.value;
|
|
BasalInsulinList := BasalInsulin.value;
|
|
Physician_ConsultList := Physician_Consult.value;
|
|
Endo_ConsultList := Endo_Consult.value;
|
|
|
|
CalcDose := last of (field_list WHERE field_list.DataItemName = "DosageLow"
|
|
AND field_list.Control_MultiFieldOccNum = 1);
|
|
|
|
if exists CurrWeight then
|
|
CurrWeight_val := CurrWeight.Value;
|
|
wt := CurrWeight_val.weight;
|
|
fmtwt := wt formatted with "%.1f";
|
|
else
|
|
wtgm := read last
|
|
{ " Select Text from CV3PhysicalNoteDeclaration "
|
|
|| " where ClientGUID = " || SQL(clientguid)
|
|
|| " and ClientVisitGUID = " || SQL(clientvisitguid)
|
|
|| " and TypeCode = {{{SINGLE-QUOTE}}}weight{{{SINGLE-QUOTE}}} "
|
|
|| " order by Entered asc " };
|
|
wt := (wtgm as number) / 1000;
|
|
fmtwt := wt formatted with "%.1f";
|
|
endif;
|
|
|
|
If CallingEvent = "FormOpen" or (CallingEvent = "FieldChange" and CallingField = "CombinedMeasurements|1" and Override_CB.Value = False)
|
|
or (CallingEvent = "FieldChange" and CallingField = "PRX_Generic_CB|1" and Override_CB.Value = False) then
|
|
|
|
/*********************************BEGIN HEALTH ISSUE SECTION**********************************************/
|
|
|
|
HealthIssue := read last {" select distinct hi.ShortName
|
|
from cv3healthissuedeclaration hi with (nolock)
|
|
inner join cv3codedhealthissue chi with (nolock) on hi.CodedHealthIssueGUID = chi.guid and chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}})
|
|
where Clientguid = " || SQL (clientguid)
|
|
|| " and hi.active = 1
|
|
and Status in ({{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Chronic{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Retired Code{{{SINGLE-QUOTE}}})
|
|
and (((ICD10Code like {{{SINGLE-QUOTE}}}E10%{{{SINGLE-QUOTE}}}) or (ICD10Code like {{{SINGLE-QUOTE}}}E11%{{{SINGLE-QUOTE}}}) or (ICD10Code like {{{SINGLE-QUOTE}}}E09%{{{SINGLE-QUOTE}}}))
|
|
or ((ICD9Code like {{{SINGLE-QUOTE}}}250.%{{{SINGLE-QUOTE}}} and ICD10Code is null))
|
|
or ((ICD9Code like {{{SINGLE-QUOTE}}}249.%{{{SINGLE-QUOTE}}} and ICD10Code is null))
|
|
or ((chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}})) and ((chi.Code like {{{SINGLE-QUOTE}}}250.%{{{SINGLE-QUOTE}}}) or chi.Code like {{{SINGLE-QUOTE}}}249.%{{{SINGLE-QUOTE}}}))
|
|
or ((chi.TypeCode = {{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}}) and ((chi.Code like {{{SINGLE-QUOTE}}}E11%{{{SINGLE-QUOTE}}}) or chi.Code like {{{SINGLE-QUOTE}}}E09%{{{SINGLE-QUOTE}}})))"};
|
|
|
|
if exist HealthIssue then Patient_is_Diabetic := "Yes"; else Patient_is_Diabetic := "No"; endif;
|
|
|
|
If Patient_is_Diabetic = "Yes" then
|
|
Diabetic_CB.value := True;
|
|
Diabetic_CB.Control_Read_Only := True;
|
|
else
|
|
If Diabetic_CB.value = False then
|
|
dialogResult1 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve health issues for Diabetes. \n Does this patient have Diabetes? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
if((dialogResult1 as string) = "Yes") then
|
|
Diabetic_CB.value := True;
|
|
Diabetic_CB.Control_Read_Only := True;
|
|
else
|
|
Diabetic_CB.Control_Read_Only := False;
|
|
endif;
|
|
endif;
|
|
endif;
|
|
/***********************BEGIN INSULIN PUMP DOCUMENTATION SEARCH ********************************/
|
|
|
|
(InsulinPump) := read last {"select fsl.value "
|
|
|| " from CV3ClientDocument cd with (nolock) "
|
|
|| " join CV3ClientDocDetail cdd with (nolock) ON (cdd.ClientDocumentGUID = cd.GUID AND cdd.ClientGUID = " || SQL(clientguid) || " and cdd.active = 1) "
|
|
|| " left join CV3ObservationDocument od with (nolock) ON cdd.CLientDocumentGUID = od.OwnerGUID and od.active = 1 "
|
|
|| " join CV3ObsCatalogMasterItem ocmi with (nolock) on od.ObsMasterItemGUID = ocmi.GUID and ocmi.name in ({{{SINGLE-QUOTE}}}SCHCK type of insulin{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}SCHCK insulin pump type{{{SINGLE-QUOTE}}}) "
|
|
|| " left join SCMObsFSListValues fsl(nolock) ON (fsl.ParentGUID = od.ObservationDocumentGUID AND fsl.ClientGUID = " || SQL(clientguid) || ") "
|
|
|| " where cd.clientguid = " || SQL(clientguid) || " and cd.clientvisitguid = " || SQL(clientvisitguid)
|
|
|| " and cd.documentname in ({{{SINGLE-QUOTE}}}ED Triage Note{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}adult patient profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}OB Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Pediatric Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Newborn Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Test{{{SINGLE-QUOTE}}}) " };
|
|
|
|
if exist insulinPump then
|
|
Patient_on_Insulin_Pump := "Yes";
|
|
else
|
|
|
|
PumpHealthIssue := read last {" select distinct hi.ShortName
|
|
from cv3healthissuedeclaration hi with (nolock)
|
|
inner join cv3codedhealthissue chi with (nolock) on hi.CodedHealthIssueGUID = chi.guid and chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}})
|
|
where Clientguid = " || SQL (clientguid)
|
|
|| " and hi.active = 1
|
|
and Status in ({{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Chronic{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Retired Code{{{SINGLE-QUOTE}}})
|
|
and ((ICD10Code = {{{SINGLE-QUOTE}}}Z96.41{{{SINGLE-QUOTE}}})
|
|
or (ICD9Code = {{{SINGLE-QUOTE}}}V45.85{{{SINGLE-QUOTE}}} and ICD10Code is null)
|
|
or ((chi.TypeCode = {{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}}) and (chi.Code = {{{SINGLE-QUOTE}}}Z96.41{{{SINGLE-QUOTE}}})))"};
|
|
|
|
if exist pumpHealthIssue then Patient_on_Insulin_Pump := "Yes"; else Patient_on_Insulin_Pump := "No"; endif;
|
|
endif;
|
|
|
|
|
|
|
|
/***********************BEGIN HOME MEDICATION ORAL DIABETIC AGENT SEARCH********************************/
|
|
(OralHomeMed,rxid) := read { "select distinct cp.DrugName, cp.prescriptionid
|
|
from SXAAMBClientPrescription cp
|
|
inner join SXAMTDrugNameMapVW dnm on dnm.drug_synonym_id = cp.FormularyBrandKey
|
|
join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dnm.drug_id
|
|
join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id
|
|
where cp.ClientGUID = " || SQL(ClientGuid) || " and cp.statustype = {{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}}
|
|
and cat.category_name in ({{{SINGLE-QUOTE}}}dipeptidyl peptidase 4 inhibitors{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}antidiabetic combinations{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}sulfonylureas{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}biguanides{{{SINGLE-QUOTE}}})"};
|
|
|
|
if exist OralHomeMed then Patient_on_Oral_Home_Agent := "Yes"; else Patient_on_Oral_Home_Agent := "No"; endif;
|
|
|
|
HomeMedCount := count (OralHomeMed);
|
|
|
|
If Patient_on_Oral_Home_Agent = "Yes" then
|
|
If HomeMedCount = 1 then
|
|
SingleOralAgent := "Yes";
|
|
MultiOralAgent := "No";
|
|
else
|
|
SingleOralAgent := "No";
|
|
MultiOralAgent := "Yes";
|
|
endif;
|
|
endif;
|
|
|
|
|
|
/*********************************BEGIN HOME INSULIN SEARCH********************************************/
|
|
InsulinHomeMed := read last { "select distinct cp.DrugName
|
|
from SXAAMBClientPrescription cp
|
|
inner join SXAMTDrugNameMapVW dnm on dnm.drug_synonym_id = cp.FormularyBrandKey
|
|
join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dnm.drug_id
|
|
join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id
|
|
where cp.ClientGUID = " || SQL(ClientGuid) || " and cp.statustype = {{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}}
|
|
and cat.category_name = {{{SINGLE-QUOTE}}}insulin{{{SINGLE-QUOTE}}}
|
|
and cp.EndDate is null "};
|
|
if exist InsulinHomeMed then Patient_on_Home_Insulin := "Yes"; else Patient_on_Home_Insulin := "No"; endif;
|
|
|
|
/********************************* BEGIN DIET ORDER SEARCH********************************************/
|
|
NPO := read last { "select o.guid from cv3order o
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Other{{{SINGLE-QUOTE}}}
|
|
and ocmi.Name = {{{SINGLE-QUOTE}}}NPO{{{SINGLE-QUOTE}}}"};
|
|
|
|
Diet := read last { "select o.guid from cv3order o
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Other{{{SINGLE-QUOTE}}}
|
|
and ocmi.Name = {{{SINGLE-QUOTE}}}Diet{{{SINGLE-QUOTE}}}"};
|
|
//Unsubmitted Active NPO order determined by local session variable
|
|
if (local_session.SessionUnsubNPOOrder = true) then
|
|
UnsubNPOOrderExists := true;
|
|
endif;
|
|
|
|
//Unsubmitted Active Diet order determined by local session variable
|
|
if (local_session.SessionUnsubDietOrder = true) then
|
|
UnsubDietOrderExists := true;
|
|
endif;
|
|
|
|
|
|
/***********************BEGIN IV STEROID SEARCH ********************************/
|
|
|
|
IvAddSteroid := read last { "select o.guid from cv3order o
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID
|
|
join CV3MedicationExtension me on me.guid = o.guid
|
|
left join CV3OrderComponent oc on oc.OrderGUID = o.guid
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}}
|
|
and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}}
|
|
and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"};
|
|
|
|
IvSteroid := read last { " select o.guid from cv3order o
|
|
join CV3MedicationExtension me on me.guid = o.guid
|
|
left join CV3OrderComponent oc on oc.OrderGUID = o.guid
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = oc.OrderCatalogMasterItemGUID
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}}
|
|
and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}}
|
|
and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"};
|
|
|
|
IvSteroidTask := read {" select TaskStatusCode from CV3OrderTaskOccurrence oto
|
|
join cv3order o on o.guid = oto.OrderGUID
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.GUID = o.OrderCatalogMasterItemGUID
|
|
join CV3MedicationExtension me on me.guid = o.guid
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and oto.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}}
|
|
and oto.TaskStatusCode <> ({{{SINGLE-QUOTE}}}Canceled{{{SINGLE-QUOTE}}})
|
|
and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}}
|
|
and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"};
|
|
|
|
IvAddSteroidTask := read {" select TaskStatusCode from CV3OrderTaskOccurrence oto
|
|
join cv3order o on o.guid = oto.OrderGUID
|
|
join CV3MedicationExtension me on me.guid = o.guid
|
|
left join CV3OrderComponent oc on oc.OrderGUID = o.guid
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = oc.OrderCatalogMasterItemGUID
|
|
where clientvisitguid = " || SQL (clientvisitguid) || " and oto.clientguid = " || SQL (clientguid) ||"
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}}
|
|
and oto.TaskStatusCode <> ({{{SINGLE-QUOTE}}}Canceled{{{SINGLE-QUOTE}}})
|
|
and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}}
|
|
and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"};
|
|
|
|
if (local_session.SessionUnsubIVSteroidOrder = true) then
|
|
UnsubSteroidOrderExists := true;
|
|
endif;
|
|
|
|
if exist IvSteroid then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
elseif exist IvSteroidTask then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
elseif exist IvAddSteroid then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
elseif exist IvAddSteroidTask then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
elseif
|
|
UnsubSteroidOrderExists = True then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
else
|
|
Patient_on_IV_Steroid := "No";
|
|
IvSteroid_CB.value := False;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
endif;
|
|
|
|
/**************************GFR LAB VALUE SEARCH ***********************************/
|
|
|
|
Race := read last
|
|
{" Select RaceCode from cv3client where RaceCode like {{{SINGLE-QUOTE}}}%African%{{{SINGLE-QUOTE}}} and Guid = " ||SQL (clientguid)};
|
|
|
|
If Race is not null then
|
|
|
|
GFR, GFRName, GFRUom, AbnCode := read last
|
|
{"Select top 1 bo.value, bo.itemname, bo.UnitofMeasure, bo.AbnormalityCode "
|
|
|| " From cv3order as o with (nolock) "
|
|
|| " join cv3basicobservation as bo with (nolock) "
|
|
|| " on o.clientguid = bo.clientguid "
|
|
|| " and o.chartguid = bo.chartguid "
|
|
|| " and o.guid = bo.orderguid "
|
|
|| " and bo.status = {{{SINGLE-QUOTE}}}F{{{SINGLE-QUOTE}}} "
|
|
|| " and bo.Active = 1 "
|
|
|| " And bo.IsHistory = 0 "
|
|
|| " join cv3ordercatalogmasteritem as ocmi with (nolock) "
|
|
|| " on ocmi.guid = o.ordercatalogmasteritemguid "
|
|
|| " and ocmi.active = 1 "
|
|
|| " where o.clientguid = " || SQL(clientguid)
|
|
|| " and o.performeddtm >= (DATEADD(hour, -240, getdate())) "
|
|
|| " and bo.itemname = {{{SINGLE-QUOTE}}}GFR (African American){{{SINGLE-QUOTE}}} "
|
|
|| " order by o.performeddtm desc "
|
|
};
|
|
else
|
|
|
|
GFR, GFRName, GFRUom, AbnCode := read last
|
|
{"Select top 1 bo.value, bo.itemname, bo.UnitofMeasure, bo.AbnormalityCode "
|
|
|| " From cv3order as o with (nolock) "
|
|
|| " join cv3basicobservation as bo with (nolock) "
|
|
|| " on o.clientguid = bo.clientguid "
|
|
|| " and o.chartguid = bo.chartguid "
|
|
|| " and o.guid = bo.orderguid "
|
|
|| " and bo.status = {{{SINGLE-QUOTE}}}F{{{SINGLE-QUOTE}}} "
|
|
|| " and bo.Active = 1 "
|
|
|| " And bo.IsHistory = 0 "
|
|
|| " join cv3ordercatalogmasteritem as ocmi with (nolock) "
|
|
|| " on ocmi.guid = o.ordercatalogmasteritemguid "
|
|
|| " and ocmi.active = 1 "
|
|
|| " where o.clientguid = " || SQL(clientguid)
|
|
|| " and o.performeddtm >= (DATEADD(hour, -240, getdate())) "
|
|
|| " and bo.itemname = {{{SINGLE-QUOTE}}}GFR (Caucasian/Other){{{SINGLE-QUOTE}}} "
|
|
|| " order by o.performeddtm desc "
|
|
};
|
|
endif;
|
|
|
|
If ABNCode = "L" and (GFR as number ) < 30 then
|
|
Low_GFR := "Yes";
|
|
GFR_CB.value := True;
|
|
GFR_CB.Control_Read_Only := True;
|
|
elseif GFR is Null then
|
|
No_GFR := "Yes";
|
|
GFR_CB.value := False;
|
|
GFR_CB.Control_Read_Only := True;
|
|
else
|
|
Low_GFR := "No";
|
|
GFR_CB.value := False;
|
|
GFR_CB.Control_Read_Only := True;
|
|
endif;
|
|
|
|
|
|
|
|
If Patient_is_Diabetic = "Yes" and Patient_on_Insulin_Pump = "Yes" then
|
|
|
|
Endo_ConsultList.IsSelected := (True, True);
|
|
Physician_ConsultList.IsSelected := (True);
|
|
ThisMsg := "Patient on an Insulin Pump." || CRLF
|
|
|| "Place a STAT Endocrinology Consult.";
|
|
OrderInfo.value := ThisMsg;
|
|
InsulinPump_CB.value := True;
|
|
Diabetic_CB.value := True;
|
|
DietControlled_CB.value:= False;
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
SingleOral_CB.value := False;
|
|
DietControlled_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
|
|
ElseIf Patient_on_Insulin_Pump = "No" and Patient_on_Oral_Home_Agent = "No" and Patient_on_Home_Insulin = "No" then
|
|
|
|
|
|
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any home insulin or home oral diabetic agents. \n\n Please select {{{SINGLE-QUOTE}}}YES{{{SINGLE-QUOTE}}} to confirm that this patient does not take oral diabetic agents or insulin. ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
|
|
if((dialogResult as string) = "Yes") then
|
|
Patient_is_Diet_Controlled := "Yes";
|
|
DietControlled_CB.value := True;
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
MultipleOralOrInsulin_CB.Control_Read_Only := True;
|
|
SingleOral_CB.value := False;
|
|
SingleOral_CB.Control_Read_Only := True;
|
|
InsulinPump_CB.value := False;
|
|
InsulinPump_CB.Control_Read_Only := True;
|
|
|
|
if Diet is not null or UnsubDietOrderExists then
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
elseif NPO is not null or UnsubNPOOrderExists then
|
|
BGMFrequency.FrequencySummary := "Q6H";
|
|
else
|
|
dialogResult3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any diet orders. \n Is this patient NPO? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
if((dialogResult3 as string) = "Yes") then
|
|
BGMFrequency.FrequencySummary := "Q6H";
|
|
else
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
endif;
|
|
endif;
|
|
else
|
|
If this_communication.CatalogParentOrderSetGUID is not null then
|
|
|
|
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n You will need to re-open the Diabetic Management Protocol Order Set from the Review Screen before submitting orders to make any Parameter Selections." ,"Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
endif;
|
|
Patient_is_Diet_Controlled := "No";
|
|
DietControlled_CB.value := False;
|
|
Override_CB.value := True;
|
|
GFR_CB.Control_Read_Only := False;
|
|
IvSteroid_CB.Control_Read_only := False;
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
InsulinPump_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
|
|
endif;
|
|
endif;
|
|
|
|
if Patient_is_Diabetic = "Yes" and Patient_on_Insulin_Pump = "No" and (Patient_is_Diet_Controlled = "No" or Patient_is_Diet_Controlled is Null) then
|
|
If Patient_on_IV_Steroid = "No" and this_communication.CatalogParentOrderSetGUID is not null and (MultiOralAgent = "Yes" or Patient_on_Home_Insulin = "Yes") then
|
|
dialogResult6 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Will you be placing this patient on IV Steroids?" ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
if((dialogResult6 as string) = "Yes") then
|
|
Patient_on_IV_Steroid := "Yes";
|
|
IvSteroid_CB.value := True;
|
|
IvSteroid_CB.Control_Read_only := True;
|
|
else
|
|
Patient_on_IV_Steroid := "No";
|
|
endif;
|
|
endif;
|
|
// Get patient weight
|
|
|
|
if exists CurrWeight then
|
|
CurrWeight_val := CurrWeight.Value;
|
|
wt := CurrWeight_val.weight;
|
|
fmtwt := wt formatted with "%.1f";
|
|
else
|
|
wtgm := read last
|
|
{ " Select Text from CV3PhysicalNoteDeclaration "
|
|
|| " where ClientGUID = " || SQL(clientguid)
|
|
|| " and ClientVisitGUID = " || SQL(clientvisitguid)
|
|
|| " and TypeCode = {{{SINGLE-QUOTE}}}weight{{{SINGLE-QUOTE}}} "
|
|
|| " order by Entered asc " };
|
|
wt := (wtgm as number) / 1000;
|
|
fmtwt := wt formatted with "%.1f";
|
|
endif;
|
|
|
|
If wt = 0 or wt is null then
|
|
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Please enter a patient weight to continue. ","Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
CurrWeight.Control_Mandatory := True;
|
|
|
|
endif;
|
|
|
|
If Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "Yes" and MultiOralAgent = "No" and Patient_on_Home_Insulin = "No" then
|
|
TDD_calc := (wt as number) * 0.2;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
SingleOral_CB.value := True;
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
InsulinPump_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
ThisMsg := "Patient on single oral agent at home." || CRLF
|
|
|| "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "Yes" then
|
|
|
|
TDD_calc := (wt as number) * 0.5;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
SingleOral_CB.value := False;
|
|
MultipleOralOrInsulin_CB.value := True;
|
|
InsulinPump_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
|
|
Slidescale := "Use Moderate Dose Correctional Sliding Scale";
|
|
|
|
ThisMsg := "Patient on IV Steroids." || CRLF
|
|
|| "Total Daily Dose = 0.5 units/kg || (" || fmtwt || " kg * 0.5 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "No" and Low_GFR = "Yes" then
|
|
TDD_calc := (wt as number) * 0.2;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
GFR_CB.value := True;
|
|
GFR_CB.Control_Read_Only := True;
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
SingleOral_CB.value := False;
|
|
MultipleOralOrInsulin_CB.value := True;
|
|
InsulinPump_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
|
|
ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF
|
|
|| "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "No" and Low_GFR = "No" then
|
|
TDD_calc := (wt as number) * 0.4;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
GFR_CB.value := False ;
|
|
SingleOral_CB.value := False;
|
|
SingleOral_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.value := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
DietControlled_CB.value := False;
|
|
DietControlled_CB.control_read_only := True;
|
|
|
|
If Patient_on_Home_Insulin = "No" then
|
|
InsulinPump_CB.Control_Read_Only := True;
|
|
else
|
|
InsulinPump_CB.Control_Read_Only := False;
|
|
endif;
|
|
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF
|
|
|| "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "No" and No_GFR = "Yes" then
|
|
TDD_calc := (wt as number) * 0.2;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
GFR_CB.value := False ;
|
|
SingleOral_CB.value := False;
|
|
SingleOral_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.value := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
DietControlled_CB.value := False;
|
|
DietControlled_CB.control_read_only := True;
|
|
If Patient_on_Home_Insulin = "No" then
|
|
InsulinPump_CB.Control_Read_Only := True;
|
|
else
|
|
InsulinPump_CB.Control_Read_Only := False;
|
|
endif;
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
ThisMsg := " No GFR Value Found" || CRLF
|
|
|| "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
else
|
|
ThisMsg := " " ;
|
|
OrderInfo.value := ThisMsg;
|
|
endif;
|
|
endif;
|
|
endif;
|
|
|
|
If callingEvent = "FieldChange" or callingEvent = "FormClose" then
|
|
|
|
If callingEvent = "FormClose" and (MultipleOralOrInsulin_CB.value = True or SingleOral_CB.value = True) and (wt = 0 or wt is null) then
|
|
|
|
this_communication.DisplayForm := "yes";
|
|
this_communication.Message := "\n You must enter a patient weight to continue. ";
|
|
this_communication.MessageType := "Error";
|
|
endif;
|
|
|
|
If CallingField = "PRX_Generic_CB|1" and Override_CB.Value = True then
|
|
InsulinPump_CB.Control_Read_Only := False;
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
GFR_CB.Control_Read_Only := False;
|
|
IvSteroid_CB.Control_Read_only := False;
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BasalInsulinList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
endif;
|
|
If CallingField = "PRX_DM_PatientOnInsulinPump|1" then
|
|
If InsulinPump_CB.value = False then
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
Elseif InsulinPump_CB.value = True then
|
|
|
|
Endo_ConsultList.IsSelected := (True, True);
|
|
Physician_ConsultList.IsSelected := (True);
|
|
BasalInsulinList.IsSelected := (False);
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
ThisMsg := "Patient on an Insulin Pump." || CRLF
|
|
|| "Place a STAT Endocrinology Consult.";
|
|
OrderInfo.value := ThisMsg;
|
|
Diabetic_CB.value := True;
|
|
DietControlled_CB.value:= False;
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
SingleOral_CB.value := False;
|
|
DietControlled_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
endif;
|
|
endif;
|
|
|
|
If (CallingField = "PRX_DM_SingleOralHomeMed|1" and (SingleOral_CB.value = True or SingleOral_CB.value = False))or (CallingField = "CombinedMeasurements|1" and SingleOral_CB.value = true) then
|
|
If SingleOral_CB.value = False then
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
InsulinPump_CB.control_read_only := False;
|
|
Elseif SingleOral_CB.value = True then
|
|
|
|
TDD_calc := (wt as number) * 0.2;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
InsulinPump_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
MultipleOralOrInsulin_CB.control_read_only := True;
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
ThisMsg := "Patient on single oral agent at home." || CRLF
|
|
|| "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
endif;
|
|
endif;
|
|
|
|
If (CallingField = "PRX_DM_MultipleOralOrInsulin|1" or CallingField = "PRX_DM_PtOnIvSteroids|1" or CallingField = "PRX_DM_GFR_LT_30|1")
|
|
or (CallingField = "CombinedMeasurements|1" and MultipleOralOrInsulin_CB.value = true) then
|
|
|
|
If MultipleOralOrInsulin_CB.value = False then
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
InsulinPump_CB.control_read_only := False;
|
|
|
|
ElseIf MultipleOralOrInsulin_CB.value = True then
|
|
If IvSteroid_CB.value = True then
|
|
|
|
TDD_calc := (wt as number) * 0.5;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
SingleOral_CB.value := False;
|
|
InsulinPump_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
|
|
Slidescale := "Use Moderate Dose Correctional Sliding Scale";
|
|
|
|
ThisMsg := "Patient on IV Steroids." || CRLF
|
|
|| "Total Daily Dose = 0.5 units/kg || (" || fmtwt || " kg * 0.5 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
ElseIf GFR_CB.value = True and IvSteroid_CB.value = False then
|
|
TDD_calc := (wt as number) * 0.2;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
InsulinPump_CB.value:= False;
|
|
DietControlled_CB.value:= False;
|
|
SingleOral_CB.value := False;
|
|
InsulinPump_CB.control_read_only := True;
|
|
DietControlled_CB.control_read_only := True;
|
|
SingleOral_CB.control_read_only := True;
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
ThisMsg := "This patient has a GFR < 30ml/min" || CRLF
|
|
|| "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
OrderInfo.value := ThisMsg;
|
|
|
|
ElseIf GFR_CB.value = False and IvSteroid_CB.value = False then
|
|
TDD_calc := (wt as number) * 0.4;
|
|
fmt_TDD := TDD_calc formatted with "%.0f";
|
|
TDD_half := (TDD_calc as number) * 0.5;
|
|
TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1;
|
|
fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f";
|
|
CalcDose.Value := TDD_halfrnd;
|
|
BasalInsulinList.IsSelected := (True);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
SingleOral_CB.value := False;
|
|
SingleOral_CB.control_read_only := True;
|
|
DietControlled_CB.value := False;
|
|
DietControlled_CB.control_read_only := True;
|
|
|
|
If (TDD_calc as number) > 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (True);
|
|
Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (True);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale";
|
|
elseif (TDD_calc as number) < 40 then
|
|
InsulinLowDoseList.IsSelected := (True);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale";
|
|
endif;
|
|
|
|
If GFRName is not null then
|
|
ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF
|
|
|| "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
Else
|
|
ThisMsg := " " || CRLF
|
|
|| "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF
|
|
|| "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale;
|
|
Endif;
|
|
OrderInfo.value := ThisMsg;
|
|
endif;
|
|
|
|
endif;
|
|
|
|
endif;
|
|
|
|
If CallingField = "PRX_DM_PatientDietControlled|1" then
|
|
|
|
If DietControlled_CB.value = False then
|
|
MultipleOralOrInsulin_CB.control_read_only := False;
|
|
SingleOral_CB.control_read_only := False;
|
|
DietControlled_CB.control_read_only := False;
|
|
InsulinPump_CB.control_read_only := False;
|
|
ElseIf DietControlled_CB.value = True then
|
|
|
|
BasalInsulinList.IsSelected := (False);
|
|
Endo_ConsultList.IsSelected := (False, True);
|
|
Physician_ConsultList.IsSelected := (False);
|
|
InsulinLowDoseList.IsSelected := (False);
|
|
InsulinModDoseList.IsSelected := (False);
|
|
InsulinHighDoseList.IsSelected := (False);
|
|
MultipleOralOrInsulin_CB.value := False;
|
|
MultipleOralOrInsulin_CB.Control_Read_Only := True;
|
|
SingleOral_CB.value := False;
|
|
SingleOral_CB.Control_Read_Only := True;
|
|
InsulinPump_CB.value := False;
|
|
InsulinPump_CB.Control_Read_Only := True;
|
|
ThisMsg := " " || CRLF;
|
|
OrderInfo.value := ThisMsg;
|
|
if Diet is not null or UnsubDietOrderExists then
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
elseif NPO is not null or UnsubNPOOrderExists then
|
|
BGMFrequency.FrequencySummary := "Q6H";
|
|
else
|
|
dialogResult3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any diet orders. \n Is this patient NPO? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
if((dialogResult3 as string) = "Yes") then
|
|
BGMFrequency.FrequencySummary := "Q6H";
|
|
else
|
|
BGMFrequency.FrequencySummary := "QID (AC and HS)";
|
|
endif;
|
|
endif;
|
|
endif;
|
|
endif;
|
|
|
|
endif;
|
|
|
|
|
|
If callingEvent = "FormClose" and (CurrentLoc = "ER Major" or CurrentLoc matches pattern "ER-%" )then
|
|
GlucoseName, GlucoseValue, GlucoseUom, GlucoseDone, GlucoseAbn := read last
|
|
{"Select top 1 bo.ItemName, bo.value , bo.UnitOfMeasure, o.performeddtm, bo.AbnormalityCode
|
|
From cv3order as o with (nolock)
|
|
join cv3basicobservation as bo with (nolock)
|
|
on o.clientguid = bo.clientguid
|
|
and o.chartguid = bo.chartguid
|
|
and o.guid = bo.orderguid
|
|
and bo.status = {{{SINGLE-QUOTE}}}F{{{SINGLE-QUOTE}}}
|
|
and bo.Active = 1
|
|
And bo.IsHistory = 0
|
|
join cv3ordercatalogmasteritem as ocmi with (nolock)
|
|
on ocmi.guid = o.ordercatalogmasteritemguid
|
|
and ocmi.active = 1
|
|
where o.clientguid = " || SQL(clientguid) || "
|
|
and o.performeddtm >= (DATEADD(hour, -12, getdate()))
|
|
and bo.itemname in ({{{SINGLE-QUOTE}}}Glucose Non-Fasting{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose Bedside{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose Bedside.{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose Fasting{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose Fasting from Blood Gas{{{SINGLE-QUOTE}}}
|
|
,{{{SINGLE-QUOTE}}}Glucose from Blood Gas{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose, ABG, POC{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Glucose, VBG, POC{{{SINGLE-QUOTE}}})
|
|
and bo.AbnormalityCode in ({{{SINGLE-QUOTE}}}H{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}HH{{{SINGLE-QUOTE}}})
|
|
and bo.value > {{{SINGLE-QUOTE}}}300{{{SINGLE-QUOTE}}}
|
|
order by o.performeddtm desc "
|
|
};
|
|
|
|
|
|
If GlucoseValue is not null then
|
|
DiabeticMedTask, DiabeticMedName, MedGiven, DoseGiven, UomGiven, OrderDate := read last
|
|
{" select oto.TaskStatusCode, ocmi.Name, oto.PerformedFromDtm, oto.TaskDose, oto.TaskUom, o.RequestedDtm from CV3OrderTaskOccurrence oto
|
|
join cv3order o on o.guid = oto.OrderGUID
|
|
join CV3MedicationExtension me on me.guid = o.guid
|
|
join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID
|
|
where clientvisitguid = " || SQL(ClientVisitGuid) || " and oto.clientguid = " || SQL(ClientGuid) || "
|
|
and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}}
|
|
and oto.TaskStatusCode not in ({{{SINGLE-QUOTE}}}Canceled{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Not Performed{{{SINGLE-QUOTE}}})
|
|
and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}metabolic agents | antidiabetic agents{{{SINGLE-QUOTE}}}
|
|
and oto.ScheduledDtm > DATEadd (HH, -12, getdate())
|
|
order by oto.TaskStatusCode "
|
|
};
|
|
|
|
If DiabeticMedTask is not null then
|
|
If DiabeticMedTask = "Performed" then
|
|
InfoMsg := "Patient received " || DiabeticMedName || " " || DoseGiven || " " || UOMGiven || " at " || MedGiven;
|
|
else
|
|
InfoMsg := "Patient has been ordered " || DiabeticMedName || " at " || OrderDate;
|
|
endif;
|
|
else
|
|
InfoMsg := " ";
|
|
endif;
|
|
|
|
Create_STAT_Order := MLM {{{SINGLE-QUOTE}}}SCH_FUNC_CREATE_MED_ORDER{{{SINGLE-QUOTE}}};
|
|
SessionType := "Standard";
|
|
OrderSource := "Protocol Order";
|
|
OrderFrequency := "STAT";
|
|
numgrids := 3;
|
|
k := 1;
|
|
grid_count := 1 seqto numgrids;
|
|
|
|
for k in grid_count do
|
|
|
|
Currentgrid := last of (field_list where field_list.DataItemName = "MultiOrderInline"
|
|
and field_List.Control_MultiFieldOccNum = k);
|
|
gridval := currentgrid.value;
|
|
index_list := 1 seqto (count gridval) ;
|
|
if exist currentgrid then
|
|
for M in index_list do
|
|
selorders := gridval.IsSelected [M];
|
|
if selorders = true then
|
|
main_order_name := Gridval.Name [M] ;
|
|
|
|
If main_order_name = "Insulin Aspart Inj" then
|
|
OrderName := main_order_name;
|
|
If k = 1 then ItemModifier := "Low Dose - ED Coverage";
|
|
elseif k = 2 then ItemModifier := "Moderate Dose - ED Coverage";
|
|
elseif k = 3 then ItemModifier := "High Dose - ED Coverage";
|
|
endif;
|
|
dialogResult4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Patient has a " ||GlucoseName || " of " || GlucoseValue || " " || GlucoseUom || " on " ||GlucoseDone ||
|
|
"\n\n " || infomsg ||
|
|
"\n Do you wish to order a dose to be administered now? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
|
if((dialogResult4 as string) = "Yes") then
|
|
|
|
Coverage := Call Create_STAT_Order with (ClientVisitGuid,UserGuid,ClientGUID,SessionType,OrderSource,OrderName,ItemModifier,"Medication",this_communication.CareProviderGUID) ;
|
|
|
|
endif;
|
|
endif;
|
|
endif;
|
|
|
|
enddo;
|
|
endif;
|
|
enddo;
|
|
endif;
|
|
endif;
|
|
// endif;
|
|
|
|
;;
|
|
evoke: // No evoke statement
|
|
;;
|
|
logic:
|
|
|
|
conclude true;
|
|
;;
|
|
action:
|
|
// This MLM returns two parameters, of types communication_type and form_type respectively.
|
|
return this_communication, this_form;
|
|
;;
|
|
end:
|