Capability (C019):— assigning_approvals | Date: 2008/01/15 06:30:31 Revision: 1.51 |
This section provides a business level overview of this capability.
An approval is an action by means of which a product or activity or other item is agreed to or officially confirmed as acceptable or satisfactory by a person or organization.
EXAMPLE A product design might be approved by a customer prior to the commencement of manufacture.
EXAMPLE A project start-date might be approved by a line manager in consultation with his/her superior.
In basic approvals, only one signature or authorization is required.
EXAMPLE An example of a basic approval might be the authorizing of a single Work_order by an individual on a certain date.
In complex approvals, a series of authorizations may be required for a single approval with a particular status, or a cycle of coordinated approvals that vary in status. Moreover, a single approval may apply to a number of different items.
EXAMPLE An example of a complex approval with a single approval status might be the authorizing of a payment where two signatures are required on a cheque or payment order before it can be sent.
EXAMPLE An example of a complex approval with a multiple approval statuses might be an approval cycle where provisional approval is required from a subordinate before an item may be considered for final approval by a superior.
EXAMPLE An example of a complex approval where an approval applies to a number of items might be the authorization of a series of contracts for a number of staff hired on the same day.
In the case of an approval that applies to a number of items, the assignment of the approval may have a single role or multiple roles.
EXAMPLE An example of the assignment of the approval with multiple roles might occur when the same approval is assigned to one or more items both in order to satisfy a legal requirement and in order to satisfy an internal auditing requirement.
This section provides an overview of the information model that supports this capability.
The EXPRESS-G for the approval model is shown in Figure 1 below and explained in the following sections.
NOTE The EXPRESS-G is not complete. For the complete EXPRESS see the modules: Approval, Date time, and Person organization.
Approvals are established through the creation of Approval objects that are assigned to constructs representing the items being approved by Approval_assignment objects. The status of the approval is provided by using reference data to classify the Approval_status associated with the Approval. The following approval statuses are provided. If an organization has additional approval statuses, then they should be made sub classes of the existing statuses if appropriate, or if not direct subclasses of Approval_status.
Persons and or organizations that provided the approval (or otherwise), are related to Approval objects using Approving_person_organization objects. Relationships between Approval objects are established by means of Approval_relationship objects.
The purpose of the approval is provided by using reference data to classify the Approval (see assigning_reference_data #1 in Figure 1)
EXAMPLE The purpose is to approve the component for use on an aircraft.
For each basic approval, single instances of Approval, Approval_assignment, and Approving_person_organization are created.
Figure 2 illustrates the representation of a Person authorizing a Work_order.
Figure 3 illustrates the representation of an Organization authorizing a Work_order.
In a case where a series of authorizations are required for a single approval with a particular status, single instances of Approval, and multiple instances of Approving_person_organization are created.
EXAMPLE A design change needs to be approved by both the customer and the supplier. Once they have both "signed off" on the change, it is approved.
Figure 4 illustrates the representation of two Persons authorizing a Work_order, with both authorizing the approval.
In a case where a series of authorizations are carried out as multiple approvals with differing statuses, multiple instances of Approval and Approving_person_organization are created. Each Approval indicates an approval by a given person.
EXAMPLE A design change can be approved from a legal perspective and then a safety perspective. The approval cycle is sequential. First the change must meet legal requirements such as environmental emissions, then it must be safe.
Figure 5 illustrates the representation of two Persons authorizing a Work_order by making successive contributions to an approval cycle. First the legal approval, then the safety approval. In order to simplify the diagram, a number of required instances are not shown in the diagram. In particular, the dates and the Approval_statuss and their classifications.
A number of Approval_relationships may be employed in this fashion to construct complex hierarchies of approvals that contribute to an approval cycle.
In a case where an authorization covers multiple items under a single approval assignment role, a single instance of Approval_assignment is required.
Figure 6 illustrates the representation of a Person authorizing two Work_orders in circumstances where the same role is served by the assignment of that Approval to both orders.
This section specifies how the information model can be further characterized by the assignment of additional information such as dates, approvals and people or organizations.
The following characterizations may apply.
There are two types of date associated with the approval activities. The date on which an approval is valid, and the date on which a person or organization grants an approval. In the case of a single person or organization granting an approval these dates will be the same. Where there are multiple people or organizations granting an approval, there will be a date associated with each approver and then a date associated with the approval itself. In addition, the dates may be the dates that approval statement was made, or the dates on which it was planned to be made.
The date on which an approval is stated is represented by using the assigning_time template to assign a date and time to the Approval. If this represents the planned date of approval, then the assigning_time template classifies the date and time as "Date planned" (urn:plcs:rdl:std:Date planned). If the date and time is the actual date, then the assigning_time template classifies the date and time as "Date actual" (urn:plcs:rdl:std:Date actual).
The date on which an individual person or organisation granted approval is represented by using the assigning_time template to assign a date and time to the Approving_person_organization. If this represents the planned date of approval, then the assigning_time template classifies the date and time as "Date planned" (urn:plcs:rdl:std:Date planned). If the date and time is the actual date, then the assigning_time template classifies the date and time as "Date actual" (urn:plcs:rdl:std:Date actual).
NOTE Both Approval and Approving_person_organization have date attributes that could be used. However, the recommended approach is to always assign dates to items thus allowing for multiple dates in multiple roles. Hence, the use of the date attributes is discouraged.
This has been raised as issue, RBN-2, 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.
Figure 8 illustrates the representation of a Approval carried out by an Approving_person_organization where Date_times are recorded for when an approval was planned to take effect, when the approval was signed off, and when the approval actually took effect.
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_approval.
NOTE An explanation of a template and the associated instantiation path is provided in the Template overview section.
This template describes how to assign an approval to something. The same approval may be assigned to many items, but the recommendation is that each item have its own separate approval.
target
is the parameter to which the
Approval_assignment
is bound.
target
is the parameter to which the
Approval
is bound.
target
is the parameter to which the
Approving_person_organization
is bound.
target
is the parameter to which the
State_observed
is bound.
target
is the parameter to which the
State_assertion
is bound.
target
is the parameter to which the
State_definition
is bound.
Entity in path | Value | Inherited from |
Approval_assignment.role | '/IGNORE' | — |
Approval.purpose | '/IGNORE' | — |
Approval_status.status_name | '/IGNORE' | — |
NOTE this characterization is optional.
The purpose of an approval is represented using the template assigning_reference_data to assign a class to an Approval to identify the purpose of approval and to the Approval_status to assign a status to the approval.
NOTE this characterization is optional.
Dates can be associated with the approval, in a given role, by using the template assigning_time.
Two dates are commonly assigned to the template assigning_approval, namely the date on which the item is planned to be approved, and the date of actual approval.
If the date is the planned date of approval, then the assigning_time template classifies the date and time as "Date planned" (urn:plcs:rdl:std:Date planned).
If the date and time is the actual date, then the assigning_time template classifies the date and time as "Date actual" (urn:plcs:rdl:std:Date actual).
NOTE this characterization is optional.
Approvals can be related to other approvals, such as for a successive approval as illustrated in Figure 7, by an instance of entity Approval_relationship. The relationship should be classified accordingly, as illustrated in Figure 7.
This section specifies the template assigning_approving_person.
NOTE An explanation of a template and the associated instantiation path is provided in the Template overview section.
The use of template,assigning_approving_person, has been deprecated since 2008-01-09.
The assigning_approval template now uses the representing_person_in_organization and representing_organization templatesThis template describes how to assign a person (in an organization) to an approval of something.
target
is the parameter to which the
Person
is bound.
target
is the parameter to which the
Organization
is bound.
target
is the parameter to which the
Approving_person_organization
is bound.
target
is the parameter to which the
Person_in_organization
is bound.
Entity in path | Value | Inherited from |
Approving_person_organization.role | '/IGNORE' | — |
Person_in_organization.role | '/IGNORE' | — |
Organization.name | '/IGNORE' | — |
Organization.id | '/IGNORE' | — |
NOTE this characterization is optional.
The date on which a person gave an approval is represented by using the assigning_time template to assign a date and time to the Approving_person_organization. If this represents the planned date of approval, then the assigning_time template classifies the date and time as "Date planned" (urn:plcs:rdl:std:Date planned). If the date and time is the actual date, then the assigning_time template classifies the date and time as "Date actual" (urn:plcs:rdl:std:Date actual). This is illustrated in Figure 3, template @3.
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. This is illustrated in Figure 3, template @3.
The reason or role for the assignment of a person to an approval is represented by using the template assigning_reference_data to assign a class to Approving_person_organization. This is illustrated in Figure 3, template @5.
The type of organization may be represented by using the template assigning_reference_data to assign a class to Organization. This is illustrated in Figure 1.
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.
This section specifies the template assigning_approving_organization.
NOTE An explanation of a template and the associated instantiation path is provided in the Template overview section.
The use of template,assigning_approving_organization, has been deprecated since 2008-01-09.
The assigning_approval template now uses the representing_person_in_organization and representing_organization templatesThis template describes how to assign an organization (not a person in an organization) to an approval of something.
target
is the parameter to which the
Organization
is bound.
target
is the parameter to which the
Approving_person_organization
is bound.
Entity in path | Value | Inherited from |
Approving_person_organization.role | '/IGNORE' | — |
Organization.name | '/IGNORE' | — |
Organization.id | '/IGNORE' | — |
NOTE this characterization is optional.
The date on which an organization gave an approval is represented by using the assigning_time template to assign a date and time to the Approving_person_organization. If this represents the planned date of approval, then the assigning_time template classifies the date and time as "Date planned" (urn:plcs:rdl:std:Date planned). If the date and time is the actual date, then the assigning_time template classifies the date and time as "Date actual" (urn:plcs:rdl:std:Date actual). This is illustrated in Figure 3, template @3.
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. This is illustrated in Figure 3, template @3.
The reason or role for the assignment of a person to an approval is represented by using the template assigning_reference_data to assign a class to Approving_person_organization. This is illustrated in Figure 3, template @5.
The type of organization may be represented by using the template assigning_reference_data to assign a class to Organization. This is illustrated in Figure 1.
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.
This capability "Assigning an Approval" is related to the following capabilities:
This capability "Assigning an Approval" is dependent on the following capabilities:
The following classes of reference data are required for this capability:
[Approval_decomposition_relationship]© OASIS 2010 — All rights reserved