This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

PIIM

From HL7Wiki
Jump to navigation Jump to search

A PIIM is a Platform Independent Implementation Model, a kind of PIM.

Need for a PIIM

  • Rene: Looking at the experiences of v3 developers, who all say that MDA is necessary for proper v3 implementation, I'd personally suggest that it's probably time that HL7 created (and publishes) an UML (enriched with OCL) specification of its static model artefacts as well as the data types. Having UML allows implementers to use tons of standard tools; and it helps them to avoid the schema-based implementation pitfall. (Note: this doesn't mean that MIF goes away, but just that there's an official transform with published UML files).
  • Grahame: Lloyd and I have spoken about producing a PIM type model like Rene proposes (it is UML - with as few stereotypes and property strings as we can get away with. Vanilla UML as much as possible..) We know what's involved, it just needs tooling done - but it won't happen unless people start asking for it - and there's also a resources stion I don't think it can entirely be done for r1, but it can entirely be done for r2 If we want MDA, then we should not do serializationss at all, and just do PIIMs.
  • Lloyd: My understanding (from past conversations) is that a PIIM is just an RMIM with the magic exposed. So InfrastructureRoot stuff gets exposed, mandatory gets turned into the nullFlavor being exposed or not permitted, binding to concrete datatypes, dropping CMETs and replacing with direct model references. Whole thing expressed as UML. If the requirements were written up, it should be doable as a simple transform. Grahame: There's devils in the details, particularly in the graphics side of things and UML consistency.
  • John Koisch: getting to a solution is vital - working software trumps everything else. This is why "just" providing a PIIM is insufficient. But ignoring some of the design decisions that were made in the process to date is silly - babies and bathwater. Grahame has the right of it - complexity does not go away in the real world, no matter how many frameworks you put in place. What is needed is a way to contextualize the simplest possible solutions within the complex reality that is healthcare. Developers need to be able to ignore the non-essential parts of a solution stack without endangering the scalability and efficacy of the solution. A dumb-simple implementable model needs to be traceable to mammoth monstrosity that expresses the complexity.


Creating a PIIM

I don't know how you apply pressure. I'd start by clarifying why you say "implementers want this done" when the only people I've heard speak about it is you and I

Discussion on serialization

  • Grahame: I think part of the idea of a PIIM is that it puts us out of the serialisation business. Here's the model, you need to agree on serialisation out of some box somewhere. Only for a few things - CDA type things - does HL7 have an opinion.
  • Lloyd: need to provide at least one workable serialization implementers can use as a default or a recommendation of a standardized third-party one..I'm not saying we prevent the use of others. If the model is fully defined, and we have clear rules about what needs to be expressed in a wire form to be "safe", no reason we can't open it up to anyone who wants to play, though I'd encourage limiting the number of "officially endorsed" versions to a small number to minimize needless profusion and implementer grief.
  • Grahame: Well, see, there you go. the tension between allowing anything or just picking one of a few is exactly the tension between vendors and programs I talk about here: [1] (bottom half)
  • Alexander: the absolute worst thing HL7 could do is leave the serialization business and leave that to undefined third parties. The current pace at which ITS-es pop up is absolutely a killer for interoperability, and confuses just about anyone I have spoken to, except for a happy few. Without serialization HL7 is not a solution anymore, but just a nice thought with a long time to market, and even steeper investments in knowledge to get it to work for you. Example: Green CDA was marketed through all channels I read as "something better than HL7". HL7 has to stop endorsing new ITS-es, and stick with exactly one.