{
  "resourceType": "StructureDefinition",
  "id": "Observation",
  "url": "https://fhir.centraxx.de/StructureDefinition/Tnm",
  "version": "2025.4.0",
  "name": "Tnm",
  "status": "active",
  "publisher": "Kairos an IQVIA business",
  "description": "Represents a CentraXX Tnm.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation.meta",
        "path": "Observation.meta",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.meta.profile",
        "path": "Observation.meta.profile",
        "min": 1,
        "max": "1",
        "fixedCanonical": "https://fhir.centraxx.de/StructureDefinition/Tnm",
        "mustSupport": true
      },
      {
        "id": "Observation.meta.tag",
        "path": "Observation.meta.tag",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.meta.tag.system",
        "path": "Observation.meta.tag.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/cxxEntity",
        "mustSupport": true
      },
      {
        "id": "Observation.meta.tag.code",
        "path": "Observation.meta.tag.code",
        "min": 1,
        "max": "1",
        "fixedString": "Tnm",
        "mustSupport": true
      },
      {
        "id": "Observation.extension",
        "path": "Observation.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "closed"
        },
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.extension:updateWithOverwrite",
        "path": "Observation.extension",
        "sliceName": "updateWithOverwrite",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://fhir.centraxx.de/extension/updateWithOverwrite"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.identifier",
        "path": "Observation.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "closed"
        },
        "min": 0,
        "max": "3",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:tnmId",
        "path": "Observation.identifier",
        "sliceName": "tnmId",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:tnmId.system",
        "path": "Observation.identifier.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/tnm/tnmId",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:tnmId.value",
        "path": "Observation.identifier.value",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:xmlId",
        "path": "Observation.identifier",
        "sliceName": "xmlId",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:xmlId.system",
        "path": "Observation.identifier.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/tnm/xmlId",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:xmlId.value",
        "path": "Observation.identifier.value",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:cxxTnmId",
        "path": "Observation.identifier",
        "sliceName": "cxxTnmId",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:cxxTnmId.system",
        "path": "Observation.identifier.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/tnm/cxxTnmId",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier:cxxTnmId.value",
        "path": "Observation.identifier.value",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.status",
        "path": "Observation.status",
        "fixedCode": "final",
        "mustSupport": true
      },
      {
        "id": "Observation.code",
        "path": "Observation.code",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "LP7648-1",
              "display": "TNM classification"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.subject",
        "path": "Observation.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.centraxx.de/StructureDefinition/Patient"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.focus",
        "path": "Observation.focus",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.centraxx.de/StructureDefinition/Tumor"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.encounter",
        "path": "Observation.encounter",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.centraxx.de/StructureDefinition/Encounter"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.effective[x]",
        "path": "Observation.effective[x]",
        "comment": "Represents Tnm date",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.issued",
        "path": "Observation.issued",
        "comment": "CXX creation date",
        "mustSupport": true
      },
      {
        "id": "Observation.method",
        "path": "Observation.method",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/sourceDictionary"
        }
      },
      {
        "id": "Observation.method.coding",
        "path": "Observation.method.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.method.coding.system",
        "path": "Observation.method.coding.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/gtds/sourceDictionary",
        "mustSupport": true
      },
      {
        "id": "Observation.method.coding.code",
        "path": "Observation.method.coding.code",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.hasMember",
        "path": "Observation.hasMember",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.centraxx.de/StructureDefinition/Progress"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code.coding.code"
            }
          ],
          "rules": "closed"
        },
        "min": 0,
        "max": "18",
        "mustSupport": true
      },
      {
        "id": "Observation.component:t",
        "path": "Observation.component",
        "sliceName": "t",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:t.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "t"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:t.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:n",
        "path": "Observation.component",
        "sliceName": "n",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:n.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "n"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:n.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:m",
        "path": "Observation.component",
        "sliceName": "m",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:m.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "m"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:m.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixTDict",
        "path": "Observation.component",
        "sliceName": "praefixTDict",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixTDict.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "praefixTDict"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixTDict.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/tnmPDictionary"
        }
      },
      {
        "id": "Observation.component:praefixTDict.value[x].coding",
        "path": "Observation.component.value[x].coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixTDict.value[x].coding.system",
        "path": "Observation.component.value[x].coding.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/gtds/tnmPDictionary",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixTDict.value[x].coding.version",
        "path": "Observation.component.value[x].coding.version",
        "min": 1,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/version"
        }
      },
      {
        "id": "Observation.component:praefixTDict.value[x].coding.code",
        "path": "Observation.component.value[x].coding.code",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixNDict",
        "path": "Observation.component",
        "sliceName": "praefixNDict",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixNDict.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "praefixNDict"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixNDict.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/tnmPDictionary"
        }
      },
      {
        "id": "Observation.component:praefixNDict.value[x].coding",
        "path": "Observation.component.value[x].coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixNDict.value[x].coding.system",
        "path": "Observation.component.value[x].coding.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/gtds/tnmPDictionary",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixNDict.value[x].coding.version",
        "path": "Observation.component.value[x].coding.version",
        "min": 1,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/version"
        }
      },
      {
        "id": "Observation.component:praefixNDict.value[x].coding.code",
        "path": "Observation.component.value[x].coding.code",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixMDict",
        "path": "Observation.component",
        "sliceName": "praefixMDict",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixMDict.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "praefixMDict"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixMDict.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/tnmPDictionary"
        }
      },
      {
        "id": "Observation.component:praefixMDict.value[x].coding",
        "path": "Observation.component.value[x].coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixMDict.value[x].coding.system",
        "path": "Observation.component.value[x].coding.system",
        "min": 1,
        "max": "1",
        "fixedString": "https://fhir.centraxx.de/system/gtds/tnmPDictionary",
        "mustSupport": true
      },
      {
        "id": "Observation.component:praefixMDict.value[x].coding.version",
        "path": "Observation.component.value[x].coding.version",
        "min": 1,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.centraxx.de/valueSet/gtds/version"
        }
      },
      {
        "id": "Observation.component:praefixMDict.value[x].coding.code",
        "path": "Observation.component.value[x].coding.code",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:multiple",
        "path": "Observation.component",
        "sliceName": "multiple",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:multiple.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "multiple"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:multiple.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:recidivClassification",
        "path": "Observation.component",
        "sliceName": "recidivClassification",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:recidivClassification.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "recidivClassification"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:recidivClassification.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:ySymbol",
        "path": "Observation.component",
        "sliceName": "ySymbol",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:ySymbol.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "ySymbol"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:ySymbol.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:l",
        "path": "Observation.component",
        "sliceName": "l",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:l.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "l"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:l.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:v",
        "path": "Observation.component",
        "sliceName": "v",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:v.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "v"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:v.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:s",
        "path": "Observation.component",
        "sliceName": "s",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:s.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "s"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:s.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:pni",
        "path": "Observation.component",
        "sliceName": "pni",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:pni.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "pni"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:pni.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:stadium",
        "path": "Observation.component",
        "sliceName": "stadium",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:stadium.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "stadium"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:stadium.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:grading",
        "path": "Observation.component",
        "sliceName": "grading",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:grading.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "grading"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:grading.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:tnmCodeGrading",
        "path": "Observation.component",
        "sliceName": "tnmCodeGrading",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:tnmCodeGrading.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "tnmCodeGrading"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:tnmCodeGrading.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:version",
        "path": "Observation.component",
        "sliceName": "version",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:version.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "version"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:version.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component:relevant",
        "path": "Observation.component",
        "sliceName": "relevant",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.component:relevant.code",
        "path": "Observation.component.code",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.centraxx.de/system/tnm",
              "code": "relevant"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.component:relevant.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      }
    ]
  }
}