• Stars
    star
    135
  • Rank 269,297 (Top 6 %)
  • Language
    JavaScript
  • License
    GNU Affero Genera...
  • Created over 11 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bahmni EMR Frontend code for Clinicians and staff members, written in Angular.JS and React

Bahmni Apps

Build Status

Build and Publish

  1. This repository contains most of the frontend code for the Bahmni EMR. It is written in AngularJS with only the Form viewer part utilising React.
  2. See the sub-folder: ui/app/ to understand which all modules of the EMR UI are contained in this codebase.
  3. Regarding the decision of migrating away from AngularJS and instead use React, please read this blog writeup: Bahmni EMR - 1 M lines of code
  4. This code needs help in migrating to React. If you are interested in helping, please ping the Bahmni team on Slack (#community channel).
  5. All Epics, Stories, Bugs, etc are tracked in JIRA.
  6. To Run Bahmni locally you will need a Vagrant setup. See this documentation.

Build

  1. This build requires Node, npm, yarn, grunt and compass.
  2. You can see the travis-ci build to understand the build commands that get executed.
  3. You can also see the go-cd build Bahmni_MRS_v0_93 pipeline to see in-depth build steps.

One time installation:

These steps need to performed ONLY the FIRST TIME you set up this code.

  1. Install node/npm (node version: 10.11.0). Preferably use nvm, so that you have control over which project uses which version of node. See:
  2. Install Yarn: npm install -g yarn
  3. Install Grunt: npm install -g grunt-cli
  4. Install Compass:
    • Compass compiles SASS/SCSS into CSS.
    • Requires ruby (It's recommended to install ruby also using rvm. See install rvm with ruby).
    • Ruby version: 2.6.6
    • Once ruby is installed, you can install compass using: gem install compass

Build commands

Run these commands from within the ui sub-folder.

  1. yarn install
  2. yarn ci (will internally trigger grunt)
  3. If build is successful, the dist folder has the set of files to be deployed in Apache (or in Vagrant).

Vagrant (Hot Deploy)

  1. You can also sym-link the /var/www/bahmniapps folder in Vagrant to {CODE_DIR}/ui/app/ folder so that JS changes are reflected immediately.

Debugging AngularJS App

  1. To be able to debug Bahmni frontend please read this post: Debugging AngularJS
  2. If you are brand new to AngularJS, this is a good intro video: Youtube: 60 min overview of AngularJS Fundamentals

Bahmniapps (bahmni-web) docker image

Docker images for Bahmniapps is built using Github Actions.

Resources to build the following docker images can be found in the package directory.

Prevent Search Engines from Indexing the homepage

⚠️ : Search Engines are able to index the Bahmni installation homepage.

This behaviour can be prevented by:

  1. Adding a β€œnoindex” metatag:

    The following tag should be inserted in the <head> section of the homepage's HTML markup:

    <meta name=”robots” content=”noindex”>
    

    Additionally, in order to both de-index the homepage and not follow the links, use the noindex with the nofollow metatag:

    <meta name=”robots” content=”noindex,nofollow”>
    

    The same is already done here

  2. Using an X-ROBOTS-TAG HTTP HEADER:

    An X-Robots-Tag can be added to the HTTP response header. It has basically the same effect as a noindex tag, but with the additional options to specify conditions for different search engines. For more information, please see Google’s guide here. Here are examples of X-Robots-Tag for specific functions:

    • To de-index a web page:
    Header set X-Robots-Tag "noindex, nofollow"
    

    The same is already done here

More Repositories

1

OpenElis

Fork of OpenELIS for managing Lab workflows (Tests, Results, Samples, etc).
Java
27
star
2

openerp-modules

Custom OpenERP modules (extensions) for Bahmni
Python
21
star
3

bahmni-docker

Bahmni docker compose setup to run LITE and STANDARD images
Shell
21
star
4

openmrs-module-appointments-frontend

UI for Bahmni Appointment Scheduling written in both React and Angular
JavaScript
16
star
5

bahmni-playbooks

Ansible playbooks for Bahmni (used for Bahmni deployments and Installer)
Perl
12
star
6

bahmni-package

Repository of bahmni deployment and RPMs
Shell
11
star
7

default-config

Default configuration setup for bahmni.
Groovy
9
star
8

bahmni-vagrant

Management of Vagrant box using Packer. Out-Of-The-Box bahmni on CentOS 6.7
Shell
9
star
9

bahmni-offline

Repo to hold bahmni offline code. This will support Chromium app and Android app as of now.
JavaScript
7
star
10

implementer-interface

A repository for implementer interfaces like form builder, reporting, dashboard config etc.
JavaScript
6
star
11

connect2Bahmni

Flutter app for Clinicians/Doctors to access Bahmni (prototype app).
Dart
6
star
12

pacs-integration

Java
5
star
13

openmrs-module-appointments

Bahmni appointment scheduling module (backend).
Java
5
star
14

utilities

FreeMarker
4
star
15

bahmni-appointments-functional-tests

functional test suite for bahmni Appointments Scheduling App
JavaScript
4
star
16

bahmni-lite-e2e-tests

Gauge tests for Bahmni E2E tests for Standard & Lite
JavaScript
3
star
17

odoo-modules

Custom Odoo modules (extensions) for Bahmni. WARNING! These are old Odoo v10 ones.
Python
3
star
18

bahmni_insurance_odoo

A Insurance Module for Odoo
Python
3
star
19

clinic-config

Bahmni configuration for Clinics and Small Hospitals (packaged with Bahmni LITE)
HTML
3
star
20

bahmni-java-utils

This repository has various functional utilities needed by bahmni.
Java
3
star
21

endtb-config

configurations for endTB project
Groovy
3
star
22

emr-functional-tests

emr functional tests
Ruby
3
star
23

form-controls

Repository for form controls
JavaScript
2
star
24

bahmni-reports

Reports web application for the Bahmni project
Java
2
star
25

openmrs-data

Demo OpenMRS data for Bahmni.
Ruby
2
star
26

person-management-app

JavaScript
2
star
27

bahmni-infra

HCL
2
star
28

bahmni-connect

Front end for the Bahmni Connect Offline App, written in AngularJS. This is now DEPRECATED. Instead see Bahmni Outreach App for Community Worker.
JavaScript
2
star
29

bahmni-offline-sync

Java
2
star
30

docker-bahmni

Dockerfile
2
star
31

bahmni-tw-playbooks

Contains the files related to local environments
Shell
2
star
32

bahmni-docker-old

DEPRECATED - This repository contains the relevant docker configuration for setting up Bahmni
Shell
2
star
33

bahmni-odoo-modules

New Odoo v16 Modules for Bahmni
Python
2
star
34

jss-config

[DEPRECATED - Moved to JSS GitHub organization (https://github.com/JanSwasthyaSahyog/jss-config) JSS Hospital specific configuration, scripts and data.
1
star
35

openerp-atomfeed-service

Independent Atom feed client and server interface for OpenERP/Odoo. Available as odoo-connect service in docker.
Java
1
star
36

bahmni-mart

Java
1
star
37

banyan-config

Configuration for The Banyan
Groovy
1
star
38

clojure_test_datasetup

Setup and Tear Down test data sets for integration tests in clojure
Clojure
1
star
39

openmrs-module-idgen-webservices

Rest services for openmrs idgen api
Java
1
star
40

bahmni-tw-aws

Python
1
star
41

openmrs-distro-bahmni

Generates distro for bahmni
Dockerfile
1
star
42

bahmni-scripts

Utility Scripts used by Bahmni
Shell
1
star
43

bahmni-frontend

The bahmni@next frontend project which will build on OpenMRS 3.0 microfrontend stack. This is currently in very initial stages.
TypeScript
1
star
44

openmrs-module-ipd-frontend

A react micro-frontend to be loaded by Bahmni-frontend for In-Patient Department modules
JavaScript
1
star
45

bahmni-observability

1
star
46

openmrs-module-flowsheet

Java
1
star
47

crater-atomfeed

Crater atomfeed client
Java
1
star
48

pacsquery

Java
1
star
49

openmrs-module-communication

OpenMRS Module for Sending Mails
Java
1
star