Pharmaceutical Quality (Industry)
1.0.0 - STU1 International flag

Pharmaceutical Quality (Industry), published by HL7 International / Biomedical Research and Regulation. 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/uv-dx-pq/ and changes regularly. See the Directory of published versions

Resource Profile: Composition - Drug PQ

Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Composition-drug-pq Version: 1.0.0
Active as of 2026-05-10 Computable Name: CompositionDrugPQ
Other Identifiers: OID:2.16.840.1.113883.4.642.40.41.42.23

This Composition profile represents narrative text necessary for pharmaceutical quality (PQ) data exchange.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... id SΣ 0..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... status ?!SΣ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type SΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.
... subject SΣ 0..* Reference(MedicinalProductDefinition - Drug Product PQ) Who and/or what the composition is about
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... section SC 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... entry C 0..* Reference(Resource) A reference to data that supports this section

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Composition.status Base required Composition Status 📍5.0.0 FHIR Std.
Composition.type Base preferred FHIR Document Type Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Composition 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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition Composition
... id S 0..1 id Logical id of this artifact
... status S 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
... type S 1..1 CodeableConcept Kind of composition (LOINC if possible)
... date S 1..1 dateTime Composition editing time
... author S 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... title S 1..1 string Human Readable name/title
... section S 0..* BackboneElement Composition is broken into sections

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... id SΣ 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 BindingsPurpose
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
... url Σ 0..1 uri Canonical identifier for this Composition, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Version-independent identifier for the Composition
... version Σ 0..1 string An explicitly assigned identifer of a variation of the content in the Composition
... status ?!SΣ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type SΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.
... category Σ 0..* CodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (example): High-level kind of a clinical document at a macro level.
... subject SΣ 0..* Reference(MedicinalProductDefinition - Drug Product PQ) Who and/or what the composition is about
... encounter Σ 0..1 Reference(Encounter) Context of the Composition
... date SΣ 1..1 dateTime Composition editing time
... useContext Σ 0..* UsageContext The context that the content is intended to support
... author SΣ 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... name Σ 0..1 string Name for this Composition (computer friendly)
... title SΣ 1..1 string Human Readable name/title
... note 0..* Annotation For any additional notes
... attester 0..* BackboneElement Attests to accuracy of composition
.... 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
.... mode 1..1 CodeableConcept personal | professional | legal | official
Binding: CompositionAttestationMode (preferred): The way in which a person authenticated a composition.
.... time 0..1 dateTime When the composition was attested
.... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
... custodian Σ 0..1 Reference(Organization) Organization which maintains the composition
... relatesTo 0..* RelatedArtifact Relationships to other compositions/documents
... event Σ 0..* BackboneElement The clinical service(s) being documented
.... 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
.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* CodeableReference(Resource) The event(s) being documented, as code(s), reference(s), or both
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
... section SC 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... 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
.... title 0..1 string Label for section (e.g. for ToC)
.... code 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
.... author 0..* Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) Who and/or what authored the section
.... focus 0..1 Reference(Resource) Who/what the section is about, when it is not about the subject of composition
.... text C 0..1 Narrative Text summary of the section, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
.... orderedBy 0..1 CodeableConcept Order of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.
.... entry C 0..* Reference(Resource) A reference to data that supports this section
.... emptyReason C 0..1 CodeableConcept Why the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
.... section 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Composition.language Base required All Languages 📍5.0.0 FHIR Std.
Composition.status Base required Composition Status 📍5.0.0 FHIR Std.
Composition.type Base preferred FHIR Document Type Codes 📍5.0.0 FHIR Std.
Composition.category Base example Referenced Item Category Value Set 📍5.0.0 FHIR Std.
Composition.attester.​mode Base preferred Composition Attestation Mode 📍5.0.0 FHIR Std.
Composition.event.detail Base example v3 Code System ActCode 📦3.0.0 THO v7.1
Composition.section.​code Base example Document Section Codes 📍5.0.0 FHIR Std.
Composition.section.​orderedBy Base preferred List Order Codes 📍5.0.0 FHIR Std.
Composition.section.​emptyReason Base preferred List Empty Reasons 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Composition 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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... id SΣ 0..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... status ?!SΣ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type SΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.
... subject SΣ 0..* Reference(MedicinalProductDefinition - Drug Product PQ) Who and/or what the composition is about
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... section SC 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... entry C 0..* Reference(Resource) A reference to data that supports this section

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Composition.status Base required Composition Status 📍5.0.0 FHIR Std.
Composition.type Base preferred FHIR Document Type Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Composition 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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition Composition
... id S 0..1 id Logical id of this artifact
... status S 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
... type S 1..1 CodeableConcept Kind of composition (LOINC if possible)
... date S 1..1 dateTime Composition editing time
... author S 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... title S 1..1 string Human Readable name/title
... section S 0..* BackboneElement Composition is broken into sections

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... id SΣ 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 BindingsPurpose
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
... url Σ 0..1 uri Canonical identifier for this Composition, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Version-independent identifier for the Composition
... version Σ 0..1 string An explicitly assigned identifer of a variation of the content in the Composition
... status ?!SΣ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type SΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.
... category Σ 0..* CodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (example): High-level kind of a clinical document at a macro level.
... subject SΣ 0..* Reference(MedicinalProductDefinition - Drug Product PQ) Who and/or what the composition is about
... encounter Σ 0..1 Reference(Encounter) Context of the Composition
... date SΣ 1..1 dateTime Composition editing time
... useContext Σ 0..* UsageContext The context that the content is intended to support
... author SΣ 1..* Reference(Organization - Drug PQ) Who and/or what authored the composition
... name Σ 0..1 string Name for this Composition (computer friendly)
... title SΣ 1..1 string Human Readable name/title
... note 0..* Annotation For any additional notes
... attester 0..* BackboneElement Attests to accuracy of composition
.... 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
.... mode 1..1 CodeableConcept personal | professional | legal | official
Binding: CompositionAttestationMode (preferred): The way in which a person authenticated a composition.
.... time 0..1 dateTime When the composition was attested
.... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
... custodian Σ 0..1 Reference(Organization) Organization which maintains the composition
... relatesTo 0..* RelatedArtifact Relationships to other compositions/documents
... event Σ 0..* BackboneElement The clinical service(s) being documented
.... 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
.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* CodeableReference(Resource) The event(s) being documented, as code(s), reference(s), or both
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
... section SC 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... 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
.... title 0..1 string Label for section (e.g. for ToC)
.... code 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
.... author 0..* Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) Who and/or what authored the section
.... focus 0..1 Reference(Resource) Who/what the section is about, when it is not about the subject of composition
.... text C 0..1 Narrative Text summary of the section, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
.... orderedBy 0..1 CodeableConcept Order of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.
.... entry C 0..* Reference(Resource) A reference to data that supports this section
.... emptyReason C 0..1 CodeableConcept Why the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
.... section 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Composition.language Base required All Languages 📍5.0.0 FHIR Std.
Composition.status Base required Composition Status 📍5.0.0 FHIR Std.
Composition.type Base preferred FHIR Document Type Codes 📍5.0.0 FHIR Std.
Composition.category Base example Referenced Item Category Value Set 📍5.0.0 FHIR Std.
Composition.attester.​mode Base preferred Composition Attestation Mode 📍5.0.0 FHIR Std.
Composition.event.detail Base example v3 Code System ActCode 📦3.0.0 THO v7.1
Composition.section.​code Base example Document Section Codes 📍5.0.0 FHIR Std.
Composition.section.​orderedBy Base preferred List Order Codes 📍5.0.0 FHIR Std.
Composition.section.​emptyReason Base preferred List Empty Reasons 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Composition 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()

 

Other representations of profile: CSV, Excel, Schematron