]> 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. Adlane Rebai, Millipore Sigma Ana Nikolov, OAGi Boonserm Kulvatunyou, NIST Cameron Gibbs, CrownPoint Technologies, LLC Gabriela Henning, NIST Jan Kemper, AstraZeneca Marie-Aude Coutouly, Millipore Sigma Melissa Weller, CrownPoint Technologies, LLC Milos Drobnjakovic, OAGi Stephen J. Granite, CrownPoint Technologies, LLC Stephen Kahmann, CrownPoint Technologies, LLC NIIMBL BD-1 Ontology Group http://opensource.org/licenses/MIT 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 denotes acetic acid.; 50-00-0 denotes formaldehyde https://www.cas.org/cas-data/cas-registry 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). CASRegistryNumber(x) → InformationContentEntity(x) true information content entity that is a sequence of digits defined within the chemical abstracts service (CAS) registry, which uniquely denotes 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 an 'information content entity' 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 Merck KGaA product type identifier 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 number of a particular lot or batch CatalogNumber(x) → InformationContentEntity(x) true information content entity that is sequence of alphanumeric characters created by an organization to denote a type of 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 'information content entity' 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)) true 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 container identifier Merck KGaA A QR code printed on a plastic drum used to store and transport a buffer solution; A barcode on a stainless steel transport vessel used to transfer cell culture harvest material from a fed-batch bioreactor to the primary capture chromatography system A product catalog number that refers to a type of plastic container sold by a manufacturer; A batch number assigned to a lot of buffer solution held in a stainless steel tank. Although the identifier is associated with the material inside the container, it does not identify the container itself and is therefore not a container identifier ContainerIdentifier(x) ↔ Identifier(x) ∧ ∃y(Container(y) ∧ designates(x, y)) identifier that identifies a container every instance of 'container identifier' is defined as exactly an instance of 'identifier' that 'designates' some 'container' true https://spec.industrialontologies.org/ontology/construct/EnterpriseResourcePlanningCode enterprise resource planning code Merck KGaA 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 denotes 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) true identifier 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 Merck KGaA 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 https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211 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. ExpiredState(x) → MaterialState(x) true 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) true identifier that uniquely identifies an entity or entity type within some information system that is internal to a particular organization There are insufficient constructs in the ontology to provide necessary and sufficient conditions. 'Information system' is missing as well as the constructs for denoting an entity type if x is an 'information system specific code', then x is an 'information content entity' sublot Sublot of 140 antacid tablets filled from Lot #6754189 and packaged in a bottle; sublot of antacid tablets contained in a box of 12 such bottles from the same lot; sublot of tetrachloroethylene filled from Lot #PERC6227741 and contained in a 50L drum; sublot of tetrachloroethylene contained in a pallet of 15 such drums from the same lot 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. Sublot(x) ↔ MaterialEntity(x) ∧ ∃r(SublotRole(r) ∧ hasRole(x, r)) material entity which has a sublot role every instance of 'sublot' is defined as exactly an instance of 'material entity' that 'has role' some 'sublot role' sublot role Role held by the sublot of 140 antacid tablets filled from Lot #6754189 and packaged in a bottle; role held by the sublot of tablets in a box of 12 such bottles; role held by the sublot of tetrachloroethylene in a 50L drum from Lot #PERC6227741; role held by the sublot of tetrachloroethylene in a pallet of 15 such drums. SublotRole(x) → TraceableResourceUnitRole(x) ∧ ∃y(MaterialEntity(y) ∧ roleOf(x, y) ∧ ∃l(Lot(l) ∧ continuantPartOfAtSomeTime(y, l))) true traceable resource unit role held by a material entity when it is part of a lot and is uniquely identifiable within that lot The required constructs for creation of a formal definition are not available in this release. In particular the pattern for unique identification within a lot needs to be developed. If x is a 'sublot role', then x is a 'traceable resource unit role' and is the 'role of' some 'material entity' that is the 'continuant part of at some time' some 'lot 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" https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211 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 Merck KGaA 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" https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211 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 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 production time instant value expression Merck KGaA 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" https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211 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 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 storage start time instant value expression Merck KGaA 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" https://www.ecfr.gov/current/title-21/chapter-I/subchapter-C/part-211 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 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).