FHIR Belgium Base IG
0.1.0 -

FHIR Belgium Base IG - Local Development build (v0.1.0). See the Directory of published versions

StructureDefinition: BECarePlan

This is the profile for Care Plan in a home care setting. A Care Plan contains the activities planned and/or performed by a care team to deliver care for a particular patient, usually targeting a specific goal or condition - or a set thereof.

The official URL for this profile is:

https://www.ehealth.fgov.be/standards/fhir/StructureDefinition/be-careplan-homecare

Formal Views of Profile Content

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

This structure is derived from CarePlan

Summary

Must-Support: 31 elements

Structures

This structure refers to these other structures:

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlan
... identifier S0..*Identifier
... instantiatesCanonical S0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)The protocol or definition that is instantiated by this care plan
... instantiatesUri S0..*uriExternal protocol or definition that is instantiated by this care plan
... replaces S0..*Reference(CarePlan)
... partOf S0..*Reference(CarePlan)
... status S1..1code
... intent S1..1code
... category S0..*CodeableConcept
... title S0..1string
... description S0..1string
... subject S1..1Reference(BePatient)
... encounter S0..1Reference(Encounter)
... period S0..1Period
... created 0..1dateTime
... author S0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)
... careTeam S0..*Reference(CareTeam)
... goal S0..*Reference(Goal)
... activity S0..*BackboneElement
.... outcomeCodeableConcept S0..*CodeableConcept
.... progress S0..*Annotation
.... detail
..... kind S0..1code
..... instantiatesCanonical S0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)
..... instantiatesUri S0..*uri
..... code S0..1CodeableConcept
..... status S1..1code
..... statusReason S0..1CodeableConcept
..... doNotPerform S0..1boolean
..... scheduled[x] S0..1Timing, Period, string
..... location S0..1Reference(Location)
..... performer S0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)
..... description S0..1string

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*CarePlanHealthcare plan for patient or group
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal Ids for this plan
... instantiatesCanonical SΣI0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)The protocol or definition that is instantiated by this care plan
... instantiatesUri SΣI0..*uriExternal protocol or definition that is instantiated by this care plan
... basedOn SΣI0..*Reference(CarePlan)Fulfills CarePlan
... replaces SΣI0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf SΣI0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
... intent ?!SΣI1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣI0..*CodeableConceptType of plan
Binding: CarePlanCategory (example)
... title SΣI0..1stringHuman-friendly name for the care plan
... description SΣI0..1stringSummary of nature of plan
... subject SΣI1..1Reference(BePatient)Who the care plan is for
... encounter SΣI0..1Reference(Encounter)Encounter created as part of
... period SΣI0..1PeriodTime period plan covers
... created ΣI0..1dateTimeDate record was first recorded
... author SΣI0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor I0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam SI0..*Reference(CareTeam)Who's involved in plan?
... addresses ΣI0..*Reference(Condition)Health issues this plan addresses
... supportingInfo I0..*Reference(Resource)Information considered as part of plan
... goal SI0..*Reference(Goal)Desired outcome of plan
... activity SI0..*BackboneElementAction to occur as part of plan
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept SI0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example)
.... outcomeReference I0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress SI0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind SI0..1codeAppointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical SI0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri SI0..*uriInstantiates external protocol or definition
..... code SI0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode I0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal I0..*Reference(Goal)Goals this activity relates to
..... status ?!SI1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... statusReason SI0..1CodeableConceptReason for current status
..... doNotPerform ?!SI0..1booleanIf true, activity is prohibiting action
..... scheduled[x] SI0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location SI0..1Reference(Location)Where it should happen
..... performer SI0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] I0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount I0..1SimpleQuantityHow to consume/day?
..... quantity I0..1SimpleQuantityHow much to administer/supply/consume
..... description SI0..1stringExtra info describing activity to perform
... note I0..*AnnotationComments about the plan

doco Documentation for this format

This structure is derived from CarePlan

Summary

