Health 2.0 Hack-a-Thon

Sponsored by HHS and NIH, the Health 2.0 Hack-a-Thon challenged developers to create interesting demos of what can be done with the diverse government health related data-sets. Developers were only given eight hours for the challenge. Larry Brem had an idea to combine the Veteran's Administration's Blue Button initiative with the LexEVS REST API to annotate text files with the medication descriptions from the NCI terminologies.

If you would like to know more about what this demonstrates and how to do it, please use our forums link and refer to LexEVS Developer or the contact us link to ask questions. A video has been released by Larry Brem demonstrating how this function works.

Script

The final script uses Greasemonkey to modify the sample text file after it has been loaded by the browser. Annotations were added to the listed medications. The original Blue Button text contains data from a sample My HealtheVet Personal Health Record and is just plain text with no metadata.

screenshot of data with no annotations

After the script parses and adds the medication annotations a more detailed description of the medication can be seen by hovering over it.

screenshot of data with annotations

Implementation

The Greasemonkey script uses a simple regular expression to find each line containing medication. The extracted line is then parsed and the resulting medication name is passed to the LexEVS REST service by using the following URL (where medicineName is replaced with the parsed medication name):

http://lexevsapi.nci.nih.gov/lexevsapi50/GetXML?query=org.LexGrid.concepts.Concept,org.LexGrid.commonTypes.EntityDescription&org.LexGrid.commonTypes.EntityDescription[@_content=*"+medicineName+"*]&codingSchemeName=NCI_Thesaurus

The LexEVS REST service returns an XML document containing all the information for the desired entity. XPath was used to parse the returned XML document for the desired medication description.

Obtaining the Script

The script requires the Greasemonkey extension to be installed in your Firefox browser. Then just click on the nci-blue.user.js file on the Scripts page (login required) and Greasemonkey will prompt you to install the user script. Go to the sample Blue Button page   to see the result.

A full plugin to Firefox was also created and can be found on Scripts wiki page (login required). Greasemonkey is not required for the full plugin. Just click on the nciblue.xpi file and Firefox will prompt you to install the extension.