Skip to content

Commit

Permalink
Add CMS130 Synthea Module (#43)
Browse files Browse the repository at this point in the history
* add new module for CMS130

* enforce independence btwn encounter and procedure occurring

* add gender condition, update colonoscopy code

* remove value fields, gender conditions, and merge guards into one

* remove extra encounter codes

* remove extra procedures with LOINC codes
  • Loading branch information
sarahmcdougall authored Sep 13, 2023
1 parent 608d02e commit 7c748a1
Showing 1 changed file with 201 additions and 0 deletions.
201 changes: 201 additions & 0 deletions src/main/resources/modules/CMS130v10.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
{
"name": "CMS130",
"remarks": [
"Synthea module based on CMS130v10 - Colorectal Cancer Screening"
],
"states": {
"Initial": {
"type": "Initial",
"direct_transition": "IPP_Age_Guard",
"name": "Initial"
},
"IPP_Age_Guard": {
"type": "Guard",
"allow": {
"condition_type": "And",
"conditions": [
{
"condition_type": "Age",
"operator": ">=",
"quantity": 50,
"unit": "years"
},
{
"condition_type": "Age",
"operator": "<=",
"quantity": 75,
"unit": "years"
},
{
"condition_type": "Date",
"operator": ">=",
"year": 2022
}
]
},
"distributed_transition": [
{
"transition": "Telehealth_Visit",
"distribution": 0.2
},
{
"transition": "Qualifying_Encounter",
"distribution": 0.7
},
{
"transition": "Check_For_Procedure",
"distribution": 0.1
}
],
"name": "IPP_Age_Guard"
},
"Terminal": {
"type": "Terminal",
"name": "Terminal"
},
"Qualifying_Encounter": {
"type": "Encounter",
"telemedicine_possibility": "none",
"name": "Qualifying_Encounter",
"direct_transition": "Encounter_Occurred",
"codes": [
{
"system": "SNOMED-CT",
"code": 444971000124105,
"display": "Annual Wellness Visit",
"value_set": "2.16.840.1.113883.3.526.3.1240"
}
]
},
"Encounter_Occurred": {
"type": "SetAttribute",
"attribute": "encounter_occurred",
"name": "Encounter_Occurred",
"value": true,
"direct_transition": "End_Encounter"
},
"Telehealth_Visit": {
"type": "Encounter",
"encounter_class": "ambulatory",
"reason": "",
"telemedicine_possibility": "none",
"codes": [
{
"system": "SNOMED-CT",
"code": 185317003,
"display": "Telephone Visit",
"value_set": "2.16.840.1.113883.3.464.1003.101.12.1080"
}
],
"name": "Telehealth_Visit",
"direct_transition": "Encounter_Occurred"
},
"Colonoscopy_Procedure": {
"type": "Procedure",
"codes": [
{
"system": "SNOMED-CT",
"code": 446521004,
"display": "Colonoscopy",
"value_set": "2.16.840.1.113883.3.464.1003.108.12.1020"
}
],
"distribution": {
"kind": "UNIFORM",
"parameters": {
"high": 60,
"low": 30
}
},
"unit": "minutes",
"direct_transition": "Procedure_Performed",
"name": "Colonoscopy_Procedure"
},
"Procedure_Performed": {
"type": "SetAttribute",
"attribute": "procedure_performed",
"direct_transition": "Check_Population",
"name": "Procedure_Performed",
"value": true
},
"Check_Population": {
"type": "Simple",
"name": "Check_Population",
"conditional_transition": [
{
"transition": "Set_Numerator",
"condition": {
"condition_type": "And",
"conditions": [
{
"condition_type": "Attribute",
"attribute": "encounter_occurred",
"operator": "==",
"value": true
},
{
"condition_type": "Attribute",
"attribute": "procedure_performed",
"operator": "==",
"value": true
}
]
}
},
{
"transition": "Set_Denominator",
"condition": {
"condition_type": "Attribute",
"attribute": "encounter_occurred",
"operator": "==",
"value": true
}
},
{
"transition": "Terminal"
}
]
},
"Set_Numerator": {
"type": "SetAttribute",
"attribute": "ecqm_numerator",
"direct_transition": "Set_Denominator",
"value": true,
"name": "Set_Numerator"
},
"Set_Denominator": {
"type": "SetAttribute",
"attribute": "ecqm_denominator",
"direct_transition": "Set_IPP",
"value": true,
"name": "Set_Denominator"
},
"Set_IPP": {
"type": "SetAttribute",
"attribute": "ecqm_ipp",
"direct_transition": "Terminal",
"value": true,
"name": "Set_IPP"
},
"Check_For_Procedure": {
"type": "Simple",
"distributed_transition": [
{
"transition": "Colonoscopy_Procedure",
"distribution": 0.7
},
{
"transition": "Check_Population",
"distribution": 0.3
}
],
"name": "Check_For_Procedure"
},
"End_Encounter": {
"type": "EncounterEnd",
"direct_transition": "Check_For_Procedure",
"name": "End_Encounter"
}
},
"gmf_version": 2
}

0 comments on commit 7c748a1

Please sign in to comment.