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

CodedLaboratoryObservationProfile

 

The official URL for this profile is:

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

A coded finding from a laboratory test.

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 CodedLaboratoryObservationModel logical model.

Summary

Mandatory: 0 element (3 nested mandatory elements)
Fixed Value: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

cimi.statement.CodedLaboratoryObservation maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  LaboratoryObservationTopic.TopicCode maps to code
  LaboratoryObservationTopic.FindingMethod maps to method
  LaboratoryObservationTopic.Details maps to comment
  LaboratoryObservationTopic.Category maps to category
  LaboratoryObservationTopic.AnatomicalLocation maps to bodySite
  LaboratoryObservationTopic.Device maps to device
  LaboratoryObservationTopic.Specimen maps to specimen
  LaboratoryObservationTopic.ReferenceRange maps to referenceRange
  LaboratoryObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  LaboratoryObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  LaboratoryObservationTopic.ReferenceRange.Type maps to referenceRange.type
  LaboratoryObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  LaboratoryObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  LaboratoryObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  LaboratoryObservationTopic.EvaluationComponent._Concept maps to component.code
  LaboratoryObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.string maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Range maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Media maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.time maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  LaboratoryObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  LaboratoryObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  LaboratoryObservationTopic.PanelMembers maps to related
  LaboratoryObservationTopic.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 CodedLaboratoryObservation Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... system Fixed Value: http://hl7.org/fhir/observation-category
..... code Fixed Value: laboratory
... valueCodeableConcept CodeableConcept
... dataAbsentReason Binding: DataAbsentReason (extensible)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC Specimen Profile)
... device Reference(US Core Device Profile)
... referenceRange 0..0
... 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 CodedLaboratoryObservation 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 (preferred)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/observation-category
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... 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
... valueCodeableConcept SΣI0..1CodeableConceptResult 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
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC Specimen Profile)Specimen used for this observation
... device 0..1Reference(US Core Device Profile)(Measurement) Device
... 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

Mandatory: 0 element (3 nested mandatory elements)
Fixed Value: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Observation.category.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

cimi.statement.CodedLaboratoryObservation maps to http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults:
  PersonOfRecord maps to subject
  LaboratoryObservationTopic.TopicCode maps to code
  LaboratoryObservationTopic.FindingMethod maps to method
  LaboratoryObservationTopic.Details maps to comment
  LaboratoryObservationTopic.Category maps to category
  LaboratoryObservationTopic.AnatomicalLocation maps to bodySite
  LaboratoryObservationTopic.Device maps to device
  LaboratoryObservationTopic.Specimen maps to specimen
  LaboratoryObservationTopic.ReferenceRange maps to referenceRange
  LaboratoryObservationTopic.ReferenceRange.Range.LowerBound maps to referenceRange.low
  LaboratoryObservationTopic.ReferenceRange.Range.UpperBound maps to referenceRange.high
  LaboratoryObservationTopic.ReferenceRange.Type maps to referenceRange.type
  LaboratoryObservationTopic.ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  LaboratoryObservationTopic.ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  LaboratoryObservationTopic.EvaluationComponent maps to component (slice on = coding.code; slice strategy = includes)
  LaboratoryObservationTopic.EvaluationComponent._Concept maps to component.code
  LaboratoryObservationTopic.EvaluationComponent.Quantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.CodeableConcept maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.string maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Range maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Ratio maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.Media maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.time maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.dateTime maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.TimePeriod maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.IntegerQuantity maps to component.value[x]
  LaboratoryObservationTopic.EvaluationComponent.ExceptionValue maps to component.dataAbsentReason
  LaboratoryObservationTopic.EvaluationComponent.Interpretation maps to component.interpretation
  LaboratoryObservationTopic.EvaluationComponent.ReferenceRange maps to component.referenceRange
  fix related.type to #has-member
  LaboratoryObservationTopic.PanelMembers maps to related
  LaboratoryObservationTopic.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 CodedLaboratoryObservation Profile
... observation-delta 0..1CodeableConceptQualitative change or trend in the measurement
URL: http://hl7.org/fhir/StructureDefinition/observation-delta
... category
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... system Fixed Value: http://hl7.org/fhir/observation-category
..... code Fixed Value: laboratory
... valueCodeableConcept CodeableConcept
... dataAbsentReason Binding: DataAbsentReason (extensible)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC Specimen Profile)
... device Reference(US Core Device Profile)
... referenceRange 0..0
... 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 CodedLaboratoryObservation 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 (preferred)
us-core-5: Must have a category of 'laboratory' and a code system 'http://hl7.org/fhir/observation-category'
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣCodingCode defined by a terminology system
Slice: Unordered, Open by value:code
.... coding Σ1..1Coding
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/observation-category
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... 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
... valueCodeableConcept SΣI0..1CodeableConceptResult 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
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC Specimen Profile)Specimen used for this observation
... device 0..1Reference(US Core Device Profile)(Measurement) Device
... 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 CodespreferredObservation Category Codes
Observation.codeLOINC CodesextensibleLOINC Codes
Observation.dataAbsentReasonDataAbsentReasonextensibleDataAbsentReason
Observation.interpretationObservation Interpretation CodesextensibleObservation Interpretation Codes
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.valueCodeableConceptSHOULD use Snomed CT for coded Results
: valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct'
us-core-3Observation.valueCodeableConceptSHALL use UCUM for coded quantity units.
: valueQuantity.system.empty() or valueQuantity.system = 'http://unitsofmeasure.org'
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())