This wiki has undergone a migration to Confluence found Here


From HL7Wiki
Revision as of 00:41, 15 September 2006 by GrahameGrieve (talk | contribs)
Jump to navigation Jump to search

See Clarification of use of templateId for ongoing discussions, below is the current understanding.

A globally unique, non-semantic, identifier for the Template. This is the primary identifier for all Templates. TemplateId is an attribute of the InfrastructureRoot class.

TemplateId is a globally unique reference that can be used by look-up services and registries in an international distributed computing environment, and can be stored within each instance as a permanent record of the constraint artefact to which it conforms.


  • The constraint applies from the "point of occurrence" (of the templateId attribute) in the model. A sender can assert any templateID anywhere they like. It must be ignored by receivers for all purposes except validation.
  • receivers are not required to validate against the templates
  • There's no reason to prohibit the declaration of any templates at all, because the declaration of non-recognized templates has no impact on the receiver.
  • If an application rejects a message because that message contains a template the application doesn't recognize, that application would be considered non-conformant.
  • The use of specific templateId may not be constrained, see Constraints on infrastructureRoot attributes


The example shows an instance (with ID 373645) of an observation (of type Barthel-index). The observation uses the REPC_MT000103.Barthel_Index template.

  <templateId root="2.16.840.1.113883." extension="REPC_MT000103.Barthel_Index">
  <id codeSystem="2.16.840.1.113883.3.19.4" extension="373645"/>
  <effectiveTime value="200601191211"/>
  <value value="3"/>
  <!-- various bits omitted from this example -->