124 lines
5.3 KiB
Plaintext
124 lines
5.3 KiB
Plaintext
maintenance:
|
|
|
|
title: Form_Rituxin;;
|
|
mlmname: Form_Rituxin ;;
|
|
arden: version 2.5;;
|
|
version: 6.10;;
|
|
institution: SCH ;;
|
|
author: Shivprasad Jadhav;;
|
|
specialist: Shivprasad Jadhav, Allscripts;;
|
|
date: 2016-02-02;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Ø While opening of the Order items if the weight or height is not charted on the patient then pre -populate the message that weight / height needs to entered.
|
|
Calucate the Dose for the patient on the basis of the value in the calculation field* BSA And round off to multiple of 5.
|
|
Instruction/Comments whould change the value of 375 as per the dose value.
|
|
|
|
;;
|
|
explanation:
|
|
Change history
|
|
04.11.2017 TMS Changed MLM to be called from "Form_HoldOrder_RequestedTime" to keep calls on FormOpen
|
|
from one {{{SINGLE-QUOTE}}}master{{{SINGLE-QUOTE}}} MLM, being done in preparation for using hidden default dosing CSR 35364.
|
|
;;
|
|
keywords:
|
|
;;
|
|
citations:
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
|
|
standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
(this_communication, // Communication object
|
|
this_form, // Form object
|
|
client_info_obj //Arden ClientInfo object
|
|
) := argument;
|
|
field_list:= this_form.Fields;
|
|
|
|
Client_GUID := this_communication.ClientGUID;
|
|
ClientVisit_GUID := this_communication.ClientVisitGUID;
|
|
Chart_GUID := this_communication.ChartGUID;
|
|
form_name := this_form.Name;
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField := this_communication.CallingFieldName;
|
|
|
|
|
|
HtWtBSA := First of ( field_list where field_list.DataItemName = "CombinedMeasurements" And field_list.Control_MultiFieldOccNum = 1 ) ;
|
|
Calculation := First of ( field_list where field_list.DataItemName = "PRX_Rituximab calcuation" And field_list.Control_MultiFieldOccNum = 1 ) ;
|
|
Dose := First of ( field_list where field_list.DataItemName = "DosageLow" And field_list.Control_MultiFieldOccNum = 1 ) ;
|
|
Instruction := First of ( field_list where field_list.DataItemName = "AdminInstructions" and field_list.Control_MultiFieldOccNum = 1 ) ;
|
|
|
|
HtWtBSA_Val := HtWtBSA.Value.BSA ;
|
|
Calc_Val :=Calculation.Value ;
|
|
|
|
|
|
// check weight Value for Patient and Give warning message
|
|
Wt := Read first {"Select text from CV3PhysicalNoteDeclaration With (Nolock) Where Typecode= {{{SINGLE-QUOTE}}}WEIGHT{{{SINGLE-QUOTE}}} "
|
|
|| " And ClientVisitGUID = " ||SQL(ClientVisit_GUID) || " " };
|
|
Ht := Read first {"Select text from CV3PhysicalNoteDeclaration With (Nolock) Where Typecode= {{{SINGLE-QUOTE}}}HEIGHT{{{SINGLE-QUOTE}}} "
|
|
|| " And ClientVisitGUID = " ||SQL(ClientVisit_GUID) || " " };
|
|
|
|
if ( CallingEvent = "FormOpen" ) then
|
|
// Generic_MLM:= MLM {{{SINGLE-QUOTE}}}FORM_HOLDORDER_REQUESTEDTIME{{{SINGLE-QUOTE}}};
|
|
// this_communication,this_form := call Generic_MLM with this_communication,this_form,client_info_obj ;
|
|
// To Pass Message fir Height weight
|
|
If Wt is Null or Ht is Null or HtWtBSA_Val = 0 Then
|
|
Void := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Please enter a current weight/height for this patient" ,"Sunrise Clinical Manager", "OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}},"Warning" as {{{SINGLE-QUOTE}}}MessageBoxIcon{{{SINGLE-QUOTE}}};
|
|
EndIf;
|
|
// Autopopulating Value in dose
|
|
If (Wt is Not Null And Ht is not Null ) And HtWtBSA_Val Is Not 0 Then
|
|
DoseVal := (HtWtBSA_Val As Number ) * ( Calc_Val As Number) ;
|
|
DoseVal1 := Read Last {"Select Convert( Int, Round( "|| DoseVal || ", 0)) "};
|
|
RoundedDose := Read Last {" Select Convert(Int,(( "||DoseVal1 || " + 2.5)/5)) * 5 "}; //Read Last {" Select "|| DoseVal1 ||" + (5 - ( "|| DoseVal1 ||" % 5)) "};
|
|
Dose.Value := RoundedDose ;
|
|
Instruction.Value := " Dose: "|| HtWtBSA_Val || " m2 x 375 mg/m2 " ;
|
|
ElseIf HtWtBSA_Val = 0 Then
|
|
Instruction.Value := "";
|
|
Endif ;
|
|
Endif;
|
|
|
|
|
|
if ( CallingEvent = "FieldChange" ) then
|
|
//if this_communication.CallingFieldName in ("PRX_Rituximab calcuation","CombinedMeasurements") Then
|
|
If (HtWtBSA_Val Is Not 0 ) And (Calc_Val is Not Null ) Then
|
|
If CallingField = "DosageLow" Then
|
|
DoseVal := (HtWtBSA_Val As Number) * ( Calc_Val As Number);
|
|
DoseVal1 := Read Last {"Select Convert( Int, Round( "|| DoseVal || ", 0)) "}; //Dose.Value := DoseVal1 ;
|
|
RoundedDose := Read Last {" Select Convert(Int,(( "||DoseVal1 || " + 2.5)/5)) * 5 "};
|
|
If Dose.Value = RoundedDose Then
|
|
Dose.Value := (HtWtBSA_Val As Number) * ( Calc_Val As Number) ;
|
|
Dose.Value := RoundedDose; //DoseVal1 ;
|
|
Instruction.Value := " Dose: "|| HtWtBSA_Val || " m2 x 375 mg/m2 " ;
|
|
Else
|
|
Instruction.Value := "";
|
|
Endif;
|
|
Else
|
|
DoseVal := (HtWtBSA_Val As Number) * ( Calc_Val As Number) ;
|
|
DoseVal1 := Read Last {"Select Convert( Int, Round( "|| DoseVal || ", 0)) "};
|
|
RoundedDose := Read Last {" Select Convert(Int,(( "||DoseVal1 || " + 2.5)/5)) * 5 "};
|
|
Dose.Value := RoundedDose ;
|
|
Instruction.Value := " Dose: "|| HtWtBSA_Val || " m2 x 375 mg/m2 " ;
|
|
Endif;
|
|
ElseIf HtWtBSA_Val = 0 or Calc_Val is Null Then
|
|
Instruction.Value := "";
|
|
Endif;
|
|
EndIf; /// Form Onening Event End
|
|
|
|
|
|
|
|
;;
|
|
priority: 50
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic: conclude true;
|
|
;;
|
|
action: return this_communication, this_form;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|