AuShadha (औषध): Means medicine in Sanskrit. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is a Open Source Electornic Medical Records (EMR) & Public Health Management System for Small Clinics. It might be even suited for speciality medical practice after some customisation. It is developed with Python, Django and Dojo. Development and Deployment will use PostgreSQL. However the option to use sqlite DB is entirely open for small installtions who are not anticipating traffic.
License ^^^^^^^^
AuShadha code is licensed under GNU-GPL Version 3. Django, Dojo, Icons and other thrid party modules are licensed as per their authors. This should be honoured.
Aims ^^^^^^
There are many great Open Source EMR and Clinic Management projects, but most of them have very poor front ends. As in life, beauty and usability are key in medical practice. It is natural that more visually appealing it is more you want to use it. AuShadha will strive to achieve a balance between back and front end design. To achieve that aim Django and Dojo has been chosen. AuShadha is designed by me, a Medical Doctor in association with other Developers, so usability and practicability will always be foremost.AuShadha benefits from inputs, feature requests from my medical colleagues as the development progresses.
How to Test ^^^^^^^^^^^^^
Please refer to your OS notes on how to do this.
AuShadha has been tested with PostgreSQL Server version 9.3
Once you have installed Postgres server and pgadmin3 client you should be able to run psql
from terminal and get a prompt
Preferred DB for running AuShadha is PostgreSQL.
Set up PG for your OS
Please see your OS website for instructions on setting up PG
PG should be is setup and accesible from command line as >> psql prompt
Set up a System user with same name as the Postgres user
Create an OS user with <adduser>
command from terminal
Create a /home/<user_name>
directory for the user and run chown -R <user_name> /home/<user_name>
The username used by default for DB and user is 'aushadha'
with password of aushadha
Create an empty DB and Grant permissions
From terminal run the createuser
to create and user with username 'aushadha'
Run psql
to get into the pg command line from the user that is allowed to run psql
Run the following
CREATE DATABASE aushadha WITH OWNER aushadha;
GRANT ALL ON DATABASE aushadha TO <system_os_user> WITH GRANT OPTION;
For AuShadha requirements please refer to REQUIREMENTS.txt in docs/
AuShadha has been tested and developed with Python 2.7, Django 1.7x and Dojo 1.9x in Linux. It should work as long as dependencies are satisfied.
Ideally create a Python Virtual Environment. If virtualenv is not installed, please run in Debian systems sudo easy_install virtualenv
After installing virtualenv, Create a Python Virtual Environment virtualenv python_env
Change the working directory to the virtualenv folder cd python_env and activate it source bin/activate
With Python pip installed, run pip install -r ../docs/REQUIREMENTS.txt if you are in python_env directory . This will install all the necessary dependencies you need.
You may need to install Python development libraries if you are on Linux.
$ apt-get install python-dev
#in debian systems.
$ yum install python-devel
#in Redhat-like systems.
cd into src/AuShadha directory cd src/AuShadha
Latest Dojo Library can be downloaded at : http://dojotoolkit.org/download/
Download the latest Dojo library and extract it into AuShadha/src/AuShadha/AuShadha/media/plugins/dojo/
You may need to create a 'dojo' directory inside AuShadha/src/AuShadha/AuShadha/media/plugins/
directory
After extracting the folder structure should be like: dojo/dojo/ dojo/dojox/ dojo/dijit/
AuShadha has been tested with Dojo 1.9x
run $ python manage.py makmigrations && python.manage.py migrate
You need to create a superuser for logging in to the Django administration site.
Do that with python manage.py createsuperuser
Run the server with python manage.py runserver
Navigate to http://localhost:8000/AuShadha/admin and login with the user you just created.
You will need to add Users
as needed and assign them Roles & permissions
Please note that AuShadha has role and permission based UI. Hence for evaluation, you would need to login as the user with
appropriate permissions. For a superuser please set the option in Staff's ausshadha_user_role
to aushadha_admin
and
clinic_staff_role
to doctor
. Any other lesser permission setting would shut parts of the UI.
Use your browser to navigate to http://localhost:8000/AuShadha/
You will be greeted with a login page.
Please read the issues, license before using.
Currently AuShadha is under active development and is not fit in anyway for real world use.
Project Structure ^^^^^^^^^^^^^^^^^^^
docs : Contains the Requirements.txt, License.txt along with Sphinx apidoc
src : Project Source Code, Media files(Icons,Images, File uploads), Javscript
README.md
LICENSE.txt
Plan ^^^^^
AuShadha project is split between AuShadha-stock ( which contains AuShadha-core and some Stock applications) and Au-Pluggable ( the pluggable modules for AuShadha ).
These two repositories are maintained side by side to encourage a basic application which most users would want to use and also provide an easy way for regional/per-user customisation. User can freely mix and match the modules he wants to create his own AuShadha brew. In other words he is not stuck with what the developer has packaged and is free to repackage it in any way he wants.
The AuShadha-core will help him / her create pluggable applications that integrate well into AuShadha, but user is also free to create a completely different Django application. As long as he / she sticks to the Django pluggable practices the application can be easily integrated into AuShadha. Of course if he were to use AuShadha-core's API to develop he can do it more easily. AuShadha-core API is very young, mostly untested. It is very thin layer on top of Django. It does not force the developer to re-learn anything that would not be useful outside AuShadha.
Completed Modules ^^^^^^^^^^^^^^^^^^
AuShadha-core
AuShadha-PatientRegistration
AuShadha-Contact
AuShadha-Phone
AuShadha-Guardian
AuShadha-Demographics
AuShadha-MedicationList
AuShadha-AllergyList
AuShadha-History
AuShadha-Immunisation
AuShadha-OPD_Visit Management
AuShadha-ICD10-Disease Code Browser
AuShadha-ICD10-PCS
AuShadha-FDA-Drug List Browser integrated with some Drugbank
AuShadha-vaccine_registry
Pluggable Modules under Developement ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
aushadha_demographics_us
aushadha_demographics_in
icd10_pcs
dynamic_aushadha_models
Pluggable Modules Planned ^^^^^^^^^^^^^^^^^^^^^^^^^^^
For Developers ^^^^^^^^^^^^^^^^^^^^^
Suggestions and participation are welcome.
Please email me at dreaswar@gmail.com
Mailing list : aushadha@googlegroups.com
Website : http://aushadha.org
Blog: http://blog.aushadha.org
Wiki: http://wiki.aushadha.org
Facebook: http://www.facebook.com/AuShadha/
Twitter : @aushadha_emr
Repository ^^^^^^^^^^^^^
The Documentation @readTheDocs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^