]> 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 https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ CAS number 64-19-7 classifies acetic acid; 50-00-0 classifies 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, easily 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) → Classifier(x) true 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 Merck KGaA https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 25 mL created by Cytiva; 17543802 is the catalog number for MabSelect SuRe resins 25 mL created by Cytiva number of a particular lot or batch CatalogNumber(x) → Classifier(x) ∧ ∃m(MaterialProduct(m) ∧ classifies(x,m)) true classifier that is a 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 a 'classifier' and x 'classifies' a 'material product' certificate of analysis https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 continuant part at all times' some 'requirement specification' that is 'satisfied by' q, and x also 'has continuant part at all times' some value that is the 'measured value of at some time' q, and x 'certifies' y certificate of conformance https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ A supplier-issued CoC stating that a raw material lot conforms to the purchase specification and applicable compendial requirements; A manufacturer-issued CoC stating that a single-use bioreactor bag lot conforms to specified material, sterility, and extractables requirements; A CoC for a chromatography resin batch stating that it conforms to the supplier’s technical specification for particle size, ligand density, and bioburden; A CoC for a tubing lot stating that the material conforms to USP Class VI and relevant ISO biocompatibility requirements; CoC CertificateOfConformance(x) → Certificate(x) ∧ ∃y (certifies(x, y) ∧ (Lot(y) ∨ MaterialProduct(y))) true certificate issued by a manufacturer, supplier, or other authorized issuer that attests that a lot or batch or individual material product conforms to specified technical, safety, or regulatory requirements referenced in the certificate There are insufficient constructs to create a set of necessary and sufficient conditions. if x is a 'certificate of conformance' then x is a 'certificate' and x 'certifies' some 'lot' or 'material product' https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ true https://spec.industrialontologies.org/ontology/construct/EnterpriseResourcePlanningCode enterprise resource planning code Merck KGaA https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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) ERP codes are typically maintained as part of master data (data that does not change over time) rather than transactional data. 2) An ERP code typically serves as a primary key for a master data record within an ERP system. EnterpriseResourcePlanningCode(x) → InformationSystemSpecificCode(x) true 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 'enterprise resource planning code', then x is an 'information system specific code' expired state Merck KGaA https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ the state of a vaccine vial starting from its expiration date, during which it is no longer qualified to realize its specified capability for use as a vaccine, 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 is no longer qualified to 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. Once the established expiry, use, or lifecycle limit has been exceeded, the material entity does not return to its qualified state 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 should not be confused with a state associated with a best-before date, which is typically used where deterioration in quality may occur without necessarily making the material unsuitable or unsafe for use. Concepts associated with best-before dating should be modeled separately. 4) The first instant of the expired state corresponds to the point at which the material entity is no longer qualified to realize its specified capability. This point may be established in advance based on stability studies, predefined shelf life, validated use limits, 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 is no longer qualified to realize a particular specified capability and that temporally ends with the destruction or disposal of the material entity There are insufficient constructs to represent a set of necessary and sufficient conditions. If x is an 'expired state', then x is a 'material state' information system specific code https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ ERP code is an identifier within an ERP system InformationSystemSpecificCode(x) → Denoter(x) ∧ ∃y(Entity(y) ∧ (designates(x,y) ∨ classifies(x,y))) true 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 a 'denoter' that 'designates' or 'classifies' some 'entity' has material expiration time instant value expression https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 expiration time is typically established based on the anticipated loss or unacceptable degradation of a specified capability and marks the point at which the material entity is no longer qualified to realize that capability. relation from a material entity to a temporal instant value expression that is the value expression of the first instant of an expired material 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 https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 instant value expression that is the value expression of the first instant of a material use 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). has material production time instant value expression Merck KGaA https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 https://spec.industrialontologies.org/ontology/biopharma/BiopharmaMaterialProcurementAndStorage/ 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 instant 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).