Skip to main content

Dynamic and Time-Series

The Dynamic and Time-Series extension models systems whose state changes continuously: how data moves between systems, metrics measured as time series, and models that predict one metric from others. It extends the Performance domain and the interoperability extensions with three record types:

  • Data flow: a configured movement of data from source systems to target systems, with its trigger, cadence, payload schema, quality measure and governance. A data flow can be a live operational feed, or a monitored source such as a regulator's publication page watched daily for new instruments.
  • Timebound metric: a metric measured as a time series, with its unit, update interval, target and alert thresholds.
  • Predictive model: a model that predicts a timebound metric from others. Its governance (ownership, validation, monitoring) lives in its Model Risk Management model profile.

Schemas: data-flow.schema.json, timebound-metric.schema.json, predictive-model.schema.json
Specification: JSON Schema Draft-07

Monitored sources​

When a data flow feeds governed reasoning, such as an agent that watches regulators for change, sourcePrecedence records how much weight the source carries when sources disagree, and whether a change from it alone may set a record's status or date. freshnessThreshold sets how long records fed by the flow stay fresh without reverification, and governance.humanApprovalRequired records whether changes need a named approver. New instruments the flow finds are recorded as Triggers.

Data Flow​

AttributeTypeDescriptionRequired
dataFlowIDStringUnique identifier for the data flow, e.g. DF-PROC-001✓
titleStringName of the data flow✓
descriptionStringWhat the data flow carries and why
sourceSystemsArray[Object]Systems or sources the data comes from✓
sourceSystems[].endpointTypeEnumKind of endpoint: software, sensor, dataStore, webPage, feed, register, api, person, other (required)
sourceSystems[].titleStringName of the endpoint (required)
sourceSystems[].systemReferenceObjectTechnology or Information record for the endpoint, when one exists
sourceSystems[].urlStringAddress of the endpoint, for web sources and APIs
targetSystemsArray[Object]Systems that receive the data
targetSystems[].endpointTypeEnumKind of endpoint: software, sensor, dataStore, webPage, feed, register, api, person, other (required)
targetSystems[].titleStringName of the endpoint (required)
targetSystems[].systemReferenceObjectTechnology or Information record for the endpoint, when one exists
targetSystems[].urlStringAddress of the endpoint, for web sources and APIs
frequencyEnumCadence of the data flow: continuous, realTime, hourly, daily, weekly, monthly, quarterly, semiAnnually, annually, eventDriven, onDemand, adHoc✓
triggeringEventObjectEvent that starts the flow, for event-driven flows
triggeringEvent.eventNameStringName of the event, e.g. PartProduced (required)
triggeringEvent.sourceStringWhere the event comes from, e.g. Machine101
schemaReferenceObjectSchema of the data payload
schemaReference.formatEnumPayload format: json, xml, csv, html, pdf, rss, atom, binary, other (required)
schemaReference.schemaIDStringIdentifier or URI of the payload schema, e.g. SCHEMA-MFG002 or a Triodian schema $id
sourcePrecedenceObjectHow much weight the source carries when sources disagree. Used where a flow feeds governed reasoning
sourcePrecedence.rankInteger1 (highest precedence) to 5 (lowest) (required)
sourcePrecedence.basisEnumWhy the source has that rank: officialText, regulatorPublication, standardsBodyPublication, commentary, news, internalSystem, sensor, other (required)
sourcePrecedence.canSetStatusOrDateBooleanWhether a change from this source alone may set a record's status or date, or only serve as a lead to a higher-ranked source
externalOrgIDStringExternal Organization that owns the source, for external sources
jurisdictionStringJurisdiction the source covers, for regulatory sources
dataQualityMetricIDStringPerformance or timebound metric that measures the flow's data quality, latency or freshness
latencyStringExpected latency of the flow, as an ISO 8601 duration or plain text, e.g. PT0.1S or 100ms
volumeStringExpected volume, e.g. 1000 records/min
freshnessThresholdStringMaximum age, as an ISO 8601 duration, after which records fed by this flow are treated as stale unless re-verified, e.g. P90D
governanceObjectGovernance controls applied to the flow
governance.ownerTitleStringPerson or team that owns the flow
governance.ownerStakeholderIDStringStakeholder record for the owner
governance.approvedDateDateDate the flow was approved
governance.reviewFrequencyEnumHow often the flow is reviewed: continuous, realTime, hourly, daily, weekly, monthly, quarterly, semiAnnually, annually, eventDriven, onDemand, adHoc
governance.humanApprovalRequiredBooleanWhether changes derived from this flow need a named human approver before they are published
statusEnumImplementation state of the flow: notStarted, planned, inProgress, implemented, operational, verified, retiring, retired, abandoned, notApplicable
{
"dataFlowID": "DF-PROC-001",
"title": "Live Manufacturing Process Data",
"description": "Real-time ingestion of data from a manufacturing process line.",
"sourceSystems": [
{
"endpointType": "sensor",
"title": "Sensor Network A"
}
],
"targetSystems": [
{
"endpointType": "software",
"title": "Operational Dashboard"
},
{
"endpointType": "software",
"title": "Quality Control Engine"
}
],
"frequency": "realTime",
"triggeringEvent": {
"eventName": "PartProduced",
"source": "Machine101"
},
"schemaReference": {
"format": "json",
"schemaID": "SCHEMA-MFG002"
},
"dataQualityMetricID": "MET-LATENCY-001",
"latency": "100ms",
"governance": {
"ownerTitle": "DataOps Team",
"approvedDate": "2025-08-20"
}
}

