HL7 FHIR Implementation Guide: Breast Cancer Data, Release 1 - US Realm (Draft for Comment 2)

This page is part of the Breast Cancer Data Logical Models and FHIR Profiles (v0.2.0: STU 1 Draft) based on FHIR R3. . For a full list of available versions, see the Directory of published versions

NonLaboratoryObservationProfile

 

The official URL for this profile is:

http://hl7.org/fhir/us/breastcancer/StructureDefinition/cimi-statement-NonLaboratoryObservation

An observation not based on a specimen.

This profile builds on US Core Results Profile.

This profile was published on Fri Aug 17 00:00:00 AEST 2018 as a draft by The HL7 Cancer Interoperability Group sponsored by Clinical Interoperability Council Work Group (CIC).

View the corresponding NonLaboratoryObservationModel logical model.

Summary

Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

BC Mapping Source

This structure represents the following BC mapping definition:

cimi.statement.NonLaboratoryObservation maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  ObservationTopic.TopicCode maps to code
  ObservationTopic.FindingMethod maps to method
  ObservationTopic.Details maps to comment
  ObservationTopic.Category maps to category
  ObservationTopic.AnatomicalLocation maps to bodySite
  ObservationTopic.Device maps to device
  ObservationTopic.Specimen maps to specimen
  ObservationTopic.ReferenceRange maps to referenceRange
  ObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  ObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  ObservationTopic.ReferenceRange.Type maps to referenceRange.type
  ObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  ObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  ObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  ObservationTopic.EvaluationComponent._Concept maps to component.code
  ObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  ObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  ObservationTopic.EvaluationComponent.string maps to component.value[x]
  ObservationTopic.EvaluationComponent.Range maps to component.value[x]
  ObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  ObservationTopic.EvaluationComponent.Media maps to component.value[x]
  ObservationTopic.EvaluationComponent.time maps to component.value[x]
  ObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  ObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  ObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  ObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  ObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  ObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  ObservationTopic.PanelMembers maps to related
  ObservationTopic.PanelMembers.Observation maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes)
  ObservationContext.ResultValue maps to value[x]
  ObservationContext.ExceptionValue maps to dataAbsentReason
  ObservationContext.Interpretation maps to interpretation
  ObservationContext.Issued maps to issued
  ObservationContext.FindingStatus maps to status
  ObservationContext.RelevantTime maps to effective[x]
  ObservationContext.DeltaFlag maps to http://hl7.org/fhir/StructureDefinition/observation-delta

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation BC NonLaboratoryObservation Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category Binding: Observation Category Codes (extensible)
... value[x] Quantity, CodeableConcept, string, boolean, Range, RatioProfile, time, dateTime, Period
... dataAbsentReason Binding: DataAbsentReason (extensible)
... bodySite Binding: BC AnatomicalLocationVS ValueSet (required)
... method Binding: http://loinc.org/vs (preferred)
... specimen 0..0
... device Reference(US Core Device Profile)
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..1
.... type Fixed Value: has-member
.... target Reference(BC Observation Profile)
... component
.... value[x] Quantity, CodeableConcept, string, Range, RatioProfile, Attachment, time, dateTime, Period
.... dataAbsentReason Binding: DataAbsentReason (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC NonLaboratoryObservation Profile
us-core-2: If there is no component or related element then either a value[x] or a data absent reason must be present
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category SI1..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (extensible)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
... code SΣ1..1CodeableConceptLaboratory Test Name
Binding: LOINC Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who and/or what this is about
... context 0..1Reference(Encounter | EpisodeOfCare)Healthcare event during which this observation is made
... effective[x] SΣI0..1dateTime, PeriodClinically relevant time/time-period for observation
us-core-1: Datetime must be at least to day.
... issued Σ0..1instantDate/Time this was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... value[x] SΣI0..1Quantity, CodeableConcept, string, boolean, Range, RatioProfile, time, dateTime, PeriodResult Value
us-core-4: SHOULD use Snomed CT for coded Results
us-core-3: SHALL use UCUM for coded quantity units.
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
... comment 0..1stringComments about result
... bodySite 0..1CodeableConceptObserved body part
Binding: BC AnatomicalLocationVS ValueSet (required)
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... device 0..1Reference(US Core Device Profile)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
.... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related ΣI0..1BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
Fixed Value: has-member
.... target 1..1Reference(BC Observation Profile)Resource that is related to this one
... component ΣI0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINC Codes (example)
.... value[x] Σ0..1Quantity, CodeableConcept, string, Range, RatioProfile, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange 0..*BackboneElementProvides guide for interpretation of component result
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... low I0..1SimpleQuantityLow Range, if relevant
..... high I0..1SimpleQuantityHigh Range, if relevant
..... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
..... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (example)
..... age 0..1RangeApplicable age range, if relevant
..... text 0..1stringText based reference range in an observation

doco Documentation for this format

Summary

Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

BC Mapping Source

This structure represents the following BC mapping definition:

cimi.statement.NonLaboratoryObservation maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  ObservationTopic.TopicCode maps to code
  ObservationTopic.FindingMethod maps to method
  ObservationTopic.Details maps to comment
  ObservationTopic.Category maps to category
  ObservationTopic.AnatomicalLocation maps to bodySite
  ObservationTopic.Device maps to device
  ObservationTopic.Specimen maps to specimen
  ObservationTopic.ReferenceRange maps to referenceRange
  ObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  ObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  ObservationTopic.ReferenceRange.Type maps to referenceRange.type
  ObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  ObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  ObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  ObservationTopic.EvaluationComponent._Concept maps to component.code
  ObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  ObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  ObservationTopic.EvaluationComponent.string maps to component.value[x]
  ObservationTopic.EvaluationComponent.Range maps to component.value[x]
  ObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  ObservationTopic.EvaluationComponent.Media maps to component.value[x]
  ObservationTopic.EvaluationComponent.time maps to component.value[x]
  ObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  ObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  ObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  ObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  ObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  ObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  ObservationTopic.PanelMembers maps to related
  ObservationTopic.PanelMembers.Observation maps to related.target (slice at = related; slice on = target.reference.resolve(); slice on type = profile; slice strategy = includes)
  ObservationContext.ResultValue maps to value[x]
  ObservationContext.ExceptionValue maps to dataAbsentReason
  ObservationContext.Interpretation maps to interpretation
  ObservationContext.Issued maps to issued
  ObservationContext.FindingStatus maps to status
  ObservationContext.RelevantTime maps to effective[x]
  ObservationContext.DeltaFlag maps to http://hl7.org/fhir/StructureDefinition/observation-delta

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation BC NonLaboratoryObservation Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category Binding: Observation Category Codes (extensible)
... value[x] Quantity, CodeableConcept, string, boolean, Range, RatioProfile, time, dateTime, Period
... dataAbsentReason Binding: DataAbsentReason (extensible)
... bodySite Binding: BC AnatomicalLocationVS ValueSet (required)
... method Binding: http://loinc.org/vs (preferred)
... specimen 0..0
... device Reference(US Core Device Profile)
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..1
.... type Fixed Value: has-member
.... target Reference(BC Observation Profile)
... component
.... value[x] Quantity, CodeableConcept, string, Range, RatioProfile, Attachment, time, dateTime, Period
.... dataAbsentReason Binding: DataAbsentReason (extensible)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC NonLaboratoryObservation Profile
us-core-2: If there is no component or related element then either a value[x] or a data absent reason must be present
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category SI1..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (extensible)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
... code SΣ1..1CodeableConceptLaboratory Test Name
Binding: LOINC Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who and/or what this is about
... context 0..1Reference(Encounter | EpisodeOfCare)Healthcare event during which this observation is made
... effective[x] SΣI0..1dateTime, PeriodClinically relevant time/time-period for observation
us-core-1: Datetime must be at least to day.
... issued Σ0..1instantDate/Time this was made available
... performer Σ0..*Reference(Practitioner | Organization | Patient | RelatedPerson)Who is responsible for the observation
... value[x] SΣI0..1Quantity, CodeableConcept, string, boolean, Range, RatioProfile, time, dateTime, PeriodResult Value
us-core-4: SHOULD use Snomed CT for coded Results
us-core-3: SHALL use UCUM for coded quantity units.
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
... comment 0..1stringComments about result
... bodySite 0..1CodeableConceptObserved body part
Binding: BC AnatomicalLocationVS ValueSet (required)
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... device 0..1Reference(US Core Device Profile)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
.... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (extensible)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related ΣI0..1BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
Fixed Value: has-member
.... target 1..1Reference(BC Observation Profile)Resource that is related to this one
... component ΣI0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINC Codes (example)
.... value[x] Σ0..1Quantity, CodeableConcept, string, Range, RatioProfile, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange 0..*BackboneElementProvides guide for interpretation of component result
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... low I0..1SimpleQuantityLow Range, if relevant
..... high I0..1SimpleQuantityHigh Range, if relevant
..... type 0..1CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible)
..... appliesTo 0..*CodeableConceptReference range population
Binding: Observation Reference Range Applies To Codes (example)
..... age 0..1RangeApplicable age range, if relevant
..... text 0..1stringText based reference range in an observation

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron

 

