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.
- fhir-web
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.
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.
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.
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.
- React
- TypeScript
- Ant Design
- Lerna
- Yarn Workspaces
- TanStack Query
- Jest
- React Testing Library
- React Router
- Eslint
- Prettier
We use different technologies to deploy fhir-web.
- A well configured keycloak server deployment.
- A well configured Hapi FHIR server deployment.
- fhir-web Ansible Playbook
- Run an fhir-web deployment with certbot, react, express, and nginx.
- You'll need accompanying ansible inventories
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