GithubHelp home page GithubHelp logo

hospitalrun / hospitalrun-frontend Goto Github PK

View Code? Open in Web Editor NEW
6.8K 6.8K 2.2K 110.2 MB

Frontend for HospitalRun

Home Page: https://staging.hospitalrun.io

License: MIT License

JavaScript 0.41% HTML 0.16% CSS 0.19% Dockerfile 0.01% TypeScript 99.22% Batchfile 0.01% Shell 0.01%
couchdb emr frontend hacktoberfest hospitalrun hospitalrun-frontend javascript open-healthcare pouchdb react redux

hospitalrun-frontend's Introduction

HospitalRun Frontend

Status Release Version GitHub CI Coverage Status Language grade: JavaScript Code scanning Documentation Status FOSSA Status Commitizen friendly dependabot Slack

React frontend for HospitalRun: free software for developing world hospitals.


Are you a user? If yes...

Visit this page for general information on the HospitalRun application including:

  • How can I deploy 1.0.0-beta?
  • Where do I report a bug or request a feature?
  • How can I contribute? (There are several other ways besides coding)
  • What is the project structure?
  • What is the application infrastructure?
  • Who is behind HospitalRun? etc.

Would you like to contribute? If yes...

Get started by checking out the Frontend Contributing Guide for:

  • What's the tech stack?
  • Where can I become familiar with the technologies?
  • Where do I browse issues?
  • How do I set up my local environment?
  • How do I run tests locally?
  • How do I submit my changes?
  • etc.

License

Released under the MIT license.

hospitalrun-frontend's People

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  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-frontend's Issues

Sample data for development

As we are building out and designing for new components, having a data migration/sync solution in place would add a lot of efficiency to our development process.

@jkleinsc can you get something like this setup? It would be especially useful for me as I'm doing style work on the patient details section, etc.

Add the list of diagnosis and procedures to the patient edit screen

I know that the diagnosis and procedures are attached to the visit, but on that initial screen, it makes sense for a user to be able to see the list as a way of quickly understanding patient history. Therefore, I'm requesting that we add both of those lists (the names and ICD-10 codes) to the screen.

jglovier ship list [8/15]

Stuff I'm currently working on:

  • basic UI cleanup
    • broken button styles
    • search field (addressed in a9e6e6f)
    • etc
  • nav paradigm/welcome screen
  • styling the patient details screen, and working through how to accomodate the critical info

Patient candidate report

