Skip to main content

Getting started with Beda EMR

beda-emr-logo

Design

EMR design is open source and publicly available -> Figma

Demo

The easiest way to check the system is our publicly availabe demo imstalation: emr.beda.software This YouTube playlist contains all basic scenarios, you can try all of them in the demo environment.

License

The EMR source code is licensed by MIT License.

FHIR Backend

Beda EMR is a frontend. It is a user interface that requires a FHIR server to store medical data.
For both development and production environments, we recommend using Aidbox FHIR Server.
It is a primary backend platform for Beda EMR. You can get a free Aidbox trial license to run the application locally.
You need to purchase Aidbox license for any production installation or installation that manages PHI data.
Here you can find more information about Aidbox licensing.
Obviously, you can try any other FHIR server. All core features just need FHIR API.
However, you have to adjust some parts of the application that are not covered in the FHIR specification and where we use Aidbox API.

Installation

Setup env variables

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

Local setup

Video calls local setup

Before you start you need to set up 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 the video call frame from jitsi-meet-react-sdk. This component requires HTTPS schema for the 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 set up docker to run Aidbox, SDC, and other microservices. https://docker.com/
Once you get docker installed in your local machine, you can run all project 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 the next steps

make seeds

Project History

Started as part of https://github.com/HealthSamurai/xmas-hackathon-2021 FHIR EMR evolved into something bigger.