Main · PadMapper.com · PadMapper for iPhone · TopHat Help · AppointmentPlease.com

How to Export your data from Medisoft to Access and Excel (a Pictorial Tutorial)

So you want to export your patient data (or other data) from Medisoft? Perhaps be free of Medisoft altogether? That's probably a good choice. I haven't been using medical programs for very long, but Medisoft is among the worst programs I've used in my 18 years of messing with and programming computers. The amount of trouble I had getting data exported to Excel so that I could import it into our new EMR angered me enough that I would like to make it as easy as possible for as many people as possible to dump Medisoft, which is why I am writing this guide.

On a related note, most medical software I've used sucks. That's why I started writing AppointmentPlease, to help doctors (like my mom) take appointments online on their own website.

Oh well, enough ranting, back to the task at hand. I personally needed to get the patient demographic data (names and addresses) out of Medisoft and into an Excel spreadsheet. This was done on a Windows XP Professional machine using Microsoft Access 2003/XP. The following isn't the only way to do it, and the instructions in the beginning are more universal. If you are using Vista and/or don't have Access, your experience will vary. If you are using XP Home, I believe you may be out of luck, due to the lack of access to the "Administrative Tools" Control Panel. I've never used XP Home, however, so my knowledge is based on hearsay and may be wrong.

Anyway, Medisoft (as of Version 12) keeps all of its data, from patient demographic data to past transactions, insurance information, and more, in a database system called Advantage.

In order to get at the Medisoft data, we will be using a standard database interface called ODBC, which a bunch of database reading/writing programs can access, MS Access included.


Installing the Advantage ODBC Driver

First we need to download and install an "ODBC Driver" for the Advantage database, to let Windows ODBC work with the Medisoft Advantage database. If you have the Medisoft install disk handy, you can install it from there. Otherwise, you can just Google "Advantage ODBC Driver" and it should be the first or second hit.

Insert the Medisoft install disc, and this should come up... click on Advantage Tools:

Then, Click on ODBC driver:

From that point, it's the same as if you downloaded it and ran the installer - basically just keep hitting next until the end, and the ODBC driver should be installed. For reference, the version on the disk is 8.1.

Now that the ODBC driver is installed, we have to tell Windows to start using it. Go to the Control Panel screen, and click on the "Administrative Tools" item (you will have to switch to "Classic View" for this to appear), and then click on "Data Sources (ODBC)"

On the screen that comes up, click the System DSN tab, and click the Add Button. (Your selection window will probably be empty... the item XPediatrics is one that I already set up)

Select "Advantage StreamlineSQL ODBC" and select Finish.

Now to configure the connection, and actually tell Windows where the Medisoft database is, so it can use the ODBC driver with it to provide a common interface to applications like Access. The picture below is what the screen looks like when fully filled out. The full path to the data dictionary path is C:\MediData\XPEDIATRICS\mwddf.add in this case.

This path may vary, but the file you're looking for should be called mwddf.add, so you can run a search on your hard drive for it. From what I've read, it is typically found at C:\MediData\NameOfYourPractice\mwddf.add

Once all of that looks the same, close out of all of that. Now, you should be able to open Microsoft Access, hit File->Open, and for the "Files of Type" pulldown at the bottom of the open dialog, go to the very bottom and click "ODBC Databases()", which should bring up this dialog box:

Click the Machine Data Source tab up top, select the name of the ODBC connection you made (in this case, called XPEDIATRICS), and hit OK. If everything is OK with the Advantage installation, you should be prompted by the box below. If you're like us, you'll get an error, and I'll explain at the end how we fixed it.

Enter the username and password (the username is user, the password is password), and hit OK. This should bring up a list of Tables that you can link. Tables are substructures within a database which contain data on subjects. MWPAT, the one we were chiefly interested in extracting, is a table full of patient demographics. For unique identifier, you should select something that no two rows will share - for patient data, the chart number would be unique. Once you hit OK, double click the name of the table in the ODBC database window that remains. Some of the interesting tables I observed were MWCAS (Cases), MWINS (Insurance Data), and MWCLA(Claims). There are others, but you'll have to explore the tables to see what you'll find useful. You can link all of the tables at once, but then you have to select a unique identifier for each.

NOTE: You shouldn't edit anything in Access, as that could potentially alter the database, which you probably don't want. Look, don't touch. If you want to edit, it would be a good idea to select all (ctrl-A), copy (ctrl-C), and go to a new excel spreadsheet, and paste (ctrl-V). This way you can create a local copy in an .XLS file that won't hurt Medisoft if you edit it.

Now, say you get an error when you hit OK after selecting something in Access's Select Data Source screen, like we did
You probably want to Google the error and read a bit about what causes them, especially in the context of an Advantage database. We got an error that was a result of incorrect/a lack of DLLs. The problem was the Advantage ODBC/Database installer didn't work correctly. I suspect that this is common. What we did to fix it was go to C:\Program Files\Extended Systems\Advantage 8.1\ODBC (the default install directory) and copy all of the .dll files, and then we went to C:\WINDOWS\SYSTEM32 and pasted them there. The dll's we copied over were:
ace32.dll
adsloc32.dll
adsodbc.dll
adsset.dll
axcws32.dll

Note: Before you try this yourself, you should check to see if there are any of those DLLs already in there, and if so, make backups. This is somewhat more risky than anything that came before, since you are dealing with the core of the Windows operating system, and if you're not comfortable in your ability to do things like System Restores, and in your backups situation, you might want to talk to someone who is technically saavy. Realistically, adding DLLs that weren't there shouldn't screw anything up, but I make no promises. This is on XP Professional.

Comments? Corrections? Questions? Email me at tophatmonkey in combination with @gmail.com.

Want to make your office more efficient? AppointmentPlease makes it really simple to start accepting appointments online. This saves you from the interruptions of answering the phone and negotiate times. Patients love it too, since they can browse through availabilities at their leisure, and reschedule and cancel on their own. And, it's a pleasure to use, unlike most software used in the doctor's office (such as medisoft...).