NutritionIntake
Introduction
Scope and Usage
Note to Balloters: To ensure this resource is ready for Normative status, we are seeking ballot comment on the substantive content. The key changes made since R5 include:
- Removed the instantiates workflow elements NutritionIntake.instantiatesCanonical and NutritionIntake.instantiatesUri and advise implementers to use the workflow instantiates extensions
- Consolidated NutritionIntake.consumedItem and NutritionIntake.ingredientLabel into a NutritionIntake.nutritionItem backbone
- The nutritionintake-status-reason code system used in NutritionIntake.statusReason is currently defined in the FHIR specification, but is expected to be moved to HL7 Terminology (THO).
Note to Implementers: For an overview of this resource and others in the Nutrition domain, also see the module page.
The NutritionIntake resource, in conjunction with the NutritionProduct resource, is utilized to capture details about the consumption of foods (i.e., solid and/or liquid), supplements, enteral nutrition, and infant formula. Dietitians and other practitioners use the data to calculate how much nutrition a patient has taken in. NutritionIntake represents the event of consuming food (i.e. solid and/or liquid), etc. and NutritionProduct represents the actual food and formula items.
NutritionIntake can also be used to record a person’s intake through the use of food tracking apps (e.g.MyFitnessPal), inpatient hospital consumption or administration, or a student’s meal consumption in a school district.
NutritionIntake can be utilized in many environments where food is served or consumed: hospitals/acute care, meal tracking systems, enteral or supplement in a home setting, outpatient settings, long-term care, etc. NutritionIntake should be general enough to capture intake regardless of country or region.
Parenteral nutrition is out of scope as this ordering is handled through MedicationRequest, thus administration of parenteral nutrition should also be captured through MedicationAdministration.
Boundaries and Relationships
- Intake of food (i.e. solid and/or liquid), oral nutritional supplements, enteral nutrition, or infant formula should be recorded using the NutritionIntake resource.
- Supplements, such as vitamins, minerals, and herbals, should be recorded using the medication resources
- Parenteral nutrition should be recorded using the medication resources
Background and Context
As a dietitian, it is important to be able to know what a person is consuming and/or administered to assess the adequacy of the patient’s intake. Capturing a patient’s intake is important to establish a baseline, determine care, track trends, and see improvement in that patient. Dietitians might use intake data to see patterns, such as when a diabetic patient’s blood glucose is consistently high given the distribution of carbohydrates. Other practitioners have the need to monitor intake as well; for example, a nurse might need to know intake for administering insulin prior to meals, a speech therapist needs this information for ensuring safe administration of food, or a physician may need to ensure a patient fluid restriction is consistent with recommendations.
Having intake documented within its own resource allows for consistency in documentation across multiple disciplines and settings. In some instances, the Observation resource has been extended to capture intake; while this allows for a quick way to document intake, the Observation resource does not provide all the detail necessary, such as capturing energy and nutrients (including vitamins, minerals, carbohydrates, etc.). Previous implementation attempts of using the Observation resource have noted this is cumbersome and has required too many extensions without being able to document all the necessary details tied to ingredients in food (i.e., solid and/or liquid) products.
Note to Balloters: The nutritionintake-status-reason code system used in NutritionIntake.statusReason is currently defined in the FHIR specification, but is expected to be moved to HL7 Terminology (THO).
Notes
Notes:
StructureDefinition
Elements (Simplified)
- NutritionIntake [0..*]: - Record of intake by a patient
- NutritionIntake.identifier [0..*]: Identifier External identifier
- NutritionIntake.basedOn [0..*]: [Reference(NutritionOrder](/Reference(NutritionOrder), CarePlan, ServiceRequest)) Fulfils plan, proposal or order
- NutritionIntake.partOf [0..*]: [Reference(NutritionIntake](/Reference(NutritionIntake), Procedure, Observation)) Part of referenced event
- NutritionIntake.status [1..1]: code required:event-status preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
- NutritionIntake.statusReason [0..*]: CodeableConcept example:nutritionintake-status-reason Reason for current status
- NutritionIntake.code [0..1]: CodeableConcept preferred:diet-type Code representing an overall type of nutrition intake
- NutritionIntake.subject [1..1]: [Reference(Patient](/Reference(Patient), Group)) Who is/was consuming the food (i.e. solid and/or liquid)
- NutritionIntake.encounter [0..1]: Reference(Encounter) Encounter associated with NutritionIntake
- NutritionIntake.occurrence[x] [0..1]: dateTime, Period The date/time or interval when the food (i.e. solid and/or liquid) is/was consumed
- NutritionIntake.recorded [0..1]: dateTime When the intake was recorded
- NutritionIntake.reported[x] [0..1]: boolean, [Reference(Patient](/Reference(Patient), RelatedPerson, Practitioner, PractitionerRole, Organization, Group)) Indicates if this is a reported rather than a primary record. Can also indicate the source that provided the information about the consumption
- NutritionIntake.nutritionItem [0..*]: BackboneElement The nutrition product intended for consumption and/or administration
- NutritionIntake.nutritionItem.type [0..1]: CodeableConcept example:food-type The type of food (i.e. solid or liquid) product
- NutritionIntake.nutritionItem.nutritionProduct [0..1]: CodeableReference preferred:edible-substance-type A product used for nutritional purposes (e.g. food or supplement)
- NutritionIntake.nutritionItem.consumedItem [0..*]: BackboneElement What nutrition item was consumed
- NutritionIntake.nutritionItem.consumedItem.schedule [0..1]: Timing Scheduled frequency of consumption
- NutritionIntake.nutritionItem.consumedItem.amount [0..1]: Quantity(SimpleQuantity) Quantity of the specified food (i.e. solid and/or liquid)
- NutritionIntake.nutritionItem.consumedItem.rate[x] [0..1]: Quantity, Ratio Rate of enteral feeding administration
- NutritionIntake.nutritionItem.consumedItem.totalIntake [0..*]: BackboneElement Nutrients and/or energy contained in the intake
- NutritionIntake.nutritionItem.consumedItem.totalIntake.nutrient [1..1]: CodeableReference example:nutrient-code Type of nutrient consumed in the intake
- NutritionIntake.nutritionItem.consumedItem.totalIntake.amount [1..1]: Quantity(SimpleQuantity) Total amount of nutrient consumed
- NutritionIntake.nutritionItem.consumedItem.totalIntake.energy [0..1]: Quantity(SimpleQuantity) Total energy consumed in kilocalories or kilojoules
- NutritionIntake.nutritionItem.notConsumedItem [0..*]: BackboneElement What nutrition item was not consumed
- NutritionIntake.nutritionItem.notConsumedItem.reason [0..1]: CodeableConcept example:not-consumed-reason Reason the nutrition item was not consumed
- NutritionIntake.nutritionItem.notConsumedItem.schedule [0..1]: Timing The intended frequency of consumption that was not followed
- NutritionIntake.nutritionItem.notConsumedItem.amount [0..1]: Quantity(SimpleQuantity) Quantity of the specified food (i.e. solid and/or liquid) that was not consumed
- NutritionIntake.performer [0..*]: BackboneElement Who or what performed the intake and how they were involved
- NutritionIntake.performer.function [0..1]: CodeableConcept example:performer-role Type of performer
- NutritionIntake.performer.actor [1..1]: [Reference(Practitioner](/Reference(Practitioner), PractitionerRole, Organization, CareTeam, Patient, Device, RelatedPerson, Group)) Who or what performed the intake
- NutritionIntake.location [0..1]: Reference(Location) Where the intake occurred
- NutritionIntake.derivedFrom [0..*]: Reference(Resource) Additional supporting information
- NutritionIntake.reason [0..*]: CodeableReference example:condition-code Reason for why the food (i.e. solid and/or liquid) is /was consumed
- NutritionIntake.note [0..*]: Annotation Further information about the consumption
Mappings
- NutritionIntake Mappings — 23 mapping entries
Resource Packs
list-NutritionIntake-packs.xml
<?xml version="1.0" encoding="UTF-8"?>
<List xmlns="http://hl7.org/fhir">
<id value="NutritionIntake-packs"/>
<status value="current"/>
<mode value="working"/>
</List>
Search Parameters
- code — token — Returns statements of this code of NutritionIntake —
NutritionIntake.code - date — date — Date when patient was taking (or not taking) the medication —
NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) - encounter — reference — Returns statements for a specific encounter —
NutritionIntake.encounter - identifier — token — Return statements with this external identifier —
NutritionIntake.identifier - nutrition — token — Return intakes for a specific consumed item —
NutritionIntake.nutritionItem.nutritionProduct.concept - patient — reference — Returns statements for a specific patient. —
NutritionIntake.subject.where(resolve() is Patient) - source — reference — Who or where the information in the statement came from —
(NutritionIntake.reported as Reference) - status — token — Return statements that match the given status —
NutritionIntake.status - subject — reference — The identity of a patient, animal or group to list statements for —
NutritionIntake.subject
Examples
- enteral-formula — nutritionintake-example-enteralformula — Enteral Formula Intake
- example — nutritionintake-example — Patient reports the food and fluid consumed
- malnutrition-patient-reported — nutritionintake-example-malnutrition — Malnutrition patient reported intake
- malnutrition-staff-reported — nutritionintake-example-malnutrition-staff — Malnutrition staff reported intake
- nutritionintake-example — nutritionintake-example
- nutritionintake-example-enteralformula — nutritionintake-example-enteralformula
- nutritionintake-example-malnutrition — nutritionintake-example-malnutrition
- nutritionintake-example-malnutrition-staff — nutritionintake-example-malnutrition-staff
- nutritionintake-examples-header — nutritionintake-examples-header
Mapping Exceptions
nutritionintake-event-mapping-exceptions.xml
Divergent Elements
- Event.identifier → NutritionIntake.identifier
- shortUnmatched | reason=Unknown | pattern=Business identifier for nutrition intake | resource=External identifier
- definitionUnmatched | reason=Unknown | pattern=Business identifiers assigned to this nutrition intake by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server. | resource=Identifiers associated with this Nutrition Intake that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
- commentsUnmatched | reason=Unknown | pattern=Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. | resource=This is a business identifier, not a resource identifier.
- requirementsUnmatched | reason=Unknown | pattern=Allows identification of the nutrition intake as it is known by various participating systems and in a way that remains consistent across servers.
- Event.basedOn → NutritionIntake.basedOn
- missingTypes | reason=Unknown | pattern=Reference(Request)
- extraTypes | reason=Unknown
- shortUnmatched | reason=Unknown | pattern=Fulfills plan, proposal or order | resource=Fulfils plan, proposal or order
- definitionUnmatched | reason=Unknown | pattern=A plan, proposal or order that is fulfilled in whole or in part by this nutrition intake. | resource=A plan, proposal or order that is fulfilled in whole or in part by this event.
- requirementsUnmatched | reason=Unknown | pattern=Allows tracing of authorization for the nutrition intake and tracking whether proposals/recommendations were acted upon. | resource=Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.
- Event.partOf → NutritionIntake.partOf
- missingTypes | reason=Unknown | pattern=Reference(Event)
- extraTypes | reason=Unknown
- definitionUnmatched | reason=Unknown | pattern=A larger event of which this particular nutrition intake is a component or step. | resource=A larger event of which this particular event is a component or step.
- commentsUnmatched | reason=Unknown | pattern=Not to be used to link an nutrition intake to an Encounter - use 'context' for that.
- Event.status → NutritionIntake.status
- shortUnmatched | reason=Unknown | pattern=preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown | resource=preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
- definitionUnmatched | reason=Unknown | pattern=The current state of the nutrition intake. | resource=A code representing the patient or other source's judgment about the state of the intake that this assertion is about. Generally, this will be active or completed.
- commentsUnmatched | reason=Unknown | pattern=A nominal state-transition diagram can be found in the (Event pattern documentation
Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. | resource=NutritionIntake is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for NutritionIntake.status contains codes that assert the status of the consumption of the food (i.e. solid and/or liquid), breastmilk, infant formula, supplements, enteral formula by the patient (for example, stopped or on hold) as well as codes that assert the status of the Nutrition Intake itself (for example, entered in error).
This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
- Event.statusReason → NutritionIntake.statusReason
- definitionUnmatched | reason=Unknown | pattern=Captures the reason for the current state of the nutrition intake. | resource=Captures the reason for the current state of the NutritionIntake.
- commentsUnmatched | reason=Unknown | pattern=This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". The reason for performing the event at all is captured in reasonCode, not here. . | resource=This is generally only used for "exception" statuses such as "not-taken", "on-hold", "cancelled" or "entered-in-error". The reason for performing the event at all is captured in reasonCode, not here.
- Event.code → NutritionIntake.nutritionItem.nutritionProduct
- missingTypes | reason=Unknown | pattern=CodeableConcept
- extraTypes | reason=Unknown
- shortUnmatched | reason=Unknown | pattern=What service was done | resource=A product used for nutritional purposes (e.g. food or supplement)
- definitionUnmatched | reason=Unknown | pattern=A code that identifies the specific service or action that was or is being performed. | resource=Identifies the food (i.e. solid and/or liquid) product that is to be consumed. This is potentially a link to a resource representing the details of the food product or a simple attribute carrying a code that identifies the food from a known list of foods.
- Event.subject → NutritionIntake.subject
- shortUnmatched | reason=Unknown | pattern=Individual service was done for/to | resource=Who is/was consuming the food (i.e. solid and/or liquid)
- definitionUnmatched | reason=Unknown | pattern=The individual or set of individuals the action is being or was performed on. | resource=The person or group who is/was consuming the food (i.e. solid and/or liquid).
- requirementsUnmatched | reason=Unknown | pattern=Links the nutrition intake to the Patient context. May also affect access control.
- Event.encounter → NutritionIntake.encounter
- shortUnmatched | reason=Unknown | pattern=Encounter the nutrition intake is part of | resource=Encounter associated with NutritionIntake
- definitionUnmatched | reason=Unknown | pattern=The Encounter during which this nutrition intake was created or to which the creation of this record is tightly associated. | resource=The encounter that establishes the context for this NutritionIntake.
- commentsUnmatched | reason=Unknown | pattern=This will typically be the encounter the nutrition intake was created during, but some nutrition intakes may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission lab tests).
- requirementsUnmatched | reason=Unknown | pattern=Links the nutrition intake to the Encounter context. May also affect access control.
- Event.occurrence[x] → NutritionIntake.occurrence[x]
- missingTypes | reason=Unknown | pattern=Timing
- shortUnmatched | reason=Unknown | pattern=When nutrition intake occurred/is occurring | resource=The date/time or interval when the food (i.e. solid and/or liquid) is/was consumed
- definitionUnmatched | reason=Unknown | pattern=The date, period or timing when the nutrition intake did occur or is occurring. | resource=The interval of time during which it is being asserted that the patient is/was consuming the food (i.e. solid and/or liquid).
- commentsUnmatched | reason=Unknown | pattern=This indicates when the activity actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this {{event}} is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. . | resource=This attribute reflects the period over which the patient consumed the food (i.e. solid and/or liquid) and is expected to be populated on the majority of NutritionIntake. If the food (i.e. solid and/or liquid) is still being taken and is expected to continue indefinitely at the time the usage is recorded, the "end" date will be omitted. If the end date is known, then it is included as the "end date". The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text.
- Event.reason → NutritionIntake.reason
- summary | reason=Unknown | pattern=true
- shortUnmatched | reason=Unknown | pattern=Why was nutrition intake performed? | resource=Reason for why the food (i.e. solid and/or liquid) is /was consumed
- definitionUnmatched | reason=Unknown | pattern=Describes why the nutrition intake occurred in coded or textual form or Indicates another resource whose existence justifies this nutrition intake. | resource=A reason, Condition or observation for why the food (i.e. solid and/or liquid) is /was consumed.
- commentsUnmatched | reason=Unknown | pattern=Textual reasons can be captured using reasonCode.text.
- Event.note → NutritionIntake.note
- shortUnmatched | reason=Unknown | pattern=Comments made about the event | resource=Further information about the consumption
- definitionUnmatched | reason=Unknown | pattern=Comments made about the nutrition intake by the performer, subject or other participants. | resource=Provides extra information about the Nutrition Intake that is not conveyed by the other attributes.
Unmapped Elements
- Event.reported — Unknown
- Event.relevantHistory — Unknown
- Event.location — Unknown
- Event.performer.actor — Unknown
- Event.performer.function — Unknown
- Event.category — Unknown
- Event.recorded — Unknown
- Event.product — Unknown
- Event.performer — Unknown
- Event.researchStudy — Unknown
nutritionintake-fivews-mapping-exceptions.xml
Unmapped Elements
- FiveWs.author — Unknown
- FiveWs.actor — Unknown
- FiveWs.cause — Unknown
- FiveWs.version — Unknown
- FiveWs.witness — Unknown
- FiveWs.where — Unknown
- FiveWs.context — Unknown
- FiveWs.init — Unknown
- FiveWs.who — Unknown
- FiveWs.grade — Unknown
- FiveWs.planned — Unknown