I’m curious if anyone has done this and what your process was.
I’m currently working on getting patient data imported. I found a script that exports the medware TPS files to CSV, and I’m working on a custom PHP script to parse that CSV and insert the rows into the patient_data table. I’ll share it when I’ve got something working.
I do conversions from Alta Point and other systems to OpenEmr (haven’t done a Medware yet). I have programs external of OpenEmr that I use to make csv files of the Patient , insurance, cpt, diagnosis, immunizations, medical records and other files. I have also done a conversion from Greenway to OpenEmr.
I use a Database language I am familiar with the do the conversion to the csv files and then use the import functions of phpmyadmin to import the data.
I have also converted (for one Doc) 43,264 document files in to the documents of OpenEmr as pdf’s.
I have patient demographics importing successfully to OpenEMR using the php script i wrote here: openemr/justimport.php at medware · mmurfin87/openemr · GitHub .
Note I’m using two additional columns in patient_data: ‘suffix’ for data like Sr., Jr., III, etc; and ‘street2’ for capturing the second street info. I figured since the database is already contorting into weird shapes because of the Layouts feature, I might as well add in my fields and not lose the data.
Next I’m going to work on Insurance Companies, and then Billing information like Claims, etc.
I’m working on importing claims data and I have tracked down the affected code and tables.
Claims are held in the ‘claims’ table where some sort of logic based on which fields are empty determines its status in the Billing UI. Tables ‘ar_session’ and ‘ar_activity’ maintain accounting line items for each claim.
It isn’t clear to me yet whether a claim absolutely must be associated with an encounter id yet. I’ll assume it is and generate an encounter for each claim though, even if it has no data.
From the database’s perspective, an encounter is just an id that is managed by the one-field ‘sequences’ table. Generally, there is an entry in the ‘forms’ and ‘form_encounter’ tables for these encounters. Although again it isn’t clear if these are absolutely necessary entries or if there are any other necessary entries needed in other tables. Table ‘issues_ecounter’ also holds the issues entered in the New Patient Encounter form but can be blank.
My plan then is to convert the Medware claims into entries into the ‘claims’ table with line items being converted into the ‘ar_*’ tables and update the ‘sequences’ table with the highest id i create so that future entries won’t clobber my imported data.
If possible, process open claims from original system and let new system process new encounters and related claims. Practice owners will be happy if cash flow is not disrupted.