/fhir-emr

EMR based on FHIR

Primary LanguageTypeScriptMIT LicenseMIT

Beda EMR

beda-emr-logo

Clean and powerful frontend for Electronic Medical Records.

Open-source. Customizable. Leverages HL7 FHIR standard as data model.

Project Status: development

Promo web page: beda.software/emr

Design: Figma

Documentation: https://docs.emr.beda.software/

Benefits

  • Fully FHIR compatible:
    • all app data are stored as FHIR resources
    • any app data are available via FHIR API
  • Extremely flexible:
    • use extensions and profiles to adjust FHIR data model
  • Fast to build forms and CRUD
    • all forms in the app are just Questionnaire resources
  • Build the app with no-code
    • app provides UI Questionnaire builder for creating Questionnaires

Features

  • Appointment and Encounters (visits management, scheduling)
  • Electronic Medical Records
    • based on Questionnaire and QuestionnaireResponse resources
    • Questionnaire population, initial and calculated expressions
    • extraction FHIR data from QuestionnaireResponse on save
  • EMR Questionnaire form builder
  • HealthcareService management
  • Invoice management
  • Medication management
    • Warehouse management
    • Prescriptions management
  • Patient medical information
  • Patients management
  • Practitioners management
  • Role-based functionality (Admin, Receptionist, Practitioner, Patient)
  • Telemedicine
  • Treatment notes

Demo

emr.beda.software

UI Questionnaire Builder

The app uses SDC

For medical practitioners and organizations

For collaborators

License

Installation

Setup env variables

cp .env.tpl .env
# Get aidbox license at https://aidbox.app/ and place licence JWT to .env

Local setup

Video calls local setup

Before you start you need to setup your own Jitsi Meet video instance. See this guide from Jitsi

Also you need to configure JWT authentication on the video server side. See this guide

Important note: We use react component to represent video call frame from jitsi-meet-react-sdk. This component requires HTTPS schema for Jitsi server, so you need to publish your server with this requirement

In the EMR folder add these variables to .env file with values you generated on the video server side:

# Application identifier
JWT_APP_ID=
JWT_APP_SECRET=
JWT_ACCEPTED_ISSUERS=
JWT_ACCEPTED_AUDIENCES=

To run EMR with our Jitsi authentication backend service run: make up-video

Prepare frontend configuration

cp shared/src/config.local.ts shared/src/config.ts

This file (shared/src/config.ts) is ignored by git. So, feel free to change it.

yarn
yarn compile

Docker

You need to setup docker to run FHIR server, SDC and other microservices. https://docker.com/
Once you get docker installed in you local machine, you can run Aidbox and other dependencies

make build-seeds
make up

The first start may take a few minutes since it synchronizes the terminology.

Start

yarn start           # start watch all workspaces

Test

yarn test            # launch tests for all workspaces

Update seeds

To see the changes that were added to resources/seeds follow next steps

make seeds

Project History

Project for https://github.com/HealthSamurai/xmas-hackathon-2021