NIIMBL Agent Ontology
type: Ontology
label: Biopharma Agent Ontology
abstract: This module contains terms and relations necessary for representing various types of agents (actors) in biopharmaceutical manufacturing. The actors here correspond to both human actors as well as engineered systems and organizations.
contributor: Adlane Rebai, Millipore Sigma
contributor: Ana Nikolov, OAGi
contributor: Boonserm Kulvatunyou, NIST
contributor: Cameron Gibbs, CrownPoint Technologies, LLC
contributor: Gabriela Henning, NIST
contributor: Jan Kemper, AstraZeneca
contributor: Marie-Aude Coutouly, Millipore Sigma
contributor: Melissa Weller, CrownPoint Technologies, LLC
contributor: Milos Drobnjakovic, OAGi
contributor: Stephen J. Granite, CrownPoint Technologies, LLC
contributor: Stephen Kahmann, CrownPoint Technologies, LLC
creator: NIIMBL BD-1 Ontology Group
license: http://opensource.org/licenses/MIT
imports: Core
version IRI: BiopharmaAgent
copyright: Copyright (c) 2022, 2023, 2024, 2025, 2026 Open Applications Group
maturity: Released

agent identification
type: Class
subclass of: Identifier
equivalent class: Class
  intersection of: Identifier
  intersection of: Restriction
    on property: designates
    some values from: Agent
alternative label: agent identifier
example: Contractor ID code used to reference a quality audit team in batch release documentation; Employee ID badge number assigned to a technician responsible for operating a bioreactor
first order logic definition: AgentIdentification(x) ↔ Identifier(x) ∧ ∃y(Agent(y) ∧ designates(x, y))
natural language definition: identifier for a person, group of persons, or engineered system with an agent role
semi formal natural language definition: every instance of 'agent identification' is defined as exactly an instance of 'identifier' that 'designates' some 'agent'

manufacturing operator
type: Class
subclass of: Agent
equivalent class: Class
  intersection of: Class
    union of: EngineeredSystem
    union of: Person
  intersection of: Restriction
    on property: hasRole
    some values from: manufacturing operator role
example: trained person that uses thawing equipment to initiate the thawing of a vial retrieved from liquid nitrogen storage; a skid-mounted dosing unit with integrated sensors and actuators that controls a solid feeder to dispense a specified amount of Benzoyl Peroxide into a polymerization reactor as part of a PVC resin production process; a person who is planned to operate a centrifuge during a cell harvest step in a biomanufacturing process
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: ManufacturingOperator(x) ↔ (Person(x) ∨ EngineeredSystem(x)) ∧ ∃r(ManufacturingOperatorRole(r) ∧ hasRole(x, r))
natural language definition: person or engineered system with a manufacturing operator role
semi formal natural language definition: every instance of 'manufacturing operator' is defined as exactly an instance of 'person' or 'engineered system' that 'has role' some 'manufacturing operator role'

manufacturing operator role
type: Class
subclass of: AgentRole
subclass of: Restriction
  on property: BFO_0000054
  all values from: Class
    intersection of: ManufacturingProcess
    intersection of: Restriction
      on property: BFO_0000055
      some values from: Class
        intersection of: Capability
        intersection of: Restriction
    intersection of: Restriction
      on property: BFO_0000057
      some values from: Class
        union of: EngineeredSystem
        union of: Person
subclass of: Restriction
  on property: roleOf
  some values from: Class
    union of: EngineeredSystem
    union of: Person
example: role of a trained person that uses thawing equipment to initiate the thawing of a vial retrieved from liquid nitrogen storage; role held by a skid-mounted dosing unit with integrated sensors and actuators when it controls a solid feeder to dispense a specified amount of Benzoyl Peroxide into a polymerization reactor as part of a PVC resin production process; role held by a person who is planned to operate a centrifuge during a cell harvest step
first order logic axiom: ManufacturingOperatorRole(x) → AgentRole(x) ∧ ∃y((EngineeredSystem(y) ∨ Person(y)) ∧ roleOf(x, y) ∧ ∀z(hasRealization(x, z) → (ManufacturingProcess(z) ∧ ∃c∃e(Capability(c) ∧ PieceOfEquipment(e) ∧ capabilityOf(c, e) ∧ realizes(z, c)) ∧ hasParticipantAtSomeTime(z, y))))
is primitive: true
natural language definition: agent role held by a person or engineered system when it uses, controls, or is planned to use or control one or more pieces of equipment to carry out some manufacturing process
primitive rationale: There are insufficient constructs to define necessary and sufficient conditions. Namely, patterns for useing or controlling the equipment need to be developed further.
semi formal natural language axiom: If x is a 'manufacturing operator role', then x is an 'agent role' that is the 'role of' some 'engineered system' or 'person' y, and whenever x is 'realized by' some z, then z must be a 'manufacturing process' that 'realizes' a 'capability' which is a 'capability of' some 'piece of equipment', and z must 'have as participant at some time' y

validator
type: Class
subclass of: Agent
equivalent class: Class
  intersection of: Class
    union of: EngineeredSystem
    union of: Organization
    union of: Person
  intersection of: Restriction
    on property: hasRole
    some values from: validator role
example: Head of the Process and Product Control Laboratory who signs the gas chromatography analysis of a PVC lot, confirming its conformance to specification criteria; Quality Assurance Department that issues in-process control reports for production batches based on automated test results and predefined acceptance criteria, without requiring individual sign-off
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Validator(x) ↔ (Person(x) ∨ Organization(x) ∨ EngineeredSystem(x)) ∧ ∃r(ValidatorRole(r) ∧ hasRole(x, r))
natural language definition: person, organization, or engineered system with an validator role
semi formal natural language definition: Every instance of 'validator' is defined as exactly an instance of 'person', 'organization', or 'engineered system' that 'has role' some 'validator role'

validator role
type: Class
subclass of: AgentRole
subclass of: Restriction
  on property: roleOf
  some values from: Class
    union of: EngineeredSystem
    union of: Organization
    union of: Person
example: role held by the Head of the Process and Product Control Laboratory when they sign the gas chromatography analysis of a PVC lot, confirming its conformance to specification criteria; role held by a Quality Assurance Department when it issues in-process control reports for production batches based on automated test results and predefined acceptance criteria, without requiring individual sign-off
first order logic axiom: ValidatorRole(x) → AgentRole(x) ∧ ∃y((EngineeredSystem(y) ∨ Organization(y) ∨ Person(y)) ∧ roleOf(x, y))
is primitive: true
natural language definition: agent role held by a person, organization, or engineered system when it assesses the conformance or acceptability of an information artifact, material entity, or planned process against specified criteria
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, a full set of constructs for representing assesing the conformance or accebtability of all the entities in the definition are lacking.
semi formal natural language axiom: If x is a 'validator role', then x is an 'agent role' that is the 'role of' an 'engineered system', 'organization', or 'person'.