Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Example StructureDefinition/Product (XML)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

Raw XML (canonical form + also see XML Format Specification)

Logical Model Product

<?xml version="1.0" encoding="UTF-8"?>

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Product"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">to do</div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="informative"/> 
  </extension> 
  <url value="http://hl7.org/fhir/StructureDefinition/Product"/> 
  <version value="5.0.0-ballot"/> 
  <name value="Product"/> 
  <title value="product"/> 
  <status value="draft"/> 
  <experimental value="false"/> 
  <date value="2022-09-07T10:58:29+10:00"/> 
  <publisher value="Health Level Seven International fhir"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
  </contact> 
  <description value="Logical Model: A pattern to be followed by resources that represent a product used in
   healthcare, for clinical or operational purposes."/> 
  <fhirVersion value="5.0.0-ballot"/> 
  <mapping> 
    <identity value="rim"/> 
    <uri value="http://hl7.org/v3"/> 
    <name value="RIM Mapping"/> 
  </mapping> 
  <mapping> 
    <identity value="v2"/> 
    <uri value="http://hl7.org/v2"/> 
    <name value="HL7 v2 Mapping"/> 
  </mapping> 
  <mapping> 
    <identity value="w5"/> 
    <uri value="http://hl7.org/fhir/fivews"/> 
    <name value="FiveWs Pattern Mapping"/> 
  </mapping> 
  <kind value="logical"/> 
  <abstract value="false"/> 
  <type value="Product"/> 
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base"/> 
  <snapshot> 
    <element id="Product">
      <path value="Product"/> 
      <short value="Product Pattern"/> 
      <definition value="A pattern to be followed by resources that represent a product used in healthcare, for
       clinical or operational purposes."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Product"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="Act[moodCode=EVN]"/> 
      </mapping> 
    </element> 
    <element id="Product.status">
      <path value="Product.status"/> 
      <short value="active | inactive | entered-in-error"/> 
      <definition value="The current state of the product."/> 
      <comment value="Unknown does not represent &quot;other&quot; - one of the defined statuses must apply.
        Unknown is used when the authoring system is not sure what the current status is."/> 
      <min value="1"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.status"/> 
        <min value="1"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="code"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="true"/> 
      <isModifierReason value="This element is labelled as a modifier because it is a status element that contains status
       entered-in-error which means that the resource should not be treated as valid"/> 
      <isSummary value="true"/> 
      <binding> 
        <extension url="http://hl7.org/fhir/build/StructureDefinition/binding-definition">
          <valueString value="Codes identifying the lifecycle stage of a product."/> 
        </extension> 
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ProductStatus"/> 
        </extension> 
        <strength value="required"/> 
        <valueSet value="http://hl7.org/fhir/ValueSet/product-status|5.0.0-ballot"/> 
      </binding> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Varies by domain"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value=".status"/> 
      </mapping> 
      <mapping> 
        <identity value="w5"/> 
        <map value="FiveWs.status"/> 
      </mapping> 
    </element> 
    <element id="Product.category">
      <path value="Product.category"/> 
      <short value="A category or class of the product"/> 
      <definition value="A category of the product. For example drug class, or device type. A product can have
       one or several categories. The categories can be from an official / regulatory source,
       or internal categorization or classification schemes. Categories are useful in search
       and retrieval of products, or can be used for determining authorizations, e.g. who can
       order which kinds of products."/> 
      <alias value="class"/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Product.category"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="CodeableConcept"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Varies by domain"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value=".code"/> 
      </mapping> 
    </element> 
    <element id="Product.code">
      <path value="Product.code"/> 
      <short value="A code designating a specific type of product"/> 
      <definition value="The code assigned to the product, for example a catalog number, Device DI, Drug Code or
       other. Can be an internally assigned or an official product code such as the manufacturer-assigned
       code. There may be different codes for a product, having different levels of granularity.
       For example &quot;0123456789&quot; corresponding to &quot;CompuHyper GlobalMed, UltraImplantable
       2.25 x 8 mm&quot;."/> 
      <alias value="type"/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.code"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="CodeableConcept"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Varies by domain"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value=".code"/> 
      </mapping> 
    </element> 
    <element id="Product.manufacturer">
      <path value="Product.manufacturer"/> 
      <short value="Manufacturer, representative or officially responsible for the product"/> 
      <definition value="The organisation (manufacturer, representative or legal authorisation holder) that is
       responsible for the device."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Product.manufacturer"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="Reference"/> 
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Varies by domain"/> 
      </mapping> 
    </element> 
    <element id="Product.instance">
      <path value="Product.instance"/> 
      <short value="One or several physical instances or occurrences of the product"/> 
      <definition value="Conveys instance-level information about this product item. One or several physical, countable
       instances or occurrences of the product."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.instance"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Element"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
    </element> 
    <element id="Product.instance.quantity">
      <path value="Product.instance.quantity"/> 
      <short value="The amount of items"/> 
      <definition value="For products that represent a particular quantity of a substance or type of item, indicates
       how 'much' of the product (by weight, volume, count, etc.) is represented by this resource
       instance."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.instance.quantity"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
    </element> 
    <element id="Product.instance.identifier">
      <path value="Product.instance.identifier"/> 
      <short value="The identifier for the physical instance, typically a serial number"/> 
      <definition value="The identifier for the physical instance, typically a serial number."/> 
      <alias value="serialNumber"/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Product.instance.identifier"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="Identifier"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
    </element> 
    <element id="Product.instance.lotNumber">
      <path value="Product.instance.lotNumber"/> 
      <short value="The identification of the batch or lot of the product"/> 
      <definition value="The identification of the batch or lot of the product."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.instance.lotNumber"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="string"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
    </element> 
    <element id="Product.instance.expiry">
      <path value="Product.instance.expiry"/> 
      <short value="The expiry date or date and time for the product"/> 
      <definition value="The time after which the product is no longer expected to be in proper condition, or its
       use is not advised or not allowed."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.instance.expiry"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="dateTime"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
    </element> 
    <element id="Product.instance.subject">
      <path value="Product.instance.subject"/> 
      <short value="Individual the product is associated with, or which has used the product"/> 
      <definition value="Individual the product is associated with, or which has used the product."/> 
      <comment value="[For resources that aren't patient-specific, the set of allowed resources may be extended
       to include other things.  Group should generally be retained unless there's certainty
       this resource won't be used for veterinary, research or public health settings where Group
       may be necessary (e.g. this cage of rats/crate of chickens, group of people in a 5 mile
       radious of the incident, etc.)]."/> 
      <requirements value="Links the product to the Patient context."/> 
      <alias value="patient"/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Product.instance.subject"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Reference"/> 
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/> 
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="PAT in proximity to EVN segment"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value=".participation[typeCode=SBJ].role"/> 
      </mapping> 
      <mapping> 
        <identity value="w5"/> 
        <map value="FiveWs.subject"/> 
      </mapping> 
    </element> 
    <element id="Product.note">
      <path value="Product.note"/> 
      <short value="Comments made about the product"/> 
      <definition value="Comments made about the product."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Product.note"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="Annotation"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <xpath value="@value|f:*|h:div"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NTE"/> 
      </mapping> 
    </element> 
  </snapshot> 
</StructureDefinition> 

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.