127 lines
4.2 KiB
Plaintext
127 lines
4.2 KiB
Plaintext
maintenance:
|
|
|
|
title:Pharmacy SCM Route Code to WORx code mapping;;
|
|
mlmname:FORM_RX_ROUTE_MAPPING;;
|
|
arden: version 2;;
|
|
version: 4.50;;
|
|
institution: St Clair Rx Route Mapping MLM;;
|
|
author: Robert Spence, Eclipsys Corp;;
|
|
specialist: ;;
|
|
date: 2007-01-26;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: This MLM sets the field WORX_Route to a mapped value dependant on the SCM Route.
|
|
|
|
;;
|
|
explanation: This MLM is launched on the change of the Route field on the PRX forms
|
|
The mappings where supplied by Teresa Spicuzza 01/26/2007
|
|
|
|
change history
|
|
10.24.2007 TMS Added additional routes for mapping to MM, PO and NS to eliminate Veriscan errors.
|
|
05.27.2015 TMS Added additional for interventional radiology orders. CSR 32710
|
|
|
|
;;
|
|
keywords: Called MLMs, Form fields, Rx Route, Worx Route, Mapping
|
|
;;
|
|
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;
|
|
|
|
|
|
/*******************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:="";
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
CallingField :=this_communication.CallingFieldName;
|
|
CallingEvent := this_communication.CallingEvent;
|
|
FormType := this_communication.FormType;
|
|
|
|
|
|
// This sets the visible control on the field dataitem - CHG_OVERRIDE_WITH
|
|
Route_field := last of (field_list
|
|
where field_list.DataItemName = "OrderRouteCode" );
|
|
|
|
WORx_Route_field := last of (field_list
|
|
where field_list.DataItemName = "PRX_WORx_Route" );
|
|
|
|
If CallingField ="OrderRouteCode" then
|
|
|
|
If Route_Field.Value in ("IV PUSH","IVPB", "IV") then
|
|
WORx_Route_Field.Value :="IV";
|
|
elseif Route_Field.Value in ("Left Ear","Right Ear","Both Ears") then
|
|
WORx_Route_Field.Value := "OT";
|
|
elseif Route_Field.Value in ("Left Eye","Right Eye","Both Eyes") then
|
|
WORx_Route_Field.Value := "OP";
|
|
elseif Route_Field.Value in ("Left Nostril","Right Nostril","Each Nostril","Alternating Nostrils") then
|
|
WORx_Route_Field.Value := "NS";
|
|
elseif Route_Field.Value in ("PO","VIA TUBE","CHEW","Swish and Swallow") then
|
|
WORx_Route_Field.Value :="PO";
|
|
elseif Route_Field.Value in ("SL") then
|
|
WORx_Route_Field.Value :="SL";
|
|
elseif Route_Field.Value in ("Topical","Topically","Apply","Cleanse incision") then
|
|
WORx_Route_Field.Value :="TP";
|
|
elseif Route_Field.Value in ("Inhaled") then
|
|
WORx_Route_Field.Value := "IH";
|
|
elseif Route_Field.Value in ("Dissolve in Mouth","Swish and Spit","Swish","Gargle") then
|
|
WORx_Route_Field.Value := "MM";
|
|
elseif Route_Field.Value in ("Apply Topically") then
|
|
WORx_Route_Field.Value := "TD";
|
|
elseif Route_Field.Value in ("IM") then
|
|
WORx_Route_Field.Value := "IM";
|
|
elseif Route_Field.Value in ("Rectally", "Per Colostomy") then
|
|
WORx_Route_Field.Value := "RC";
|
|
elseif Route_Field.Value in ("Vaginally") then
|
|
WORx_Route_Field.Value := "VG";
|
|
elseif Route_Field.Value in ("Sheath") then
|
|
WORx_Route_Field.Value := "SH";
|
|
elseif Route_Field.Value in ("Epidural") then
|
|
WORx_Route_Field.Value := "EP";
|
|
elseif Route_Field.Value in ("Intracatheter") then
|
|
WORx_Route_Field.Value := "IC";
|
|
endif;
|
|
endif;
|
|
|
|
// this_communication.DisplayForm := "Yes";
|
|
// this_communication.Message := "MLM Field :" || CallingField || "\n" ||
|
|
// "MLM Event :" || CallingEvent || "\n" ||
|
|
// "Form type :" || FormType;
|
|
// this_communication.MessageType := "Informational";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;
|
|
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:
|