This is an abstract profile that is copied by other, concrete profiles. Each descendant concrete profile inherits the maps from this more general case. This way, we don’t have to maintain multiple copies of maps for closely related profiles. (Note that this inheritance is managed by the mapping team with a script; we’re not using the FHIR baseDefinition property for this.)
Sometimes, you will notice that an abstract profile includes only "target not supported" maps, so it doesn't look very useful. However, for every profile, we not only map the fields for which we find source data; we also stipulate "target not supported" for any unmapped fields that are tagged "must support" in the US Core. This way, implementers who might be concerned about these fields if they were not mentioned are fully informed about the reason they are not mapped. When there are several concrete profiles that require these clarifying maps, we collect them in an abstract parent, just as we would for cases where we have source element maps.
registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final
If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()
dom-3
error
Observation
If 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-4
error
Observation
If 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-5
error
Observation
If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()
dom-6
best practice
Observation
A resource should have narrative for robust management : text.`div`.exists()
ele-1
error
**ALL** elements
All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())
ext-1
error
**ALL** extensions
Must have either extensions or value[x], not both : extension.exists() != value.exists()
obs-6
error
Observation
dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()
obs-7
error
Observation
If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final
If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()
dom-3
error
Observation
If 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-4
error
Observation
If 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-5
error
Observation
If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()
dom-6
best practice
Observation
A resource should have narrative for robust management : text.`div`.exists()
ele-1
error
**ALL** elements
All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())
ext-1
error
**ALL** extensions
Must have either extensions or value[x], not both : extension.exists() != value.exists()
obs-3
error
Observation.referenceRange
Must have at least a low or a high or text : low.exists() or high.exists() or text.exists()
obs-6
error
Observation
dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()
obs-7
error
Observation
If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final
If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()
dom-3
error
Observation
If 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-4
error
Observation
If 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-5
error
Observation
If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()
dom-6
best practice
Observation
A resource should have narrative for robust management : text.`div`.exists()
ele-1
error
**ALL** elements
All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())
ext-1
error
**ALL** extensions
Must have either extensions or value[x], not both : extension.exists() != value.exists()
obs-6
error
Observation
dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()
obs-7
error
Observation
If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. Required Pattern: final
If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()
dom-3
error
Observation
If 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-4
error
Observation
If 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-5
error
Observation
If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()
dom-6
best practice
Observation
A resource should have narrative for robust management : text.`div`.exists()
ele-1
error
**ALL** elements
All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())
ext-1
error
**ALL** extensions
Must have either extensions or value[x], not both : extension.exists() != value.exists()
obs-3
error
Observation.referenceRange
Must have at least a low or a high or text : low.exists() or high.exists() or text.exists()
obs-6
error
Observation
dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()
obs-7
error
Observation
If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()