LWN.net Logo

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Worth a read: this Washington Monthly article comparing the record of proprietary and open source medical information systems. "But another big part of the problem is that proprietary systems have earned a bad reputation in the medical community for the simple reason that they often don't work very well. The programs are written by software developers who are far removed from the realities of practicing medicine. The result is systems which tend to create, rather than prevent, medical errors once they're in the hands of harried health care professionals. The Joint Commission, which accredits hospitals for safety, recently issued an unprecedented warning that computer technology is now implicated in an incredible 25 percent of all reported medication errors. Perversely, license agreements usually bar users of proprietary health IT systems from reporting dangerous bugs to other health care facilities. In open-source systems, users learn from each other's mistakes; in proprietary ones, they're not even allowed to mention them."
(Log in to post comments)

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 13:58 UTC (Fri) by clugstj (subscriber, #4020) [Link]

"Worth a read"? I can't imagine how. Yes, the health care system is wasteful. I'm quite certain that more government intervention will only make it worse. Show me one government agency that is efficient.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 14:03 UTC (Fri) by flewellyn (subscriber, #5047) [Link]

The US postal service. Sure, people complain about them, but they reliably get mail delivered across the country within days.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 14:10 UTC (Fri) by drag (subscriber, #31333) [Link]

Well I would not really call them efficient. And everybody and their mom has had letters lost, delayed and all that. But other then that they are not bad.

The only government agency that would be called 'efficient' would be the the USA patent office. They are the only government agency that is actually able to stay within budget and even generate some revenue.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 15:09 UTC (Fri) by leoc (subscriber, #39773) [Link]

I've had thousand-dollar packages of electronic components dropped off without a signature by UPS at houses many doors down from me even after spending $50 for delivery and half an hour on the phone trying to explain to their barely-able-to-speak-english-outsourced-phone-support person exactly where my house is. Luckily I know my neighbors and they know me.

IMHO if the US cannot run a public health care system efficiently, then it would pretty much be the only wealthy western nation that cannot do so.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 15:17 UTC (Fri) by drag (subscriber, #31333) [Link]

All I know is that if USA goes fully-public then those Canadians won't have anywhere to go to get timely healthcare.

> I've had thousand-dollar packages of electronic components dropped off without a signature by UPS at houses many doors down from me even after spending $50 for delivery and half an hour on the phone trying to explain to their barely-able-to-speak-english-outsourced-phone-support person exactly where my house is. Luckily I know my neighbors and they know me.

I usually just go down to the UPS place and pick it up myself, personally.

Otherwise for anything expensive I require a signature and it makes things difficult since I am not usually at home.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 17:36 UTC (Fri) by leoc (subscriber, #39773) [Link]

if USA goes fully-public then those Canadians won't have anywhere to go to get timely healthcare

Umm, I am Canadian and I don't understand why we are so commonly used as a punching bag for both sides in your debate. Yes some Canadians go down to the states, I've never personally known anyone who has, though. And in reality are our problems really worse than yours? And its not like public systems have to be at the expense of private ones. France and Australia have mixed systems that work well, perhaps you could consider them as a model.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 18:33 UTC (Fri) by martinfick (subscriber, #4455) [Link]

And its not like public systems have to be at the expense of private ones.

Please explain how they are not "at the expense of private ones"? Literally they are. Any public $ spent comes from a private taxed $ which means that $ cannot be spent in the private sector.

If you simply meant that having a public system does not preclude having an additional private system, then I agree with you. However this is hardly an argument for a public system. It is the equivalent to asserting that simply because I steal from you regularly, it does not prevent you from keeping some money to yourself.

What makes your personal health so special that it should not be something that you should not be personally responsible for just like everything else in your life: your lodging, food, safety, happiness? It amazes me when people even talk about "a system" in the first place. Who needs a system? Do I have system to fix the plumbing in my house when it leaks, the engine in my car when it breaks down?(*1) It's your health, why should you be beholden to "some system"? Do with it what you will. Ask for/hire help when you need it, but do not expect others to do for you freely what you will not do for yourself, and do not force others to hire the same help you hire.

There is nothing magical about health, different people want different things out of it. There is (and never will be) a standard that everyone could ever agree upon which could constitute having good "health care" just as their is no standard "good car", or "good house", or "good life". Different people have different priorities over what they feel is important to their health and they should be able to freely make decisions based on those priorities relative to other priorities in their lives. If not, what does being "free" even mean (optimistically assuming most people think that freedom is somewhat important)?

I wish (hope) that someday people will stop putting health care on a pedestal above all the other important things in other peoples lives so that it can be dealt with rationally and personally just like other things in peoples lives, and that they would drop the push to forcefully get others to join some "health system" with them.


*1 - I don't, and I fear the day when people start talking about imposing one on me and others. Could you imagine it being a part of "normal" job benefits? The enormous cost of which would get masked from salaries since most people will never see it taken out before their salary is even talked about? Don't you want to be part of our plumbing plan? For only $100 dollars a month you can join (of course, an additional $200 is taking from your salary whether you join or not)! Do you know what the costs of plumbing are these days if you do not have plumbers insurance? I know someone who went bankrupt because they did not have plumbers insurance and both their main drain and supply pipes broke in the same year! And what about your car, who would cover the cost of the lost days of work if your car breaks down and you can't work? Sweden and France have great public plumbers plans, why can't the US learn from them? ;)

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 19:15 UTC (Fri) by foom (subscriber, #14868) [Link]

There is a basic level of human decency which obligates us, as a society, to not leave people dying outside in the cold of winter when they are homeless, and to feed them when they cannot afford to eat.

Humanity as a whole has taken it as a moral code that other people should not be left to die, even when they cannot, of their own accord, afford to live.

This is why health care is fundamentally unlike car repair. We, as a society, already pay to treat people who come into a hospital sick when they do not have the ability to pay themselves. But it is cheaper for us, if we can prevent them from getting to that point in the first place, which is what a good health care system is all about.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 20:07 UTC (Fri) by martinfick (subscriber, #4455) [Link]

"Humanity as a whole has taken it as a moral code that other people should not be left to die, even when they cannot, of their own accord, afford to live."

Sorry, but remind me where did I sign this moral code, where did I make this profession? What gives you the right to make this profession on behalf of not just me, but the rest of "Humanity"?

This is why health care is fundamentally unlike car repair.

Where was the link? What are you claiming makes it different (besides some vague statement about homeless dying people who cannot afford to eat)?

We, as a society, already pay to treat people who come into a hospital sick when they do not have the ability to pay themselves.

Yes, unfortunately in the US this is mostly true, (which perhaps could be some of the reasons people dislike the "US" system), I doubt that "as a society" you could make such a global claim though (thankfully?). But, this really is a sad thing to impose on me and others, to have to pay for those irresponsible enough to pay for themselves no matter what the cause of their "poverty" or "disease". Neither of which (poverty/disease) can ever be agreed upon universally as to what could even define: "poor enough or sick enough", or "what kind of health problem". Does getting liposuction, or circumcision, or assisted suicide count? Does spending my wealth right before I check in for health care on a "terminal expensive to treat disease" count as poor enough? Unless, of course, you take the habit of defining those for others by speaking for them... It is far too easy to lump things together under "health care" than to be honest and specific. Vague generalities like this are the first sign of FUD, I would hope that this one thing might be well understood on LWN.

So, maintaining my car's brakes so that I do not injure myself (or worse others), or my house pipes so that I do not explode my house because of leaked sewer gas, or trimming the trees in my front lawn so that they don't fall on my or my neighbor's house, is not threatening enough to enter your generalized theme of: (what is it?) "protecting others from themselves?"? Please, again, explain to me why this is different from health care?

But it is cheaper for us, if we can prevent them from getting to that point in the first place, which is what a good health care system is all about.

So if we can prevent people from installing windows OS and all the expenses associated with it, should we? If we can prevent people from having children they cannot support, should we? If we can prevent people from spending money on cell phones instead of cars and house repairs, should we? Again, I ask, where is the difference you were trying to impart? Perhaps you see a difference because you have been told so often (without question) that there is a difference?

I am happy that you seek a system which provides you good health care. But I do not wish upon you the same health care that I wish upon myself (unless you want it), I wish that you would offer me the same benefit, as opposed to assuming that you know what I (and the rest of Humanity) wants, and advocating to force it upon my.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 20:15 UTC (Fri) by jordanb (guest, #45668) [Link]

I'm really having trouble figuring out if this guy is a parody or not.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 22:48 UTC (Fri) by nix (subscriber, #2304) [Link]

Exactly. To read his comments you'd think people fell ill because they
*chose* to. Hint: poor people fall ill as well. Women giving birth have
horrible problems, and so do their babies who oddly enough have not had
the foresight to earn enough money to pay for their care while in the
womb.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 23:58 UTC (Fri) by martinfick (subscriber, #4455) [Link]

Hint: poor people fall ill as well. Women giving birth have horrible problems, and so do their babies who oddly enough have not had the foresight to earn enough money to pay for their care while in the womb.

Yes, but do you not see the veil over your eyes? Clearly poor people's cars break down too (in fact, likely more than rich people's). Why does disease trump brake safety or any other issue? Why is health care sacred?

It is sacred, isn't it (like a religious idol, not logic, just an unfounded belief)? Or else, why would my responses be eliciting such emotion? No one has yet to even attempt to give a logical reason why? Please, enlighten me (assume I might agree) instead of simply resorting to sob stories and unfair portrayals to elicit emotion instead of reason. I ask honestly: "what is so special about a health sob story versus any other sob story, aside from years of propaganda telling us that one is more important?"

Is it:
  • The fact that it can happen to anyone? - Certainly not all health issues can, many depend upon lifestlye/behavior. If so, why not advocate responsible behavior?
  • The fact that the costs can be high? - Certainly many other disastrous high cost things can happen to people. If so, why not advocate health care for expensive stuff only (i.e what insurance is supposed to be)?
  • The fact that death is potentially involved? - Certainly many other things involve risk of death and certainly many health issues do not?
  • The fact that it may affect other people? - This is probably only true of infectous diseases. Again, why not advocate a system to provide relief from any circumstance that could injure anyone else (car brakes)?
  • The fact that left to their own people might make bad decisions about their health treatment? - Indeed, but so might a system and should I not have the right to refuse your treatment and get my own anyways?

...please fill in the blank with the one thing that makes it special, that makes it merit a system instead of individual autonomy?

Enough

Posted Jul 18, 2009 0:17 UTC (Sat) by corbet (editor, #1) [Link]

Please, this is the sort of stuff I had really hoped wouldn't happen. There are plenty of places on the net where this kind of conversation can be had. But it has little to do with LWN's topic area; can we please end this thread here?

Thanks.

Topic area?

Posted Jul 19, 2009 18:48 UTC (Sun) by plunix (guest, #59652) [Link]

The title of this article does not fit LWN's topic area either, corbet. "How software companies could screw up Obama's health care reform" is shameless propagana on your part for Obama's socialistic policies.

Of course we all know that open source software is superior to proprietary and it's worth considering the problems with using proprietary systems in health care, just as in any other industry. But your title makes proprietary software companies look good! It would be wonderful if Obama's health care reform plans were screwed up. His plans are in fundamental opposition to the inherent rights of all human beings -- how dare you object to those of us who dare speak this truth and assert our rights to live peaceful lives?

Furthermore, the assertion that the subject of government intrusion into our lives is off-topic for a site focused on Linux and free software is patently absurd. Do you forget that it is only through government power that non-free software can even exist? The notion of copyrights is an entirely government-created and -enforced idea. There can be no copyrights, no patents, without a powerful institution with the guns to enforce them.

Additionally, a large part of the subject of LWN and other open-source related sites is security. You post articles on security vulnerabilities in the Linux kernel. Obama's plans are a violation of the security of the medical records of every single person in the country. As drag mentions below, the government already abuses our information. One would be a fool to trust it with even more personal information, especially medical information. Can you imagine the potential for abuse when one single entity controls all the medical information on hundreds of millions of individuals? That's far worse than a gigantic botnet, because it's human lives that are compromised, not computers!

Topic area?

Posted Jul 19, 2009 19:33 UTC (Sun) by nix (subscriber, #2304) [Link]

Aha. So Jon should censor articles because they might make your particular
political ideology look bad?

Just so that's clear.

(hint: most of the developed world has government-supported medical
systems of one sort or another. They work. To make this marginally
LWN-relevant, some of them use free software, although if they use
anything written in MUMPS I suspect the poor sods who have to work on it
spend a lot of time invalided out for psychiatric care.)

Topic area?

Posted Jul 21, 2009 2:00 UTC (Tue) by plunix (guest, #59652) [Link]

Perhaps you overlooked the fact that I'm the one arguing against censorship here. And the fact that the article does not "make [my] ideology look bad". But I suppose one shouldn't expect consistency from someone who thinks theft-based medical systems "work".

You are missing the point and completely misinterpreting my post. To the extent that the article refers to the success of free software and those using it, it is providing evidence of the correctness of my ideology. To the extent that proprietary software fails, this is evidence against the validity of government. It is government which allows software to remain non-free.

Theft-based?

Posted Jul 21, 2009 7:41 UTC (Tue) by xoddam (subscriber, #2322) [Link]

It's insidious, this concept of a government taxing individual citizens (It's THEFT, I tell you, they're taking my money with GUNS!) and then spending the money on the public! It's socialism!

Taxes are moral only if levied on a public having elected voluntarily to pay them. Tax should NEVER be levied on individuals (it's THEFT! with GUNS!), and they should be spent strictly for the purposes of protecting and subsidising commercial enterprises owned by individuals, and for sending the military to prevent foreign governments from STEALING individuals' property in other countries.

Topic area?

Posted Jul 20, 2009 13:18 UTC (Mon) by corbet (editor, #1) [Link]

LWN policy has always been to retain the title of third-party articles when pointing to them. Even if we don't like the title. Perhaps this policy could be reviewed, but, meanwhile, the title of this piece was not something we deliberately chose.

Topic area?

Posted Jul 21, 2009 2:05 UTC (Tue) by plunix (guest, #59652) [Link]

I stand corrected in regard to the choice of the title. Nevertheless, my point remains that the subjects of government in general, the question of the validity of government involvement in health care, and the question of the validity of government involvement in software are valid topics for a discussion of an article about these same topics posted on an open source/software related website. Any who support open source/free software but also support government would be wise to examine the inconsistency in this position.

Topic area?

Posted Jul 21, 2009 12:54 UTC (Tue) by sdalley (subscriber, #18550) [Link]

If you think Governments are bad, wait until you try Anarchy.

Topic area?

Posted Aug 6, 2009 3:06 UTC (Thu) by plunix (guest, #59652) [Link]

I eagerly await that day of peace.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 20, 2009 2:36 UTC (Mon) by Arker (guest, #14205) [Link]

You definitely do not get to speak for "humanity."

Your position is one that tugs at the heart, and is therefore very popular, but it is also irrational. Good intentions are not enough to produce good outcomes on their own.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 20, 2009 2:49 UTC (Mon) by jordanb (guest, #45668) [Link]

I'm beginning to wonder if Libertarianism isn't be a side effect of Aspergers.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 20, 2009 4:30 UTC (Mon) by flewellyn (subscriber, #5047) [Link]

As an Aspie, I would disagree. "Asshole" is not on the autism spectrum.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 3:15 UTC (Tue) by Arker (guest, #14205) [Link]

That was really uncalled for, but not surprising. Those who cling to unrealistic and illogical positions often resort to the ad-hominen attack.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 4:22 UTC (Tue) by flewellyn (subscriber, #5047) [Link]

You don't know what, if any, position I hold, so you're a bit premature trying to respond so snippily. At any rate, this is off-topic.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 5:46 UTC (Tue) by foom (subscriber, #14868) [Link]

I don't believe it's a controversial position to take that society has certain obligations to its less- fortunate members, including not allowing them die on the street. I do not get to speak for humanity, but you will find that history bears out my claims: it is an essential feature of every functioning society that there is a consensus of shared obligation towards those who are injured, sick, hungry, or otherwise in danger.

Whether or not a particular health care proposal is the right way to fulfill those obligations is of course debatable. You can certainly reject my claim that a well-functioning universal health care system would be cheaper than what we have now.

But the obligation itself? If you don't want that, I suppose you should go live by yourself in Antarctica.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 19:17 UTC (Tue) by dlang (✭ supporter ✭, #313) [Link]

there is a difference between deciding that it's not appropriate to let people die in the streets and deciding that full health coverage for everyone is appropriate.

a lot of health matters boil down to 'quality of life' issues, which include limitations on what people can do. if you say that the criteria is anything that could prevent future problems you end up justifying just about every possible service.

is it really mandatory that we provide everyone with every possible service?

more to the point, it's not _possible_ to provide everyone with every possible service, the supply of services is not infinite (and in fact, it may not even be desirable to do so), so who makes the decision of who gets the available services?

with private health care the decision is a combination of the particular insurance company that the person selected (selecting a different one will result in different decisions) and the the person's desire for the service (how much are they willing to give up to pay for the service themselves)

with a government run system the single government program administrators make the decisions. depending on the particular system you _may_ have the ability to go to doctors and pay for the service yourself, or that may only be available via a black market.

personally, I would love to see some sort of insurance that you could get along the line that it would only cover expenses >$10k, anything below that you cover yourself or get your own insurance policy elsewhere.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 19:36 UTC (Tue) by martinfick (subscriber, #4455) [Link]

Not trying to continue the "censored" discussion here, just trying to send a helpful note to dlang (could lwn implement an internal messaging forwarding system perhaps?)

personally, I would love to see some sort of insurance that you could get along the line that it would only cover expenses >$10k, anything below that you cover yourself or get your own insurance policy elsewhere.

In the US at least, you can get such (true) insurance. I have family coverage for under $300/month (not through work) with a $5K/person and a $10K max deductible. I believe that you can get cheaper if you want even higher limits. However, it would be even better if you could refuse to get coverage for expensive fatal disease/conditions care, I know some people who do not wish to burden society and/or pay for such stuff since that it the bulk of health insurance costs in the US.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 30, 2009 14:58 UTC (Thu) by lysse (guest, #3190) [Link]

> Not trying to continue the "censored" discussion here

I note that you weasel-quoted "censored", but please, go and check the meaning of the term.

There are lots and lots of places online where it's perfectly OK to proselytise extreme market libertarianism / fiscal conservatism. There are lots and lots of places where you'll get ripped a new one if you try, but trying itself is perfectly fine.

Have you completely failed to notice how LWN fits neither of those descriptions? Telling someone to stop being off-topic isn't censorship (or even "censorship"), it's telling them to BE POLITE AND PLAY NICELY and stop spoiling the place for everyone else.

Let's take another example. If you call me an idiot in the street and I shoot you, and I'm not prosecuted, you have been censored. If you come into my front room and call me an idiot and I kick you out of my house, you have merely been rude.

Tell me, since you appear to know - what is it about ideologues that persuades them of their exemption from the standard conventions of polite behaviour?

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 24, 2009 4:41 UTC (Fri) by jmorris42 (subscriber, #2203) [Link]

> There is a basic level of human decency which obligates us, as
> a society, to not leave people dying outside in the cold of
> winter when they are homeless, and to feed them when they
> cannot afford to eat.

Even if one accepts that moral code, where is it written that only by nationalizing the entire medical industry will the poor sick be cared for? By that logic we must nationalize food production and distribution so that we can feed the poor. And nationalize housing. Except of course not even socialist Europe does that.... yet. Provide healthcare to the poor if you must, but keep the means of production for that care in private hands lest the quality and quantity of it diminish as happens when the government meddles.

But of course this whole discussion is pointless. If medical records are to be computerized the big outfits with tentacles sunk deep into the current administration will get the contracts and the code will be closed and the data stored in closed silos. GE Medical Systems seems to have the winning political hand and technical merit (or even does something actually work) matters not with this bunch of power mad fools we have elected to rule us.

This is terrific example...

Posted Jul 19, 2009 2:04 UTC (Sun) by khim (subscriber, #9252) [Link]

Do I have system to fix the plumbing in my house when it leaks, the engine in my car when it breaks down?

We sure as hell do have a system to fix the plumbing in your house and we sure as hell do have a system which fixes the engine in your car. Sure, both system can easily declare your plumbing and/or engine in your car inadequate and prescribe to demolish them - not a valid option where healthcare is considered - but they do control both plumbing and engine and make sure you are not hazard for neighbours.

The same is true for healthcare: you need basic system to make sure people who are ill is not a hazard (in many cases it's cheaper and more effecient to cure penniless person then to wait till he'll die form illness and spend 10 times an much money to cure all people infected).

There is (and never will be) a standard that everyone could ever agree upon which could constitute having good "health care" just as their is no standard "good car", or "good house", or "good life".

Sorry, but there are standards for "good" (=safe) house, "good" (=safe) car and so on. Why "health care" must be an exception?

I wish (hope) that someday people will stop putting health care on a pedestal above all the other important things in other peoples lives so that it can be dealt with rationally and personally just like other things in peoples lives, and that they would drop the push to forcefully get others to join some "health system" with them.

This is my honest wish as well. All other things are managed by mix or public and private systems - why healthcare should be an exception? Basic service must be free (like free roads or free public libraries), then you can pay extra if it's not "good enough" for you.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 15:20 UTC (Fri) by jhardin@impsec.org (guest, #15045) [Link]

When you said UPS did you mean USPS? UPS's failings cannot be used to condemn the USPS.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 16:07 UTC (Fri) by drag (subscriber, #31333) [Link]

Ya. He was countering my statement by talking about how much UPS sucks by dropping off expensive stuff without requiring a signature or sending any notifications.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 19:11 UTC (Fri) by TRS-80 (subscriber, #1804) [Link]

The USPS is billions in the hole (possibly due to funding health benefits!) and addicted to paper spam, while regular mail is moving online and private companies like Earth Class Mail are innovating. The best article is Going Postal: The Imminent Death of the U.S. Postal Service? (rebuttal) however that's bitrotted, so you'll have to do with this BusinessWeek article.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 14:05 UTC (Fri) by drag (subscriber, #31333) [Link]

Hrm. The USA health care system is about 50-60% government run already anyways. All the money for medicare and medicaid comes with a huge mound of strings, regulation, and red tape attached. It certainly hasn't done much so far to reduce costs or increase efficiency.

Oh well.

That's a HUGE F-ing Laugh. Stopy Shilling for the Insurance Industry.

Posted Jul 17, 2009 15:55 UTC (Fri) by gbutler69 (guest, #54063) [Link]

Bull-Shit! I've written Medical Billing software and other medical related software for a number of years. There is FAR LESS red-tape and difficulty with Medi-Care/Medi-Caid than there is with commercial carriers. Commercial Carries specifically make things difficult and rampant with red-tape in the hopes that Patients, Providers, etc. will eventually give up and they don't have to pay the claim. Commercial Carriers are, for the most part, huge, fraudulent, faceless entities that couldn't give two shits about their customers.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 20, 2009 23:45 UTC (Mon) by marcH (subscriber, #57642) [Link]

> Hrm. The USA health care system is about 50-60% government run already anyways.

Yeah, this is indeed the most ironic part. The USA (that is: the most "private-fanatic" country in the world) currently spends for health more PUBLIC money than most other developed countries spend in TOTAL (public + private). Source = http://www.economist.com/world/unitedstates/displaystory.... (excellent article, not from any vendor).

Whether decided by a government or organically grown by lobbies, health care is always "a system" in the end. "Public or private" is mainly an ideological and irrelevant question. The only thing that matter: results. More precisely: 1) efficiency; 2) optionally fairness in some cultures (as in: "do I care if poor people are sicker, or not?")

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 21:34 UTC (Tue) by jd (guest, #26381) [Link]

The figure I saw quoted was $100 for every 50 cents spent on comparable health services by the next five largest Western nations.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 21:43 UTC (Tue) by dlang (✭ supporter ✭, #313) [Link]

that doesn't sound reasonable.

that sounds like it is claiming that you could eliminate the entire private health care industry, including all employer contributions, all payments from individuals, slash the federal budget by a factor of 200 and provide everyone in the country with the same service that they get today.

now, it very well may be the case that for some narrowly defined items the government outlay for the small percentage of people that rely on government coverage is significantly higher per-person than similar coverage is per-person in other countries where everyone is covered by the government, but (being suspicious of statistics), how much of that is because so many people are counted as 'covered' who just don't need much in the way of services?

Worth a read

Posted Jul 17, 2009 14:10 UTC (Fri) by corbet (editor, #1) [Link]

It's worth a read because it's a clear demonstration of the value of free software, written by somebody far from the normal advocacy community.

I do hope we can avoid a discussion of the US healthcare system in general, the value of governmental intervention, etc. Those are interesting topics, but they are off-topic for LWN. The role of free software in such a crucial sector seems well worth talking about, though.

Worth a read

Posted Jul 17, 2009 14:33 UTC (Fri) by drag (subscriber, #31333) [Link]

Sure.

I worked for a place that provided lists of names for mailing lists and did some printing and all that happy stuff. A dying industry in many ways as the internet is more effective and cheaper, but it is still quite happily used by direct mail marketeers and whatnot.

So as you probably know, or should know, is that your government (I don't know about other countries so much) pretty much sells every piece of information that it comes across to people like my old employer. The information you put in your drivers license or when you fill out a deer hunting license or whatever. All that stuff is sold to private companies.

Well a lot of the companies that we would work with require certifications. These certifications are used to prove that your information is up to date and all that stuff. The probably most important one was one that required cooperation from the post office and it was used to prove that all the names and addresses and such that we would sell to advertisers was within 2 months of being correct.

In order to qualify for this cert we had to work with the Post Office and get your information from them.

They obviously had all sorts of requirements about encryption and what software to use and all that crap. Most of it ended up being horrific proprietary Windows applications... like Winzip.

All of that was a huge pain in the ass to work with. We'd get a bunch of DVDs from the post office that contained a bunch of AES encrypted zip files.

And if we followed the Post Office requirements for software that would of required hiring a extra guy, or at least wasting the time of people who are otherwise completely busy, double clicking on some stupid file in the Windows desktop then formatting it and all that crap.

Then there was also requirements for printing out labels for certain types of bulk mail and packages. The regulations were very specific on the size, placement, and and layout of bar codes and whatnot. This is so that when we would printing out thousands and thousands of labels we could get our customers to qualify for special rates for the post office.

Of course the post office wanted us to use another horrific proprietary Windows desktop application. Something that would of required having somebody do manual layout selections and double clicking through wizards and all that crap.

------------------------

Luckily for us we had access to Linux and a whole host of open source software. So everything could be very well automated. Winzip was replaced with Pk7zip. The label printing software was easily replaced Perl and custom PCL templates.. Email sent information back and forth between various machines. A lot of shell scripts, ftp'ng, and all that stuff.

So using inexpensive and effective open source software we were able to reduce costs massively, increase the quality and speed of which we could process information and maintain our certifications and all that happy stuff.

If it wasn't for Linux and easy access to the high quality open source software it would of all been a PITA manual methods of doing everything through GUI applications.

Quite nice.

Up-Voting Articles?

Posted Jul 17, 2009 15:11 UTC (Fri) by GreyWizard (guest, #1026) [Link]

I wish there were a way that those of us who find an article valuable could make that clear without creating lengthy and tendentious comment threads. For example, there might be a button to press to indicate that a post is valuable (similar to the "like" feature on Facebook). Articles could then display a count of how many people like them.

People frequently post comments claiming that an article is irrelevant or doesn't belong on LWN, and I'm often tempted to post a rebuttal. Usually I decide it's a waste of time but I'm left wondering if the editors know that at least one person appreciates the article. If the article had a dozen or so positive votes that would be self-evidently false.

Up-Voting Articles?

Posted Jul 17, 2009 17:54 UTC (Fri) by cdarroch (guest, #26812) [Link]

Agreed. [+1]

Up-Voting Articles?

Posted Jul 21, 2009 21:42 UTC (Tue) by jd (guest, #26381) [Link]

+1 Informative, +1 Insightful. (K5 and Facebook have very linear rating systems for non-linear evaluations.)

Worth a read

Posted Jul 18, 2009 15:35 UTC (Sat) by frazier (guest, #3060) [Link]

To continue, this shows the value of the decentralized nature of open source. The Topeka bar scan addition was readily done because the system was open and modifiable. The users have the power to modify the system as they see fit and can share their changes with others.

It is interesting that some people who grasp the advantages of decentralization with software revert back to 'big government vs. big corporations' (or 'organized labor vs. big corporations') thought when many times the real enemy is massive centralization, regardless of who does it.

I found this VistA history page interesting:
http://worldvista.sourceforge.net/vista/history/index.html

The "1993 - 2004: The Modern Age" section is particularly interesting.

-Brock

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 14:26 UTC (Fri) by k8to (subscriber, #15413) [Link]

Social security runs around 2% costs. This is more efficient than any corporation, ever.

Citation Needed

Posted Jul 17, 2009 15:13 UTC (Fri) by GreyWizard (guest, #1026) [Link]

Could you cite a source for this figure? (I actually believe you based on other things I've read, but it would be nice to have a reference.)

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 15:18 UTC (Fri) by jhardin@impsec.org (guest, #15045) [Link]

So it's an efficient Ponzi scheme. This is good how?

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 16:50 UTC (Fri) by martinfick (subscriber, #4455) [Link]

Oh, it's not just a ponzi scheme, it's a ponzi scheme where you do not have to sell your "stock" to anyone since they are forced to buy it. No marketing/sales costs, no wonder it's efficient. Add to that the supposed "public legitimacy" of the scheme and you don't even have to be secretive about your books.

And finally, once a ponzi scheme can no longer fund its initial investors it will die. This is unlikely to happen to the social security system. Once the baby boomers take out all the money and the gen Xers end up with less than they put into it, gen Y/Z... will still be paying into the scheme. A ponzi scheme backed by force does not fail even once it is no longer efficient!

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 16:00 UTC (Fri) by jordanb (guest, #45668) [Link]

Not to mention Medicare, which spends dramatically less than private insurance companies on "administrative costs."

But it's really not hard to see why. No millions of dollars a *day* on lobbying. No golden parachutes. No executive retreats. No corporate jets with private catering. No eight-figure salaries. Ten million dollars here, ten million dollars there really adds up, even when you treat your lower-level staff like crap, and even deny them health insurance.

Is it any wonder that the private insurance companies don't want to compete against a public option? It'd be like Detroit trying to compete against Toyota in the 1970s. The entire fat, corrupt little executive privlidge system would come crashing down.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 16:13 UTC (Fri) by drag (subscriber, #31333) [Link]

Well I seriously seriously doubt that Obama + Democratic is going to do anything to put the hurt on insurance companies. If I thought that then I would not be so pessimistic about the whole thing. It's not in the USA government's style to put a entire industry out of business.

What is more likely to happen is that the large part of the 'nationalization' will involve you selecting government subsidized plans mostly ran by current insurance companies and then claiming that massive government regulation of the insurance industry will keep everybody honest.

Basically instead of this:

Your payments ---> Insurance --> Hospital

it'll turn into this:

Your taxes + payments ---> Government ---> Insurance ---> Hospital.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 16:51 UTC (Fri) by donbarry (guest, #10485) [Link]

Uh, Chile did this.. Overhead went from a few percent to around 20% --
widely reported throughout the 90s. I don't have original sources
but this article is typical: http://www.socsec.org/publications.asp?pubid=332

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 15:51 UTC (Fri) by bawjaws (guest, #56952) [Link]

The article isn't promoting communism as various other comments might have you believe. It's outlining some of the benefits of Free Software in medicine from the perspective of someone who e.g. doesn't think there's a widely understood definition of "Open Source".

It's also got some interesting stuff about deaths caused and prevented by poor software user interfaces, lobbying shenanigans, and some facts and figures on software deployments gone wrong and a some history of an open source medical system called VistA.

All in all, a good read.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 18, 2009 5:07 UTC (Sat) by jjs (guest, #10315) [Link]

this is an article comparing open source health care software vs proprietary health care software. It has NOTHING to do with government health care reform. The only relation is using the current Health Care Reform as a starting point to look at health care software.

Please stay on-topic for LWN - this is not hte place for political discussions.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 21, 2009 21:49 UTC (Tue) by jd (guest, #26381) [Link]

Frankly, I can't think of anywhere that's good for a political discussion. And this is not just about Open Source but also about Open Standards. In principle, even Closed Source can implement an Open Standard (although Opera is the only such package I know of that does), and Open Source can implement non-standard files/data structures/APIs/protocols. However, the combination of Open Source with Open Standards is where the real savings can be found.

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 18, 2009 19:08 UTC (Sat) by vonbrand (subscriber, #4458) [Link]

Here in Chile the Servicio de Impuestos Internos (roughly US's IRS) is very efficient...

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 20:37 UTC (Fri) by Doogie (guest, #59626) [Link]

Has anyone actually read this article? It makes a few very basic factual mistakes that sadly take away any impact it may have had in terms of promoting the ideals of free software. For example it claims that the iPhone is successful because it is open source (untrue), and that IBM has abandoned proprietary software entirely (untrue).

Code Red: How software companies could screw up Obama's health care reform (Washington Monthly)

Posted Jul 17, 2009 21:29 UTC (Fri) by horen (subscriber, #2514) [Link]

I'm a +30-year IT professional (Unix/Linux sysadmin) and Vietnam veteran (Infantry), and receive my health care at the area's VA Medical Center (West Palm Beach, FL). Thus, I read the referenced article closely, and was happy to find the "successful model" to be the one based on VistA EMR software. My experiences with the VA healthcare system bear-out the author's premise that open-source EMR packages are "good news", while "closed-source" (proprietary) EMR packages are not.

Over the past five years, I have spent hours discussing VistA with VA healthcare professionals, and have yet to meet anyone who has anything bad to say about it; rather, they are unanimous in their regard-for and praise-of VistA. One of the most important aspects of VistA is how easily it became an integral part of the doctor/nurse-patient visit -- I sit, s/he reads my online information including that input from other VAMC practitioners, I get examined, we talk, s/he enters new information about me into the system, and only then is the appointment finished. No "hours-later" data entry, no "deciphering illegible handwriting" or trying to remember what went on during the exam.

Will Washington screw-up a good thing?

Film at eleven.

VistA is great

Posted Jul 17, 2009 22:19 UTC (Fri) by bcopeland (subscriber, #51750) [Link]

My wife is a practicing physician who has used both VistA (she loves it) and various other EMRs in her professional life. Having seen the proprietary software currently used by her practice, and comparing it with VistA, I wonder how the proprietary companies stay in business. It's in the public domain, proven as one of the largest installations of any EMR, and yet people still fork over thousands of dollars for these horrid worse-than-pen-and-paper systems. It boggles the mind.

VistA is great

Posted Jul 17, 2009 22:29 UTC (Fri) by jordanb (guest, #45668) [Link]

The same way SAP (and just about any "Enterprise" vendor) stays in business:

Sales meetings involving golf courses in Hawaii, and the people buying the software aren't the people who have to use it.

One thing about VistA, while it sounds like it has a UI and workflow that are very good for healthcare workers, according to Wikipedia it's written in MUMPS, and the MUMPS article uses code from a different VA project as its example:

http://en.wikipedia.org/wiki/MUMPS

That code could scare small children, so I wonder 1) Is VistA written in a more maintainable fashion? (The fact that it began in the 1970s makes me think that that's not likely) and 2) I wonder if it'd be possible to replace VistA with a program with the exact same functionality but a more maintainable code base.

VistA code

Posted Jul 18, 2009 8:41 UTC (Sat) by dark (subscriber, #8483) [Link]

Your fears are on target. Here's a snippet from WorldVista (GPL)

; get billing info from 350
; first find the charges and sort
K ^TMP("IBECEA",$J)
S Y="" F S Y=$O(^IB("AFDT",DFN,Y)) Q:'Y I -Y'>IBEDT S Y1=0 F S Y1=$O(^IB("AFDT",DFN,Y,Y1)) Q:'Y1 D
. S IBX=0 F S IBX=$O(^IB("AF",Y1,IBX)) Q:'IBX D
.. Q:'$D(^IB(IBX,0)) S IBZ=^(0)
.. Q:$P(IBZ,"^",8)["ADMISSION"
.. I $P(IBZ,"^",15)<IBBDT!($P(IBZ,"^",14)>IBEDT) Q
.. S ^TMP("IBECEA",$J,+$P(IBZ,"^",14),IBX)=""

There's another two million lines of this, in about 25000 tiny files with names like IBCNEHL3.m

Relevant links:
http://worldvista.org/Software_Download
http://vistapedia.net/

VistA code

Posted Jul 18, 2009 10:48 UTC (Sat) by nix (subscriber, #2304) [Link]

That makes me feel quite ill. Are there *any* volunteer developers for
this? (If there are, I suspect they're all veterans of the microcomputer
demo days, when... *excessive conciseness* was similarly valued.)

VistA code

Posted Jul 18, 2009 15:20 UTC (Sat) by Kluge (guest, #2881) [Link]

Now *that* is an interesting and on-topic comment. I'd always wondered why I hadn't heard about wider adoption of VistA, given how comprehensive and well-tested it's supposed to be.

If the above code snippet is in any way representative, that would be an answer; it looks like a maintainability nightmare.

Dear Editor: how about an article on VistA and/or MUMPS. I'm sure it would be of interest to most LWN readers.

VistA code

Posted Jul 18, 2009 20:06 UTC (Sat) by jordanb (guest, #45668) [Link]

From the wikipedia article about MUMPS, a lot of those really short words (especially the single-letter ones) are abbreviations of language keywords. I imagine they could be mechanically expanded. Perhaps that would help readability a bit.

VistA code

Posted Jul 22, 2009 2:57 UTC (Wed) by Baylink (subscriber, #755) [Link]

Small children, hell; I've been a programmer for 20 years, and I'm bringin' up lunch, here.

That's worse than TECO.

VistA code

Posted Aug 7, 2009 14:55 UTC (Fri) by jschrod (subscriber, #1646) [Link]

In the worst 20 months of my work as an IT professional, I had to maintain code in a hospital. I learned a lot: how *not* to run your IT business... Your cited code is typical not only of VistA, but also for in-house code and proprietary systems written in M.

VistA is great

Posted Jul 19, 2009 21:43 UTC (Sun) by Wol (guest, #4433) [Link]

I gather MUMPS is very similar to Pick (my forte). It's slick, efficient, and easy to develop with (MUMPS has been renamed Cache - I'm sure you've heard of it ...)

Oh - and as for SAP etc, well, RDBMSs only survive because of all the marketing hype ... while relational theory is very good, any engine that complies with C&D's rules will, BY DESIGN, be *C* *R* *A* *P*.

Let me set you a challenge. Design a table to store a bunch of pizza types, and the list of toppings that make them up. Relational theory says you shouldn't store redundant data. Occams razor says you shouldn't mix data and metadata in a table. You can't store that data in a table without breaking BOTH those "shouldn't"s. And both those "shouldn't"s result in your *application* *needing* to know far more about the internals of how the data is stored than it should. A relational database management system *cannot* *store* a list. (It can *model* a list, but that's precisely the problem - you're taking complexity that the *database* should handle, and forcing it onto the *application*.)

An RDBMS is a gross breach of Einstein's corollary - "make things as simple as possible, *but* *no* *simpler*"! By making the DBMS *too* *simple*, the database itself becomes overly complex, and the applications become overly complex. The result is an awful mess ...

All hyped up by the mickeysofts of the database world, and sold to PHBs through advertising.

Cheers,
Wol

Pick etc

Posted Jul 20, 2009 15:55 UTC (Mon) by ringerc (subscriber, #3071) [Link]

I've had some passing experience with "post-relational" systems like IBM UniVerse, etc, which I understand are the sort of thing you refer to. Cache is in that family, no?

If so: My encounters with UniVerse-style post-relational systems have generally ended when I ran screaming in gibbering horror. Not because there's anything inherently wrong with the system, but because the people I've seen use them do so for ENTIRELY the wrong reasons and without understanding the alternatives... and the code they produce reflects that.

"Relational databases are too hard"
"Relational databases are too restrictive about how I store my data"
"I don't like SQL"
"A relational database can't store arbitrary attribute lists associated with objects"

(The biggest UniVerse advocate I've met is a die-hard VB6 fan that laments MS killing off the "best" language in favour of that unnecessarily-complicated .NET stuff. Argh.)

These are not good reasons to throw away structured data storage with strong checks and constraints that prevents you from even storing data that doesn't make sense within the application's data model. RDBMSs aren't perfect, but used properly they offer some HUGE advantages in data integrity terms that should not lightly be thrown away.

There are certainly applications where Cache, UniVerse and the like are a good fit - but IMO you should move toward those sorts of things only AFTER determining that a RDBMS is unusually cumbersome for your data. If you find yourself constantly forced kicking and screaming toward EAV (http://en.wikipedia.org/wiki/Entity-attribute-value_model) or excessively dynamic/templated relations even after lots of really serious design time that's usually a good hint.

Even then, I'd want to stick to relational storage wherever possible. Once you're used to making proper use of database constraints (primary and foreign key constraints, check constraints, uniqueness constraints, etc) and once you get a good schema set up with proper use of triggers to perform more complex data-integrity and sanity checking, not having those facilities available makes you _really_ nervous.

IMO if you don't choose an RDBMS that's fair enough, but you need to know _why_ and to be able to explain what about a relational database doesn't fit your application model.

Pick etc

Posted Jul 22, 2009 22:46 UTC (Wed) by Wol (guest, #4433) [Link]

Note that I said "relational *theory* is good". And I do wish that MV databases like UniVerse had a lot of the integrity constraints that are enforced by RDBMSs.

And I'd agree with you that - precisely *because* the MV databases are so flexible - they are often heavily misused. But so many systems were written for accounting by accountants, for engineering by engineers etc precisely because they were so *easy* *to* *use*. When designing a system, you should *always* do an EAR (entity, attribute, relationship) analysis. Then normalise the result! Only then do you go and implement it as a post-relational database. The result will blow any relational database out of the water. By ANY criteria you care to measure - ease of maintenance, speed of the system, hardware requirements, etc etc. I've mentioned the story before - where a system was ported from UniVerse to Oracle, and after six months hard work the Oracle consultants proudly announced to management "our query is now ten percent faster than your old system". Unfortunately they did it in front of the UniVerse administrator who retorted "But you're running on a twin Xeon machine. And you're *proud* that you're *only* ten percent faster than our Pentium 90?" (and while the person who originally told the story didn't say so, I strongly suspect that the original query on the old system was thrown together in ten seconds flat!)

But I describe the two systems as like C and Pascal. C allows you to shoot yourself in the foot in an almost infinite number of ways - just like MV. Pascal is very prescriptive, like RDBMSs, and if you want to do something outside what it deigns to permit, life is very hard. And unfortunately, real life does not provide data nicely arranged in sets for you to store in your RDBMS.

That's why the words "efficient" and "relational" should never appear together (apart from pointing out that they are mutually incompatible!). The fact is, you cannot store pretty much *any* real-world data structure in an RDBMS. You can model it, but in doing so, you have to (a) duplicate large chunks of data (which the relational model actually says you shouldn't do :-), and you have to mix data and metadata together in your tables (which means your programs have to know which are which, which means you have loads of extra complexity that you shouldn't need).

Properly designed, each MV FILE should be the equivalent of an entity view in a relational database. And the MV database will be able to present it as a relational view on request by any client software! As I said, all the entities should be analysed and stored in normal form, so an on-the-fly conversion to first normal form is trivial. But storing your data in an MV database like this will give you massive efficiency gains, and it will also give you a lot of integrity gains "by default".

As I said - I do take your point about strict enforcing of data types, and so on - but (a) you can do that in UniVerse, (b) it's all very well doing it but all too often I find the data model actually doesn't fit the real world very well and relational databases force me to store invalid data! (How do you store not-a-number in a numeric field, for example? As a good example - the age of a dead person?), (c) I have a real problem with mixing data and metadata - it makes programming horribly and unnecessarily complicated, and lastly (d) I tend to work on resource-constrained systems where the wasteful relational overhead is a right pain.

I'd argue that a relational database *management* *system* is NEVER the right database engine to use. I would also argue that designing your database as a relational database is ALWAYS the route to go. Just store the data in an NFNF (non-first-normal-form) database engine. It can ALWAYS convert to first-normal-form on the fly - a lot quicker and cheaper than the RDBMS can retrieve the data from disk.

Cheers,
Wol (wol at thewolery demon co uk)

Pick etc

Posted Jul 22, 2009 23:21 UTC (Wed) by Wol (guest, #4433) [Link]

Replying to myself, a couple of things I forgot.

Cache is NOT a post-relational database (at least, I don't think it is). It's very similar in many ways, very different in others. And it's not related to Pick in any way, shape or form.

And having looked up EAV, I wouldn't say that's a particularly good fit for MV either. What is a good fit is anything that has a repeating attribute (like a list!).

Let's take an outgoing invoice. It has a unique primary key (MV requires primary keys), ie the invoice number. Let's NOT indulge in the common habit of assigning a "unique primary key" to the invoice number - if we have a duplicate invoice number then we have a real-world data cockup and the database should throw a wobbly and scream "fix it" at the user! And if you use a "must be unique" requirement (as I get the impression you would), then we've gained absolutely nothing but we're now storing redundant information and we've muddled metadata (the primary key) and data (the invoice number) in the same table. Both are BAD.

The invoice also contains several line items. The line item table will need to store the invoice number (or the primary key). It will also need a unique identifier for each line (which could be the line number). So we now have duplicate information (the invoice number or primary key) AND metadata (the unique line identifier) AND meaningless rubbish (the line number) all mixed up with the real data - the line items themselves.

Why not just store a list of line items keyed on invoice number. That way, uniqueness of the invoice number is guaranteed (it's a primary key), you can retrieve the line number should you wish (because your line items are a LIST in the database), and you've not got any metadata mixed up with your data. If you want to display the line items as a table, it's dead easy, you just autogenerate the line number and duplicate the invoice number ON OUTPUT and you've got your relational table of line items.

Oh - and there's the efficiency/integrity gains there too. Retrieve any bit of the invoice, and you've got all the other data "for free". Delete the invoice number, and you delete ALL the invoice in one hit - no chances of a cockup in the cascading delete corrupting your database, etc etc.

Done properly, post-relational gives you all the advantages of relational, but it gives you one other, CRUCIAL, advantage. One object in the database mirrors one object in the real world. That *actively* *hinders* you from making design and analysis mistakes, resulting in the creation of databases that are robust, mirror the real world, and actually work! (Oh - and because you can store LISTS of foreign keys, it makes handling relationships - especially many-to-many - a lot easier.)

You want triggers etc to do your sanity checking. I find UniVerse does a large chunk of my sanity checking for me, by default! (As I said, though, it lets me be sloppy. I'd like some EASY ways to tighten up on that.)

Cheers,
Wol

Pick etc

Posted Jul 26, 2009 3:54 UTC (Sun) by ringerc (subscriber, #3071) [Link]

Your invoice example isn't a bad one, but it's far from compelling. Most relational databases offer you a few tools to handle that a bit more nicely by selectively breaking out of the purely relational model. The appeal being that you only do so explicitly and carefully, and when you do you generally retain many of the data integrity enforcement tools anyway.

In the particular case of invoices, I happen to store an invoice as a single record, with an array field for line items (they're not "lines" as such). The array is of a custom composite type. Essentially, it looks like a pre-ordered table, complete with appropriate constraints etc, embedded in-line in the invoice record. The invoice number is a natural PK - there's no need for a synthetic PK when the natural key is globally unique, guaranteed to be unchanging, and can be acceptably friendly to users.

PostgreSQL makes this sort of thing rather convenient. Even more so with PostgreSQL 8.4 now that there's the unnest() built-in and CTEs.

There are certainly cases where an RDBMS is a poor fit for the data. In my experience they're usually a pretty good one, though, and I like being able to use the relational model where possible for data integrity reasons. I agree it can be more cumbersome to achieve the same thing - and sometimes slower - but I think the ability to enforce strong data integrity requirements is well worth it. It's also, IMO, way easier for someone else to come along and understand the data model later.

A decent RDBMS never forces you to use synthetic primary keys. You may choose to - and I frequently do - but you should not be forced to. Decent relational databases support ON UPDATE CASCADE so when a PK field is updated its dependents are too. They also support composite primary keys that allow you to use a natural key composed of more than one field.

I guess I just don't find myself struggling against the relational model. For most of my data it's a pretty good fit, and when it's not easy workarounds present themselves - or at most a little work is required.

Admittedly I've never had the chance to do a side-by-side comparison with a "post-relational" multi-valued DBMS. There aren't, AFAIK, any decent free/open source ones out there, which for my work makes it a no-brainer to stick with PostgreSQL. This app will be around longer than I'll probably be working there, and is likely to outlive several OS generations etc, so it needs to be portable, accessible to people with available skills (SQL, Java, etc) and built entirely on an open source foundation. We've had tool/runtime vendors go out of business before - in fact, that's what motivated this development - and it's no fun at all. While building a replacement I currently get to keep a binary-only 4GL runtime from 1983 (!) that was built for Microsoft Xenix running a mission-critical system ... currently under SCO OpenServer running in VMWare with OpenServer running the binary in Xenix compatibility mode. Ugh.

That's another reason I favour relational databases. They're widely available, used, and understood. If yours dies you're somewhat more able to jump ship to another database platform. I'm not a subscriber to the "portable SQL" - ie "dumb down your code to the point where there's no point having an RDBMS since you do all the work in the app anyway" - school of thought. That said, though, it's still going to be a lot easier to port to another SQL-driven relational DB. Similarly, if a developer gets hit by a truck you're going to have a somewhat easier time finding someone else competent and capable of doing the job. I'd need a really, really compelling reason not to use one, and if I had one I'd look at object stores before multi-valued "post-relational" databases.

Experiences in the UK

Posted Jul 19, 2009 9:33 UTC (Sun) by alex (subscriber, #1355) [Link]

I get the feeling from the article the UK's use of IT in healthcare is a little ahead of the US. Having said that there have been pain points especially in the mandating of certain solutions. A lot of GP's (General Practice, the first line of primary care) complained when they were forced to throw away their working systems in surgeries and replace them with the new centralised NHS computer system which like any large IT project has been plagued by problems.

While having a national health system is a massive asset for health care that ensures continuity of care you have to beware of the one size fits all approach to IT.

Experiences in the UK

Posted Jul 19, 2009 17:26 UTC (Sun) by ms (subscriber, #41272) [Link]

The UK's commissioning of IT systems in health care are a disaster, continuously outsourced to the cheapest tender, coming in years late, full of bugs and unusable. A couple of years ago, a new system coming in to place new medic graduates in hospitals ruined the careers of thousands (many were placed in hospitals at the other end of the country; placed in jobs which they were not trained for; or in some cases, after 6+ years of goverment-funded training, were then not given jobs at all) and security bugs then revealed everything about applicants down to their sexuality.

The way our civil service commissions software has apparently not moved on from waterfall (hell, even PRINCE2 would be an improvement -- actually, what's most galling about this is that the software industry in London is very capable of delivering these projects well, using proven techniques (DSDM etc) which would catch problems early and make sure the product delivered is the product desired, but apparently it's better to out source the development of software that affects 65 million people, to developers in India) and the results are entirely predictable. The waste of billions of pounds of tax-payers' money should result in many in the civil service being put in prison.

Experiences in the UK

Posted Jul 19, 2009 18:55 UTC (Sun) by plunix (guest, #59652) [Link]

If "one size fits all" works for health care, why not for IT?

Experiences in the UK

Posted Jul 19, 2009 21:51 UTC (Sun) by Wol (guest, #4433) [Link]

My wife has just retired from working in a doctor's surgery. She was an administrator, using EMIS, who supply between a third and half of surgeries with their software.

When this new system was introduced, the government said surgeries must have software from an approved supplier. EMIS *refused* to sign the approval agreement because "You are asking US to pay penalties, if SOMEONE ELSE screws up" (I can't remember the details, but it was something like if a surgery using EMIS was unable to talk electronically to a hospital or Primary Care Trust then EMIS was liable, even if it was because the "secure communications link" supplier hadn't installed the link, or the PCT's software didn't work, or pretty much any excuse).

The government backed down because of the huge number of surgeries using EMIS, and the blatant unfairness of the contract, but that sort of stupidity is, sadly, pretty typical.

Cheers,
Wol

Experiences in the UK

Posted Jul 30, 2009 15:15 UTC (Thu) by lysse (guest, #3190) [Link]

Thanks for reminding me that I need to write to my doctor and tell them that I don't want my medical records broadcast throughout the entire country and accessible wherever there happens to be an unattended terminal. I keep forgetting to do that.

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds