Open Hospital (OH) is an electronic health record (EHR) application. Open Hospital is currently provided as a desktop application written in Java and it's designed to work without an internet connection.
Open Hospital is composed by the following components, hosted in separated repositories:
- OH Core, a library that contains the business logic and the data abstraction layer
- OH GUI, which provides a graphical user interface (GUI) made with Java Swing
- OH Doc, which contains the user and admin documentation in Asciidoc format
- OH UI, a web user interface that consists of a React SPA (single page application) [WIP]
- OH API, a web server that exposes REST APIs over the Core component, and it's used by the UI component [WIP].
This repository is used to assemble the portable (or all-in-one) packages of Open Hospital, which you can download here.
There are several ways in which you can contribute to Open Hospital:
- try the desktop application or the early versions of the web UI
- request new features or report issues on JIRA (here's a list of good-first-issues)
- improve the documentation
- contribute code patches to one of the components
NB: GitHub Issues are disabled on the repositories of individual components. They are enabled on this repository to collect bug reports from end users and issues about this repository only. Instead, Jira is used to collect issues and plan the development across all OH components.
Read on about Open Hospital:
You can reach out to the community of contributors by joining our Slack workspace or by subscribing to our mailing list.
👷 📦
To create the Open Hospital packages, make sure to have installed the following dependencies on a Linux machine: JDK 8+, Maven, asciidoctor-pdf, zip, GNU make.Then follow these simple steps:
-
Clone this repository:
git clone https://github.com/informatici/openhospital
-
Run the script that compiles the components of Open Hospital, and assembles the portable distributions:
cd openhospital make
You can also parallelize some make tasks by using the
-j
flag (e.g.make -j4
) or use intermediate targets to build single parts of the distribution - usemake help
to see a list of available targets.