Giter Club home page Giter Club logo

opal's Introduction

Opal

Build

Coverage Status

PyPI version

Opal is a full stack web framework that makes building digital tools for health care easy.

It builds on established open source technologies with a track record of helping developers build easy to maintain, robust applications.

Most notably, it makes use of Django, AngularJS and Bootstrap.

From there, Opal provides you with a common batteries-included architecture for writing healthcare applications, and a composable modular framework that takes advantage of generic, re-usable components.

Opal is entirely open (source & governance) as are the wide library of plugins.

Opal was created by Open Health Care UK, because it makes Healthcare IT Less Bad.

We'd love you to get involved by using what we make, reporting bugs/suggesting improvements, and fixing bugs/updating documentation/making improvements.

Documentation

Documentation is available at: http://opal.openhealthcare.org.uk/docs/. (The source is in this repository at ./doc)

If you're just getting started we suggest:

The documentation is updated frequently, and we welcome any feedback or contributions to it. If you find any problems, or feel that anything needs clarifying in any way, please take 30 seconds to fill out a new issue here.

Documentation for old and development branches are available at e.g. http://opal.openhealthcare.org.uk/docs/v0.7.1/

Getting more help

If you're looking for help and support, feel free to post to our Mailing list

You could also tweet us at @opalframework - although it can be hard to give long form support there !

Contributing

Check out CONTRIBUTING.md for information about getting involved.

Open source

Opal is Licensed under the GNU Affero GPLv3

Communications

opal's People

Contributors

andylolz avatar appijumbo avatar d2s avatar davidmiller avatar dependabot-preview[bot] avatar dependabot-support avatar drcjar avatar fredkingham avatar ghickman avatar inglesp avatar jmathiszig-lee avatar khchine5 avatar lamby avatar mattstibbs avatar nerdoc avatar pacharanero avatar pdmorrow avatar rossjones avatar wjt 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

opal's Issues

Drop downs not readable

Issue with some of the fields with dropdowns: e.g Diagnosis/Details
As you start typing the field starts correctly autosearching for possible matches. If there are multiple possible matches a scroll bar appears at the side of the modal dialog box but when you click on this to see the rest of the list the dropdown list disappears so you can't get to the lower down options.

dropdown scrollbar problem
Windows XP, Chrome 27.

Hospital for Tropical Diseases Walk-in Clinic

I've created a new Label called "Wishlist" intended to allow us to start discussing future extensions of this work.

I had originally done this as a thread but I think a label will work better with each idea raised as a separate issue.

Updated lists of diagnoses and drugs

Minor issue - need to import the extended look-up lists for

  1. Diagnosis/Past Medical History
  2. Antimicrobials

If they are buried in your inbox somewhere they were attached to emails at
31/05/2013 16:55
31/05/2013 17:24

@inglesp - on my understanding moving forward manually updating these lists should become less of an issue as the Admin Back end should allow Gabriele/Me/Others to edit these lists?

Demographics - add drug allergies?

This one aimed mainly @michaeledwardmarks for now

I think we ought to include drug allergies in the database - what about as an extra (compulsory) field in the demographics modal?

It's mainly because it's an essential field in microbiology advice we document. There may be a better place to put that info, but wouldn't want to waste a column space for it.

Thoughts welcome

Microbiology comments section

This should be renamed "Microbiology input". The sections should be

Date
Initials
Clinical discussion
Agreed plan
Discussed with

Clinical advice given (Y/N)
Giving result (Y/N)
Infection control advice given (Y/N)
Change in antibiotic prescription (Y/N)

Admin broken

Since adding some code re-synonyms #37 the admin interface is broken.
If you click add new then it works ok but if you click an existing entry to edit it you get:

DatabaseError at /admin/options/condition/2/

relation "options_synonym" does not exist
LINE 1: ...tent_type_id", "options_synonym"."object_id" FROM "options_s...
^

Request Method: GET
Request URL: http://ohc-opal.herokuapp.com/admin/options/condition/2/
Django Version: 1.5.1
Exception Type: DatabaseError
Exception Value:

relation "options_synonym" does not exist
LINE 1: ...tent_type_id", "options_synonym"."object_id" FROM "options_s...
^

Exception Location: /app/.heroku/python/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py in execute, line 54
Python Executable: /app/.heroku/python/bin/python
Python Version: 2.7.4
Python Path:

