Material Procurement and Storage Ontology
This module contains terms and relations for tracking and tracing of materials. The purpose of the module is to provide support for use cases related to connecting process control to raw material procurement as well as for use cases related to regulatory compliance.
Cameron Gibbs, CrownPoint Technologies, LLC
Melissa Weller, CrownPoint Technologies, LLC
Stephen J. Granite, CrownPoint Technologies, LLC
Stephen Kahmann, CrownPoint Technologies, LLC
NIIMBL Material Procurement and Storage Ontology
Copyright (c) 2022, 2023, 2024, 2025, 2026 Open Applications Group
CAS registry number
Merck KGaA
CAS number
64-19-7 classifies acetic acid.; 50-00-0 classifies formaldehyde
1) Governmental agencies rely on CAS Registry Numbers for substance identification in regulatory applications because they are unique, easy validated, and internationally recognized. 2) A CAS Registry Number is assigned by the Chemical Abstracts Service to uniquely identify a chemical substance within its curated registry. Each CAS number corresponds to a single substance entry, supporting consistent reference across scientific, regulatory, and industrial domains. The number follows a standard format of three digit groups separated by hyphens (e.g., 7732-18-5 for water).
classifier that is a sequence of digits defined within the chemical abstracts service (CAS) registry, which classifies a type of chemical substance
There are insufficient ontological constructs available to define the necessary and sufficient conditions for this class. Specifically, constructs for expressing unique identification at the type level, chemical entities and the structured scheme by which CAS Registry Numbers are created are missing.
if x is a 'CAS registry number' then x is a 'classifier'
Since CAS Registry Numbers provide unique identification at the type level, the property denotes should be used as it is not constrained to be functional. The property designates must not be used in this context, as it is functional and implies reference to a single individual, which would incorrectly constrain the CAS Registry Number to denote only one instance rather than a chemical type.
catalog number
G8270 is the catalog number of glucose created by SigmaAldrich; 23225 is the catalog number for the Pierce BCA Protein Assay Kit created by ThermoFisher;17543801 is the catalog number for MabSelect SuRe resins 25ml created by Cytiva; 17543802 is the catalog number for MabSelect SuRe resins 25ml created by Cytiva
CatalogNumber(x) → Classifier(x) ∧ ∃m(MaterialProduct(m) ∧ classifies(x,m))
classifier that is sequence of alphanumeric characters created by an organization to classify a product they offer for sale
There are insufficient ontological constructs available to define the necessary and sufficient conditions for this class. Specifically, constructs for expressing unique identification at the type level, and constructs around creation of a number by an organization are missing.
if x is a 'catalog number' then x is an 'classifier' and x 'classifies' a 'material product'
certificate of analysis
Certificate of Analysis for Sodium Acetate Trihydrate (Catalog No. SA-12345, Lot 2025-05-17-01) issued by ChemStandard Inc. on 2025-07-20. The certificate reports measured values for properties such as purity (99.6%), pH (8.4), and water content (39.7%), and confirms the material meets ACS Reagent Grade specification.
https://www.canada.ca/en/health-canada/services/drugs-health-products/compliance-enforcement/good-manufacturing-practices/guidance-documents/gmp-guidelines-0001/document.html and EU GMP Guide Part I and ASTM E3077
An internal lab notebook entry documenting the results of an experiment performed on a chemical compound; A certificate issued by a manufacturer stating that a product meets the requirements of a specific standard (e.g., ISO 9001), without including the results of any specific measurements performed on the material.
A Certificate of Analysis (CoA) includes numerical measurement results for one or more product attributes, in contrast to a Certificate of Conformance which may only indicate pass/fail status. A CoA also typically contains details such as the name and address of the laboratory, product specifications, testing procedures, and the signature and date of the approving authority. It is issued for a specific lot or batch and is commonly used as part of quality assurance and regulatory compliance documentation.
CertificateOfAnalysis(x) → Certificate(x) ∧ ∃q∃y((Disposition(q) ∨ Quality(q)) ∧ (MaterialProduct(y) ∨ Lot(y)) ∧ specificallyDependsOn(q, y) ∧ ∃r(RequirementSpecification(r) ∧ hasContinuantPartAtAllTimes(x, r) ∧ requirementSatisfiedBy(r, q)) ∧ ∃v(hasContinuantPartAtAllTimes(x, v) ∧ isMeasuredValueOfAtSomeTime(v, q)) ∧ certifies(x, y))
certificate that provides quantitative results from analytical tests to verify that the attributes of a specific lot, batch, or individual product satisfy the requirement specifications stated in the certificate
This class is expected to remain primitive until a treatment of ternary relations is established. In particular, it is not currently possible to assert that the material certified by the document satisfies the requirements specified within the same certificate.
If x is a 'certificate of analysis', then x is a 'certificate' such that there exists a 'disposition' or 'quality' q that 'specifically depends on' a 'material product' or 'lot' y, where x 'has as continuant part at all times' some 'requirement specification' that is 'satisfied by' q, and x also 'has as continuant part at all times' some value that is the 'measured value of at some time' q, and x 'certifies' y
enterprise resource planning code
An ERP code assigned to a lot of cell culture media manufactured in a pharmaceutical company, used to track the batch through inventory, quality control, and release processes. Another ERP code may identify a specific media formulation type purchased from a supplier, while yet another code designates the supplier itself for integration into the procurement workflow.
ERP code
1) the erp code are typically assigned within the master data (data that does not change over time) as opposed to transactional data 2) the erp code typically used as primary key in master data within ERP
ERPCode(x) → InformationSystemSpecificCode(x)
information system specific code of an entity within an enterprise resource planning (ERP) system
Same primitive rationale as the primitive rationale under the information system specific code.
if x is an 'ERP code', then x is an 'information system specific code'
expired material state
The state of a vaccine vial starting from its expiration date, during which it can no longer realize the capability to elicit an immune response, and which ends when the vial is discarded as biological waste; The state of a prepacked chromatography column beginning after it exceeds its validated number of separation cycles, during which it can no longer realize its specified separation capability, and which ends when the column is discarded
The state of a chromatography column that temporarily fails performance specifications but is undergoing regeneration for reuse.
1) The expired state ends only with the end of the material entity’s lifecycle, since the material entity cannot regain the lost capability. This state is considered terminal with respect to the function or disposition that has ceased, and no restoration to the original functional condition is possible under normal or intended circumstances. 2) A specified capability refers to a capability that the material entity is intended designed, or qualified to realize, as defined by product design, quality specification, regulatory requirement, or intended use. 3) Expired state does not correlate with the best before date which is applied to cases (typically food industry) where an items capability may only deteriorate slightly , and is thus are unlikely to become dangerous as a result. The notions sorrounding best before should be modeled separately from this term. 4) The first instant of the expired state corresponds to the point in time when the material entity is no longer capable of realizing its specified capability. This point is typically predicted or determined in advance based on stability studies, predefined shelf life, or other empirical criteria, and may be documented through quality specifications, labeling, or regulatory filings.
material state during which the participating material entity can no longer realize a particular specified capability and that temporally ends with the destruction or disposal of the material entity.
There are insufficient constructs to represent the association between the state and the capability not being realizable during the duration of the state
If x is an 'expired state', then x is a 'material state'.
information system specific code
ERP code is an identifier within an ERP system
InformationSystemSpecificCode(x) → InformationContentEntity(x) ∧ ∃y( Entity(y) ∧ designates(x,y) ∨ classifies(x,y))
denoter that designates or classifies an entity or entity type within some information system that is internal to a particular organization
There are insufficient constructs (such as 'Information system') in the ontology to provide necessary and sufficient conditions.
if x is an 'information system specific code', then x is an 'denoter' that 'classifies' or 'denotes' some 'entity'
has material expiration time instant value expression
A vaccine vial will expire on "2025-12-31T00:00:00";A thawed cell culture medium will expire at "2025-07-26 14:00"; A chromatography resin will expire on "April 1, 2027";A prefilled syringe will expire in "week 48 of 2025"
This relation links a material entity to the time point at which it first enters its expired state, as represented by a temporal instant value expression. The value is typically derived from predictive data such as shelf life, stability testing, or regulatory limits, and reflects the anticipated loss of the entity’s specified capability.
relation from a material entity to a temporal value expression that is the value expression of the first instant of an expiration state of that material entity
By being a link to a time instant value expression, this property imposes no further constraint on the formatting of the value. For example, it may be represented as an xsd:dateTime, ISO 8601 string, or other temporal literal format, depending on implementation needs. The time instant value expression itself must be linked to the actual value through an appropriate data property (e.g., has date-time instant value in case of xsd:dateTime).
has material first use time instant value expression
chromatography resin was first used on "March 10, 2025";reagent bottle was first opened on "2025-01-01"; stainless steel bioreactor was first used in production on "2022-11-15"
relation from a material entity to a temporal value expression that is the value expression of the first instant of the material use process of the material entity
has material production time instant value expression
batch of formulated drug product was produced on "2025-06-30"; vial of purified monoclonal antibody was produced on "2025-01-10"; lot of process intermediate was generated as the result of upstream processing on "2025-07-20 at 14:00"
relation from a material product or process intermediate material to a temporal instant value expression that is the value expression of the first instant of the temporal region during which the material product or process intermediate material exists
has storage start time instant value expression
A vial of vaccine was placed into refrigerated storage on "2025-01-15";A batch of purified protein was transferred to a -80°C freezer on "2025-07-01 at 16:00"; A buffer solution was moved to temperature-controlled storage on "2025-05-30"
relation from a material entity to a temporal value expression that is the value expression of the first instant of a storage process in which the material entity participates