Clinical Practice Guidelines
2.0.0-ballot - ballot International flag

Clinical Practice Guidelines, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions

Resource Profile: CPG Strategy

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-strategy Version: 2.0.0-ballot
Active as of 2023-12-19 Computable Name: CPGStrategy

Profile of RequestGroup as a Strategy for use with the CPG Implementation Guide. Strategies are patient-specific realiziations of strategy definitions and are used to represent aspects of a care plan that still contain optionality among related patient-specific recommendations, typically focused on a particular condition or state within the overall guideline or pathway

This is a domain case/instance profile

Examples:

Usage:

Formal Views of Profile Content

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

This structure is derived from RequestGroup

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup RequestGroup
... instantiatesCanonical 1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... priority S0..1coderoutine | urgent | asap | stat
... subject 1..1Reference(Patient)Who the request group is about
... action
.... title 1..1stringUser-visible title
.... description 1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care

.... relatedAction S0..*BackboneElementRelationship to another action
.... type 0..0
.... groupingBehavior 0..0
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
.... requiredBehavior 0..0
.... precheckBehavior 0..0
.... cardinalityBehavior 0..0
.... resource S0..1Reference(Resource)The target of the action

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)
NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... action C0..*BackboneElementProposed actions, if any
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care


.... relatedAction S0..*BackboneElementRelationship to another action
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SC0..1Reference(Resource)The target of the action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
RequestGroup.statusrequiredRequestStatus
RequestGroup.intentrequiredRequestIntent
RequestGroup.priorityrequiredRequestPriority
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)
RequestGroup.action.relatedAction.relationshiprequiredActionRelationshipType
RequestGroup.action.selectionBehaviorrequiredActionSelectionBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorRequestGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRequestGroupIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRequestGroupIf 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-5errorRequestGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRequestGroupA 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()
rqg-1errorRequestGroup.actionMust have resource or action but not both
: resource.exists() != action.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn 0..*Reference(Resource)Fulfills plan, proposal, or order
... replaces 0..*Reference(Resource)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes identifying the lifecycle stage of a request.

... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code Σ0..1CodeableConceptWhat's being requested/ordered
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner | PractitionerRole)Device or practitioner that authored the request group
... reasonCode 0..*CodeableConceptWhy the request group is needed
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why the request group is needed
... note 0..*AnnotationAdditional notes about the response
... action C0..*BackboneElementProposed actions, if any
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... textEquivalent Σ0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): The kind of condition for the action.

..... expression 0..1ExpressionBoolean-valued expression
.... relatedAction S0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device)Who should perform the action
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SC0..1Reference(Resource)The target of the action
.... action C0..*See action (RequestGroup)Sub action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
RequestGroup.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
RequestGroup.statusrequiredRequestStatus
RequestGroup.intentrequiredRequestIntent
RequestGroup.priorityrequiredRequestPriority
RequestGroup.action.priorityrequiredRequestPriority
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)
RequestGroup.action.condition.kindrequiredActionConditionKind
RequestGroup.action.relatedAction.relationshiprequiredActionRelationshipType
RequestGroup.action.selectionBehaviorrequiredActionSelectionBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorRequestGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRequestGroupIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRequestGroupIf 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-5errorRequestGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRequestGroupA 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()
rqg-1errorRequestGroup.actionMust have resource or action but not both
: resource.exists() != action.exists()

This structure is derived from RequestGroup

Summary

Mandatory: 2 elements (3 nested mandatory elements)
Must-Support: 5 elements
Prohibited: 5 elements

Differential View

This structure is derived from RequestGroup

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup RequestGroup
... instantiatesCanonical 1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... priority S0..1coderoutine | urgent | asap | stat
... subject 1..1Reference(Patient)Who the request group is about
... action
.... title 1..1stringUser-visible title
.... description 1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care

.... relatedAction S0..*BackboneElementRelationship to another action
.... type 0..0
.... groupingBehavior 0..0
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
.... requiredBehavior 0..0
.... precheckBehavior 0..0
.... cardinalityBehavior 0..0
.... resource S0..1Reference(Resource)The target of the action

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... action C0..*BackboneElementProposed actions, if any
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care


.... relatedAction S0..*BackboneElementRelationship to another action
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SC0..1Reference(Resource)The target of the action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
RequestGroup.statusrequiredRequestStatus
RequestGroup.intentrequiredRequestIntent
RequestGroup.priorityrequiredRequestPriority
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)
RequestGroup.action.relatedAction.relationshiprequiredActionRelationshipType
RequestGroup.action.selectionBehaviorrequiredActionSelectionBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorRequestGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRequestGroupIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRequestGroupIf 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-5errorRequestGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRequestGroupA 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()
rqg-1errorRequestGroup.actionMust have resource or action but not both
: resource.exists() != action.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn 0..*Reference(Resource)Fulfills plan, proposal, or order
... replaces 0..*Reference(Resource)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes identifying the lifecycle stage of a request.

... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code Σ0..1CodeableConceptWhat's being requested/ordered
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner | PractitionerRole)Device or practitioner that authored the request group
... reasonCode 0..*CodeableConceptWhy the request group is needed
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why the request group is needed
... note 0..*AnnotationAdditional notes about the response
... action C0..*BackboneElementProposed actions, if any
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... textEquivalent Σ0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process Value Set (extensible): High-level processes identified in guideline-based care


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): The kind of condition for the action.

..... expression 0..1ExpressionBoolean-valued expression
.... relatedAction S0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device)Who should perform the action
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SC0..1Reference(Resource)The target of the action
.... action C0..*See action (RequestGroup)Sub action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
RequestGroup.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
RequestGroup.statusrequiredRequestStatus
RequestGroup.intentrequiredRequestIntent
RequestGroup.priorityrequiredRequestPriority
RequestGroup.action.priorityrequiredRequestPriority
RequestGroup.action.codeextensibleCPGCommonProcessVS (a valid code from CPG Common Process Code System)
RequestGroup.action.condition.kindrequiredActionConditionKind
RequestGroup.action.relatedAction.relationshiprequiredActionRelationshipType
RequestGroup.action.selectionBehaviorrequiredActionSelectionBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorRequestGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRequestGroupIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRequestGroupIf 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-5errorRequestGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRequestGroupA 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()
rqg-1errorRequestGroup.actionMust have resource or action but not both
: resource.exists() != action.exists()

This structure is derived from RequestGroup

Summary

Mandatory: 2 elements (3 nested mandatory elements)
Must-Support: 5 elements
Prohibited: 5 elements

 

Other representations of profile: CSV, Excel, Schematron