Download presentation
Presentation is loading. Please wait.
1
Individual Properties
Intervention Status Node Properties
2
Overview Individual Properties - Refresher
New Intervention Status – Making Cascade State Generic New Node Properties – Individual Properties for Nodes
3
Individual Properties
Spray On = Rural = Suburban = Urban
4
Individual Properties - The Basics
Defined in demographics Property Names/Keys Age_Bins Risk Accessibility Geographic Place QualityOfCare HasActiveTB Property Values User Defined Enable_Property_Output "Defaults": { "IndividualProperties": [ { "Property": "Accessibility", "Values": [ "YES", "NO"], "Initial_Distribution": [ 0.85, 0.15], "Transitions": [], "TransmissionMatrix": { "Route": "Contact", "Matrix": [ [1.1, 0.3], [0.3, 5.0] ] } }, { ] }, "Property": "Risk", "Values": [ "HIGH", "MEDIUM", "LOW"], "Initial_Distribution": [ 0.1, 0.4, 0.5 ] "Property": "Risk", "Values": [ "HIGH", "MEDIUM", "LOW"], "Initial_Distribution": [ 0.1, 0.4, 0.5 ]
5
Individual Properties – The Basics (cont.)
Property_Restrictions_Within_Node PropertyValueChanger "class": "Standard...EventCoordinator", "Target_Demographic": "Everyone", "Demographic_Coverage": 0.5, "Property_Restrictions_Within_Node" : [ { "Risk" : "LOW" } ], "Intervention_Config": { "class": "PropertyValueChanger", "Target_Property_Key" : "Risk", "Target_Property_Value" : "HIGH" }
6
Example – Vaccinate Only Unvaccinated People
Problem: Vaccinate 10% of the population Once, every five years Target only unvaccinated people
7
Example - Vaccinate Only Unvaccinated People (cont.)
"class": "CampaignEvent", "Start_Day": 5, "Nodeset_Config": { "class": "NodeSetAll" }, "Event_Coordinator_Config": { } "Defaults": { "IndividualProperties": [ { "Property": "Accessibility", "Values": [ "NO_VAC", "YES_VAC“ ], "Initial_Distribution": [ 1.0, 0.0 ] } ] }, "Defaults": { "IndividualProperties": [ { "Property": "Accessibility", "Values": [ "NO_VAC", "YES_VAC“ ], "Initial_Distribution": [ 1.0, 0.0 ] } ] }, "class": "Standard...EventCoordinator", "Number_Repetitions" : 5, "Timesteps_Between_Repetitions" : 365, "class": "Standard...EventCoordinator", "Number_Repetitions" : 5, "Timesteps_Between_Repetitions" : 365, "Target_Demographic": "Everyone", "Demographic_Coverage": 0.1, "Property_Restrictions_Within_Node" : [ { "Accessibility" : "NO_VAC" } ], "Target_Demographic": "Everyone", "Demographic_Coverage": 0.1, "Property_Restrictions_Within_Node" : [ { "Accessibility" : "NO_VAC" } ], "Intervention_Config": { "class": "MultiInterventionDistributor", "Intervention_List": [ { "class": "SimpleVaccine", ... }, { "class": "PropertyValueChanger", "Target_Property_Key" : "Accessibility", "Target_Property_Value" : "YES_VAC" } ] "Intervention_Config": { "class": "MultiInterventionDistributor", "Intervention_List": [ { "class": "SimpleVaccine", ... }, { "class": "PropertyValueChanger", "Target_Property_Key" : "Accessibility", "Target_Property_Value" : "YES_VAC" } ]
8
Overview Individual Properties - Refresher
New Intervention Status – Making Cascade State Generic New Node Properties – Individual Properties for Nodes
9
Background Documentation
Cascade State is “used to set the category of healthcare associated with the intervention.” “…enables easier tracking of individuals and visualization of the health care system.” Abstraction Allows user to define health care system at an abstract level Each Cascade State can be a collection of interventions
10
Example OnART HIVMuxer ARTBasic HIVMuxer ARTDropout HIVRandomChoice
HCTUptakePostDebut3 LostForever0
11
Background (cont.) An individual has a state
An intervention can set a person’s state An intervention has abort/invalid states such that: Cannot be distributed if person’s current state is one of the abort states. Will abort Update() if person’s state changed to an abort state
12
Abort & Update Distribute? Update
CascadeState is not in Abort_States, so “Distribute” CascadeState LinkingToART InterventionsContainer [ ] "class“ : “HIVMuxer", "Abort_States“ : [ "LostForever" ], "Cascade_State": “OnART", Distribute? UpdateState CascadeState LinkingToART InterventionsContainer [ "class“ : “HIVMuxer", "Abort_States“ : [ "LostForever" ], "Cascade_State": “OnART", ] Update OnART CascadeState is not in Abort_States, so UpdateState
13
Valid Cascade States config.json Cascade States are:
"", "ARTStaging", "ARTStagingDiagnosticTest", "LinkingToART", "LinkingToPreART", "OnART", "OnPreART", "HCTTestingLoop", "HCTUptakeAtDebut", "HCTUptakePostDebut", "TestingOnANC", "TestingOnChild6w", "TestingOnSymptomatic", "LostForever" ], Cascade States are: used in the campaign file, but defined in the config file. Intervention values must be in this list Cascade_State Abort_States
14
Why Generic? Needed feature to prevent individuals from getting drugs from different distribution mechanisms Drugs via reactive care vs Drugs via drug campaign Distributing a drug cocktail (i.e. multiple drug interventions) Involves multiple interventions - concept that spans multiple interventions Unlike HIV, some of these interventions can be node-level.
15
Move to Individual Properties
New Property Key/Name InterventionStatus User defines possible statuses in demographics instead of config Benefit is that it is easy to start people with a particular status i.e. Property distribution Every intervention can have: Disqualifying_Properties New_Property_Value Notice Term Change: CascadeState = InterventionStatus Was Abort_States Was Cascade_State
16
Demographics Example Best to define a default status, like “None”
"IndividualProperties": [ { "Property": "InterventionStatus", "Values": [ "None", "ARTStaging", "ARTStagingDiagnosticTest", "LinkingToART", "LinkingToPreART", "OnART", ..., "LostForever" ], "Initial_Distribution": [ 1, 0, 0, 0, 0, 0, ..., 0 ] } Best to define a default status, like “None” Everyone should probably start with that status CANNOT user overlays with Individual Properties Arrays cannot be overlayed
17
Intervention Example “Key:Value” format used
Can use in Property Restrictions to only target people with a give state Person just needs to have one of the invalid properties for the intervention to abort. Other properties can be invalid as well. "class": "NodeLevelHealthTriggeredIV", "Trigger_Condition": "HCTTestingLoop1", "Property_Restrictions_Within_Node": [ { "Accessibility": "Yes" }, { "InterventionStatus" : "LostForever" } ], "Actual_IndividualIntervention_Config": { "class": "HIVRapidHIVDiagnostic", "Disqualifying_Properties": [ "InterventionStatus:HCTTestingLoop", "InterventionStatus:LinkingToART", "InterventionStatus:ARTStaging", "Accessibility:No" “New_Property_Value": "InterventionStatus:OnART", "Positive_Diagnosis_Event": "HCTTestingLoop2", "Negative_Diagnosis_Event": "HCTTestingLoop3" } New Or’d New
18
Overview Individual Properties - Refresher
New Intervention Status – Making Cascade State Generic New Node Properties – Individual Properties for Nodes
19
Node Properties Represent node, not people in node
{ "Property": "Place", "Values": [ "RURAL", "URBAN"], "Initial_Distribution": [ 0.85, 0.15 ] }, "Property": "InterventionStatus", "Values": [ "NONE", "SPRAYED_A", "SPRAYED_B", "FENCE_AND_TRAP" ], "Initial_Distribution": [ 1.0, 0.0, 0.0, 0.0 ] } "Nodes": [ ... Represent node, not people in node Similar to Individual Properties One or more properties per node Node-level interventions can target nodes via properties InterventionStatus feature NodePropertyValueChanger
20
Conclusion Individual Properties - Refresher
New Intervention Status – Making Cascade State Generic New Node Properties – Individual Properties for Nodes Questions?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.