Integrating with Epic Mobile Applications

Integrating with Epic
Mobile Applications
Haiku, Canto, and Rover
Last Reviewed: 5/19/2015
Notice: This documentation is a draft. The draft documentation, the development plans and specifications
described in the draft documentation, or both may change prior to final release of this version. For example,
the development described in this document may not be included in this release, may be delayed in its
release, may be released in a form differing from that described, or may not be released if it does not meet
our quality standards and design goals. Therefore, discussion of development in this document does not
comprise a commitment on the part of Epic Systems Corporation. Since this documentation is a draft only,
please replace it with the final documentation when the new version is released and destroy this draft copy.
Epic | 1979 Milky Way | Verona WI 53593 | Voice: 608.271.9000 | Fax: 608.271.7237 | www.epic.com
Table of Contents

Overview ..................................................................................................................................................3
Tools ................................................................................................................................................... 3
Use Cases ........................................................................................................................................... 4
What Does Your Application Need for This to Work? ............................................................... 5
What Information Can Epic Include in Each URL? ..................................................................... 6
How Can You Launch Haiku from Your Application? .............................................................. 9
What Should You Do Next? ............................................................................................................ 9
 Overview
This document provides an overview of the ways Epic’s mobile applications, Haiku, Canto, and Rover, can
communicate with specialized clinical review applications like document or image viewers and is intended
to help you select the best third party linking framework for your organization. Ideally, you will use a
method with some form of context passing to ensure that the transition for end users is as seamless as
possible.
Tools
Epic’s mobile applications use iOS URL Scheming to enable context passing with other applications. You
can set up context passing by defining a URL for iOS to open when an application sends a request. For
example, any application that sends a request to epicHaiku:// will open Haiku, and any application that
sends a request to music:// will open the iTunes application.
The following diagram shows how Epic creates links to open other applications:
Integrating with Epic Mobile Applications
3
Use Cases
The following diagrams provide examples of how you can launch your application from or present your
application in Haiku and Canto.
1. If your application requires context information specific to a particular result, such as an EKG or
imaging procedure, the best launch point from Haiku and Canto is from within our read-only result
reports:
2. If your application doesn’t require context specific to a particular result but still requires information
tied to a patient, you can group launch-points to your application in our standalone module within
Haiku and Canto:
Integrating with Epic Mobile Applications
4
3. Haiku and Canto can launch your application in other ways as well, but you can’t place an unlimited
number of launch points within these applications. Keep this in mind when discussing your options
with your customer and with Epic.
What Does Your Application Need for This to Work?
Spend some time thinking about these four points early in the process.
A. PURPOSE - What does your application do? Does it make sense for a clinician to access your app
directly from an EMR? Here are some examples of applications with which Epic integrates most
successfully:

Communication – a physician wants to quickly contact a provider from a patient’s care team
through text message or VOIP.

Imaging – a physician wants to view an X-ray scan after reviewing the result documentation in
the EMR.

Cardiac monitoring – a physician wants to view a patient’s chart in the EMR and quickly jump
to a waveform viewer.
Integrating with Epic Mobile Applications
5
B. ACCESS – How is your application opened? Is it native to the device (i.e., was it downloaded from the
Apple store) or is it a light footprint web application? If your application is native to the device, then it
must define a URL by which it can be opened.
C. CONTEXT – What parameters does your application need for the URL to open into a specific context?
The Epic implementation relies upon knowing what parameters to include in the URL so that the
system passes the correct values to your application when a user taps the link.
For example, a link sent to your application might look something like this:
imageViewerApp://?patientId=Z1234&date=12/16/2013&time=10:04:07&location=31&epicReturnURL=
epichaik u://&returnButtonText=Epic+Haiku

imageViewApp:// – This is the URL scheme, defined by your application, that the device OS
uses to launch your application.

?patientId=Z1234&date=12/16/2013&time=10:04:07&location=31 – The patientID, date, time,
and location values provide contextual information about the image.

epicReturnURL – Optionally, your application can provide a way to return to the EMR. This
section represents the link the application uses.

