NutritionProduct — Nutritional product
The catalogue of enteral formulas, oral supplements, infant formulas and therapeutic meals available in a facility.
Purpose of the resource
NutritionProduct is new in R5. It catalogues nutritional products that can be administered or consumed: a fibre-enriched enteral formula for diabetic patients, a high-protein oral supplement, a lactose-free infant formula, a calorie-enriched dessert. On the nutrition side it plays the role Medication plays on the drug side: a catalogue object whose instances carry physical batches.
It is referenced by NutritionOrder to express what is served to the patient, and may be referenced by MedicationDispense when delivered by the hospital pharmacy.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | Business identifiers (internal code, GTIN). |
status | code | 1..1 | active | inactive | entered-in-error. |
category | CodeableConcept[] | 0..* | Category: enteralformula | oralsupplement | thickener | foodproduct | infantformula. |
code | CodeableConcept | 0..1 | Product code (SNOMED CT, national terminology). |
manufacturer | Reference(Organization)[] | 0..* | Manufacturer(s). |
nutrient | BackboneElement[] | 0..* | Composition (item + amount). |
ingredient | BackboneElement[] | 0..* | Detailed ingredients. |
knownAllergen | CodeableReference[] | 0..* | Allergens present (lactose, gluten…). |
characteristic | BackboneElement[] | 0..* | Characteristics (texture, viscosity, taste). |
instance | BackboneElement[] | 0..* | Physical batches (batch, expiry, quantity). |
note | Annotation[] | 0..* | Annotations. |
JSON example
{
"resourceType": "NutritionProduct",
"id": "diabetic-formula",
"status": "active",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/nutrition-product-category",
"code": "enteralformula",
"display": "Enteral Formula"
}]
}],
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "445503000",
"display": "Diabetic enteral formula"
}]
},
"manufacturer": [{
"reference": "Organization/example-nutrition-manufacturer"
}],
"nutrient": [{
"item": {
"concept": {
"coding": [{
"system": "http://loinc.org",
"code": "39972-3",
"display": "Sugar [Mass/volume] in Food"
}]
}
},
"amount": [{
"value": 5,
"unit": "g/100mL"
}]
}],
"instance": [{
"quantity": {
"value": 250,
"unit": "mL"
},
"identifier": [{
"system": "http://example.org/nutrition/lot",
"value": "NUTR-2026-103"
}],
"expiry": "2027-04-30"
}]
} Common pitfalls
- Poorly coded allergens — use a reference system (SNOMED CT, national food classifications).
- Confusion with NutritionOrder — NutritionProduct = catalogue; NutritionOrder = prescription for a patient.
- Instance without expiry — always set
expiryfor hospital traceability.
Related resources
- NutritionOrder — nutritional prescription.
- Medication — drug analogue.
- AllergyIntolerance.
- Substance.
- FHIR R5 hub.