Calendar Synchronization in OpenEMR

With the advancements in technology on a day to day life, the time to search for calendar, search for a date rolling the papers and marking the dates is reduced. Nowadays, accessing a handy online calendar through electronic gadgets and scheduling the tasks for the day or planning for a whole year has become very simple. Online Calendar hence holds a major role in adding tasks, dropping appointments, arranging meeting and planning other functionality over one’s personal comfort and concern.

Generally within a healthcare practice, the patient schedules an appointment in prior to the visiting date with the concerned physician and it is logged in the EMR calendar. Physician/Patient may use any one of the Calendars through iPhone, iPad, SharePoint, Msn, Google etc. and other online calendar applications. Hence, it is very essential to sync the appointments scheduled in EMR with the online calendar application for easy access and tracking.
Initially when a physician/patientis configured with OpenEMR, the details of their preferred online calendar are stored. Whenever an appointment for the patient is created in OpenEMR, it is synchronized with the corresponding physician’s and patient’s calendar, making it simple to track their appointments.
Here, we’ve discussed some of the Calendar synchronizations that we’ve done for our customers.
 Share Point Calendar
 Iphone/Ipad Calendar
 Msn/Outlook Calendar
 Google Calendar

Share Point Synchronization

SharePoint is a web application framework and platform developed by Microsoft. SharePoint supports intranet portals, document and file management, collaboration, social networks, extranets, websites, enterprise search, and business intelligence.
Customization Performed:
To synchronize OpenEMR calendar with SharePoint we have used an API called “PHP-SharePoint-Lists-API-Master”. This API uses CURL functionality to connect with the SharePoint account.
The steps to integrate OpenEMR calendar with SharePoint Calendar are as follows:-
1. Include the SharePoint API file in OpenEMR
2. Download the WSDL file for the SharePoint Calendar (using a SharePoint Account)
3. Perform the following customization in OpenEMR Calendar section
• Create an object for SharePoint API class
• Using the above object, call the appropriate write method to synchronize the appointment created in OpenEMR to SharePoint Calendar.
Real time usage:
In the real time, while adding a Physician in OpenEMR, the share point details are also configured. Whenever an appointment is mapped to the concerned physician in OpenEMR, it would be automatically reflect in the appropriate user’s SharePoint Calendar.
iPhone/iPad Calendar Synchronization

iCal (Calendar) is a personal calendar application developed and maintained by Apple Inc. which runs on both the OS X desktop operating system and iOS mobile operating system.

