Files
St.Clair/MLMStripper/bin/Debug/FORM/FORM_NOW_AND_THEN.mlm

1945 lines
96 KiB
Plaintext

maintenance:
title: Create Now And Then Orders;;
mlmname: FORM_NOW_AND_THEN;;
arden: version 2;;
version: 5.00;;
institution: St Clair Now And Then MLM;;
author: Robert Spence, Eclipsys Corp Ext 7461;;
specialist: Teresa Spicuzza, Eclipsys Corp Ext 7448;;
date: 2010-02-09;;
validation: testing;;
library:
purpose: Set Scheduled time to the next hour and gray out when user picks {{{SINGLE-QUOTE}}}Start Now{{{SINGLE-QUOTE}}} if in the start and then list
Note: SCH Hospital Policy is to give now dose within the hour.
Rounding to the next hour is approved and leads to better scheduling times.
If in Admin and then list, flag for on order submit MLM to create extra order using 5.0 objects plus
This MLM is also called from Form_Med_Irreg_Sched and FORM_HOLDORDER_REQUESTEDTIME
;;
explanation: This MLM is called from Zosyn and other forms for meds
Form: PRX_ljBnPrDsUa
Change history
09.24.2010 DW Added routine for Hold session date handling
11.3.2010 TMS Added logic for hold session to remove stat frequency and change priority to scheduled/start time
02.24.2012 JP Added achanawala to user list to review mlm logic
01.30.2013 TMS MLM Revised to provide now dosing for non QxH orders. Previous version only used for interval dosing
now a separate now order is generated and the order it is called from is scheduled for the next
appropriate dose for frequency with static admin times, i.e, BID, TID, etc. CSR 26926
08.12.2013 TMS Added call to Form_RX_ORM_Instruct to populate fields for ORM instructions. CSR 31639
09.16.2013 TMS Modified alert message
10.08.2013 TMS Modified to enable now and then checkbox to all physcians an physician extenders. Changed the schedules
with hourly intervals (QnH) to behave the same as the static schedules (BID) by creating a separate now
order and scheduling the ongoing order for the correct time. CSR 26926
11.07.2013 TMS Commented out the users who can use the "now and then" functionality to allow nurses,
secretaries and pharmacists access. CSR 26926
02.21.2104 TMS Update MLM to include Stat and Then functionality, enable use with PRN Orders. Added hidden field on forms to set
to true when addl dose is created from MLM to eliminate user rechecking box upon reopening order and creating
another now/stat order. Updated one time/day frequency logic to only present next dose pop up box
when present time is past scheduled time of the day for the selected frequency. CSR 31883
02.21.2014 JML Modified MLM to use Total Doses UDDI to populate StopAfter as requested by PRISM CSR 31883
12.10.2014 TMS Added mlm call to FORM_Rx_HazWaste_DispInstruct on form open. CSR 31995
05.11.2015 TMS Added mlm call to FORM_RX_Stop_Date{{{SINGLE-QUOTE}}} for orders scheduled as Pre Op CSR 30589
and Added PRX_ResetDiluent as a new field to get passed to SCH_Now_and_Then_Generate_Order HD1663579
11.11.2015 TMS Added mlm call to FORM_ID_RepeatOrders_Rx if order name = "MethylPREDNISolone 4mg Dose Pak Tab" HD1855646
08.07.2017 SZ CSR #31162: Neonatal Morphine Dose/Volume Label (added section to call MLM: FORM_RX_NEONATAL_MORPHINE_LABEL)
11.09.2017 SZ CSR #33689: CPOE-VTE auto schedule (Added triggers to call mlm FORM_VTE_SCHEDULING)
;;
keywords: Called MLMs, Form fields, Now and Then
;;
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;
log_execution_info := false;
standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
SCH_NOW_AND_THEN_FREQUENCY := MLM {{{SINGLE-QUOTE}}}SCH_NOW_AND_THEN_FREQUENCY{{{SINGLE-QUOTE}}};
SCH_NOW_AND_THEN_GENERATE_ORDER := MLM {{{SINGLE-QUOTE}}}SCH_NOW_AND_THEN_GENERATE_ORDER{{{SINGLE-QUOTE}}};
multidosemlm:= MLM {{{SINGLE-QUOTE}}}Form_Worx_Item_code_Per_Dose{{{SINGLE-QUOTE}}};
WorxRoute:= MLM {{{SINGLE-QUOTE}}}FORM_POPULATE_WORXROUTE_WITH_ORDERROUTECODE{{{SINGLE-QUOTE}}};
LovenoxCalc := MLM {{{SINGLE-QUOTE}}}Form_Lovenox_CalcDose_Simple{{{SINGLE-QUOTE}}};
LovenoxCalcCrCl := MLM {{{SINGLE-QUOTE}}}Form_Lovenox_Dose_calc{{{SINGLE-QUOTE}}};
HoldOrders := MLM {{{SINGLE-QUOTE}}}Form_HoldOrder_RequestedTime{{{SINGLE-QUOTE}}};
VancomycinCalc := MLM {{{SINGLE-QUOTE}}}Form_Vancomycin_WtBased{{{SINGLE-QUOTE}}};
HaloperidolOrders := MLM {{{SINGLE-QUOTE}}}Form_Haloperidol_IV_Orders{{{SINGLE-QUOTE}}};
MedicationReason := MLM {{{SINGLE-QUOTE}}}Form_RX_ORM_Instruct{{{SINGLE-QUOTE}}};
//*** CSR 31883 Change
PediatricDosing := MLM {{{SINGLE-QUOTE}}}FORM_RX_PEDIATRIC_ACETAMINOPHEN{{{SINGLE-QUOTE}}};
DisposalInstruct := MLM {{{SINGLE-QUOTE}}}FORM_Rx_HazWaste_DispInstruct{{{SINGLE-QUOTE}}};
PreopStopAfter := MLM {{{SINGLE-QUOTE}}}FORM_RX_Stop_Date{{{SINGLE-QUOTE}}};
RepeatOrders := MLM {{{SINGLE-QUOTE}}}FORM_ID_RepeatOrders_Rx{{{SINGLE-QUOTE}}};
NeonatalMorphineLabel:= MLM {{{SINGLE-QUOTE}}}FORM_RX_NEONATAL_MORPHINE_LABEL{{{SINGLE-QUOTE}}}; // SZ CSR #31162 - Neonatal Morphine Dose/Volume Label
//CSR 33689 SZ Change
VTE_Med_Scheduling := MLM {{{SINGLE-QUOTE}}}FORM_VTE_SCHEDULING{{{SINGLE-QUOTE}}};
VTE_OSName := ("VTE Prophylaxis Orders (Medical & Surgical Patients)",
"CCM Admission Orders",
"Heparin Inj (SQ)",
"Heparin Inj - 5,000 units SQ Q8H",
"Heparin Inj - SQ",
"Post Cardiac Arrest Induced Hypothermia",
"Enoxaparin",
//below are all Order Sets with "VTE Prophylaxis Orders (Medical & Surgical Patients)" embedded within them
"Admission Orders - TIA Resolving Deficit",
"Admission Orders - Acute Ischemic Stroke (Fixed Deficit)",
"zzzAmputation Post Op",
"Post Op ENT Surgery",
"Post Op Cardiac/Peripheral Catheterization",
"Nephrology (CPOE OS)",
"CVSU Common OS",
"ENT Admission",
"Admission Orders - Urology",
"Wound Debridement Post Op Orders",
"Post Op Cardiac/Peripheral Diagnostic Catheterization",
"Admission Orders - Chest Pain",
"Post Op Open Chole",
"Post Op Laparoscopic Colon Resection.",
"Gastric Bypass Post Op",
"Post Op Lap Chole",
"Post Op Appendectomy",
"Transition Orders - CHF",
"Transition Orders - Chest Pain",
"Transition Orders - COPD",
"Transition Orders - Pneumonia",
"Transition Orders - General Orders",
"Observation Common Orders",
"Transition Orders - Cellulitis",
"Transition Orders - UTI",
"Post Op General Surgery",
"CVSU Common - Post Open Heart Progressive Care OS",
"Transition Orders - PE",
"Transition Orders - Afib",
"Transition Orders - GI Bleed",
"Transition Orders - Hip Fracture",
"Post Op Colon Resection",
"Internal Medicine Order Set",
"Admission Orders - CHF",
"Post Op Lap Nephrectomy",
"Warfarin Orders",
"Rivaroxaban");
VTE_OName := ("Heparin Inj", "Enoxaparin Inj", "Rivaroxaban 10mg Tab");
include standard_libs;
using "ObjectsPlusXA.SCM.Forms";
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
error_message:="";
local_session := CDS_SESSION.local;
field_list:= this_form.fields;
str_parse := mlm {{{SINGLE-QUOTE}}}UTIL_STRING_PARSE{{{SINGLE-QUOTE}}};
CallingField :=this_communication.CallingFieldName;
CallingEvent := this_communication.CallingEvent;
FormType := this_communication.FormType;
form_name := this_form.Name;
PrimaryObjdetail:=this_communication.PrimaryObj;
MedicationOrder_dest := destination { ObjectsPlus } with
[ alert_type := "Warning",
short_message := "Object created by MLM, placed on worksheet",
priority := "low",
scope := "chart",
rule_group := "Order Object",
rule_number := 2010 ];
zz:= field_list.Records__;
p:=this_communication.CallingFieldName;
//**** CSR 31883 CHANGE
StartNow := first of (field_list where field_list.DataItemName = "PRX_Dosing Start Now" );
STATandThen := first of (field_list where field_list.DataItemName = "PRX_Dosing Stat and Then");
TotalDosing := first of ( field_list WHERE field_list.DataItemName = "PRX_Dosing Total Doses");
AddlDoseOrdered := first of ( field_list WHERE field_list.DataItemName = "PRX_Dosing Addl Dose");
StopAfter := first of (field_list.Value WHERE field_list.DataItemName="StopAfter" AND field_list.Label= "Stop After");
RequestedDate := first of (field_list WHERE field_list.DataItemName="RequestedDate" AND field_list.Control_MultiFieldOccNum=1 );
RequestedTime := first of (field_list.Value WHERE field_list.DataItemName="RequestedTime" AND field_list.Control_MultiFieldOccNum=1 );
dose := first of (field_list.Value WHERE field_list.DataItemName="DosageLow" AND field_list.Control_MultiFieldOccNum=1 );
dosehigh := first of (field_list.Value WHERE field_list.DataItemName="DosageHigh" AND field_list.Control_MultiFieldOccNum=1 );
Uom := first of (field_list.Value WHERE field_list.DataItemName="Uom" AND field_list.Control_MultiFieldOccNum=1 );
PRN_field := first of (field_list WHERE field_list.DataItemName="IsPrn" AND field_list.Control_MultiFieldOccNum=1 );
PRN := PRN_field.value;
OrderRouteCode := first of (field_list.Value WHERE field_list.DataItemName="OrderRouteCode" AND field_list.Control_MultiFieldOccNum=1 );
Comm := last of (field_list where field_list.DataItemName = "PRX_NoteComment0");
session_type := PrimaryObjdetail.internalprocessingtype;
regular_freq := last of (field_list where field_list.DataItemName = "FrequencyCode");
FrequencyCode := regular_freq.value;
Frequency := FrequencyCode.FrequencySummary;
WORxRoute_field := first of (field_list where field_list.DataItemName = "PRX_WORx_Route");
WORxRouteCode:= WorxRoute_field.value;
InjRoutes := ("SQ", "IM", "IV PUSH", "IV", "Intradermally", "Intrathecally", "Intra-articular");
form_drug_field := first of (field_list where field_list.DataItemName = "PRX_DrugNameforMLM");
RxInstruct := first of (field_list.Value where field_list.DataItemname = "PRX_NoteComment0");
UserInstruct := first of (field_list.Value where field_list.DataItemname = "AdminInstructions");
PRX_PRN_Reason_field := first of (field_list where field_list.DataItemName = "PRX_PRNCONDITION");
// new fields
Nonchemical_Restraint_Ind := first of (field_list.Value where field_list.DataItemname = "NUR_Nonchemical Restraint Ind");
ADMINS_AppSite := first of (field_list.Value where field_list.DataItemname = "PRX_ADMINS_AppSite");
ADMINS_GiveWith := first of (field_list.Value where field_list.DataItemname = "PRX_ADMINS_GiveWith");
AltPrintLocation := first of (field_list.Value where field_list.DataItemname = "PRX_AltPrintLocation");
BRANDNAME := first of (field_list.Value where field_list.DataItemname = "PRX_BRANDNAME");
Concentration := first of (field_list.Value where field_list.DataItemname = "PRX_Concentration");
CONCSTRENGTHUOM := first of (field_list.Value where field_list.DataItemname = "PRX_CONCSTRENGTHUOM");
CONCSTRVOLUMEUOM := first of (field_list.Value where field_list.DataItemname = "PRX_CONCSTRVOLUMEUOM");
DrugNameforMLM := first of (field_list.Value where field_list.DataItemname = "PRX_DrugNameforMLM");
NOTECOMMENT1 := first of (field_list.Value where field_list.DataItemname = "PRX_NOTECOMMENT1");
NOTECOMMENT2 := first of (field_list.Value where field_list.DataItemname = "PRX_NOTECOMMENT2");
NOTECOMMENT7 := first of (field_list.Value where field_list.DataItemname = "PRX_NOTECOMMENT7");
NOTECOMMENT8 := first of (field_list.Value where field_list.DataItemname = "PRX_NOTECOMMENT8");
OmitMessage := first of (field_list.Value where field_list.DataItemname = "PRX_OmitMessage");
PRNCONDITION := first of (field_list.Value where field_list.DataItemname = "PRX_PRNCONDITION");
TP_Application_Site := first of (field_list.Value where field_list.DataItemname = "PRX_TP_Application_Site");
Chemical_Restraint := first of (field_list.Value where field_list.DataItemname = "NUR_Chemical Restraint");
Not_Chemical_Restraint := first of (field_list.Value where field_list.DataItemname = "NUR_Not Chemical Restraint");
Aerochamber := first of (field_list.Value where field_list.DataItemname = "PRX_Aerochamber");
AutoVerify := first of (field_list.Value where field_list.DataItemname = "PRX_AutoVerify");
AWP := first of (field_list.Value where field_list.DataItemname = "PRX_AWP");
Inspirese := first of (field_list.Value where field_list.DataItemname = "PRX_Inspirese");
PrebuiltOrder := first of (field_list.Value where field_list.DataItemname = "PRX_PrebuiltOrder");
Pt_to_Admin := first of (field_list.Value where field_list.DataItemname = "PRX_Pt_to_Admin");
Resp_to_Admin := first of (field_list.Value where field_list.DataItemname = "PRX_Resp_to_Admin");
CONCSTRENGTH := first of (field_list.Value where field_list.DataItemname = "PRX_CONCSTRENGTH");
CONCSTRVOLUME := first of (field_list.Value where field_list.DataItemname = "PRX_CONCSTRVOLUME");
PhysReqNaCl := first of (field_list.Value where field_list.DataItemname = "PRX_ResetDiluent");
BaseSolutionprop := first of (field_list where field_list.DataItemname = "BaseSolution");
BaseSolutionFld := basesolutionprop.value;
// start add in
// Worx Drug code
worxcoderaw:= first of
(field_list where field_list.DataItemName = "PRX_DRUGIDCODE");
worxcode:= worxcoderaw.value;
// end add in
continue_checking_order := TRUE;
/*
//commented out to make available to all users
fire_on_User := ("MD","DO","DDS","DPM","PA","PA-C","CRNP","IT");
// Get the current user{{{SINGLE-QUOTE}}}s occupation
userguid := this_communication.UserGUID;
UserCode := read last
{"Select occupationcode "
||" From cv3user with (nolock) "
||" Where Guid = " || SQL(userguid) };
continue_checking_order := UserCode in fire_on_User;
*/
// if CallingEvent ="FormOpen" then
//****CSR 31883 CHANGE
// (this_communication, this_form) := call PediatricDosing WITH this_communication, this_form, client_info_obj;
// if continue_checking_order = false then
// StartNow.control_visible := FALSE;
// STATandThen.control_visible := FALSE;
// else
// StartNow.Control_Visible := true;
// STATandThen.Control_Visible := true;
// TotalDosing.Control_Visible := true;
// TotalDosing.Control_Read_Only := true;
// endif;
// endif;
// added for hold session to set requested time to scheduled/start time with no time specified
if session_type = "Hold" and CallingEvent = "FormClose" then
(this_communication, this_form, client_info_obj) := call HoldOrders with (this_communication, this_form, client_info_obj);
endif;
if CallingEvent = "FormClose" then
If OrderRouteCode in InjRoutes then
(this_communication, this_form, client_info_obj) := call WorxRoute with (this_communication, this_form, client_info_obj);
endif;
If frequency = "Pre Op" then
(this_communication, this_form, client_info_obj) := call PreopStopAfter with (this_communication, this_form, client_info_obj);
endif;
If exists form_drug_field and form_drug_field.value is not null then
(this_communication, this_form, client_info_obj) := call multidosemlm with (this_communication, this_form, client_info_obj);
endif;
If PrimaryObjdetail.Name = "Enoxaparin Inj" then
(this_communication, this_form, client_info_obj) := call LovenoxCalc with (this_communication, this_form, client_info_obj);
endif;
If PrimaryObjdetail.Name = "Enoxaparin Inj." then
(this_communication, this_form, client_info_obj) := call LovenoxCalcCrCl with (this_communication, this_form, client_info_obj);
endif;
//CSR 33689 SZ Change
If (PrimaryObjdetail.Name in VTE_OName) and (PrimaryObjdetail.OrderSetName in VTE_OSName) then
(this_communication, this_form, client_info_obj) := call VTE_Med_Scheduling with (this_communication, this_form, client_info_obj);
endif;
If PrimaryObjdetail.Name = "Vancomycin:" then
(this_communication, this_form, client_info_obj) := call VancomycinCalc with (this_communication, this_form, client_info_obj);
endif;
If PrimaryObjdetail.Name = "Haloperidol Inj" or PrimaryObjdetail.Name = "Haloperidol:" then
(this_communication, this_form, client_info_obj) := call HaloperidolOrders with (this_communication, this_form, client_info_obj);
endif;
If PrimaryObjdetail.Name = "MethylPREDNISolone 4mg Dose Pak Tab" then
(this_communication, this_form) := call RepeatOrders with (this_communication, this_form, client_info_obj);
endif;
// SZ CSR #31162 - Neonatal Morphine Dose/Volume Label
If PrimaryObjdetail.Name = "Morphine Oral Solution Nursery (0.4mg/ml)" then
(this_communication, this_form) := call NeonatalMorphineLabel with (this_communication, this_form, client_info_obj);
endif;
// Call MLM to add medication reason to RX Comments field for ORM
(this_communication, this_form, client_info_obj) := call MedicationReason with (this_communication, this_form, client_info_obj);
// Call MLM to check for waste disposal instructions
(this_communication, this_form, client_info_obj) := call DisposalInstruct with (this_communication, this_form, client_info_obj);
if session_type = "standard" then
if continue_checking_order = true then
if exists(StartNow) or (StatandThen) then
FreqRules := ();
FreqRules := read { "select value from cv3userdictionaryvalue v with (nolock)"
|| " where userdictionarycode = {{{SINGLE-QUOTE}}}PRX_Dosing Frequency{{{SINGLE-QUOTE}}} "
|| " and active = {{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}} "
};
if (((StartNow.Value = true) or (STATandThen.Value = true)) and AddlDoseOrdered.value = false) then
if StartNow.Value = true then
NewOrderFreq := "Now";
MsgFreq1 := "NOW";
MsgFreq2 := "now";
else
NewOrderFreq := "STAT";
MsgFreq1 := "STAT";
MsgFreq2 := "stat";
endif;
freqfound:=();
NumMembs:= count FreqRules;
for k in (1 seqto (NumMembs)) do
listings := call str_parse with FreqRules[k],"|";
tempstr:=first of (listings);
if tempstr = FrequencyCode.FrequencySummary then
freqname := tempstr;
if exists(listings[2]) then freqfound := freqfound,listings[2]; proctype := listings [2];endif;
if exists(listings[3]) then freqfound := freqfound,listings[3]; plusminusvalue := listings [3];endif;
endif;
enddo;
If FrequencyCode.FrequencySummary = "<User Schedule>" or FrequencyCode.FrequencySummary = "<Variable Interval>"
or FrequencyCode.FrequencySummary = "<QxM>" or FrequencyCode.FrequencySummary is null or proctype is null
then
StartNow.Value := false;
StartNow.control_read_only := true;
STATandThen.Value := false;
STATandThen.control_read_only := true;
endif;
if proctype = "S" then
spanhourfromnow := (now + 30 minute);
plusminus := (plusminusvalue as number);
newstarttime := (spanhourfromnow as time) + (plusminus hour) ;
newhr := extract hour newstarttime; if hr < 10 then hr := "0" || hr; endif;
newyr := extract year newstarttime;
newmn := extract month newstarttime; if mn < 10 then mn := "0" || mn; endif;
newdd := extract day newstarttime; if dd < 10 then dd := "0" || dd; endif;
filldate := newyr || "-" || newmn || "-" || newdd || " 00:00:00";
filltime := newhr || ":00:00";
hourtest := filltime;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := filltime;
RequestedDate.value := filldate;
RequestedDate.control_read_only := True;
RequestedTime.control_read_only := True;
makenow := true;
/*
********* CSR 31883 Change
if( StartNow.Value = true AND StopAfter.option = "Times") Then
if((StopAfter.NUMBER) is not null AND (StopAfter.NUMBER) <> "" AND (StopAfter.NUMBER As number) >= 1) Then
Value1 := (StopAfter.NUMBER As number) + 1;
WarningResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Selecting Now and Then with " || Frequency || " and Stop After " || (StopAfter.NUMBER As number) || " Times will result in " || Value1 || " doses being administered.","Alert","Ok" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"Warning" As {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}};
endif;
endif;
if( StatandThen.Value = true AND StopAfter.option = "Times") Then
if((StopAfter.NUMBER) is not null AND (StopAfter.NUMBER) <> "" AND (StopAfter.NUMBER As number) >= 1) Then
Value1 := (StopAfter.NUMBER As number) + 1;
WarningResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Selecting Stat and Then with " || Frequency || " and Stop After " || (StopAfter.NUMBER As number) || " Times will result in " || Value1 || " doses being administered.","Alert","Ok" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"Warning" As {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}};
endif;
endif;
*/
endif;
if proctype = "A" then
blnUpdateFrequency := true;
(Hour1,Hour2,Hour3,Hour4,Hour5) := Read last { " SELECT ISNULL([Hour1],{{{SINGLE-QUOTE}}}-99{{{SINGLE-QUOTE}}}) AS Hour1 , ISNULL([Hour2],{{{SINGLE-QUOTE}}}-99{{{SINGLE-QUOTE}}}) AS Hour2 "
|| " , ISNULL([Hour3],{{{SINGLE-QUOTE}}}-99{{{SINGLE-QUOTE}}}) AS Hour3 , ISNULL([Hour4],{{{SINGLE-QUOTE}}}-99{{{SINGLE-QUOTE}}}) AS Hour4 "
|| " , ISNULL([Hour5],{{{SINGLE-QUOTE}}}-99{{{SINGLE-QUOTE}}}) AS Hour5 FROM ( select {{{SINGLE-QUOTE}}}Hour{{{SINGLE-QUOTE}}}+CAST ((ROW_NUMBER() OVER( ORDER By ScheduledTime )) AS Varchar) As Hourd,ScheduledTime from CV3FixedScheduleDefinition "
|| " INNER JOIN CV3CodedFreqTranslation (NOLOCK) ON CV3FixedScheduleDefinition.ParentGUID = CV3CodedFreqTranslation.GUID "
|| " WHERE CV3CodedFreqTranslation.FrequencyCode = " || SQL(Frequency) || " AND CV3CodedFreqTranslation.Active = 1 and FrequencyClass = {{{SINGLE-QUOTE}}}<Default>{{{SINGLE-QUOTE}}}"
|| "AND CV3FixedScheduleDefinition.Active = 1 ) p PIVOT ( SUM(ScheduledTime) FOR [Hourd] IN ([Hour1] "
|| " , [Hour2] , [Hour3] , [Hour4] , [Hour5]) ) AS pvt " };
if ( (Hour1 As string) <> "-99") THen
If ( (Hour1 As number) <= 999) THen
if((Hour1 As number) = "0") then
Hour1 := "0000";
else
Hour1 := "0" || (Hour1 As string);
endif;
endif;
schedhour1 := substring 2 characters starting at 1 from (Hour1 As string);
schedmin1 := substring 2 characters starting at 3 from (Hour1 As string);
if (schedhour1 as number) >= 12 then
timeofday1 := "PM";
if (schedhour1 as number) >= 13 then
schedhour1 := (schedhour1 as number) - 12;
endif;
else
timeofday1 := "AM";
if (schedhour1 as number) = 00 then
schedhour1 := 12;
endif;
if (schedhour1 as number) <= 9 then
schedhour1 := substring 1 characters starting at 2 from schedhour1;
endif;
endif;
Hour1Txt := schedhour1 || ":" || schedmin1 || timeofday1;
endif;
if ( (Hour2 As string) <> "-99") THen
If ( (Hour2 As number) <= 999) THen
if((Hour2 As number) = 0) then
Hour2 := "0000";
else
Hour2 := "0" || (Hour2 As string);
endif;
endif;
schedhour2 := substring 2 characters starting at 1 from (Hour2 as string);
schedmin2 := substring 2 characters starting at 3 from (Hour2 as string);
if (schedhour2 as number) >= 12 then
timeofday2 := "PM";
if (schedhour2 as number) >= 13 then
schedhour2 := (schedhour2 as number) - 12;
endif;
else
timeofday2 := "AM";
if (schedhour2 as number) = 00 then
schedhour2 := 12;
endif;
if (schedhour2 as number) <= 9 then
schedhour2 := substring 1 characters starting at 2 from schedhour2;
endif;
endif;
hour2Txt := schedhour2 || ":" || schedmin2 || timeofday2;
endif;
if ( (Hour3 As string) <> "-99") THen
If ( (Hour3 As number) <= 999) THen
if((Hour3 As number) = 0) then
Hour3 := "0000";
else
Hour3 := "0" || (Hour3 As string);
endif;
endif;
schedhour3 := substring 2 characters starting at 1 from (Hour3 As string);
schedmin3 := substring 2 characters starting at 3 from (Hour3 As string);
if (schedhour3 as number) >= 12 then
timeofday3 := "PM";
if (schedhour3 as number) >= 13 then
schedhour3 := (schedhour3 as number) - 12;
endif;
else
timeofday3 := "AM";
if (schedhour3 as number) = 00 then
schedhour3 := 12;
endif;
if (schedhour3 as number) <= 9 then
schedhour3 := substring 1 characters starting at 2 from schedhour3;
endif;
endif;
hour3Txt := schedhour3 || ":" || schedmin3 || timeofday3;
endif;
if ( (Hour4 As string) <> "-99") THen
If ( (Hour4 As number) <= 999) THen
if((Hour4 As number) = 0) then
Hour4 := "0000";
else
Hour4 := "0" || (Hour4 as string);
endif;
endif;
schedhour4 := substring 2 characters starting at 1 from (Hour4 as string);
schedmin4 := substring 2 characters starting at 3 from (Hour4 as string);
if (schedhour4 as number) >= 12 then
timeofday4 := "PM";
if (schedhour4 as number) >= 13 then
schedhour4 := (schedhour4 as number) - 12;
endif;
else
timeofday4 := "AM";
if (schedhour4 as number) = 00 then
schedhour4 := 12;
endif;
if (schedhour4 as number) <= 9 then
schedhour4 := substring 1 characters starting at 2 from schedhour4;
endif;
endif;
hour4Txt := schedhour4 || ":" || schedmin4 || timeofday4;
endif;
if ( (Hour5 As String) <> "-99") THen
If ( (Hour5 As number) <= 999) THen
if((Hour5 As number) = 0) then
Hour5 := "0000";
else
Hour5 := "0" || (Hour5 as string);
endif;
endif;
schedhour5 := substring 2 characters starting at 1 from (Hour5 as string);
schedmin5 := substring 2 characters starting at 3 from (Hour5 as string);
if (schedhour5 as number) >= 12 then
timeofday5 := "PM";
if (schedhour5 as number) >= 13 then
schedhour5 := (schedhour5 as number) - 12;
endif;
else
timeofday5 := "AM";
if (schedhour5 as number) = 00 then
schedhour5 := 12;
endif;
if (schedhour5 as number) <= 9 then
schedhour5 := substring 1 characters starting at 2 from schedhour5;
endif;
endif;
hour5Txt := schedhour5 || ":" || schedmin5 || timeofday5;
endif;
Hour1 := (Hour1 as string);
Hour2 := (Hour2 as string);
Hour3 := (Hour3 as string);
Hour4 := (Hour4 as string);
Hour5 := (Hour5 as string);
if( blnUpdateFrequency = true AND (StartNow.Value = true or StatandThen.Value = true)) then
/*
*********** CSR 31883 Change
if( StartNow.Value = true AND StopAfter.option = "Times") Then
if((StopAfter.NUMBER) is not null AND (StopAfter.NUMBER) <> "" AND (StopAfter.NUMBER As number) >= 1) Then
Value1 := (StopAfter.NUMBER As number) + 1;
WarningResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Selecting Start Now with " || Frequency || " and Stop After " || (StopAfter.NUMBER As number) || " Times will result in " || Value1 || " doses being administered.","Alert","Ok" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"Warning" As {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}};
endif;
endif;
*/
plusminus := plusminusvalue;
eMinute := extract minute now;
if( length( (eMinute As String)) = 1) then
eminute := "0" || ( (eMinute As String)) ;
else
eminute := extract minute now;
endif;
Currenthour := extract hour now || eminute;
blnUpdateFrequency := false;
Hour1Rangemax := (Hour1 as number) + (Plusminus|| "00" As number) ;
Hour1Rangemin := (Hour1 as number) - (Plusminus|| "00" As number) ;
Hour2Rangemax := (Hour2 as number) + (Plusminus|| "00" As number);
Hour2Rangemin := (Hour2 as number) - (Plusminus|| "00" As number) ;
endif;
endif; //End If procType = A
// Get Current worksheet info ***** START *****
// Get the currently logged on user
Active_ClientVisitGUID := this_communication.ClientVisitGUID;
Active_OrderGUID:= PrimaryObjdetail.GUID;
Active_SignificiantDtm:= Now;
location_guid := read last {"select CurrentLocationGUID from CV3ClientVisit where GUID=" || SQL(Active_ClientVisitGUID)};
//TRY
try
//-----------------------------------------------------------
// Retrieve current order entry batch.
// The companion order can be added only if the parent order
// belongs to the order entry batch
// object owned by the OrderEntryWorksheet.
//-----------------------------------------------------------
worksheetInfo := call {{{SINGLE-QUOTE}}}OrderEntryBatch{{{SINGLE-QUOTE}}}.GetCurrent;
if worksheetInfo is NULL
OR "OrderEntryWorksheet" <> (worksheetInfo.OrderBatchOwner as String) then
z:=0;
endif;
//------------------------------------------------------------
// Get the .NET version of the Client Visit object.
// Needed to create new ObjectsPlus object
//------------------------------------------------------------
client_visit_obj := call {{{SINGLE-QUOTE}}}ClientVisit{{{SINGLE-QUOTE}}}.FindByPrimaryKey
with ((Active_ClientVisitGUID as number) as {{{SINGLE-QUOTE}}}Int64{{{SINGLE-QUOTE}}}) ;
//-----------------------------------------------------------
// Check the order entry worksheet. If there are no entries
// already on the worksheet set the initial values for
// the worksheet.
//-----------------------------------------------------------
if worksheetInfo.UnsubmittedOrdersCount = 0 then
// If there are no orders on the worksheet set
// defaults that will be used to create the orders
WSSessionType := "Standard";
WSSessionReason := "Orders created by MLM";
WSRequestedBySource := "";
// Set the session type and reason on the worksheet
void := call worksheetInfo.SetSessionType with (WSSessionType, WSSessionReason);
// Set the requesting source string
worksheetInfo.RequestedBySource := WSRequestedBySource;
//Get the current user as the default care provider
WSRequestedBy_obj := call {{{SINGLE-QUOTE}}}CareProvider{{{SINGLE-QUOTE}}}.FindById
with ( user_IDType, user_IDCode );
//Set the requesting provider
worksheetInfo.RequestedBy := WSRequestedBy_obj;
// Get the location that will be used for the orders.
WSlocation_obj := call {{{SINGLE-QUOTE}}}Location{{{SINGLE-QUOTE}}}.FindByPrimaryKey
with ((location_guid as number) as {{{SINGLE-QUOTE}}}Int64{{{SINGLE-QUOTE}}});
//Set the expected release location group
worksheetInfo.ExpectedReleaseLocationGroup := WSlocation_obj;
//Dispose RequestedBy CareProvider
if( WSRequestedBy_obj is NOT NULL ) then
void := call WSRequestedBy_obj.Dispose;
WSRequestedBy_obj:= null;
endif;
//Dispose ExpectedReleaseLocationGroup
if( WSlocation_obj is NOT NULL ) then
void := call WSlocation_obj.Dispose;
WSlocation_obj:= null;
endif;
else
//If there are orders on the worksheet retrieve the default values
// on the worksheet.
// These values are not required for this sample MLM however they
// contain useful information that can be used in the logic of an
// MLM.
WSSessionType := worksheetInfo.SessionType;
WSSessionReason := worksheetInfo.SessionReason;
WSRequestedBySource := worksheetInfo.RequestedBySource;
WSRequestedBy_obj := worksheetInfo.RequestedBy;
WSlocation_obj := worksheetInfo.ExpectedReleaseLocationGroup;
endif;
endtry;
catch Exception ex
error_occurred := true;
error_message := "{{+R}}Common Data:{{-R}}\n" ||
ex.Message || "\n\n";
if( worksheetInfo is NOT NULL ) then
void := call worksheetInfo.Dispose;
worksheetInfo:= null;
endif;
if( client_visit_obj is NOT NULL ) then
void := call client_visit_obj.Dispose;
client_visit_obj:= null;
endif;
if( WSRequestedBy_obj is NOT NULL ) then
void := call WSRequestedBy_obj.Dispose;
WSRequestedBy_obj:= null;
endif;
if( WSlocation_obj is NOT NULL ) then
void := call WSlocation_obj.Dispose;
WSlocation_obj:= null;
endif;
// If unable to initialize starting data, do not continue
// with the creation of any orders.
// Still conclude true as the error message needs to
// be displayed as an error.
//conclude true;
endcatch;
// QxH schedules
if ((proctype = "S")or (makenow = true)) Then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hourtest,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Now, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := filldate;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hourtest;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
elseif proctype = "A" then
//BID Schedules
if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 = "-99" AND Hour4 = "-99" AND Hour5 = "-99" ) then
if( (Currenthour As number) < (Hour1Rangemin As Number)) then
dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult as string) = "No") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if((dialogResult as string) = "Yes") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour2,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //if( (Currenthour As number) < (Hour1Rangemin As Number))
if( (Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour2,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif; //(Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
if( (Currenthour AS Number) > (Hour1Rangemax AS Number) AND (Currenthour AS Number) < (Hour2Rangemin As Number)) then
Active_SignificantPlusOneDtm := Active_SignificiantDtm + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d" || "-" ||
(extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-" || (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult2 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour2Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult2 as string) = "No") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour2,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if((dialogResult2 as string) = "Yes") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //Currenthour AS Number) > (Hour1Rangemax AS Number) AND (Currenthour AS Number) < (Hour2Rangemin As Number)) then
if( (Currenthour AS Number) >= (Hour2Rangemin AS Number) AND (Currenthour AS Number) <= (Hour2Rangemax As Number) ) then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if((Currenthour AS Number) > (Hour2Rangemax As Number) AND (Currenthour AS Number) <= 2359) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d" || "-" ||
(extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-" || (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " dose on " || Active_SignificantPlusOneISODate || "?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult3 as string) = "No") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if((dialogResult3 as string) = "Yes") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour2,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificiantDtm , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //Currenthour AS Number) > (Hour2Rangemax As Number) AND (Currenthour AS Number) <= 2359) then
endif; // if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 = "-99" AND Hour4 = "-99" AND Hour5 = "-99
// Daily Schedules
if( Hour1 <> "-99" AND Hour2 = "-99" AND Hour3 = "-99" AND Hour4 = "-99" AND Hour5 = "-99" ) then
if( (Currenthour As number) < (Hour1Rangemin As Number)) then
Active_SignificantPlusOneDtm1x := Now;
Active_SignificantPlusTwoDtm1x := Active_SignificantPlusOneDtm1x + 1 day;
Active_SignificantPlusOneISODate1x := (extract month Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm1x) formatted with "%04d" ;
Active_SignificantPlusTwoISODate1x := (extract month Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusTwoDtm1x) formatted with "%04d" ;
dialogResult4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt
|| " dose on " || Active_SignificantPlusOneISODate1x || "?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt
|| " on " ||Active_SignificantPlusTwoISODate1x
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt
|| " on " || Active_SignificantPlusOneISODate1x ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4 as string) = "No") then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificantPlusOneISODate1x, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificantPlusOneDtm1x;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if((dialogResult4 as string) = "Yes") then
Active_SignificantPlusOneDtm1x := Active_SignificantPlusOneDtm1x + 1 day;
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificantPlusOneDtm1x , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificantPlusOneDtm1x ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //if( (Currenthour As number) < (Hour1Rangemin As Number))
if( (Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
Active_SignificantPlusOneDtm1x := Now;
Active_SignificantPlusTwoDtm1x := Active_SignificantPlusOneDtm1x + 1 day;
Active_SignificantPlusOneISODate1x := (extract month Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm1x) formatted with "%04d" ;
Active_SignificantPlusTwoISODate1x := (extract month Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusTwoDtm1x) formatted with "%04d" ;
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificantPlusOneISODate1x, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificantPlusTwoISODate1x;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
if (Currenthour AS Number) > (Hour1Rangemax AS Number) then
Active_SignificantPlusOneDtm1x := Now + 1 day;
Active_SignificantPlusTwoDtm1x := Active_SignificantPlusOneDtm1x + 1 day;
Active_SignificantPlusOneISODate1x := (extract month Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusOneDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm1x) formatted with "%04d" ;
//tms remove pop up box for one time/day order to start on a different day then now/stat order
/* Active_SignificantPlusTwoISODate1x := (extract month Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusTwoDtm1x) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusTwoDtm1x) formatted with "%04d" ;
dialogResult4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "2Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " dose on " || Active_SignificantPlusOneISODate1x || "?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " ||Active_SignificantPlusTwoISODate1x
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate1x ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4 as string) = "No") then
*/
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificantPlusOneISODate1x, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
RequestedDate.Value := Active_SignificantPlusOneDtm1x;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
//tms remove pop up box for one time/day order to start on a different day then now/stat order
// endif;
/* if((dialogResult4 as string) = "Yes") then
Active_SignificantPlusOneDtm1x := Active_SignificantPlusOneDtm1x + 1 day;
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour1,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Active_SignificantPlusOneDtm1x , RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
client_visit_obj;
StartNow.Value := false;
RequestedDate.Value := Active_SignificantPlusOneDtm1x ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
endif;
*/
endif; //if ((Currenthour AS Number) > (Hour1 As Number)) Then
endif; // if daily order
//TID Schedules
if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 = "-99" AND Hour5 = "-99" ) then
Hour3Rangemax := (Hour3 as number) + (Plusminus|| "00" As number);
Hour3Rangemin := (Hour3 as number) - (Plusminus|| "00" As number) ;
Active_SignificiantDtm3x := Now;
Hour3x := 0000;
b3x := false;
if( (Currenthour As number) < (Hour1Rangemin As Number)) then
dialogResult3x1 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1 || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult3x1 as string) = "No") then
Active_SignificiantDtm3x := Active_SignificiantDtm;
Hour3x := Hour1;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b3x := true;
endif;
if((dialogResult3x1 as string) = "Yes") then
Active_SignificiantDtm3x := Active_SignificiantDtm;
Hour3x := Hour2;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b3x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
Active_SignificiantDtm3x := Active_SignificiantDtm;
Hour3x := Hour2;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b3x := true;
endif;
if( (Currenthour AS Number) > (Hour1Rangemax AS Number) AND (Currenthour AS Number) < (Hour2Rangemin As Number)) then
dialogResult3x2 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour2Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult3x2 as string) = "No") then
Active_SignificiantDtm3x := Active_SignificiantDtm;
Hour3x := Hour2;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b3x := true;
endif;
if((dialogResult3x2 as string) = "Yes") then
Active_SignificiantDtm3x := Active_SignificiantDtm ;
Hour3x := Hour3;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b3x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour2Rangemin AS Number) AND (Currenthour AS Number) <= (Hour2Rangemax As Number) ) then
Active_SignificiantDtm3x := Active_SignificiantDtm ;
Hour3x := Hour3;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b3x := true;
endif;
if( (Currenthour AS Number) > (Hour2Rangemax AS Number) AND (Currenthour AS Number) < (Hour3Rangemin As Number)) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d"
|| "-" || (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult3x3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour3Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult3x3 as string) = "No") then
Active_SignificiantDtm3x := Active_SignificiantDtm;
Hour3x := Hour3;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b3x := true;
endif;
if((dialogResult3x3 as string) = "Yes") then
Active_SignificiantDtm3x := Active_SignificiantDtm ;
Hour3x := Hour1;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b3x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour3Rangemin AS Number) AND (Currenthour AS Number) <= (Hour3Rangemax As Number) ) then
Active_SignificiantDtm3x := Active_SignificiantDtm + 1 day;
Hour3x := Hour1;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm + 1 day ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b3x := true;
endif;
if((Currenthour AS Number) > (Hour3Rangemax As Number) AND (Currenthour AS Number) <= 2359) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d"
|| "-" || (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult3x4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " on " || Active_SignificantPlusOneISODate ||" dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult3x4 as string) = "No") then
Active_SignificiantDtm3x := Active_SignificiantDtm + 1 day;
Hour3x := Hour1;
StartNow.Value := false;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b3x := true;
endif;
if((dialogResult3x4 as string) = "Yes") then
Active_SignificiantDtm3x := Active_SignificiantDtm + 1 day;
Hour3x := Hour2;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b3x := true;
endif;
endif;
if(b3x = true) Then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour3x,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Now, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 = "-99" AND Hour5 = "-99" ) then
//QID Schedules
if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 <> "-99" AND Hour5 = "-99" ) then
Hour3Rangemax := (Hour3 as number) + (Plusminus|| "00" As number);
Hour3Rangemin := (Hour3 as number) - (Plusminus|| "00" As number) ;
Hour4Rangemax := (Hour4 as number) + (Plusminus|| "00" As number);
Hour4Rangemin := (Hour4 as number) - (Plusminus|| "00" As number) ;
Active_SignificiantDtm4x := Now;
Hour4x := 0000;
b4x := false;
if( (Currenthour As number) < (Hour1Rangemin As Number)) then
dialogResult4x1 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4x1 as string) = "No") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour1;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b4x := true;
endif;
if((dialogResult4x1 as string) = "Yes") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b4x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b4x := true;
endif;
if( (Currenthour AS Number) > (Hour1Rangemax AS Number) AND (Currenthour AS Number) < (Hour2Rangemin As Number)) then
dialogResult4x2 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour2Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4x2 as string) = "No") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b4x := true;
endif;
if((dialogResult4x2 as string) = "Yes") then
Active_SignificiantDtm4x := Active_SignificiantDtm ;
Hour4x := Hour3;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b4x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour2Rangemin AS Number) AND (Currenthour AS Number) <= (Hour2Rangemax As Number) ) then
Active_SignificiantDtm4x := Active_SignificiantDtm ;
Hour4x := Hour3;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b4x := true;
endif;
if( (Currenthour AS Number) > (Hour2Rangemax AS Number) AND (Currenthour AS Number) < (Hour3Rangemin As Number)) then
dialogResult4x3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour3Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour4Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4x3 as string) = "No") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour3;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b4x := true;
endif;
if((dialogResult4x3 as string) = "Yes") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour4;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b4x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour3Rangemin AS Number) AND (Currenthour AS Number) <= (Hour3Rangemax As Number) ) then
Active_SignificiantDtm4x := Active_SignificiantDtm ;
Hour4x := Hour4;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b4x := true;
endif;
if( (Currenthour AS Number) > (Hour3Rangemax AS Number) AND (Currenthour AS Number) < (Hour4Rangemin As Number)) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d"
|| "-" || (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult4x4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour4Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour4Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4x4 as string) = "No") then
Active_SignificiantDtm4x := Active_SignificiantDtm;
Hour4x := Hour4;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b4x := true;
endif;
if((dialogResult4x4 as string) = "Yes") then
Active_SignificiantDtm4x := Active_SignificiantDtm + 1 day;
Hour4x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b4x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour4Rangemin AS Number) AND (Currenthour AS Number) <= (Hour4Rangemax As Number) ) then
Active_SignificiantDtm4x := Active_SignificiantDtm + 1 day ;
Hour4x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b4x := true;
endif;
if((Currenthour AS Number) > (Hour4Rangemax As Number) AND (Currenthour AS Number) <= 2359) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d"
|| "-" || (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult4x5 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " on " || Active_SignificantPlusOneISODate || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult4x5 as string) = "No") then
Active_SignificiantDtm4x := Active_SignificiantDtm + 1 day;
Hour4x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b4x := true;
endif;
if((dialogResult4x5 as string) = "Yes") then
Active_SignificiantDtm4x := Active_SignificiantDtm + 1 day;
Hour4x := Hour2;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b4x := true;
endif;
endif;
if(b4x = true) Then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour4x,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Now, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 <> "-99" AND Hour5 = "-99" ) then
//5x/day Schedules
if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 <> "-99" AND Hour5 <> "-99" ) then
Hour3Rangemax := (Hour3 as number) + (Plusminus|| "00" As number);
Hour3Rangemin := (Hour3 as number) - (Plusminus|| "00" As number) ;
Hour4Rangemax := (Hour4 as number) + (Plusminus|| "00" As number);
Hour4Rangemin := (Hour4 as number) - (Plusminus|| "00" As number) ;
Hour5Rangemax := (Hour5 as number) + (Plusminus|| "00" As number);
Hour5Rangemin := (Hour5 as number) - (Plusminus|| "00" As number) ;
Active_SignificiantDtm5x := Now;
Hour5x := 0000;
b5x := false;
if( (Currenthour As number) < (Hour1Rangemin As Number)) then
dialogResult5x1 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x1 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour1;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b5x := true;
endif;
if((dialogResult5x1 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b5x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour1Rangemin AS Number) AND (Currenthour AS Number) <= (Hour1Rangemax AS Number) ) then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b5x := true;
endif;
if( (Currenthour AS Number) > (Hour1Rangemax AS Number) AND (Currenthour AS Number) < (Hour2Rangemin As Number)) then
dialogResult5x2 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour2Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x2 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour2;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b5x := true;
endif;
if((dialogResult5x2 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm ;
Hour5x := Hour3;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b5x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour2Rangemin AS Number) AND (Currenthour AS Number) <= (Hour2Rangemax As Number) ) then
Active_SignificiantDtm5x := Active_SignificiantDtm ;
Hour5x := Hour3;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b5x := true;
endif;
if( (Currenthour AS Number) > (Hour2Rangemax AS Number) AND (Currenthour AS Number) < (Hour3Rangemin As Number)) then
dialogResult5x3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour3Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour4Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour3Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x3 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour3;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour3;
b5x := true;
endif;
if((dialogResult5x3 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour4;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b5x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour3Rangemin AS Number) AND (Currenthour AS Number) <= (Hour3Rangemax As Number) ) then
Active_SignificiantDtm5x := Active_SignificiantDtm ;
Hour5x := Hour4;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b5x := true;
endif;
if( (Currenthour AS Number) > (Hour3Rangemax AS Number) AND (Currenthour AS Number) < (Hour4Rangemin As Number)) then
dialogResult5x4 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour4Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour5Txt
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour4Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x4 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour4;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour4;
b5x := true;
endif;
if((dialogResult5x4 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm + 1 day;
Hour5x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b5x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour4Rangemin AS Number) AND (Currenthour AS Number) <= (Hour4Rangemax As Number) ) then
Active_SignificiantDtm5x := Active_SignificiantDtm ;
Hour5x := Hour5;
RequestedDate.Value := Active_SignificiantDtm ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour5;
b5x := true;
endif;
if( (Currenthour AS Number) > (Hour4Rangemax AS Number) AND (Currenthour AS Number) < (Hour5Rangemin As Number)) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d"
|| "-" || (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult5x5 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}"|| MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour5Txt || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour5Txt ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x5 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm;
Hour5x := Hour5;
RequestedDate.Value := Active_SignificiantDtm;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour5;
b5x := true;
endif;
if((dialogResult5x5 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm + 1 day;
Hour5x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b5x := true;
endif;
endif;
if( (Currenthour AS Number) >= (Hour5Rangemin AS Number) AND (Currenthour AS Number) <= (Hour5Rangemax As Number) ) then
Active_SignificiantDtm5x := Active_SignificiantDtm + 1 day ;
Hour5x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day ;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b5x := true;
endif;
if((Currenthour AS Number) > (Hour5Rangemax As Number) AND (Currenthour AS Number) <= 2359) then
Active_SignificantPlusOneDtm := Now + 1 day;
Active_SignificantPlusOneISODate := (extract month Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract day Active_SignificantPlusOneDtm) formatted with "%02d" || "-"
|| (extract year Active_SignificantPlusOneDtm) formatted with "%04d" ;
dialogResult5x6 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "Do you want the {{{SINGLE-QUOTE}}}" || MsgFreq1 || "{{{SINGLE-QUOTE}}} dose to replace the " || Hour1Txt || " on " || Active_SignificantPlusOneISODate || " dose?"
||" .\n\n Choose YES to give a " || MsgFreq2 || " dose and then start at " || Hour2Txt || " on " || Active_SignificantPlusOneISODate
||" .\n\n Choose NO to give a " || MsgFreq2 || " dose and then start at " || Hour1Txt || " on " || Active_SignificantPlusOneISODate ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
if((dialogResult5x4 as string) = "No") then
Active_SignificiantDtm5x := Active_SignificiantDtm + 1 day;
Hour5x := Hour1;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour1;
b5x := true;
endif;
if((dialogResult5x4 as string) = "Yes") then
Active_SignificiantDtm5x := Active_SignificiantDtm + 1 day;
Hour5x := Hour2;
RequestedDate.Value := Active_SignificiantDtm + 1 day;
RequestedTime.ReqTimeCode := "Scheduled/Start Time";
RequestedTime.ReqTimeValue := Hour2;
b5x := true;
endif;
endif;
if(b5x = true) Then
zz_call := call SCH_NOW_AND_THEN_GENERATE_ORDER with
PrimaryObjdetail.Name,
PrimaryObjdetail.Modifier,
NewOrderFreq,
Hour5x,
dose, dosehigh,
Uom, PRN,
OrderRouteCode,
worksheetInfo,
Active_OrderGUID,
Now, RxInstruct, UserInstruct, WorxRouteCode, WorxCode,
Nonchemical_Restraint_Ind, ADMINS_AppSite, ADMINS_GiveWith, AltPrintLocation,
BRANDNAME, Concentration, CONCSTRENGTHUOM, CONCSTRVOLUMEUOM, DrugNameforMLM,
NOTECOMMENT1, NOTECOMMENT2, NOTECOMMENT7, NOTECOMMENT8, OmitMessage,
PRNCONDITION, TP_Application_Site, Chemical_Restraint, Not_Chemical_Restraint,
Aerochamber, AutoVerify,AWP, Inspirese, PrebuiltOrder, Pt_to_Admin, Resp_to_Admin,
CONCSTRENGTH, CONCSTRVOLUME, BaseSolutionFld.Name, BaseSolutionFld.Dose, BaseSolutionFld.Uom,
PhysReqNaCl,
client_visit_obj;
StartNow.Control_Read_Only := true;
StatandThen.Control_Read_Only := true;
AddlDoseOrdered.value := true;
// PRN_field.Control_Read_Only := true;
regular_freq.control_Read_Only := true;
endif;
endif; //if( Hour1 <> "-99" AND Hour2 <> "-99" AND Hour3 <> "-99" AND Hour4 <> "-99" AND Hour5 <> "-99" ) then
endif; //if( blnUpdateFrequency = true AND this_communication.DisplayForm
if proctype is null then // if start now = true
//else // if start now = true
RequestedTime.ReqTimeCode := NULL;
RequestedTime.ReqTimeValue := NULL;
RequestedDate.value := NULL;
RequestedDate.control_read_only := false;
RequestedTime.control_read_only := false;
StartNow.Value := false;
StartNow.control_read_only := true;
StatandThen.Value := false;
StatandThen.control_read_only := true;
endif;
endif; //if (StartNow.Value = true) or (STATandThen.Value = true)
endif; //if exists(StartNow) or (StatandThen)
endif; //if continue_checking_order = true
endif; // if session_type = "standard"
endif; //if (CallingEvent = "FormClose")
;;
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: