CommonProduct
Class Product

A product is any tangible or intangible good or service that is a result of a process and that is intended for delivery to a customer or end user. More specifically for the purposes of the FHIM Common Product model, a product is a commodity offered for sale; an article of commerce; a kind of merchandise that is involved in the provision of healthcare (e.g., an x-ray machine), consumed during the provision of care (e.g., a prosthesis, a medication, a bandage), or is itself the subject of healthcare-related activities (e.g., testing the surface of a machine for pathogens, testing food for food-borne pathogens).
This class deals with things that can be ordered, purchased, consumed, administered, maintained, and/or disposed of even if the thing is originally naturally occurring. However, do not use this class to indicate that a patient is allergic to eggs. Use Substance for generic eggs. But to order a gross of Farmer Smith’s eggs, or to test an egg from a box of Farmer Smith’s eggs, this class is appropriate.
Note that in situations where the same product may be sold in "saleable units" of different sizes, this class defines the product itself, whereas the saleable units are described in other classes. For example, if Pfizer sells Lipitor 40 MG Tablets in a 30 count bottle and a 90 count bottle, the product in those bottles is identical (and indeed may have come from the same manufacturing lot), but the bottles have different National Drug Codes. In this example, this class would contain Pfizer Lipitor 40 MG Tablet, while the PackagedMedicinalProduct class will contain information about the 30 and 90 count saleable units.

Attributes
«CS» Code brandName brandName

"The name of the product kind described. If this is a specific manufactured (brand) product, this would be the proprietary name. For general product class descriptions this would be a non-proprietary name. This attribute may sometimes be used instead of a code and descriptive data elements when no suitable coding system is available...." - HL7 Version 3 (ManufacturedMaterial.name).

String description description

“A text description of the product…. The description attribute is mainly to be used for brief descriptions which users of product catalogs can use to quickly distinguish this product from other similar products in a list of products.” - HL7 Version 3 (ManufacturedMaterial.desc).

MaterialCategory equivalentTo equivalentTo

“A code specifying in what way the equivalent entity (player) is considered equivalent to its reference entity (scoper). This is used to reference materials submitted from another source (e.g., repackagers, OTC, etc.) Examples: No known or suspected bioequivalence problems; Potential bioequivalence problems have been resolved with evidence supporting bioequivalence; Bioequivalence problems have not been fully resolved.” – HL7 Version 3 (Role.code).

String fdaProductCode fdaProductCode

This optional property contains the FDA Product Code (sometimes called the ProCode). The FDA Product Code is used to categorize products under the jurisdiction of the U.S. Food and Drug Administration, including medical devices, drug products, vitamin products, food products, and biologics. It is noted that the Product Code is an optional component of the Unique Device Identifier, so for medical devices, this product code could potentially exist in both properties.

«CS» Code formCode formCode

"The principal form of a product, such as dosage form of a medicine.... Notice the difference between an (Administered) Medicine and a PackagedMedicine. Both have formCodes. A box or vial is usually not a medicine Product.formCode but a PackagedProduct.formCode, unless the entire box or the entire vial is meant for direct administration as a single unit. In principle, the formCode is a very coarsely-grained (high level) product class that focuses on physical appearance. At the top, it usually distinguishes between physical state of matter (solid, liquid, gaseous), and, because solids may be amorphous (e.g., powders), would allow distinguishing solid shaped from amorphous masses. The former can be individually handled and counted, whereas the latter (amorphous masses) can only be measured and require primary containers for handling. Thus the formCode has implications for how the product is quantified (counted vs. measured) and whether a primary container (e.g., vial) may be expected." - HL7 Version 3 (ManufacturedMaterial.formCode).
"Describes the form of the item. Powder; tablets; capsule." - HL7 FHIR, Medication.form

«CS» Code handlingCode handlingCode

“An indicator of special handling requirements for the product, e.g., keep at room temperature, store upright.” - HL7 Version 3 (ManufacturedMaterial.handlingCode).

«CS» Code kind kind

This property identifies the "kind" of product so that it might be referenced in health records. Depending on the design of the code system, this product kind might resolve to a generic commodity (e.g., 32 gauge 4mm needles), a specific brand name item (e.g., Pro Comfort Pen Needles, 4 mm by Home Aide Diagnostics, Inc.), or a specific sale-able unit (e.g., 100 count box of Pro Comfort Pen Needles, 4 mm by Home Aide Diagnostics, Inc.). This flexibility does cause an issue for consideration, especially for medications: The design of the Common Product Model allows for a product (e.g., Pfizer Lipitor 40 MG Tablet) to relate to multiple packaged products (e.g., a 30 count bottle and a 90 count bottle). But if the top level Product is at the sale-able unit level, then this "kind" property would contain a code for the 90 count bottle, in which case, there can only be one packaged product instance for each instance of the Product class (e.g., the packaged product would be NDC 21695-255-90 for the 90 Tablet, Film Coated in 1 Bottle sale-able unit).
"A code that identifies the kind of this biologically derived product (SNOMED-CT code)." - HL7 FHIR, BiologicallyDerivedProduct.productCode
"A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems." - HL7 FHIR, Medication.code

