
Decision modelling in Python: an introduction to the MISCore discrete-event microsimulation package
All microsimulation models require the same core functionalities such as event scheduling, output logging, model calibration, and common random number techniques. Few frameworks provide a comprehensive package of ready-to-use core functionalities, and modelers often need to implement these functionalities themselves, resulting in duplicate work and non-standardized and unvalidated code.
We present the MISCore (MISCAN Core) Python package with ready-to-use core functionalities for health-economic modelling. Besides the aforementioned core functionalities, it provides built-in tools for cost-effectiveness analyses, probabilistic sensitivity analyses, output stratification, and more. MISCore was developed as the simulation framework for the MISCAN (Microsimulation Screening Analysis) family of disease models. These models have a 40‑year history of informing screening policy through microsimulation modelling; they have provided key evidence for USPSTF guidelines on colorectal, cervical, and lung cancer screening as well as various guidelines throughout Europe. Although MISCore was originally developed to support the MISCAN models, it can be used for models for a wide range of applications, and offers an accessible way to begin microsimulation modelling in Python using an established framework. We are currently in the process of making MISCore publicly available as a Python package for non-commercial purposes.
During this course, participants will be introduced to the MISCore Python package to get a head start with microsimulation modelling in Python. The course will follow the three phases of simulation modeling: model development, model application, and model analysis. Each phase will start with a short presentation, followed by hands-on exercises in Python. Starting with model application, participants will learn the general structure of MISCore models, perform simulations with the MISCAN model for endometrial cancer (MISCAN-Endometrium), and evaluate endometrial cancer screening strategies. In the model analysis phase, participants will analyze model outputs of MISCAN-Endometrium and do a cost-effectiveness analysis using MISCore functionalities. Third, we cover the model development phase where participants will adjust the underlying code of a simple disease model and learn the underlying code structure of MISCore models, enabling them to build their own models in the future. Finally, we will shortly discuss other features available in MISCore, and its license which prescribes the permitted uses of MISCore and any MISCAN model made publicly available in the future. This schedule anticipates 3.5-hour tutorial, but we are flexible to shorten if less time is available.
At the end of this tutorial, participants will be familiar with discrete-event microsimulation modelling in Python using the MISCore package. They can continue expanding their skills through the elaborate tutorials provided on our online documentation webpage.
Pre-Tutorial Preparation Participants should be familiar with a scientific programming language such as Python, R, or a comparable programming language. We will share instructions for installing Python, PyCharm and the MISCore package before the course.
Expertise The Department of Public Health at Erasmus University Medical Center has a long track record of informing screening policy with the MISCAN microsimulation models. The faculty of this tutorial are researchers that used or developed MISCAN models for gastric, colorectal, lung, cervical and prostate cancer screening, as well as dementia. They were all involved in the development of MISCore over the past 5 years. Moreover, they organize a course on health-economic modelling using MISCore for BSc students in econometrics, as well as an EU-funded course on decision modelling in Slovenia which aims to build capacity for screening evaluations in Slovenia. Our tutorial will be based on these courses.