Capability (C093):— assigning_codes | Date: 2007/06/22 12:22:09 Revision: 1.12 |
This section provides a business level overview of this capability.
Codes are often used to simplify the classification or characterization of a specific type of object. Each code is shorthand for a specific term defined within a classification system. This type of codes are often used in legacy applications where the code has a fixed character length and the different fields in the code have meaning.
Each individual code value used by existing applications could be defined in a reference data library prior to any data exchange. However, the number of codes in use is likely to make this prohibitive. Consequently the coded value will be exchanged and reference data used to define the type of the code.
EXAMPLE Consequence codification of failure modes in Def Stan 02-45 is done using codes as described in the table below:
Code | Def Stan 02-45 Definition |
I | Catastrophic |
II | Critical |
III | Marginal |
VI | Negligible |
Clarification of the difference between codes used as for classification, and codes used for identification.
Codes are strings that are structured according to some convention. Often different sets of characters within the string carry a particular meaning. For example, part numbers are sometimes made up of a set of strings, with each set carrying some meaning. For example, product function, manufacturing plant etc. Structured codes are traditionally used for two purposes:
Where the code is being used for identification, the capability C001: assigning_identifiers should be used.
This capability, assigning_codes, should only be used when a code is provided for classification or characterization, and when the code is not available as a class within an existing reference data library (RDL) (see C010: assigning_reference_data).
This section provides an overview of the information model that supports this capability.
Codes are applied using Class and Classification_assignment. The Class entity represents the code (encoding). Type of code, and encoding system are determined by classification through the usage of reference data, as described in the capability C010: assigning_reference_data.
Figure 1 below shows the main entities and key capabilities used.
The code (encoding) shall be represented in the Class. name attribute.
Type of code and its encoding system is best represented as a single External_class, where the class definition in the RDL contains a description of both the type of code and its encoding system (source).
NOTE The type of code and its encoding system may also be represented as separate External_class's, where the membership relationship between them is established using Classification_assignment. However, this level of complexity is not recommended since the usage of this capability will be replaced by the usage of the capability C010: assigning_reference_data as codes are being entered into different reference data libraries.
NOTE As codes gets registered as reference data in different reference data libraries, they will be exchanged by the usage of reference data. However, the only thing that will be affected is the shift from representing a code as a Class to External_class.
Issue: RBN-4 by Rob Bodington (05-11-23) [minor_technical, open] - {Type = contents}
There should be a reference parameter, class_assgn, in template assigning_code assigned to the entity classification_assignment. Figures 3 and 4 should be updated to show the reference parameters
This capability does not require any further characterization of the entities introduced by this capability.
The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.
This section specifies the template assigning_code.
NOTE An explanation of a template and the associated instantiation path is provided in the Template overview section.
This template describes the assignment of codes for classification to entity instances within a data set, where the class being used is not defined in a Reference Data Library, i.e. the class can not be referenced using the External_class_library entity. This is e.g. often the case for codes being used in legacy applications.
NOTE The templates assigning_code and assigning_reference_data can be used interchangeably, i.e. wherever the template assigning_reference_data is being used the assigning_code template can be used instead, and vice versa. The usage of the respective template is dependent upon whether the class being used is defined as Reference Data or not.
NOTE For DEXlib edition 1, the identification of the class (i.e. the identification of the code) is done using the Class.name attribute. The Class entity instance is then classified as being a member of a classification system using the assigning_reference_data template. This will be superseded in DEXlib edition 2, where the Class.name will be set to '/IGNORE' and the identification instead will be provided using the assigning_identification_with_no_organization template. The assigning_identification_with_no_organization template includes both the identification of the class (i.e. the code) and its classification.
target
is the parameter to which the
Class
is bound.
target
is the parameter to which the
Classification_assignment
is bound.
target
is the parameter to which the
External_class
is bound.
target
is the parameter to which the
External_class_library
is bound.
Entity in path | Value | Inherited from |
Class.id | '/IGNORE' | — |
Class.description | '/IGNORE' | — |
Class.name | @class_name | — |
Classification_assignment.role | '/IGNORE' | — |
#1 = ACTIVITY('/IGNORE','/IGNORE','/IGNORE',$); #2 = CLASS('/IGNORE','A','/IGNORE'); #3 = CLASSIFICATION_ASSIGNMENT(#2,(#1),'/IGNORE'); #5 = CLASSIFICATION_ASSIGNMENT(#7,(#2),'/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Mission_criticallity_code','/IGNORE',#8); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample',$);
NOTE this characterization is optional.
Descriptions can be assigned to the Class using the assigning_descriptor template, e.g. in order to provide a description for the exchanged code.
This has been raised as issue, GYL-3, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.
NOTE this characterization is optional.
Document references can be assigned to the Class using the assigning_document_reference template, e.g. in order to provide a reference to a document containing the description for the exchanged code, or a description of the entire encoding system.
This has been raised as issue, GYL-3, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.
NOTE this characterization is optional.
Identifications can be assigned to the Class using the assigning_identification template, e.g. in order to provide a name for the exchanged code.
This has been raised as issue, GYL-4, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.
This capability "Assigning codes in accordance with an encoding system" is related to the following capabilities:
This capability "Assigning codes in accordance with an encoding system" is dependent on the following capabilities:
© OASIS 2010 — All rights reserved