FHIR IG analytics| Package | hl7.fhir.uv.xver-r4.r3 |
| Resource Type | StructureDefinition |
| Id | StructureDefinition-ext-R4-Medication.batch.json |
| FHIR Version | R3 |
| Source | http://hl7.org/fhir/uv/xver-r4.r3/0.1.0/StructureDefinition-ext-R4-Medication.batch.html |
| URL | http://hl7.org/fhir/4.0/StructureDefinition/extension-Medication.batch |
| Version | 0.1.0 |
| Status | active |
| Date | 2026-03-17T21:02:03.8104715+00:00 |
| Name | ExtensionMedication_Batch |
| Title | R4: Details about packaged medications (new) |
| Realm | uv |
| Authority | hl7 |
| Description | R4: `Medication.batch` (new:BackboneElement) |
| Purpose | This extension is part of the cross-version definitions generated to enable use of the element `Medication.batch` as defined in FHIR R4 in FHIR STU3. The source element is defined as: `Medication.batch` 0..1 `BackboneElement` Following are the generation technical comments: Element `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). |
| Type | Extension |
| Kind | complex-type |
| ConceptMap | ||
| hl7.fhir.uv.xver-r4.r3#0.1.0 | R4-Medication-element-map-to-R3 | Cross-version mapping for FHIR R4 Medication to FHIR STU3 Medication |
No resources found
No extension usage examples found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureDefinition ext-R4-Medication.batch
| Name | Flags | Card. | Type | Description & Constraints |
|---|---|---|---|---|
![]() | 0..1 | Extension | R4: Details about packaged medications (new) | |
![]() ![]() | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() | 0..1 | Extension | R4: Identifier assigned to batch (new) | |
![]() ![]() ![]() ![]() | 1..1 | uri | "lotNumber" | |
![]() ![]() ![]() ![]() | 0..1 | string | Identifier assigned to batch | |
![]() ![]() ![]() | 0..1 | Extension | R4: When batch will expire (new) | |
![]() ![]() ![]() ![]() | 1..1 | uri | "expirationDate" | |
![]() ![]() ![]() ![]() | 0..1 | dateTime | When batch will expire | |
![]() ![]() | 1..1 | uri | "http://hl7.org/fhir/4.0/StructureDefinition/extension-Medication.batch" | |
![]() ![]() | 0..0 | Value of extension | ||
{
"resourceType": "StructureDefinition",
"id": "ext-R4-Medication.batch",
"text": {
"status": "extensions",
"div": "<!-- snip (see above) -->"
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode": "fhir"
},
{
"extension": [
{
"url": "packageId",
"valueId": "hl7.fhir.uv.xver-r4.r3"
},
{
"url": "version",
"valueString": "0.1.0"
},
{
"url": "uri",
"valueUri": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/package-source"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger": 0,
"_valueInteger": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueUri": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3"
}
]
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "trial-use",
"_valueCode": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueUri": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3"
}
]
}
}
],
"url": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Medication.batch",
"version": "0.1.0",
"name": "ExtensionMedication_Batch",
"title": "R4: Details about packaged medications (new)",
"status": "active",
"experimental": false,
"date": "2026-03-17T21:02:03.8104715+00:00",
"publisher": "FHIR Infrastructure",
"contact": [
{
"name": "FHIR Infrastructure",
"telecom": [
{
"system": "url",
"value": "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description": "R4: `Medication.batch` (new:BackboneElement)",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001",
"display": "World"
}
]
}
],
"purpose": "This extension is part of the cross-version definitions generated to enable use of the\r\nelement `Medication.batch` as defined in FHIR R4\r\nin FHIR STU3.\r\n\r\nThe source element is defined as:\r\n`Medication.batch` 0..1 `BackboneElement`\r\n\r\nFollowing are the generation technical comments:\r\nElement `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"fhirVersion": "3.0.2",
"mapping": [
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "complex-type",
"abstract": false,
"contextType": "resource",
"context": [
"Medication"
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"snapshot": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "R4: Details about packaged medications (new)",
"definition": "R4: `Medication.batch` (new:BackboneElement)",
"comment": "Element `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Extension",
"min": 0,
"max": "*"
},
"condition": [
"ele-1"
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false
},
{
"id": "Extension.id",
"path": "Extension.id",
"representation": [
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"ordered": false,
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
]
},
{
"id": "Extension.extension:lotNumber",
"path": "Extension.extension",
"sliceName": "lotNumber",
"short": "R4: Identifier assigned to batch (new)",
"definition": "R4: `Medication.batch.lotNumber` (new:string)",
"comment": "Element `Medication.batch.lotNumber` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.lotNumber` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.lotNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"requirements": "Element `Medication.batch.lotNumber` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.lotNumber` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.lotNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
]
},
{
"id": "Extension.extension:lotNumber.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:lotNumber.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional Content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:lotNumber.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "lotNumber",
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:lotNumber.value[x]",
"path": "Extension.extension.value[x]",
"short": "Identifier assigned to batch",
"definition": "The assigned lot number of a batch of the specified product.",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:expirationDate",
"path": "Extension.extension",
"sliceName": "expirationDate",
"short": "R4: When batch will expire (new)",
"definition": "R4: `Medication.batch.expirationDate` (new:dateTime)",
"comment": "Element `Medication.batch.expirationDate` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.expirationDate` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.expirationDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"requirements": "Element `Medication.batch.expirationDate` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.expirationDate` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.expirationDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
]
},
{
"id": "Extension.extension:expirationDate.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:expirationDate.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional Content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:expirationDate.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "expirationDate",
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:expirationDate.value[x]",
"path": "Extension.extension.value[x]",
"short": "When batch will expire",
"definition": "When this specific batch of product will expire.",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Medication.batch",
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
"min": 0,
"max": "0",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "base64Binary"
},
{
"code": "boolean"
},
{
"code": "code"
},
{
"code": "date"
},
{
"code": "dateTime"
},
{
"code": "decimal"
},
{
"code": "id"
},
{
"code": "instant"
},
{
"code": "integer"
},
{
"code": "markdown"
},
{
"code": "oid"
},
{
"code": "positiveInt"
},
{
"code": "string"
},
{
"code": "time"
},
{
"code": "unsignedInt"
},
{
"code": "uri"
},
{
"code": "Address"
},
{
"code": "Age"
},
{
"code": "Annotation"
},
{
"code": "Attachment"
},
{
"code": "CodeableConcept"
},
{
"code": "Coding"
},
{
"code": "ContactPoint"
},
{
"code": "Count"
},
{
"code": "Distance"
},
{
"code": "Duration"
},
{
"code": "HumanName"
},
{
"code": "Identifier"
},
{
"code": "Money"
},
{
"code": "Period"
},
{
"code": "Quantity"
},
{
"code": "Range"
},
{
"code": "Ratio"
},
{
"code": "Reference"
},
{
"code": "SampledData"
},
{
"code": "Signature"
},
{
"code": "Timing"
},
{
"code": "Meta"
}
],
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"differential": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "R4: Details about packaged medications (new)",
"definition": "R4: `Medication.batch` (new:BackboneElement)",
"comment": "Element `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Extension",
"min": 0,
"max": "*"
},
"isModifier": false
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"min": 0,
"max": "*",
"base": {
"path": "Extension.extension",
"min": 0,
"max": "*"
}
},
{
"id": "Extension.extension:lotNumber",
"path": "Extension.extension",
"sliceName": "lotNumber",
"short": "R4: Identifier assigned to batch (new)",
"definition": "R4: `Medication.batch.lotNumber` (new:string)",
"comment": "Element `Medication.batch.lotNumber` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.lotNumber` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.lotNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"requirements": "Element `Medication.batch.lotNumber` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.lotNumber` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.lotNumber` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Extension.extension",
"min": 0,
"max": "*"
}
},
{
"id": "Extension.extension:lotNumber.url",
"path": "Extension.extension.url",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"fixedUri": "lotNumber"
},
{
"id": "Extension.extension:lotNumber.value[x]",
"path": "Extension.extension.value[x]",
"short": "Identifier assigned to batch",
"definition": "The assigned lot number of a batch of the specified product.",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
]
},
{
"id": "Extension.extension:expirationDate",
"path": "Extension.extension",
"sliceName": "expirationDate",
"short": "R4: When batch will expire (new)",
"definition": "R4: `Medication.batch.expirationDate` (new:dateTime)",
"comment": "Element `Medication.batch.expirationDate` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.expirationDate` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.expirationDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"requirements": "Element `Medication.batch.expirationDate` is part of an existing definition because parent element `Medication.batch` requires a cross-version extension.\nElement `Medication.batch.expirationDate` has a context of Medication based on following the parent source element upwards and mapping to `Medication`.\nElement `Medication.batch.expirationDate` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).",
"min": 0,
"max": "1",
"base": {
"path": "Extension.extension",
"min": 0,
"max": "*"
}
},
{
"id": "Extension.extension:expirationDate.url",
"path": "Extension.extension.url",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"fixedUri": "expirationDate"
},
{
"id": "Extension.extension:expirationDate.value[x]",
"path": "Extension.extension.value[x]",
"short": "When batch will expire",
"definition": "When this specific batch of product will expire.",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"fixedUri": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Medication.batch"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"min": 0,
"max": "0",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
}
}
]
}
}