My father is a doctor/physician. About 15 years ago he started writing an application to handle his patient’s medical records in his clinic at home. The app has the ability to input patient’s medical records (obviously), search patients by some criteria, manage medicine stocks, output receipt to printer, and some more CRUDs.
He wrote it in dBase III+. A few years later he migrated to FoxPro 2.6 for DOS and finally in a few more years he rewrote his app in Visual FoxPro 9. And now (actually two years ago) he wants to rewrite it in PHP, but he doesn’t know how.
The Visual FoxPro version of this app is still running and has no serious problem except sometimes it performs slowly. Usually there are 1-5 concurrent users. The binary and database files are shared via windows share. He did all the coding as a hobby and for free (it is for his own clinic after all). He also use this app in two other offices he managed.
Some reasons of why he wants to rewrite in PHP-MySQL:
- He wants to learn
- Easier to deploy (?)
- Easier client setup, need only a browser
What should I do to help my father? How should he start?
I explored some options:
- I let my father learn PHP and MySQL (and HTML (and JavaScript?)) from scratch.
- I create/bundle framework. I’m thinking on bundling CodeIgniter and a web UI framework (any suggestion?) especially to reduce effort on writing presentation codes.
What do you think?
tl;dr
My father (a doctor) wants to rewrite his Visual FoxPro app in PHP-MySQL. He knows very little of PHP and MySQL but he wants to learn. What should I do to help? How should he start?
Some facts:
- My father is 50 years old.
- His first encounter with a PC is in early 1980s. It was IBM PC with Intel 8088.
- He knows BASIC.
- He taught me how to use DOS and how to program with BASIC.
- The other language he knows fairly well is dBase/FoxPro.
- I got my bachelor CS degree last year.
- I know the internals of my father’s app because sometime he wants me to help him writing his app.
Update
After reading early responses, there seem to be better alternatives to PHP for this case. I’m open for other language/technology suggestions.
7
Well, since you have a CS degree, and your father is also knowledgeable, you should have no problem.This should be simple to prototype, since you already have the application written.
Server:
For simplicity, grab a copy of LAMP(linux), WAMP(windows), or MAMP(macintosh) server and install it on your machine, make sure to install a mysql and php environment. Very simple process. Google is there for you!
HTML / CSS Template:
If you want your clients viewing this on browsers with no worries, then you need to worry about cross browser compatability. Luckily, very smart people have done this for us. Check out HTML5 Boilerplate, Initializer, Normalize.css respectively.
You should be able to google your way around using phpmyadmin (a simple GUI for interacting with your database) and get a backend database going. PHP database connectivity should be very easy for you.
For learning PHP, it is very easy to copy and paste from the web. Try to avoid this. Grab an O’Reilly media book, or something from a publisher you trust, and keep it for reference.
I think that covers the basics…
0
I’d advise to do some product research and see if there is an “off the shelf” system that will do a better job for a smaller outlay of time and money.
The fundamental problem here is that those medical records are business critical in a couple of respects:
-
If they get lost or corrupted, it is going to affect your Dad’s ability to run his medical practice.
-
If there is a security or privacy breach, there is a possibility of your Dad running foul of the relevant law on medical record keeping (IANAL), and/or being sued by patients.
IMO, it would be better to use a system built by some company with experience in addressing those concerns, than “winging it” with a home-made system.
2
Not to be a Java troll (which I am, but I’m trying to cut back), why not use the nice Google App Engine and Google Web Toolkit plugins for Eclipse and make it all in Java? You don’t have to touch database configurations, Java is pretty easy to learn, you have a (somewhat) decent UI visual editor for GWT, and test deployements and production deployements are a one click deal. Plus when you tinker with the client code you only need to refresh your browser to see the change (when testing the app locally). And you’re abstracted away from Javascript and Ajax.
If you father is willing to spend the money, Visual Studio Lightswitch might be an option to consider. You can program in C# or VB.NET, develop 2 or 3-tier Desktop and Silverlight apps and I think the version coming out with VS 2012 is supposed to support HTML 5 clients.