Terminology Bindings

PathNameConformanceValueSet
Observation.languageCommon LanguagesextensibleCommon Languages
Observation.statusObservationStatusrequiredObservationStatus
Observation.categoryObservation Category CodesextensibleObservation Category Codes
Observation.codeLOINC CodesextensibleLOINC Codes
Observation.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.interpretationObservation Interpretation CodesextensibleObservation Interpretation Codes
Observation.bodySiteBC AnatomicalLocationVS ValueSetrequiredAnatomicalLocationVS
Observation.method?extpreferredhttp://loinc.org/vs
Observation.referenceRange.typeObservation Reference Range Meaning CodesextensibleObservation Reference Range Meaning Codes
Observation.referenceRange.appliesToObservation Reference Range Applies To CodesextensibleObservation Reference Range Applies To Codes
Observation.related.typeObservationRelationshipTyperequiredObservationRelationshipType
Observation.component.codeLOINC CodesexampleLOINC Codes
Observation.component.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationObservation Interpretation CodesextensibleObservation Interpretation Codes
Observation.component.referenceRange.typeObservation Reference Range Meaning CodesextensibleObservation Reference Range Meaning Codes
Observation.component.referenceRange.appliesToObservation Reference Range Applies To CodesexampleObservation Reference Range Applies To Codes

 

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ObservationIf 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-3ObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
obs-7ObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or code!=component.code
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
us-core-2ObservationIf there is no component or related element then either a value[x] or a data absent reason must be present
: (component.empty() and related.empty()) implies (dataAbsentReason or value)
us-core-5Observation.categoryMust have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
: where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='laboratory').exists()
us-core-1Observation.effective[x]Datetime must be at least to day.
: ($this as dateTime).toString().length() >= 8
us-core-4Observation.value[x]SHOULD use Snomed CT for coded Results
: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct'
us-core-3Observation.value[x]SHALL use UCUM for coded quantity units.
: valueQuantity.system.empty() or valueQuantity.system = 'http://unitsofmeasure.org'
ele-1Observation.referenceRangeAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
obs-3Observation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
ele-1Observation.relatedAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Observation.componentAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())