Template:— assigning_observation (asg_obs) Date: 2008/02/21 16:29:21
Revision: 1.19

This section specifies the template assigning_observation.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent the an observation made on something such as a product (Product_as_individual) or an activity (Activity_actual).

AP239 Issue (RBN-7)
The ISO-10303-239 1st edition does not support the Observation_item_selected entity.

This has been raised as issue, RBN-7, 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.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_observation". The text highlighted in blue shows the template parameters.

The Observation is represented by an Observation.

The Observation is identified by an Identification_assignment and which is specified through the template assigning_identification described within the capability C001: assigning_identifiers (NB Capabilities are not documented in this release of the PLCS standard) . See Template #2 in Figure 1.

The Identification_assignment is classified as a "Observation_identification_code" (urn:plcs:rdl:std:Observation_identification_code) (or sub-class thereof).

The time when the Observation was made is represented by assigning a date and time (using the relationship Date_or_date_time_assignment) to the Observation using the assigning_time template with the Date_time being classified as a type of "Date_actual_observation" (urn:plcs:rdl:std:Date_actual_observation). See Template #1 in Figure 1.

NOTE    The assignment of dates and times is described the capability C036: assigning_date_time (NB Capabilities are not documented in this release of the PLCS standard) .



Figure 1 —  An EXPRESS-G representation of the Information model for assigning_observation

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_observation

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the assigning_observation template

Figure 2 —  The graphical representation of the assigning_observation template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier being assigned to the Observation.
id_class_name (Type='CLASS')
The name of the class used to classify the identifier and so provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Observation_identification_code" (urn:plcs:rdl:std:Observation_identification_code)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the id_class_name class
org_id (Type='STRING')
The identifier of the organization that "owns" the identifier.
org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the org_id_class_name class
descr (Type='STRING')
The text that provides further information about the Observation.
dsc_class_name (Type='CLASS')
The name of the class used to classify the identifier and so provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Description" (urn:plcs:rdl:std:Description)
dsc_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the dsc_class_name class
date_class_name (Type='CLASS')
The name of the class being used to classify the role date assignment, e.g. the date when the Observation was made.
The following classes and their sub-classes can be used:
classifications: "Date_actual_observation" (urn:plcs:rdl:std:Date_actual_observation)
date_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library in which the date class is defined.
year (Type= 'TYPE (year_number)' )
The year component of the date and time the observation was made.
month (Type= 'TYPE (month_in_year_number)' )
The month component of the date and time the observation was made.
day (Type= 'TYPE (day_in_month_number)' )
The day component of the date and time the observation was made.
hour (Type= 'TYPE (hour_in_day)' )
The hour component of the date and time the observation was made.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
The minute component of the date and time the observation was made. This parameter is optional. If not given, it will remain unset.
second (Type= 'TYPE (second_in_minute)' , Optional)
The second component of the date and time the observation was made. This parameter is optional. If not given, it will remain unset.
sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset from Coordinated Universal Time of the time the observation was made. Enumeration values are: 'ahead', 'exact' or 'behind'.
hour_offset (Type='INTEGER')
The number of hours by which the time the observation was made is offset from Coordinated Universal Time.
minute_offset (Type='INTEGER', Optional)
The number of minutes by which the time the observation was made is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
applies_to (Type= 'SELECT (observation_content_item)' )
related_records (Type= 'ENTITY (Observation_item_selected)' , Optional)
observed_during (Type= 'ENTITY (Activity_actual)' , Optional)
observed_by (Type= 'SELECT (observation_recorder)' , Optional)
in_context (Type= 'SELECT (observed_context)' , Optional)
Reference parameters
The following reference parameters are defined for this template:
observation(Type='ENTITY (Observation)')
Allow the Observation entity instantiated in this path to be referenced when this template is used.
Note: The Observation entity can be referenced in a template path by:
%^target = $assigning_observation.observation%
where target is the parameter to which the Observation is bound.
observation_item(Type='ENTITY (Observation_item_selected)')
Allow the Observation_item_selected entity instantiated in this path to be referenced when this template is used.
Note: The Observation_item_selected entity can be referenced in a template path by:
%^target = $assigning_observation.observation_item%
where target is the parameter to which the Observation_item_selected is bound.
Restrictions
The Observation_item entity should be treated as an abstract entity and not instantiated. Instead use the sub type Observation_item_selected subtype.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Observation
There shall be at most one instance of the entity (Observation) within the data set uniquely identified by a combination of the following parameters on this template (assigning_observation) namely: id, id_class_name, id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: observation.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Observation

