Initial Checking with all 820 MLMs
This commit is contained in:
305
MLMStripper/bin/Debug/STD/STD_FUNC_DOSAGE_INCLUDES.mlm
Normal file
305
MLMStripper/bin/Debug/STD/STD_FUNC_DOSAGE_INCLUDES.mlm
Normal file
@@ -0,0 +1,305 @@
|
||||
maintenance:
|
||||
|
||||
title: Regression test include definitions;;
|
||||
mlmname: STD_FUNC_DOSAGE_INCLUDES;;
|
||||
arden: version 2.5;;
|
||||
version: 18.4;;
|
||||
institution: Allscripts, Standard MLM;;
|
||||
author: Allscripts Healthcare Solutions, Inc.;;
|
||||
specialist: ;;
|
||||
date: 2018-10-26;;
|
||||
validation: testing;;
|
||||
|
||||
/* P r o p r i e t a r y N o t i c e */
|
||||
/* Unpublished (c) 2013 - 2018 Allscripts Healthcare, LLC. and/or its affiliates. All Rights Reserved.
|
||||
|
||||
P r o p r i e t a r y N o t i c e: This software has been provided pursuant to a License Agreement, with
|
||||
Allscripts Healthcare, LLC. and/or its affiliates, containing restrictions on its use. This software contains
|
||||
valuable trade secrets and proprietary information of Allscripts Healthcare, LLC. and/or its affiliates and is
|
||||
protected by trade secret and copyright law. This software may not be copied or distributed in any form or medium,
|
||||
disclosed to any third parties, or used in any manner not provided for in said License Agreement except with prior
|
||||
written authorization from Allscripts Healthcare, LLC. and/or its affiliates. Notice to U.S. Government Users:
|
||||
This software is {{{SINGLE-QUOTE}}}Commercial Computer Software{{{SINGLE-QUOTE}}}.
|
||||
|
||||
All product names are the trademarks or registered trademarks of Allscripts Healthcare, LLC. and/or its affiliates.
|
||||
*/
|
||||
/* P r o p r i e t a r y N o t i c e */
|
||||
|
||||
library:
|
||||
purpose: The purpose of this MLM is to include the common data structures needed by dosage range MLMs
|
||||
;;
|
||||
explanation: Include this MLM at the start of any MLM that will
|
||||
be making using the objects in the MLM
|
||||
;;
|
||||
keywords: single dose; average daily dose; total daily dose; dosage range
|
||||
;;
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
// Core UOM Constant Object
|
||||
Core_UOM_OBJECT := OBJECT [
|
||||
lb_string,
|
||||
gm_string,
|
||||
kg_string,
|
||||
M2_string,
|
||||
ounce_string,
|
||||
day_string,
|
||||
hour_string,
|
||||
minute_string,
|
||||
month_string,
|
||||
second_string,
|
||||
week_string,
|
||||
year_string
|
||||
];
|
||||
|
||||
// Item catalog criteria type string object
|
||||
Catalog_DRC_Criteria_Type_String_Object := OBJECT [
|
||||
age_average_daily_dose_string,
|
||||
age_string,
|
||||
age_total_daily_dose_string,
|
||||
BSA_average_daily_dose_string,
|
||||
Body_Surface_Area_string,
|
||||
BSA_total_daily_dose_string,
|
||||
weight_average_daily_dose_string,
|
||||
weight_string,
|
||||
weight_total_daily_dose_string
|
||||
];
|
||||
|
||||
//Declare the Med_Data_Object
|
||||
//Note: Med_Data_GUID is the
|
||||
//CV3Order.GUID, CV3OrderComponent.GUID or CV3OrderVariableComponent.GUID
|
||||
//Depending on whether this is a Regular Order, IV-Additive Order, or Complex Order
|
||||
Med_Data_Object := OBJECT [
|
||||
sort_number,
|
||||
med_order_type,
|
||||
med_data_guid,
|
||||
grouper_id,
|
||||
multum_dnum,
|
||||
multum_mmdc,
|
||||
order_med_significant_date, // CalculatedStartDtm when component
|
||||
order_med_name,
|
||||
order_med_route,
|
||||
order_med_route_id, // multum drug key for the order_med_route
|
||||
order_med_dose_low,
|
||||
order_med_dose_high,
|
||||
order_med_units,
|
||||
order_med_uom_id, // multum drug key for the order_med_units
|
||||
order_med_frequency,
|
||||
multum_freq_id, // multum drug key for frequency
|
||||
order_interval,
|
||||
calc_dose_method,
|
||||
calc_med_dose_low,
|
||||
calc_med_dose_high,
|
||||
calc_med_per_uom,
|
||||
updated_calc_med_per_uom, //Populated by DoseBasis MLM
|
||||
wt_kg, //Populated by DoseBasis MLM
|
||||
calc_text, //Populated by DoseBasis MLM
|
||||
dose_basis, //Populated by DoseBasis MLM
|
||||
stop_dtm,
|
||||
calcStop_dtm, //Debug info
|
||||
calcStart_dtm, //Debug info
|
||||
calculation_method, //Debug info
|
||||
stop_after_value,
|
||||
stop_after_option_type,
|
||||
freq_from_time,
|
||||
freq_to_time,
|
||||
freq_uom,
|
||||
freq_multiplier, // only used by Prescription
|
||||
isShiftFrequency,
|
||||
admin_dtm_list,
|
||||
admin_dtm_list_calc_method, // ORDER or MLM - Debug Info
|
||||
order_catalog_item_obj,
|
||||
retrieved_dose_range_data,
|
||||
missing_route,
|
||||
unmapped_route,
|
||||
generic_route,
|
||||
missing_uom,
|
||||
unmapped_uom,
|
||||
uom_conversion_issue,
|
||||
unmapped_drug,
|
||||
unmapped_grouper,
|
||||
processed_missing_data_msg,
|
||||
processed_for_printing,
|
||||
outside_single_dosage_range,
|
||||
contraindication_found,
|
||||
alert_msg_for_single,
|
||||
is_order,
|
||||
is_outpatient_order, //indicate whether this order is outpatient order or not
|
||||
is_script, //used for outpatient order
|
||||
is_iv_additive,
|
||||
rx_instructions
|
||||
];
|
||||
|
||||
// Declare dosage range object
|
||||
Dosage_Range_Object := OBJECT [
|
||||
sort_number,
|
||||
match_found, // true if matching dose range found. false if missing age/weight/gender/route
|
||||
dosage_type, // single, average, total, or contraindication
|
||||
med_name,
|
||||
age_criteria,
|
||||
BSA_criteria,
|
||||
weight_criteria,
|
||||
gender_criteria,
|
||||
renal_criteria,
|
||||
creatinine_criteria,
|
||||
liver_criteria,
|
||||
contraindication_msg, // for dosage_type = contraindication
|
||||
recommendation_msg, // for dosage type = single/average/total
|
||||
is_range,
|
||||
lower_dose, // for dosage_type = single/average/total
|
||||
upper_dose, // for dosage_type = single/average/total
|
||||
unit_of_measure,
|
||||
conversion_factor,
|
||||
uom_conversion_factor, // Keep the pure UOM conversion factor based on the SXAUnitOfMeasureConversion table
|
||||
// This is used only used for Catalog DRC checking in STD_FUNC_DOSAGE_CAT, because
|
||||
// STD_FUNC_DOSAGE_CAT has logic to override conversion_factor value for "per weight" scenario.
|
||||
// uom_conversion_factor is currently not used in STD_FUNC_DOSAGE_MULTUM.
|
||||
uom_conversion_issue,
|
||||
Is_PER_WT,
|
||||
Is_PER_M2,
|
||||
dose_calc_method,
|
||||
corrected_uom,
|
||||
calc_per_core_uom,
|
||||
is_multum,
|
||||
grouper_id,
|
||||
case_id,
|
||||
route,
|
||||
route_id,
|
||||
// Populated in STD_FUNC_DOSAGE_MULTUM.mlm and STD_FUNC_DOSAGE_CAT.mlm
|
||||
// Contains the medication route and route ID used to retrieve this
|
||||
// dosage range by the two MLMs mentioned above
|
||||
med_route,
|
||||
med_route_id,
|
||||
|
||||
display_route, // the route to display to the user. Populated by
|
||||
// STD_FUNC_DOSAGE_MESSAGES.MLM.
|
||||
|
||||
//cannot_match_to_generic_route,
|
||||
unrecognized_route_conversion_issue,
|
||||
inapplicable_route_conversion_issue,
|
||||
is_default,
|
||||
hard_stop_high,
|
||||
hard_stop_low,
|
||||
crcl_within_range,
|
||||
patient_age_at_order,
|
||||
dnum_ic_match_found,
|
||||
dose_frequency, // e.g. "once a day"
|
||||
frequency_issue, // "too frequent", "unmapped", or null
|
||||
//[New born birth-time missing]
|
||||
// 0: alert not using estimated ages; 1: using estimated min age; 2: using estimated max age max; 3: using both estimated age min/max.
|
||||
estimated_age_used
|
||||
];
|
||||
|
||||
// medication dosage range map object
|
||||
Medication_Dosage_Range_Map := OBJECT [
|
||||
sort_number,
|
||||
med_sort_number,
|
||||
dosage_range_sort_number,
|
||||
dosage_type,
|
||||
match_found,
|
||||
above_range,
|
||||
below_range,
|
||||
med_name,
|
||||
med_dose_low,
|
||||
med_dose_high,
|
||||
med_dose_uom,
|
||||
adjusted_dose_high,
|
||||
adjusted_dose_low,
|
||||
adjusted_dose_uom,
|
||||
hard_stop_low,
|
||||
hard_stop_high,
|
||||
dose_frequency, // e.g. "once a day"
|
||||
frequency_issue // "too frequent", "unmapped", or null
|
||||
];
|
||||
|
||||
Alert_If_Missing_Obj := OBJECT [
|
||||
patient_age,
|
||||
patient_gender,
|
||||
patient_height,
|
||||
patient_weight,
|
||||
uom,
|
||||
route,
|
||||
uom_conversion,
|
||||
unmapped_drug,
|
||||
unmapped_grouper,
|
||||
unmapped_gender,
|
||||
unmapped_route,
|
||||
unmapped_uom,
|
||||
unmapped_frequency,
|
||||
cannot_check_DNUM_Rx_to_Multum,
|
||||
cannot_check_Rx_to_IC,
|
||||
cannot_check_generic_route,
|
||||
inapplicable_route
|
||||
];
|
||||
|
||||
//[New born birth-time missing]Holding info of birthday and max estimated_birthday
|
||||
//the age values are patient_age_at_order calcualted by birthday and order order_med_significant_date
|
||||
Patient_Birthday_Info_Obj := OBJECT [
|
||||
birthday,
|
||||
age_year_value,
|
||||
age_month_value,
|
||||
age_week_value,
|
||||
age_day_value,
|
||||
age_hour_value,
|
||||
age_str,
|
||||
// from here only used when is_estimated_birthday is true
|
||||
is_estimated_birthday,
|
||||
age_max_inhour_str,
|
||||
estimated_birthday_to,
|
||||
age_year_min_value,
|
||||
age_month_min_value,
|
||||
age_week_min_value,
|
||||
age_day_min_value,
|
||||
age_hour_min_value,
|
||||
age_min_inhour_str
|
||||
];
|
||||
|
||||
// weight, 68 kg, entered on 2011-nov-22, false, false
|
||||
// height,
|
||||
Patient_Property_Obj := OBJECT [
|
||||
type,
|
||||
value,
|
||||
date,
|
||||
is_missing,
|
||||
is_unmapped,
|
||||
not_current,
|
||||
unknown_other
|
||||
];
|
||||
|
||||
// Holds patient property objects
|
||||
Patient_Info_Obj := Object [
|
||||
Age,
|
||||
Weight,
|
||||
Height,
|
||||
BSA,
|
||||
Gender,
|
||||
Liver,
|
||||
Renal,
|
||||
Creatinine,
|
||||
DNum_Grouper,
|
||||
ICD9_List
|
||||
];
|
||||
|
||||
// Holds the currentness duration
|
||||
Validity_Duration := OBJECT [
|
||||
duration,
|
||||
toAge,
|
||||
fromAge ]; // Note fromAge is set by the system
|
||||
|
||||
|
||||
Grouper_Info_Object := OBJECT [
|
||||
grouper_id,
|
||||
grouper_name,
|
||||
dosage_range_found
|
||||
];
|
||||
;;
|
||||
priority: 50
|
||||
;;
|
||||
evoke:
|
||||
;;
|
||||
logic:
|
||||
;;
|
||||
action:
|
||||
;;
|
||||
Urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user