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

"Shallow" vs. "Deep" LIMs (Templates)

From HL7Wiki
Jump to navigation Jump to search

Background

In discssion 10/29/2005, M&M discussed the issue of defining and supporting both "shallow" and "deep" LIMs. (This occurred after a discussion that templates are represented as a "Local Information Model" - LIM.)

The discussion arose in the context of determining how to asseret the binding to a LIM in a message instance. The issue arises because

  • The element names in a LIM do not need to be the same as the name in the CIM (Message Type) that the LIM element constrains.
    • This is asserted in the M&M Template Iplementation Specification.
    • This rule allows a single template (LIM) to be asserted as a constraint against multiple, independently defined message types (CIMs)
  • If a receiving system seeks to validate a received instance against the templates, the receiving system must perform a coordinated "tree walk" on both the message and the LIM simultaneously in order to determine which LIM element should be governing each node.
    • If sending system can include in the nodes of the instance message an identification of the LIM element used to constrain the instance node, the coordinated tree walk is straightforward.
    • Absent such identification in the instance, there are numerous example cases in which the