This page is part of the C-CDA on FHIR Implementation Guide (v1.6.0: STU 1 Ballot 1) based on FHIR v1.6.0. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://hl7.org/fhir/ccda/StructureDefinition/ccda-us-realm-header-composition
This profile defines constraints that represent common administrative and demographic concepts for US Realm clinical documents. Further specification, such as type, are provided in document profiles that conform to this profile.
This profile was published on Thu Aug 11 21:16:47 AEST 2016 as a draft by Lantana Consulting Group.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
Example yet to be done.
This structure is derived from Composition
Summary
Mandatory: 13 elements (+2 nested mandatory elements)
Fixed Value: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
This structure is derived from Composition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | |||
language | 1..1 | code | language | |
identifier | 1..1 | Identifier | identifier | |
date | 1..1 | dateTime | date | |
type | 1..1 | CodeableConcept | Document Type | |
title | 1..1 | string | Document Title | |
status | 1..1 | code | status | |
confidentiality | 1..1 | code | confidentiality Binding: HL7 BasicConfidentialityKind (required) | |
subject | 1..1 | Reference(Profile daf-core-patient) | recordTarget | |
author | 1..* | Reference(Profile daf-core-pract | http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-core-device) | author | |
attester | BackboneElement | Slice: Unordered, Open, by Composition.attester.mode | ||
attester | 0..* | BackboneElement | legalAuthenticator | |
mode | 1..* | code | mode Fixed Value: legal | |
party | 0..1 | Reference(Profile daf-core-pract) | party | |
attester | 0..* | BackboneElement | authenticator | |
mode | 1..* | code | mode | |
party | 0..1 | Reference(Profile daf-core-pract) | party | |
custodian | 1..1 | Reference(Profile daf-core-organization) | custodian | |
event | 1..* | BackboneElement | serviceEvent | |
period | 1..1 | Period | period | |
start | 1..1 | dateTime | start | |
encounter | 0..1 | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-encounter) | encompassingEncounter | |
ccda-data-enterer-extension | 0..1 | Reference(Profile daf-core-pract) | dataEnterer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-data-enterer-extension | |
ccda-informant-extension | 0..* | Reference(Profile daf-core-pract) | informant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-informant-extension | |
ccda-information-recipient-extension | 0..* | Reference(Profile daf-core-pract) | informationRecipient URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-information-recipient-extension | |
ccda-participant-extension | 0..* | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-relatedperson) | participant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-participant-extension | |
ccda-performer-extension | 0..* | Reference(Profile daf-core-pract) | performer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-performer-extension | |
ccda-authorization-extension | 0..* | Reference(http://hl7.org/fhir/ccda/StructureDefinition/ccda-consent) | authorization URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-authorization-extension | |
Documentation for this format |
This structure is derived from Composition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | I | 0..* | A set of resources composed into a single coherent clinical statement with clinical attestation dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | |
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 | 1..1 | code | language Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
ccda-data-enterer-extension | I | 0..1 | Reference(Profile daf-core-pract) | dataEnterer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-data-enterer-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-informant-extension | I | 0..* | Reference(Profile daf-core-pract) | informant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-informant-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-information-recipient-extension | I | 0..* | Reference(Profile daf-core-pract) | informationRecipient URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-information-recipient-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-participant-extension | I | 0..* | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-relatedperson) | participant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-participant-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-performer-extension | I | 0..* | Reference(Profile daf-core-pract) | performer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-performer-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-authorization-extension | I | 0..* | Reference(http://hl7.org/fhir/ccda/StructureDefinition/ccda-consent) | authorization URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-authorization-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | ∑ | 1..1 | Identifier | identifier |
date | ∑ | 1..1 | dateTime | date |
type | ∑ | 1..1 | CodeableConcept | Document Type Binding: FHIR Document Type Codes (preferred) |
class | ∑ | 0..1 | CodeableConcept | Categorization of Composition Binding: FHIR Document Class Codes (example) |
title | ∑ | 1..1 | string | Document Title |
status | ?!∑ | 1..1 | code | status Binding: CompositionStatus (required) |
confidentiality | ?!∑ | 1..1 | code | confidentiality Binding: HL7 BasicConfidentialityKind (required) |
subject | ∑ | 1..1 | Reference(Profile daf-core-patient) | recordTarget |
author | ∑ | 1..* | Reference(Profile daf-core-pract | http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-core-device) | author |
attester | ∑ | BackboneElement | Attests to accuracy of composition Slice: Unordered, Open, by Composition.attester.mode | |
attester | ∑ | 0..* | BackboneElement | legalAuthenticator |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
mode | ∑ | 1..* | code | mode Binding: CompositionAttestationMode (required) Fixed Value: legal |
time | ∑ | 0..1 | dateTime | When composition attested |
party | ∑ | 0..1 | Reference(Profile daf-core-pract) | party |
attester | ∑ | 0..* | BackboneElement | authenticator |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
mode | ∑ | 1..* | code | mode Binding: CompositionAttestationMode (required) |
time | ∑ | 0..1 | dateTime | When composition attested |
party | ∑ | 0..1 | Reference(Profile daf-core-pract) | party |
custodian | ∑ | 1..1 | Reference(Profile daf-core-organization) | custodian |
event | ∑ | 1..* | BackboneElement | serviceEvent |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
code | ∑ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (example) |
period | ∑ | 1..1 | Period | period |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
start | ∑I | 1..1 | dateTime | start |
end | ∑I | 0..1 | dateTime | End time with inclusive boundary, if not ongoing |
detail | ∑ | 0..* | Reference(Resource) | The event(s) being documented |
encounter | ∑ | 0..1 | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-encounter) | encompassingEncounter |
section | I | 0..* | BackboneElement | Composition is broken into sections cmp-1: A section must 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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification of section (recommended) Binding: Document Section Codes (example) | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | ?!∑ | 0..1 | code | working | snapshot | changes Binding: ListMode (required) |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: List Order Codes (preferred) | |
entry | I | 0..* | Reference(Resource) | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: List Empty Reasons (preferred) |
section | I | 0..* | Unknown reference to #Composition:c-cdaonfhirusrealmheader.section Nested Section | |
Documentation for this format |
yet to be done: Xml template
yet to be done: Json template
This structure is derived from Composition
Summary
Mandatory: 13 elements (+2 nested mandatory elements)
Fixed Value: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Composition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | |||
language | 1..1 | code | language | |
identifier | 1..1 | Identifier | identifier | |
date | 1..1 | dateTime | date | |
type | 1..1 | CodeableConcept | Document Type | |
title | 1..1 | string | Document Title | |
status | 1..1 | code | status | |
confidentiality | 1..1 | code | confidentiality Binding: HL7 BasicConfidentialityKind (required) | |
subject | 1..1 | Reference(Profile daf-core-patient) | recordTarget | |
author | 1..* | Reference(Profile daf-core-pract | http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-core-device) | author | |
attester | BackboneElement | Slice: Unordered, Open, by Composition.attester.mode | ||
attester | 0..* | BackboneElement | legalAuthenticator | |
mode | 1..* | code | mode Fixed Value: legal | |
party | 0..1 | Reference(Profile daf-core-pract) | party | |
attester | 0..* | BackboneElement | authenticator | |
mode | 1..* | code | mode | |
party | 0..1 | Reference(Profile daf-core-pract) | party | |
custodian | 1..1 | Reference(Profile daf-core-organization) | custodian | |
event | 1..* | BackboneElement | serviceEvent | |
period | 1..1 | Period | period | |
start | 1..1 | dateTime | start | |
encounter | 0..1 | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-encounter) | encompassingEncounter | |
ccda-data-enterer-extension | 0..1 | Reference(Profile daf-core-pract) | dataEnterer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-data-enterer-extension | |
ccda-informant-extension | 0..* | Reference(Profile daf-core-pract) | informant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-informant-extension | |
ccda-information-recipient-extension | 0..* | Reference(Profile daf-core-pract) | informationRecipient URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-information-recipient-extension | |
ccda-participant-extension | 0..* | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-relatedperson) | participant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-participant-extension | |
ccda-performer-extension | 0..* | Reference(Profile daf-core-pract) | performer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-performer-extension | |
ccda-authorization-extension | 0..* | Reference(http://hl7.org/fhir/ccda/StructureDefinition/ccda-consent) | authorization URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-authorization-extension | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | I | 0..* | A set of resources composed into a single coherent clinical statement with clinical attestation dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | |
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 | 1..1 | code | language Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
ccda-data-enterer-extension | I | 0..1 | Reference(Profile daf-core-pract) | dataEnterer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-data-enterer-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-informant-extension | I | 0..* | Reference(Profile daf-core-pract) | informant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-informant-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-information-recipient-extension | I | 0..* | Reference(Profile daf-core-pract) | informationRecipient URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-information-recipient-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-participant-extension | I | 0..* | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-relatedperson) | participant URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-participant-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-performer-extension | I | 0..* | Reference(Profile daf-core-pract) | performer URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-performer-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
ccda-authorization-extension | I | 0..* | Reference(http://hl7.org/fhir/ccda/StructureDefinition/ccda-consent) | authorization URL: http://hl7.org/fhir/ccda/StructureDefinition/ccda-authorization-extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | ∑ | 1..1 | Identifier | identifier |
date | ∑ | 1..1 | dateTime | date |
type | ∑ | 1..1 | CodeableConcept | Document Type Binding: FHIR Document Type Codes (preferred) |
class | ∑ | 0..1 | CodeableConcept | Categorization of Composition Binding: FHIR Document Class Codes (example) |
title | ∑ | 1..1 | string | Document Title |
status | ?!∑ | 1..1 | code | status Binding: CompositionStatus (required) |
confidentiality | ?!∑ | 1..1 | code | confidentiality Binding: HL7 BasicConfidentialityKind (required) |
subject | ∑ | 1..1 | Reference(Profile daf-core-patient) | recordTarget |
author | ∑ | 1..* | Reference(Profile daf-core-pract | http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-core-device) | author |
attester | ∑ | BackboneElement | Attests to accuracy of composition Slice: Unordered, Open, by Composition.attester.mode | |
attester | ∑ | 0..* | BackboneElement | legalAuthenticator |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
mode | ∑ | 1..* | code | mode Binding: CompositionAttestationMode (required) Fixed Value: legal |
time | ∑ | 0..1 | dateTime | When composition attested |
party | ∑ | 0..1 | Reference(Profile daf-core-pract) | party |
attester | ∑ | 0..* | BackboneElement | authenticator |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
mode | ∑ | 1..* | code | mode Binding: CompositionAttestationMode (required) |
time | ∑ | 0..1 | dateTime | When composition attested |
party | ∑ | 0..1 | Reference(Profile daf-core-pract) | party |
custodian | ∑ | 1..1 | Reference(Profile daf-core-organization) | custodian |
event | ∑ | 1..* | BackboneElement | serviceEvent |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
code | ∑ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (example) |
period | ∑ | 1..1 | Period | period |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
start | ∑I | 1..1 | dateTime | start |
end | ∑I | 0..1 | dateTime | End time with inclusive boundary, if not ongoing |
detail | ∑ | 0..* | Reference(Resource) | The event(s) being documented |
encounter | ∑ | 0..1 | Reference(http://hl7.org/fhir/us/daf/StructureDefinition/daf-core-encounter) | encompassingEncounter |
section | I | 0..* | BackboneElement | Composition is broken into sections cmp-1: A section must 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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification of section (recommended) Binding: Document Section Codes (example) | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | ?!∑ | 0..1 | code | working | snapshot | changes Binding: ListMode (required) |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: List Order Codes (preferred) | |
entry | I | 0..* | Reference(Resource) | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: List Empty Reasons (preferred) |
section | I | 0..* | Unknown reference to #Composition:c-cdaonfhirusrealmheader.section Nested Section | |
Documentation for this format |
XML Template
yet to be done: Xml template
JSON Template
yet to be done: Json template
Path | Name | Conformance | ValueSet |
Composition.language | Common Languages | extensible | Common Languages |
Composition.type | FHIR Document Type Codes | preferred | FHIR Document Type Codes |
Composition.class | FHIR Document Class Codes | example | FHIR Document Class Codes |
Composition.status | CompositionStatus | required | CompositionStatus |
Composition.confidentiality | HL7 BasicConfidentialityKind | required | HL7 BasicConfidentialityKind |
Composition.attester.mode | CompositionAttestationMode | required | CompositionAttestationMode |
Composition.attester.mode | CompositionAttestationMode | required | CompositionAttestationMode |
Composition.event.code | v3 Code System ActCode | example | v3 Code System ActCode |
Composition.section.code | Document Section Codes | example | Document Section Codes |
Composition.section.mode | ListMode | required | ListMode |
Composition.section.orderedBy | List Order Codes | preferred | List Order Codes |
Composition.section.emptyReason | List Empty Reasons | preferred | List Empty Reasons |
Id | Path | Details | Requirements |
dom-2 | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources XPath: not(parent::f:contained and f:contained) | |
dom-1 | Composition | If the resource is contained in another resource, it SHALL NOT contain any narrative XPath: not(parent::f:contained and f:text) | |
dom-4 | Composition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated)) | |
dom-3 | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))])) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
cmp-1 | Composition.section | A section must at least one of text, entries, or sub-sections XPath: exists(f:text) or exists(f:entry) or exists(f:section) | |
cmp-2 | Composition.section | A section can only have an emptyReason if it is empty XPath: not(exists(f:emptyReason) and exists(f:entry)) |