['/app',
'/app/.heroku/python/bin',
'/app/.heroku/python/lib/python2.7/site-packages/distribute-0.6.36-py2.7.egg',
'/app/.heroku/python/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg',
'/app',
'/app/.heroku/python/lib/python27.zip',
'/app/.heroku/python/lib/python2.7',
'/app/.heroku/python/lib/python2.7/plat-linux2',
'/app/.heroku/python/lib/python2.7/lib-tk',
'/app/.heroku/python/lib/python2.7/lib-old',
'/app/.heroku/python/lib/python2.7/lib-dynload',
'/app/.heroku/python/lib/python2.7/site-packages',
'/app/.heroku/python/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']

Server time: Sat, 8 Jun 2013 17:14:11 +0000

Shenanigans with modals and keyboard navigation

Repro scenario:

  • Reload page
  • Make an edit to an item, and save by tabbing to the "Save changes" button
  • Navigate to another item and press the spacebar
  • The item is replaced by the last item to be edited

Seen only in Chrome 26.0.1410.65.

Make navigation around table easier

Currently if I have pressed space to select a row and move across, to say comments, I have to press space again to be able to move to the next row.

I wonder whether it might be more straightforward to always be in edit-mode.

Bug report button

When we start wider testing (hopefully after Demo 2) I will be asking lots of colleagues to try this out. Rather than making them all sign up for github accounts could we put a button on OPAL which allows them to auto-send an email to me and then acknowledges that the issue has been logged?
I think that will help with getting feedback.

Past Medical History lacking look-up

Same look-up list used in the diagnosis field should operate in the past medical history field.
I think we should also

  1. Allow use of commas to allow multiple entries in this field (similar to travel in the countries field).
    Ideally we would also
    2)Add each comma separated entry as a separate entity so that in theory different dates could be appended to each

Microbiology Results Part 2

Hi Peter.

Firstly - thanks for this. I think the approach to Microbiology Results works really well so far with the auto-generated secondary questions.

A few bits of feedback.

  1. Lots of tests are sent and added to the list whilst the results are unknown pending (often for several days). So for tests that have Positive/Negative options - they should default to some form of blank option (perhaps appearing as "-" on the viewed list) rather than 'Negative' as they do now - the user should have to assign either positive or negative status. Otherwise you lose the ability to add tests before the result is known and track pending/outstanding results - which is really important. This will also help with filtering the list to see which patients have outstanding test results as mentioned in #23

  2. I would include all the different types of culture as separate entries in the initial "Type" field and then have the selection of any culture generate the same list of secondary questions. People will think "Blood Culture" or "Urine Culture" not "Culture, type = Blood".

  3. I have sent an extended list of microbiology tests to you via email that @GabPoll and I have been working on.
    Applying the principle of point 2 above the table is laid out as:

  • Column A: Primary Question - All of these should be separate options within the "Type" field.
  • Subsequent columns show the Secondary Questions (not in italics) and the answer options for that secondary question (In italics) for each primary question.
  • Could we also should have a Free-Text "Details" field attached as a secondary question to every primary question option.
  • I have grouped tests with identical secondary questions together on the page
  • For the top block of Primary Questions which are different cultures the third secondary question "Organism" says "Look-up from List" - this list is on the second tab of the spreadsheet.

There will be a lot of tweaking of this section to get the balance right between data collection&integrity / usability for ward doctors / usability for microbiology doctors.

Great progress so far!

Can't free-text if halfway through an autocomplete

You can't enter as a free text option a word that makes up part of an autocomplete field.

For example under diagnosis:
if you start typing "pneumonia" it offers you "community acquired pneumonia" or "hospital acquired pneumonia"

You can not override these choices and just enter pneumonia.
You are still free to enter a free-text for diagnoses which don't appear fully/partially on the searchable list.

Although raised as a bug please don't fix yet as I want to think about whether people should be able to override the list in this way.

Add new patient

Need a button (?under the last entry on the list ?elsewhere) to add a new row

filter view by field results

Would be good to be able to filter which patients you see based on certain criteria e.g

  • show only people with a travel history
  • show anyone where a micro test result is not yet available

Using escape to close modal blocks editing

If I edit a cell (select row with space, right a few times and press enter) the modal dialog for that field correctly pops up.

However if you close the modal using escape, it disappears, but you are no longer able to navigate using the arrow keys/space bar/enter.

Chrome/27.0.1453.93/OSX

Making selected/edited row more obvious

At present the selected row is a slightly different shade of grey - fine.
When you hit space to actually edit that row only the currently highlighted box changes colour - I think the whole row should change colour to indicate you are in "edit" mode with the specific field you are currently editing additionally highlighted.

Linking "Comments" to other entries

One thing that would be cool in the future would be able to assign/link/tag (?right term) "Microbiology Comments" to results/other entries.

For example once the Microbiology Results field is implemented it would be good if you when writing a "Microbiology Comment" you could link it to a result.
e.g
Microbiology Results:
"21/5/13 Urine Culture - Negative"
"22/5/13 Blood Culture - Staph Aureus"