returnButtonText – Optionally, your application can use this text on its UI to show the user
how to return to the EMR.
D. SECURITY - Does the URL your application is expecting contain information that needs to be encrypted?
If the application is expecting username or password information, as is common for single sign-on
solutions, we highly recommend supporting encryption. We recommend using AES encryption. It is
up to your application to decrypt the URL upon receiving it. Customers will define the pre-shared key
with which they can decrypt the URL.
What Information Can Epic Include in Each URL?
Each Epic-generated URL can contain information in the form of parameters and values that are unique to a
particular user, patient, or study. This table provides a full list of dynamic values that Epic can generate and
include in a link to your application. Your application should define the parameter names so it can correctly
interpret each value.
Parameter Value
Description
Date of Birth
Patient's date of birth in the format MM/DD/YYYY.
Day of birth
The patient's day of birth in the format DD.
Month of birth
Patient's month of birth in the format MM.
Year of birth
Patient's year of birth in the format YYYY.
Integrating with Epic Mobile Applications
6
Encounter date
Patient's encounter date in the format
MM/DD/YYYY.
Encounter day
Patient’s encounter day in the format DD.
Encounter month
Patient’s encounter month in the format MM.
Encounter year
Encounter year in the format YYYY.
Encounter department ID
The patient's encounter department.
Epic User ID
The user's ID in Epic.
CSN
The patient’s CSN.
Patient ID (Epic)
The patient's ID in Epic.
Order ID
The study ID in Epic.
Patient’s first name
The patient’s first name.
Patient’s last name
The patient’s last name.
Patient’s middle name
The patient’s middle name.
Install DIR
The data installation directory. Used primarily in
filebased PACS integrations.
IP Address
The IP address of the workstation.
Mask ID
The patient's ID formatted based on the value in the
parameter. For example, if the patient's ID is
1234567 and this token is configured as
%MASKID;##-##-###%, the ID is formatted as 12-34567. You can also use zeroes in the token to pad IDs
that are not long enough. For example, a patient ID
of 1234567, formatted using the token
%MASKID:000-00-0000%, is formatted as 001-234567.
Note: You should use the %MASKID% token in
place of the %PATID% token if the patient's MRN
stored in Epic is different from the format required
by the third-party system.
NT User ID
Integrating with Epic Mobile Applications
The user's Windows NT login.
7
Order date/time
The order date and time.
PACS Password
The user's password for this PACS, as listed on the
External ID List screen in the user record in Epic.
PACS User ID
The user's ID for this PACS, as listed on the External
ID List screen in the user record in Epic.
Patient ID (PACS)
The patient’s ID for this PACS, as listed in the other
IDs table in the patient’s record in Epic.
Procedure ID
The procedure ID in Epic.
Procedure Name
The procedure's display name.
Recipient PACS User ID
Another user’s ID for this PACS as listed on the
External ID List form of the user record in Epic.
This is intended for use in communication
applications.
Recipient System Login
Another user’s system login for this PACS, as listed
in the user's record in Epic. This is intended for use
in communication applications.
Service Area
The service area of the patient’s encounter
department.
Study Accession number.
The study’s accession number.
Study UID.
The study’s UID.
Study URL
The study’s URL.
System Login
The user’s login ID as listed in the user’s record in
Epic.
Taken Date
The date the images were taken.
Taken Time
The time the images were taken.
Time stamp
The current date and time in UTC, formatted as
YYYYMMDDhhmmss or in Unix time.
Integrating with Epic Mobile Applications
8
Workstation ID
The ID of the workstation. Used in input and output
file paths to point to different locations based on the
workstation ID.
Optionally, you can format parameter values differently depending on the type of data they represent, which
is useful for applications that depend on URLs being in a certain format. You can format date- and timebased values to match the date and time formats your application expects. Epic supports padding values to
a minimum length using a specific character that your system defines.
How Can You Launch Haiku from Your Application?
Similar to the way Haiku launches your application, we have added limited support to allow your
application to launch Haiku directly into user-level activities or patient charts with an Epic patient ID. You
can use these directly in your application or Haiku can send the URL as a way to jump back into Haiku.
Activity Name
URL host
In Basket
epicHaiku://launch/inbasket
Patient lists
epicHaiku:// launch/patientlists
Schedule
epicHaiku://launch/schedule
Dictation
epicHaiku://launch/dictationmanager
Links
epicHaiku://launch/links
Studies
epicHaiku://launch/studies
Search
epicHaiku://launch/search
Launch a patient chart with this URL:
epicHaiku://launch/patient/<patientID>


patient/ - Do not change this parameter. It directs Haiku to the patient’s chart.
<patientID> - The Epic patient ID.
For example, your URL might look like:
epicHaiku://launch/patient/Z1233
What Should You Do Next?
After reading this document, you should have an idea about how your application can integrate with Haiku,
Canto, and Rover. Before you can begin implementing the integration between our applications, we need to
complete some basic testing.
Contact Epic with the following information:
1. Provide a high level description of your application. Identify specific use cases to help users quickly
access your application directly from Epic.
Integrating with Epic Mobile Applications
9
2. Provide a version of your application that accepts incoming URL requests. If there is already a
version of the application available on the Apple Store, we can use that. If there isn’t, you should
provide an ad-hoc build of your application.
3. Provide connection information to your application’s test web server, if needed.
4. Provide an example of a complete URL filled in with sample parameters that Epic can use to open
your application. Please provide a description of what each parameter in the URL represents
Integrating with Epic Mobile Applications
10
© 2014 Epic Systems Corporation. All rights reserved. Certain information contained herein is confidential and must be treated accordingly.
After Visit Summary, Analyst, ASAP, Beaker, BedTime, Break-the-Glass, Breeze, Cadence, Canto, Cardiant, Care Elsewhere, Care Everywhere,
Charge Router, Chronicles, Clarity, Cogito ergo sum, Cohort, Colleague, Community Connect, Cupid, Epic, EpicCare, EpicCare Link, Epicenter,
EpicLink, EpicOnHand, EpicWeb, Haiku, Hyperspace, Identifier, Identity, InterOp, IntraConnect, Kaleidoscope, Light Mode, Lucy, MatMan,
MyChart, MyEpic, OpTime, OutReach, Patients Like Mine, Phoenix, Powered by Epic, Prelude, RedAlert, Resolute, Revenue Guardian, Rover,
SmartForms, Sonnet, Stork, Tapestry, Trove, Welcome, Willow and With the Patient at Heart are registered trademarks, trademarks or service
marks of Epic Systems Corporation in the United States and/or in other countries. U.S. and international patents issued and pending.
11