2013 IT Innovation Contest

A team-based contest for creative IT solutions

Develop Calendar Data API for UCSF Ilios Curriculum Management System

Proposal Status: 

Thank you for all the feedback and interest in our proposal. This version reflects updates as of 10-17-2-13. 


A student’s life is 24/7 and always on the go. Knowing where you have to be, when, and what you need to do before you get there is a key to success. Health professions students find themselves learning across five major campus sites and a multitude of smaller clinical settings, all the while still responsible for new learning.

The primary tool for managing a learner’s day is their course calendar. For UCSF students and thousands of others around the world the UC San Francisco Ilios Curriculum Management System delivers that calendar via an interactive webpage in their online courses. However there isn’t a flexible and reliable way to access the calendar and course materials on mobile devices or to sync a student’s schedule to their favorite calendaring application such as their iPhone calendar or Google Calendar. As a result students must manage and update their schedules in multiple places and can miss out on important scheduling changes. The ability to access scheduling data is the number one requested feature of students using Ilios. The UCSF implementation of Ilios is online at (https://curriculum.ucsf.edu/).  

We seek to develop an API (application programming interface) for calendar and curricular data in the Ilios curriculum management system in order to facilitate the creation of student and teacher tools for education. Ilios has become a powerful component of the Collaborative Learning Environment at UCSF by capturing, managing and delivering the curriculum of the schools of medicine, pharmacy and dentistry, as well as, faculty development, making it the second most accessed application at UCSF. In addition, it is in use at dozens of school around the US including UCLA, Stanford, Dartmouth, SUNY Downstate, the University of Texas Health Science campus, and most recently outside the US at the Karolinska Institute in Sweden.

Deliverables: (Revised based on feedback)

This project will develop an API for the Ilios calendar data which will:

  1. Allow for the insertion and synchronization of a user’s calendar into their existing mobile device calendar (google, iPhone, etc)
  2. Allow for integration into course management systems such as Moodle.
  3. Provide the ability for others to build mobile tools and desktop applications that utilize calendar and curriculum data.
  4. Allow for the insertion and integration of calendar and curriculum data, such as learning objectives, into enterprise tools such as Drupal and Salesforce.
  5. Create efficiencies in maintaining, updating and extending the open source Ilios codebase.

Impact on UCSF's mission and/or community:

  1. Will enable more flexible, real-time access to learning content for new competency-based health professions education programs.
  2. Development of tool to feed data about the who, what, when, where, why and how of a course, workshops, or learning event to mobile calendars or learning interfaces is an essential need for health professions learners and teachers.
  3.  Thousands of learners from more than 21 schools in the US and abroad will benefit from the development of this API.
  4. Will allow for content to be embedded on sites served by another host or be dynamically posted to user interfaces.
  5. Will be used to ease the work of programming graphical user interface components.

Measures of success and output:

  1. Ilios Calendar API released as part of the open-source code on GitHub
  2. Usage documentation for the API.

Team Members and estimated time committee: (Revised based on interest)

  1. Sascha Cohen, Project Management @ 15%
  2. Rich Trott, Techical Resource Coordinator @ 15%
  3. Elliot Kendall, Programmer @ %70
  4. Kevin H. Souza, Associate Dean, Executive Sponsor @ in-kind support


Excellent proposal! Students in the School of Medicine request this frequently. Enabling an integrated mobile calendar solution fits well with our increasingly mobile students, who need to rely on the accuracy of their calendar no matter where they are.

An integrated mobile calendar will reduce potential errors from juggling multiple calendars and will save student and faculty time.  This project is strongly supported by the School of Pharmacy!

This would have such a profound impact on the daily life of all our health professions students. It would bring the student experience into alignment with our Schools' very high ratings nationally. In addition it could facilitate new kinds of individualized learning that could have a postive impact on health care and research settings such as those envisioned by the Bridges Curriculum (http://meded.ucsf.edu/bridges).

The ability to sync the curricular calendar with a personal calendar would be hugely beneficial to dental students, particularly on a mobile platform.  This would not only offer convenience, it would also allow for  curricular information to be viewed more frequently, keeping academic responsibilities in the minds of our students anytime they consulted thier calendar whether or not it was for academic reasons.  This innovation would be welcomed warmly by SOD.

Great project.  This is greatly needed.  The students and faculty across the schools use the iLios Calendar to manage their courses and this will allow for better curriculum management and innovations.

The Ilios curriculum management system has evolved into a core business technology for UCSF medical student education that has greatly enhanced our educational environment and enabled the implementation of flexible learning modalities for our diverse learners. The Ilios calendar is a central to the student and faculty experienc of our on-line curriculum system, and thus upgrading the calendar to integrate more seamlessly with other core educational technology and, especially, with mobile devices used increasingly by our distributed learners and faculty is an urgent priority. 

Ilios can already export calendar data in ICS format, so the simplest short-term real-time calendar solution would be to write a "glue" program that automatically exports Ilios calendar updates as ICS and pipes them to Exchange, Apple, or Google calendars. This approach could make Ilios calendar time-and-place info available on pre-existing mobile calendar apps in real-time (or at least at 15-minute intervals), in the very near future. However, a full API would be more useful in the long term, because it could lead to apps that would make the embedded Ilios calendar learning materials (like PDFs, PPTs, DOCXs, and videos) much more accessible on mobile devices.

As a med student I very strongly urge the funding of this proposal. When I'm on the go, I often find myself with outdated/incorrect information about a class location, or lacking an updated class schedule to help me schedule appointments that will not conflict with school. Having our curriculum calendar sync automatically to our mobile devices, as described in this proposal, would ensure that we do not miss out on important scheduling changes and that we are always up-to-date on our class schedules.

What I would also love to see is improved delivery of information about certain events such as Kanbar sessions. Currently, all possible timeslots for a Kanbar event will show up on our calendars, and each student would have to download an additional excel sheet just to see his or her assigned timeslot. It would make far more sense if the correct timeslot for each student was simply displayed on his or her calendar to begin with.

As a medical student, I think that a calendar app for both Apple and Android devices would be a huge benefit to several reasons.  

First, the current method in which I maintain my calendar requires me to download the calendar from moodle and upload it to a new calendar in my Google calendar.  Every time I update my calendar, I need to generate a new calendar and delete the old one to prevent overlap.  Since room assignments often change with as little as a week's notice, I find myself doing this relatively frequently, and always worrying that I dont have the updated version of my schedule.  

Second, putting my calendar onto Google removes the color coding scheme, which means I have to manually annotate my calendar to display different kinds of classes (labs, small group sessions, lecture).

Finally, I think this might be an opportunity to generate a more personalized calendar concerning preceptorship and Kanbar session schedules.  Right now, we use spreadsheets with our assigned times, which means that I am again manually inputing this into my calendar.  While this is more of an issue with the design of the calendar itself, I think it would be nice to see as an option.

100% Yes!  The calendar system at UCSF continues to improve but this is the lynchpin that has been missing for a long time.  I personally feel that this could be a core technology that helps to blend the clinical years with the preclinical years.  As the student experience could be more unified once all of their resources are available together.

Indeed, this is a much-needed tool for students. As a medical student, I agree with all of the above comments. I would also like to emphasize that how the current, static calendar affects our productivity and professionalism. If a room number changes, and is not reflected in the student's currently loaded schedule, we go to the wrong room which means we are late for class and disruptive to our classmates. 


An added feature that might be helpful, especially for new students, is to link the room location to a map of the building. 

Yes, yes, yes!  please do this.  I agree with all the points made above.  I spend so much time trying to access the calendar on my mobile devices and downloading and deleting information in my personal calendar.  The whole process is very frustrating, and makes the system feel so very behind the times.   

Yes! This is vital. As you can see from the comments we've all had to individually create our own solutions for accessing the calendar, which is just silly because we all need the same thing! In the age of smart phones and last minute updates, it's actually kind of shameful we don't already have something like this. 

I have wished for something like this countless times over the last year as a medical student at UCSF. I agree with all the previous comments. This would do so much to make our complicated schedules more streamlined. It would increase efficiency and decrease anxiety by so much! Thank you for considering this project.

If I am not mistaken, the standard approach for retrieving calendar data is iCal within CalDAV.  I think that most student users are interested in just a single method: a URL that retrieves read-only CalDAV calendar data.  This would allow anyone to add their Ilios calendar to their preferred calendaring system (e.g. Google, iCal), simply by knowing the URL of their Ilios iCal/CalDAV feed.

If there were iOS/Android Ilios apps that people could use to access not only their calendar but the posted content for each session - in lieu of having to go through a browser - that would be an added bonus.  But the ability to retrieve the calendar in iCal format via CalDAV for consumption by a third party calendar system would be an important initial goal, I think.

This application would be invaluable for UCSF students! Though I download the static calendar as soon as it is made available, I still find myself having to manually login to irocket on my computer at least once a day to check the type of sessions scheduled for the next day. At least twice last year I would go to the room indicated by the calendar I had downloaded at the beginning of the block and, when no one else had showed up by 7 after the hour, would have to quickly scramble to look up the since updated calendar on my tiny iphone screen to see where I was actually supposed to be. I remember a particularly major mix up last year when half the students went to the wrong building because the calendar had been updated without warning.

Needless to say, having a dynamic calendar readily available on our mobile devices, without the added time it takes to login and wait for everything to load, would increase student efficiency and professionalism.

This would be an improvement not just for students but for faculty as well who need to see where and when they and their learners are supposed to be!

The hallmark of Ilios, in my opininon, is that it makes the curriculum (objectives, outcomes, assessments) transparent to the campus community.  An API would only encourage users (students, faculty, staff) to utilize and interact with the curriculum calendar on a greater basis.

Yes please!!! the calendar should be similiar to ASSP calender. It allows the "add to google" calendar option, which is very useful. Whenver the calendar update, the calendar is automatically updated on my phone. It should be a one time set up! Thank you for making changes!

it would be useful for the ilios calendar to have a function to display all the links/files uploaded by date for every class a studen tis enrolled in. right now, the search function on ilios allows me to display one class at a time, but i am interested in a functionality to view all the files and links uploaded to a class by date. many times, if i want to reference back to something, i know the topic i am looking for but not the exact date the lecture occured. Having to scroll through lecture materials day by day is very inefficient, and could be avoided if files could  be displayed by class and by date on one screen instead of the calendar view. I think there should be an option to view the calendar for a class in list format instead of calendar format.


Thanks for listening!



Sounds great! Would it be possible to make exclude/hide items that sometime show up on the calendar such as assignmentes/quizzes that currently show up on the illios calendar that can be sometimes confusing?

Could we integrate an interactive fuction for events where students could opt in or RSVP for an event?

Would it be possible to create events that are not associated with a course such as one time special events?

We support CLE users, and many of them are accessing their "calendar" through a course page, but face challenges with formatting and sizing - particulalry on tablets and mobile devices. Providing students with another option for accessing their calendar would be very helpful!

Great idea, I know students will appreciate this integration especially with their mobile devises.  Can’t wait to hear more.

Most web-based productivity suites that include calendars and email can subscribe to feeds in the .ics format.  This includes the Microsoft Exchange servers used at UCSF.  This might additionally help to encourage students to use these servers more actively since they are HIPPA compliant as opposed to most consumer products that students are familiar with.

The Ilios calendar is the centerpiece of the the students online curricular experience. It is vital that they be able to easily view it in their native calendars and on hand held devices.