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

OncotypeDxDCISRecurrenceScoreProfile

 

The official URL for this profile is:

http://hl7.org/fhir/us/breastcancer/StructureDefinition/oncology-OncotypeDxDCISRecurrenceScore

The Oncotype DX test for DCIS (Ductal Carcinoma in Situ) breast cancer. Risk scores range from 0 to 100 with the following interpretations: 0-38: Low-Risk, 39-54: Intermediate-Risk, 55+: High-Risk. No LOINC code currently exists for this test. We are seeking feedback on the value of separating OncotypeDx scores for DCIS and invasive breast carcinomas. Does it make more sense to report the OncotypeDx as a single score, regardless of the type of cancer?

This profile builds on US Core Results Profile.

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

View the corresponding OncotypeDxDCISRecurrenceScoreModel logical model.

Summary

Mandatory: 0 element (5 nested mandatory elements)
Fixed Value: 7 elements
Prohibited: 4 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
  • The element Observation.code.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

oncology.OncotypeDxDCISRecurrenceScore 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 OncotypeDxDCISRecurrenceScore 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
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingOncotype DX DCIS Score
..... system Fixed Value: http://ncimeta.nci.nih.gov
..... code Fixed Value: C3898101
... valueQuantity Quantity
.... system Fixed Value: http://unitsofmeasure.org
.... code Fixed Value: 1
... dataAbsentReason Binding: DataAbsentReason (extensible)
... interpretation Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)
... device 0..0
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..0
... component 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC OncotypeDxDCISRecurrenceScore 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)
Max Binding: All Languages
... 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)
.... 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..1CodingOncotype DX DCIS Score
..... 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://ncimeta.nci.nih.gov
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: C3898101
..... 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
... 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
... valueQuantity Σ0..1QuantityResult Value
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ0..1decimalNumerical value (with implicit precision)
.... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required)
.... unit Σ0..1stringUnit representation
.... system ΣI0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
.... code Σ0..1codeCoded form of the unit
Fixed Value: 1
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... comment 0..1stringComments about result
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)Specimen used for this observation
... 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

doco Documentation for this format

Summary

Mandatory: 0 element (5 nested mandatory elements)
Fixed Value: 7 elements
Prohibited: 4 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
  • The element Observation.code.coding is sliced based on the value of value:code

BC Mapping Source

This structure represents the following BC mapping definition:

oncology.OncotypeDxDCISRecurrenceScore 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 OncotypeDxDCISRecurrenceScore 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
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingOncotype DX DCIS Score
..... system Fixed Value: http://ncimeta.nci.nih.gov
..... code Fixed Value: C3898101
... valueQuantity Quantity
.... system Fixed Value: http://unitsofmeasure.org
.... code Fixed Value: 1
... dataAbsentReason Binding: DataAbsentReason (extensible)
... interpretation Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... bodySite 0..0
... method Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)
... device 0..0
... referenceRange
.... appliesTo Binding: Observation Reference Range Applies To Codes (extensible)
... related 0..0
... component 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*BC OncotypeDxDCISRecurrenceScore 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)
Max Binding: All Languages
... 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)
.... 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..1CodingOncotype DX DCIS Score
..... 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://ncimeta.nci.nih.gov
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: C3898101
..... 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
... 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
... valueQuantity Σ0..1QuantityResult Value
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ0..1decimalNumerical value (with implicit precision)
.... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required)
.... unit Σ0..1stringUnit representation
.... system ΣI0..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
.... code Σ0..1codeCoded form of the unit
Fixed Value: 1
... dataAbsentReason SI0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: BC RecurrenceRiskScoreInterpretationVS ValueSet (required)
... comment 0..1stringComments about result
... method 0..1CodeableConceptHow it was done
Binding: http://loinc.org/vs (preferred)
... specimen 1..1Reference(BC BreastSpecimen Profile)Specimen used for this observation
... 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

doco Documentation for this format

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

 

Terminology Bindings

PathConformanceValueSet
Observation:oncology-OncotypeDxDCISRecurrenceScore.statusrequiredObservationStatus
Observation:oncology-OncotypeDxDCISRecurrenceScore.categorypreferredObservation Category Codes
Observation:oncology-OncotypeDxDCISRecurrenceScore.codeextensibleLOINC Codes
Observation:oncology-OncotypeDxDCISRecurrenceScore.dataAbsentReasonextensibleDataAbsentReason

 

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
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()