FHIR © HL7.org  |  Server Home  |  XIG Home  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureDefinition/Supply

Packageau.digitalhealth.cda.schema
TypeStructureDefinition
IdSupply
FHIR VersionR5
Sourcehttp://ns.electronichealth.net.au/cda/https://build.fhir.org/ig/AuDigitalHealth/cda-au-schema/StructureDefinition-Supply.html
URLhttp://hl7.org/cda/stds/core/StructureDefinition/Supply
Version1.0.0
Statusactive
Date2025-07-21T22:05:27+00:00
NameSupply
TitleSupply (CDA Class)
Realmau
Authoritynational
DescriptionA derivative of the RIM Supply class, used for representing the provision of a material by one entity to another. The dispensed product is associated with the Supply act via a product participant, which connects to the same ManufacturedProduct role used for SubstanceAdministration. The Supply class represents dispensing, whereas the SubstanceAdministration class represents administration. Prescriptions are complex activities that involve both an administration request to the patient (e.g. take digoxin 0.125mg by mouth once per day) and a supply request to the pharmacy (e.g. dispense 30 tablets, with 5 refills). This should be represented in CDA by a SubstanceAdministration entry that has a component Supply entry. The nested Supply entry can have Supply.independentInd set to "false" to signal that the Supply cannot stand alone, without it's containing SubstanceAdministration. The following example illustrates a prescription representation in CDA.
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Supply
Kindlogical

Resources that use this resource

StructureDefinition
EntryEntry (CDA Class)
EntryRelationshipEntryRelationship (CDA Class)
OrganizerComponentOrganizerComponent (CDA Class)
FunctionalStatusObservationFunctional Status Observation
FunctionalStatusSectionFunctional Status Section
ImmunizationActivityImmunization Activity
InterventionActIntervention Act
MedicalEquipmentOrganizerMedical Equipment Organizer
MedicalEquipmentSectionMedical Equipment Section
MedicationActivityMedication Activity
MedicationDispenseMedication Dispense
MedicationSupplyOrderMedication Supply Order
NonMedicinalSupplyActivityNon-Medicinal Supply Activity
NutritionRecommendationNutrition Recommendation
PlannedInterventionActPlanned Intervention Act
PlannedSupplyPlanned Supply
PlanofTreatmentSectionPlan of Treatment Section
2.16.840.1.113883.10.22.3.6--20211020171142IPS Medical Devices Section
2.16.840.1.113883.10.22.4.26--20170411000000IPS Medical Device

Resources that this resource uses

StructureDefinition
AuthorAuthor (CDA Class)
BLBL: Boolean (V3 Data Type)
CDCD: ConceptDescriptor (V3 Data Type)
CECE: CodedWithEquivalents (V3 Data Type)
CSCS: CodedSimpleValue (V3 Data Type)
EDED: EncapsulatedData (V3 Data Type)
EIVL-TSEIVL_TS: EventRelatedPeriodicInterval (V3 Data Type)
EntryRelationshipEntryRelationship (CDA Class)
IIII: InstanceIdentifier (V3 Data Type)
IVL-INTIVL_INT: Interval (V3 Data Type)
IVL-TSIVL_TS: Interval (V3 Data Type)
InFulfillmentOf1InFulfillmentOf1 (CDA Class)
InformantInformant (CDA Class)
InfrastructureRootInfrastructureRoot (Base Type for all CDA Classes)
ManufacturedProductManufacturedProduct (CDA Class)
PIVL-TSPIVL_TS: PeriodicIntervalOfTime (V3 Data Type)
PQPQ: PhysicalQuantity (V3 Data Type)
Participant2Participant2 (CDA Class)
Performer2Performer2 (CDA Class)
PreconditionPrecondition (CDA Class)
ReferenceReference (CDA Class)
SXCM-TSSXCM_TS: GeneralTimingSpecification (V3 Data Type)
SXPR-TSSXPR_TS: Component part of GTS (V3 Data Type)
SpecimenSpecimen (CDA Class)
SubjectSubject (CDA Class)
cs-simplecs: Coded Simple Value
ValueSet
v3-ActClassSupplyActClassSupply
v3-ActCodev3 Code System ActCode
v3-ActPriorityActPriority
v3-ActStatusActStatus
v3-ParticipationTargetDirectParticipationTargetDirect
v3-xDocumentSubstanceMoodx_DocumentSubstanceMood
v3-ActClassSupplyActClassSupply
v3-ActCodev3 Code System ActCode
v3-ActPriorityActPriority
v3-ActStatusActStatus
v3-ParticipationTargetDirectParticipationTargetDirect
v3-xDocumentSubstanceMoodx_DocumentSubstanceMood

