NHDR Implementation Guide Release 1.0
0.1.0 - ci-build

NHDR Implementation Guide Release 1.0, published by NHDR. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/PROJ-PHILHEALTH-EA-NHDR/PhilHealth-NHDR-IG-Review/ and changes regularly. See the Directory of published versions

Resource Profile: PH Specimen

Official URL: https://nhdr.gov.ph/fhir/StructureDefinition/PH-Specimen Version: 0.1.0
Standards status: Draft Computable Name: PH_Specimen

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

A sample to be used for analysis.

Usages:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* Specimen Sample for analysis
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... type Σ 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject Σ 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSpecimenIf 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-4errorSpecimenIf 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-5errorSpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSpecimenA 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()

This structure is derived from Specimen

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen Specimen
... meta
.... Slices for extension Content/Rules for all slices
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
... implicitRules 0..0
... language 0..0
... contained 0..0
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... modifierExtension 0..0
... status 0..0
... type 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
... parent 0..0
... request 0..0
... collection
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:dateReleased 0..* dateTime Date the specimen was released
URL: https://nhdr.gov.ph/fhir/StructureDefinition/DateReleased
.... modifierExtension 0..0
.... collector 0..1 Reference(PH Practitioner | PH PractitionerRole) Who collected the specimen
.... collected[x] 0..1 dateTime Collection time
.... duration 0..0
.... bodySite 0..0
.... fastingStatus[x] 0..0
... processing
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... description 0..0
.... additive 0..0
... container
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... identifier 0..0
.... description 0..0
.... capacity 0..0
.... additive[x] 0..0
... condition 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* Specimen Sample for analysis
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... accessionIdentifier Σ 0..1 Identifier Identifier assigned by the lab
... type Σ 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject Σ 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
... receivedTime Σ 0..1 dateTime The time when specimen was received for processing
... collection 0..1 BackboneElement Collection details
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:dateReleased 0..* dateTime Date the specimen was released
URL: https://nhdr.gov.ph/fhir/StructureDefinition/DateReleased
.... collector Σ 0..1 Reference(PH Practitioner | PH PractitionerRole) Who collected the specimen
.... collected[x] Σ 0..1 dateTime Collection time
.... quantity 0..1 SimpleQuantity The quantity of specimen collected
.... method 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
... processing 0..* BackboneElement Processing and processing step details
.... procedure 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
.... time[x] 0..1 Date and time of specimen processing
..... timeDateTime dateTime
..... timePeriod Period
... container 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... type 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
.... specimenQuantity 0..1 SimpleQuantity Quantity of specimen within container
... condition Σ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (required)
... note 0..* Annotation Comments

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Specimen.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Specimen.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.collection.methodexampleFHIRSpecimenCollectionMethod
http://hl7.org/fhir/ValueSet/specimen-collection-method
From the FHIR Standard
Specimen.processing.procedureexampleSpecimenProcessingProcedure
http://hl7.org/fhir/ValueSet/specimen-processing-procedure
From the FHIR Standard
Specimen.container.typeexampleSpecimenContainerType
http://hl7.org/fhir/ValueSet/specimen-container-type
From the FHIR Standard
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSpecimenIf 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-4errorSpecimenIf 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-5errorSpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSpecimenA 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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* Specimen Sample for analysis
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... type Σ 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject Σ 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSpecimenIf 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-4errorSpecimenIf 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-5errorSpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSpecimenA 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 Specimen

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen Specimen
... meta
.... Slices for extension Content/Rules for all slices
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
... implicitRules 0..0
... language 0..0
... contained 0..0
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... modifierExtension 0..0
... status 0..0
... type 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
... parent 0..0
... request 0..0
... collection
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:dateReleased 0..* dateTime Date the specimen was released
URL: https://nhdr.gov.ph/fhir/StructureDefinition/DateReleased
.... modifierExtension 0..0
.... collector 0..1 Reference(PH Practitioner | PH PractitionerRole) Who collected the specimen
.... collected[x] 0..1 dateTime Collection time
.... duration 0..0
.... bodySite 0..0
.... fastingStatus[x] 0..0
... processing
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... description 0..0
.... additive 0..0
... container
.... id 0..0
.... extension 0..0
.... modifierExtension 0..0
.... identifier 0..0
.... description 0..0
.... capacity 0..0
.... additive[x] 0..0
... condition 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* Specimen Sample for analysis
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:recordedDate 0..* dateTime Date recorded
URL: https://nhdr.gov.ph/fhir/StructureDefinition/RecordedDate
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resultDate 0..* dateTime Date of result
URL: https://nhdr.gov.ph/fhir/StructureDefinition/ResultDate
.... extension:species 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Type of species
URL: https://nhdr.gov.ph/fhir/StructureDefinition/Species
... accessionIdentifier Σ 0..1 Identifier Identifier assigned by the lab
... type Σ 0..1 CodeableConcept Kind of material that forms the specimen
Binding: hl7VS-specimenType (required)
... subject Σ 0..1 Reference(PH Patient) Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
... receivedTime Σ 0..1 dateTime The time when specimen was received for processing
... collection 0..1 BackboneElement Collection details
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:dateReleased 0..* dateTime Date the specimen was released
URL: https://nhdr.gov.ph/fhir/StructureDefinition/DateReleased
.... collector Σ 0..1 Reference(PH Practitioner | PH PractitionerRole) Who collected the specimen
.... collected[x] Σ 0..1 dateTime Collection time
.... quantity 0..1 SimpleQuantity The quantity of specimen collected
.... method 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
... processing 0..* BackboneElement Processing and processing step details
.... procedure 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
.... time[x] 0..1 Date and time of specimen processing
..... timeDateTime dateTime
..... timePeriod Period
... container 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... type 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
.... specimenQuantity 0..1 SimpleQuantity Quantity of specimen within container
... condition Σ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (required)
... note 0..* Annotation Comments

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Specimen.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Specimen.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Specimen.typerequiredHl7VSSpecimenType
http://terminology.hl7.org/ValueSet/v2-0487
Specimen.collection.methodexampleFHIRSpecimenCollectionMethod
http://hl7.org/fhir/ValueSet/specimen-collection-method
From the FHIR Standard
Specimen.processing.procedureexampleSpecimenProcessingProcedure
http://hl7.org/fhir/ValueSet/specimen-processing-procedure
From the FHIR Standard
Specimen.container.typeexampleSpecimenContainerType
http://hl7.org/fhir/ValueSet/specimen-container-type
From the FHIR Standard
Specimen.conditionrequiredHl7VSSpecimenCondition
http://terminology.hl7.org/ValueSet/v2-0493

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSpecimenIf 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-4errorSpecimenIf 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-5errorSpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSpecimenA 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