92 lines
2.6 KiB
Plaintext
92 lines
2.6 KiB
Plaintext
maintenance:
|
|
|
|
title: Pediatric Morphine Conversion;;
|
|
mlmname: Form_Pediatric_Morphine_calc;;
|
|
arden: version 2;;
|
|
version: 4.50;;
|
|
institution: St. Clair Hospital;;
|
|
author: Teresa M. Spicuzza ;;
|
|
specialist: Eclipsys Corporation;;
|
|
date: 2006-11-28;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Caculate Morphine solution to mg when ordered in ml and to ml when ordered in ml.
|
|
;;
|
|
explanation:
|
|
|
|
;;
|
|
keywords:
|
|
Pediatric, Morphine, Conversion;
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
/********************Make Changes To Spelling And Flags In This Section*********************/
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
// 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;
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
|
|
OrderedDose := first of (field_list where field_list.DataItemName = "DosageLow");
|
|
OrderedUnits := first of (field_list where field_list.DataItemName = "UOM");
|
|
Instructions := first of (field_list where field_list.DataItemName = "PRX_NOTECOMMENT0");
|
|
//Instructions := first of (field_list where field_list.DataItemName = "AdminInstructions");
|
|
|
|
If exists OrderedDose then OrderedDoseValue := OrderedDose.Value; endif;
|
|
|
|
If exists OrderedUnits then OrderedUnitsValue := OrderedUnits.Value; endif;
|
|
|
|
If OrderedUnitsValue = "ml" then
|
|
ConversionUnits := "mg";
|
|
ConversionDose := (OrderedDoseValue as number) * 0.4;
|
|
|
|
|
|
Endif;
|
|
|
|
If orderedUnitsValue = "mg" then
|
|
ConversionUnits := "ml";
|
|
ConversionDoseRaw := ((OrderedDoseValue as number) / 0.4) ;
|
|
ConversionDose := ((int((ConversiondoseRaw + 0.0051) * 100)) /100) ;
|
|
Endif;
|
|
|
|
|
|
If OrderedDoseValue is not null and OrderedUnitsValue is not null then
|
|
Instructions.value := "\n\n " || OrderedDoseValue || OrderedUnitsValue ||
|
|
" = " || ConversionDose || ConversionUnits;
|
|
else Instructions.value := " ";
|
|
|
|
Endif;
|
|
|
|
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic:
|
|
Conclude true;
|
|
;;
|
|
action:
|
|
// This MLM returns two parameters, of types
|
|
//communication_type and form_type respectively.
|
|
return this_communication, this_form;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|