Source files for building the IDM EMOD disease transmission model.
The EMOD v2.20 release includes support for typhoid disease modeling, including new campaign classes: EnvironmentalDiagnostic, TyphoidCarrierDiagnostic, TyphoidVaccine, and TyphoidWASH.
ImmunityBloodTest was added for identifying whether an individual’s immunity meets a specified threshold and then broadcasts an event based on the results. This new campaign class can be used with all supported disease modeling sim types.
InterventionForCurrentPartners can be used with STI and HIV sim types and provides a mechanism for the partners of individuals in the care system to also seek care.
OutbreakIndividualTBorHIV extends OutbreakIndividual and allows for specifying HIV or a specific strain of infection for TB.
In addition, configuration and campaign parameters that set the type of distribution (uniform, Gaussian, etc.) of infectiousness, incubation period, and delivery of interventions have been refactored. The number of distributions available and naming conventions used are now consistent across the configuration and campaign files. This change does not affect the distributions used in the demographics files.
A beta release of new campaign classes (not yet fully tested) are included to support surveillance of events, where events are listened to, detected, and broadcast when a threshold has been met. These classes include: BroadcastCoordinatorEvent, BroadcastNodeEvent, DelayEventCoordinator, SurveillanceEventCoordinator, and TriggeredEventCoordinator.
For the generic simulation type, the following new configuration parameters are available:
Note: These configuration parameters are part of the refactoring of distribution parameters.
For the generic simulation type, the following new configuration parameters are available:
Note: These configuration parameters are currently in beta release and have not yet been fully tested.
For the generic simulation type, the following new configuration parameters are available:
The following campaign classes are new and can be used in the (specified) models:
The ImmunityBloodTest intervention class identifies whether an individual’s immunity meets a specified threshold (as set with the Positive_Threshold_AcquisitionImmunity campaign parameter) and then broadcasts an event based on the results; positive has immunity while negative does not.
The InterventionForCurrentPartners intervention class provides a mechanism for the partners of individuals in the care system to also seek care. Partners do not need to seek testing at the same time; a delay may occur between the initial test and the partner’s test. If a relationship has been paused, such as when a partner migrates to a different node, the partner will not be contacted.
The OutbreakIndividualTBorHIV class extends OutbreakIndividual class and allows for specifying HIV or a specific strain of infection for TB.
The EnvironmentalDiagnostic intervention class identifies contaminated locations by sampling the environment, comparing the value to a threshold, and broadcasting either a positive or negative node event.
The TyphoidCarrierDiagnostic class extends SimpleDiagnostic class and allows for positive test diagnostic when an individual is a chronic typhoid carrier.
The TyphoidVaccine intervention class identifies contaminated locations by sampling the environment, comparing the value to a threshold, and broadcasting either a positive or negative node event.
The TyphoidWASH intervention class acts on exposure through either the contact contagion population or the environmental contagion population in the simulation. The intervention can be configured to reduce either exposure dose or exposure frequency for each route, simulating effects of water, sanitation, and hygiene (WASH) interventions.
Note: These campaign classes and associated parameters are currently in beta release and have not yet been fully tested.
The following Beta campaign classes are new and can be used in the (specified) models:
The BroadcastCoordinatorEvent coordinator class broadcasts the event you specify. This can be used with the campaign class, SurveillanceEventCoordinator, that can monitor and listen for events received from BroadcastCoordinatorEvent and then perform an action based on the broadcasted event. You can also use this for the reporting of the broadcasted events by setting the configuration parameters, Report_Node_Event_Recorder and Report_Surveillance_Event_Recorder, which listen to events to be recorded.
The BroadcastNodeEvent coordinator class broadcasts node events. This can be used with the campaign class, SurveillanceEventCoordinator, that can monitor and listen for events received from BroadcastNodeEvent and then perform an action based on the broadcasted event. You can also use this for the reporting of the broadcasted events by setting the configuration parameters, Report_Node_Event_Recorder and Report_Surveillance_Event_Recorder, which listen to events to be recorded.
The DelayEventCoordinator coordinator class insert delays into coordinator event chains. This campaign event is typically used with BroadcastCoordinatorEvent to broadcast events after the delays.
The SurveillanceEventCoordinator coordinator class listens for and detects events happening and then responds with broadcasted events when a threshold has been met. This campaign event is typically used with other classes, such as BroadcastCoordinatorEvent, TriggeredEventCoordinator, and DelayEventCoordinator.
The TriggeredEventCoordinator coordinator class listens for trigger events, begins a series of repetitions of intervention distributions, and then broadcasts an event upon completion. This campaign event is typically used with other classes that broadcast and distribute events, such as BroadcastCoordinatorEvent, DelayEventCoordinator, and SurveillanceEventCoordinator.
Base_Population_Scale_Factor has been renamed to x_Base_Population, which is grouped together with the other scale factor parameters beginning with x_. The functional remains the same. Enable_Demographics_Gender has been deprecated. Animal_Reservoir_Type has been replaced with Enable_Infectivity_Reservoir.
The following configuration parameters have been deprecated as a result of the refactoring of distribution parameters for better consistency across the configuration and campaign files.
The following campaign parameters have been deprecated as a result of the refactoring of distribution parameters for better consistency across the configuration and campaign files.
For more information, see the complete EMOD documentation.
The EMOD v2.18 release includes many new features for all supported simulation types. In particular, the TB_SIM simulation type has been deprecated and replaced with TBHIV_SIM, which does not include HIV transmission but adds the ability to model the effect of HIV coinfection on the spread of TB.
The following configuration parameters are new in the Generic model and can be used in all other models:
The following configuration parameters are new in the Malaria model:
The following configuration parameters are new in the TBHIV model:
The following campaign classes are new for the Generic model and can be used in all other models:
The IncidenceEventCoordinator coordinator class distributes interventions based on the number of events counted over a period of time.
The MultiNodeInterventionDistributor intervention class distributes multiple node-level interventions when the distributor only allows specifying one intervention.
The WaningEffectCombo class is used within individual-level interventions and allows for specifiying a list of effects when the intervention only has one WaningEffect defined. These effects can be added or multiplied.
The following campaign classes are new for the Malaria model:
The AdherentDrug class extends AntiMalarialDrug class and allows for incorporating different patterns of adherence to taking the drug.
The BitingRisk class is used with individual-level interventions and allows for adjusting the relative risk of being bitten by a vector.
The OutbreakIndividualMalaria class extends OutbreakIndividual class and allows for specifying a specific strain of infection.
The following campaign class is new for the TBHIV model:
The TBHIVConfigurableTBdrug class is an individual level intervention for TB treatment. The intervention applies TB drug effects to the progression, associated mortality, transmission and acquisition of TB infections in HIV positive and negative individuals.
ImmunityDistributionFlag, ImmunityDistribution1, and ImmunityDistribution2 were renamed to SusceptibilityDistributionFlag, SusceptibilityDistribution1, and SusceptibilityDistribution2. In previous versions of EMOD, the naming was counterintuitive to the functionality. For example, setting a value of 1 for the immunity indicated zero immunity/complete susceptibility. Now the parameters more accurately reflect that you are setting a susceptibility value. The functionality is the same.
Immunity_Transmission_Factor, Immunity_Mortality_Factor, and Immunity_Acquisition_Factor were renamed to Post_Infection_Transmission_Multiplier, Post_Infection_Mortality_Multiplier, and Post_Infection_Acquistion_Multiplier. The functionality is the same.
The TB_SIM simulation type has been deprecated and replaced with TBHIV_SIM, which does not include HIV transmission but adds the ability to model the effect of HIV coinfection on the spread of TB.
The following campaign classes, which have not yet been fully tested with the TBHIV simulation type, have been disabled:
In previous versions of EMOD, you could set the tendency of individuals to seek out health care using HealthSeekingBehaviorUpdateable and then update the value of the Tendency parameter using HealthSeekingBehaviorUpdate. Now, you use individual properties to update individuals when they receive the SimpleHealthSeekingBehavior intervention, as you would to control the flow of individuals through other intervention classes. For example, you could create an individual property with HSBold and HSBnew values in the demographics file and assign all individuals to HSBold. Then you could distribute the first SimpleHealthSeekingBehavior (with one Tendency value) to all HSBold individuals and use New_Property_Value to assign them to HSBnew after receiving the intervention. The next SimpleHealthSeekingBehavior intervention (with a different Tendency value) could be distributed, setting Disqualifying_Properties to HSBold and, if desired, using New_Property_Value to reassign HSBold to those individuals.
Similarly, AntiTBPropDepDrug was disabled and superseded with TBHIVConfigurableTBDrug, which allows for drug effects based on HIV status and where dependence on IndividualProperties is configured through Property_Restrictions. In addition, AntiTBPropDepDrub can be replaced with AntiTBDrug, also using Property_Restrictions and new property values to target particular individuals with drug interventions for tuberculosis without HIV coinfections.
SmearDiagnostic was disabled and can be replaced with DiagnosticTreatNeg. While SmearDiagnostic would only broadcast when an individual had a positive smear diagnostic, DiagnosticTreatNeg has the added benefit of broadcasting negative and default diagnostic test events.
TB_Drug_Clearance_Rate_HIV and TB_Drug_Clearance_Rate_MDR parameters have been renamed to TB_Drug_Cure_Rate_HIV and TB_Drug_Cure_Rate_MDR.
When attempting to run an intervention using one of the disabled tuberculosis classes, such as AntiTBPropDepDrug, HealthSeekingBehaviorUpdate, HealthSeekingBehaviorUpdateable, and SmearDiagnostic, you will receive an error similar to the following: "00:00:01 [0] [I] [JsonConfigurable] Using the default value ( "Intervention_Name" : "HealthSeekingBehaviorUpdateable" ) for unspecified parameter. 00:00:02 [0] [E] [Eradication] 00:00:02 [0] [E] [Eradication] GeneralConfigurationException: Exception in SimulationEventContext.cpp at 242 in Kernel::SimulationEventContextHost::LoadCampaignFromFile. Array out of bounds"
Note: These campaign classes have been disabled because they have not yet been fully tested with the TBHIV simulation type.
In the schema for the Simulation_Type parameter the enum values list additional simulation types which are not supported by EMOD. IDM-supported values include GENERIC_SIM, VECTOR_SIM, MALARIA_SIM, TBHIV_SIM, STI_SIM, and HIV_SIM.
For more information, see the complete EMOD documentation.
The EMOD v2.13 release includes many new features for all supported simulation types.
The following configuration parameters are new in the Generic model and can be used in all other models:
The following configuration parameters are new in the Vector model (no new parameters specific to the Malaria model):
The following configuration parameters are new in the STI model:
The following configuration parameters are new in the HIV model:
No new configuration parameters were added to the Airborne or TB models.
The following demographics parameters are new or updated in the Generic model and can be used in all other models:
The following campaign parameters and intervention classes were added.
The addition of NodeProperties in the demographics file also necessitated the addition of Node_Property_Restrictions to control how interventions are distributed based on the property values assigned to each node.
The new property type InterventionStatus also necessitated the new campaign parameters Disqualifying_Properties and New_Property_Value to control how interventions are distributed based on the interventions already received. Disqualifying_Properties prevents an intervention from being distributed to individuals or nodes with certain property values. New_Property_Value updates the property value after they receive an intervention. For example, a household may be ineligible for clinical treatment for a length of time if they already received treatment during a drug campaign. These campaign parameters were previously only available for individuals in the HIV simulation type and were known as Abort_States and Valid_Cascade_States.
A new CommunityHealthWorkerEventCoordinator was added to set characteristics such as size of shipment, days between shipments, or maximum treatments distributed per day when interventions are distributed by community health workers.
Several new parameters were added to control effect of vaccines and disease exposure on immunity. For example, whether the effect of receiving more than one vaccine is multiplicative or additive or if there are immune boosting or priming effects.
Detailed descriptions for each of the new campaign parameters will be added shortly.
For more information, see the complete EMOD documentation.
The EMOD source v2.10 release includes new and updated Malaria configuration, demographic and intervention parameters. With this release, EMOD now uses Microsoft Visual Studio 2015, Boost 1.61.0 and SCons 2.5.0. See the Software Upgrades section for more information.
Several habitat parameters in the Malaria model have been upgraded, creating more flexibility in the model and enabling the user to have more control over habitat customization. These changes allow the model to more accurately capture real-world habitat availability and how it affects different mosquito species.
For more information, go to Prerequisite Software for the EMOD Source and Building the EMOD Executable.
The EMOD source v2.8 release includes new and updated features as well as updates to the schema.
The EMOD source v2.7 release enhances the STI and HIV models with new and updated features.
With this release, you can now run EMOD on CentOS 7.1 within Azure, Microsoft's cloud computing service.
EMOD on Windows continues to be supported on Windows 10 and Windows Server 2012 for local simulations, and Windows HPC Server 2012 for remote simulations. For information on the prerequisites needed to build EMOD, go to Prerequisite Software.
For information on building EMOD, go to Building the EMOD Executable.
Attached files (below):
Windows
CentOS
This release:
For information on building the EMOD executable, learning about the disease models, and configuring simulations, go to the IDM documentation.
You can clone the EMOD source or choose to download one of the following files:
This is the first release of the STI and HIV models.
You can clone the EMOD source or choose to download one of the following files: