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
- Host: GitHub
- URL: https://github.com/cdaringe/hep-c-screener
- Owner: cdaringe
- Created: 2018-04-19T04:08:02.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-25T05:11:49.000Z (over 1 year ago)
- Last Synced: 2025-04-22T16:02:48.353Z (6 months ago)
- Topics: cds, ehr, fhir, hepatitis, nodejs, service
- Language: JavaScript
- Homepage:
- Size: 2 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# hep-c-screener
[](https://greenkeeper.io/) [](https://circleci.com/gh/cdaringe/hep-c-screener) [](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)