Created : Tue May 08 17:03:44 IST 2012 Last Modified : Mon Jul 23 17:41:58 IST 2012
PRS is a simple Patient Record System to be used in clinics/medical centers, first written for the needs of the Charity Medical Center, Lajpat Bhavan, New Delhi.
PRS is released under the GNU Affero GPL v3.
It is designed to run from within a browser, but without an internet connection. Broad features will include:
- Patient Contact information, visit history tracking
- Doctor contact and availability database
- Invoice generation for paying patients.
How to Run
At the moment the only way to run the program is to download the source and execute the python program. There is a way to build windows executables using py2exe; we plan to provide pre-built binary bundles for major releases. In the mean time:
- Download and Install python
- Clone the repository
On Unix / Windows:
- python prs.pyw &
or on windows:
- Double click on the file ‘prs.pyw’ from windows explorer.
You should automatically see a tab in your default browser open up pointing to “http://localhost:8765/”
If Google Chrome is already your default browser, you should be able use the program, otherwise, just close your browser tab, fire up chrome and point to http://localhost:8765/
There is a script that will generate some random data to populate the tables, so you can play with the software. To get this sample data, do the following:
- cd scripts
- python createdb.py
Now you should have a db/sample.db sqlite database in the db/ directory which can be accessed through the program.
Google Chrome or Safari
PRS has been tested only on Chrome. It should also work reasonably well on Safari. It most definitely will not work on IE (any version). This may be fixed some time in the future, but it is not very high priority now.
Tornado is included as a git submodule. So be sure to fetch the submodule when you clone the git repository.
SQLAlchemy v0.7.7 is included in its entirety in the libs/ directory.
You will of course need Python 2.7 if you want to run on Unix or Mac. The Windows release bundles do away with this requirement as well.
Originally I wanted to implement this an offine HTML5 application using IndexedDB, which would be very simple to install and use. However the state of IndexedDB support is somewhat disappointing. Chrome suffers from numerous bugs, Firefox does not allow indexeddb creation for offline apps (file:/// URIs). There is no IE release with support at all. It is all rather frustrating enough that I have decided to move it to a full web application served through tornado.
The git tag corresponding to the point I abandoned the html5 approach is called ‘indexeddb_noworkie’