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

Difference between revisions of "SOA: Minimal Functional Requirements"

From HL7Wiki
Jump to navigation Jump to search
Line 57: Line 57:
  
 
====Identifier====
 
====Identifier====
An identifier must be bound to constraint statements.  This allows reference to any identified part of the constraint hierarchy.
+
An identifier may be bound to constraint statements within the template.  This allows reference to any part of the constraint hierarchy that can be identified.
  
 
''MIF Implementation''
 
''MIF Implementation''
 +
 +
'''//class/@name'''
 +
 +
Within the scope of a given template each class is uniquely named and can thus be identified.
  
 
====Reference Model Identifier====
 
====Reference Model Identifier====
Line 66: Line 70:
 
''MIF Implementation''
 
''MIF Implementation''
  
====Terminology Binding====
+
It is assumed the base reference model is the RIM.  By definition a LIM is a constraint of a CIM, and a CIM a constraint of a DIM.  The entire constraint hierarchy can be found.  With each constrained class named.
Terminology concept terms may be bound to constraint statements.  This may provide semantic information throughout the constraint statement.
+
 
 +
'''//class/derivationSupplier/@name'''
 +
 
 +
Dependencies are ordered by:
 +
 
 +
'''//class/derivationSupplier/@staticModelDerivationId'''
 +
 
 +
====Terminology/Vocabulary Binding====
 +
Terminology/Voabulary concept terms may be bound to constraint statements.  This may provide semantic information about the  
 +
 
 +
''MIF Implementation''
 +
 
 +
'''//class/attribute[@name='classCode']/'''
  
 
====Explicit Constraints====
 
====Explicit Constraints====
Constraint statements can be made on attributes and associations of a reference model.
+
Constraint statements can be made on attributes and associations of a reference model.  This allows the definition of children in the serialization hierarchy.
  
 
=====Multiplicity=====
 
=====Multiplicity=====

Revision as of 13:25, 19 July 2006

Attempting to enumerate minimal set of template functional items to be addressed for use as "Semantic Signifiers" withing the SOA (Services Oriented Architecture) SIG "Resource Locator and Update Service" specficiation.

Removed a lot of the authorship and custodianship metadata that is not directly supporting structural and semantic definition. Would like to bring in more requirements only as deemed necessary.


SOA: Semantic Signifiers - HL7 Profile Functional Specification

Introduction

This document describes the functional requirements of HL7 templates to support service oriented architecture specification usage. This enables definitions of constraints to content within a HL7 operating profile for a service.

HL7 V3 can represent a template in the form of a LIM - Localized Information Model. It is strictly a serializable message model that is a valid constraint on a CIM - Constrained Information Model. CIMs define message structure and semantics that may be sent over the wire using the XML implementation technology specification, this includes the naming of the XML tags. LIMs are implented as constraints on this wire protocol and can define further restrictions on content allowed.

MIF is the "Model Interchange Format" it is a HL7 artifact formalism for describing all modelling performed in HL7 v3. It is implemented as a set of XML schemas. "mifStaticModelSerialized.xsd" - specfically supports serializable LIM definition. The support for the stated general templating requirements by the MIF is examined here.

Identification/Discovery

This section describes functional requirement items that support identification of the template instance explicitly or by discovery of for desired semantics

Identifier

An identifier must be bound to templates. This allows reference to a given template from other templates.

MIF Implementation

/serializedStaticModels/serializedStaticModel/@name

Name

This may be defined to provide an indication of semantics.

MIF Implementation

/serializedStaticModels/serializedStaticModel/@title


Semantics Description

This is a description of the semantics that may be inferred when this template is invoked. It will aid in determining whether the semantics are suitable for use in a desired context.

MIF Implementation

/serializedStaticModels/serializedStaticModel/annotations/description

Version

This is an indication of the current revision of the template. Versions of a template require that there are no semantic differences to be considered the same template.

MIF Implementation

/serializedStaticModels/serializedStaticModel/history/@id


Classification

Terminology concept terms or free text terms may be bound to the template. This may provide an indication of the content of the constraint statement.

MIF Implementation

/serializedStaticModels/serializedStaticModel/header/@subject

Constraint

This section describes functional requirement items that support constraining a reference model structure, binding to concepts, specialization of templates.

Identifier

An identifier may be bound to constraint statements within the template. This allows reference to any part of the constraint hierarchy that can be identified.

MIF Implementation

//class/@name

Within the scope of a given template each class is uniquely named and can thus be identified.

Reference Model Identifier

Defines the reference model that is being constrained for this template.

MIF Implementation

It is assumed the base reference model is the RIM. By definition a LIM is a constraint of a CIM, and a CIM a constraint of a DIM. The entire constraint hierarchy can be found. With each constrained class named.

//class/derivationSupplier/@name

Dependencies are ordered by:

//class/derivationSupplier/@staticModelDerivationId

Terminology/Vocabulary Binding

Terminology/Voabulary concept terms may be bound to constraint statements. This may provide semantic information about the

MIF Implementation

//class/attribute[@name='classCode']/

Explicit Constraints

Constraint statements can be made on attributes and associations of a reference model. This allows the definition of children in the serialization hierarchy.

Multiplicity

The allowed range of instances allowed of specified attribute/association, this may be 0-not allowed, 1-allowed, greater than 1-a collection.

Collection Type

Defines the type of collection that may be instansiated sorted list, unsorted list, set.

Instantiation Conditions

Conditional statement defining the inclusion conditions of explicitly defined constraints or referenced templates. This may include reference to environmental variables and to instance values that are within the context of a given template.

Referenced

Reference to identified template to include specified constraints defined in another template.

Choice

Statement of choice of a number of possible distinct explicitly defined constraints or referenced templates.

Instantiation Criteria

Statement of criteria of allowed or exclusion properties of referenced templates not identified directly.

Data Value Constraints

Data value constraints are specific constraints that support common ways of constraining specific data value types. In the HL7 profile this includes all HL7 datatypes.

Range

Numeric range specification, supporting inclusive and exclusive ranges also single and double sided ranges. This includes numeric types and physical quantities.

Measurement Units

This constrains measurement units to a value set that is allowed. This applies to physical quantities.

Code System

This constrains the code system to an allowed set of code system identifiers. This applies to the coded value types.

Value Set

Includes assumed (default) values, fixed values and enumerations for string and coded value types.

Regular Expression

Defines allowed string patterns and applied to string types.

Identifier Root

This constrains the root of an identifier to an allowed set of identifier root values. This applies to identifier types.

Assertions

Stated assertions defining allowed instantiation constraints of values. This may depend on environment variables or other instantiated values within the context of the given template.