Developing Opal, an App for Cancer Patients, as a Computer Scientist and Cancer Patient
Being a cancer patient is a complex, frustrating, scary and intimidating experience, especially for those with complex or prolonged treatments. One way of dealing with cancer is to determine what can be done to improve the patient experience, and to work with a great team from within the health care system in order to make those improvements happen. If you are a Computer Scientist, then developing patient-centred software is a natural way to make a difference.
This talk is about my experience as a cancer patient, and the work I have done with my co-leads Dr. John Kildea (Medical Physics) and Dr. Tarek Hijal (Radiation Oncology) to create a patient-centred app for cancer patients at the Cedars Cancer Centre of the McGill University Health Centre. Along with professional programmers, and a large team of undergraduate researchers, we have designed and implemented Opal, an app that supports automated and personalized data, notifications, appointment schedule, patient-reported outcome questionnaires, just-in-time educational material, and much more.
The talk will introduce Opal, and its overall design. Somewhat surprisingly, there are parallels between the concepts in Opal and those in my research field of compilers and virtual machines, which I will highlight. Opal is currently being piloted for breast cancer patients in radiation oncology, and I will summarize some of the patient experiences to date.
I am a Professor of Computer Science at McGill University, Montreal, Canada. I hold the Canada Research Chair in Compiler Tools and Techniques and am a Fellow of the ACM and a Fellow of the Royal Society of Canada.
Historically my main area of research area has been the development of compilers for object-oriented and aspect-oriented programming languages. I also have a long-standing interest in pointer analysis and program analysis frameworks.
My most recent research focus is on how to bring our compiler expertise to the world of scientists and engineers, and in particular how to support effective and efficient programming in the dynamic programming language MATLAB. To kick-start research in this area we are building a toolkit, McLAB (http://www.sable.mcgill.ca/mclab/), to support language extensions, compiler optimizations and transformations, virtual machines and JITs, and program understanding/refactoring tools for MATLAB and extensions of MATLAB.
An important facet of my work is that new research ideas should be developed along with software infrastructures to test those ideas. This has led to the development of many publicly available software frameworks, more details can be found on the group’s web site at http://www.sable.mcgill.ca . Our research group hopes that other groups will use their software, and will contribute new pieces back them so that all compiler groups can benefit from the work.