Must-Support: 31 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan 0..*CarePlan
... identifier S0..*Identifier
... instantiatesCanonical S0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)The protocol or definition that is instantiated by this care plan
... instantiatesUri S0..*uriExternal protocol or definition that is instantiated by this care plan
... replaces S0..*Reference(CarePlan)
... partOf S0..*Reference(CarePlan)
... status S1..1code
... intent S1..1code
... category S0..*CodeableConcept
... title S0..1string
... description S0..1string
... subject S1..1Reference(BePatient)
... encounter S0..1Reference(Encounter)
... period S0..1Period
... created 0..1dateTime
... author S0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)
... careTeam S0..*Reference(CareTeam)
... goal S0..*Reference(Goal)
... activity S0..*BackboneElement
.... outcomeCodeableConcept S0..*CodeableConcept
.... progress S0..*Annotation
.... detail
..... kind S0..1code
..... instantiatesCanonical S0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)
..... instantiatesUri S0..*uri
..... code S0..1CodeableConcept
..... status S1..1code
..... statusReason S0..1CodeableConcept
..... doNotPerform S0..1boolean
..... scheduled[x] S0..1Timing, Period, string
..... location S0..1Reference(Location)
..... performer S0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)
..... description S0..1string

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan I0..*CarePlanHealthcare plan for patient or group
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal Ids for this plan
... instantiatesCanonical SΣI0..*canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition)The protocol or definition that is instantiated by this care plan
... instantiatesUri SΣI0..*uriExternal protocol or definition that is instantiated by this care plan
... basedOn SΣI0..*Reference(CarePlan)Fulfills CarePlan
... replaces SΣI0..*Reference(CarePlan)CarePlan replaced by this CarePlan
... partOf SΣI0..*Reference(CarePlan)Part of referenced CarePlan
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
... intent ?!SΣI1..1codeproposal | plan | order | option
Binding: CarePlanIntent (required)
... category SΣI0..*CodeableConceptType of plan
Binding: CarePlanCategory (example)
... title SΣI0..1stringHuman-friendly name for the care plan
... description SΣI0..1stringSummary of nature of plan
... subject SΣI1..1Reference(BePatient)Who the care plan is for
... encounter SΣI0..1Reference(Encounter)Encounter created as part of
... period SΣI0..1PeriodTime period plan covers
... created ΣI0..1dateTimeDate record was first recorded
... author SΣI0..1Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who is the designated responsible party
... contributor I0..*Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam)Who provided the content of the care plan
... careTeam SI0..*Reference(CareTeam)Who's involved in plan?
... addresses ΣI0..*Reference(Condition)Health issues this plan addresses
... supportingInfo I0..*Reference(Resource)Information considered as part of plan
... goal SI0..*Reference(Goal)Desired outcome of plan
... activity SI0..*BackboneElementAction to occur as part of plan
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... outcomeCodeableConcept SI0..*CodeableConceptResults of the activity
Binding: CarePlanActivityOutcome (example)
.... outcomeReference I0..*Reference(Resource)Appointment, Encounter, Procedure, etc.
.... progress SI0..*AnnotationComments about the activity status/progress
.... reference I0..1Reference(Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription | RequestGroup)Activity details defined in specific resource
.... detail I0..1BackboneElementIn-line definition of activity
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind SI0..1codeAppointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required)
..... instantiatesCanonical SI0..*canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition)Instantiates FHIR protocol or definition
..... instantiatesUri SI0..*uriInstantiates external protocol or definition
..... code SI0..1CodeableConceptDetail type of activity
Binding: ProcedureCodes(SNOMEDCT) (example)
..... reasonCode I0..*CodeableConceptWhy activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example)
..... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why activity is needed
..... goal I0..*Reference(Goal)Goals this activity relates to
..... status ?!SI1..1codenot-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required)
..... statusReason SI0..1CodeableConceptReason for current status
..... doNotPerform ?!SI0..1booleanIf true, activity is prohibiting action
..... scheduled[x] SI0..1When activity is to occur
...... scheduledTimingTiming
...... scheduledPeriodPeriod
...... scheduledStringstring
..... location SI0..1Reference(Location)Where it should happen
..... performer SI0..*Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device)Who will be responsible?
..... product[x] I0..1What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example)
...... productCodeableConceptCodeableConcept
...... productReferenceReference(Medication | Substance)
..... dailyAmount I0..1SimpleQuantityHow to consume/day?
..... quantity I0..1SimpleQuantityHow much to administer/supply/consume
..... description SI0..1stringExtra info describing activity to perform
... note I0..*AnnotationComments about the plan

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
CarePlan.languagepreferredCommonLanguages
Max Binding: AllLanguages
CarePlan.statusrequiredRequestStatus
CarePlan.intentrequiredCarePlanIntent
CarePlan.categoryexampleCarePlanCategory
CarePlan.activity.outcomeCodeableConceptexampleCarePlanActivityOutcome
CarePlan.activity.detail.kindrequiredCarePlanActivityKind
CarePlan.activity.detail.codeexampleProcedureCodes(SNOMEDCT)
CarePlan.activity.detail.reasonCodeexampleSNOMEDCTClinicalFindings
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
CarePlan.activity.detail.product[x]exampleSNOMEDCTMedicationCodes

Constraints

Constraints

IdPathDetailsRequirements
dom-2CarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3CarePlanIf 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-4CarePlanIf 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-5CarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6CarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1CarePlan.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.replacesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.intentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.createdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.contributorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.careTeamAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.addressesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.supportingInfoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.goalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cpl-3CarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
ele-1CarePlan.activityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.activity.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.activity.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.activity.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.activity.outcomeCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.outcomeReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.progressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.activity.detail.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.activity.detail.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1CarePlan.activity.detail.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CarePlan.activity.detail.kindAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.goalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.doNotPerformAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.scheduled[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.product[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.dailyAmountAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.activity.detail.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1CarePlan.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())