The GenPRES project is an open source software initiative to enable a generic medication order entry solution for Safe and Efficient medication prescriptions, preparation and administration.
This project is initially aimed at the Dutch medical setting, but can easily be applied to any medical setting.
Medication errors are one of the most common sources of medical complications. However, the medication process, prescribing, preparing and administration of medication is als one of the most thoroughly protocolized medical processes.
In order to achieve a safe and efficient medication workflow the following human error prone activities can be solved by Clinical Decision Support Software (CDSS):
- Looking up rules and constraints
- Calculations
- Verification of correct applications of rules and constraints and subsequent calculations
With the assumption that software will not err in basic lookup and calculation activities, given the correct implementation, it can be assumed that such CDSS can achieve a significant reduction in medical errors and increase efficiency of workflow.
The current solution runs at: http://genpres.nl.
Some more background information can be found at:
- https://github.com/informedica/Informedica.GenPres.Lib/wiki/Informedica.GenOrder.Lib
- https://medicatieveiligensnel.nl (website in Dutch)
GitHub Actions |
---|
You'll need to install the following pre-requisites in order to build SAFE applications.
Current known build configuration
- dotnet: 8.0.0
- npm: 9.8.1
- node: v18.18.2
For the full application to run a proprietary cache file is needed containing medication product information. Collaborators can request these cache files by contacting the owner of this repository. These cache files cannot be freely distributed!
A demo cache file with medication product data is include in this repository. This contains some sample medication data from a much larger drug formulary database.
Currently, the project is moving to using Vite and the current build system has been updated using package.json scripts and plain commands.
For the time being the application can be started by the following procedure:
npm install
will perform a tool restore and install all dependenciesnpm run watch-server
will start the servernpm start
will start the fable compilation and the Vite development servernpm run build
will create a deployment to adeploy
folder
Open a browser to http://localhost:5173
to view the site.
Additionally, an environmental variable can be set to use a different GenPRES data excel url:
export GENPRES_URL_ID=<some url id>
. After starting the application, the url that is used will be
printed to the terminal. If no env is set, the default url will be used.
This will create a production ready docker image:
docker build -t [USERNAME]/genpres .
Note: this will build using the local processor architecture.
To build on a MacOs M1 and still want to publish for an ARM64
docker build --platform linux/amd64 -t halcwb/genpres .
To run the docker image locally:
docker run -it -p 8080:8085 [USERNAME]/genpres
This project is based on the SAFE Stack template. This template can be used to generate a full-stack web application using the SAFE Stack. It was created using the dotnet SAFE Template. If you want to learn more about the template why not start with the quick start guide?
If you want to know more about the full Azure Stack and all of its components (including Azure) visit the official SAFE documentation.
You will find more documentation about the used F# components at the following places:
Any help or collaboration is welcome! You can fork this repository, post issues, ask questions or get on slack.
Some specifics:
- An opt-in strategy is used in the
.gitignore
file, i.e. you have to specifically define what should be included instead or the other way around. - commits are tagged with
- chore: something that needs to be done
- feat: a new feature
- refact: a refactoring
- fix: a bug fix, or otherwise
- docs: documentation
- tests: testing code