AN INTRODUCTION TO (PYTHON) PROGRAMMING FOR THE MEDICAL DECISION SCIENTIST
Course Type: Half Day
Course Level: Beginner
Overview: This course will introduce the participant to the foundations of programming using the Python programming language. Participants will be taught the basics of computer programming and how it can be applied to medical decision modeling, specifically Markov modelling. This course will provide participants with the foundation skills necessary for participants to automate their day-to-day activities, data preparation and data analysis, as well as to extend the capacity of the TreeAge decision analysis software.
Background: Tasks relevant to medical decision modeling, as well as general data-driven science, are often repetitive and time-consuming. With the use of such techniques as macros in Microsoft Excel, these tasks can be automated and the day-to-day activities of the researcher sped up. This course teaches participants a method to perform such operations that is platform agnostic, and supported by the scientific community. Furthermore, within the medical decision making community, the decision analysis software TreeAge has the ability to use the programming language Python to extend its capabilities. This course will introduce the participant to both the basic techniques of programming, in order to support the participants' day-to-day research activities; as well as explore how Python can specifically be integrated into TreeAge to extend the participants' modeling capabilities.
Format Requirements: This course will be a series of lectures integrated within a series of practical examples, followed by a demonstration and summary discussion. Participants will be required to have: - A basic understanding of Markov models and decision trees - Familiarity with the TreeAge decision analysis software - A laptop capable of running the Free/Open Source Python programming language (versions 2.7.9 and 3.4.3), as well as TreeAge.
Description and Objectives: This course will teach participants the basics of programming: conditional statements, control structures, loops, data types, programmatic operators, and functions. Participants will be introduced to the PyCharm integrated development environment, as well as specific functionality of the TreeAge software. Using PyCharm development environment, students will perform simple programming tasks and be lectured as to how these link together to form larger programs. Following this introduction to the fundamentals, a larger program will be constructed within the constraints of the TreeAge software. This program will allow participants to learn how the use of programming can extend and enhance their decision modeling, particularly microsimulation and Markov modeling. Participants will be exposed to both the theory of programming, as well as the opportunity to develop a familiarity with the Python language itself through real-time examples. Objectives:
- Ensure all participants are on a level playing field upon completion of the course as to the manipulation and use of Python.
- Introduce all participants to the basic fundamentals of programming that make up logical and functional programming.
- Provide real world examples as to how one can incorporate the dynamic natural history of cardiovascular and coronary heart disease models within the decision analytic software TreeAge using Python.
- Ensure that the participants are versed enough in the syntactic specificity of Python that they can seek out additional help and educational resources following the course.
David Chartash, BEngSc, MHSc
Children's Health Services Research Indiana University School of Medicine
William Bennett, MD
Indiana University School of Medicine
Assistant Professor of Pediatrics