Order Catalog Implementation Guide
1.0.0 - STU 1

Order Catalog Implementation Guide, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-order-catalog/ and changes regularly. See the Directory of published versions

## Resource Profile: DrugPackage Profile

Official URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/DrugPackage | Version: 1.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: DrugPackage
Other Identifiers: OID:2.16.840.1.113883.4.642.40.55.42.4

This profile constrains the base resource PackagedProductDefinition to represent a definition of a packaging in a catalog of medications.

Usages:

- Examples for this Profile: Package for CLARITHROMYCINE GENERIC-LAB 25 mg/ml, granules for oral suspension in 100 ml HDPE bottle

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
name | S Σ | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type | Σ | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc Binding: PackageType (example): A high level categorisation of a package.
status | ?!Σ | 0..1 | CodeableConcept | The status within the lifecycle of this item. High level - not intended to duplicate details elsewhere e.g. legal status, or authorization/marketing status Binding: PublicationStatus (preferred): The lifecycle status of an artifact.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PackagedProductDefinition.​type | Base | example | Package Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​status | Base | preferred | PublicationStatus | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PackagedProductDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from PackagedProductDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
name | S | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type |  | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | A unique identifier for this package as whole - not for the content of the package
name | S Σ | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type | Σ | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc Binding: PackageType (example): A high level categorisation of a package.
packageFor | Σ | 0..* | Reference(MedicinalProductDefinition) | The product that this is a pack for
status | ?!Σ | 0..1 | CodeableConcept | The status within the lifecycle of this item. High level - not intended to duplicate details elsewhere e.g. legal status, or authorization/marketing status Binding: PublicationStatus (preferred): The lifecycle status of an artifact.
statusDate | Σ | 0..1 | dateTime | The date at which the given status became applicable
containedItemQuantity | Σ | 0..* | Quantity | A total of the complete count of contained items of a particular type/form, independent of sub-packaging or organization. This can be considered as the pack size. See also packaging.containedItem.amount (especially the long definition)
description | Σ | 0..1 | markdown | Textual description. Note that this is not the name of the package or product
legalStatusOfSupply | Σ | 0..* | BackboneElement | The legal status of supply of the packaged item as classified by the regulator
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 0..1 | CodeableConcept | The actual status of supply. In what situation this package type may be supplied for use Binding: LegalStatusOfSupply (example): The prescription supply types appropriate to a medicinal product
jurisdiction | Σ | 0..1 | CodeableConcept | The place where the legal status of supply applies Binding: JurisdictionValueSet (example): Jurisdiction codes
marketingStatus | Σ | 0..* | MarketingStatus | Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated
copackagedIndicator | Σ | 0..1 | boolean | Identifies if the drug product is supplied with another item such as a diluent or adjuvant
manufacturer | Σ | 0..* | Reference(Organization) | Manufacturer of this package type (multiple means these are all possible manufacturers)
attachedDocument | Σ | 0..* | Reference(DocumentReference) | Additional information or supporting documentation about the packaged product
packaging | Σ | 0..1 | BackboneElement | A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier | Σ | 0..* | Identifier | An identifier that is specific to this particular part of the packaging. Including possibly a Data Carrier Identifier
type | Σ | 0..1 | CodeableConcept | The physical type of the container of the items Binding: PackagingType (example): A high level categorisation of a package.
componentPart | Σ | 0..1 | boolean | Is this a part of the packaging (e.g. a cap or bottle stopper), rather than the packaging itself (e.g. a bottle or vial)
quantity | Σ | 0..1 | integer | The quantity of this level of packaging in the package that contains it (with the outermost level being 1)
material | Σ | 0..* | CodeableConcept | Material type of the package item Binding: PackageMaterial (example): A material used in the construction of packages and their components.
alternateMaterial | Σ | 0..* | CodeableConcept | A possible alternate material for this part of the packaging, that is allowed to be used instead of the usual material Binding: PackageMaterial (example): A material used in the construction of packages and their components.
shelfLifeStorage | Σ | 0..* | ProductShelfLife | Shelf Life and storage information
manufacturer | Σ | 0..* | Reference(Organization) | Manufacturer of this packaging item (multiple means these are all potential manufacturers)
property | Σ | 0..* | BackboneElement | General characteristics of this item
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A code expressing the type of characteristic Binding: ProductCharacteristic (example): This value set includes all observable entity codes from SNOMED CT - provided as an exemplar value set.
value[x] | Σ | 0..1 |  | A value for the characteristic
valueCodeableConcept |  |  | CodeableConcept |
valueQuantity |  |  | Quantity |
valueDate |  |  | date |
valueBoolean |  |  | boolean |
valueAttachment |  |  | Attachment |
containedItem | Σ | 0..* | BackboneElement | The item(s) within the packaging
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item | Σ | 1..1 | CodeableReference(ManufacturedItemDefinition | DeviceDefinition | PackagedProductDefinition | BiologicallyDerivedProduct | NutritionProduct) | The actual item(s) of medication, as manufactured, or a device, or other medically related item (food, biologicals, raw materials, medical fluids, gases etc.), as contained in the package
amount | Σ | 0..1 | Quantity | The number of this type of item within this packaging or for continuous items such as liquids it is the quantity (for example 25ml). See also PackagedProductDefinition.containedItemQuantity (especially the long definition)
packaging | Σ | 0..* | See packaging (PackagedProductDefinition) | Allows containers (and parts of containers) within containers, still as a part of single packaged product
characteristic | Σ | 0..* | See property (PackagedProductDefinition) | Allows the key features to be recorded, such as "hospital pack", "nurse prescribable"
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PackagedProductDefinition.​language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​type | Base | example | Package Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​status | Base | preferred | PublicationStatus | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​legalStatusOfSupply.​code | Base | example | Legal Status Of Supply | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​legalStatusOfSupply.​jurisdiction | Base | example | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.type | Base | example | Packaging Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.material | Base | example | Package Material | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.alternateMaterial | Base | example | Package Material | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.property.type | Base | example | Product Characteristic | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PackagedProductDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from PackagedProductDefinition

