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

Difference between revisions of "TemplateId"

From HL7Wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
A globally unique, non-semantic, identifier for the Template. This is the primary identifier for all [[Template]]s. TemplateId is an attribute of the [[InfrastructureRoot]] class.
 
A globally unique, non-semantic, identifier for the Template. This is the primary identifier for all [[Template]]s. 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 knowledge artefact to which it conforms.
+
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.
  
 
Notes:
 
Notes:
*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 can be ignored by receivers.  
+
*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.
*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. Prohibiting custom templates would be similar to prohibiting local extensions, which you're also not allowed to do.  
+
*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.  
 
*If an application rejects a message because that message contains a template the application doesn't recognize, that application would be considered non-conformant.  
*(discussion)The use of specific templateId may be constrained, see [[Constraints on infrastructureRoot attributes]]
+
*The use of specific templateId may not be constrained, see [[Constraints on infrastructureRoot attributes]]
  
 
==Example==
 
==Example==

Revision as of 00:41, 15 September 2006

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.

Notes:

  • 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

Example

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

<Observation> 
  <templateId root="2.16.840.1.113883.2.1.3.2.4.12" 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 -->
<Observation/>