ideaman911 wrote on Monday, April 06, 2009:
Brady;
Thanks for all your efforts and patience. You will be pleased to know that if you spend enough time banging your head against the wall, eventually the wall will crumble, even though your head will be a mess ;-D
So as a help for anyone who has made the same acquaintance with the wall, a simple start point: I needed to work in Windows because I don’t know a thing about Linux and the variety of completely new (to me at least) buzzwords like Mandriva, Ubuntu, PHP, Perl, Xampp and whatnot. But I followed the best advice I could find and then tried to make it a little less incoherent for newbies. What I learned along the way:
a) It can be done. I finally have my real data which started life with OpenEMR ver 2.9.0 in what turned out to be an Xampp from the pleistocene (v1.4) which had MySQL v4.1, working on an XP, now setup with the latest release Xampp (v1.7) which has MySQL v5.1 and so I had to upgrade a ton of stuff.
b) The instructions to do so are paltry and sometimes wrong. After trying to get SQL Ledger to work with XP (I never was able), I found that OEMR had incorporated the accounting into a pre-release called 2.9.1dev, which is what we have been using with great success, albeit with Xampp v1.4, which has conflicts with some of the latest OpenEMR coding. But that meant we have real data which has great value, but was obsolete. Upgrade was necessary, and with the introduction of 3.0.1 on 3/31/09 I started this.
c) IN ANY CASE before you do anything else, make backup copies of your real data in multiple places so you are VERY unlikely to damage them all. You will be needing to upgrade any external GACL (access control for those who do not know) to the internal now included with OpenEMR from ver 3. That will require using a download from http://bradymd.com/prefixMod.tar.gz which, like the 3.0.1 version of OpenEMR, can be "untarred" or uncompressed using a free utility 7zip which is available on the web. That will be used to put a "gacl_" prefix automatically on all the GACL folder MySQL files within their original GACL folder. Then you will copy them over the ones created by OpenEMR 3 when it setup its databases for the internal GACL it now incorporates.
d) But if your MySQL is an earlier version than 5.1, they and your OpenEMR data files are incompatible with the Xampp 1.7 and OpenEMR 3.0.1 current standard. Whether you upgrade all within your existing pre-1.7 Xampp then copy to the new setup or copy first then upgrade is your choice. But the process involves working in the …/mysql/data/openemr/ folder, which contains the tables:
1) Adding the gacl_ prefix to current gacl tables
2) Copying the gacl tables with the gacl_ prefix to the …/openemr/
3) Copying all your earlier openemr tables to the new …/openemr/
4) Upgrading all those to the new 5.1 MySQL standard (see below)
5) Fixing any tables which do not upgrade correctly
e) The means to do items 4) and 5) are not well explained and are fairly hidden. Please note that there is a known problem which can occur, so I will describe it here and its fix:
1) The 1.7 Xampp has a bunch of "buttons", of which you want to use ONLY the Start and Stop alongside the Apache and MySQL.
2) But if you get a check mark in the Svc at MySQL, you will need to use the XP command prompt window and type "sc delete mysql" and enter following the ">" DOS prompt.
3) As with the simpler earlier Xampp, you will need to have the Apache and MySQL running on the server to use OpenEMR
f) The MySQL upgrade is performed in a Command Prompt window as well. The program files you will need are found at …/mysql/bin/ but they are made to work in Windows. Note that in the Command Prompt window, directory slashes lean left. Do the following:
1) Run mysql-upgrade.exe which will find and try to upgrade all the openemr tables to the new MySQL 5.1 standard.
2) Then you have to check that all tables are OK by trying to run OpenEMR. Most should be fine but the "Log" tables are likely not, which will display on the login screen, although you should still be able to work with OpenEMR after logging in. To fix those you must type the following command (noting your explicit location might be different) "myisamchk -r c:\xampp\mysql\data\openemr\log" and enter (replace "log" with whatever table is indicated to have an error when you try to run OpenEMR until all table error messages cease). You have to stop the MySQL in Xampp before running the myisamchk process, then restart MySQL (closing Xampp is not required).
Once you have done all that the software should now be up to the latest with your real data. Before you add any more, I strongly advise you to do extensive verification by searches, printing, etc until you are comfortable the data conversion has been a success.
Oh - and immediately make backups of the new format data. My tests have verified the xcopy backup and copy-paste restore I have described elsewhere will work as well for this (thankfully ;-), although I am still at a loss to understand why PHP file replacements seem to no longer be allowed by a batch process due to “access violations”. I’m working on that, but the worst case requires manual copy and paste, which works fine. I use that for my “usability enhancements” like having the encounters which need “release” or have already been billed indicated within the patient Encounters list instead of having to look elsewhere (saves a lot of time) as well as having the Encounter dates displayed directly at the billing function.
Good luck. OpenEMR really is a great tool, and improving continuously
Joe Holzer Idea Man
http://www.holzerent.com