This is an API for storing the documents in Apache CouchDB instead of in the disk.
commit88d703847861e2f0397c20edeb5897867e8d2b4f
authoreldhochacko <eldho_c@yahoo.co.in>
Tue, 8 May 2012 09:45:30 +0000 (8 15:15 +0530)
committerbradymiller <bradymiller@users.sourceforge.net>
Thu, 10 May 2012 02:39:52 +0000 (9 19:39 -0700)
tree717b9b59197eb5d9f8c40160047dde20c176a562
parente405178a4153cff340fe49bad53d72c2934d797c
This is an API for storing the documents in Apache CouchDB instead of in the disk.

It is implemented in such a way that it is configurable whether to store the documents only in the disk or CouchDB. The CouchDB has got a good replication feature which will make it easy to have a copy of documents in another system. Its also a good feature that CouchDB database is in consistent stage at every time. So a backup of CouchDB database can be taken at anytime by simply copying the database(CouchDB_root/var/lib/couchdb). We think this feature will be useful when the documents total size grows into GBs.

Even though CouchDB is not officially supported in Windows an unofficial version is available here:

1) http://wiki.apache.org/couchdb/Installing_on_Windows
2) https://github.com/downloads/dch/couchdb/setup-couchdb-1.1.1_js185_otp_R14B03+fix-win32-crypto.exe

Linux version is available here:

1) http://couchdb.apache.org/downloads.html

We have implemented this feature in Documents upload/download screen in Patient Demographics. This feature also can be used for storing the following files:

1) Generated X12 file
2) Generated PDF file
3) ERA file

We will implement it after getting the feedback from the community.

Configuring:

1) Install the Apache CouchDB.
2) If installation is success, normally it will be available on port number 5984.
3) It can be reached through the browser (http://localhost:5984).
4) Basic administration utility will be available in http://localhost:5984/_utils.
5) Initially it is running without username and password with all privileges. This can be reset by going to CouchDB\etc\couchdb\local.ini. In the lower side uncomment the
;admin = mysecretpassword . Put the desired password. On restarting the couchDB, this will take effect and also the password set will be hashed in the local.ini.
6) Enable CouchDB from Administration->Globals->Documents->Document Storage Method.

Signed-off-by: eldhochacko <eldho_c@yahoo.co.in>
controllers/C_Document.class.php
interface/patient_file/report/custom_report.php
interface/patient_file/report/print_custom_report.php
interface/super/edit_globals.php
library/classes/CouchDB.class.php [new file with mode: 0644]
library/classes/Document.class.php
library/globals.inc.php
sql/4_1_0-to-4_1_1_upgrade.sql
sql/database.sql
version.php