Freeb Install Improved

From OpenEMR Project Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.