GithubHelp home page GithubHelp logo

slogan621 / tscharts Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 9.0 126.49 MB

Django REST framework-based Digital Patient Registration and EMR backend

License: Apache License 2.0

Python 86.40% HTML 0.04% Shell 0.14% Jupyter Notebook 13.42%
django django-rest-framework emr medical

tscharts's People

Contributors

daleproctor avatar slogan621 avatar ww994a avatar xinyuehan7 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tscharts's Issues

Add support for medications

Need an API for getting (get) adding (post) and deleting (delete) medications. Also, need a standalone tool for importing the FDA druglist into the database.

For surgery types, GET should always return both name and ID

Currently, some forms of the surgery types get requests return just an array of names. The return values should always be JSON objects with both id and name. This is because we want to store IDs, not names, in surgery history objects.

See 133d183 for changes that were made for category API that should be same as needed by surgery types API.

add surgery history to database for patient

  1. Prior surgery(ies) and what they were for and approximately when and where they were performed.
    2a. This should be followed up with, were there any problems with the anesthesia or surgery if the answer is yes to 2.

Need to add support for dental hygiene

Dental hygiene is a station like X-ray and needs similar support. It will be added to the routing slip as needed by dentists as final station during visit.

Fix issues with time zone

Determine a common clock used by clients and the backend. GMT is probably the right answer. Try to come up with a scheme that ensures that they are also sending gmt, and if they send some me other timezone, concert.

But is that once past gmt midnight, clients can no longer find clinic on that day when searching for a clinic.

Add surgery types API

To support surgery history, an API for getting the various surgery names is needed.

Issues with startup/restart of scheduler need to be investigated

Monitor app reports unable to find clinic in the following case. A quick check shows one of the REST requests generating a 500 return that needs to be looked at.

Steps to reproduce. Start scheduler.
Then run python mockclinic.py -q -h localhost -p 80 -u -w
Run monitor, observe it reports no clinic for todays date. If you were to wireshark the connection, will see that a 500 error is reported (also can see this by setting breakpoints in Android Studio on returns for RESTful requests).

Modify Register GET with search terms

Empty array should be returned if no register associates with the search terms. A notFound error should return if search terms (clinic/patient) cannot be found. A badRequest error should return if the search term 'state' is invalid.

Modify scheduler to fill empty queues

The scheduler needs to be modified so that if it detects an empty queue, it scans other queues for patients who have that class of station in their routing slips, pull the patient out of the queue, and insert it into the empty queue. It needs to do this without breaking the scheduling priorities of the queues. For example, if surgery screening is empty and there is a patient in the ENT queue that has surgery screening in the routing slip, the patient can only be moved to surgery screening if ENT is not at a higher priority (or there is not a dependency on surgery screening that ENT be visited first).

Modify Surgeryhistory GET with search terms

Surgeryhistory GET should return array always when containing search terms. Empty array should be returned if no surgeryhistory associates with the search terms. A notFound error should return if search terms (surgery/patient) cannot be found.

Record if patient data does not include certain data

Address
Contact Info
Emergency Contact Info
CURP

This is mainly for dental patients, but registration app allows for specifying that the above were not known, and this should be recorded in the patient record.

Scheduler: date format error causes exception

GetRoutingSlip failed
Traceback (most recent call last):
File "scheduler.py", line 688, in
main()
File "scheduler.py", line 685, in main
x.run()
File "scheduler.py", line 646, in run
ret = y["qent"].update()
File "scheduler.py", line 95, in update
q.save()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 708, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 736, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 801, in _save_table
forced_update)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 851, in _do_update
return filtered._update(values) > 0
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 645, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 1149, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 837, in execute_sql
sql, params = self.as_sql()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 1117, in as_sql
val = field.get_db_prep_save(val, connection=self.connection)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 728, in get_db_prep_save
prepared=False)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 2287, in get_db_prep_value
value = self.get_prep_value(value)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 2282, in get_prep_value
return self.to_python(value)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 2269, in to_python
params={'value': value},
django.core.exceptions.ValidationError: [u"'1 day, 1:21:56.787552' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] format."]

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.