Customization Performed:
Apple provides an API called “CalDAV” which is an Internet standard allowing a client to access scheduling information from a remote server. It extends WebDAV (HTTP-based protocol for data manipulation) specification and makes use of iCalendar format (.ical, .ics, .ifb, .icalendar) for the data. To transfer calendar data through CalDAV API to the user’s apple account, PHP Curl technique was used.
The steps to integrate OpenEMR calendar with iPhone/iPad Calendar is as follows.
1. The CURLOPT_POSTFIELDS attribute must be configured with the appropriate “body content” according to VCALENDAR specifications
2. The CURL headers must be configured appropriately [If-Match/If-None-Match]
3. CalDAVapi (.ics file) call will be made to the configured apple account, to start the synchronization process
4. Calendar event creation and update (write/update) is done using ‘PUT’ method through CURL
5. Calendar event deletion can be done using the method ‘DELETE’ through CURL
Real time usage:
In real time, while adding a physician in OpenEMR, the Apple account details specific to the particular provider is configured. Whenever an appointment is mapped in OpenEMR with the particular provider, it appointment details would be automatically reflected with the providers iPhone/iPad Calendar.
Outlook Calendar Synchronization
Microsoft Outlook is a personal information manager from Microsoft, which is available as a part of Microsoft office suite. Though MS Outlook is used as an email application, it also supports calendar, task manager, contact manager, note taking, journal and web browsing.
Customization Performed:
Here simple email functions are used to send the email to the physician or patient.
The steps used to integrate with Outlook Calendar are as follows:
1. Whenever an appointment is created, a mail with the link to update the calendar is sent to the configured mail id.
2. In the mail, a link ( is used with the Link Name “ADD TO CALENDAR” with appropriate arguments (rru, dtstart, dtend, summary, location) as a get attribute list.
Real time usage:
In the real time, when a physician is newly added in OpenEMR, the concerned physician’s Email detail is also configured. Whenever an appointment is mapped to the concerned provider in OpenEMR, it would be sent to his Outlook Email and he can add the same to his Outlook Calendar.
Google Calendar Synchronization
Google Calendar is a free time-management web application offered by Google.
To Synchronize Google Calendar with OpenEMR calendar, Google-api plug-in is used. There are 2 types of authentication/method used in Google api, they are:
1. OAuth 2.0
2. API keys
To ensure more security, we have opted to use OAuth authentication method.
Customization Performed:
1. Download and Include the api file Google_Cal_Sync API to OpenEMR
2. To use this api, download the developer credentials through Google account.
• Generate credentials (Client ID, Email Address and key file .p12) in Google Developer Console.
• Enable the permission for the particular api (in our case Calendar API), to use the keys generated.
3. Perform the following customization in OpenEMR.
• Create the object for the class “Google_Sync”
• Using the object created call the “Setup” function and get the authorized url, by passing the credentials created above.
• Use the “CreateEvent” function to synchronize the appointment created in OpenEMR to Google calendar
• The physician to whom the appointment need to be synced, are passed as the attendee list array to the “CreateEvent” function.

Real time usage:
In the real time, while adding a physician in OpenEMR, configure his Google mail details. Whenever an appointment is assigned to him in OpenEMR, it would be sent to his Google Calendar.
About ViSolve
ViSolve, Inc., is a software services and consulting firm with expertise in Healthcare and Cloud. ViSolve is headquartered at San Jose, CA with best in class Development & Support center in Coimbatore, India. ViSolve is committed to provide better healthcare by providing vendor neutral IT services.

What we do?

• Cloud (VMWare, AWS, HP), DB (MongoDB / Hadoop ), Migration, Enterprise Security, Performance, Deployment, Support and monitoring of customer environment with a focus on leading edge technologies
• Product development, build, QA and support of applications and kernel modules on VMware, HP-UX, Linux platforms
• 15+ years of experience in Open Source Solutions – Customization, Development and Support; leading contributor to the open source communities including Hadoop, OpenStack, OpenEMR, OSEHRA, Mongo DB, MySQL etc.

Why ViSolve?

• More than 15 years of strategic relationship with Enterprise Customers including Leading System Vendors, Financial Institutions ,Healthcare Organizations /Vendors
• Experience in successfully migrating over 160 healthcare customer environments to cloud with a focus on High Availability, Security, Disaster recovery, Performance and scalability
• As an extension of your R&D IT team – We Deliver Results of High Quality, On Time and Within Budget
• Expert Onsite Team & Low cost Offshore Team based in India that works in customer’s preferred Time zone
• No ‘one-size-fits-all’ solution provider. Customization – Key Differentiator
• Key Advocate and Contributors of Open Source Communities including Customized Open Source Solutions with leading edge technology
• Access to a wide Pool of talented Engineers highly skilled in Leading Edge Technologies and extensive knowledge in Healthcare Domain
• We know our Customers, Partners and Technology inside-out, with clear perspectives on what is most fitting to solve our customer’s challenges
• Avoid Vendor Lock in with Flexible Contractual Models. Competitive SLAs and Response Times, reduces internal cost & complexity and decreases Time to Market

To know more about how ViSolve can enhance your IT capabilities, get in touch with us by email at or call us at +1 (408) 850 2243.

Leave a Reply

Your email address will not be published. Required fields are marked *