Timebound Metric​

AttributeTypeDescriptionRequired
timeboundMetricIDStringUnique identifier for the metric, e.g. TBM-MACHINE-TEMPERATURE✓
titleStringName of the metric✓
descriptionStringWhat the metric measures
sourceStringSensor, stream or data flow the values come from
dataFlowIDStringData flow that supplies the values
unitOfMeasureStringUnit the metric is measured in, e.g. Celsius✓
updateFrequencyEnumHow often the metric updates: continuous, realTime, hourly, daily, weekly, monthly, quarterly, semiAnnually, annually, eventDriven, onDemand, adHoc✓
updateIntervalStringExact update interval as an ISO 8601 duration, e.g. PT10S
targetObjectDesired or expected value
target.valueNumberTarget value (required)
target.comparisonEnumHow a reading is compared with the target: atMost, atLeast, equals, within
target.toleranceNumberAllowed deviation when comparison is within
alertThresholdsArray[Object]Values that raise an alert
alertThresholds[].valueNumberThreshold value (required)
alertThresholds[].directionEnumWhether the alert fires above or below the value: above, below (required)
alertThresholds[].severityEnumSeriousness of the alert: low, medium, high, critical (required)
linkedInitiativeIDStringStrategic initiative the metric supports
performanceIDStringPerformance record the metric reports into
{
"timeboundMetricID": "TBM-MACHINE-TEMPERATURE",
"title": "Machine 101 Temperature",
"description": "Temperature of a critical machine component, updated every 10 seconds.",
"source": "Machine-101-Sensor-B",
"unitOfMeasure": "Celsius",
"updateFrequency": "realTime",
"updateInterval": "PT10S",
"target": {
"value": 85.0,
"comparison": "atMost"
},
"linkedInitiativeID": "INIT-ENERGY-EFFICIENCY"
}

Predictive Model​

AttributeTypeDescriptionRequired
predictiveModelIDStringUnique identifier for the model, e.g. PM-INVENTORY-FORECAST✓
titleStringName of the model✓
descriptionStringWhat the model predicts and from what
modelAlgorithmEnumKind of algorithm: regression, classification, timeSeriesForecast, clustering, anomalyDetection, neuralNetwork, ensemble, largeLanguageModel, other
inputTimeboundMetricIDsArray[String]Timebound metrics that feed the model✓
predictedTimeboundMetricIDStringTimebound metric the model outputs✓
accuracyObjectMeasured accuracy of the model
accuracy.metricStringAccuracy measure, e.g. MAPE, AUC, accuracy (required)
accuracy.valueNumberValue of the measure (required)
accuracy.measuredDateDateDate it was measured
modelRiskModelIDStringModel Risk Management model profile that governs the model
useCaseIDsArray[String]Standardised AI use cases the model is used in
{
"predictiveModelID": "PM-INVENTORY-FORECAST",
"title": "Inventory Demand Forecast",
"description": "Predicts future inventory demand from sales data, seasonality and promotional events.",
"modelAlgorithm": "regression",
"inputTimeboundMetricIDs": [
"TBM-SALES-VOLUMES",
"TBM-PROMO-EVENTS"
],
"predictedTimeboundMetricID": "TBM-INVENTORY-LEVELS",
"accuracy": {
"metric": "accuracy",
"value": 0.955
}
}

Use cases​

  • Major events. Data flows ingest turnstile and camera feeds; timebound metrics track crowd density at each gate and car park use; a predictive model forecasts peak parking demand from ticket sales, weather and live traffic.
  • Manufacturing. Data flows carry sensor readings from assembly machines to a quality engine; timebound metrics track temperature, vibration and energy use; a predictive model forecasts the remaining useful life of a part.
  • Healthcare. Data flows move patient vitals from bedside monitors to the health record; timebound metrics track heart rate and oxygen levels with alert thresholds; a predictive model forecasts the likelihood of deterioration.
  • Regulatory monitoring. Data flows watch legislation registers and regulator publication pages; each new instrument becomes a Trigger; a timebound metric tracks how many records are past their freshness threshold.