MII IG Kerndatensatz-Modul Onkologie
2027.0.0-ballot.1 -
Germany
This page is part of the MII IG Kerndatensatz-Modul Onkologie (v2027.0.0-ballot.1: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
| Official URL: https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/StructureDefinition/mii-pr-onko-tnm-klassifikation | Version: 2027.0.0-ballot.1 | |||
| Active as of 2026-09-15 | Computable Name: MII_PR_Onko_TNM_Klassifikation | |||
TNM-Klassifikation: Grouper-Profil für Komponenten der TNM-Klassifikation.
This profile is the grouping profile for a TNM classification in oncology.
The profile carries the reference date and serves as the anchor point for all further individual TNM observations at that point in time. The element hasMember contains references to all associated individual TNM observations.
In addition, the element value codes the UICC staging that is derived from the subordinate TNM observations.
A TNM classification occurs in different manifestations over the course of treatment. These are not distinguished by the oBDS reporting occasion, but exclusively by two axes of the FHIR representation:
Observation.code is bound to the value set mii-vs-onko-tnm-klassifikation-typ and carries SNOMED CT 399537006 "Clinical TNM stage grouping", 399588009 "Pathologic TNM stage grouping" or 399703000 "Integrated TNM category";Observation.code of the category observation, and the UICC prefixes y, r and a as modifierExtension on the respective T, N or M observation.The reporting occasion is merely the typical trigger from which the manifestation results — it is not a distinguishing feature and is not represented in the resource.
(1) Clinical staging (typical trigger: diagnosis report). code = 399537006 "Clinical TNM stage grouping", the categories carry the c prefix. The UICC stage is present as a rule, because all three axes T, N and M are assessed clinically.
(2) Pathological staging (typical trigger: pathology or surgery report). code = 399588009 "Pathologic TNM stage grouping", the categories carry the p prefix, and in the case of neoadjuvant pretreatment additionally the y modifier (ypT, ypN). A UICC stage is typically not given here: value is deliberately modelled as 0..1 in the report panel, because a pathological staging alone cannot yield a stage — the M category usually originates from the clinical assessment.
(3) Course of disease (typical trigger: follow-up report). The manifestation is variable. Usually this is a renewed clinical re-staging (code = clinical), supplemented by the y modifier during or after ongoing therapy. In the case of a recurrence the r modifier is added — this depends on the tumour status, not on the reporting occasion, and can therefore also occur outside a follow-up report. If a further operation takes place during the course of disease, the classification may also be pathological.
(4) Synthesised or integrated classification. A separate profile mii-pr-onko-tnm-klassifikation-synthetisiert exists for this, with a fixed code = 399703000 "Integrated TNM category". It merges the categories from several source classifications into a coherent state at the time of decision — including mixed cases, e.g. ypT and ypN from pathology together with cM from the clinical assessment. Here the UICC stage is mandatory (value 1..1), and derivedFrom mandatorily references the underlying source classifications.
| Manifestation | Observation.code |
Category prefixes | UICC stage (value) |
Profile |
|---|---|---|---|---|
| Clinical staging | 399537006 clinical |
c | usually present | mii-pr-onko-tnm-klassifikation |
| Pathological staging | 399588009 pathologic |
p, yp | as a rule not present (0..1) | mii-pr-onko-tnm-klassifikation |
| Course of disease | clinical, possibly pathologic | c/p, y during/after therapy, r on recurrence | variable | mii-pr-onko-tnm-klassifikation |
| Synthesised / integrated | 399703000 integrated |
mixed (e.g. ypT + cN) | mandatory (1..1) | mii-pr-onko-tnm-klassifikation-synthetisiert |
The prefixes y, r and a are modelled as a modifierExtension, because they change the interpretation of the category value: ypT2 is not equivalent to pT2. Processing systems must know these extensions and must not interpret a category without evaluating the prefix.
Examples
mii-exa-onko-tnm-klassifikation-TisN0M0
mii-exa-onko-tnm-klassifikation-uT2a2pN0023i-sncM1
For statements that look structurally similar the module deliberately uses three different mechanisms — what matters is whether the statement is binary, value-bearing, or the category itself:
| Statement | Semantics | Representation |
|---|---|---|
| c/p prefix | how was the category established? | extension on the category's code |
| y, r, a prefix | binary prefix — applies or not (multimodal pre-treatment, recurrence, autopsy) | modifierExtension on the respective category (they change how the value is interpreted) |
| (m) suffix | value-bearing: multiple primary tumours, oBDS 8.10 — (m), (2), (3), (4) |
component[multipleTumoren] on the T category (LOINC 42030-7 as component code, value from the UICC code system) — the suffix is T-exclusive |
| category value (T2, N0, M1c …) | the category itself | dual coding in valueCodeableConcept: uicc (1..1) plus optional snomed-ct (0..1) |
Why the (m) symbol looks different from y/r/a. It is not a presence flag but
carries a value: (3) means three simultaneous primary tumours. A
modifierExtension without a value would lose that information. In addition, no
SNOMED CT equivalent exists for the counting variants (2)/(3)/(4), which is
why — unlike for the categories — no dual coding is offered here.
Note on the former symbol profiles. Up to and including v2026 there were
dedicated Observation profiles for y, r, a and (m). They are deprecated as of
v2027 (status = retired); the prefixes y/r/a are carried as modifierExtension
on the categories, the m suffix as a component of the T category. Legacy data remains readable; new implementations should
use the modifier extensions.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and their representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7 |
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: MII VS Onkologie TNM Klassifikation Typ (required) |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about |
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie Diagnose Primärtumor) | What the observation is about, when it is not about the subject of record |
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
![]() ![]() |
SΣC | 0..1 | dateTime | TNM-Datum Constraints: tnm-datum |
![]() ![]() |
SΣC | 0..1 | CodeableConcept | Actual result Binding: MII VS Onkologie TNM UICC Stadium (required) |
![]() ![]() ![]() |
Σ | 0..* | Coding | UICC Stadium |
![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system |
![]() ![]() ![]() ![]() |
SΣ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
S | 0..1 | CodeableConcept | TNM Version Binding: MII VS Onkologie TNM Version (required) |
![]() ![]() ![]() |
Σ | 0..* | Coding | TNM-Version |
![]() ![]() |
S | 0..1 | Reference(MII PR Onkologie Specimen | Specimen) | Specimen used for this observation |
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie TNM L-Kategorie | MII PR Onkologie TNM M-Kategorie | MII PR Onkologie TNM m-Symbol | MII PR Onkologie TNM N-Kategorie | MII PR Onkologie TNM T-Kategorie | MII PR Onkologie TNM Pn-Kategorie | MII PR Onkologie TNM S-Kategorie | MII PR Onkologie TNM V-Kategorie | MII PR Onkologie TNM a-Symbol | MII PR Onkologie TNM r-Symbol | MII PR Onkologie TNM y-Symbol) | Related resource that belongs to the Observation group |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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-4 | error | 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-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | 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.intersect(%resource.code.coding).exists()).empty()
|
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: MII VS Onkologie TNM Klassifikation Typ (required) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie Diagnose Primärtumor) | What the observation is about, when it is not about the subject of record | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
SΣC | 0..1 | dateTime | TNM-Datum Constraints: tnm-datum | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | ||||
![]() ![]() |
SΣC | 0..1 | CodeableConcept | Actual result Binding: MII VS Onkologie TNM UICC Stadium (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | UICC Stadium | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | TNM Version Binding: MII VS Onkologie TNM Version (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | TNM-Version | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
S | 0..1 | Reference(MII PR Onkologie Specimen | Specimen) | Specimen used for this observation | ||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie TNM L-Kategorie | MII PR Onkologie TNM M-Kategorie | MII PR Onkologie TNM m-Symbol | MII PR Onkologie TNM N-Kategorie | MII PR Onkologie TNM T-Kategorie | MII PR Onkologie TNM Pn-Kategorie | MII PR Onkologie TNM S-Kategorie | MII PR Onkologie TNM V-Kategorie | MII PR Onkologie TNM a-Symbol | MII PR Onkologie TNM r-Symbol | MII PR Onkologie TNM y-Symbol) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Component results | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Observation.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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-4 | error | 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-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text |
low.exists() or high.exists() or text.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | 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.intersect(%resource.code.coding).exists()).empty()
|
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
Summary
Mandatory: 1 element(2 nested mandatory elements)
Must-Support: 13 elements
Structures
This structure refers to these other structures:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7 |
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource |
![]() ![]() ![]() |
SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: MII VS Onkologie TNM Klassifikation Typ (required) |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about |
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie Diagnose Primärtumor) | What the observation is about, when it is not about the subject of record |
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
![]() ![]() |
SΣC | 0..1 | dateTime | TNM-Datum Constraints: tnm-datum |
![]() ![]() |
SΣC | 0..1 | CodeableConcept | Actual result Binding: MII VS Onkologie TNM UICC Stadium (required) |
![]() ![]() ![]() |
Σ | 0..* | Coding | UICC Stadium |
![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system |
![]() ![]() ![]() ![]() |
SΣ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
S | 0..1 | CodeableConcept | TNM Version Binding: MII VS Onkologie TNM Version (required) |
![]() ![]() ![]() |
Σ | 0..* | Coding | TNM-Version |
![]() ![]() |
S | 0..1 | Reference(MII PR Onkologie Specimen | Specimen) | Specimen used for this observation |
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie TNM L-Kategorie | MII PR Onkologie TNM M-Kategorie | MII PR Onkologie TNM m-Symbol | MII PR Onkologie TNM N-Kategorie | MII PR Onkologie TNM T-Kategorie | MII PR Onkologie TNM Pn-Kategorie | MII PR Onkologie TNM S-Kategorie | MII PR Onkologie TNM V-Kategorie | MII PR Onkologie TNM a-Symbol | MII PR Onkologie TNM r-Symbol | MII PR Onkologie TNM y-Symbol) | Related resource that belongs to the Observation group |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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-4 | error | 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-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | 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.intersect(%resource.code.coding).exists()).empty()
|
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
Differential View
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: MII VS Onkologie TNM Klassifikation Typ (required) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie Diagnose Primärtumor) | What the observation is about, when it is not about the subject of record | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
SΣC | 0..1 | dateTime | TNM-Datum Constraints: tnm-datum | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | ||||
![]() ![]() |
SΣC | 0..1 | CodeableConcept | Actual result Binding: MII VS Onkologie TNM UICC Stadium (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | UICC Stadium | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SΣ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
0..* | Annotation | Comments about the observation | |||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | TNM Version Binding: MII VS Onkologie TNM Version (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | TNM-Version | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
S | 0..1 | Reference(MII PR Onkologie Specimen | Specimen) | Specimen used for this observation | ||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
SΣ | 0..* | Reference(MII PR Onkologie TNM L-Kategorie | MII PR Onkologie TNM M-Kategorie | MII PR Onkologie TNM m-Symbol | MII PR Onkologie TNM N-Kategorie | MII PR Onkologie TNM T-Kategorie | MII PR Onkologie TNM Pn-Kategorie | MII PR Onkologie TNM S-Kategorie | MII PR Onkologie TNM V-Kategorie | MII PR Onkologie TNM a-Symbol | MII PR Onkologie TNM r-Symbol | MII PR Onkologie TNM y-Symbol) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Component results | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Observation.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | required | MII VS Onkologie TNM Klassifikation Typ | 📦2027.0.0-ballot.1 | This IG |
| Observation.value[x] | Base | required | MII VS Onkologie TNM UICC Stadium | 📦2027.0.0-ballot.1 | This IG |
| Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Observation.method | Base | required | MII VS Onkologie TNM Version | 📦2027.0.0-ballot.1 | This IG |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | 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-4 | error | 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-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Observation | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text |
low.exists() or high.exists() or text.exists()
|
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present |
dataAbsentReason.empty() or value.empty()
|
| obs-7 | error | 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.intersect(%resource.code.coding).exists()).empty()
|
| tnm-datum | error | Observation.effective[x] | TNM Datum: Ein exaktes (taggenaues) Datum ist anzugeben. |
$this.toString().length() >= 8
|
Summary
Mandatory: 1 element(2 nested mandatory elements)
Must-Support: 13 elements
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron