FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageio.health-samurai.core.r4b
Resource TypeStructureDefinition
IdStructureDefinition-aidboxtopicdestination-dataLakehouseAtLeastOnceProfile.json
FHIR VersionR4B
Sourcehttps://simplifier.net/resolve?scope=io.health-samurai.core.r4b@0.2606.2&canonical=http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-dataLakehouseAtLeastOnceProfile
URLhttp://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-dataLakehouseAtLeastOnceProfile
Version0.2606.2
Statusactive
NameDataLakehouseAtLeastOnceProfile
TitleData Lakehouse At Least Once Profile
DescriptionData Lakehouse at-least-once delivery profile for AidboxTopicDestination. Default writeMode 'managed-zerobus' streams writes directly into a Databricks Unity Catalog managed Delta table via the Zerobus gRPC streaming-ingest SDK (no SQL warehouse on the hot path; pay-per-row ingest). Initial bulk export uses a temporary staging external Delta table on the customer's bucket and merges via the SQL warehouse on the resource id. 'managed-sql' targets the same managed table but routes every batch through the Databricks SQL warehouse (Statement Execution API) — same staging+MERGE for initial bulk; use this when Zerobus isn't available on the customer's SKU. 'external-direct' falls back to writing Parquet directly to an external Delta table on S3/GCS/ADLS via the Delta Kernel writer (no SQL warehouse, restart-safe-idempotent via Delta txn action).
TypeAidboxTopicDestination
Kindresource

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
io.health-samurai.core.r4b#0.2606.2AidboxTopicDestinationAidbox Topic Destination

Narrative

No narrative content found in resource


Source1