Using the new patient status field (#42), we need a new report that at the very least will show patients grouped by diagnosis who haven’t had surgery.

We need to report appointment delinquency

At the top of the missed appointment screen (app/appointments/missed), we need to add the following items:

[ ] a date range search filter, defaulting to 1 month in the past
[ ] Over a given period, how many appointments were made, kept, or missed?
[ ] What's the % of appointment delinquency?

Unable to start ember

I'm looking into it now, but noting here... couldn't start my server.

/usr/local/lib/node_modules/ember-cli/lib/cli.js:13
throw error;
^
Error: ENOENT, no such file or directory 'bower_components'
at Object.fs.readdirSync (fs.js:654:18)
at Object.bowerTrees (/usr/local/lib/node_modules/ember-cli/node_modules/broccoli/lib/tree.js:106:20)
at module.exports (/Users/tango/workspace/hospitalrun/frontend/Brocfile.js:51:45)
at Object.loadBrocfile (/usr/local/lib/node_modules/ember-cli/node_modules/broccoli/lib/builder.js:96:31)
at getBuilder (/usr/local/lib/node_modules/ember-cli/lib/adapters/broccoli/server.js:9:23)
at Object.server (/usr/local/lib/node_modules/ember-cli/lib/adapters/broccoli/server.js:14:29)
at Object.run (/usr/local/lib/node_modules/ember-cli/lib/commands/server.js:36:18)
at Cli.runCurrentCommand (/usr/local/lib/node_modules/ember-cli/lib/cli.js:110:17)
at Cli.run (/usr/local/lib/node_modules/ember-cli/lib/cli.js:128:15)
at /usr/local/lib/node_modules/ember-cli/lib/cli.js:66:16

Beta site crapped the bed on authentication

This was the callback URL:

https://beta.hospitalrun.io/auth/google/callback?code=4/FvcqO0opSglLB5TR-WZ-aii6Q_pl.crfgi9WPfBMQJvIeHux6iLZLSPdkkQI

And this was the page contents:

Error: missing at Request._callback (/var/app/server/node_modules/nano/nano.js:319:39) at Request.self.callback (/var/app/server/node_modules/nano/node_modules/request/request.js:122:22) at Request.emit (events.js:98:17) at Request.<anonymous> (/var/app/server/node_modules/nano/node_modules/request/request.js:888:14) at Request.emit (events.js:117:20) at IncomingMessage.<anonymous> (/var/app/server/node_modules/nano/node_modules/request/request.js:839:12) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:943:16 at /var/app/server/node_modules/newrelic/node_modules/continuation-local-storage/node_modules/async-listener/glue.js:177:31

Ordering items from the orthopedic workshop

Clinicians need to request equipment from the orthopedic workshop in Kenya. They're not technically items "in" inventory. For instance, prosthetics. How are we going to deal with that?

Add patient copay field

Need a field to track patient responsibility. In the Philippines this field is called Patient counterpart.

Track Physio events

Doctor's assign physio. We need to queue it and track the notes from it. Note that physio could be "prescribed." i.e. daily while in the hospital.

Intermittant error adding vitals

Not sure exactly how to reproduce this, but here is an error log when trying to add vitals. In this case, I entered the value 2 for all fields:

rror: Assertion Failed: The content property of DS.PromiseArray should be set before modifying it
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.ArrayProxy.Ember.Object.extend._replace (http://beta.hospitalrun.io:3000/assets/vendor.js:32811:11)
at Ember.ArrayProxy.Ember.Object.extend._insertAt (http://beta.hospitalrun.io:3000/assets/vendor.js:32826:10)
at Ember.ArrayProxy.Ember.Object.extend.pushObject (http://beta.hospitalrun.io:3000/assets/vendor.js:32870:10)
at superWrapper as pushObject
at Ember.MutableArray.Ember.Mixin.create.addObject (http://beta.hospitalrun.io:3000/assets/vendor.js:31199:35)
at exports.default.AbstractEditController.extend.updateList (hospitalrun/visits/edit/controller.js:110:22)
at exports.default.AbstractEditController.extend.actions.addVitals (hospitalrun/visits/edit/controller.js:122:22) vendor.js:16672
Error: Assertion Failed: Error: Assertion Failed: The content property of DS.PromiseArray should be set before modifying it
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.RSVP.onerrorDefault (http://beta.hospitalrun.io:3000/assets/vendor.js:30338:13)
at Object.exports.default.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:22128:13)
at Promise._onerror (http://beta.hospitalrun.io:3000/assets/vendor.js:22852:16)
at publishRejection (http://beta.hospitalrun.io:3000/assets/vendor.js:23259:17)
at http://beta.hospitalrun.io:3000/assets/vendor.js:31531:7
at Object.DeferredActionQueues.flush (http://beta.hospitalrun.io:3000/assets/vendor.js:19278:24)
at Object.Backburner.end (http://beta.hospitalrun.io:3000/assets/vendor.js:19366:27) vendor.js:16672
UNCAUGHT ERROR IN APPLICATION: Error Occurred: Uncaught Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: The content property of DS.PromiseArray should be set before modifying it; url:http://beta.hospitalrun.io:3000/assets/vendor.js; line:13224; colno:5; stack:Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: The content property of DS.PromiseArray should be set before modifying it
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.RSVP.onerrorDefault (http://beta.hospitalrun.io:3000/assets/vendor.js:30338:13)
at Object.exports.default.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:22128:13)
at Promise._onerror (http://beta.hospitalrun.io:3000/assets/vendor.js:22852:16)
at publishRejection (http://beta.hospitalrun.io:3000/assets/vendor.js:23259:17)
at http://beta.hospitalrun.io:3000/assets/vendor.js:31531:7
at Object.DeferredActionQueues.flush (http://beta.hospitalrun.io:3000/assets/vendor.js:19278:24)
at Object.Backburner.end (http://beta.hospitalrun.io:3000/assets/vendor.js:19366:27) hospitalrun/app.js:32
Uncaught Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: The content property of DS.PromiseArray should be set before modifying it vendor.js:13224
DB Change
[Object, callee: (...), caller: (...)]

need forgot password link

Right now if you forget your password, you are SOL. We should add a password recovery feature for users. Ideally, this would be part of the front end for users to trigger, but also something that admins could also trigger for users.

TODO

  • Create a new route
    • ask for username (form)
    • send email with link to ask for login to the system (API call to send email)
    • changes password (update database with new password (in couch)

Beef dat readme, yo

I can't actually get up and running with just the README as is.

  1. Ember-cli npm install -g ember-cli.

This first step needs help. Is this just one giant command to enter? I tried that and just got Ember-cli: command not found. Step 1 should start from ground zero, assuming no prior experience with ember, or maybe even node.

Patient Status field

We need to a field on patient to track a patient's status so that patients can be identified for treatment:

The following is the tentative list for the Philippines
Not for Surgery
Specialty list (Not sure what the right language for this is, but we need to capture patients that we can help in the future but where we will likely rely on other specialists)
Pending requirements
Awaiting reply
Scheduled
Completed Surgery

This list should be a lookup list that can be modified by admins

Duplicate row seen when adding new item

Using Chrome. Adding a new item. After clicking "add", then "all inventory, when returned to the inventory list a duplicate row is seen for the recently added item. Moving to requests, or history does not clear the duplicate. If you go to add a new item again, and simply return, the inventory list is correct. See screen shot for duplicate of super large cart.

screen shot 2014-09-01 at 8 05 34 pm

Also, after adding, you are initially returned to a search result screen with an odd search term?
screen shot 2014-09-01 at 8 12 31 pm

change the .nav-category height to min-height

It's currently set to 254px on desktop at least. Some of the elements are larger, so I think that needs to be...

.nav-category .category-links {
min-height: 254px;
}

I'd make the change myself, but I don't want to mess with your mojo. If you want me to do it, assign back to me.

cc: @jkleinsc

Delete Vitals/ Delete Procedures Dialog box does not close

When you delete a vitals or procedures, the dialog comes up, you press delete, but the dialog is not dismissed. If you update the visit, and cycle back to it, the vital was deleted.

In the case of procedures, the dialog is not dismissed, but you can see the record being removed on the screen underneath.

message from javascript error console for deleting a vital:

Rendering visits.vitals.delete with <hospitalrun@view:visits/vitals/delete::ember15770> Object {fullName: "view:visits.vitals.delete"} vendor.js:16672
Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.triggerEvent (http://beta.hospitalrun.io:3000/assets/vendor.js:48744:11)
at trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:47769:16)
at Object.Router.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:46598:9)
at Ember.Router.Ember.Object.extend.send (http://beta.hospitalrun.io:3000/assets/vendor.js:48249:25)
at Ember.ActionHandler.Ember.Mixin.create.send (http://beta.hospitalrun.io:3000/assets/vendor.js:31839:19)
at exports.default.AbstractDeleteController.extend.actions.notifyVitalsDelete (hospitalrun/visits/vitals/delete/controller.js:16:22)
at Ember.ActionHandler.Ember.Mixin.create.send (http://beta.hospitalrun.io:3000/assets/vendor.js:31823:37)
at eval (hospitalrun/controllers/abstract-delete-controller.js:20:26) vendor.js:16672
Error: Assertion Failed: Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.RSVP.onerrorDefault (http://beta.hospitalrun.io:3000/assets/vendor.js:30338:13)
at Object.exports.default.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:22128:13)
at Promise._onerror (http://beta.hospitalrun.io:3000/assets/vendor.js:22852:16)
at publishRejection (http://beta.hospitalrun.io:3000/assets/vendor.js:23259:17)
at http://beta.hospitalrun.io:3000/assets/vendor.js:31531:7
at Object.DeferredActionQueues.flush (http://beta.hospitalrun.io:3000/assets/vendor.js:19278:24)
at Object.Backburner.end (http://beta.hospitalrun.io:3000/assets/vendor.js:19366:27) vendor.js:16672
Error: Assertion Failed: Error: Assertion Failed: Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.RSVP.onerrorDefault (http://beta.hospitalrun.io:3000/assets/vendor.js:30338:13)
at Object.exports.default.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:22128:13)
at Promise._onerror (http://beta.hospitalrun.io:3000/assets/vendor.js:22852:16)
at publishRejection (http://beta.hospitalrun.io:3000/assets/vendor.js:23259:17)
at http://beta.hospitalrun.io:3000/assets/vendor.js:31531:7
at Object.DeferredActionQueues.flush (http://beta.hospitalrun.io:3000/assets/vendor.js:19278:24)
at Object.Backburner.end (http://beta.hospitalrun.io:3000/assets/vendor.js:19366:27) vendor.js:16672
UNCAUGHT ERROR IN APPLICATION: Error Occurred: Uncaught Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, cau......e.; url:http://beta.hospitalrun.io:3000/assets/vendor.js; line:13224; colno:5; stack:Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
at new Error (native)
at Error.Ember.Error (http://beta.hospitalrun.io:3000/assets/vendor.js:14061:19)
at Object.Ember.assert (http://beta.hospitalrun.io:3000/assets/vendor.js:13224:11)
at Ember.RSVP.onerrorDefault (http://beta.hospitalrun.io:3000/assets/vendor.js:30338:13)
at Object.exports.default.trigger (http://beta.hospitalrun.io:3000/assets/vendor.js:22128:13)
at Promise._onerror (http://beta.hospitalrun.io:3000/assets/vendor.js:22852:16)
at publishRejection (http://beta.hospitalrun.io:3000/assets/vendor.js:23259:17)
at http://beta.hospitalrun.io:3000/assets/vendor.js:31531:7
at Object.DeferredActionQueues.flush (http://beta.hospitalrun.io:3000/assets/vendor.js:19278:24)
at Object.Backburner.end (http://beta.hospitalrun.io:3000/assets/vendor.js:19366:27) hospitalrun/app.js:32
Uncaught Error: Assertion Failed: Error: Assertion Failed: Error: Assertion Failed: Error: Nothing handled the action 'modalClose'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, cau......e. vendor.js:13224
DB Change
[Object, callee: (...), caller: (...)]
hospitalrun/initializers/configdb.js:74

Notes feature

Eric brought the notion that - for a given inpatient visit, doctors need:

  1. The ability to input multiple, date-stamped, author-noted comments on a patient's status. These notes are often entered by the doctor, but sometimes the rounds nurse. They need to track:
  • The note
  • The date
  • The author
  • The attending physician

They may need to be reviewed by another physician at times. They should not be editable after the note is closed. They could be amended with another note.

  1. An easy way to see all the notes for a patient - a report really but directly in the patient record.

Let's discuss @jkleinsc. I'm happy to add this feature myself given that I got the requirements directly from Eric.

Inventory will not render/load on beta site

On the beta site inventory page will not load. I believe I corrupted the data. I was testing adding purchases, then adjusting locations, (transfers) then editing the purchases. I was seeing some inconsistent behavior, and getting an error message about the quantities not adding up properly. In attempting to reproduce from a known starting point, exited the app (closed tab in Chrome) then re-entered...Inventory will no longer load.

Saw this error in console at app start.

Document was loaded from Application Cache with manifest http://beta.hospitalrun.io:3000/manifest.appcache beta.hospitalrun.io:3000/:1
Application Cache Checking event beta.hospitalrun.io:3000/:1
Application Cache NoUpdate event beta.hospitalrun.io:3000/:1
Uncaught TypeError: undefined is not a function beta.hospitalrun.io:3000/assets/vendor-4c9160511af0acd493b12aa4b132041b.js:28
DB Change
Arguments[1]

Diagnosis coding

Right now we are pulling in ICD-10-CM diagnosis codes, but this is a US-centric list. At the very least we should be pulling in WHO's version of ICD-10, but this list may need to vary per install

Change Surgery Visit Type to Admission

The current visit type of "Surgery" is confusing and really was intended to be a record of an Admission.

On Admission visit type, Start Date and End Date should be Admission Date and Discharge Date and they need times attached as well. eg patient admitted 3/3/15 11:00AM; discharged 3/6/15 3:00PM

Update vs Return on the "Edit visit" page

The update and return buttons appear to do the same thing on the "edit visit" page. Both appear to function as a return (to the patient page)? It seems as if update is not really needed? It seems as if all edits are saved when you return?

Pharmacy needs to record returns

Pharmacy has requested the ability to record returns. For example, there is a patient order for 10 of drug X, but during their stay the patient only used 6 of drug 'X'. Those 4 remaining items need to be "returned" to inventory.

initial UI mock - Patients view

As previewed in the office the other day, here's the initial work on the UI for the Patient's view. I've made some assumptions about content, and flow, and by all means this is just an initial proof of concept.

Here's a rough sketch of my current roadmap:

  • Mock up few more screens (like dashboard, settings, etc)
  • Dig into code (rip out bootstrap and replace with our own primer based on these comps)
  • Focus on information architecture and solving for UX workflow challenges

hospitalrun-ui-mock

Physician home screen

Seeing a list of patients who are...

  1. In the hospital currently
  2. Scheduled for an appointment in the coming week, showing the earliest, unmet appointment (i.e. not converted to a visit yet)

Units for edit of first purchase of a new tem default back to ampule

  1. create a new item. Enter minimal data: change all units to "each", enter a quantity. Save.
  2. on the new item, edit that first purchase. Notice on dialog Units default back to ampule

Also, after a location adjustment (Remove), the edit purchase dialog no longer displays the unit.

See 9 inch washclothes vs 7 inch washclothes in beta site. 9in show this issue, 7 in no longer shows units in edit purchase dialog

Procedural coding

ICD-10-PCS has been removed from HospitalRun and has been replaced with two fields:
A freeform typeahead text field called Procedure and a CPT Code freeform text field for medical coding of CPT codes. We can leave it as is, but should we do something better here?

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.