Monday, May 20, 2013

Heresy

One test of a good standard is the degree of skill needed by a developer to correctly understand and implement it.  One seemingly innocuous proposal for FHIR which I welcomed was to change the term "Value Set" into what some thought would be much more easily understood "Code Set".

As I said, I would welcome this.  I teach HL7 routinely, and I always have to explain what a value set is, but the term code set (or even better, code list) is much more obvious in meaning.  From my own early days coding in Healthcare IT before I ever learned HL7 (yes, there was such a time), I created objects that were all about dealing with codes.  CodeSet, CodeList, CodeMap were all names of things that I worked with routinely.

Then I learned about value sets.  Value Sets used to be HL7 lore.  It's assumed knowledge when you read one of the foundational HL7 standards (Vocabulary).  The material is now pretty well defined in HL7's Core Principles specification (which took more than 3 years to be balloted as an HL7 Standard).  So now this is canon (actually, it was canon before it was ever balloted).  Changing it to make it easier for some developer to use is clearly a non-starter.

[DYK: Did you know the HL7 Wiki has categories for Lore and Approved Lore?]

I'm amused because while I've spent a good deal of time teaching people what these things are, and how to use them properly, I also struggle with the need to make it easier.  As I reviewed again in my annual training last week, the least effective way to ensure that something is used safely is to provide documentation about safe use.  It is far better to design it in.

In other overall scheme of things, whether we call it value set or code set is not all that material.  I'll just stop for a moment, look at my audience, and say "a value set is a set of codes", and move on.  Maybe this term will catch on so well that someday I won't have to.  Looking at Google, "Code Set" generates 1.8M hits, "Code List" 5.9M hits, and "Value Set" 3M hits.  A bit more playing around shows that "Code List" appears more frequently in general IT contexts, and "Value Set" or "Code Set" more frequently in Healthcare IT contexts.  I can hope.

Of course, I fully expect to be punished for my heresy.  Until then, I'll simply have to create another rule in Outlook.

  Keith




1 comment:

  1. In looking at the FHIR spec, one of the things that bothers me is the use of the value attribute to support the extensibility framework. Fine if your format of choice is XML, not so of you've chosen JSON as the only supported format option. The data types Codeable Concept and Coding (and their associated code lists) seem to cover the all the use cases. For me the extensibility framework is YAGNI. Thoughts?

    ReplyDelete