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 11: Line 11:
 
===Identification/Discovery===
 
===Identification/Discovery===
 
This section describes functional requirement items that support identification of the template instance explicitly or by discovery of for desired semantics
 
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 constraint statements.  This allows reference to the template from other templates.
+
====Identifier====
#Name - This may be defined to provide an indication of semantics.
+
'''Requirement''' An identifier must be bound to constraint statements.  This allows reference to the template from other templates.
#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.
+
 
#Version - This is an indication of the current revision of the template.  Versions of a template require that there are no semantic differences??
+
'''MIF Reference'''
#Classification - Terminology concept terms may be bound to constraint statements.  This may provide semantic information throughout the constraint statement.
+
 
 +
====Name====
 +
'''Requirement''' This may be defined to provide an indication of semantics.
 +
 
 +
====Semantics Description====
 +
'''Requirement''' 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.
 +
 
 +
====Version====
 +
'''Requirement''' This is an indication of the current revision of the template.  Versions of a template require that there are no semantic differences??
 +
====Classification=====
 +
'''Requirement''' Terminology concept terms may be bound to constraint statements.  This may provide semantic information throughout the constraint statement.
  
 
===Constraint===
 
===Constraint===
This section describes functional requirement items that support constraining a reference model structure, binding to concepts, specialization of templates.
+
'''Requirement''' This section describes functional requirement items that support constraining a reference model structure, binding to concepts, specialization of templates.
#Identifier - An identifier must be bound to constraint statements.  This allows reference to any identified part of the constraint hierarchy.
+
====Identifier====
#Reference Model Identifier - Defines the reference model that is being constrained for this template.
+
'''Requirement''' An identifier must be bound to constraint statements.  This allows reference to any identified part of the constraint hierarchy.
#Terminology Binding - Terminology concept terms may be bound to constraint statements.  This may provide semantic information throughout the constraint statement.
+
 
#Explicit Constraints - Constraint statements can be made on attributes and associations of a reference model.
+
====Reference Model Identifier====
##Multiplicity - The allowed range of instances allowed of specified attribute/association, this may be 0-not allowed, 1-allowed, greater than 1-a collection.
+
'''Requirement''' Defines the reference model that is being constrained for this template.
##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.
+
====Terminology Binding====
##Referenced - Reference to identified template to include specified constraints defined in another template.
+
'''Requirement''' Terminology concept terms may be bound to constraint statements.  This may provide semantic information throughout the constraint statement.
##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.
+
====Explicit Constraints====
#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.
+
'''Requirement''' Constraint statements can be made on attributes and associations of a reference model.
##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.
+
=====Multiplicity=====
##Code System - This constrains the code system to an allowed set of code system identifiers.  This applies to the coded value types.
+
'''Requirement''' The allowed range of instances allowed of specified attribute/association, this may be 0-not allowed, 1-allowed, greater than 1-a collection.
##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.
+
=====Collection Type=====
##Identifier Root - This constrains the root of an identifier to an allowed set of identifier root values. This applies to identifier types.
+
'''Requirement''' Defines the type of collection that may be instansiated sorted list, unsorted list, set.
##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.
+
 
 +
=====Instantiation Conditions=====
 +
'''Requirement''' 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=====
 +
'''Requirement''' Reference to identified template to include specified constraints defined in another template.
 +
 
 +
=====Choice=====
 +
'''Requirement''' Statement of choice of a number of possible distinct explicitly defined constraints or referenced templates.
 +
 
 +
=====Instantiation Criteria=====
 +
'''Requirement''' Statement of criteria of allowed or exclusion properties of referenced templates not identified directly.
 +
 
 +
=====Data Value Constraints=====
 +
'''Requirement''' 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=====
 +
'''Requirement''' Numeric range specification, supporting inclusive and exclusive ranges also single and double sided ranges.  This includes numeric types and physical quantities.
 +
 
 +
=====Measurement Units=====
 +
'''Requirement''' This constrains measurement units to a value set that is allowed.  This applies to physical quantities.
 +
 
 +
=====Code System=====
 +
'''Requirement''' This constrains the code system to an allowed set of code system identifiers.  This applies to the coded value types.
 +
 
 +
=====Value Set=====
 +
'''Requirement''' Includes assumed (default) values, fixed values and enumerations for string and coded value types.
 +
 
 +
=====Regular Expression=====
 +
'''Requirement''' Defines allowed string patterns and applied to string types.
 +
 
 +
=====Identifier Root=====
 +
'''Requirement''' This constrains the root of an identifier to an allowed set of identifier root values. This applies to identifier types.
 +
 
 +
=====Assertions=====
 +
'''Requirement''' 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.
  
 
==Analysis of MIF Support==
 
==Analysis of MIF Support==

Revision as of 11:56, 17 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.

Identification/Discovery

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

Identifier

Requirement An identifier must be bound to constraint statements. This allows reference to the template from other templates.

MIF Reference

Name

Requirement This may be defined to provide an indication of semantics.

Semantics Description

Requirement 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.

Version

Requirement This is an indication of the current revision of the template. Versions of a template require that there are no semantic differences??

Classification=

Requirement Terminology concept terms may be bound to constraint statements. This may provide semantic information throughout the constraint statement.

Constraint

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

Identifier

Requirement An identifier must be bound to constraint statements. This allows reference to any identified part of the constraint hierarchy.

Reference Model Identifier

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

Terminology Binding

Requirement Terminology concept terms may be bound to constraint statements. This may provide semantic information throughout the constraint statement.

Explicit Constraints

Requirement Constraint statements can be made on attributes and associations of a reference model.

Multiplicity

Requirement 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

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

Instantiation Conditions

Requirement 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

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

Choice

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

Instantiation Criteria

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

Data Value Constraints

Requirement 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

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

Measurement Units

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

Code System

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

Value Set

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

Regular Expression

Requirement Defines allowed string patterns and applied to string types.

Identifier Root

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

Assertions

Requirement 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.

Analysis of MIF Support

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 models.


Identification/Discovery

Identifier

/serializedStaticModels/serializedStaticModel/@name

Name

/serializedStaticModels/serializedStaticModel/@name

Semantics Description

Version

Classification

Constraint

  1. Identifier
  2. Reference Model Identifier - Fixed to 'RIM' (?)
  3. Terminology Binding - This applies only to clinical CMET or Template definitions. The entry point will be an act class within the clinical statement. The terminology binding is done via the Act.code value set. This can be expressed as a value set constraint on this attrbute. (?)
  4. Explicit Constraints
    1. Multiplicity
    2. Collection Type
    3. Instantiation Conditions
    4. Referenced
    5. Choice
    6. Instantiation Criteria
  5. Data Value Constraints
    1. Range
    2. Measurement Units
    3. Code System
    4. Value Set
    5. Regular Expression
    6. Identifier Root
    7. Assertions