Microbiology Comments:
"22/5/13 SMJ: Staph in blood culture - advised team to start vanc" (LINKED TO Blood Culture from 22/5/13)

Equally one might link the comment to a diagnosis etc -
e.g
Diagnosis:
"?Meningitis"
Microbiology Comments:
"21/5/13 SMJ: clinical team suspect meningitis, advised to change antibiotics" (LINKED to Diagnosis of "?Meningitis")

Hope that is sort of clear

Generate separate entities from multiple diagnoses entries

At present it is possible to enter multiple diagnoses in a string using commas (very nice by the way) - but if you do this then you can only manipulate that whole block of diagnoses not the individuals diagnoses.

This means

  1. You can only append a comment to that block of diagnoses
  2. Difficult to edit/remove/discard individuals elements of the block

Ideal behavior would be to allow you to enter diagnoses in a string as currently but for each of them to become a separate entity which could have comments added/be deleted manipulated individually.

This links to the points raised in issue #34

Account for the height if [add item] link

When navigating up and down the row sizes change when the [add item] links are added. It might be nice to take that into account so that when they are added to the cells in a row things don't jiggle about.

Allow synonyms

Need a method for assigning synonyms in the look-up lists
e.g CAP = Community Acquired Pneumonia
This will be quite important as we can't rely on people using exactly the same terminology and there are lots of different names for things

Tab to move about fields

At present if you are on the main screen and hit Tab it moves between the webaddress bar, the two add-record buttons and somewhere else (can't see where!).
I think for usability/convenience it would be better if Tab moved you along the row that you are currently in.

Click to edit

Ideally want to add functionality to allow people to click/double click a field to jump straight in without having to select row/scroll across etc.

Cannot delete field items

Should be able to navigate to a field item, and press delete or backspace. This should open a modal asking for confirmation.

Notes field

Unlike the microbiology comments field this doesn't require an "Initials" section just the Date and the Comment.

Dialog with textarea is trigger-happy

When editing comments, which is just a single text-box, pressing enter submits the form rather than adding a linebreak. Shift+Enter also doesn't work.

Microbiology Results

Discussion with Gabriele has lead to agreement on Microbiology field.
This will be the most complex field I think.
On initially selecting this Micro-Results box the modal dialog should only display one field in which the user will need to select the correct test via an autocompleting search.
Depending which test is selected there would be differing secondary questions which would then appear in the modal dialog.
Most tests will fall into one of a number of patterns of secondary questions depending on the type of test.
To give a few examples:

Test =Blood Culture or Urine Culture or Sputum Culture
Secondary questions = Date, Microscopy, Organism + a free text box

Test = Dengue PCR
Secondary questions = Date, Positive/Negative + a free text box

Test = Hepatitis A Serology or Dengue Serology
Secondary questions = Date, IgM Positive/Negative, IgM Titre (free text), IgG Positive/Negative, IgG Titre (free text), + a free text box

TEst = Malaria film
Secondary questions = Date, Parasitaemia, +a free text box

If we could try and implement these examples as a starting point then we can build on it. The complexity will come in defining the secondary questions for each test - Gabriele and I will start building a more comprehensive list of tests and secondary questions.

Diagnoses should be presumed to be confirmed

At present you have to click a button to confirm a diagnoses.

Can we swap this around so that the default option is confirmed and you can opt to make the diagnosis provisional.

Patient Location Field

Location field currently lacks an option to set patients status Inpatient/Follow-Up/Review etc

List should sort patients by status

At present when you add a new patient they are put on the bottom of the list.
Ideally they should be slotted in depending on which "Category" you add them to in the "Location" field.

We need to think about a way moving forward of it then grouping people )within any given category) by "Location/Ward" e.g so that all the "Inpatients" on Ward=T8 patients are put together, and then even more ideally so that they are within numerical order so patients ( T1 32, T1 56, T8 2, T8 16, T16 3

Clicking doesn't always select a box

With the new click to edit function there is a problem with selecting the boxes.

If you move the mouse over a blank field the "Add" text appears - if you double click that then you bring up the modal dialog, but if you click below the "Add" text nothing happens.

On fields where the "Add" text doesn't appear such as Plan/Demographics the same problem arises if you click below the bottom of the current entry.

OSX 10.6.8 Chrome 27

IE8 doesn't work

Only get headings but no data in IE8

Error is:

TypeError: 'columns[...].multi' is null or not an objectundefined

Can't always see active field

With the new always in-edit mode setup it doesn't display the highlight properly if you are in a currently blank field - so you can't see which field is currently selected.

Windows XP, Chrome 27

Date

Date should be displayed at the top of the list

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.