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
The official URL for this profile is:
http://hl7.org/fhir/us/mcode/StructureDefinition/onco-core-TNMPathologicPrimaryTumorCategory
Category describing the primary tumor, based on its size and extent, assessed through pathologic analysis of a tumor specimen.
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:
Mapping Source
This structure represents the following mapping definition:
onco.core.TNMPathologicPrimaryTumorCategory 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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | onco-core-TNMPathologicPrimaryTumorCategory | |||
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..1 | Binding: ObservationCategoryCodes (extensible) | ||
code | ||||
coding | Slice: Unordered, Open by value:code | |||
coding | Σ | 1..1 | Coding | Primary tumor.pathology Cancer |
system | Fixed Value: http://loinc.org | |||
code | Fixed Value: 21899-0 | |||
subject | 1..1 | Reference(obf-Patient) | The subject of an observation | |
focus | Reference(onco-core-PrimaryCancerCondition) | |||
encounter | Reference(US Core Encounter Profile) | |||
effective[x] | S | dateTime, Period | ||
performer | Reference(US Core Practitioner Profile) | |||
valueCodeableConcept | S | 1..1 | CodeableConcept | Binding: TNMPrimaryTumorCategoryVS (preferred) |
dataAbsentReason | 0..0 | |||
interpretation | 0..1 | |||
bodySite | 0..0 | |||
method | S | Method 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 | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | onco-core-TNMPathologicPrimaryTumorCategory 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..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business 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..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (extensible) | |
code | Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
coding | Σ | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code | |
coding | Σ | 1..1 | Coding | Primary tumor.pathology Cancer |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: 21899-0 |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
subject | Σ | 1..1 | Reference(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..1 | Reference(US Core Encounter Profile) | Healthcare event during which this observation is made |
effective[x] | SΣ | 0..1 | dateTime, Period | Clinically relevant time/time-period for observation |
issued | Σ | 0..1 | instant | Date/Time this version was made available |
performer | Σ | 0..* | Reference(US Core Practitioner Profile) | Who is responsible for the observation |
valueCodeableConcept | SΣI | 1..1 | CodeableConcept | Actual result Binding: TNMPrimaryTumorCategoryVS (preferred) |
interpretation | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) | |
note | 0..* | Annotation | Comments about the observation | |
method | S | 0..1 | CodeableConcept | Method 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 |
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:
Mapping Source
This structure represents the following mapping definition:
onco.core.TNMPathologicPrimaryTumorCategory 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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | onco-core-TNMPathologicPrimaryTumorCategory | |||
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..1 | Binding: ObservationCategoryCodes (extensible) | ||
code | ||||
coding | Slice: Unordered, Open by value:code | |||
coding | Σ | 1..1 | Coding | Primary tumor.pathology Cancer |
system | Fixed Value: http://loinc.org | |||
code | Fixed Value: 21899-0 | |||
subject | 1..1 | Reference(obf-Patient) | The subject of an observation | |
focus | Reference(onco-core-PrimaryCancerCondition) | |||
encounter | Reference(US Core Encounter Profile) | |||
effective[x] | S | dateTime, Period | ||
performer | Reference(US Core Practitioner Profile) | |||
valueCodeableConcept | S | 1..1 | CodeableConcept | Binding: TNMPrimaryTumorCategoryVS (preferred) |
dataAbsentReason | 0..0 | |||
interpretation | 0..1 | |||
bodySite | 0..0 | |||
method | S | Method 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 | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | onco-core-TNMPathologicPrimaryTumorCategory 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..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business 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..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | 0..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (extensible) | |
code | Σ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
coding | Σ | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code | |
coding | Σ | 1..1 | Coding | Primary tumor.pathology Cancer |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: 21899-0 |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
subject | Σ | 1..1 | Reference(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..1 | Reference(US Core Encounter Profile) | Healthcare event during which this observation is made |
effective[x] | SΣ | 0..1 | dateTime, Period | Clinically relevant time/time-period for observation |
issued | Σ | 0..1 | instant | Date/Time this version was made available |
performer | Σ | 0..* | Reference(US Core Practitioner Profile) | Who is responsible for the observation |
valueCodeableConcept | SΣI | 1..1 | CodeableConcept | Actual result Binding: TNMPrimaryTumorCategoryVS (preferred) |
interpretation | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) | |
note | 0..* | Annotation | Comments about the observation | |
method | S | 0..1 | CodeableConcept | Method 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 |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron
Path | Conformance | ValueSet |
Observation.language | preferred | CommonLanguages Max Binding: AllLanguages |
Observation.status | required | ObservationStatus |
Observation.category | extensible | ObservationCategoryCodes |
Observation.code | example | LOINCCodes |
Observation.valueCodeableConcept | preferred | TNMPrimaryTumorCategoryVS |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.method | extensible | CancerStagingSystemVS |
Observation.referenceRange.type | extensible | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | extensible | ObservationReferenceRangeAppliesToCodes |
Observation.component.code | example | LOINCCodes |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Observation.component.referenceRange.type | extensible | ObservationReferenceRangeMeaningCodes |
Observation.component.referenceRange.appliesTo | extensible | ObservationReferenceRangeAppliesToCodes |
Id | Path | Details | Requirements |
dom-2 | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-4 | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-3 | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-6 | Observation | A resource should have narrative for robust management : text.div.exists() | |
dom-5 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
obs-7 | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty() | |
obs-6 | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |