PackagesCanonicalsLogsProblems
    Packages
    io.health-samurai.core.r4@0.2604.0
    http://health-samurai.io/fhir/core/StructureDefinition/AidboxTopicDestination
{
  "description": "Configures where and how notifications triggered by a subscription topic should be routed. Connects topics to external systems like Kafka, RabbitMQ, Webhook and others.",
  "_filename": "StructureDefinition-AidboxTopicDestination.json",
  "package_name": "io.health-samurai.core.r4",
  "date": null,
  "derivation": "specialization",
  "publisher": null,
  "fhirVersion": "4.0.1",
  "name": "AidboxTopicDestination",
  "abstract": false,
  "type": "AidboxTopicDestination",
  "experimental": null,
  "resourceType": "StructureDefinition",
  "title": "Aidbox Topic Destination",
  "package_version": "0.2604.0",
  "status": "active",
  "id": "4e65f5cb-7e50-491e-bffb-b0ad89c37360",
  "kind": "resource",
  "url": "http://health-samurai.io/fhir/core/StructureDefinition/AidboxTopicDestination",
  "version": "0.2604.0",
  "differential": {
    "element": [ {
      "id": "AidboxTopicDestination",
      "max": "*",
      "min": 0,
      "path": "AidboxTopicDestination",
      "constraint": [ {
        "key": "allow-destinations",
        "human": "meta.profile shall be one of: 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaBestEffortProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaAtLeastOnceMockProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaBestEffortMockProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-webhookAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-gcpPubSubAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-fhirNativeTopicBasedSubscriptionProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-natsCoreBestEffortProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-natsJetStreamAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awsEventBridgeBestEffortProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awsEventBridgeAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awssnsBestEffortProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awssnsAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-clickHouseProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-clickHouseAtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqpRabbitMQ091Profile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqpRabbitMQ091AtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqp10AtLeastOnceProfile', 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-bigQueryAtLeastOnceProfile'",
        "severity": "error",
        "expression": "meta.profile.where(subsetOf('http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaBestEffortProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaAtLeastOnceMockProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-kafkaBestEffortMockProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-webhookAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-gcpPubSubAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-fhirNativeTopicBasedSubscriptionProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-natsCoreBestEffortProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-natsJetStreamAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awsEventBridgeBestEffortProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awsEventBridgeAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awssnsBestEffortProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-awssnsAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-clickHouseProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-clickHouseAtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqpRabbitMQ091Profile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqpRabbitMQ091AtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-amqp10AtLeastOnceProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-bigQueryAtLeastOnceProfile' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-kafka-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-kafka-best-effort' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-kafka-at-least-once-mock' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-kafka-best-effort-mock' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-webhook-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-gcp-pubsub-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-fhir-native-topic-based-subscription' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-nats-core-best-effort' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-nats-jetstream-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-aws-eventbridge-best-effort' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-aws-eventbridge-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-aws-sns-best-effort' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-aws-sns-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-clickhouse' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-clickhouse-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-amqp-rabbitmq-0-9-1' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-amqp-rabbitmq-0-9-1-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-amqp-1-0-at-least-once' | 'http://aidbox.app/StructureDefinition/aidboxtopicdestination-bigquery-at-least-once' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-customAWSSNSBestEffortProfile' | 'http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-customAWSSNSAtLeastOnceProfile')).exists()"
      } ]
    }, {
      "id": "AidboxTopicDestination.kind",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.kind",
      "type": [ {
        "code": "string"
      } ],
      "short": "Channel type for notifications."
    }, {
      "id": "AidboxTopicDestination.topic",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.topic",
      "type": [ {
        "code": "url"
      } ],
      "short": "Reference to the AidboxSubscriptionTopic being subscribed to."
    }, {
      "id": "AidboxTopicDestination.status",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.status",
      "type": [ {
        "code": "string"
      } ],
      "short": "requested | active | error | off | entered-in-error."
    }, {
      "id": "AidboxTopicDestination.content",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.content",
      "type": [ {
        "code": "string"
      } ],
      "short": "empty | id-only | full-resource.",
      "constraint": [ {
        "key": "enum-1671",
        "human": "content shall be one of: empty, id-only, full-resource",
        "severity": "error",
        "expression": "%context.subsetOf('empty' | 'id-only' | 'full-resource')"
      } ]
    }, {
      "id": "AidboxTopicDestination.includeEntryAction",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.includeEntryAction",
      "type": [ {
        "code": "boolean"
      } ],
      "short": "Include entry action code in notification bundle entries.",
      "definition": "When true, each Bundle.entry in the notification will include the bundle-entryActionCode extension indicating the CRUD action (create, update, delete) that triggered the notification. Default: false."
    }, {
      "id": "AidboxTopicDestination.includeVersionId",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.includeVersionId",
      "type": [ {
        "code": "boolean"
      } ],
      "short": "Include resource versionId in notification bundle entries.",
      "definition": "When true, each Bundle.entry in the notification will include the bundle-entryVersionId extension containing the resource's meta.versionId at the time of the notification. Default: false."
    }, {
      "id": "AidboxTopicDestination.enableLogging",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.enableLogging",
      "type": [ {
        "code": "boolean"
      } ],
      "short": "Enable logging of delivery status.",
      "definition": "When true, AidboxSubscriptionStatus is logged after each delivery attempt. On failure, the logged status includes an error array. Useful for debugging and monitoring topic destination delivery. Default: false."
    }, {
      "id": "AidboxTopicDestination.logLevel",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.logLevel",
      "type": [ {
        "code": "code"
      } ],
      "short": "Log level for delivery logging.",
      "binding": {
        "strength": "required",
        "valueSet": "http://health-samurai.io/fhir/core/ValueSet/log-level"
      },
      "definition": "The log level used when enableLogging is true. Must be equal to or higher than the system-wide log level setting, otherwise messages will be filtered out. Default: info."
    }, {
      "id": "AidboxTopicDestination.includeVersionIdInFocusReference",
      "max": "1",
      "min": 0,
      "path": "AidboxTopicDestination.includeVersionIdInFocusReference",
      "type": [ {
        "code": "boolean"
      } ],
      "short": "Include versionId in focus reference.",
      "definition": "When true, the focus reference in AidboxSubscriptionStatus.notificationEvent will include the resource versionId as a versioned reference (e.g. Patient/123/_history/5). Default: false."
    } ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters"
}