| Active as of 2028-04-01 |
JSON representation of the ti-feature extension.
{
"resourceType" : "StructureDefinition",
"id" : "ti-feature",
"url" : "https://gematik.de/fhir/tiflow/StructureDefinition/ti-feature",
"version" : "2.0.0-ballot.1",
"name" : "TIFeature",
"title" : "TI Feature",
"status" : "active",
"experimental" : false,
"date" : "2028-04-01",
"publisher" : "gematik GmbH",
"contact" : [
{
"name" : "gematik GmbH",
"telecom" : [
{
"system" : "url",
"value" : "https://gematik.de"
},
{
"system" : "email",
"value" : "erp-umsetzung@gematik.de"
}
]
}
],
"description" : "Deklariert ein einzelnes Feature eines Fachdienst-Deployments. \nDas Teilfeld `definition` verweist per Canonical auf den Feature-Bezeichner \n(analog zum HL7 Application Feature Framework, `hl7.fhir.uv.application-feature`);\n`value` beschreibt den aktuellen Zustand des Features am betrachteten Endpoint.\n\nKompatibilitätshinweis: Diese Extension spiegelt bewusst die Sub-Extension-Namen\n`definition` und `value` des HL7-Frameworks wider, um eine spätere Migration oder\nProfilierung ohne Breaking Change zu ermöglichen.",
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "DE",
"display" : "Germany"
}
]
}
],
"copyright" : "gematik GmbH / Dieses Artefakt ist lizenziert unter [Apache License](./license.html), Version 2.0.",
"fhirVersion" : "4.0.1",
"mapping" : [
{
"identity" : "rim",
"uri" : "http://hl7.org/v3",
"name" : "RIM Mapping"
}
],
"kind" : "complex-type",
"abstract" : false,
"context" : [
{
"type" : "element",
"expression" : "CapabilityStatement"
},
{
"type" : "element",
"expression" : "CapabilityStatement.rest"
},
{
"type" : "element",
"expression" : "CapabilityStatement.rest.resource"
}
],
"type" : "Extension",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation" : "constraint",
"snapshot" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
"valueString" : "4.0.1"
}
],
"element" : [
{
"id" : "Extension",
"path" : "Extension",
"short" : "Deklaration eines aktivierbaren CapabilityStatement-Features",
"definition" : "Compound-Extension mit den Teilslices coding und value zur Beschreibung eines einzelnen Features inklusive Aktivierungszustand.",
"comment" : "Diese Extension kann auf CapabilityStatement-Ebene mehrfach wiederholt werden (0..*), um die komplette Feature-Menge eines konkreten Systems zu beschreiben.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "Extension",
"min" : 0,
"max" : "*"
},
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false
},
{
"id" : "Extension.id",
"path" : "Extension.id",
"representation" : [
"xmlAttr"
],
"short" : "Unique id for inter-element referencing",
"definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "string"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Extension.extension",
"path" : "Extension.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "closed"
},
"short" : "Container für die Child-Slices coding und value",
"definition" : "Enthält die verpflichtenden Child-Slices für Feature-Code und Feature-Status.",
"comment" : "Nur die Slices coding und value sind zulässig.",
"min" : 2,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.extension:definition",
"path" : "Extension.extension",
"sliceName" : "definition",
"short" : "Kanonischer Feature-Bezeichner",
"definition" : "Canonical-URL, die das Feature eindeutig identifiziert.\nFür gematik-eigene Features: `https://gematik.de/fhir/erp/FeatureDefinition/<Name>`.\nDie zulässigen Werte sind im ValueSet GEM_ERP_VS_CapabilityStatement_Feature\nals Konzept-URIs definiert.",
"comment" : "Entspricht `extension[definition].valueCanonical` im HL7 Application Feature Framework.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"mustSupport" : true,
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.extension:definition.id",
"path" : "Extension.extension.id",
"representation" : [
"xmlAttr"
],
"short" : "Unique id for inter-element referencing",
"definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "string"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Extension.extension:definition.extension",
"path" : "Extension.extension.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Extension",
"definition" : "An Extension",
"min" : 0,
"max" : "0",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.extension:definition.url",
"path" : "Extension.extension.url",
"representation" : [
"xmlAttr"
],
"short" : "identifies the meaning of the extension",
"definition" : "Source of the definition for the extension code - a logical name or a URL.",
"comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.url",
"min" : 1,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "uri"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri" : "definition",
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.extension:definition.value[x]",
"path" : "Extension.extension.value[x]",
"short" : "Value of extension",
"definition" : "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.value[x]",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "canonical"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.extension:value",
"path" : "Extension.extension",
"sliceName" : "value",
"short" : "Aktivierungszustand des Features",
"definition" : "Beschreibt, ob das in definition referenzierte Feature in dieser Umgebung aktiv ist.",
"comment" : "true = aktiv; false = deklariert, aber derzeit nicht aktiv.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"mustSupport" : true,
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.extension:value.id",
"path" : "Extension.extension.id",
"representation" : [
"xmlAttr"
],
"short" : "Unique id for inter-element referencing",
"definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "string"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"isModifier" : false,
"isSummary" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "Extension.extension:value.extension",
"path" : "Extension.extension.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Extension",
"definition" : "An Extension",
"min" : 0,
"max" : "0",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source" : "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier" : false,
"isSummary" : false
},
{
"id" : "Extension.extension:value.url",
"path" : "Extension.extension.url",
"representation" : [
"xmlAttr"
],
"short" : "identifies the meaning of the extension",
"definition" : "Source of the definition for the extension code - a logical name or a URL.",
"comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.url",
"min" : 1,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "uri"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri" : "value",
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.extension:value.value[x]",
"path" : "Extension.extension.value[x]",
"short" : "Feature aktiv (true/false)",
"definition" : "Boolean-Wert zur Laufzeitaktivierung des referenzierten Features.",
"comment" : "Soll den effektiven Betriebszustand der referenzierten Funktionalität wiedergeben.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.value[x]",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "boolean"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.url",
"path" : "Extension.url",
"representation" : [
"xmlAttr"
],
"short" : "identifies the meaning of the extension",
"definition" : "Source of the definition for the extension code - a logical name or a URL.",
"comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Extension.url",
"min" : 1,
"max" : "1"
},
"type" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl" : "uri"
}
],
"code" : "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri" : "https://gematik.de/fhir/tiflow/StructureDefinition/ti-feature",
"mapping" : [
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "Extension.value[x]",
"path" : "Extension.value[x]",
"short" : "Value of extension",
"definition" : "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min" : 0,
"max" : "0",
"base" : {
"path" : "Extension.value[x]",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "base64Binary"
},
{
"code" : "boolean"
},
{
"code" : "canonical"
},
{
"code" : "code"
},
{
"code" : "date"
},
{
"code" : "dateTime"
},
{
"code" : "decimal"
},
{
"code" : "id"
},
{
"code" : "instant"
},
{
"code" : "integer"
},
{
"code" : "markdown"
},
{
"code" : "oid"
},
{
"code" : "positiveInt"
},
{
"code" : "string"
},
{
"code" : "time"
},
{
"code" : "unsignedInt"
},
{
"code" : "uri"
},
{
"code" : "url"
},
{
"code" : "uuid"
},
{
"code" : "Address"
},
{
"code" : "Age"
},
{
"code" : "Annotation"
},
{
"code" : "Attachment"
},
{
"code" : "CodeableConcept"
},
{
"code" : "Coding"
},
{
"code" : "ContactPoint"
},
{
"code" : "Count"
},
{
"code" : "Distance"
},
{
"code" : "Duration"
},
{
"code" : "HumanName"
},
{
"code" : "Identifier"
},
{
"code" : "Money"
},
{
"code" : "Period"
},
{
"code" : "Quantity"
},
{
"code" : "Range"
},
{
"code" : "Ratio"
},
{
"code" : "Reference"
},
{
"code" : "SampledData"
},
{
"code" : "Signature"
},
{
"code" : "Timing"
},
{
"code" : "ContactDetail"
},
{
"code" : "Contributor"
},
{
"code" : "DataRequirement"
},
{
"code" : "Expression"
},
{
"code" : "ParameterDefinition"
},
{
"code" : "RelatedArtifact"
},
{
"code" : "TriggerDefinition"
},
{
"code" : "UsageContext"
},
{
"code" : "Dosage"
},
{
"code" : "Meta"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() or (children().count() > id.count())",
"xpath" : "@value|f:*|h:div",
"source" : "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier" : false,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
}
]
},
"differential" : {
"element" : [
{
"id" : "Extension",
"path" : "Extension",
"short" : "Deklaration eines aktivierbaren CapabilityStatement-Features",
"definition" : "Compound-Extension mit den Teilslices coding und value zur Beschreibung eines einzelnen Features inklusive Aktivierungszustand.",
"comment" : "Diese Extension kann auf CapabilityStatement-Ebene mehrfach wiederholt werden (0..*), um die komplette Feature-Menge eines konkreten Systems zu beschreiben."
},
{
"id" : "Extension.extension",
"path" : "Extension.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "closed"
},
"short" : "Container für die Child-Slices coding und value",
"definition" : "Enthält die verpflichtenden Child-Slices für Feature-Code und Feature-Status.",
"comment" : "Nur die Slices coding und value sind zulässig.",
"min" : 2
},
{
"id" : "Extension.extension:definition",
"path" : "Extension.extension",
"sliceName" : "definition",
"short" : "Kanonischer Feature-Bezeichner",
"definition" : "Canonical-URL, die das Feature eindeutig identifiziert.\nFür gematik-eigene Features: `https://gematik.de/fhir/erp/FeatureDefinition/<Name>`.\nDie zulässigen Werte sind im ValueSet GEM_ERP_VS_CapabilityStatement_Feature\nals Konzept-URIs definiert.",
"comment" : "Entspricht `extension[definition].valueCanonical` im HL7 Application Feature Framework.",
"min" : 1,
"max" : "1",
"mustSupport" : true
},
{
"id" : "Extension.extension:definition.extension",
"path" : "Extension.extension.extension",
"max" : "0"
},
{
"id" : "Extension.extension:definition.url",
"path" : "Extension.extension.url",
"fixedUri" : "definition"
},
{
"id" : "Extension.extension:definition.value[x]",
"path" : "Extension.extension.value[x]",
"min" : 1,
"type" : [
{
"code" : "canonical"
}
]
},
{
"id" : "Extension.extension:value",
"path" : "Extension.extension",
"sliceName" : "value",
"short" : "Aktivierungszustand des Features",
"definition" : "Beschreibt, ob das in definition referenzierte Feature in dieser Umgebung aktiv ist.",
"comment" : "true = aktiv; false = deklariert, aber derzeit nicht aktiv.",
"min" : 1,
"max" : "1",
"mustSupport" : true
},
{
"id" : "Extension.extension:value.extension",
"path" : "Extension.extension.extension",
"max" : "0"
},
{
"id" : "Extension.extension:value.url",
"path" : "Extension.extension.url",
"fixedUri" : "value"
},
{
"id" : "Extension.extension:value.value[x]",
"path" : "Extension.extension.value[x]",
"short" : "Feature aktiv (true/false)",
"definition" : "Boolean-Wert zur Laufzeitaktivierung des referenzierten Features.",
"comment" : "Soll den effektiven Betriebszustand der referenzierten Funktionalität wiedergeben.",
"min" : 1,
"type" : [
{
"code" : "boolean"
}
]
},
{
"id" : "Extension.url",
"path" : "Extension.url",
"fixedUri" : "https://gematik.de/fhir/tiflow/StructureDefinition/ti-feature"
},
{
"id" : "Extension.value[x]",
"path" : "Extension.value[x]",
"max" : "0"
}
]
}
}