Before you start¶
Before using MISCore, you should know its features and limitations. This page gives a generic overview of:
The type of models that can be built within the MISCore framework;
The legal restrictions and requirements, imposed by the public license on MISCore.
MISCore characteristics¶
Although MISCore was originally designed for the simulation of disease and intervention in populations, its applications are not limited to such public health models. However, not all types of models are possible. The following is a non-exhaustive list of key characteristics of MISCore.
- Microsimulation
A key feature of MISCore is that it was built to simulate individuals (also known as particles or agents) within a population (microsimulation). We recommend using a different package for, for example, discrete-time cohort state-transition models.
- Memorylessness property not required
Models implemented in MISCore need not adhere to the memorylessness property of Markov models. In MISCore, all individuals have a memory which may contain their current and past states. Any information in this memory may be used to determine the next steps of the simulation. As such, an individual’s future state may depend on their past.
For example, when modelling cancer, the dwelling time in each of the cancer stages may be correlated, reflecting that individuals may have fast- or slow-growing cancers. If the degree of correlation is stored in the memory, it can be used to determine the dwell time in a next state.
- No communication possible between individuals
Within the MISCore framework, an individual’s state cannot depend on the state of another individual. Individuals cannot exchange any information about their state or history. As a consequence, MISCore is unable to simulate, for example, transmission of infectious diseases, connected autonomous vehicles, or multi-agent systems in robotics, because neighbouring particles are supposed to influence each other in such applications.
- Multi-level simulation structure is possible
In some simulations, individuals are composed of smaller, interacting components. The overall state of the individual may be defined as the aggregate of these internal components. The multi-level simulation structure is possible in MISCore.
For example, in colorectal cancer modelling, an individual may develop multiple precursor lesions (e.g. adenomas). The individual’s cancer risk or health status can be defined based on the most advanced lesion such as the largest one, making the individual an aggregate of their internal lesions.
Another example is household income modelling. Here, the household is the primary unit of analysis, composed of multiple individuals who earn and share income. The total household income is calculated as the sum of individual earnings. The income of the different household members may be interdependent. For example, if one household member increases their working hours (and income), another may choose to reduce theirs, thus requiring communcation between individuals within the household. Importantly, in this setting, households cannot interact with each other within the MISCore framework. Thus, income sharing or decision-making cannot occur between households, as they are independent.
- Discrete-event simulation
MISCore is designed for discrete-event simulation. Events are scheduled on an individual’s timeline. Those events need not be scheduled at regular intervals. For continuous simulation, for example using differential equations, we recommend using a different package.
License¶
MISCore is publicly released under a license. This means that users are free to use MISCore for their own modelling under certain restrictions. Below, the most important parts of the license are enumerated in simple English. The full license can be found on the License page. No rights can be derived from the simple overview below, the full license is the leading document.
- Non-commercial use
MISCore may be used for academic research and educational purposes only. Without prior written consent from Erasmus MC, and without entering into a separate license agreement, MISCore may not be used for commercial purposes. (Article 2.3A&B)
- Use of MISCore does not constitute the use of MISCAN
The family of MISCAN models is implemented in MISCore. However, a model implemented in MISCore cannot be called a MISCAN model. The use of MISCore does not constitute the use of MISCAN, and may not be published as such. (Article 2.3F)
- Obligation to reference MISCore when publishing results
Users that wish to publish the results obtained with MISCore, must make an appropriate reference. This reference is as follows: [TODO] (Article 3.2)
- Obligation to make MISCore models publicly available
All newly developed models within the MISCore framework and/or derivatives of MISCore itself should be made available for public review. These models and derivatives should have their own public license. This license should at least state that all further derivatives should also be publicly made available (Article 2.3B)
If you 1) agree to the above conditions and 2) the MISCore features are in line with your project, proceed with the Installation page to prepare your Python installation for the tutorials.