maintenance: title: HOME CARE MLM;; mlmname: FORM_TEST_MLM_HC;; arden: version 2;; version: 4.50;; institution: St Clair HomeCaseMLM;; author: Robert Spence, Eclipsys Corp;; specialist: ;; date: 2006-06-15;; validation: testing;; library: purpose: This MLM displays boxes per a check box being checked / unchecked ;; explanation: This MLM displays boxes per a check box being checked / unchecked A Banner message is presented to the user to remind them that these fields must be completed. ;; keywords: Called MLMs, Form fields,Home Care, displays ;; 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; // This sets the visible control on the field dataitem - FrequencyCode HOrder_Field := first of (field_list where field_list.DataItemName = "HH_Personnel" ); HService_field := first of (field_list where field_list.DataItemName = "HH_Services" ); HDiscipline_field := first of (field_list where field_list.DataItemName = "HH_Discipline" ); HFreq_Field := first of (field_list where field_list.DataItemName = "HH_Home Care Frequency" ); DOrder_Field := first of (field_list where field_list.DataItemName = "HH_Durable Medical Equip" ); DEquipNeed_Field := first of (field_list where field_list.DataItemName = "HH Equipment" ); EFeedingOrder_Field:= first of (field_list where field_list.DataItemName = "HH_Enteral Feedings" ); EFormEquiv_Field := first of (field_list where field_list.DataItemName = "HH_Formula/Equivelant"); EAmountCC_Field := first of (field_list where field_list.DataItemName = "HH_cc/hr" ); EFlowRate_Field:= first of (field_list where field_list.DataItemName = "HH_Hours per day" ); EModeAmin_Field := first of (field_list where field_list.DataItemName = "HH_Mode of Administration" ); EFlushWith_Field := first of (field_list where field_list.DataItemName = "HH_Flushes" ); EAmountCC2_Field := first of (field_list where field_list.DataItemName = "HH_Amount in CC{{{SINGLE-QUOTE}}}s" ); EFreeWater_Field := first of (field_list where field_list.DataItemName = "HH_Free water amount" ); EFlushFreq_Field := first of (field_list where field_list.DataItemName = "HH_FlushFrequency" ); EPegTube_Field := first of (field_list where field_list.DataItemName = "HH_Peg Tube Present" ); InfusionOrder_Field := first of (field_list where field_list.DataItemName = "HH_Infusion Order" ); IBenCheck_Field := first of (field_list where field_list.DataItemName = "HH_Home Infusion Benefit Check" ); IDrug_Field := first of (field_list where field_list.DataItemName = "HH_Drug" ); IVSolution_Field:= first of (field_list where field_list.DataItemName = "HH_IV Solution" ); IccPerHr_Field :=first of (field_list where field_list.DataItemName = "HH_cc/hour" ); IqPerHr_Field:=first of (field_list where field_list.DataItemName = "HH_q/hours" ); IPRN_Field := first of (field_list where field_list.DataItemName = "HH_PRN" ); IFlush_Field:=first of (field_list where field_list.DataItemName = "HH_Flush" ); IRoute_Field:=first of (field_list where field_list.DataItemName = "HH_Route:" ); IVAccess_Field:=first of (field_list where field_list.DataItemName = "HH_IV Access:" ); POrder_Field := first of (field_list where field_list.DataItemName = "HH_Pharmaceutical Order" ); PBenCheck_Field := first of (field_list where field_list.DataItemName = "HH_Rx Benefits Check" ); PDrugDose_Field:= first of (field_list where field_list.DataItemName = "HH_Drug&Dose" ); PFreqRoute_Field:=first of (field_list where field_list.DataItemName = "HH_Frequency& Route" ); PDurationDose_Field:=first of (field_list where field_list.DataItemName = "HH_Duration/#doses" ); RespOrder_Field := first of (field_list where field_list.DataItemName = "HH_Respiratory Order" ); REquip_Field:= first of (field_list where field_list.DataItemName = "HH_Respiratory Equipment" ); RAPMonitorAl_Field:= first of (field_list where field_list.DataItemName = "HH_A Monitor Alarem Settings" ); RAPnMonitor_Field := first of (field_list where field_list.DataItemName = "HH_Apnea Monitor Settings" ); RInfantCPR_Field := first of (field_list where field_list.DataItemName = "HH_Infant CPR Training" ); RBIBAP_Field := first of (field_list where field_list.DataItemName = "HH_BIPAP" ); RCPAP_Field:= first of (field_list where field_list.DataItemName = "HH_CPAP" ); REPAP_Field := first of (field_list where field_list.DataItemName = "HH_EPAP" ); RIPAP_Field := first of (field_list where field_list.DataItemName = "HH_IPAP" ); RNumBreaths_Field := first of (field_list where field_list.DataItemName = "HH_Number of Breaths"); RFIO2_Field := first of (field_list where field_list.DataItemName = "HH_FIO2" ); RLPM_Field := first of (field_list where field_list.DataItemName = "HH_LPM" ); RHumidifier_Field := first of (field_list where field_list.DataItemName = "HH_Humidifier" ); RHeated_Field := first of (field_list where field_list.DataItemName = "HH_Heated" ); RNebulizer_Field := first of (field_list where field_list.DataItemName = "HH_Nebulizer Medication" ); RNebFreq_Field := first of (field_list where field_list.DataItemName = "HH_Neb Frequency" ); ROxygen_Field:= first of (field_list where field_list.DataItemName = "HH_Oxygen"); RO2LPM := first of (field_list where field_list.DataItemName = "HH_O2 LPM"); RO2Mode := first of (field_list where field_list.DataItemName = "HH_O2 Mode"); RO2Frequency := first of (field_list where field_list.DataItemName = "HH_O2 Frequency"); RTest:= first of (field_list where field_list.DataItemName = "HH_Testing"); RO2Sat := first of (field_list where field_list.DataItemName = "HH_O2 Sat"); RO2SatT := first of (field_list where field_list.DataItemName = "HH_O2 Sat Testing"); Others:=0; If (CallingField="HH_Personnel") then If HOrder_Field.value = True then //MARKER HService_field.Control_Visible:= TRUE; HDiscipline_field.Control_Visible:=True; HFreq_Field.Control_Visible:=True; elseif HOrder_Field.Value = False then HService_Field.Value := ""; HService_Field.Control_Visible :=False; HDiscipline_Field.Value:=""; HDiscipline_field.Control_Visible := False; HFreq_Field.Value:=""; HFreq_Field.Control_Visible :=False; endif; elseif (CallingField = "HH_Durable Medical Equip") then IF DOrder_Field.Value=True then DEquipNeed_Field.Control_Visible:=True; elseif DOrder_Field.Value=False then DEquipNeed_Field.Value:=""; DEquipNeed_Field.Control_Visible:=False; endif; elseif (CallingField = "HH_Enteral Feedings") then IF EFeedingOrder_Field.Value=True then EFormEquiv_Field.Control_Visible:=True; EAmountCC_Field.Control_Visible:=True; EFlowRate_Field.Control_Visible:=True; EModeAmin_Field.Control_Visible:=True; EFlushWith_Field.Control_Visible:=True; EAmountCC2_Field.Control_Visible:=True; EFreeWater_Field.Control_Visible:=True; EFlushFreq_Field.Control_Visible:=True; EPegTube_Field.Control_Visible:=True; elseif EFeedingOrder_Field.Value=False then EFormEquiv_Field.Value:=""; EFormEquiv_Field.Control_Visible:=False; EAmountCC_Field.Value:=""; EAmountCC_Field.Control_Visible:=False; EFlowRate_Field.Value:=""; EFlowRate_Field.Control_Visible:=False; EModeAmin_Field.Value:=""; EModeAmin_Field.Control_Visible:=False; EFlushWith_Field.Value:=""; EFlushWith_Field.Control_Visible:=False; EAmountCC2_Field.Value:=""; EAmountCC2_Field.Control_Visible:=False; EFreeWater_Field.Value:=""; EFreeWater_Field.Control_Visible:=False; EFlushFreq_Field.Value:=""; EFlushFreq_Field.Control_Visible:=False; EPegTube_Field.Value:=""; EPegTube_Field.Control_Visible:=False; endif; elseif (CallingField = "HH_Infusion Order") then If InfusionOrder_Field.Value = True then IBenCheck_Field.Control_Visible:= True; IDrug_Field.Control_Visible:= True; IVSolution_Field.Control_Visible:= True; IccPerHr_Field.Control_Visible:= True; IqPerHr_Field.Control_Visible:= True; IPRN_Field.Control_Visible:= True; IFlush_Field.Control_Visible:= True; IRoute_Field.Control_Visible:= True; IVAccess_Field.Control_Visible:= True; elseif InfusionOrder_Field.Value=False then IBenCheck_Field.Value:=""; IBenCheck_Field.Control_Visible:= False; IDrug_Field.Value:=""; IDrug_Field.Control_Visible:= False; IVSolution_Field.Value:=""; IVSolution_Field.Control_Visible:= False; IccPerHr_Field.Value:=""; IccPerHr_Field.Control_Visible:= False; IqPerHr_Field.Value:=""; IqPerHr_Field.Control_Visible:= False; IPRN_Field.Value:=""; IPRN_Field.Control_Visible:= False; IFlush_Field.Value:=""; IFlush_Field.Control_Visible:= False; IRoute_Field.Value:=""; IRoute_Field.Control_Visible:=False; IVAccess_Field.Value:=""; IVAccess_Field.Control_Visible:= False; endif; elseif (CallingField = "HH_Pharmaceutical Order") then If POrder_Field.Value = True then PBenCheck_Field.Control_Visible := True; PDrugDose_Field.Control_Visible := True; PFreqRoute_Field.Control_Visible := True; PDurationDose_Field.Control_Visible := True; elseif POrder_Field.Value = false then PBenCheck_Field.Value:=""; PBenCheck_Field.Control_Visible :=False; PDrugDose_Field.Value:=""; PDrugDose_Field.Control_Visible :=False; PFreqRoute_Field.Value:=""; PFreqRoute_Field.Control_Visible :=False; PDurationDose_Field.Value:=""; PDurationDose_Field.Control_Visible :=False; endif; elseif (CallingField = "HH_Respiratory Order") then If RespOrder_Field.Value = True then REquip_Field.Control_Visible := True; RAPMonitorAl_Field.Control_Visible := True; RAPnMonitor_Field.Control_Visible := True; RInfantCPR_Field.Control_Visible := True; RBIBAP_Field.Control_Visible := True; RCPAP_Field.Control_Visible := True; REPAP_Field.Control_Visible := True; RIPAP_Field.Control_Visible := True; RNumBreaths_Field.Control_Visible := True; RFIO2_Field.Control_Visible := True; RLPM_Field.Control_Visible := True; RHumidifier_Field.Control_Visible := True; RHeated_Field.Control_Visible := True; RNebulizer_Field.Control_Visible := True; RNebFreq_Field.Control_Visible := True; ROxygen_Field.Control_Visible := True; RO2LPM.Control_Visible := True; RO2Mode.Control_Visible := True; RO2Frequency.Control_Visible := True; RTest.Control_Visible := True; RO2Sat.Control_Visible := True; RO2SatT.Control_Visible := True; elseif RespOrder_Field.Value = false then REquip_Field.Value :=""; REquip_Field.Control_Visible := False; //Do not change AP Monitor Notes RAPMonitorAl_Field.Control_Visible := False; RAPnMonitor_Field.Value :=""; RAPnMonitor_Field.Control_Visible := False; RInfantCPR_Field.Value :=""; RInfantCPR_Field.Control_Visible := False; RBIBAP_Field.Value :=""; RBIBAP_Field.Control_Visible := False; RCPAP_Field.Value :=""; RCPAP_Field.Control_Visible := False; REPAP_Field.Value :=""; REPAP_Field.Control_Visible := False; RIPAP_Field.Value :=""; RIPAP_Field.Control_Visible := False; RNumBreaths_Field.Value :=""; RNumBreaths_Field.Control_Visible := False; RFIO2_Field.Value :=""; RFIO2_Field.Control_Visible := False; RLPM_Field.Value :=""; RLPM_Field.Control_Visible := False; RHumidifier_Field.Value :=""; RHumidifier_Field.Control_Visible := False; RHeated_Field.Value :=""; RHeated_Field.Control_Visible := False; RNebulizer_Field.Value :=""; RNebulizer_Field.Control_Visible := False; RNebFreq_Field.Value :=""; RNebFreq_Field.Control_Visible := False; ROxygen_Field.Control_Visible := False; RO2LPM.Value :=""; RO2LPM.Control_Visible := False; RO2Mode.Value :=""; RO2Mode.Control_Visible := False; RO2Frequency.Value :=""; RO2Frequency.Control_Visible := False; RTest.Control_Visible := False; RO2Sat.Control_Visible := False; RO2SatT.Value :=""; RO2SatT.Control_Visible := False; endif; endif; // this_communication.DisplayForm := "Yes"; // this_communication.Message := "The Frequency is: " || In_Frequency_field || "\n" || "Freq defined as: "|| Freq // || "\n" || "Calling event is: " || CallingEvent // || "\n" || "Calling field is : " || CallingField; // this_communication.MessageType := "Error"; ;; 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: