Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/awell-health/awell-score

An open source API to perform clinically validated score calculations.
https://github.com/awell-health/awell-score

algorithms calculations clinical-decision-support healthcare outcomes proms scores

Last synced: about 1 month ago
JSON representation

An open source API to perform clinically validated score calculations.

Awesome Lists containing this project

README

        



Awell Score


An open source API

to perform clinically validated score calculations.


This project is licensed under the terms of the MIT license.


Built with Typescript
PRs welcome!


Documentation
·
API playground
·
Playground app

Awell Score is a microservice and API developed by the [Awell](http://awell.health/) team used to calculate validated scores for clinical and patient-reported outcome measures or perform other clinical algorithms. **The API currently has a library of over 100 validated scores.**

It was initially developed as an in-house microservice used by our products.

With Awell Score, you can avoid building clinical score calculations yourself which has a couple of benefits:

- ⏱️ **Save time and resources.** There's no longer a need to build these scoring algorithms yourself, which can be a time-consuming process.
- 📏 **Reliability & validity.** Score calculations can be openly peer-reviewed and clinically assured, resulting in a higher level of scrutiny and verifiability.
- 🧑‍🤝‍🧑 **Contributions.** Clinicians, developers, health care organizations, ... can contribute knowledge to a single, shared knowledgebase.

## Contents

- [Background](#-background)
- [Documentation](#-documentation)
- [Installation and running the app](#-installation-and-running-the-app)
- [Test suite](#-test-suite)
- [License policy](#-license-policy)
- [How to Contribute](#-how-to-contribute)

## 📜 Background

Patient-Reported Outcome Measures (PROMs) and clinical scores are commonly utilized to evaluate patients' health conditions. Platforms like [MDCalc](https://www.mdcalc.com/) provide access to numerous such assessments through a user interface (UI). However, a UI is not practical for integrating these score calculations within your proprietary software systems. An API would be more appropriate, allowing these calculations to be embedded directly into your software.

## 📖 Documentation

Documentation for Awell Score can be found on [Awell's Developer hub](https://developers.awellhealth.com/awell-score/docs/getting-started/what-is-awell-score).

## 🎉 Installation and running the app

The API runs on Node and is built with Express and Typescript. NPM is used as the package manager. The API needs to be connected to a MongoDb database as it writes request logs and calculation results into it.

**Installation guide:**

1. Run `npm i` to install all the packages.
2. Create an `.env` file at the root of the project. Have a look at `.env.example` for the variables you need to run the app.
3. Ensure MongoDB is running on your machine (see instructions below).
4. Run the app via the `npm run dev` command.

### MongoDb

- [Installation instructions for Mac](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/)
- [Installation instructions for Windows](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)
- [Installation instructions for Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/)

## 🧪 Test suite

All calculations are covered with an extensive test suite to ensure reliable and valid results.

Run all tests via the `npm run test` command.

## 🪪 License policy

This open-source library supports calculations for various clinical questionnaires, some of which may have licensing requirements. **Users are responsible for ensuring they have the appropriate licenses** to use these questionnaires. We do not provide or manage licenses for you to use the questionnaires. Failure to secure necessary licenses or comply with their terms is solely the user's liability.

Please ensure you have all necessary permissions before using this library.

## 👏 How to Contribute

We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. You can read below to learn how you can take part in improving Awell Score.

### Contributing Guide

### Known issues

The first version of the API—which was only used by Awell internally—was built in December 2020 with JavaScript and Flow for static type checking. When we decided to make the API publicly available, we migrated the app to Typescript

However, not all code passed Typescript's validation, and quite a few `//@ts-expect-error` comments had to be added in several places. Removing all of the errors will take some time and will be a gradual and progressive effort. Given the extensive test coverage, there's a high confidence that there's no impact on the reliability and validity of scores.

### Contributors ✨

Awell Score was made possible by the following people:




Nick Hellemans