From 665de818bf4446720f55ac225bcdb56adeaad1c7 Mon Sep 17 00:00:00 2001 From: Jason Walonoski Date: Fri, 25 Oct 2024 15:34:11 -0400 Subject: [PATCH] Updates from review. --- .../java/org/mitre/synthea/engine/Logic.java | 3 + ...id_beta_monoclonal_antibody_infusions.json | 80 +++ ...id_beta_monoclonal_antibody_treatment.json | 639 +++++++----------- .../medications/anti_ab_mabs_selection.json | 342 ++++++++++ 4 files changed, 669 insertions(+), 395 deletions(-) create mode 100644 src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_infusions.json create mode 100644 src/main/resources/modules/medications/anti_ab_mabs_selection.json diff --git a/src/main/java/org/mitre/synthea/engine/Logic.java b/src/main/java/org/mitre/synthea/engine/Logic.java index 4b34639f28..30f1dd351c 100644 --- a/src/main/java/org/mitre/synthea/engine/Logic.java +++ b/src/main/java/org/mitre/synthea/engine/Logic.java @@ -283,6 +283,9 @@ public static class Attribute extends Logic { @Override public boolean test(Person person, long time) { try { + if (value instanceof String) { + value = person.attributes.getOrDefault(value, value); + } return Utilities.compare(person.attributes.get(attribute), value, operator); } catch (Exception e) { String message = "Attribute Logic error: " + attribute + " " + operator + " " + value; diff --git a/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_infusions.json b/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_infusions.json new file mode 100644 index 0000000000..8120493665 --- /dev/null +++ b/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_infusions.json @@ -0,0 +1,80 @@ +{ + "name": "anti_amyloid_beta_monoclonal_antibody_infusions", + "remarks": [ + "This module depends on the Dementia and Anti-Amyloid-Beta Monoclonal Antibody Treatment modules, and uses the shared medications/anti_ab_mabs_selection submodule." + ], + "states": { + "Initial": { + "type": "Initial", + "direct_transition": "Wait Until Study is Active" + }, + "Wait Until Study is Active": { + "type": "Guard", + "allow": { + "condition_type": "And", + "conditions": [ + { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study", + "operator": "is not nil" + }, + { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study", + "operator": "==", + "value": true + } + ] + }, + "direct_transition": "Wait for Infusion Appointment" + }, + "Wait for Infusion Appointment": { + "type": "Delay", + "distribution": { + "kind": "EXACT", + "parameters": { + "value": 2 + } + }, + "unit": "weeks", + "conditional_transition": [ + { + "transition": "Infusion Encounter", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study", + "operator": "==", + "value": true + } + }, + { + "transition": "Wait for Infusion Appointment" + } + ] + }, + "Infusion Encounter": { + "type": "Encounter", + "encounter_class": "ambulatory", + "reason": "Type of Alzheimer's", + "telemedicine_possibility": "none", + "codes": [ + { + "system": "SNOMED-CT", + "code": "387760006", + "display": "Infusion care (regime/therapy)" + } + ], + "direct_transition": "Receive_mAbs" + }, + "End Encounter": { + "type": "EncounterEnd", + "direct_transition": "Wait for Infusion Appointment" + }, + "Receive_mAbs": { + "type": "CallSubmodule", + "submodule": "medications/anti_ab_mabs_selection", + "direct_transition": "End Encounter" + } + }, + "gmf_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_treatment.json b/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_treatment.json index 0773113b51..b1f695f1e6 100644 --- a/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_treatment.json +++ b/src/main/resources/modules/anti_amyloid_beta_monoclonal_antibody_treatment.json @@ -86,39 +86,6 @@ }, "direct_transition": "Start Assessment Encounter" }, - "Positron Emission Topography Amyloid": { - "type": "ImagingStudy", - "procedure_code": { - "system": "SNOMED-CT", - "code": "764666002", - "display": "Positron emission tomography of brain (procedure)" - }, - "series": [ - { - "body_site": { - "system": "SNOMED-CT", - "code": "119235005", - "display": "Brain part (body structure)" - }, - "modality": { - "system": "DICOM-DCM", - "code": "PT", - "display": "Positron emission tomography" - }, - "instances": [ - { - "title": "PET Amyloid", - "sop_class": { - "system": "DICOM-SOP", - "code": "1.2.840.10008.5.1.4.1.1.128", - "display": "Positron Emission Tomography Image Storage" - } - } - ] - } - ], - "direct_transition": "Amyloid Beta Finding" - }, "Minimal cognitive impairment": { "type": "ConditionOnset", "codes": [ @@ -209,47 +176,20 @@ { "transition": "Requires assistance with all activities of daily living", "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "daily_living_impairment_level", - "operator": ">=", - "value": 1 - }, - { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Requires assistance with all activities of daily living" - } - } - ] + "condition_type": "Attribute", + "attribute": "daily_living_impairment_level", + "operator": "==", + "value": 1 } }, { "transition": "End Assistance with Daily Living", "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "daily_living_impairment_level", - "operator": ">=", - "value": 2 - }, - { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Requires continuous supervision for activities of daily living" - } - } - ] + "condition_type": "Attribute", + "attribute": "daily_living_impairment_level", + "operator": ">=", + "value": 2 } - }, - { - "transition": "Check Enrollment" } ], "reason": "Type of Alzheimer's" @@ -284,171 +224,33 @@ { "transition": "Minimal cognitive impairment", "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "cognitive_impairment_level", - "operator": ">=", - "value": 1 - }, - { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Minimal cognitive impairment" - } - } - ] + "condition_type": "Attribute", + "attribute": "cognitive_impairment_level", + "operator": "==", + "value": 1 } }, { "transition": "End Minimal Impairment", "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "cognitive_impairment_level", - "operator": ">=", - "value": 2 - }, - { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Moderate cognitive impairment" - } - } - ] + "condition_type": "Attribute", + "attribute": "cognitive_impairment_level", + "operator": "==", + "value": 2 } }, { "transition": "End Moderate Impairment", "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "cognitive_impairment_level", - "operator": ">=", - "value": 3 - }, - { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Severe cognitive impairment" - } - } - ] + "condition_type": "Attribute", + "attribute": "cognitive_impairment_level", + "operator": ">=", + "value": 3 } - }, - { - "transition": "Instrumental activities of daily living assessment" } ], "reason": "Type of Alzheimer's" }, - "Approved mAbs": { - "type": "Simple", - "distributed_transition": [ - { - "transition": "Aducanumab Low Dose", - "distribution": 0.2 - }, - { - "transition": "Aducanumab Increased Dose", - "distribution": 0.2 - }, - { - "transition": "Lecanemab Low Dose", - "distribution": 0.2 - }, - { - "transition": "Lecanemab Increased Dose", - "distribution": 0.2 - }, - { - "transition": "Donanemab", - "distribution": 0.2 - } - ] - }, - "Aducanumab Low Dose": { - "type": "MedicationOrder", - "codes": [ - { - "system": "RxNorm", - "code": "2557232", - "display": "1.7 ML aducanumab-avwa 100 MG/ML Injection" - } - ], - "direct_transition": "mAbs Administered", - "administration": true, - "reason": "Type of Alzheimer's", - "assign_to_attribute": "anti-amyloid-beta-mabs" - }, - "Aducanumab Increased Dose": { - "type": "MedicationOrder", - "codes": [ - { - "system": "RxNorm", - "code": "2557224", - "display": "3 ML aducanumab-avwa 100 MG/ML Injection" - } - ], - "administration": true, - "reason": "Type of Alzheimer's", - "direct_transition": "mAbs Administered", - "assign_to_attribute": "anti-amyloid-beta-mabs" - }, - "mAbs Administered": { - "type": "Simple", - "direct_transition": "Record Outcomes" - }, - "Lecanemab Low Dose": { - "type": "MedicationOrder", - "codes": [ - { - "system": "RxNorm", - "code": "2626147", - "display": "2 ML lecanemab-irmb 100 MG/ML Injection" - } - ], - "administration": true, - "reason": "Type of Alzheimer's", - "assign_to_attribute": "anti-amyloid-beta-mabs", - "direct_transition": "mAbs Administered" - }, - "Lecanemab Increased Dose": { - "type": "MedicationOrder", - "codes": [ - { - "system": "RxNorm", - "code": "2626155", - "display": "5 ML lecanemab-irmb 100 MG/ML Injection" - } - ], - "administration": true, - "reason": "Type of Alzheimer's", - "assign_to_attribute": "anti-amyloid-beta-mabs", - "direct_transition": "mAbs Administered" - }, - "Donanemab": { - "type": "MedicationOrder", - "codes": [ - { - "system": "RxNorm", - "code": "2687972", - "display": "20 ML donanemab-azbt 17.5 MG/ML Injection" - } - ], - "administration": true, - "reason": "Type of Alzheimer's", - "assign_to_attribute": "anti-amyloid-beta-mabs", - "direct_transition": "mAbs Administered" - }, "Check for ARIA-H": { "type": "Simple", "complex_transition": [ @@ -565,7 +367,7 @@ "codes": [ { "system": "SNOMED-CT", - "code": 185347001, + "code": "185347001", "display": "Encounter for problem (procedure)" } ], @@ -597,31 +399,7 @@ }, "Finish Encounter": { "type": "EncounterEnd", - "conditional_transition": [ - { - "transition": "Wait 6 months", - "condition": { - "condition_type": "And", - "conditions": [ - { - "condition_type": "Attribute", - "attribute": "anti-ab-mab-ced-study-assessment", - "operator": "<=", - "value": 5 - }, - { - "condition_type": "Attribute", - "attribute": "anti-ab-mab-ced-study", - "operator": "==", - "value": true - } - ] - } - }, - { - "transition": "Wait a few months" - } - ] + "direct_transition": "Progression of Disease" }, "Conduct Tests and Diagnostics": { "type": "Simple", @@ -629,27 +407,25 @@ { "condition": { "condition_type": "PriorState", - "name": "Positron Emission Topography Amyloid" + "name": "APOE+ABeta Alz Risk Pnl CSF" }, - "distributions": [], - "transition": "Positron Emission Topography Amyloid" + "transition": "APOE+ABeta Alz Risk Pnl CSF" }, { "condition": { "condition_type": "PriorState", - "name": "Positron Emission Tomography Cerebrospinal Fluid" + "name": "Positron emission tomography with computed tomography of brain" }, - "distributions": [], - "transition": "Positron Emission Tomography Cerebrospinal Fluid" + "transition": "Positron emission tomography with computed tomography of brain" }, { "distributions": [ { - "transition": "Positron Emission Topography Amyloid", + "transition": "APOE+ABeta Alz Risk Pnl CSF", "distribution": 0.5 }, { - "transition": "Positron Emission Tomography Cerebrospinal Fluid", + "transition": "Positron emission tomography with computed tomography of brain", "distribution": 0.5 } ] @@ -683,7 +459,7 @@ } }, "unit": "months", - "direct_transition": "Adverse Events May Continue" + "direct_transition": "Wellness Encounter" }, "Set Number of Assessments": { "type": "SetAttribute", @@ -764,8 +540,29 @@ ] }, "Amyloid Beta Finding": { - "type": "Simple", - "direct_transition": "APOE+ABeta Alz Risk Pnl CSF" + "type": "DiagnosticReport", + "codes": [ + { + "system": "LOINC", + "code": "87907-2", + "display": "PET+CT Brain for amyloidosis" + } + ], + "observations": [ + { + "category": "imaging", + "unit": "", + "codes": [ + { + "system": "LOINC", + "code": "18782-3", + "display": "Radiology Study observation (narrative)" + } + ], + "attribute": "amyloid_beta_narrative" + } + ], + "direct_transition": "Check Impairment" }, "APOE+ABeta Alz Risk Pnl CSF": { "type": "DiagnosticReport", @@ -827,7 +624,7 @@ "direct_transition": "Enrollment in clinical trial", "value_code": { "system": "SNOMED-CT", - "code": 373066001, + "code": "373066001", "display": "Yes (qualifier value)" } }, @@ -852,10 +649,6 @@ "direct_transition": "Administer Medications", "reason": "Type of Alzheimer's" }, - "Adverse Events May Continue": { - "type": "Simple", - "direct_transition": "Wellness Encounter" - }, "Wait Until Alzheimer's": { "type": "Guard", "allow": { @@ -870,7 +663,7 @@ "codes": [ { "system": "SNOMED-CT", - "code": 12894003, + "code": "12894003", "display": "Functional assessment (procedure)" } ], @@ -882,7 +675,7 @@ } }, "unit": "minutes", - "direct_transition": "FAQ Normal", + "direct_transition": "FAQ Report", "remarks": [ "TBD" ], @@ -893,7 +686,7 @@ "codes": [ { "system": "SNOMED-CT", - "code": 1148423001, + "code": "1148423001", "display": "Montreal Cognitive Assessment version 8.1 (assessment scale)" } ], @@ -905,7 +698,7 @@ } }, "unit": "minutes", - "direct_transition": "MoCA Normal", + "direct_transition": "MoCA Report", "remarks": [ "TBD" ], @@ -913,20 +706,33 @@ }, "Check for Adverse Events": { "type": "Simple", - "direct_transition": "MRI" + "conditional_transition": [ + { + "transition": "MRI", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study", + "operator": "==", + "value": true + } + }, + { + "transition": "End CarePlan" + } + ] }, "MRI": { "type": "ImagingStudy", "procedure_code": { "system": "SNOMED-CT", - "code": 816077007, + "code": "816077007", "display": "Magnetic resonance imaging of brain (procedure)" }, "series": [ { "body_site": { "system": "SNOMED-CT", - "code": 119235005, + "code": "119235005", "display": "Brain part (body structure)" }, "modality": { @@ -974,61 +780,13 @@ "type": "Encounter", "reason": "Type of Alzheimer's", "telemedicine_possibility": "none", - "direct_transition": "Check for Adverse Events", + "direct_transition": "Check Impairment", "wellness": true }, "Receive mAbs": { - "type": "Simple", - "conditional_transition": [ - { - "transition": "Approved mAbs", - "condition": { - "condition_type": "Not", - "condition": { - "condition_type": "PriorState", - "name": "Approved mAbs" - } - } - }, - { - "transition": "Aducanumab Low Dose", - "condition": { - "condition_type": "PriorState", - "name": "Aducanumab Low Dose" - } - }, - { - "transition": "Aducanumab Increased Dose", - "condition": { - "condition_type": "PriorState", - "name": "Aducanumab Increased Dose" - } - }, - { - "transition": "Lecanemab Low Dose", - "condition": { - "condition_type": "PriorState", - "name": "Lecanemab Low Dose" - } - }, - { - "transition": "Lecanemab Increased Dose", - "condition": { - "condition_type": "PriorState", - "name": "Lecanemab Increased Dose" - } - }, - { - "transition": "Donanemab", - "condition": { - "condition_type": "PriorState", - "name": "Donanemab" - } - }, - { - "transition": "Approved mAbs" - } - ] + "type": "CallSubmodule", + "submodule": "medications/anti_ab_mabs_selection", + "direct_transition": "Record Outcomes" }, "Check Outcome Criteria": { "type": "Simple", @@ -1147,7 +905,7 @@ }, "Set Cognitive Impairment Level": { "type": "SetAttribute", - "attribute": "cognitive_impairment_level", + "attribute": "final_cognitive_impairment_level", "direct_transition": "Set Daily Living Impairment Level", "distribution": { "kind": "UNIFORM", @@ -1160,7 +918,7 @@ }, "Set_Cognitive_Impairment_Level": { "type": "SetAttribute", - "attribute": "cognitive_impairment_level", + "attribute": "final_cognitive_impairment_level", "distribution": { "kind": "UNIFORM", "round": false, @@ -1173,7 +931,7 @@ }, "Set Daily Living Impairment Level": { "type": "SetAttribute", - "attribute": "daily_living_impairment_level", + "attribute": "final_daily_living_impairment_level", "direct_transition": "Treatment Effective", "distribution": { "kind": "UNIFORM", @@ -1186,7 +944,7 @@ }, "Set_Daily_Living_Impairment_Level": { "type": "SetAttribute", - "attribute": "daily_living_impairment_level", + "attribute": "final_daily_living_impairment_level", "distribution": { "kind": "UNIFORM", "round": false, @@ -1240,74 +998,18 @@ }, "value": 0 }, - "direct_transition": "Check Inclusion Criteria", + "direct_transition": "Initialize Cognitive Impairment", "remarks": [ "CMS issued the final NCD (CAG-00460N) for using FDA approved anti-AB mAbs for treatment of Alzheimer's on April 7th, 2022." ] }, - "MoCA Normal": { - "type": "DiagnosticReport", - "codes": [ - { - "system": "LOINC", - "code": "72133-2", - "display": "Montreal Cognitive Assessment [MoCA]" - } - ], - "observations": [ - { - "category": "survey", - "unit": "{score}", - "codes": [ - { - "system": "LOINC", - "code": "72172-0", - "display": "Total score [MoCA]" - } - ], - "attribute": "moca_score" - } - ], - "direct_transition": "Check for Adverse Events", - "remarks": [ - "The MoCA scores range from zero to thirty, with a LOWER score indicating great cognitive impairment." - ] - }, - "FAQ Normal": { - "type": "DiagnosticReport", - "codes": [ - { - "system": "LOINC", - "code": "58121-5", - "display": "Prior Functioning ADL/IADL during assessment period [CMS Assessment]" - } - ], - "observations": [ - { - "category": "laboratory", - "unit": "{score}", - "codes": [ - { - "system": "LOINC", - "code": "99991-1", - "display": "Total Score [FAQ]" - } - ], - "attribute": "faq_score" - } - ], - "direct_transition": "Complete MoCA", - "remarks": [ - "The FAQ scores range from zero to thirty, with a HIGHER score indicating greater functional impairment. A cut point of 9 indicates impairment." - ] - }, "moca_score_normal": { "type": "SetAttribute", "attribute": "moca_score", "direct_transition": "Instrumental activities of daily living assessment", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 30, "low": 25 @@ -1320,7 +1022,7 @@ "direct_transition": "Instrumental activities of daily living assessment", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 25, "low": 15 @@ -1333,7 +1035,7 @@ "direct_transition": "Instrumental activities of daily living assessment", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 15, "low": 5 @@ -1346,7 +1048,7 @@ "direct_transition": "Instrumental activities of daily living assessment", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 5, "low": 0 @@ -1359,7 +1061,7 @@ "direct_transition": "Check Enrollment", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 8, "low": 0 @@ -1371,7 +1073,7 @@ "attribute": "faq_score", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 20, "low": 9 @@ -1384,7 +1086,7 @@ "attribute": "faq_score", "distribution": { "kind": "UNIFORM", - "round": false, + "round": true, "parameters": { "high": 30, "low": 20 @@ -1429,7 +1131,6 @@ ] }, { - "distributions": [], "transition": "Increment Assessment" } ] @@ -1440,19 +1141,19 @@ "direct_transition": "End CarePlan", "value": false }, - "Positron Emission Tomography Cerebrospinal Fluid": { + "Positron emission tomography with computed tomography of brain": { "type": "ImagingStudy", "procedure_code": { "system": "SNOMED-CT", - "code": "396321000119104", - "display": "Single photon emission computed tomography of cerebrospinal fluid flow (procedure)" + "code": "16554361000119106", + "display": "Positron emission tomography with computed tomography of brain (procedure)" }, "series": [ { "body_site": { "system": "SNOMED-CT", - "code": "729368005", - "display": "Entire brain cerebrospinal fluid pathway (body structure)" + "code": "258335003", + "display": "Entire brain (body structure)" }, "modality": { "system": "DICOM-DCM", @@ -1461,7 +1162,7 @@ }, "instances": [ { - "title": "PET Cerebrospinal Fluid", + "title": "Entire brain", "sop_class": { "system": "DICOM-SOP", "code": "1.2.840.10008.5.1.4.1.1.128", @@ -1471,7 +1172,155 @@ ] } ], - "direct_transition": "Amyloid Beta Finding" + "direct_transition": "Narrative" + }, + "Initialize Cognitive Impairment": { + "type": "SetAttribute", + "attribute": "cognitive_impairment_level", + "direct_transition": "Initialize Daily Living Impairment", + "value": 0 + }, + "Initialize Daily Living Impairment": { + "type": "SetAttribute", + "attribute": "daily_living_impairment_level", + "direct_transition": "Check Inclusion Criteria", + "value": 0 + }, + "Progression of Disease": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "Increase Cognitive Impairment", + "condition": { + "condition_type": "Attribute", + "attribute": "cognitive_impairment_level", + "operator": "<", + "value": "final_cognitive_impairment_level" + } + }, + { + "transition": "Progression of Abilities" + } + ] + }, + "Next": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "Wait 6 months", + "condition": { + "condition_type": "And", + "conditions": [ + { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-assessment", + "operator": "<=", + "value": 5 + }, + { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study", + "operator": "==", + "value": true + } + ] + } + }, + { + "transition": "Wait a few months" + } + ] + }, + "Progression of Abilities": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "Increase Functional Impairment", + "condition": { + "condition_type": "Attribute", + "attribute": "daily_living_impairment_level", + "operator": "<", + "value": "final_daily_living_impairment_level" + } + }, + { + "transition": "Next" + } + ] + }, + "Increase Cognitive Impairment": { + "type": "Counter", + "attribute": "cognitive_impairment_level", + "action": "increment", + "direct_transition": "Progression of Abilities" + }, + "Increase Functional Impairment": { + "type": "Counter", + "attribute": "daily_living_impairment_level", + "action": "increment", + "direct_transition": "Next" + }, + "FAQ Report": { + "type": "DiagnosticReport", + "codes": [ + { + "system": "LOINC", + "code": "58121-5", + "display": "Prior Functioning ADL/IADL during assessment period [CMS Assessment]" + } + ], + "observations": [ + { + "category": "laboratory", + "unit": "{score}", + "codes": [ + { + "system": "LOINC", + "code": "99991-1", + "display": "Total Score [FAQ]" + } + ], + "attribute": "faq_score" + } + ], + "direct_transition": "Complete MoCA", + "remarks": [ + "The FAQ scores range from zero to thirty, with a HIGHER score indicating greater functional impairment. A cut point of 9 indicates impairment." + ] + }, + "MoCA Report": { + "type": "DiagnosticReport", + "codes": [ + { + "system": "LOINC", + "code": "72133-2", + "display": "Montreal Cognitive Assessment [MoCA]" + } + ], + "observations": [ + { + "category": "survey", + "unit": "{score}", + "codes": [ + { + "system": "LOINC", + "code": "72172-0", + "display": "Total score [MoCA]" + } + ], + "attribute": "moca_score" + } + ], + "direct_transition": "Check for Adverse Events", + "remarks": [ + "The MoCA scores range from zero to thirty, with a LOWER score indicating great cognitive impairment." + ] + }, + "Narrative": { + "type": "SetAttribute", + "attribute": "amyloid_beta_narrative", + "direct_transition": "Amyloid Beta Finding", + "value": "Amyloid Beta Positive" } }, "gmf_version": 2 diff --git a/src/main/resources/modules/medications/anti_ab_mabs_selection.json b/src/main/resources/modules/medications/anti_ab_mabs_selection.json new file mode 100644 index 0000000000..9bb9ce7ff2 --- /dev/null +++ b/src/main/resources/modules/medications/anti_ab_mabs_selection.json @@ -0,0 +1,342 @@ +{ + "name": "anti-ab-mabs-selection", + "remarks": [ + "Select an anti-amyloid-beta monoclonal antibody based on availability or current infusion plan." + ], + "states": { + "Initial": { + "type": "Initial", + "direct_transition": "Check for prior infusions" + }, + "Terminal": { + "type": "Terminal" + }, + "Aducanumab_Low_Dose": { + "type": "MedicationOrder", + "codes": [ + { + "system": "RxNorm", + "code": "2557232", + "display": "1.7 ML aducanumab-avwa 100 MG/ML Injection" + } + ], + "direct_transition": "Terminal", + "administration": true, + "reason": "Type of Alzheimer's", + "assign_to_attribute": "anti-amyloid-beta-mabs", + "remarks": [ + "Removed January 2024" + ] + }, + "Lecanemab_Increased_Dose": { + "type": "MedicationOrder", + "codes": [ + { + "system": "RxNorm", + "code": "2626155", + "display": "5 ML lecanemab-irmb 100 MG/ML Injection" + } + ], + "administration": true, + "reason": "Type of Alzheimer's", + "assign_to_attribute": "anti-amyloid-beta-mabs", + "direct_transition": "Terminal" + }, + "Aducanumab_Increased_Dose": { + "type": "MedicationOrder", + "codes": [ + { + "system": "RxNorm", + "code": "2557224", + "display": "3 ML aducanumab-avwa 100 MG/ML Injection" + } + ], + "administration": true, + "reason": "Type of Alzheimer's", + "direct_transition": "Terminal", + "assign_to_attribute": "anti-amyloid-beta-mabs", + "remarks": [ + "Removed January 2024" + ] + }, + "Donanemab": { + "type": "MedicationOrder", + "codes": [ + { + "system": "RxNorm", + "code": "2687972", + "display": "20 ML donanemab-azbt 17.5 MG/ML Injection" + } + ], + "administration": true, + "reason": "Type of Alzheimer's", + "assign_to_attribute": "anti-amyloid-beta-mabs", + "direct_transition": "Terminal", + "remarks": [ + "Approved July 2, 2024" + ] + }, + "Lecanemab_Low_Dose": { + "type": "MedicationOrder", + "codes": [ + { + "system": "RxNorm", + "code": "2626147", + "display": "2 ML lecanemab-irmb 100 MG/ML Injection" + } + ], + "administration": true, + "reason": "Type of Alzheimer's", + "assign_to_attribute": "anti-amyloid-beta-mabs", + "direct_transition": "Terminal" + }, + "After April 2022": { + "type": "Simple", + "distributed_transition": [ + { + "transition": "Set_Lecanemab_Low", + "distribution": 0.3 + }, + { + "transition": "Set_Lecanemab_Increased", + "distribution": 0.3 + }, + { + "transition": "Set_Aducanumab_Low", + "distribution": 0.2 + }, + { + "transition": "Set_Aducanumab_Increased", + "distribution": 0.2 + } + ] + }, + "After January 2024": { + "type": "Simple", + "distributed_transition": [ + { + "transition": "Set_Lecanemab_Low", + "distribution": 0.5 + }, + { + "transition": "Set_Lecanemab_Increased", + "distribution": 0.5 + } + ] + }, + "After July 2024": { + "type": "Simple", + "distributed_transition": [ + { + "transition": "Set_Lecanemab_Low", + "distribution": 0.3 + }, + { + "transition": "Set_Lecanemab_Increased", + "distribution": 0.3 + }, + { + "transition": "Set_Donanemab", + "distribution": 0.4 + } + ] + }, + "Check Date": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "After April 2022", + "condition": { + "condition_type": "And", + "conditions": [ + { + "condition_type": "Date", + "operator": ">=", + "date": { + "year": 2022, + "month": 4, + "day": 7, + "hour": 0, + "minute": 0, + "second": 0, + "millisecond": 0 + }, + "value": 0 + }, + { + "condition_type": "Date", + "operator": "<", + "value": 0, + "date": { + "year": 2024, + "month": 1, + "day": 1, + "hour": 0, + "minute": 0, + "second": 0, + "millisecond": 0 + } + } + ] + } + }, + { + "transition": "After January 2024", + "condition": { + "condition_type": "And", + "conditions": [ + { + "condition_type": "Date", + "operator": ">=", + "date": { + "year": 2024, + "month": 1, + "day": 1, + "hour": 0, + "minute": 0, + "second": 0, + "millisecond": 0 + }, + "value": 0 + }, + { + "condition_type": "Date", + "operator": "<", + "value": 0, + "date": { + "year": 2024, + "month": 7, + "day": 1, + "hour": 0, + "minute": 0, + "second": 0, + "millisecond": 0 + } + } + ] + } + }, + { + "transition": "After July 2024", + "condition": { + "condition_type": "Date", + "operator": ">=", + "value": 0, + "date": { + "year": 2024, + "month": 7, + "day": 1, + "hour": 0, + "minute": 0, + "second": 0, + "millisecond": 0 + } + } + }, + { + "transition": "Terminal" + } + ] + }, + "Check for prior infusions": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "Administer Proper Infusion", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "is not nil" + } + }, + { + "transition": "Check Date" + } + ] + }, + "Administer Proper Infusion": { + "type": "Simple", + "conditional_transition": [ + { + "transition": "Aducanumab_Low_Dose", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "==", + "value": "Aducanumab_Low_Dose" + } + }, + { + "transition": "Aducanumab_Increased_Dose", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "==", + "value": "Aducanumab_Increased_Dose" + } + }, + { + "transition": "Lecanemab_Low_Dose", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "==", + "value": "Lecanemab_Low_Dose" + } + }, + { + "transition": "Lecanemab_Increased_Dose", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "==", + "value": "Lecanemab_Increased_Dose" + } + }, + { + "transition": "Donanemab", + "condition": { + "condition_type": "Attribute", + "attribute": "anti-ab-mab-ced-study-med", + "operator": "==", + "value": "Donanemab" + } + }, + { + "transition": "Terminal" + } + ] + }, + "Set_Lecanemab_Low": { + "type": "SetAttribute", + "attribute": "anti-ab-mab-ced-study-med", + "direct_transition": "Administer Proper Infusion", + "value": "Lecanemab_Low_Dose" + }, + "Set_Aducanumab_Low": { + "type": "SetAttribute", + "attribute": "anti-ab-mab-ced-study-med", + "direct_transition": "Administer Proper Infusion", + "value": "Aducanumab_Low_Dose" + }, + "Set_Donanemab": { + "type": "SetAttribute", + "attribute": "anti-ab-mab-ced-study-med", + "direct_transition": "Administer Proper Infusion", + "value": "Donanemab" + }, + "Set_Aducanumab_Increased": { + "type": "SetAttribute", + "attribute": "anti-ab-mab-ced-study-med", + "direct_transition": "Administer Proper Infusion", + "value": "Aducanumab_Increased_Dose" + }, + "Set_Lecanemab_Increased": { + "type": "SetAttribute", + "attribute": "anti-ab-mab-ced-study-med", + "direct_transition": "Administer Proper Infusion", + "value": "Lecanemab_Increased_Dose" + } + }, + "gmf_version": 2 +} \ No newline at end of file