Giter Site home page Giter Site logo

hospitalrun / hospitalrun Goto Github PK

View Code? Open in Web Editor NEW
893.0 50.0 323.0 1.69 MB

Monorepo that holds all of HospitalRun's v2 projects.

Home Page: https://hospitalrun.io

License: MIT License

JavaScript 100.00%
monorepo hospitalrun ehr medical global-health medical-informatics-platform medical-informatics offline-first

hospitalrun's Introduction

HospitalRun logo

Last commit GitHub CI Documentation Status Commitizen friendly License Slack License OpenUK


All HospitalRun code lives in a single repository, an architecture generally called a monorepo. This repository holds all of HospitalRun's open source projects that lived in their own separate Github repos: frontend, server and components. Built with React, Node, PouchDB/CouchDB and using offline first design, we're working to deliver an HIS system that makes usability the #1 requirement, is built specifically for developing world requirements, and seeks to give back time to patient care.

‼️ Version 1.0.0-beta is no longer supported. Version 2 is currently under development ‼️

FAQs

Question Answer
"I want to help" Find out how
"I have a question" Join our Slack Workspace
"I found a bug" Open an issue
"How can I deploy 1.0.0-beta?" Follow this guide

Table of Contents

Staging Area

You can follow developments by visiting the dedicated staging environment. Use username / password as credentials to access.

Contributing

Interested in contributing to HospitalRun? There are many ways that you can get involved:

Community

Join HospitalRun's community for discussion and ask questions: HospitalRun's Slack Workspace

Channels :

  • #general - For general purpose
  • #contributors - For people who contribute to HospitalRun by developing features
  • #troubleshooting - For software related issues

Project Structure

Submodules Version Progress status Build status Coverage status Code quality
Frontend GitHub tag (latest SemVer pre-release) Status GitHub CI Coverage Status Language grade: JavaScript
Server GitHub tag (latest SemVer pre-release) Status GitHub CI Coverage Status Language grade: JavaScript
Components GitHub tag (latest SemVer pre-release) Status GitHub CI Coverage Status Language grade: JavaScript
Core GitHub tag (latest SemVer pre-release) Status GitHub CI Language grade: JavaScript
CLI GitHub tag (latest SemVer pre-release) Status GitHub CI Coverage Status Language grade: JavaScript

Last Update: 2 July 2020

Application Infrastructure

A visual representation of the functionality of all HospitalRun modules and their interactions.

miro

Behind HospitalRun

Hosted by

Sponsors

Sponsors

Backers

Backers

Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs

Lead Maintainer


Maksim Sinik


Jack Meyer

Matteo Vivona

Stefano Casasola

Kumiko Kashii

Grace Lau

Stefano Miceli

Blessed Tabvirwa

Dr. MaryEtta Morris

Medical Supervisor


M.D. Daniele Piccolo

Past Contributors


Michael Daly

Contributors

Contributors

Founders


John Kleinschmidtr

Joel Worrall

Joel Glovier

License

Released under the MIT license.

hospitalrun's People

Contributors

blestab avatar dependabot-preview[bot] avatar fox1t avatar jackcmeyer avatar matteovivona avatar phearzero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hospitalrun's Issues

Patient Management

🚀 Feature Proposal

  • Need a way to be able to check a patient in for their appointment,
  • Then be able to facilitate the appointment,
  • Then mark the appointment complete,
  • Then be able to view information about the appointment at a later date.

We would develop some sort of "patient/appointment workflow" that allows these actions to facilitated.

Currently, HospitalRun v1 has a similar feature and it is executed through the Patient's module. There is the ability to checkin, checkout, discharge

Inconsistent API for input elements

🐛 Bug Report

There are some form input components that have inconsistent props or missing capabilities. For instance, Checkbox has no way to set the initial value. I tried looking at the react-bootstrap docs and actually didn't see a way to set it there either, but there must be one. Because of this, Edit Patient doesn't populate the checkbox in GeneralInformation with its correct initial value. Checkbox also uses disabled instead of isEditable which is inconsistent with the other components.

Also, Typeahead doesn't have a way to disable the input. This caused the need to conditionally render either Typeahead or TextInputWithLabelFormGroup in the AppointmentDetailsForm component, which should be able to be done with a single component.

