A SMART on FHIR and CDS Hooks enabled application to increase the clinical utility of pharmacogenomic laboratory test results.
This application has two parts:
- Lab - formatting results of a laboratory test result as FHIR resources.
- EHR - using those results to provide CDS.
The application is also CDS Hooks enabled to ensure that those results can be hooked into all future relevant clinical encounters.
This project uses a Docker image to include the needed dependencies for the app server. Follow this guide to install Docker on your machine and check installation success with docker -v. Then follow this guide to install Docker Compose and check that installation with docker-compose -v.
Launch the server with the command docker-compose up --build
This example will use the HSPC Sandbox.
- Create an account.
- Create a new sandbox with the following options and any name you would like to use.
Navigate your web browser to http://localhost:3000/lab in order to view the example.
Important!! Once on the part1-lab page, before you submit the sample form, enter your sandbox open FHIR endpoint URL into the server field above the submit button.
Register the app manually within your sandbox using the following parameters and leave the rest with their defaults:
Launch URL
http://localhost:3000/smart-launch
Redirect URL
http://localhost:3000/
Scopes
launch patient/*.read
Also feel free to use doc_img/icon-for-hspc.png as the image for the app.
Set the client ID in js/launch-smart.js to the one given by the SMART service upon registering the app.
Launch the CDS Hooks Sandbox app from the HSPC app gallery.
Select the patient whose report was generated in part1-lab (patient for the sample form is shown below) to perform a SMART launch.
Switch to the Rx View using tab at the top of the page and register our application as a CDS service by clicking the cog in the upper-right corner.
Select Simvastatin as a medication to order for the patient. The CDS Hooks sandbox mimics the ordering behavior of an EHR and so is useful in testing any implementation of CDS Hooks.
The order will return a response card with a link to launch the application.
Note: The SMART launch can also be performed directly from the HSPC sandbox. This direct launch doesn't use CDS Hooks services. However, the same sample patient should be selected.