In this class, we present a broad overview of the field of medical software. You will learn from Yale professors and a series of industry experts who connect the course concepts to their real world applications.
We begin by discussing medical device regulatory structures, data privacy and cybersecurity regulations, and key support technologies such quality management systems and risk management. We then take a detailed look at the medical software life cycle, starting with identifying user needs, mapping these to system requirements and then the process of software design, coding, testing and validation. We continue by exploring issues related to the use of machine learning techniques in medical applications from both a software engineering and a regulatory perspective. We conclude with a discussion of the business and management issues in this area focusing on the impact on digital health on modern healthcare and issues related to starting new ventures.
This is a class aimed at either third- or fourth-year undergraduates in computer science, biomedical engineering, and related fields, and to junior software engineers currently either working in, or interested in moving to, the medical device industry.
Overview
Syllabus
- Introduction to Medical Software and Digital Health
- Welcome to week one of our Introduction to Medical Software class. Here we will set the set the stage for what will come in the rest of the course. This week will introduce what medical software is, and we will discuss relevant regulatory issues. We will also dive into the opportunities in medical software and digital health, and finally we will discuss the regulatory process and the US health care environment.
- Medical Software Regulation (FDA and IMDRF)
- Welcome to week two of our introduction to Medical Software class. Our focus is this week is going to be on the regulatory aspects of medical software. What are the procedures one must follow? What is the process that they follow? We will discuss some emerging issues when it comes to things like artificial intelligence and machine learning. Lectures will discuss the history of medical device regulation and the history of the Food and Drug Administration in the United States. We will also take a look at the regulatory environment in the EU and China.
- The Healthcare Environment (EHR, PACS, Data Privacy, and Cybersecurity)
- Welcome to week three of our introduction to Medical Software class. In this week's lectures, we will look at the clinical environment and the constraints that come with it. We will look at constraints that come from the environment itself, the stakeholders involved, and also the associated technology that is present there, the databases that we have to interact with, the electronic health records, the parks, the imaging databases, and then issues to do with the regulations that are in this area regarding data privacy and security issues, and the increasing emphasis on cybersecurity.
- Quality and Risk Management
- In this week’s lectures we will talk about two management technologies that support the development of medical software: quality management systems and risk management.
- Software Development Life Cycle
- This week, we will start looking at the design of software and introduce the medical software life cycle. In particular, we will introduce the international standard for medical software life cycles IEC 62304 and provide a guided tour of the process. We will also introduce our example project which we will use to anchor our discussions over the next few weeks.
- User Needs & System Requirements
- In this week's segments, we will focus on user needs and the system requirements specification process. We will discuss how to identify user needs and how to communicate with medical experts. In the second half of this week's segments, we will describe the systems requirements specification document and present an example outline of such a document for our image guided neurosurgery project.
- Software Architecture Design and Usability Engineering
- This week, we will primarily focus on the process of designing the software, i.e. the creation of a plan that will allows us to from requirements to something that now can be implemented on a computer. We will also discuss usability engineering -- the process of designing user interfaces to improve ease-of-use and to avoid user errors. Finally, we have a segment from Dr. Licholai on Digital Behavioral Health to give you an example of a use case for medical software.
- Construction and Testing
- In this week, we get to the most concrete components of the medical software lifecycle, coding and testing. In many ways, this is the part of the lifecycle that is most similar to any other kind of software engineering you may have had exposure to. We will present some advice on coding, especially in the medical software domain and introduce source code management. In the second half of this week's content, we will introduce software testing and discuss what a testing plan looks like.
- Probability and Statistics
- This week, we will take a detour from the software lifecycle process to cover some mathematical background before returning to the software lifecycle next week when we talk about software validation. The goal of this week is to introduce key concept from probability and statistics. We will talk about the critical area of signal detection, and then we will present some methods that are necessary to understand how clinical trials are designed.
- Software Validation, Deployment, Maintenance and Retirement
- This week, we will cover the last steps in the medical software lifecycle. We will spend most of our time talking about validation, where we will also present a brief introduction to clinical trials. We will also have short segments discussing deployment, maintenance, and retirement.
- Machine Learning
- In this week's lectures, we focus on artificial intelligence and machine learning, the use of this technology, the challenges they produce as we integrate them into software, and the challenges of regulating these technologies in order to protect patients and caregivers.
- Business and Management Issues
- In this section of our course, we will step away from the technical aspects that you have been learning and really think about how to get your medical software or your lab prototype out into the hands of people in the real world. For those of you interested in enterpreneurship, it is just as important to get an basic overview of the business side of things so that you can launch your venture. First, we will discuss the changing models in health care. Then we will go into the nuts and bolts of starting a new health care venture, a broad overview to speak. And then we will end with when and how to raise capital.
- Optional Supplement: Case Studies
- In this optional supplementary module we will present examples of what happens when software development goes wrong. When this class is taught at Yale, the students are assigned to present these (and other) case studies in small groups. We follow this tradition for the online class as the case studies will be presented by the four Yale undergraduate students who worked as student assistants in the creation of this online course.
- Optional Supplement: Expert Interviews
- Throughout the creation of this course, Prof. Papademetris conducted interviews with an array of industry experts. Many of these conversations apply to multiple of the weeks' topics - please take a look and enjoy!
Taught by
Xenophon Papademetris