Neither Typeahead nor Checkbox currently use wrapper components in the frontend in the way TextInputWithLabelFormGroup and others do, though I'm not sure if they are needed.

Expected behavior

The various input elements should have a consistent API, at least to disable the input and populate the initial value.

OpenAPI/Swagger

🚀 Feature Proposal

Introduce a Single Source of Truth between all modules via Swagger/OpenAPI and JSON Schema specification

Motivation

Open Closed and Substitution Principles. All packages must share common interfaces in order to ensure API compatibility for internal/external projects. We can EYODF by providing a shared interface #12 that is generated via a standard specification. This way each module can extend | override from the base model | service in order to preform module requirements.

Possible Generators:

OpenAPI Isomorphic Models

Generated to ./packages/core/model

// In Component
import {User} from '@hospitalrun-org/core'
export default class MyComponent<User> {}

OpenAPI Isomorphic Services

Generated to ./packages/core/services

// Consume Service
import {UserService} from '@hospitalrun-org/core'
let user = UserService.operationId({...})

Fastify Decorators and Routes

Generated to ./packages/server/(plugins & services)

// Generates Decorators that look similar to:
import {UserService} from '@hospitalrun-org/core'
fastify.decorate(operationId, UserService.operationId)

// All route based services look similar to:
import {User} from '@hospitalrun-org/core'
fastify.post('/users', (request,reply)=> {reply.send( fastify.operationId(instanceof User))} )

React Router with Store integration

Generated to ./packages/frontend/(tabs || pages)

// Example component
import {UserService, User} from '@hospitalrun-org/core'
import * as React from 'react'
export default class UserPage extends React.Component {
  render(){
        <HighLevelPage service={UserService} model={User}/>
  }
}

// Example Router
import UserPage from './pages/UserPage'

const routes =  [
  {
    path: '/user',
    exact: true,
    component: UserPage,
  }
]
export default routes

Blocking Issues:

Dependabot couldn't authenticate with registry.npmjs.org

Dependabot couldn't authenticate with registry.npmjs.org.

Dependabot tried to authenticate with the details you previously provided, but authentication failed. If they are no longer valid you will need to provide Dependabot with new credentials.

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

RFC From Maintainers

Greetings,

I am coming from an OSS community "Raid Group" that started in www.kentcdodds.com/discord we essentially look for OSS repositories that we can make a big to a huge impact in a short amount of time with us all working on a task together.

What was noticed with yours is the started conversion to Testing Library, this happens to by a specialty of ours.

Please let me know if your interested in this overhaul of your testing ecosystem from our group.

Regards.

Shared Interfaces

🚀 Feature Proposal

Shared Interfaces between all modules using the open closed principle.

Motivation

All core features should be contained into one central repository to be consumed in each individual project. There are two key features inside of the shared interfaces

Shared Configurations/ Interfaces

We should inject service and model interfaces in each project as needed. This could be things like Redux State Reducers and PouchDB plugins that more than one module requires. We would isomorphicly configure/export a PouchDB instance and service interfaces to the models. We could use the exported services to bind our fastify-server and react-frontend. See example below

OpenAPI/Spec Model and Service CodeGen

The core models/services code should be generated from a specification such as OpenAPI, Swagger, or JSON Schema and extended from in each module or at the export level of the shared interfaces repo.

Example

Code generation:

# Given a swagger.yml in build folder and templates in ./templates
npx snc ./build/swagger.yml -t ./templates/core
# would result in
# ./packages/core/model/$modelName
# ./packages/core/service/$modelName

Consuming Shared service

This could be code generated as well but for now it's just an example

import {UserService} from '@hospitalrun-org/core'
fastify.decorate('users', UserService)

Blocking Issues

  • Create Shared Repository in Github #16
  • OpenAPI #15

Integration/E2E Acceptance

🚀 Feature Proposal

Introduce End To End and Integration testing to the Mono-Repo

Motivation

Separation of concern from the Frontend and Backend developers. Core developers can create test specifications which will act as release acceptance criteria during build time. This is done via CI triggers.

Details

