R6 Ballot (2nd Draft)

Publish-box (todo)

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> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/> 
  </extension> 
  <url value="http://hl7.org/fhir/StructureDefinition/Product"/> 
  <version value="6.0.0-ballot2"/> 
  <name value="Product"/> 
  <title value="product"/> 
  <status value="draft"/> 
  <experimental value="false"/> 
  <date value="2024-08-12T16:52:12+08:00"/> 
  <publisher value="HL7 International / FHIR Infrastructure"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
  </contact> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/fiwg"/> 
    </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."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <fhirVersion value="6.0.0-ballot2"/> 
  <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())"/> 
        <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())"/> 
        <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/tools/StructureDefinition/binding-definition">
          <valueMarkdown 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"/> 
        <description value="Codes identifying the lifecycle stage of a product."/> 
        <valueSet value="http://hl7.org/fhir/ValueSet/product-status|6.0.0-ballot2"/> 
      </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())"/> 
        <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())"/> 
        <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 authorization 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())"/> 
        <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())"/> 
        <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())"/> 
        <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())"/> 
        <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())"/> 
        <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())"/> 
        <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())"/> 
        <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[x]"/> 
      </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())"/> 
        <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.