Narrative

Note: links and images are rebased to the (stated) source

A derivative of the RIM Supply class, used for representing the provision of a material by one entity to another.

The dispensed product is associated with the Supply act via a product participant, which connects to the same ManufacturedProduct role used for SubstanceAdministration.

The Supply class represents dispensing, whereas the SubstanceAdministration class represents administration. Prescriptions are complex activities that involve both an administration request to the patient (e.g. take digoxin 0.125mg by mouth once per day) and a supply request to the pharmacy (e.g. dispense 30 tablets, with 5 refills). This should be represented in CDA by a SubstanceAdministration entry that has a component Supply entry. The nested Supply entry can have Supply.independentInd set to "false" to signal that the Supply cannot stand alone, without it's containing SubstanceAdministration. The following example illustrates a prescription representation in CDA.


Source

{
  "resourceType": "StructureDefinition",
  "id": "Supply",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-target",
      "_valueBoolean": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
            "valueCode": "not-applicable"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
      "valueUri": "urn:hl7-org:v3"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
      "valueString": "supply"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-container",
      "valueUri": "http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-style",
      "valueCode": "cda"
    }
  ],
  "url": "http://hl7.org/cda/stds/core/StructureDefinition/Supply",
  "version": "1.0.0",
  "name": "Supply",
  "title": "Supply (CDA Class)",
  "status": "active",
  "experimental": false,
  "date": "2025-07-21T22:05:27+00:00",
  "publisher": "HL7",
  "description": "A derivative of the RIM Supply class, used for representing the provision of a material by one entity to another.\n\nThe dispensed product is associated with the Supply act via a product participant, which connects to the same ManufacturedProduct role used for SubstanceAdministration.\n\nThe Supply class represents dispensing, whereas the SubstanceAdministration class represents administration. Prescriptions are complex activities that involve both an administration request to the patient (e.g. take digoxin 0.125mg by mouth once per day) and a supply request to the pharmacy (e.g. dispense 30 tablets, with 5 refills). This should be represented in CDA by a SubstanceAdministration entry that has a component Supply entry. The nested Supply entry can have Supply.independentInd set to \"false\" to signal that the Supply cannot stand alone, without it's containing SubstanceAdministration. The following example illustrates a prescription representation in CDA.",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "http://hl7.org/cda/stds/core/StructureDefinition/Supply",
  "baseDefinition": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "1.0.0"
      }
    ],
    "element": [
      {
        "id": "Supply",
        "path": "Supply",
        "short": "Base for all types and resources",
        "definition": "Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Supply.nullFlavor",
        "path": "Supply.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Supply.realmCode",
        "path": "Supply.realmCode",
        "definition": "When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Supply.typeId",
        "path": "Supply.typeId",
        "definition": "When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Supply.typeId.nullFlavor",
        "path": "Supply.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Supply.typeId.assigningAuthorityName",
        "path": "Supply.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.typeId.displayable",
        "path": "Supply.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.typeId.root",
        "path": "Supply.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Supply.typeId.extension",
        "path": "Supply.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.templateId",
        "path": "Supply.templateId",
        "definition": "When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Supply.classCode",
        "path": "Supply.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "Supply.classCode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "defaultValueCode": "SPLY",
        "fixedCode": "SPLY",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActClassSupply"
        }
      },
      {
        "id": "Supply.moodCode",
        "path": "Supply.moodCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "Supply.moodCode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-xDocumentSubstanceMood|2.0.0"
        }
      },
      {
        "id": "Supply.id",
        "path": "Supply.id",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.id",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Supply.code",
        "path": "Supply.code",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActCode"
        }
      },
      {
        "id": "Supply.text",
        "path": "Supply.text",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ED"
          }
        ]
      },
      {
        "id": "Supply.statusCode",
        "path": "Supply.statusCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.statusCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActStatus"
        }
      },
      {
        "id": "Supply.effectiveTime",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype",
            "valueCanonical": "http://hl7.org/cda/stds/core/StructureDefinition/SXCM-TS"
          }
        ],
        "path": "Supply.effectiveTime",
        "representation": [
          "typeAttr"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.effectiveTime",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/SXCM-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EIVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/PIVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/SXPR-TS"
          }
        ]
      },
      {
        "id": "Supply.priorityCode",
        "path": "Supply.priorityCode",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.priorityCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActPriority"
        }
      },
      {
        "id": "Supply.repeatNumber",
        "path": "Supply.repeatNumber",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.repeatNumber",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-INT"
          }
        ]
      },
      {
        "id": "Supply.independentInd",
        "path": "Supply.independentInd",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.independentInd",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/BL"
          }
        ]
      },
      {
        "id": "Supply.quantity",
        "path": "Supply.quantity",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.quantity",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/PQ"
          }
        ]
      },
      {
        "id": "Supply.expectedUseTime",
        "path": "Supply.expectedUseTime",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.expectedUseTime",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          }
        ]
      },
      {
        "id": "Supply.product",
        "path": "Supply.product",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.product",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Supply.product.nullFlavor",
        "path": "Supply.product.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Supply.product.realmCode",
        "path": "Supply.product.realmCode",
        "definition": "When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Supply.product.typeId",
        "path": "Supply.product.typeId",
        "definition": "When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()"
          }
        ]
      },
      {
        "id": "Supply.product.typeId.nullFlavor",
        "path": "Supply.product.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Supply.product.typeId.assigningAuthorityName",
        "path": "Supply.product.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.product.typeId.displayable",
        "path": "Supply.product.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.product.typeId.root",
        "path": "Supply.product.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Supply.product.typeId.extension",
        "path": "Supply.product.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Supply.product.templateId",
        "path": "Supply.product.templateId",
        "definition": "When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Supply.product.typeCode",
        "path": "Supply.product.typeCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.product.typeCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PRD",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ParticipationTargetDirect"
        }
      },
      {
        "id": "Supply.product.manufacturedProduct",
        "path": "Supply.product.manufacturedProduct",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Supply.product.manufacturedProduct",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ManufacturedProduct"
          }
        ]
      },
      {
        "id": "Supply.subject",
        "path": "Supply.subject",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Supply.subject",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Subject"
          }
        ]
      },
      {
        "id": "Supply.specimen",
        "path": "Supply.specimen",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.specimen",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Specimen"
          }
        ]
      },
      {
        "id": "Supply.performer",
        "path": "Supply.performer",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.performer",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Performer2"
          }
        ]
      },
      {
        "id": "Supply.author",
        "path": "Supply.author",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.author",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Author"
          }
        ]
      },
      {
        "id": "Supply.informant",
        "path": "Supply.informant",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.informant",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Informant"
          }
        ]
      },
      {
        "id": "Supply.participant",
        "path": "Supply.participant",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.participant",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Participant2"
          }
        ]
      },
      {
        "id": "Supply.entryRelationship",
        "path": "Supply.entryRelationship",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.entryRelationship",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"
          }
        ]
      },
      {
        "id": "Supply.reference",
        "path": "Supply.reference",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.reference",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Reference"
          }
        ]
      },
      {
        "id": "Supply.precondition",
        "path": "Supply.precondition",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.precondition",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition"
          }
        ]
      },
      {
        "id": "Supply.sdtcInFulfillmentOf1",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "inFulfillmentOf1"
          }
        ],
        "path": "Supply.sdtcInFulfillmentOf1",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Supply.sdtcInFulfillmentOf1",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Supply",
        "path": "Supply",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Supply.classCode",
        "path": "Supply.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "defaultValueCode": "SPLY",
        "fixedCode": "SPLY",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActClassSupply"
        }
      },
      {
        "id": "Supply.moodCode",
        "path": "Supply.moodCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-xDocumentSubstanceMood|2.0.0"
        }
      },
      {
        "id": "Supply.id",
        "path": "Supply.id",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Supply.code",
        "path": "Supply.code",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActCode"
        }
      },
      {
        "id": "Supply.text",
        "path": "Supply.text",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ED"
          }
        ]
      },
      {
        "id": "Supply.statusCode",
        "path": "Supply.statusCode",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActStatus"
        }
      },
      {
        "id": "Supply.effectiveTime",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-defaulttype",
            "valueCanonical": "http://hl7.org/cda/stds/core/StructureDefinition/SXCM-TS"
          }
        ],
        "path": "Supply.effectiveTime",
        "representation": [
          "typeAttr"
        ],
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/SXCM-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EIVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/PIVL-TS"
          },
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/SXPR-TS"
          }
        ]
      },
      {
        "id": "Supply.priorityCode",
        "path": "Supply.priorityCode",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActPriority"
        }
      },
      {
        "id": "Supply.repeatNumber",
        "path": "Supply.repeatNumber",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-INT"
          }
        ]
      },
      {
        "id": "Supply.independentInd",
        "path": "Supply.independentInd",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/BL"
          }
        ]
      },
      {
        "id": "Supply.quantity",
        "path": "Supply.quantity",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/PQ"
          }
        ]
      },
      {
        "id": "Supply.expectedUseTime",
        "path": "Supply.expectedUseTime",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          }
        ]
      },
      {
        "id": "Supply.product",
        "path": "Supply.product",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Supply.product.typeCode",
        "path": "Supply.product.typeCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PRD",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ParticipationTargetDirect"
        }
      },
      {
        "id": "Supply.product.manufacturedProduct",
        "path": "Supply.product.manufacturedProduct",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ManufacturedProduct"
          }
        ]
      },
      {
        "id": "Supply.subject",
        "path": "Supply.subject",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Subject"
          }
        ]
      },
      {
        "id": "Supply.specimen",
        "path": "Supply.specimen",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Specimen"
          }
        ]
      },
      {
        "id": "Supply.performer",
        "path": "Supply.performer",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Performer2"
          }
        ]
      },
      {
        "id": "Supply.author",
        "path": "Supply.author",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Author"
          }
        ]
      },
      {
        "id": "Supply.informant",
        "path": "Supply.informant",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Informant"
          }
        ]
      },
      {
        "id": "Supply.participant",
        "path": "Supply.participant",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Participant2"
          }
        ]
      },
      {
        "id": "Supply.entryRelationship",
        "path": "Supply.entryRelationship",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"
          }
        ]
      },
      {
        "id": "Supply.reference",
        "path": "Supply.reference",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Reference"
          }
        ]
      },
      {
        "id": "Supply.precondition",
        "path": "Supply.precondition",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition"
          }
        ]
      },
      {
        "id": "Supply.sdtcInFulfillmentOf1",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "inFulfillmentOf1"
          }
        ],
        "path": "Supply.sdtcInFulfillmentOf1",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1"
          }
        ]
      }
    ]
  }
}