{
  "description": "Data Lakehouse at-least-once delivery profile for AidboxTopicDestination. Default writeMode 'managed-zerobus' streams writes directly into a Databricks Unity Catalog managed Delta table via the Zerobus gRPC streaming-ingest SDK (no SQL warehouse on the hot path; pay-per-row ingest). Initial bulk export uses a temporary staging external Delta table on the customer's bucket and merges via the SQL warehouse on the resource id. 'managed-sql' targets the same managed table but routes every batch through the Databricks SQL warehouse (Statement Execution API) — same staging+MERGE for initial bulk; use this when Zerobus isn't available on the customer's SKU. 'external-direct' falls back to writing Parquet directly to an external Delta table on S3/GCS/ADLS via the Delta Kernel writer (no SQL warehouse, restart-safe-idempotent via Delta txn action).",
  "derivation": "constraint",
  "publisher": "Health Samurai",
  "fhirVersion": "4.3.0",
  "name": "DataLakehouseAtLeastOnceProfile",
  "abstract": false,
  "type": "AidboxTopicDestination",
  "resourceType": "StructureDefinition",
  "title": "Data Lakehouse At Least Once Profile",
  "status": "active",
  "id": "aidboxtopicdestination-dataLakehouseAtLeastOnceProfile",
  "kind": "resource",
  "url": "http://health-samurai.io/fhir/core/StructureDefinition/aidboxtopicdestination-dataLakehouseAtLeastOnceProfile",
  "version": "0.2606.2",
  "differential": {
    "element": [
      {
        "id": "AidboxTopicDestination.kind",
        "path": "AidboxTopicDestination.kind",
        "fixedString": "data-lakehouse-at-least-once"
      },
      {
        "id": "AidboxTopicDestination.parameter",
        "path": "AidboxTopicDestination.parameter",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "name"
            }
          ],
          "rules": "closed"
        }
      },
      {
        "id": "AidboxTopicDestination.parameter:tablePath",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "tablePath",
        "short": "Delta table URI, e.g. s3://my-bucket/path/to/table. Must exist (created via Databricks UI / SQL). Required when databricksWorkspaceUrl is absent; ignored when set (table location resolved from Unity Catalog instead).",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:tablePath.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "tablePath"
      },
      {
        "id": "AidboxTopicDestination.parameter:tablePath.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:tablePath.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:tablePath.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:viewDefinition",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "viewDefinition",
        "short": "Name of the ViewDefinition resource for data transformation",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:viewDefinition.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "viewDefinition"
      },
      {
        "id": "AidboxTopicDestination.parameter:viewDefinition.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:viewDefinition.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:viewDefinition.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsRegion",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "awsRegion",
        "short": "AWS region for the S3 bucket (required for real AWS; MinIO/Garage accept us-east-1)",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsRegion.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "awsRegion"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsRegion.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:awsRegion.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsRegion.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsAccessKeyId",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "awsAccessKeyId",
        "short": "AWS access key ID (omit to use default provider chain: env / EC2 / EKS IRSA). Supports vault refs.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsAccessKeyId.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "awsAccessKeyId"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsAccessKeyId.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:awsAccessKeyId.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsAccessKeyId.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsSecretAccessKey",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "awsSecretAccessKey",
        "short": "AWS secret access key. Pair with awsAccessKeyId. Supports vault refs.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsSecretAccessKey.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "awsSecretAccessKey"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsSecretAccessKey.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:awsSecretAccessKey.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:awsSecretAccessKey.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:s3Endpoint",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "s3Endpoint",
        "short": "Custom S3 endpoint (MinIO / Garage / LocalStack). Forces path-style URLs.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:s3Endpoint.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "s3Endpoint"
      },
      {
        "id": "AidboxTopicDestination.parameter:s3Endpoint.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:s3Endpoint.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:s3Endpoint.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:batchSize",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "batchSize",
        "short": "Number of messages per Delta commit batch",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:batchSize.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "batchSize"
      },
      {
        "id": "AidboxTopicDestination.parameter:batchSize.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "unsignedInt"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:batchSize.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:batchSize.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:sendIntervalMs",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "sendIntervalMs",
        "short": "Maximum time between commits in milliseconds",
        "min": 1,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:sendIntervalMs.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "sendIntervalMs"
      },
      {
        "id": "AidboxTopicDestination.parameter:sendIntervalMs.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "unsignedInt"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:sendIntervalMs.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:sendIntervalMs.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:targetFileSizeMb",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "targetFileSizeMb",
        "short": "Target Parquet file size in MiB during initial export (default 128). Avoid tiny files.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:targetFileSizeMb.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "targetFileSizeMb"
      },
      {
        "id": "AidboxTopicDestination.parameter:targetFileSizeMb.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "unsignedInt"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:targetFileSizeMb.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:targetFileSizeMb.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:initialExportChunkCount",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "initialExportChunkCount",
        "short": "Number of hash-partitioned chunks the initial export splits into. Default 1 (single cursor). Chunks distribute across Aidbox pods and write into per-chunk staging Delta tables that are merged into the managed target in one MERGE INTO at finalize.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:initialExportChunkCount.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "initialExportChunkCount"
      },
      {
        "id": "AidboxTopicDestination.parameter:initialExportChunkCount.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "unsignedInt"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:initialExportChunkCount.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:initialExportChunkCount.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:skipInitialExport",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "skipInitialExport",
        "short": "Skip initial export of existing data (default: false)",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:skipInitialExport.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "skipInitialExport"
      },
      {
        "id": "AidboxTopicDestination.parameter:skipInitialExport.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:skipInitialExport.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:skipInitialExport.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceUrl",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "databricksWorkspaceUrl",
        "short": "Databricks workspace URL, e.g. https://workspace.cloud.databricks.com. PRESENCE of this parameter activates Unity Catalog credential vending — tablePath and AWS credentials are then resolved from UC.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceUrl.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "databricksWorkspaceUrl"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceUrl.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceUrl.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceUrl.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:tableName",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "tableName",
        "short": "Unity Catalog table full name: catalog.schema.table. Required when databricksWorkspaceUrl is set.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:tableName.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "tableName"
      },
      {
        "id": "AidboxTopicDestination.parameter:tableName.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:tableName.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:tableName.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:writeMode",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "writeMode",
        "short": "Write path strategy. Default managed-zerobus (gRPC streaming-ingest direct into a Unity Catalog managed Delta table; no warehouse hours). Set managed-sql to route inserts through a Databricks SQL warehouse (same target, requires warm warehouse). Set external-direct to write directly into a non-managed external Delta table (S3 / MinIO / GCS / ADLS) via Kernel.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:writeMode.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "writeMode"
      },
      {
        "id": "AidboxTopicDestination.parameter:writeMode.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:writeMode.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:writeMode.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWarehouseId",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "databricksWarehouseId",
        "short": "Databricks SQL warehouse ID. Required when writeMode=managed-sql; the warehouse executes INSERT / COPY INTO / ALTER on behalf of this destination. Also required for managed-zerobus when initial-export is enabled (the staging-table schema sync still uses INFORMATION_SCHEMA via the warehouse).",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWarehouseId.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "databricksWarehouseId"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWarehouseId.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWarehouseId.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWarehouseId.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:stagingTablePath",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "stagingTablePath",
        "short": "S3/GCS/ADLS URI for an external Delta table used as staging during managed-sql or managed-zerobus mode's initial-export phase. Required when writeMode is managed-sql or managed-zerobus AND skipInitialExport is not true. The customer must pre-configure a UC external location at this path.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:stagingTablePath.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "stagingTablePath"
      },
      {
        "id": "AidboxTopicDestination.parameter:stagingTablePath.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:stagingTablePath.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:stagingTablePath.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceId",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "databricksWorkspaceId",
        "short": "Numeric Databricks workspace ID (e.g. 1234567890123456). Required when writeMode=managed-zerobus; used together with databricksRegion to compose the Zerobus gRPC server endpoint host.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceId.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "databricksWorkspaceId"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceId.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceId.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksWorkspaceId.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksRegion",
        "path": "AidboxTopicDestination.parameter",
        "sliceName": "databricksRegion",
        "short": "AWS region of the Databricks workspace, e.g. us-east-1. Required when writeMode=managed-zerobus; used together with databricksWorkspaceId to compose the Zerobus gRPC server endpoint host.",
        "min": 0,
        "max": "1"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksRegion.name",
        "path": "AidboxTopicDestination.parameter.name",
        "fixedString": "databricksRegion"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksRegion.value[x]",
        "path": "AidboxTopicDestination.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksRegion.resource",
        "path": "AidboxTopicDestination.parameter.resource",
        "max": "0"
      },
      {
        "id": "AidboxTopicDestination.parameter:databricksRegion.part",
        "path": "AidboxTopicDestination.parameter.part",
        "max": "0"
      }
    ]
  },
  "baseDefinition": "http://health-samurai.io/fhir/core/StructureDefinition/AidboxTopicDestination"
}