HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE) Release 1 - US Realm | STU Ballot 1

This page is part of the HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE) Release 1 - US Realm | STU1 (v0.9.1: STU 1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

TNMClinicalPrimaryTumorCategory

 

The official URL for this profile is:

http://hl7.org/fhir/us/mcode/StructureDefinition/onco-core-TNMClinicalPrimaryTumorCategory

Category of the primary tumor, based on its size and extent, assessed prior to surgery, based on evidence such as physical examination, imaging, and/or biopsy.

This profile builds on Observation.

This profile was published on Thu Aug 01 00:00:00 EDT 2019 as a active by HL7 International Clinical Interoperability Council.

Summary

Mandatory: 0 element (4 nested mandatory elements)
Must-Support: 3 elements
Fixed Value: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Mapping Source

This structure represents the following mapping definition:

onco.core.TNMClinicalPrimaryTumorCategory maps to Observation:
  Language maps to language
  ImplicitRules maps to implicitRules
  Metadata.VersionId maps to meta.versionId
  Metadata.SourceSystem maps to meta.source
  Metadata.Profile maps to meta.profile
  Metadata.LastUpdated maps to meta.lastUpdated
  Metadata.SecurityLabel maps to meta.security
  Metadata.Tag maps to meta.tag
  Narrative maps to text
  Identifier maps to identifier
  ProceduralObservationBasedOn maps to basedOn
  ProceduralObservationPartOf maps to partOf
  Status maps to status
  Category maps to category
  Code maps to code
  ObservationSubjectOfRecord maps to subject
  FocalSubject maps to focus
  CareContext maps to encounter
  RelevantTime maps to effective[x] // Add Types Timing, instant
  StatementDateTime maps to issued
  Performer maps to performer // Added Target Types PractitionerRole, CareTeam
  DataValue maps to value[x] // Add Type integer, remove Type Attachment
  DataAbsentReason maps to dataAbsentReason
  Interpretation maps to interpretation
  Annotation maps to note
  BodyLocation.Code maps to bodySite
  BodyLocation.Laterality maps to bodySite.extension
  BodyLocation.AnatomicalOrientation maps to bodySite.extension
  BodyLocation.RelationToLandmark maps to bodySite.extension
  CancerStagingSystem maps to method
  Specimen maps to specimen
  Device maps to device
  ReferenceRange maps to referenceRange
  ReferenceRange.LowerBound maps to referenceRange.low
  ReferenceRange.UpperBound maps to referenceRange.high
  ReferenceRange.Type maps to referenceRange.type
  ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  ReferenceRange.Text maps to referenceRange.text
  PanelMembers.Observation maps to hasMember (slice on = $this.resolve().code.coding.code; slice strategy = includes)
  ObservationDerivedFrom maps to derivedFrom
  Components.ObservationComponent maps to component (slice on = code.coding.code; slice strategy = includes)
  Components.ObservationComponent.Code maps to component.code
  Components.ObservationComponent.DataValue maps to component.value[x]
  Components.ObservationComponent.DataAbsentReason maps to component.dataAbsentReason
  Components.ObservationComponent.Interpretation maps to component.interpretation
  Components.ObservationComponent.ReferenceRange maps to component.referenceRange
  Components.ObservationComponent.ReferenceRange.LowerBound maps to component.referenceRange.low
  Components.ObservationComponent.ReferenceRange.UpperBound maps to component.referenceRange.high
  Components.ObservationComponent.ReferenceRange.Type maps to component.referenceRange.type
  Components.ObservationComponent.ReferenceRange.ApplicableSubpopulation maps to component.referenceRange.appliesTo
  Components.ObservationComponent.ReferenceRange.ApplicableAgeRange maps to component.referenceRange.age
  Components.ObservationComponent.ReferenceRange.Text maps to component.referenceRange.text

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation onco-core-TNMClinicalPrimaryTumorCategory
... basedOn Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this event
... partOf Reference(obf-Procedure)The larger procedure that this particular observation is a component or step
... category 0..1Binding: ObservationCategoryCodes (extensible)
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingPrimary tumor.clinical [Class] Cancer
..... system Fixed Value: http://loinc.org
..... code Fixed Value: 21905-5
... subject 1..1Reference(obf-Patient)The subject of an observation
... focus Reference(onco-core-PrimaryCancerCondition)
... encounter Reference(US Core Encounter Profile)
... effective[x] SdateTime, Period
... performer Reference(US Core Practitioner Profile)
... valueCodeableConcept S1..1CodeableConceptBinding: TNMPrimaryTumorCategoryVS (preferred)
... dataAbsentReason 0..0
... interpretation 0..1
... bodySite 0..0
... method SMethod or staging system used to stage the cancer
Binding: CancerStagingSystemVS (extensible)
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom Reference(US Core DocumentReference Profile | Media | QuestionnaireResponse | obf-Observation)
... component 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*onco-core-TNMClinicalPrimaryTumorCategory
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this event
... partOf Σ0..*Reference(obf-Procedure)The larger procedure that this particular observation is a component or step
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (extensible)
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example)
.... id 0..1stringUnique id for inter-element referencing
.... 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..1CodingPrimary tumor.clinical [Class] Cancer
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: 21905-5
..... 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 Σ1..1Reference(obf-Patient)The subject of an observation
... focus Σ0..*Reference(onco-core-PrimaryCancerCondition)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(US Core Encounter Profile)Healthcare event during which this observation is made
... effective[x] SΣ0..1dateTime, PeriodClinically relevant time/time-period for observation
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(US Core Practitioner Profile)Who is responsible for the observation
... valueCodeableConcept SΣI1..1CodeableConceptActual result
Binding: TNMPrimaryTumorCategoryVS (preferred)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible)
... note 0..*AnnotationComments about the observation
... method S0..1CodeableConceptMethod or staging system used to stage the cancer
Binding: CancerStagingSystemVS (extensible)
... derivedFrom Σ0..*Reference(US Core DocumentReference Profile | Media | QuestionnaireResponse | obf-Observation)Related measurements the observation is made from

