dlm guideline Oncology_breast_cancer.v0.5.0
input -- Historical state
has_heart_failure_class_II: Boolean
has_heart_failure_class_III: Boolean
has_heart_failure_class_IV: Boolean
has_allergy_to_taxanes: Boolean
input -- Tracked State
tnm_t: String
currency = 60 days
tnm_n: String
currency = 60 days
tnm_m: String
currency = 60 days
tnm_g: String
currency = 60 days
estrogen_receptor: Terminology_term «pos_neg»
currency = 60 days
progesterone_receptor: Terminology_term «pos_neg»
currency = 60 days
her2_expression: Terminology_term «pos_neg»
currency = 60 days
ki67: Quantity
currency = 60 days
ranges["%"] =
------------------
|≥ 14|: #high,
|< 14|: #normal
------------------
;
ejection_fraction: Quantity
currency = 60 days
ranges["%"] =
-------------------
|≥ 40|: #normal,
|< 40|: #low
-------------------
;
rules -- Conditions
er_negative:
Result := estrogen_receptor = #negative
er_positive:
Result := estrogen_receptor = #positive
pr_negative:
Result := progesterone_receptor = #negative
pr_positive:
Result := progesterone_receptor = #positive
her2_negative:
Result := her2_expression = #negative
her2_positive:
Result := her2_expression = #positive
has_non_class_I_heart_failure:
Result := has_heart_failure_class_II
or has_heart_failure_class_III
or has_heart_failure_class_IV
anthracyclines_contraindicated:
Result := has_transmural_MI
or ejection_fraction.in_range (#low)
or has_non_class_I_heart_failure
taxanes_contraindicated:
Result := is_type1_diabetic
or has_allergy_to_taxanes
or has_intolerance (#taxanes)
rules -- Main
molecular_subtype: Terminology_term
Result :=
choice of
=========================================================
er_positive and
her2_negative and
not ki67.in_range (#high): #luminal_A,
---------------------------------------------------------
er_positive and
her2_negative and
ki67.in_range (#high): #luminal_B_HER2_negative,
---------------------------------------------------------
er_positive and
her2_positive: #luminal_B_HER2_positive,
---------------------------------------------------------
er_negative and
pr_negative and
her2_positive and
ki67.in_range (#high): #HER2,
---------------------------------------------------------
er_negative and
pr_negative and
her2_negative and
ki67.in_range (#high): #triple_negative,
---------------------------------------------------------
*: #none;
=========================================================
;
rules -- Output
chemotherapy_regime: Terminology_term
Result :=
choice of
================================================================================
not metastatic:
choice of
========================================================================
molecular_subtype in
{#luminal_B_HER2_negative,
#triple_negative} and
(tnm_t > '1a' or tnm_n > '0'): #taxanes,
------------------------------------------------------------------------
molecular_subtype = #luminal_A and
(tnm_t ≥ '3' or tnm_n ≥ '2' or tnm_g ≥ '3'): #anthracyclines,
------------------------------------------------------------------------
molecular_subtype = #luminal_B_HER2_positive and
(tnm_t = '1b' or tnm_t = '1c' and tnm_n = '0') or
molecular_subtype = #HER2_positive and
(tnm_t = '1b' and tnm_n = '0'): #paditaxel_trastuzumab
========================================================================
;,
--------------------------------------------------------------------------------
*:
choice of
=====================
yyy: aaa,
---------------------
xxx: bbb,
---------------------
*: ccc
=====================
;
=================================================================================
;
definitions -- Terminology
terminology = {
term_definitions: {
"en" : {
"luminal_A" : {
text: "luminal A"
},
"luminal_B_HER2_positive" : {
text: "luminal B HER2-positive"
},
"luminal_B_HER2_negative" : {
text: "luminal B HER2-negative"
},
"HER2_positive" : {
text: "HER2-positive"
},
"HER2_negative" : {
text: "HER2-negative"
},
"triple_negative" : {
text: "triple-negative"
},
"negative" : {
text: "negative presence of gene"
},
"positive" : {
text: "positive presence of gene"
}
}
},
value_sets = {
"pos_neg" : {
id: "pos_neg",
members: ["positive", "negative"]
}
}
}
;