Template:— representing_person_in_organization (rep_pers_org) Date: 2008/02/26 15:26:31
Revision: 1.15

This section specifies the template representing_person_in_organization.

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

Description

This template describes the representation of a person to an organization independent of other entities in order to be referenced from other templates.

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


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

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

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 representing_person_organization template

Figure 2 —  The graphical representation of the representing_person_organization template

Input parameters
The following input parameters are defined for this template:
last_name (Type='STRING')
The last name (surname) of the person.
first_name (Default=/NULL,Type='STRING', Optional)
The first element of the Person's list of forenames. This parameter is optional.
middle_names (Default=/NULL,Type='STRING', Optional)
The Person's other forenames.
prefix_titles (Type='STRING', Optional)
The text that specifies the Person's social or professional standing and appear before his or her names. This parameter is optional.
suffix_titles (Type='STRING', Optional)
The text that specifies the Person's social or professional standing and appear after his or her names. This parameter is optional.
org_id (Type='STRING')
The identifier or name of the organization.
org_id_class_name (Type='CLASS')
The name of the class used to classify the identification (Identification_assignment) of the organization. This provides the role or reason for the identification. For example "CAGE code" (urn:plcs:rdl:std: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 definition of the class referenced by the parameter @org_id_class_name class.
Reference parameters
The following reference parameters are defined for this template:
pers(Type='ENTITY (Person)')
Allow the Person entity instantiated in this path to be referenced when this template is used.
Note: The Person entity can be referenced in a template path by:
%^target = $representing_person_in_organization.pers%
where target is the parameter to which the Person is bound.
org(Type='ENTITY (Organization)')
Allow the Organization entity instantiated in this path to be referenced when this template is used.
Note: The Organization entity can be referenced in a template path by:
%^target = $representing_person_in_organization.org%
where target is the parameter to which the Organization is bound.
pers_in_org(Type='ENTITY (Person_in_organization)')
Allow the Person_in_organization entity instantiated in this path to be referenced when this template is used.
Note: The Person_in_organization entity can be referenced in a template path by:
%^target = $representing_person_in_organization.pers_in_org%
where target is the parameter to which the Person_in_organization is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique person in organization
Each instance of the entity (Person_in_organization) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_person_in_organization) namely: org_id, org_id_class_name, org_id_ecl_id, last_name, first_name, middle_names.
The instance is referenced by the following template parameter: pers_in_org.
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 Templates Help/Information section.
-- Bind the Person_in_organization to the parameter ^pers_in_org.
-- The parameter is a reference parameter so the Person_in_organization
-- entity can be referred to when this template is used.
%^pers_in_org = Person_in_organization%

-- Set the Person_in_organization attribute role
Person_in_organization.role = '/IGNORE'

-- Instantiate Person and point at it
Person_in_organization.concerned_person -> Person

-- Bind the Person to the parameter ^pers.
-- The parameter is a reference parameter so the Person
-- entity can be referred to when this template is used.
%^pers = Person%

-- Set the Person attributes
Person.last_name -> @last_name
Person.first_name -> @first_name
Person.middle_names -> @middle_names
Person.prefix_titles -> @prefix_titles
Person.suffix_titles -> @suffix_titles

-- Bind the Person to the parameter ^pers.
-- The parameter is a reference parameter so the Person
-- entity can be referred to when this template is used.
%^pers = Person%

-- Instantiate representing_organization template
/representing_organization(
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id)/

-- Bind the Organization in the to the representing_organization template
-- to the parameter ^org.
-- The parameter is a reference parameter so the Organization
-- entity can be referred to when this template is used.
%^org = $representing_organization.org%

-- Assign the Person_in_organization to the Organization in the
-- representing_organization template
Person_in_organization.containing_organization -> ^org
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Person_in_organization.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
@12 /representing_person_in_organization(last_name='Olsen', first_name='Bob', middle_names='$', prefix_titles='$', suffix_titles='$', org_id='Bike Rent Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_person_in_organization template is shown in Figure 4 below.)
Note that the template representing_organization is used in the diagram:
@3 /representing_organization(id='Bike Hire Limited', id_class_name='Organization_name', id_ecl_id='urn:plcs:rdl:std')/


Figure 3 —  Entities instantiated by representing_person_in_organization template

Figure 3 —  Entities instantiated by representing_person_in_organization 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:
@12 /representing_person_in_organization(last_name='Olsen', first_name='Bob', middle_names='$', prefix_titles='$', suffix_titles='$', org_id='Bike Rent Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_person_in_organization template

Figure 4 —  Instantiation of representing_person_in_organization template

Characterizations
The following section details how the representing_person_in_organization 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 following characterizations may apply:
Characterization Assigning identification

NOTE   this characterization is optional.

Organization and Person may have optional identifiers.

The Organization may have two or more identifiers (e.g. an id and name). This may be represented by using the template assigning_identification_with_no_organization to assign a name or identifier to an Organization.

The person may be identified with an additional identifier by using the template assigning_identification_with_no_organization to assign an id to Person.



Figure 5 —  Assigning identification

Figure 5 —  Assigning identification

Characterization Assigning classifications

NOTE   this characterization is optional.

Several entities may be classified to provide further semantics to the data.

The role of a person in an organization is represented using the template assigning_reference_data to assign a class to an Person_in_organization.

The type of organization may be represented by using the template assigning_reference_data to assign a class to Organization.



Figure 6 —  Assigning classifications

Figure 6 —  Assigning classifications

Characterization Assigning address

NOTE   this characterization is optional.

An address may be assigned to a person in organization, e.g. to provide contact information.

The address of a person is represented using the template assigning_address to assign an address to a Person_in_organization. This is illustrated in Figure 1.



Figure 7 —  Assigning address

Figure 7 —  Assigning address

© OASIS 2010 — All rights reserved