Manufacturer manufacturer manufacturer

Pointer to the Organization (in the Role of Manufacturer) that produced the Product.
"Contains the manufacturer of the medical substance administered when it is a manufactured substance." - HL7 Version 2.8, RXD-20.
"Name of vaccine manufacturer." - HL7 FHIR, Immunization.manufacturer
"Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product." - HL7 FHIR, Medication.manufacturer

«CS» Code riskCode riskCode

“Indicates a type of hazard or threat associated with the product.” - HL7 Version 3 (ManufacturedMaterial.riskCode).

«PQ» TimeQuantity shelfLife shelfLife

“The amount of time after date of manufacture that the manufacturer no longer ensures the safety, quality, and/or proper functioning of the material.” - HL7 Version 3 (ManufacturedMaterial.expirationTime).

MaterialCategory specializationOf specializationOf

“May specify a certain use of the generalization relationship. Since things may be classified in various ways, this code may be used to allow systems with limited understanding of the classes to show the classes in distinguished slots (e.g., product by effect, by mechanism of action, by chemical nature, etc.) Note that this code cannot influence the simple interpretation of the relationship as an "is-a" relationship, i.e., the specialized kind role should not be used to indicate classes that may sometimes hold but not all the time, or that only hold under specific considerations. The latter might be an example of a similarity relationship, for which the "equivalent entity" role should be used instead.” – HL7 Version 3 (Role.code).

«CS» Code status status

"A code to indicate if the medication is in active use. This status is not intended to specify if a medication is part of a formulary." - HL7 FHIR, Medication.status


Properties:

Alias
Classifier Behavior
Is Abstractfalse
Is Activefalse
Is Leaffalse
Keywords
NameProduct
Name Expression
NamespaceCommonProduct
Owned Template Signature
OwnerCommonProduct
Owning Template Parameter
PackageCommonProduct
Qualified NameFHIM::CommonProduct::Product
Representation
Stereotype
Template Parameter
VisibilityPublic

Attribute Details

 brandName
Public «CS» Code brandName

"The name of the product kind described. If this is a specific manufactured (brand) product, this would be the proprietary name. For general product class descriptions this would be a non-proprietary name. This attribute may sometimes be used instead of a code and descriptive data elements when no suitable coding system is available...." - HL7 Version 3 (ManufacturedMaterial.name).

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity*
NamebrandName
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::brandName
Stereotype
Template Parameter
Type«CS» Code
Upper*
Upper Value(*)
VisibilityPublic


 description
Public String description

“A text description of the product…. The description attribute is mainly to be used for brief descriptions which users of product catalogs can use to quickly distinguish this product from other similar products in a list of products.” - HL7 Version 3 (ManufacturedMaterial.desc).

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
Namedescription
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::description
Stereotype
Template Parameter
TypeString
Upper1
Upper Value(1)
VisibilityPublic


 equivalentTo
Public MaterialCategory equivalentTo

“A code specifying in what way the equivalent entity (player) is considered equivalent to its reference entity (scoper). This is used to reference materials submitted from another source (e.g., repackagers, OTC, etc.) Examples: No known or suspected bioequivalence problems; Potential bioequivalence problems have been resolved with evidence supporting bioequivalence; Bioequivalence problems have not been fully resolved.” – HL7 Version 3 (Role.code).

Constraints:
Properties:

AggregationNone
Alias
Associationproduct_EquivalentTo
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity*
NameequivalentTo
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::equivalentTo
Stereotype
Template Parameter
TypeMaterialCategory
Upper*
Upper Value(*)
VisibilityPublic


 fdaProductCode
Public String fdaProductCode

This optional property contains the FDA Product Code (sometimes called the ProCode). The FDA Product Code is used to categorize products under the jurisdiction of the U.S. Food and Drug Administration, including medical devices, drug products, vitamin products, food products, and biologics. It is noted that the Product Code is an optional component of the Unique Device Identifier, so for medical devices, this product code could potentially exist in both properties.

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
NamefdaProductCode
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::fdaProductCode
Stereotype
Template Parameter
TypeString
Upper1
Upper Value(1)
VisibilityPublic


 formCode
Public «CS» Code formCode

"The principal form of a product, such as dosage form of a medicine.... Notice the difference between an (Administered) Medicine and a PackagedMedicine. Both have formCodes. A box or vial is usually not a medicine Product.formCode but a PackagedProduct.formCode, unless the entire box or the entire vial is meant for direct administration as a single unit. In principle, the formCode is a very coarsely-grained (high level) product class that focuses on physical appearance. At the top, it usually distinguishes between physical state of matter (solid, liquid, gaseous), and, because solids may be amorphous (e.g., powders), would allow distinguishing solid shaped from amorphous masses. The former can be individually handled and counted, whereas the latter (amorphous masses) can only be measured and require primary containers for handling. Thus the formCode has implications for how the product is quantified (counted vs. measured) and whether a primary container (e.g., vial) may be expected." - HL7 Version 3 (ManufacturedMaterial.formCode).
"Describes the form of the item. Powder; tablets; capsule." - HL7 FHIR, Medication.form

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
NameformCode
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::formCode
Stereotype
Template Parameter
Type«CS» Code
Upper1
Upper Value(1)
VisibilityPublic


 handlingCode
