R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

Example StructureDefinition/Product (Turtle)

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

Raw Turtle (+ also see Turtle/RDF Format Specification)

Logical Model Product

@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# - resource -------------------------------------------------------------------

[] a fhir:StructureDefinition ;
  fhir:id [ fhir:v "Product"] ;
  fhir:text [
     fhir:status [ fhir:v "generated" ]
  ] ;
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
     fhir:value [ fhir:v "informative" ]
  ] [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" ] ;
     fhir:value [ fhir:v "fhir" ]
  ] ) ;
  fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Product"], [ fhir:v "http://hl7.org/fhir/StructureDefinition/Product"] ;
  fhir:version [ fhir:v "6.0.0-ballot1"], [ fhir:v "6.0.0-ballot1"] ;
  fhir:name [ fhir:v "Product"], [ fhir:v "Product"] ;
  fhir:title [ fhir:v "product"], [ fhir:v "product"] ;
  fhir:status [ fhir:v "draft"], [ fhir:v "draft"] ;
  fhir:experimental [ fhir:v "false"], [ fhir:v "false"] ;
  fhir:date [ fhir:v "2023-12-18T15:12:07+11:00"], [ fhir:v "2023-12-18T15:12:07+11:00"] ;
  fhir:publisher [ fhir:v "HL7 International / FHIR Infrastructure"], [ fhir:v "HL7 International / FHIR Infrastructure"] ;
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]
     ] )
  ] ) ;
  fhir:description [ fhir:v "Logical Model: A pattern to be followed by resources that represent a product used in healthcare, for clinical or operational purposes."], [ fhir:v "Logical Model: A pattern to be followed by resources that represent a product used in healthcare, for clinical or operational purposes."] ;
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] ) ;
  fhir:fhirVersion [ fhir:v "6.0.0-ballot1"] ;
  fhir:mapping ( [
     fhir:identity [ fhir:v "rim" ] ;
     fhir:uri [ fhir:v "http://hl7.org/v3" ] ;
     fhir:name [ fhir:v "RIM Mapping" ]
  ] [
     fhir:identity [ fhir:v "v2" ] ;
     fhir:uri [ fhir:v "http://hl7.org/v2" ] ;
     fhir:name [ fhir:v "HL7 V2 Mapping" ]
  ] [
     fhir:identity [ fhir:v "w5" ] ;
     fhir:uri [ fhir:v "http://hl7.org/fhir/fivews" ] ;
     fhir:name [ fhir:v "FiveWs Pattern Mapping" ]
  ] ) ;
  fhir:kind [ fhir:v "logical"] ;
  fhir:abstract [ fhir:v "false"] ;
  fhir:type [ fhir:v "Product"] ;
  fhir:baseDefinition [ fhir:v "http://hl7.org/fhir/StructureDefinition/Base"] ;
  fhir:snapshot [
     fhir:element ( [
       fhir:id [ fhir:v "Product" ] ;
       fhir:path [ fhir:v "Product" ] ;
       fhir:short [ fhir:v "Product Pattern" ] ;
       fhir:definition [ fhir:v "A pattern to be followed by resources that represent a product used in healthcare, for clinical or operational purposes." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v "Act[moodCode=EVN]" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.status" ] ;
       fhir:path [ fhir:v "Product.status" ] ;
       fhir:short [ fhir:v "active | inactive | entered-in-error" ] ;
       fhir:definition [ fhir:v "The current state of the product." ] ;
       fhir:comment [ fhir:v "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." ] ;
       fhir:min [ fhir:v "1" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.status" ] ;
         fhir:min [ fhir:v "1" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "code" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "true" ] ;
       fhir:isModifierReason [ fhir:v "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" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:binding [
         fhir:extension ( [
           fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/binding-definition" ] ;
           fhir:value [ fhir:v "Codes identifying the lifecycle stage of a product." ]
         ] [
           fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ] ;
           fhir:value [ fhir:v "ProductStatus" ]
         ] ) ;
         fhir:strength [ fhir:v "required" ] ;
         fhir:description [ fhir:v "Codes identifying the lifecycle stage of a product." ] ;
         fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/product-status|6.0.0-ballot1" ]
       ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "Varies by domain" ]
       ] [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v ".status" ]
       ] [
         fhir:identity [ fhir:v "w5" ] ;
         fhir:map [ fhir:v "FiveWs.status" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.category" ] ;
       fhir:path [ fhir:v "Product.category" ] ;
       fhir:short [ fhir:v "A category or class of the product" ] ;
       fhir:definition [ fhir:v "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." ] ;
       fhir:alias ( [ fhir:v "class" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.category" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "CodeableConcept" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "Varies by domain" ]
       ] [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v ".code" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.code" ] ;
       fhir:path [ fhir:v "Product.code" ] ;
       fhir:short [ fhir:v "A code designating a specific type of product" ] ;
       fhir:definition [ fhir:v "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 \"0123456789\" corresponding to \"CompuHyper GlobalMed, UltraImplantable 2.25 x 8 mm\"." ] ;
       fhir:alias ( [ fhir:v "type" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.code" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "CodeableConcept" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "Varies by domain" ]
       ] [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v ".code" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.manufacturer" ] ;
       fhir:path [ fhir:v "Product.manufacturer" ] ;
       fhir:short [ fhir:v "Manufacturer, representative or officially responsible for the product" ] ;
       fhir:definition [ fhir:v "The organisation (manufacturer, representative or legal authorization holder) that is responsible for the device." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.manufacturer" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Reference" ] ;
         fhir:targetProfile ( [ fhir:v "http://hl7.org/fhir/StructureDefinition/Organization" ] )
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "Varies by domain" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.instance" ] ;
       fhir:path [ fhir:v "Product.instance" ] ;
       fhir:short [ fhir:v "One or several physical instances or occurrences of the product" ] ;
       fhir:definition [ fhir:v "Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Element" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ]
     ] [
       fhir:id [ fhir:v "Product.instance.quantity" ] ;
       fhir:path [ fhir:v "Product.instance.quantity" ] ;
       fhir:short [ fhir:v "The amount of items" ] ;
       fhir:definition [ fhir:v "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." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance.quantity" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Quantity" ] ;
         fhir:profile ( [ fhir:v "http://hl7.org/fhir/StructureDefinition/SimpleQuantity" ] )
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ]
     ] [
       fhir:id [ fhir:v "Product.instance.identifier" ] ;
       fhir:path [ fhir:v "Product.instance.identifier" ] ;
       fhir:short [ fhir:v "The identifier for the physical instance, typically a serial number" ] ;
       fhir:definition [ fhir:v "The identifier for the physical instance, typically a serial number." ] ;
       fhir:alias ( [ fhir:v "serialNumber" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance.identifier" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Identifier" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ]
     ] [
       fhir:id [ fhir:v "Product.instance.lotNumber" ] ;
       fhir:path [ fhir:v "Product.instance.lotNumber" ] ;
       fhir:short [ fhir:v "The identification of the batch or lot of the product" ] ;
       fhir:definition [ fhir:v "The identification of the batch or lot of the product." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance.lotNumber" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "string" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ]
     ] [
       fhir:id [ fhir:v "Product.instance.expiry" ] ;
       fhir:path [ fhir:v "Product.instance.expiry" ] ;
       fhir:short [ fhir:v "The expiry date or date and time for the product" ] ;
       fhir:definition [ fhir:v "The time after which the product is no longer expected to be in proper condition, or its use is not advised or not allowed." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance.expiry" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "dateTime" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ]
     ] [
       fhir:id [ fhir:v "Product.instance.subject" ] ;
       fhir:path [ fhir:v "Product.instance.subject" ] ;
       fhir:short [ fhir:v "Individual the product is associated with, or which has used the product" ] ;
       fhir:definition [ fhir:v "Individual the product is associated with, or which has used the product." ] ;
       fhir:comment [ fhir:v "[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.)]." ] ;
       fhir:requirements [ fhir:v "Links the product to the Patient context." ] ;
       fhir:alias ( [ fhir:v "patient" ] ) ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "1" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.instance.subject" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "1" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Reference" ] ;
         fhir:targetProfile ( [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient" ] [ fhir:v "http://hl7.org/fhir/StructureDefinition/Group" ] )
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "true" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "PAT in proximity to EVN segment" ]
       ] [
         fhir:identity [ fhir:v "rim" ] ;
         fhir:map [ fhir:v ".participation[typeCode=SBJ].role" ]
       ] [
         fhir:identity [ fhir:v "w5" ] ;
         fhir:map [ fhir:v "FiveWs.subject[x]" ]
       ] )
     ] [
       fhir:id [ fhir:v "Product.note" ] ;
       fhir:path [ fhir:v "Product.note" ] ;
       fhir:short [ fhir:v "Comments made about the product" ] ;
       fhir:definition [ fhir:v "Comments made about the product." ] ;
       fhir:min [ fhir:v "0" ] ;
       fhir:max [ fhir:v "*" ] ;
       fhir:base [
         fhir:path [ fhir:v "Product.note" ] ;
         fhir:min [ fhir:v "0" ] ;
         fhir:max [ fhir:v "*" ]
       ] ;
       fhir:type ( [
         fhir:code [ fhir:v "Annotation" ]
       ] ) ;
       fhir:constraint ( [
         fhir:key [ fhir:v "ele-1" ] ;
         fhir:severity [ fhir:v "error" ] ;
         fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
         fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
         fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
       ] ) ;
       fhir:isModifier [ fhir:v "false" ] ;
       fhir:isSummary [ fhir:v "false" ] ;
       fhir:mapping ( [
         fhir:identity [ fhir:v "v2" ] ;
         fhir:map [ fhir:v "NTE" ]
       ] )
     ] )
  ] .

# -------------------------------------------------------------------------------------


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.