-- Mark the Identification_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^observation = Observation%
Observation.id = '/IGNORE'
Observation.name = '/IGNORE'
Observation.description = '/IGNORE'
Observation.observed_during -> @observed_during
Observation.observed_by -> @observed_by
Observation.in_context -> @in_context
Observation.related_records -> @related_records
Observation_item_selected
%^observation_item = Observation_item_selected%
Observation.applies_to -> ^observation_item
^observation_item.contents -> @applies_to
^observation_item.item_identifier = '/IGNORE'
^observation_item.item_type = '/IGNORE'
^observation_item.access_comment = '/IGNORE'

-- Identify the Observation
/assigning_identification(
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id,
    items=^observation)/

-- Assign a date to the Observation
/assigning_time(
    date_class_name=@date_class_name,
    date_ecl_id=@date_ecl_id,
    year=@year,
    month=@month,
    day=@day,
    hour=@hour,
    minute=@minute,
    second=@second,
    sense=@sense,
    hour_offset=@hour_offset,
    minute_offset=@minute_offset,
    items=^observation)/

-- Assign a description to the Observation
/assigning_descriptor(
    descr=@descr,
    class_name=@dsc_class_name,
    ecl_id=@dsc_ecl_id,
    is_assigned_to=^observation)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Observation.id '/IGNORE'
Observation.name '/IGNORE'
Observation.description '/IGNORE'
Observation_item_selected.item_identifier '/IGNORE' Observation_item.item_identifier
Observation_item_selected.item_type '/IGNORE' Observation_item.item_type
Observation_item_selected.access_comment '/IGNORE' Observation_item.access_comment
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_observation(id='Obs1', id_class_name='Observation_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='BikeHireCo', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', descr='A persistent squeaking when cycling', dsc_class_name='Decription', dsc_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_observation', date_ecl_id='urn:plcs:rdl:std', year='2007', month='2', day='2', hour='10', minute='30', second='0', sense='EXACT', hour_offset='0', minute_offset='0')/
(an illustration of the consolidated assigning_observation template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_observation template

Figure 3 —  Entities instantiated by assigning_observation template

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_observation(id='Obs1', id_class_name='Observation_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='BikeHireCo', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', descr='A persistent squeaking when cycling', dsc_class_name='Decription', dsc_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_observation', date_ecl_id='urn:plcs:rdl:std', year='2007', month='2', day='2', hour='10', minute='30', second='0', sense='EXACT', hour_offset='0', minute_offset='0')/


Figure 4 —  Instantiation of assigning_observation template

Figure 4 —  Instantiation of assigning_observation template

Characterizations
The following section details how the assigning_observation template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "assigning_observation".


Figure 5 —  Characterization of assigning_observation template

Figure 5 —  Characterization of assigning_observation template

The following characterizations may apply:
Characterization Assigning reference data

NOTE   this characterization is optional.

In order to distinguish between the different types of observations, the Observation can be classified by using the template assigning_reference_data. See Template #3 in Figure 5.

Characterization Assigning person or organization

NOTE   this characterization is mandatory.

The person or organization that made the observation must be assigned to the Observation by Person_in_organization or Organization (using the relationship Organization_or_person_in_organization_assignment) The assignment is defined by the templates assigning_organization and assigning_person_in_organization respectively. See Templates #5 and #6 in Figure 5.

NOTE    In both cases, the role of the person or organization should be classified as a type of "Observer_of" (urn:plcs:rdl:std:Observer_of).

Characterization Assigning documentation

NOTE   this characterization is optional.

A text string providing a description of the Observation is represented by the template assigning_descriptor. If more documentation is necessary to describe the order, documents can be assigned using the Document_assignment relationship as described in the template assigning_document.

© OASIS 2008 — All rights reserved