An open API service indexing awesome lists of open source software.

https://github.com/cdaringe/hep-c-screener

cds-hooks service to prompt care providers to screen baby-boomers for hepatitis c
https://github.com/cdaringe/hep-c-screener

cds ehr fhir hepatitis nodejs service

Last synced: 5 months ago
JSON representation

cds-hooks service to prompt care providers to screen baby-boomers for hepatitis c

Awesome Lists containing this project

README

          

# hep-c-screener

[![Greenkeeper badge](https://badges.greenkeeper.io/cdaringe/hep-c-screener.svg)](https://greenkeeper.io/) [![CircleCI](https://circleci.com/gh/cdaringe/hep-c-screener.svg?style=svg)](https://circleci.com/gh/cdaringe/hep-c-screener) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

a [CDS Hooks](http://cds-hooks.org/) hepatitis c screening service.

this service detects if a patient needs a hepatitis c screening per CDS recommended guidelines. if a screening is required for a patient, it can be automatically ordered into the EHR system via [FHIR](http://www.hl7.org/implement/standards/fhir/) REST services, and/or administered via CDS hook card actions. the service is highly configurable and easy to deploy.

rad! 💯

## usage

the screening service can be run in two different ways--via `docker` or via `nodejs`. how to use either of these software tools is left as an exercise for the user. ample tutorials are available for both toolchains via a quick internet search.

please see the [CDS Hooks](http://cds-hooks.org/) website to learn how to interact with a CDS Hooks web service.

### docker

`docker run -p :8080 cdaringe/hep-c-screener`

### nodejs

nodejs 8.x or higher is required.

#### production mode

- install, `npm install --global hep-c-screener`
- `hep-c-screener` should now be on your `$PATH`

#### dev mode

- install dependencies, `yarn`, or `npm install`
- run the server, `yarn start`, or `npm start`

### configuration

all configuration is delivered via environment variables. how to set environment variables depends on the OS and deployment mechanism used. how to set these variables is left as an exercise for the user.

### server

| variable | default | description |
| -------- | ------- | -------------------------- |
| `PORT` | `8080` | HTTP port to run server on |

### hepatitis c workflow

| variable | default | description |
| ------------------------------------ | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DISABLE_DEFAULT_SCREENING_ORDER` | `` | set this field to `1` to *_not_* order a HCV screen procedure by default. a card with a button to order the procedure will be presented |
| `HCV_SCREEN_OBSERVATION_LOINC_CODES` | `13955-0` | `csv,of,codes` to check if a HCV screen has been performed for a patient before |
| `HCV_SCREEN_PROCEDURE_LOINC_CODE` | `47365-2` | single code for ordering HCV screen |
| `HCV_SNOMED_CODES` | `128302006,50711007,235866006` | csv,of,codes to check if someone has or has had HCV |
| `PROCEDURE_REQUEST_ORDER_INTENT` | `proposal` | a [RequestIntent](https://www.hl7.org/fhir/valueset-request-intent.html) for the HCV screening order. most likely, you will want `proposal` or `order` |
| `PROCEDURE_REQUEST_ORDER_STATUS` | `draft` | the default value for the `status` field of new HCV `ProcedureRequest`s. if providers want to immediately load the order into the EHR system, set this value to `active` |
| `VENIPUNCTURE_SNOMED_CODES` | `22778000` | csv,of,codes to check for venipunction orders |

if other code systems or codes themselves are required by default, please open a pull request

## fine print

- when testing to see if a patient already has an outstanding HCV procedure request, we check only the `HCV_SCREEN_PROCEDURE_LOINC_CODE`, and only if that procedure request status is `draft|active|completed`. `cancelled|suspended` etc status codes still allow the service to create a new `HCV_SCREEN_PROCEDURE_LOINC_CODE` ProcedureRequest for the patient.

## contributing

see [CONTRIBUTING.md](./CONTRIBUTING.md)