fhir-web
fhir-web copied to clipboard
A web based interface for administering FHIR based digital health solutions
fhir-web
fhir-web is the default frontend for the HAPI FHIR Server, as well as a configuration dashboard for the FHIR-based version of OpenSRP mobile application. It provides access to healthcare data, configuration options, and other functionality provided by OpenSRP.
Table of Contents
-
fhir-web
- Table of Contents
- What is the FHIR Standard
- What is OpenSRP
- Project Architecture
-
Repository Setup
- Bootstrapping
- Current Build Tools
- Deprecated Build Tools
- Getting Started
- Contributing
-
Deployments
- Prerequisites
- 1. Docker
- 2. Kubernetes
- 3. Ansible
-
Configuration
- Environment Variables
- Multi-language Support (MLS)
- Publishing
- Deprecation Notice
What is the FHIR Standard
HL7 Fast Healthcare Interoperability Resources (FHIR
), is a standard to enable quick and efficient representation and exchange of health care data, including clinical and administrative data, by digital health systems.
What is OpenSRP
OpenSRP is a Kotlin application for delivering offline-capable, mobile-first healthcare project implementations from local community to national and international scale using FHIR and the WHO Smart Guidelines on Android.
Project Architecture
fhir-web consumes FHIR resources from the OpenSRP HAPI FHIR server. Both fhir-web and the HAPI FHIR server use a Keycloak Server for authentication (Oauth 2.0). On top of the React JS web application, there is a tiny Express JS Server that is bundled together with fhir-web that handles both authentication and serving the compiled fhir-web files. For All Intents and Purposes, both the Express and the React JS apps are bundled together and collectively referred to as the fhir-web.
Repository Setup
Bootstrapping
This repository is a monorepo bootstrapped with Lerna and Yarn Workspaces. It is divided into two workTrees, the first, /app, containing the actual React application, and the second, /packages containing the different packages that /app
consume.
Current Build Tools
- React
- TypeScript
- Ant Design
- Lerna
- Yarn Workspaces
- TanStack Query
- Jest
- React Testing Library
- React Router
- Eslint
- Prettier
Deprecated Build Tools
Getting Started
- Getting Started Documentation.
Contributing
- Contributing Documentation.
Deployments
We use different technologies to deploy fhir-web.
Prerequisites
- A well configured keycloak server deployment.
- A well configured Hapi FHIR server deployment.
1. Docker
- fhir-web Docker Deployment Documentation.
2. Kubernetes
3. Ansible
-
fhir-web Ansible Playbook
- Run an fhir-web deployment with certbot, react, express, and nginx.
- You'll need accompanying ansible inventories
Configuration
Environment Variables
- List Of Configurable Environment Variables.
Multi-language Support (MLS)
- Internalization and Multi Language Support Documentation.
Publishing
- Publishing Documentation.
Deprecation Notice
Important: We are deprecating packages used for administration of both opensrp web server and mobile clients that do not use fhir. These packages will no longer be actively maintained or receive updates.
The code can be found in this branch. Any future releases and development should be done from this branch.
For any questions or assistance regarding issues in the affected modules, please feel free to create an issue