Initial Checking with all 820 MLMs
This commit is contained in:
303
MLMStripper/bin/Debug/FORM/FORM_SET_PEDIATRIC_PACU_MEDS.mlm
Normal file
303
MLMStripper/bin/Debug/FORM/FORM_SET_PEDIATRIC_PACU_MEDS.mlm
Normal file
@@ -0,0 +1,303 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_SET_Pediatric_PACU_Meds;;
|
||||
mlmname: FORM_SET_Pediatric_PACU_Meds;;
|
||||
arden: version 2.5;;
|
||||
version: 16.3;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Teresa Spicuzza, Allscripts ;;
|
||||
specialist: Peggy Leschak;;
|
||||
date: 2017-09-05;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: Provide Pediatric Dose Amounts based upon patient weight and/or age
|
||||
;;
|
||||
|
||||
explanation:
|
||||
|
||||
Change history
|
||||
04.09.2018 TMS CSR 35320 - Created for PACU Pedatric Medication Dose Calculation
|
||||
|
||||
;;
|
||||
keywords: PACU, weight based, pediatric
|
||||
;;
|
||||
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;
|
||||
|
||||
|
||||
|
||||
//Form fields
|
||||
CurrWeight := last of ( field_list WHERE field_list.DataItemName = "CombinedMeasurements"
|
||||
AND field_list.Control_MultiFieldOccNum = 1 );
|
||||
Morphine_Mod := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 1 );
|
||||
Morphine_Sev := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 2 );
|
||||
Hydromorphone_Mod:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 3 );
|
||||
Hydromorphone_Sev:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 4 );
|
||||
Fentanyl_Mod:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 5 );
|
||||
Fentanyl_Sev:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 6 );
|
||||
Oxycodone_Liq:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 7 );
|
||||
Oxycodone_Tab:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 8 );
|
||||
Ketorolac := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 9 );
|
||||
Acetaminophen_Oral:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 10 );
|
||||
Acetaminophen_Rectal:= last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 11 );
|
||||
Meperidine := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 12 );
|
||||
Metoclopramide := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 13 );
|
||||
Ondansetron_IV := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 14 );
|
||||
Midazolam := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 15 );
|
||||
RacemicEpi := last of ( field_list WHERE field_list.DataItemName = "DosageLow"
|
||||
AND field_list.Control_MultiFieldOccNum = 16 );
|
||||
|
||||
Morphine_Mod_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 1 );
|
||||
Morphine_Sev_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 2 );
|
||||
Hydromorphone_Mod_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 3 );
|
||||
Hydromorphone_Sev_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 4 );
|
||||
Fentanyl_Mod_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 5 );
|
||||
Fentanyl_Sev_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 6 );
|
||||
Acetaminophen_Stat_Note := last of ( field_list WHERE field_list.DataItemName = "AdminInstructions"
|
||||
AND field_list.Control_MultiFieldOccNum = 1 );
|
||||
Acetaminophen_Note := last of ( field_list WHERE field_list.DataItemName = "AdminInstructions"
|
||||
AND field_list.Control_MultiFieldOccNum = 2 );
|
||||
AcetaminophenOrders := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
||||
AND field_list.Control_MultiFieldOccNum = 6 );
|
||||
Ondansetron_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 8 );
|
||||
AcetaminophenGrid := AcetaminophenOrders.value;
|
||||
Metoclopramide_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 7 );
|
||||
RacemicEpi_Note := last of ( field_list WHERE field_list.DataItemName = "PRX_NoteComment0"
|
||||
AND field_list.Control_MultiFieldOccNum = 9 );
|
||||
|
||||
|
||||
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;
|
||||
|
||||
Calc_0_005 := (wt as number) * 0.005;
|
||||
Calc_0_01 := (wt as number) * 0.01;
|
||||
Calc_0_03 := (wt as number) * 0.03;
|
||||
Calc_0_05 := (wt as number) * 0.05;
|
||||
Calc_0_15 := (wt as number) * 0.15;
|
||||
Calc_0_1 := (wt as number) * 0.1;
|
||||
Calc_0_3 := (wt as number) * 0.3;
|
||||
Calc_0_5 := (wt as number) * 0.5;
|
||||
Calc_1_5 := (wt as number) * 1.5;
|
||||
Calc_15 := (wt as number) * 15;
|
||||
|
||||
|
||||
Calc_3 := wt * 3;
|
||||
Calc_5 := wt * 5;
|
||||
Calc_1 := wt * 1;
|
||||
Calc_15 := wt * 15;
|
||||
|
||||
rnd_Calc_0_03:= (int((Calc_3 + 2.5)/5) * 5) /100;
|
||||
rnd_Calc_0_05:= (int((Calc_5 + 2.5)/5) * 5) /100;
|
||||
rnd_Calc_0_005:= (int((Calc_5 + 25)/50) * 50) /1000;
|
||||
rnd_Calc_0_01:= (int((Calc_1 + 2.5)/5) * 5) /100;
|
||||
rnd_Calc_0_3:= (int((Calc_3 + 0.5)/1) * 1) / 10;
|
||||
rnd_Calc_0_5:= (int((Calc_5 + 0.5)/1) * 1) / 10;
|
||||
rnd_Calc_0_15 := (int((Calc_15 + 50)/100) * 100) / 100;
|
||||
rnd_Calc_1_5 := (int((Calc_15 + 5)/10) * 10) / 10;
|
||||
rnd_Calc_0_1 := (int((Calc_1 + 0.5)/1) * 1) / 10;
|
||||
Morphine_Mod.Value := rnd_Calc_0_03 as number;
|
||||
Morphine_Sev.Value := rnd_Calc_0_05 as number;
|
||||
Hydromorphone_Mod.Value := rnd_Calc_0_005 as number;
|
||||
Hydromorphone_Sev.Value := rnd_Calc_0_01 as number;
|
||||
Fentanyl_Mod.Value := rnd_Calc_0_3 as number;
|
||||
Fentanyl_Sev.Value := rnd_Calc_0_5 as number;
|
||||
Metoclopramide.Value := rnd_Calc_0_1 as number;
|
||||
Acetaminophen_ml := (Int((((Calc_15 / 32) * 10) + 2.5)/5) *5) /10 ;
|
||||
|
||||
|
||||
|
||||
Morphine_Mod_Note.Value := "Morphine 0.03 mg/kg (" ||rnd_Calc_0_03 || " mg)" || CRLF
|
||||
|| "(Maximum Dose: 0.15 mg/kg (" || rnd_Calc_0_15 || " mg) TOTAL of all Morphine administered in PACU)";
|
||||
|
||||
Morphine_Sev_Note.Value := "Morphine 0.05 mg/kg (" ||rnd_Calc_0_05 || " mg)" || CRLF
|
||||
|| "(Maximum Dose: 0.15 mg/kg (" || rnd_Calc_0_15 || " mg) TOTAL of all Morphine administered in PACU)";
|
||||
|
||||
|
||||
Hydromorphone_Mod_Note.Value := "Hydromorphine 0.005 mg/kg (" || rnd_Calc_0_005 || " mg)" || CRLF
|
||||
|| "(Maximum Dose: 0.03 mg/kg (" || rnd_Calc_0_03 || " mg) TOTAL)";
|
||||
|
||||
Hydromorphone_Sev_Note.Value := "Hydromorphine 0.01 mg/kg (" || rnd_Calc_0_01 || " mg)" || CRLF
|
||||
|| "(Maximum Dose: 0.03 mg/kg (" || rnd_Calc_0_03 || " mg) TOTAL)";
|
||||
|
||||
|
||||
Fentanyl_Mod_Note.Value := "Fentanyl 0.3 mcg/kg (" || rnd_Calc_0_3 || " mcg)" || CRLF
|
||||
|| "(Maximum Dose: 1.5 mcg/kg (" || rnd_Calc_1_5 || " mcg) TOTAL)";
|
||||
|
||||
Fentanyl_Sev_Note.Value := "Fentanyl 0.5 mcg/kg (" || rnd_Calc_0_5 || " mcg)" || CRLF
|
||||
|| "(Maximum Dose: 1.5 mcg/kg (" || rnd_Calc_1_5 || " mcg) TOTAL)";
|
||||
|
||||
Metoclopramide_Note.Value := "Metoclopramide 0.1 mg/kg (" || rnd_Calc_0_1 || " mg)" || CRLF
|
||||
|| "(Maximum Dose: 10 mg)";
|
||||
|
||||
|
||||
|
||||
If (Calc_0_5 as number) < 30 then
|
||||
Ketorolac.Value := rnd_Calc_0_5 as number;
|
||||
else
|
||||
Ketorolac.Value := 30;
|
||||
endif;
|
||||
|
||||
Acetaminophen_Oral.Value := (Acetaminophen_ml as number) * 32;
|
||||
Acetaminophen_Stat_Note.Value := "PACU ONLY. Give upon arrival in PACU. Acetaminophen 15 mg/kg. May give through NG tube."|| CRLF
|
||||
|| Acetaminophen_Oral.Value || " mg = " || Acetaminophen_ml || " ml";
|
||||
Acetaminophen_Note.Value := "PACU ONLY. For Mild pain score of 1-3. Acetaminophen 15 mg/kg. May give through NG tube."|| CRLF
|
||||
|| Acetaminophen_Oral.Value || " mg = " || Acetaminophen_ml || " ml";
|
||||
If (Calc_15 as number) > 0 and (Calc_15 as number) <= 300 then
|
||||
Acetaminophen_Rectal.Value := 120;
|
||||
AcetaminophenGrid.IsReadOnly := (False, False, False, True, True);
|
||||
Elseif (Calc_15 as number) > 300 and (Calc_15 as number) <= 645 then
|
||||
Acetaminophen_Rectal.Value := 325;
|
||||
AcetaminophenGrid.IsReadOnly := (False, False, True, False, True);
|
||||
Elseif (Calc_15 as number) > 645 then
|
||||
Acetaminophen_Rectal.Value := 650;
|
||||
AcetaminophenGrid.IsReadOnly := (False, False, True, True, False );
|
||||
else
|
||||
AcetaminophenGrid.IsReadOnly := (False, False, False, False, False);
|
||||
endif;
|
||||
|
||||
|
||||
If (Calc_0_5 as number) >= 50 then
|
||||
Meperidine.Value := 50;
|
||||
Else
|
||||
Meperidine.Value := rnd_Calc_0_5 as number;
|
||||
endif;
|
||||
|
||||
If (rnd_Calc_0_1 as number) >= 10 then
|
||||
Metoclopramide.Value := 10;
|
||||
Else
|
||||
Metoclopramide.Value := rnd_Calc_0_1 as number;
|
||||
endif;
|
||||
|
||||
If (wt as number)> 0 and (wt as number)< 10 then
|
||||
Ondansetron_IV.value := rnd_Calc_0_1 as number;
|
||||
Ondansetron_Note.value := "Patients less than 10 kg. 0.1 mg/kg (" ||rnd_Calc_0_1 || "). ";
|
||||
elseif (wt as number)>= 10 and (wt as number)< 20 then
|
||||
Ondansetron_IV.value := 1;
|
||||
Ondansetron_Note.value := "Patients 10 to less than 20 kg.";
|
||||
elseif (wt as number)>= 20 and (wt as number)< 30 then
|
||||
Ondansetron_IV.value := 2;
|
||||
Ondansetron_Note.value := "Patients 20 to less than 30 kg.";
|
||||
elseif (wt as number)>= 30 and (wt as number)< 40 then
|
||||
Ondansetron_IV.value := 3;
|
||||
Ondansetron_Note.value := "Patients 30 to less than 40 kg.";
|
||||
elseif (wt as number)>= 40 then
|
||||
Ondansetron_IV.value := 4;
|
||||
Ondansetron_Note.value := "Patients 40 kg or greater.";
|
||||
endif;
|
||||
|
||||
If (Calc_0_05 as number) >= 2 then
|
||||
Midazolam.Value := 2;
|
||||
Else
|
||||
Midazolam.Value := rnd_Calc_0_05 as number;
|
||||
endif;
|
||||
|
||||
If (Calc_0_05 as number) >= 0.5 then
|
||||
RacemicEpi.Value := 0.5;
|
||||
RacemicEpi_Note.Value := "PACU ONLY. Racemic Epinephrine Inhalation 0.05 ml/kg/dose equals " ||RacemicEpi.Value || " ml diluted to 3 ml with normal saline over 15 min (MAXIMUM TOTAL DOSE Racemic Epinephrine: 0.5 ml)";
|
||||
Else
|
||||
RacemicEpi.Value := rnd_Calc_0_05 as number;
|
||||
RacemicEpi_Note.Value := "PACU ONLY. Racemic Epinephrine Inhalation 0.05 ml/kg/dose equals " ||RacemicEpi.Value || " ml diluted to 3 ml with normal saline over 15 min (MAXIMUM TOTAL DOSE Racemic Epinephrine: 0.5 ml)";
|
||||
endif;
|
||||
|
||||
|
||||
If CurrWeight_val.Weight = 0 then
|
||||
|
||||
this_communication.Message := "Please enter a weight on this patient to continue." ; this_communication.MessageType := "Informational";
|
||||
|
||||
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:
|
||||
Reference in New Issue
Block a user