Summary

Mandatory: 1 element
Must-Support: 1 element

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
name | S Σ | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type | Σ | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc Binding: PackageType (example): A high level categorisation of a package.
status | ?!Σ | 0..1 | CodeableConcept | The status within the lifecycle of this item. High level - not intended to duplicate details elsewhere e.g. legal status, or authorization/marketing status Binding: PublicationStatus (preferred): The lifecycle status of an artifact.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PackagedProductDefinition.​type | Base | example | Package Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​status | Base | preferred | PublicationStatus | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PackagedProductDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from PackagedProductDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
name | S | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type |  | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PackagedProductDefinition |  | 0..* | PackagedProductDefinition | A medically related item or items, in a container or package
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | A unique identifier for this package as whole - not for the content of the package
name | S Σ | 0..1 | string | A name for this package. Typically as listed in a drug formulary, catalogue, inventory etc
type | Σ | 1..1 | CodeableConcept | A high level category e.g. medicinal product, raw material, shipping container etc Binding: PackageType (example): A high level categorisation of a package.
packageFor | Σ | 0..* | Reference(MedicinalProductDefinition) | The product that this is a pack for
status | ?!Σ | 0..1 | CodeableConcept | The status within the lifecycle of this item. High level - not intended to duplicate details elsewhere e.g. legal status, or authorization/marketing status Binding: PublicationStatus (preferred): The lifecycle status of an artifact.
statusDate | Σ | 0..1 | dateTime | The date at which the given status became applicable
containedItemQuantity | Σ | 0..* | Quantity | A total of the complete count of contained items of a particular type/form, independent of sub-packaging or organization. This can be considered as the pack size. See also packaging.containedItem.amount (especially the long definition)
description | Σ | 0..1 | markdown | Textual description. Note that this is not the name of the package or product
legalStatusOfSupply | Σ | 0..* | BackboneElement | The legal status of supply of the packaged item as classified by the regulator
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 0..1 | CodeableConcept | The actual status of supply. In what situation this package type may be supplied for use Binding: LegalStatusOfSupply (example): The prescription supply types appropriate to a medicinal product
jurisdiction | Σ | 0..1 | CodeableConcept | The place where the legal status of supply applies Binding: JurisdictionValueSet (example): Jurisdiction codes
marketingStatus | Σ | 0..* | MarketingStatus | Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated
copackagedIndicator | Σ | 0..1 | boolean | Identifies if the drug product is supplied with another item such as a diluent or adjuvant
manufacturer | Σ | 0..* | Reference(Organization) | Manufacturer of this package type (multiple means these are all possible manufacturers)
attachedDocument | Σ | 0..* | Reference(DocumentReference) | Additional information or supporting documentation about the packaged product
packaging | Σ | 0..1 | BackboneElement | A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier | Σ | 0..* | Identifier | An identifier that is specific to this particular part of the packaging. Including possibly a Data Carrier Identifier
type | Σ | 0..1 | CodeableConcept | The physical type of the container of the items Binding: PackagingType (example): A high level categorisation of a package.
componentPart | Σ | 0..1 | boolean | Is this a part of the packaging (e.g. a cap or bottle stopper), rather than the packaging itself (e.g. a bottle or vial)
quantity | Σ | 0..1 | integer | The quantity of this level of packaging in the package that contains it (with the outermost level being 1)
material | Σ | 0..* | CodeableConcept | Material type of the package item Binding: PackageMaterial (example): A material used in the construction of packages and their components.
alternateMaterial | Σ | 0..* | CodeableConcept | A possible alternate material for this part of the packaging, that is allowed to be used instead of the usual material Binding: PackageMaterial (example): A material used in the construction of packages and their components.
shelfLifeStorage | Σ | 0..* | ProductShelfLife | Shelf Life and storage information
manufacturer | Σ | 0..* | Reference(Organization) | Manufacturer of this packaging item (multiple means these are all potential manufacturers)
property | Σ | 0..* | BackboneElement | General characteristics of this item
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A code expressing the type of characteristic Binding: ProductCharacteristic (example): This value set includes all observable entity codes from SNOMED CT - provided as an exemplar value set.
value[x] | Σ | 0..1 |  | A value for the characteristic
valueCodeableConcept |  |  | CodeableConcept |
valueQuantity |  |  | Quantity |
valueDate |  |  | date |
valueBoolean |  |  | boolean |
valueAttachment |  |  | Attachment |
containedItem | Σ | 0..* | BackboneElement | The item(s) within the packaging
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item | Σ | 1..1 | CodeableReference(ManufacturedItemDefinition | DeviceDefinition | PackagedProductDefinition | BiologicallyDerivedProduct | NutritionProduct) | The actual item(s) of medication, as manufactured, or a device, or other medically related item (food, biologicals, raw materials, medical fluids, gases etc.), as contained in the package
amount | Σ | 0..1 | Quantity | The number of this type of item within this packaging or for continuous items such as liquids it is the quantity (for example 25ml). See also PackagedProductDefinition.containedItemQuantity (especially the long definition)
packaging | Σ | 0..* | See packaging (PackagedProductDefinition) | Allows containers (and parts of containers) within containers, still as a part of single packaged product
characteristic | Σ | 0..* | See property (PackagedProductDefinition) | Allows the key features to be recorded, such as "hospital pack", "nurse prescribable"
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PackagedProductDefinition.​language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​type | Base | example | Package Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​status | Base | preferred | PublicationStatus | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​legalStatusOfSupply.​code | Base | example | Legal Status Of Supply | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​legalStatusOfSupply.​jurisdiction | Base | example | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.type | Base | example | Packaging Type | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.material | Base | example | Package Material | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.alternateMaterial | Base | example | Package Material | 📍5.0.0 | FHIR Std.
PackagedProductDefinition.​packaging.property.type | Base | example | Product Characteristic | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PackagedProductDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PackagedProductDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PackagedProductDefinition | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from PackagedProductDefinition

Summary

Mandatory: 1 element
Must-Support: 1 element

Maturity: 2

Other representations of profile: CSV, Excel, Schematron