EMR Integration

Introduction

Integrating GluVue with an Electronic Medical Record (EMR) is a relatively straight forward process. There are three principle steps: extract the glucose data for a given timeframe from the EMR, format the data into a JavaScript Object Notation (JSON) string, and then post that string to the GluVue site, which will automatically process the data and take the user directly to the GluVue Dashboard. No protected health information is transmitted. The following steps provide guidelines for successfully linking an EMR to GluVue.

Extract the Data

Exactly how to extract the data will be contingent upon the specific EMR in use at your organization. For example, with Epic Hyperspace you might use Caché to retrieve the data and then build a link within a printgroup or you could use an Interconnect web service to load the data into an embedded web page. Or in Cerner's PowerChart you could use an XmlCclRequest to load the data into an MPage. Now lets review the data to pull and how to go about pulling it.

Before extracting the data, a timeframe must be specified. For instance, a range of the past seven to fourteen days is a good place to start. This can be statically set within the code, or in more advanced builds, an HTML form could be created to allow a user to select the timeframe that they would like to see. Although GluVue can handle very large timeframes, they will of course take longer to load from the EMR and to process once loaded.

The three data elements to send to GluVue are:

  • The start date of the desired lookback timeframe
  • The end date of the desired lookback timeframe
  • The measurement data-set (in the form of a JSON string)

Essentially, the measurement data-set is just a large list of glucose measurements and a timestamp of when each measurement was taken. Exactly which types of measurements to use should be determined by your organizational needs. For example, types of measurements to use could include: Continuous Glucose Monitoring (CGM) results, Serum/Plasma Glucose, Fasting Glucose, Nonfasting Glucose, etc. This list does not have to be in chronological order.

Format the Data

GluVue can accept the start and end dates in most common formats, such as "MM/DD/YYYY", "YY-MM-DD", "YYYY-MM-DD", etc. For processing and display purposes, the start time will be midnight (00:00:00) on the start date and the end time will be 11:59:59pm on the end date. Note that if using two digit years the format "XX/XX/XX" (slashes) will be treated as "MM/DD/YY", while "XX-XX-XX" (dashes) comes out as "YY-MM-DD". Unix Timestamps are accepted but must be proceeded by the @ symbol - i.e. "@1215282385". If an invalid format is passed for either the start or end dates, an error message will be generated and processing will stop.

As previously mentioned, the glucose measurement data should be passed in the form of a JSON string. For a quick primer on JSON, check out http://json.org/. This string should contain a JSON object with one child array named "glucose". This is to be an array of objects each with two child properties - "value" for the value of a particular glucose measurement, and "time" to indicate the time that the measurement was taken. As with the start and end dates, most common date formats are accepted and they can even be intermixed. It will also accept timestamps in the format used by Microsoft's WCF Web Services and ASP.NET, i.e. "\/Date(1215282385-0700)\/". If an invalid format is passed for either the start or end dates, an error message will be generated and processing will stop. Here is an example of what the JSON object should look like:

{
   "glucose" : [
      {
         "time" : "/Date(1438214421000-0700)/",
         "value" : 176
      },
      {
         "time" : "/Date(1438214721000-0700)/",
         "value" : 174
      }
   ]
}

Send the Data

Now that the data is ready to be processed, it is time to send it GluVue. This will be done via an HTTP POST request. The easiest way to do this is to load the data into an HTML form within an intermediary web page on your organization's network. This form would have its method set as "post" and its action would point to the GluVue Dashboard URL. Then it would be a simple matter of triggering the form to submit, which would transmit the data and launch into the GluVue Dashboard.

The URL of the GluVue Dashboard is:

The GluVue Dashboard requires an HTTPS connection

Replace "[YOUR-ORG]" with a unique identifier indicating your orginization (without the brackets).

Use the following parameter names to post the data:

  • "start" - The start date
  • "end" - The end date
  • "data" - The measurement data-set

For a working example of how this would work, see this GluVue EMR Integration Demo.