doco Documentation for this format

Summary

Mandatory: 0 element (4 nested mandatory elements)
Must-Support: 3 elements
Fixed Value: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Mapping Source

This structure represents the following mapping definition:

onco.core.TNMClinicalPrimaryTumorCategory maps to Observation:
  Language maps to language
  ImplicitRules maps to implicitRules
  Metadata.VersionId maps to meta.versionId
  Metadata.SourceSystem maps to meta.source
  Metadata.Profile maps to meta.profile
  Metadata.LastUpdated maps to meta.lastUpdated
  Metadata.SecurityLabel maps to meta.security
  Metadata.Tag maps to meta.tag
  Narrative maps to text
  Identifier maps to identifier
  ProceduralObservationBasedOn maps to basedOn
  ProceduralObservationPartOf maps to partOf
  Status maps to status
  Category maps to category
  Code maps to code
  ObservationSubjectOfRecord maps to subject
  FocalSubject maps to focus
  CareContext maps to encounter
  RelevantTime maps to effective[x] // Add Types Timing, instant
  StatementDateTime maps to issued
  Performer maps to performer // Added Target Types PractitionerRole, CareTeam
  DataValue maps to value[x] // Add Type integer, remove Type Attachment
  DataAbsentReason maps to dataAbsentReason
  Interpretation maps to interpretation
  Annotation maps to note
  BodyLocation.Code maps to bodySite
  BodyLocation.Laterality maps to bodySite.extension
  BodyLocation.AnatomicalOrientation maps to bodySite.extension
  BodyLocation.RelationToLandmark maps to bodySite.extension
  CancerStagingSystem maps to method
  Specimen maps to specimen
  Device maps to device
  ReferenceRange maps to referenceRange
  ReferenceRange.LowerBound maps to referenceRange.low
  ReferenceRange.UpperBound maps to referenceRange.high
  ReferenceRange.Type maps to referenceRange.type
  ReferenceRange.ApplicableSubpopulation maps to referenceRange.appliesTo
  ReferenceRange.ApplicableAgeRange maps to referenceRange.age
  ReferenceRange.Text maps to referenceRange.text
  PanelMembers.Observation maps to hasMember (slice on = $this.resolve().code.coding.code; slice strategy = includes)
  ObservationDerivedFrom maps to derivedFrom
  Components.ObservationComponent maps to component (slice on = code.coding.code; slice strategy = includes)
  Components.ObservationComponent.Code maps to component.code
  Components.ObservationComponent.DataValue maps to component.value[x]
  Components.ObservationComponent.DataAbsentReason maps to component.dataAbsentReason
  Components.ObservationComponent.Interpretation maps to component.interpretation
  Components.ObservationComponent.ReferenceRange maps to component.referenceRange
  Components.ObservationComponent.ReferenceRange.LowerBound maps to component.referenceRange.low
  Components.ObservationComponent.ReferenceRange.UpperBound maps to component.referenceRange.high
  Components.ObservationComponent.ReferenceRange.Type maps to component.referenceRange.type
  Components.ObservationComponent.ReferenceRange.ApplicableSubpopulation maps to component.referenceRange.appliesTo
  Components.ObservationComponent.ReferenceRange.ApplicableAgeRange maps to component.referenceRange.age
  Components.ObservationComponent.ReferenceRange.Text maps to component.referenceRange.text

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation onco-core-TNMClinicalPrimaryTumorCategory
... basedOn Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this event
... partOf Reference(obf-Procedure)The larger procedure that this particular observation is a component or step
... category 0..1Binding: ObservationCategoryCodes (extensible)
... code
.... coding Slice: Unordered, Open by value:code
.... coding Σ1..1CodingPrimary tumor.clinical [Class] Cancer
..... system Fixed Value: http://loinc.org
..... code Fixed Value: 21905-5
... subject 1..1Reference(obf-Patient)The subject of an observation
... focus Reference(onco-core-PrimaryCancerCondition)
... encounter Reference(US Core Encounter Profile)
... effective[x] SdateTime, Period
... performer Reference(US Core Practitioner Profile)
... valueCodeableConcept S1..1CodeableConceptBinding: TNMPrimaryTumorCategoryVS (preferred)
... dataAbsentReason 0..0
... interpretation 0..1
... bodySite 0..0
... method SMethod or staging system used to stage the cancer
Binding: CancerStagingSystemVS (extensible)
... specimen 0..0
... device 0..0
... referenceRange 0..0
... hasMember 0..0
... derivedFrom Reference(US Core DocumentReference Profile | Media | QuestionnaireResponse | obf-Observation)
... component 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*onco-core-TNMClinicalPrimaryTumorCategory
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for observation
... basedOn Σ0..*Reference(ServiceRequest)The plan, proposal or order that is fulfilled in whole or in part by this event
... partOf Σ0..*Reference(obf-Procedure)The larger procedure that this particular observation is a component or step
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (extensible)
... code Σ1..1CodeableConceptType of observation (code / type)
Binding: LOINCCodes (example)
.... id 0..1stringUnique id for inter-element referencing
.... 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..1CodingPrimary tumor.clinical [Class] Cancer
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: 21905-5
..... 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 Σ1..1Reference(obf-Patient)The subject of an observation
... focus Σ0..*Reference(onco-core-PrimaryCancerCondition)What the observation is about, when it is not about the subject of record
... encounter Σ0..1Reference(US Core Encounter Profile)Healthcare event during which this observation is made
... effective[x] SΣ0..1dateTime, PeriodClinically relevant time/time-period for observation
... issued Σ0..1instantDate/Time this version was made available
... performer Σ0..*Reference(US Core Practitioner Profile)Who is responsible for the observation
... valueCodeableConcept SΣI1..1CodeableConceptActual result
Binding: TNMPrimaryTumorCategoryVS (preferred)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible)
... note 0..*AnnotationComments about the observation
... method S0..1CodeableConceptMethod or staging system used to stage the cancer
Binding: CancerStagingSystemVS (extensible)
... derivedFrom Σ0..*Reference(US Core DocumentReference Profile | Media | QuestionnaireResponse | obf-Observation)Related measurements the observation is made from

doco Documentation for this format

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

 

Terminology Bindings

PathConformanceValueSet
Observation.languagepreferredCommonLanguages
Max Binding: AllLanguages
Observation.statusrequiredObservationStatus
Observation.categoryextensibleObservationCategoryCodes
Observation.codeexampleLOINCCodes
Observation.valueCodeableConceptpreferredTNMPrimaryTumorCategoryVS
Observation.interpretationextensibleObservationInterpretationCodes
Observation.methodextensibleCancerStagingSystemVS
Observation.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes
Observation.component.referenceRange.typeextensibleObservationReferenceRangeMeaningCodes
Observation.component.referenceRange.appliesToextensibleObservationReferenceRangeAppliesToCodes

 

Constraints

IdPathDetailsRequirements
dom-2ObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.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 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-6ObservationA resource should have narrative for robust management
: text.div.exists()
dom-5ObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
obs-7ObservationIf 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.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()
obs-6ObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()