./test/ folder should contain compliance for HospitalRun CLI, HospitalRun Server and HospitalRun FrontEnd integrations. If Feature X is implemented in more than one module then we should have a ./test/feature_x.spec.ts or ./test/feature_x/index.spec.ts that ensures modules are working in a real world environment. All modules must pass a basic smoke test prior to E2E testing via cross-env CI=true pnpm test -r. (jsdom, cypress, unit tests, etc)

Example CI

merge feature branch into next branch === trigger monorepo build with e2e/integration tests
a. Pass === release all packages (merge next into master in each changed module)
b. Fail === Notify linked issues/pull requests

Example Spec:

import {frontend, server} from 'hospitalrun'
server.start({frontend}) // start backend with server side render
// Example SSR Feature
it('should server side render the frontend', () => {
	browser.url(server.uri)
	const title = browser.getTitle()
	assert.equal(title, 'Some Assertion')
})
// Example Offline Feature
it('should work offline', () => {
	browser.url(server.uri)
	// We could simulate bad connections or limited throughput scenerios
	browser.setNetworkConditions({ latency: 0, throughput: 0, offline: true })
	const title = browser.getTitle()
	assert.equal(title, 'Some Offline Assertion')
})

// Test all core service states e2e
it('should have X feature', () => {
	browser.url(server.uri)
	// Do some action that would create data in the database
	// $('#button').click()
	const data = server.db.get('someId')
	assert.equal(data._id, 'someId)
})

Backlog

Export Report Formats

Before you submit an issue we recommend you drop into our Slack workspace and ask any questions you have or mention any problems you've had getting started with HospitalRun.

Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the missing discussion label.

🚀 Feature Proposal

I would like to recommend that the options to export reports should have additional formats like portable document format and spreadsheet.

Motivation

This will allow for flexibility on how to work with the generated reports better.

Example

Currently, reports are generated in comma separated values format.

Command Line Interface

🚀 Feature Proposal

Add a Command Line Interface to Hospital Run

Motivation

We should have a standard interface between the Core, Frontend and Backend developers. Any module that exports a bin: {} configuration will be lazy loaded into the main cli if it has been installed.

Example

#Install cli
npm install @hospitalrun-org/cli @hospitalrun-org/frontend --save-dev
# Start the frontend
npx hospitalrun start  # Should fail if frontend is not installed

npm install @hospitalrun-org/server --save-dev
# Start the backend 
npx hospitalrun server start # Should fail if server is not installed

Issues

  • CLI repository #16
  • Setup CI HospitalRun/hospitalrun-cli#1

how to install my project and how to build , which package to choose?

💬 Questions and Help

Hello
i want to install a version of hospitalrun to start develop my own app, but i don`t know what a repo should i use to install on windows ,
and want to know how to develop then build my own app with electron container ?
can you help ?

Please note that this issue tracker is not a help forum and this issue may be closed.

Before you submit an issue we recommend you drop into our Spectrum channel and ask any questions you have or mention any problems you've had getting started with HospitalRun.

Husky pre-commit hook stopped working on all packages

💥 Regression Report

When commiting husky isn't properly called anymore.
The error is:

Can't find Husky, skipping pre-commit hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook

To Reproduce

Steps to reproduce the behavior: use any yarn commit- script from monorepo or just commit from inside the specific package using cd packages/server && yarn commit

Expected behavior

pre-commit hook working and checking build and tests

Your Environment

  • os: MacOS
  • Node.js: v12.14.0
  • yarn: v1.19.1

"Try on function"

💬

Hi everyone! When you want to try the Hospital Run demo version it's a bit confusing and inconvenient how to sign in. It would be way better if we could come up with a different approach and/or at least make sure that text explaining what we need to do (copy and paste process) is bold and big, clear enough so there is no confusion along the way. Because most of the users are not coming from professional in tech background and they need a simple and convenient way to figure out stuff. Also, that would be fantastic if we get a chance to come up with a solution to eliminate "copy-paste" and make it easier for people. Thank You!
Screen Shot 2021-03-25 at 3 19 13 PM

Project documentation

Create end-users and developers documentation. The end-user documentation must also be navigable in offline mode.

The documentation will be hosted on:

  • docs.hospitalrun.io for final users
  • developers.hospitalrun.io for developers

Current strategy

@hosptialrun-org/docs

Typescript Create React App that hosts docs.hospitalrun.io for general use and for sharing templates to other modules. Also a standard interface for collecting metadata about the current project via hospitalrun docs command. Includes Shared StoryBook Components like ReadmePage.tsx which uses the same templates as the cli readme generator.

@hospitalrun-org/hospitalrun

Will host developers.hospitalrun.io for contribution guides and route to component storyboard/generic documentation. We can use the mono repo to generate it's documentation by using a standard ./docs folder for each project. This would mean that @hospitalrun/frontend's developer documentation would be hosted in it's local ./docs folder with meta.json data about it's routes\components. The metadata would be loaded into the mono-repo documentation generator. See component documentation generation for an example of getting metadata from react documentation.

Example Future Use

# Inside of package
hospitalrun docs
# outputs ./docs/meta.json and documentation for developers.hospitalrun.io/package-name

# inside of mono-repo
hospitalrun docs
# looks for all package metadata to build a "Shell" that links to each project page.

Backlog:

  • create hospitalrun-docs repository
  • create hospitalrun-docs application
  • move components docgen command to hospitalrun docs
  • create mono-repo developer documentation generator using package metadata and StoryBooks
  • point docs.hospitalrun.io to hospitalrun-docs github page
  • Point package pages to developers.hospitalrun.io/package-name

[dep regression] Yarn > 1.19.1 regression bug

💥 Regression Report

We are affected by this yarn issue yarnpkg/yarn#7734 since we are a monorepo and we use no-hoist on many build/dev packages. We will use this issue to track progresses on this yarn's regression. This bug is still present in the 1.21.x releases.

Last working version

Worked up to version: yarn 1.19.1

Stopped working in version: 1.19.2

To Reproduce

Steps to reproduce the behavior: just use yarn 1.19.2 or newer

  • os: MacOS
  • Node.js: v12.x.x

Create React App

🚀 Feature Proposal

Create React App(CRA) Frontend

Motivation

Use react-scripts interface to manage the Hospital Run Frontend. This should include service/state/interface injections from #12

Codegen

Route based generation. Use schema extensions to map routes to components

Example

Getting started With CRA:

git clone --branch next https://github.com/HospitalRun/hospitalrun-frontend.git
npx create-react-app hospitalrun-frontend
cd hospitalrun-frontend
npm start

Codegen:

# mono repo runs codegen then creates
# ./packages/hospitalrun-frontend/src/routes/index.tsx
#  In the Frontend
import {Router} from './routes' // Fully loaded router from spec

Blocking Issues:

Organization Repository Acceptance

🚀 Feature Proposal

Lifecycle Management of the HospitalRun Mono Repo

Motivation

A way to communicate between developers for things they need such as repositories created, contributors added, new services or anything else that involves the lifecycle of any of the ecosystem. We can leverage Terraform's github provider eventually but for now it's going to be checklist based.

This can also include any changes to our lifecycle such as commit lint or package releases

In the future this will include E2E testing between the different modules

Requirements

Standardize Linting/Formatting Tools Across all Projects

🚀 Feature Proposal

Standardize Formatting/Linting tools across code repositories:

  • Choose a Linting Style Guide from ESLint
  • Configure Prettier to work with Linting Style Guide
  • Ensure Linter works with VSCode Autoformatting Tools
  • Implement Linter/Prettier to work in frontend, backend, components.

Make Patient relationships mutual / bidirectional

🚀 Make Patient relationships mutual / bidirectional

Adding Patient B as a Related Person of Patient A should also add Patient A as a Related person to Patient B, with the appropriate Relationship Type also recorded.

Motivation

Having to record the same relationship twice on two separate records creates extra work for the user.

Example

Currently, if John Doe is added as a related person on Jane Doe's record, this relationship will not be recorded on John's record.

When a relationship is defined in a Patient record, that relationship should be mirrored on the record of the related person.

Further Considerations:

Not all relationships are 'symmetrical', so reference tables will need to be defined to determine the proper labelling, such as:
Partner : Partner
Spouse : Spouse
Sibling : Sibling
Parent : Child
Grandparent : Grandchild
Cousin : Cousin

Things get a little more complicated if gendered versions of the words are needed, especially for Uncle/Aunt/Niece/Nephew, which don't have commonly known gender-neutral equivalents (at least in English), but presumably we'd need a customisable "Other" option to cover all possibilities, anyway.

Further discussion and user stories are required to determine the most appropriate approach to the relationship system.

May affect or be affected by HospitalRun/hospitalrun-frontend#2106

Error while building the project

✓ Creating entry file 8.6 secs
(typescript) Error: D:/anaym/projects/node/f/hospitalrun/packages/components/src/components/Layout/Container.tsx(33,25): semantic error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: Readonly<ReplaceProps<"symbol", BsPrefixProps<"symbol"> & ContainerProps>>): Container<"symbol">', gave the following error.
    Type '"symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 158 more ... | undefined' is not assignable to type '"symbol" | undefined'.
      Type '"object"' is not assignable to type '"symbol" | undefined'.
  Overload 2 of 2, '(props: ReplaceProps<"symbol", BsPrefixProps<"symbol"> & ContainerProps>, context?: any): Container<"symbol">', gave the following error.
    Type '"symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 158 more ... | undefined' is not assignable to type '"symbol" | undefined'.
      Type '"object"' is not assignable to type '"symbol" | undefined'.
Error: D:/anaym/projects/node/f/hospitalrun/packages/components/src/components/Layout/Container.tsx(33,25): semantic error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: Readonly<ReplaceProps<"symbol", BsPrefixProps<"symbol"> & ContainerProps>>): Container<"symbol">', gave the following error.
    Type '"symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 158 more ... | undefined' is not assignable to type '"symbol" | undefined'.
      Type '"object"' is not assignable to type '"symbol" | undefined'.
  Overload 2 of 2, '(props: ReplaceProps<"symbol", BsPrefixProps<"symbol"> & ContainerProps>, context?: any): Container<"symbol">', gave the following error.
    Type '"symbol" | "object" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | ... 158 more ... | undefined' is not assignable to type '"symbol" | undefined'.
      Type '"object"' is not assignable to type '"symbol" | undefined'.
    at error (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\rollup\dist\shared\node-entry.js:5400:30)
    at throwPluginError (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\rollup\dist\shared\node-entry.js:11878:12)
    at Object.error (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\rollup\dist\shared\node-entry.js:12912:24)
    at Object.error (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\rollup\dist\shared\node-entry.js:12081:38)
    at RollupContext.error (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:17194:30)
    at D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:24994:23
    at arrayEach (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:534:11)
    at forEach (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:9360:14)
    at printDiagnostics (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:24967:5)
    at Object.transform (D:\anaym\projects\node\f\hospitalrun\packages\components\node_modules\tsdx\node_modules\rollup-plugin-typescript2\dist\rollup-plugin-typescript2.cjs.js:29049:17)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @hospitalrun/[email protected] build: `tsdx build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @hospitalrun/[email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\anaym\AppData\Roaming\npm-cache\_logs\2020-05-30T16_06_01_227Z-debug.log

Your Environment

  • node version: 12
  • os: Windows

Selecting DOB

Before you submit an issue we recommend you drop into our Slack workspace and ask any questions you have or mention any problems you've had getting started with HospitalRun.

Please read this entire template before posting any issue. If you ignore these instructions
and post an issue here that does not follow the instructions, your issue might be closed,
locked, and assigned the missing discussion label.

🚀 Feature Proposal

While selecting the DOB there is no arrow for Year change. We have to go back month by month which is very tiring.

Example

It will ease the users to select a date.

Labs

🚀 Feature Proposal

As a user of HopspitalRun, I would like the ability to manage Labs in my clinic/hospital.

I should have the ability to do the following:

  • Create a new lab request
  • Complete or cancel the lab request
  • See open lab requests
  • See completed lab requests
  • Run reports on the labs.

Dependabot couldn't authenticate with registry.npmjs.org

Dependabot couldn't authenticate with registry.npmjs.org.

Dependabot tried to authenticate with the details you previously provided, but authentication failed. If they are no longer valid you will need to provide Dependabot with new credentials.

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

Quick create a new Patient inside Scheduling, Medications, etc

🚀 Feature Proposal

Create a button inside every form that has a patient field in it (Scheduling, Medications, etc). The button opens a modal with a simplified version of the New Patient form with only the basic informations. After the creation, the new patient is automatically selected as a option in the patient field.

Motivation

It is a very common feature that I have already seen in others HIS. It improves UI/UX by letting the user dynamically creates a new patient without leaving the current form, making it a little less frustrating.

Example

While inside the Scheduling form, if the user needs to create a new appointment to a patient that has not already been registered, he can dynamically creates it with the Quick Create Patient modal form and promptly continue with the appointment register.

Database/Records

💬 Questions and Help

Hello everyone, I am currently using the hospital run for my class to show the features to my students, how can I see the database or where are the data being stored. Thanks for the help. P

Pathological test and automation

Hi,

I would like to know if anything related to Pathological lab that you would be added in near future which has automation so human error would be less in both the case in hospital and Pathological lab.
For eg: OCR used for adding right name and data of the patient etc.

  1. In near future will you be adding on BSD system for server hosting or anyone tried on it ?

add login message to Login page

🚀 Add feedback in Login page

Add a message in Login page that shows an error message when the user enter

  • wrong login credentials
  • the server is down, or the client app is unable to connect to the server

Motivation

if the server is down and the user credentials are correct, how will the user know what the problem is?

Example

  • if the username or password is incorrect, a message should appear/popup with "incorrect username or password"
  • if the there's no connection to the server, a message with "error: cannot connect to the server" should be show.

Medication tracking, Related Person usability improvement

First, the rate at which HospitalRun 2.0 is coming together is very impressive ... so sincere thanks to all developers contributing their time to work on this!

However, it is missing a vital feature from 1.0-beta. As of today, the staging version at https://staging.hospitalrun.io still lacks a very important feature of an EHR system: medication tracking.

Also, it would be great to make Related Persons more intuitive by adding the option to create a "related person" 's file at time of entry of the new patient's information (as opposed to having to save the entry, then adding another entry for the related person, then linking up the two persons via Related Persons in the first patient's record.)

Thanks a lot, and I hope this is taken into consideration!

OAuth2 support

🚀 Feature Proposal

Login using OAuth2 authentication

Motivation

A lot of organizations are using OAuth2 authentication, which provides SSO (single sign-on) feature while switching to and from different applications. Having this feature in hospitalrun will provide an opportunity for hospitals to access hospitalrun application without sign-in multiple times.

Example

https://www.npmjs.com/package/simple-oauth2

Add "Request Medication" to quick create button in navbar

🚀 Feature Proposal

Add "Request Medication" to quick create button in navbar requirement was missed when the basic medication module feature was implemented.

Motivation

Add "Request Medication" to quick create button in navbar is required to keep the medication module in sync with other modules by having a quick add link for it in the navbar.

Example

image

Bug while running yarn command

Yarn version:
1.19.1

Node version:
10.15.3

Platform:
win32 x64

Trace:
Error: EPERM: operation not permitted, open 'I:\hospitalrun\packages\cli\node_modules@typescript-eslint\experimental-utils\node_modules.bin\eslint.cmd'

Request for making some Add-ons like Patient Profile picture

🚀 Feature Proposal

As In India there are some hospitals that ask for a profile picture of the patient while registration just for security issues.

While adding a new patient in the database
with there details there should be an option of clicking a live picture of the patient or selection a picture form system storage.

It would make decrease the duplication of the patient registration by different name and id.

Motivation

Decreases the duplication of patient and storage capability increase

Example

When Students Register for Common Entrance Exam for any University https://testservices.nic.in/ExamSys/root/applyfor.aspx

Adding users with different designations

💬 Questions and Help

Was playing around with the demo and noticed that the hr admin ([email protected]) is unable to add new users with certain designations. Is that by design or is that only for the demo? Otherwise, would be worth adding it as an issue for version 2.0

Outbreak Management

🚀 Feature Proposal

This a new app section that allows to:

  1. create new outbreak with some basic data, as startDate and ICD-10 code
  2. Adds new field on patients that allow to flag a patient as infected by a specific outbreak
  3. if the flag is checked and a patient is infected we add new form that helps track its status: incubation, sick, recovered, dead and others
  4. from outbreak detail, we show all of the statistcs about how is going, including plot/graph and others. We allow also to add a curve describing the outbreak, for better plotting
  5. we allow to export data invovled in the outbreak in json/csv format

Motivation

Offer an integrated tool for outbreak management

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.