Freeb Install Improved
FreeBInstall-Improved
FreeBInstall-Improved contains as much of the configuration info that I have been able to come up with.
I installed MySQL, Apache, PHP, OpenEMR, SQL-Ledger manually. I Followed the FreeB mini-howto.
For SQL-Ledger I installed CPAN, DBI, DBD::Pg:
# perl -MCPAN -e shell cpan> install Bundle::CPAN cpan> install DBI cpan> install DBD::Pg
For FreeB:
# perl -MCPAN -e shell cpan> install HTML::HeadParser cpan> install HTML::Template cpan> install Date::Calc cpan> install Frontier::Responder cpan> install HTTP::Daemon cpan> install PDF::Create cpan> exit
I downloaded lcwa-1.0.0 which contains LWP:: UserAgent
tar -zxvf lcwa-1.0.0.tar.gz mv lcwa-1.0.0 /usr/lib/perl5/site_perl/5.8.6/ cd /usr/lib/perl5/site_perl/5.8.6/lcwa-1.0.0/ ./configure make install
I also downloaded Apache-ConfigFile-1.18.tar.gz and installed manually:
tar -zxvf Apache-ConfigFile-1.18.tar.gz mv Apache-ConfigFile-1.18 /usr/lib/perl5/site_perl/5.8.6/ cd /usr/lib/perl5/site_perl/5.8.6/Apache-ConfigFile-1.18 perl Makefile.PL make make install
To get ConfigFile to work I then:
perl -MCPAN -e shell cpan> install ConfigFile cpan> exit
I modified /usr/share/freeb/etc/freeb.conf at line 3 to reflect my true path:
url = http://localhost:80/oemr/demo/openemr/library/freeb/xmlrpc_server.php
create a public directory where FreeB outoput is stored:
mkdir /usr/share/freeb/public/
Make it owned by apache and writable by apache.
chown nobody:nobody /usr/share/freeb/public -R
Then start the FreeB server
./bin/FreeB_Server.pl &
I copied ws_server.pl to my sql-ledger bin directory sql-ledger/.
cp ~openemr/accounting/ws_server.pl /usr/local/sql-ledger/
I then opened ws_server.pl with a plain text editor and modified the path on line 7 to reflect the true path. In my case that is:
/usr/local/sql-ledger
I moved sql-ledger.conf.default to sql-ledger.conf
cp /usr/local/sql-ledger/sql-ledger.conf.default /usr/local/sql-ledger/sql-ledger.conf
I added the following to /usr/local/sql-ledger/sql-ledger.conf:
# Some constants relevant to OpenEMR import. $oemr_username = 'openemr'; # sql-ledger user to post as $oemr_ar_acc = '1200'; # account number for accounts receivable $oemr_cash_acc = '1060'; # account number for checking (copay deposits) # In SQL-Ledger you must create a services item for medical services # before you do any OpenEMR billing. Specify its "part number" here: $oemr_services_partnumber = 'MS'; # This is the number of days added to the OpenEMR transaction date to # produce the invoice due date when there is insurance. This affects the # patient portion of the outstanding balance shown in the OpenEMR patient # summary, and of course SQL-Ledger's aging reports and statements. $oemr_due_days = 40;
I configured openemr/interface/globals.php at lines 142, 143, and 144 for the actual instance of sql-ledger, username and password.
$sl_cash_acc = '1060'; // sql-ledger account number for checking $sl_ar_acc = '1200'; // sql-ledger account number for a/r $sl_income_acc = '4020'; // sql-ledger account number for medical services income $sl_services_id = 'MS'; // sql-ledger parts table id for medical services $sl_dbname = 'demoledger'; // sql-ledger database name $sl_dbuser = 'sql-ledger'; // sql-ledger database login name $sl_dbpass = 'sometrickypassword'; // sql-ledger database login password
I then modified openemr/includes/config.php
$GLOBALS['oer_config']['freeb']['claim_file_dir']= "/usr/share/freeb/public/";
Line 8
$GLOBALS['oer_config']['freeb']['printer_name'] = "HP_LaserJet4L";
change to your default printer
for line 22:
chown nobody:nobody openemr/documents/ -R
Create a Prescription Logo 3 inches wide called prescription_logo.png
openemr/interface/pic/prescription_logo.png
Create a signature 3 inches wide called sig.png
openemr/interface/pic/sig.png
Change line 42 from false to true (the SQL-Ledger needs to be installed and PostgreSQL needs to be running) , line 45 needs to be altered to your true path line 46 is the sql-ledger initial user line 47 is the sql-ledger initial user password
$GLOBALS['oer_config']['ws_accounting']['enabled'] = true; $GLOBALS['oer_config']['ws_accounting']['server'] = "localhost"; $GLOBALS['oer_config']['ws_accounting']['port'] = "80"; $GLOBALS['oer_config']['ws_accounting']['url'] = "/sql-ledger/ws_server.pl"; $GLOBALS['oer_config']['ws_accounting']['username'] = "sql-ledgeruser"; $GLOBALS['oer_config']['ws_accounting']['password'] = "sq-ledgerpassword"; $GLOBALS['oer_config']['ws_accounting']['url_path'] = "http://" . $_SERVER["SERVER_NAME"] . "/sql-ledger/login.pl"; $GLOBALS['oer_config']['ws_accounting']['income_acct'] = "10035";
create the following directory and make it writable by the web server:
mkdir var/www/htdocs/openemr/library/freeb chown nobody:nobody var/www/htdocs/openemr/library/freeb -R
ConfigFile.pm will only work with version 1.3
If you are using Debian, you'll need to apt-get php4-cli, this module has its own php.ini, edit it and uncoment the line that reads: # module=myslq.so so it gets mysql support.
Also, bear in mind that in Debian the php.ini file hanging from php4-cli will overwrite some values from the php4/php.ini, remember that when you modify stuff in php.ini and changes are not being reflected. (things such as session timeout)
I restarted PostgreSQL and FreeB_Server.pl because all of the configuration changes.