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

Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Composition-drug-pq Version: 1.0.0
Active as of 2024-05-08 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.

Usage:

Formal Views of Profile Content

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

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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 & Constraintsdoco
.. 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
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... 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

PathConformanceValueSetURI
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... 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
.... 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

PathConformanceValueSetURI
Composition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.categoryexampleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
from the FHIR Standard
Composition.attester.modepreferredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode
from the FHIR Standard
Composition.event.detailexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard
Composition.section.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
Composition.section.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... 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

PathConformanceValueSetURI
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... 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
.... 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

PathConformanceValueSetURI
Composition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.categoryexampleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
from the FHIR Standard
Composition.attester.modepreferredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode
from the FHIR Standard
Composition.event.detailexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard
Composition.section.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
Composition.section.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron