Question: ISO 21090 namespace

Question:

I had a first view into the XML-Schema and Schematron of the ISO-21090 datatypes. I did not find any namespace information. In which namespace do these elements “live” in? Or are they in the “nonamespace”? If so, is there a specific reason for this?

Answer:

This is called “chameleon namespacing“: the ISO datatypes are not in any particular namespace, but whatever is assigned to them where they are used. Quoting from the standard:

All elements  shall  be in some  namespace, and the namespace  shall  be defined in the conformance statements of information processing entities that claim conformance with  this International Standard. This International Standard  reserves the namespace “uri:iso.org:21090” for direct applications of these datatypes such as testing environments

HL7 uses them in the urn:hl7-org:v3 namespace. Other organisations can use them in whatever namespace they want.

10 Comments

  1. Jim McCusker says:

    This is just about the silliest thing I’ve heard about ISO 21090, and I’ve heard a lot of silly things. Just name the namespace. Why let this be “wherever”?

  2. Grahame Grieve says:

    HI Jim

    Namespaces are highly inflammatory as a concept, and not all tools are real good at supporting them (especially at supporting them efficiently). Since where the data types are used, they always are terminal elements elsewhere, users would always be flipping namespaces between the structure and the data type elements. And had we pre-assigned a namespace, they all would’ve been in urn:org-hl7:v3, which would have been a problem for some users too.

    One of the editors of the schema spec suggested this solution, and I think it actually works pretty well – what’s the downside?

  3. Jim McCusker says:

    It’s an unnecessary redirection. ISO 21090 is a defined vocabulary, and as such it deserves a namespace to call its own. I’ve never known namespaces to be especially controversial, but I come from the RDF/OWL world. Even most XML vocabularies have defined namespaces, in fact, that’s what lets it be extensible.

  4. Grahame Grieve says:

    So you haven’t said what doesn’t work. HL7 looked at these as “types” not defined elements, and felt that they would be instantiated in a context which was already a defined vocabulary.

    In terms of perspective of use of XML – see http://www.healthintersections.com.au/?p=470 – we’re not saying 21090 can’t be used as a vocabulary, just that it’s not one directly.

    I do not think that this is the silliest thing about ISO 21090.

  5. Renato Iannella says:

    Standards should declare XML Namespaces. Leaving them out will lead to interoperability issues.

    As for an XML Design pattern, the “Venetian Blind” is my preference: http://www.xfront.com/GlobalVersusLocal.html#ThirdDesign

  6. Jozef says:

    In our case (CDISC ODM Standard) it brings us in problems. The ODM standard states that extensions to elements are allowed as long as the “live” in their own namespace that is different from the ODM namespace.
    We use the “redefine” XML-Schema construct to allow such extensions. In this case the goal is to be able to incorporate data points from EHRs into clinical research records.
    As we MUST use a namespace for the ISO-21090 data points, would “uri:iso.org:21090” be a good choice? We do not want to use the HL7-v3 namespace as that would be confusing, and the user could think these are still the CDA-R2 data types.

    • Grahame Grieve says:

      I’m not sure why it brings you problems. perhaps you could explain more. The intent was that when you used the data types in the ODM standard, you would just put them in the ODM namespace. HL7 also says that extensions are allowed if they are in a different namespace. But perhaps I have not understood something.

      You can use uri:iso.org:21090

  7. Jozef says:

    Thanks Graham,

    Well, we currently do not want to bring them in the ODM standard itself. This has to do with thinks like (minimum) requirements for certification, and control.
    Also, we have a long-time strategy that we allow elements/attributes from other standards to be used in ours, but only when they live in another namespace, so that it is always clear that these elements/attributes were not developed by us, but by other organisations.

    Of course, the ODM standard might well evolve in such a way that the ISO-21090 datatypes become an integral part of the ODM standard, in which case they will of course then also live in the ODM namespace.

    Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*

%d bloggers like this: