{
  "resourceType": "StructureDefinition",
  "id": "MaiaSubscription",
  "url": "https://tiplu.de/fhir/maia/StructureDefinition/MaiaSubscription",
  "version": "1.0.0",
  "name": "MaiaSubscription",
  "title": "MaiaSubscription",
  "status": "active",
  "experimental": false,
  "date": "2026-04-30",
  "publisher": "Tiplu GmbH",
  "description": "The profile is based on ISiKSubscription with extended and fixed topic.\n\nThis profile overrides the must-support elements defined by ISiK to show the specifications for the MAIA IG.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Subscription",
  "baseDefinition": "https://gematik.de/fhir/isik/StructureDefinition/ISiKSubscription",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Subscription.criteria",
        "path": "Subscription.criteria",
        "comment": "MAIA only supports the subscription topic `maia-alert-accepted`, no other in ISiK defined topics are supported.",
        "binding": {
          "strength": "required",
          "valueSet": "https://tiplu.de/fhir/maia/ValueSet/MaiaSubscriptionTopicVS"
        }
      },
      {
        "id": "Subscription.channel.extension:heartbeatPeriod",
        "path": "Subscription.channel.extension",
        "sliceName": "heartbeatPeriod",
        "comment": "ISiK Comment: Bedeutung: Intervall in dem der Server prüft, ob der Kommunikationskanal noch aktiv ist.\n    \n    MAIA only accepts a heartbeatPeriod of multiples of 60s."
      },
      {
        "id": "Subscription.channel.type",
        "path": "Subscription.channel.type",
        "patternCode": "rest-hook"
      },
      {
        "id": "Subscription.channel.payload",
        "path": "Subscription.channel.payload",
        "patternCode": "application/fhir+json"
      },
      {
        "id": "Subscription.channel.payload.extension:content",
        "path": "Subscription.channel.payload.extension",
        "sliceName": "content"
      },
      {
        "id": "Subscription.channel.payload.extension:content.value[x]:valueCode",
        "path": "Subscription.channel.payload.extension.value[x]",
        "sliceName": "valueCode",
        "type": [
          {
            "code": "code"
          }
        ],
        "patternCode": "full-resource"
      },
      {
        "id": "Subscription.channel.header",
        "path": "Subscription.channel.header",
        "comment": "MAIA only accepts the header `Authorization`, no other headers are supported."
      }
    ]
  }
}