Public «CS» Code handlingCode

“An indicator of special handling requirements for the product, e.g., keep at room temperature, store upright.” - HL7 Version 3 (ManufacturedMaterial.handlingCode).

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
NamehandlingCode
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::handlingCode
Stereotype
Template Parameter
Type«CS» Code
Upper1
Upper Value(1)
VisibilityPublic


 kind
Public «CS» Code kind

This property identifies the "kind" of product so that it might be referenced in health records. Depending on the design of the code system, this product kind might resolve to a generic commodity (e.g., 32 gauge 4mm needles), a specific brand name item (e.g., Pro Comfort Pen Needles, 4 mm by Home Aide Diagnostics, Inc.), or a specific sale-able unit (e.g., 100 count box of Pro Comfort Pen Needles, 4 mm by Home Aide Diagnostics, Inc.). This flexibility does cause an issue for consideration, especially for medications: The design of the Common Product Model allows for a product (e.g., Pfizer Lipitor 40 MG Tablet) to relate to multiple packaged products (e.g., a 30 count bottle and a 90 count bottle). But if the top level Product is at the sale-able unit level, then this "kind" property would contain a code for the 90 count bottle, in which case, there can only be one packaged product instance for each instance of the Product class (e.g., the packaged product would be NDC 21695-255-90 for the 90 Tablet, Film Coated in 1 Bottle sale-able unit).
"A code that identifies the kind of this biologically derived product (SNOMED-CT code)." - HL7 FHIR, BiologicallyDerivedProduct.productCode
"A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems." - HL7 FHIR, Medication.code

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
Namekind
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::kind
Stereotype
Template Parameter
Type«CS» Code
Upper1
Upper Value(1)
VisibilityPublic


 manufacturer
Public Manufacturer manufacturer

Pointer to the Organization (in the Role of Manufacturer) that produced the Product.
"Contains the manufacturer of the medical substance administered when it is a manufactured substance." - HL7 Version 2.8, RXD-20.
"Name of vaccine manufacturer." - HL7 FHIR, Immunization.manufacturer
"Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product." - HL7 FHIR, Medication.manufacturer

Constraints:
Properties:

AggregationNone
Alias
AssociationpackagedMedicinalProduct_manufacturer
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower1
Lower Value(1)
Multiplicity1
Namemanufacturer
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::manufacturer
Stereotype
Template Parameter
TypeManufacturer
Upper1
Upper Value(1)
VisibilityPublic


 riskCode
Public «CS» Code riskCode

“Indicates a type of hazard or threat associated with the product.” - HL7 Version 3 (ManufacturedMaterial.riskCode).

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
NameriskCode
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::riskCode
Stereotype
Template Parameter
Type«CS» Code
Upper1
Upper Value(1)
VisibilityPublic


 shelfLife
Public «PQ» TimeQuantity shelfLife

“The amount of time after date of manufacture that the manufacturer no longer ensures the safety, quality, and/or proper functioning of the material.” - HL7 Version 3 (ManufacturedMaterial.expirationTime).

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
NameshelfLife
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::shelfLife
Stereotype
Template Parameter
Type«PQ» TimeQuantity
Upper1
Upper Value(1)
VisibilityPublic


 specializationOf
Public MaterialCategory specializationOf

“May specify a certain use of the generalization relationship. Since things may be classified in various ways, this code may be used to allow systems with limited understanding of the classes to show the classes in distinguished slots (e.g., product by effect, by mechanism of action, by chemical nature, etc.) Note that this code cannot influence the simple interpretation of the relationship as an "is-a" relationship, i.e., the specialized kind role should not be used to indicate classes that may sometimes hold but not all the time, or that only hold under specific considerations. The latter might be an example of a similarity relationship, for which the "equivalent entity" role should be used instead.” – HL7 Version 3 (Role.code).

Constraints:
Properties:

AggregationNone
Alias
Associationproduct_specializationOf
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity*
NamespecializationOf
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::specializationOf
Stereotype
Template Parameter
TypeMaterialCategory
Upper*
Upper Value(*)
VisibilityPublic


 status
Public «CS» Code status

"A code to indicate if the medication is in active use. This status is not intended to specify if a medication is part of a formulary." - HL7 FHIR, Medication.status

Constraints:
Properties:

AggregationNone
Alias
Association
Association End
ClassProduct
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value(0)
Multiplicity0..1
Namestatus
Name Expression
NamespaceProduct
Opposite
OwnerProduct
Owning Association
Owning Template Parameter
Qualified NameFHIM::CommonProduct::Product::status
Stereotype
Template Parameter
Type«CS» Code
Upper1
Upper Value(1)
VisibilityPublic

Comments