186 lines
8.3 KiB
Plaintext
186 lines
8.3 KiB
Plaintext
maintenance:
|
|
|
|
title: Total Knee Replacement Discharge Instructions;;
|
|
mlmname: FORM_TOTAL_KNEE_DCINST;;
|
|
arden: version 2.5;;
|
|
version: 0.00;;
|
|
institution: St. Clair Hospital;;
|
|
author: Shawn Head x7468;;
|
|
specialist: Robert Stewart;;
|
|
date: 2015-04-20;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: This MLM will auto populate certain fields on the order form based on the selected Discharge type
|
|
;;
|
|
explanation: This MLM will populate fields on the order form based on the selected discharge type.
|
|
;;
|
|
keywords: total, knee, replacement, discharge, instructions
|
|
;;
|
|
citations:
|
|
4.20.2015 - STH - CSR#: 33148 - PROD 5.19.2015 - Auto select data on form based on selected template.
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
//start here
|
|
|
|
// 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*******************/
|
|
|
|
|
|
|
|
/***************************************************************************************/
|
|
|
|
// Initialize error message
|
|
error_message:="";
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField :=this_communication.CallingFieldName;
|
|
ClientVisitGuid := this_communication.ClientVisitGuid;
|
|
|
|
|
|
//Initialize MLM pointers:
|
|
str_parse := mlm {{{SINGLE-QUOTE}}}UTIL_STRING_PARSE{{{SINGLE-QUOTE}}};
|
|
|
|
// Assigns fields passed in the Form object to the Field object
|
|
field_list:= this_form.fields;
|
|
|
|
CallingEvent := this_communication.CallingEvent;
|
|
Visit_Guid := this_communication.ClientVisitGuid;
|
|
Chart_Guid := this_communication.ChartGuid;
|
|
Client_Guid := this_communication.ClientGuid;
|
|
comm_obj := this_communication.primaryobj;
|
|
call_field := this_communication.CallingFieldName;
|
|
|
|
discharge_type1_dressing := ("Remove Aquacel dressing after 7 days",
|
|
"After Aquacel dressing is removed, apply dry dressing.",
|
|
"Change dressing daily.",
|
|
"NO creams or lotions on incision.");
|
|
discharge_type2_dressing := "";
|
|
|
|
DC_Type1 := first of (field_list where field_list.DataItemName = "DC_Home_Standard");
|
|
DC_Type2 := first of (field_list where field_list.DataItemName = "DC_Home_Standard 2");
|
|
Incision_Dressing_instruct := first of (field_list where field_list.DataItemName = "DC_Home_Dressing_Knee");
|
|
WeightBearing_instruct := first of (field_list where field_list.DataitemName = "DC_Home_Weight_Bearing");
|
|
Interventions := first of (field_list where field_list.DataitemName = "DISC_Total_Knee_Replacement");
|
|
Precautions := first of (field_list where field_list.DataitemName = "DISC_Total_Knee_Precautions");
|
|
PT_PW := first of (field_list where field_list.DataitemName = "DC_Home_PT_PerWeek");
|
|
RN_PW := first of (field_list where field_list.DataitemName = "DC_Home_RN_PerWeek");
|
|
Start_Ext := first of (field_list where field_list.DataitemName = "DC_Home_CPM_StartExt");
|
|
Start_Flex := first of (field_list where field_list.DataitemName = "DC_Home_CPM_StartFlex");
|
|
Freq_Machine := first of (field_list where field_list.DataitemName = "DC_Home_CPM_Freq");
|
|
Max_Flex := first of (field_list where field_list.DataitemName = "DC_Home_CPM_MaxFlexion");
|
|
Time_on_machine := first of (field_list where field_list.DataitemName = "DC_Home_CPM_Time");
|
|
CPM_Tolerated := first of (field_list where field_list.DataitemName = "DC_Home_CPM_IncCPMFlex");
|
|
Progress_2weeks := first of (field_list where field_list.DataitemName = "DC_Home_CPM_ProgressFlex");
|
|
//2 - 3
|
|
|
|
|
|
if this_communication.CallingFieldName = "DC_Home_Standard" then
|
|
if DC_Type1.Value = true then
|
|
DC_Type2.Control_read_only := true;
|
|
Incision_Dressing_instruct.value := "Remove Aquacel dressing after 7 days; After Aquacel dressing is removed, apply dry dressing.; Change dressing daily.; NO creams or lotions on incision.";
|
|
WeightBearing_instruct.Value := "Weight Bearing as Tolerated";
|
|
Interventions.Value := "Wear ted hose until directed at follow up appointment. Remove at bedtime and reapply in AM.; Inspect heel for redness. Notify physician if blister occurs.; OK to shower.; "
|
|
|| "Take over the counter stool softener while on pain medications.; "
|
|
|| "Use incentive spirometer every 2 hours while awake for 2 weeks post discharge.; NO driving until follow up appointment.; NO tub baths.; DO NOT place pillow beneath knee joint.; "
|
|
|| "Use assistive device for ambulation until otherwise instructed by Physician or Physical Therapist; NO additional Advil, Aleve, Ibuprofen or Aspirin until permitted by surgeon.";
|
|
Precautions.Value := "Call Your Surgeons Office: If incision becomes red, if drainage occurs, if excessive swelling develops, fever of 101 or above, nausea and vomiting, diarrhea.; "
|
|
|| "If you had a joint replacement you should be on a prophylactic medication to help avoid blood clots. If you were discharged without a medication please contact your surgeon.; "
|
|
|| "Call 911 if you develop sudden shortness of breath or develop chest pain.";
|
|
PT_PW.Value := "2 - 3";
|
|
RN_PW.Value := "2 - 3";
|
|
else
|
|
DC_Type2.Control_read_only := false;
|
|
Incision_Dressing_instruct.value := "";
|
|
WeightBearing_instruct.Value := "";
|
|
Interventions.Value := "";
|
|
Precautions.Value := "";
|
|
PT_PW.Value := "";
|
|
RN_PW.Value := "";
|
|
endif;
|
|
endif;
|
|
if this_communication.CallingFieldName = "DC_Home_Standard 2" then
|
|
|
|
if DC_Type2.Value = true then
|
|
DC_Type1.Control_read_only := true;
|
|
Incision_Dressing_instruct.value := "Leave incision open to air.; Apply bandage if incision has drainage present.";
|
|
WeightBearing_instruct.Value := "Weight Bearing as Tolerated";
|
|
Interventions.Value := "Inspect heel for redness. Notify physician if blister occurs.; OK to shower.; Take over the counter stool softener while on pain medications.; "
|
|
|| "Use incentive spirometer every 2 hours while awake for 2 weeks post discharge.; NO tub baths.; DO NOT place pillow beneath knee joint.; "
|
|
|| "Use assistive device for ambulation until otherwise instructed by Physician or Physical Therapist; Resume normal activity as tolerated.; "
|
|
|| "NO driving until narcotics are discontinued.; NO driving until leg control is regained; NO additional Advil, Aleve, Ibuprofen or Aspirin until permitted by surgeon.; "
|
|
|| "When resting at night, keep knee at full extention , use brace if needed.";
|
|
Precautions.Value := "Call Your Surgeons Office: If incision becomes red, if drainage occurs, if excessive swelling develops, fever of 101 or above, nausea and vomiting, diarrhea.; "
|
|
|| "If you had a joint replacement you should be on a prophylactic medication to help avoid blood clots. If you were discharged without a medication please contact your surgeon.; "
|
|
|| "Call 911 if you develop sudden shortness of breath or develop chest pain.";
|
|
PT_PW.Value := "2 - 3";
|
|
RN_PW.Value := "2 - 3";
|
|
Start_Ext.value := "0";
|
|
Start_Flex.value := "90";
|
|
Freq_Machine.value := "1 to 2 times per day";
|
|
Max_Flex.value := "110 degrees";
|
|
Time_on_machine.value := "30 to 60 minutes";
|
|
CPM_Tolerated.value := true;
|
|
Progress_2weeks.value := true;
|
|
else
|
|
DC_Type1.Control_read_only := false;
|
|
Incision_Dressing_instruct.value := "";
|
|
WeightBearing_instruct.Value := "";
|
|
Interventions.Value := "";
|
|
Precautions.Value := "";
|
|
PT_PW.Value := "";
|
|
RN_PW.Value := "";
|
|
Start_Ext.value := "";
|
|
Start_Flex.value := "";
|
|
Freq_Machine.value := "";
|
|
Max_Flex.value := "";
|
|
Time_on_machine.value := "";
|
|
CPM_Tolerated.value := false;
|
|
Progress_2weeks.value := false;
|
|
endif;
|
|
endif;
|
|
|
|
/*
|
|
if this_communication.CallingFieldName = "DC_Home_Standard2" then
|
|
abc := "";
|
|
|
|
endif;
|
|
for x in (1 seqto count(discharge_type1_dressing)) do
|
|
if x = 1 then
|
|
selected_value := discharge_type1_dressing[x];
|
|
else
|
|
selected_value := selected_value || "; " || discharge_type1_dressing[x];
|
|
endif;
|
|
enddo;
|
|
Incision_Dressing_instruct.Value := selected_value;
|
|
*/
|
|
|
|
|
|
//end here
|
|
;;
|
|
priority: 50
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic:
|
|
conclude true;
|
|
;;
|
|
action:
|
|
return this_communication, this_form;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|