Giter VIP home page Giter VIP logo

prs's Introduction

Created : Tue May 08 17:03:44 IST 2012

Status

Deployed at Lajpat Bhavan clinic, New Delhi. Project in bug fix / maintenance mode

Introduction

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:

  1. Download and Install python
  2. Clone the repository

On Unix / Windows:

  1. python prs.pyw &

or on windows:

  1. 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/

Sample Data

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:

  1. cd scripts
  2. python createdb.py

Now you should have a db/sample.db sqlite database in the db/ directory which can be accessed through the program.

Dependencies

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

Tornado is included as a git submodule. So be sure to fetch the submodule when you clone the git repository.

SQLAlchemy

SQLAlchemy v0.7.7 is included in its entirety in the libs/ directory.

Python 2.7

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.

Some history

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’

prs's People

Contributors

skarra avatar

Stargazers

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

Watchers

 avatar  avatar

prs's Issues

Option of making free OPD tickets without any charges

  1. Many poor patients are provided free registration and also other charges for investigations etc. are waived. An option for making free in the registration process may please be provided in the screen to create a new visit (something similar to active box for doctors already provided).it will help in proper accounting of the cash received, which has to be deposited to the Accounts section.

modification to statistics

  1. In “View Statistics” button a provision of separating old and new patients may please be made. The Registration clerk has to deposit the daily collection to the accounts department with justification. A option button for old or new may be introduced before or after this.

waiving of old case registration charges

Instead of the statement as highlighted with a yellow pen following statement may be more appealing

The old case registration charges of Rs 20 have been waived
InkedCapture150320199d_LI

duplication prs production by ver 1.1

Capture_Desktop

Ver 1.1 is creating its own prs production and not using the one with data already existing on the desktop.
Left one is the old one with lot of data and the right one the one created by ver 1.1 without any data in the production db but some data in demo one which i had shared with you some time back

In View Statistics separate new and old patients

In View Statistics a provision of separating old and new patients may please be made. The Registration clerk has to deposit the daily collection to the accounts department with justification. An option button for old or new may be introduced before or after this.

Patient Stats

Please see the print of stats of 15/03/2019. For patients were seen. One new case and one old revisit case had been made free.
In the stats shown in (highlighted yellow) the output below, Please add the following as the clinic has to submit to the head office cashier.
New patients waived charges 1
Old patients waived charges 1
correct the figures accordingly highlighted with yellow pen, though one can guess from the total data. More explicit summary will ease the work of the clerks
InkedCapture15032019f_LI

sample db in use

i will put it dropbox as github does not support the file type of sample

mismatch between fee charged and type of registration ie new or old

reciept mismatch1
This registration is for a first visit to a doctor and rightly charged Rs 30 but the receipt says " Old Case"
For a new case New registration may be mentioned.
Mr/Mrs ....... may also be omitted as their could be Kumari also and in any case the details of the patient is already printed on top of the form

Current departments not deselected first time they are loaded up

In the Doctor Edit view's two department drop downs the expected behaviour is that any value that is selected in the first field is marked as unavailable in the second dropdown, and vice versa. The way it is set up the disabling happens as part of a 'click' trigger or a change value trigger. So the first time a doctor edit view is loaded this 'disabling' behavior is not present.

The following is a screenshot after a fresh load of that view:

image

Where if I just view the second dropodown once (no need to change it), I get this. Noticed the disabled value

image

Make visits free of charge

Many poor patients are provided free registration and also other charges for investigations etc. are waived. An option for making free in the registration process may please be provided in the screen to create a new visit (something similar to the active box for doctors already provided). It will help in the proper accounting of the cash received, which has to be deposited to the Accounts section.

brackets not needed in the software

  1. Please see the degrees of the doctor. Removal of the brackets in the print program of the software will give a neat look. Please remove the defa
    capture1
    ult brackets of the Program.

Thanks for receipt. No need to say "Receipt" but can be said as "**************towards registration of new visit or Revisit"
depending on the type of the visit.

dot printer problem

We are considering to use the PRS system developed by you from 1st April. The registration clerk has learnt on the Demo PRS. When she tried to print half of the page got used up whereas on inkjet printer of the boss or my printer page is ok. Can you fix it for dot printer which is used by the registration clerk. Below please find the two samples
InkedCapture15032019a_LI
Capture15032019b

Print receipt for registration charges made for old and new cases and indicate if waived

  1. If an option to print receipt/ acknowledgement is provided and printed as a line below the last line of the OPD registration data, it may not need another receipt to be issued which will save time and botheration to the registration clerk. It could say “ Received Rupees XX towards new or old OPD Registration” For Poor Patients if charges waived it may read “The Registration Charges have been waived”

"New" / "Old" case should be computed for a doctor in the same department

capture dept_fee mismatch1

Dr Bisht sees cases in two departments 1) Internal Medicine and 2) Geriatrics. This patient was showing Dr Bisht in Internal Medicine but now registered in a Super Specialty ie Geriatrics, yet only charged 20, probably the software takes into consideration as doctor's second visit irrespective of the department

Print receipt of amount received in the Print Visit view

If an option to print receipt/ acknowledgment is provided and printed as a line below the last line of the OPD registration data, it may not need another receipt to be issued which will save time and botheration to the registration clerk. It could say “ Received Rupees XX towards new or old OPD Registration” For Poor Patients, it read “The Registration Charges have been waived”

searching patient database option

It is a common problem with our patients that they don't bring old papers and often get re -registered. To
avoid duplication if another option of searching with their mobile number may yeild better result as same patient name may be differently spellt by the registration clerk. Viewing all may not be ideal as in due course the database is going become bulky.

we can make patient or relation's mobile as a search field

Logo Design for PRS

Hi @skarra , my name is Zuur W. I'm a graphic designer and I'd like to collaborate on your open source project and propose free logo/icon design for your project. If it's something you're interested in, please, let me know!
Best Regards
Zuur

Doctor Availability

Different doctors have different days and different time slots. Though the software takes care of the days but that day visit can be created as doctor availability is shown all the hours of the but not true. Doctors generally come for 1-2 hours on their assigned days. It will be nice if time specific availability could be incorporated

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.