Computer Science Canada

Update ancient software

Author:  mirhagk [ Sun May 08, 2011 2:22 pm ]
Post subject:  Update ancient software

My mother does medical billing for a doctor, and her software is about 15 years old. it's so old that some of the dates reverts from 2011 to 1911 whenever she saves it. It seems like a trivial enough problem, so I'm thinking about reverse engineering the software, and changing that one part. I'm not sure if this is legal/allowed, and not even if I can do this. Anyways if you guys have any tips or anything they'd be greatly appreciated, it'd save my mom thousands of dollars (doctor's billing programs are basically a scam)

EDIT: ALso another problem, the machine itself is windows 95. It has no USB port, the CD drive is incapable of writing, and my other computers don't have a floppy drive, so how do I get the information off of it? (Also the program is too large for the floppy discs)

Author:  DemonWasp [ Sun May 08, 2011 9:34 pm ]
Post subject:  RE:Update ancient software

Whether or not this is legal is kind of a gray area, as I understand it. While typically the license under which the software is sold specifies that you cannot reverse-engineer it, I think that may violate some other law. I don't think any court has ever set precedent on that conflict (though I could easily be wrong). It's not legally advisable, because if you do get in trouble (unlikely), it will be pretty expensive to defend yourself. Better to just replace the software with a "clean-room" implementation, generally (though you'll run into a lot of legislation your program must satisfy, going that route).

The solution to getting information out from the computer is the same as getting information on to the computer -- presumably, over the network.

Author:  mirhagk [ Sun May 08, 2011 10:49 pm ]
Post subject:  RE:Update ancient software

yeah I guess I have to, the problem is that I only use wireless, and it obviously does not support it, and it's up in my mom's room like pretty much embedded in the wall lol, so getting internet to it will be a challenge and a half.

And as for the "clean-room" thing, what is that? (Btw I'm not looking to sell/distribute this program in any way, just looking to update my mom's software so she can send the billing to OHIP, without them rejecting it)

Author:  md [ Mon May 09, 2011 7:53 am ]
Post subject:  RE:Update ancient software

The short answer is that you can't (both in terms of technical ability, and legally).

Your best bet would be to either re-write the software from scratch, or find some newer software to replace it with. Anything else is just asking for trouble.

Author:  mirhagk [ Mon May 09, 2011 8:14 am ]
Post subject:  RE:Update ancient software

ugh, I was afraid of that. The problem is that the software costs thousands of dollars (for one of the most basic things ever). Like it's legit cheaper to hire a private programmer to code a new program for you than to purchase the software. I may make the program myself, I imagine I can do it without tooo much difficulty, but I'm just scared of the program screwing up all her data or something ya know. Like this is no longer fun little algorithms to do neat things for ya, this is real life.

I'm gonna check out the whole software and create a new version of it, and see if I can get a new one up and running pretty quickly.

Author:  Dan [ Mon May 09, 2011 10:15 am ]
Post subject:  RE:Update ancient software

From a technical stand point it would be a some what channgling hack with out the source code (assuming the program is complied to machine code) which would take some experites in low level programming. I would not recomend if if you had the required skill as it as it would proably cause more bugs and issues then help (as well as open you up to potential law suits).

As for making your own, many goverments have strick rules about how you can store and porcess health realted records (this includes billing and insurance). Ontario for example has the Personal Health Information Protection Act (PHIPA). If you screw up under PHIPA and a paitient pushes the issue you could be fined up to $50,000 for an individual and $250,000 for a corporation plus be open to law suits that can go up to $10,000 for "mental anguish" alone.

Part of the reason theses software packages are so expensive is they need to meet the local laws and can be considered life-critical systems. If you screw up some ones health recored it can get them killed (e.g. bad allergy information). Making the software package in house puts all the liability on you.

This is not a project to whip up "pretty quickly" and is somthing you need to put alot of planing an though into.

Author:  mirhagk [ Mon May 09, 2011 11:05 am ]
Post subject:  RE:Update ancient software

Yeah that's precisely why I didn't want to write the code myself, despite the actual aspect of it being very easy (As it's basically just filling out a form)

I would definetly have to research on how the billing needs to be stored, and everything, and I'd be super scared of fudging up.

But another question, if this software inputs the wrong year, does not warn my the user (it actually doesnt tell you the date is stored wrong unless you open it up again), then wouldn't this software be faulty and life endagering?

So couldn't I push the company and force them to make an update or something?

Author:  md [ Mon May 09, 2011 11:20 am ]
Post subject:  RE:Update ancient software

Possibly - which is why you shouldn't be running 15 year old software which is proven not to work.

Author:  mirhagk [ Mon May 09, 2011 11:28 am ]
Post subject:  RE:Update ancient software

The company still exists, and it was not proven not to work, it just stopped working one day.

Oh and ps, like 50% of the corporate world is using ancient out of date software. Fortran programmers still have jobs updating software.

Author:  Dan [ Mon May 09, 2011 1:18 pm ]
Post subject:  RE:Update ancient software

Well if it is just billing side of things it is proably not life endagering, but still needs to be fixed. However I dought the company is under any kind of ubligation to give you an update for free. Still maybe worth asking if they have a patch or update.

The issue sounds like a y2k or date overflow type bug so if they are still selling the software today they must have a fix, update or have adboned that software package.

Fortran is still used for number crunching in new programs today. It's not obsolete, tho i am not a fan of the syntax.

Author:  mirhagk [ Mon May 09, 2011 2:01 pm ]
Post subject:  RE:Update ancient software

Yeah but what I meant was that there are companies out there who have programs from the days before C or C++.

But yeah it's wierd because the program's date wraps around at 100, I'd expect something like that to wrap around at 256 or 64 or something. The programmer's obviously prepared for it to go above 100, but didn't handle it at all.

Author:  2goto1 [ Mon May 09, 2011 2:37 pm ]
Post subject:  RE:Update ancient software

If the company still exists, why not call them and ask if there was ever a patch released for the version your mom uses, and if so, would it be possible to get a copy of the patch?

Edit - didn't realize Dan already asked this!

Author:  md [ Mon May 09, 2011 4:04 pm ]
Post subject:  Re: RE:Update ancient software

mirhagk @ 2011-05-09, 2:01 pm wrote:
Yeah but what I meant was that there are companies out there who have programs from the days before C or C++.

But yeah it's wierd because the program's date wraps around at 100, I'd expect something like that to wrap around at 256 or 64 or something. The programmer's obviously prepared for it to go above 100, but didn't handle it at all.


Not weird at all - they simply assumed that any two digit year would fall in a certain range - it's exactly the problem that was behind Y2K.

The issue of obsolete software in business (and government) is and has always been an issue. Unfortunately it's not something you really have a choice on long-term - unless you developed it in-house (and are maintaining it) eventually you will need to upgrade. Usually far earlier then 15 years. The world changes, laws change, work changes. Software has to change too Razz

As for an update, you could always call them up and ask. I'm willing to bet that it'll cost money though and probably require new hardware running a newer version of windows. Windows 95 isn't even supported by Microsoft any more...

Author:  mirhagk [ Tue May 10, 2011 7:41 am ]
Post subject:  RE:Update ancient software

My mom keeps telling me that they lost all support from the company 10 years ago, so there's no chance they'd help them, luckily I convinced her to call them.

And @md, yeah see that's the going off of the assumption that computer's store data in decimal form. But they store it in binary, so any number that wraps at 0-99 is either stored horribly inefficiently (in which case what was the point of only storing 2 digits) or is specifically has a mod 100 somewhere. Regardless I don't understand it since they are wasting space regardless. They simply could've done 1911+savedYear, which would have been the simplest way to process it, and have correctly shown the date for an additional 150 years.

Like any software designer who's software was supposed to undergo the dangers of Y2K are morons

Author:  md [ Tue May 10, 2011 10:42 am ]
Post subject:  Re: RE:Update ancient software

mirhagk @ 2011-05-10, 7:41 am wrote:
My mom keeps telling me that they lost all support from the company 10 years ago, so there's no chance they'd help them, luckily I convinced her to call them.

And @md, yeah see that's the going off of the assumption that computer's store data in decimal form. But they store it in binary, so any number that wraps at 0-99 is either stored horribly inefficiently (in which case what was the point of only storing 2 digits) or is specifically has a mod 100 somewhere. Regardless I don't understand it since they are wasting space regardless. They simply could've done 1911+savedYear, which would have been the simplest way to process it, and have correctly shown the date for an additional 150 years.

Like any software designer who's software was supposed to undergo the dangers of Y2K are morons


Storage != data entry. When you enter the data, what format is it in? These are not uncommon problems and not uncommon solutions - in fact taking a two digit year entry and adding an arbitrary year to get a true year is standard practice and is well understood. It works for a range of 100 years which is all most people need - and if they need to enter a date outside that range then using a 4 digit year is almost always acceptable.

Y2K actually mostly is a result of dates being stored as characters (for which there are a variety of very good reasons). But the end result mostly appears the same.

Author:  mirhagk [ Tue May 10, 2011 10:49 am ]
Post subject:  RE:Update ancient software

The software accepts 2011 as the year. It lets you have it there until you save it, so only the save file has the issue with only 100 values. So the program is converting an integer to characters to save? I mean any way I think about it, it doesn't make sense (ie 2010 was valid, so it's obviously an integer being modded and added to 1911)


: