Perlman Hospital at University of Pennsylvania

The Perlman hospital at the University of Pennsylvania developed a software called SPMS a few years ago. The Standardized Patient Management System (SPMS) controls the day to day activities of the Standardized Patients (SP) at the hospital. SP’s are actors portraying real medical problems to aid in the education of doctors and nurses. SPMS controls the scheduling of these actors, their payment, payroll for the staff at the hospital, students, educators, and analytics on the hospitals budget.

In working with the Experimental Learning Center at UPenn our task was to aid in the development, enhancement, and production of the SPMS application. Every Monday at 1:30 pm I would meet with my co-developer to discuss the priority of issues in the system. We utilized Bitbucket, a version of GIT which allowed us to source control our code. The Bitbucket system also connected to our team’s Slack (a real time messaging platform) which allowed staff to submit tickets, issues, and bug reports to us directly. We then sorted the issues by priority every week and tackled as many as we could.

Standardized Patient Management

SPMS is a cross platform cloud application that used MYSQL to store data and CakePHP as the Model View Controller (MVC) framework. SPMS is written in PHP, HTML, CSS (Bootstrap), Python, C, and JavaScript (JQuery). Customers installed SPMS to their cloud from Penn and the dependencies through Composer (package manager). The database contained 24 tables and millions of rows of data. We utilized an MVC framework during development so the code base favored convention over configuration. This means that code has to be written properly and goes through a quality check before merging with the master branch.

All of the issues would be broken down into bugs and enhancements. During my time I solved 16 major issues, these issues were bugs dealing with the calendar system, the UI for input selection, or cross platform bugs. However the last 3 issues I solved were enhancements, an enhancement to the SPMS system is viewed as a plugin for customers. These plugins were generally scripts that could be installed remotely. The scripts we created automated workflow and resource planning in the hospital. Customers installed “prebaked enhancements” which are CakePHP modules that add automation to their SPMS instance. Creating enhancements and adding them to the SPMS was challenging as it requires a lot of tools to create.

My education at Temple University certainly aided my work at UPenn. Honestly my discrete math class was probably the most helpful class I have taken. I also used set theory when extracting data sets from the SPMS database. I had to go back and review unions and joins to understand how to more efficiently extract data in SQL.


The Attend Suite

Check out Attend at to experiment with our suite of multi-purpose tools for educators and presenters.

For any questions reach out to, or follow and direct message one of our social media accounts, @considercode (Li, Fb, and Tw) or @considercodellc (Ig).


Please enter your comment!
Please enter your name here