SCADA & OT Integration Checklist for BI

An interactive, practical checklist to guide teams through integrating SCADA/OT telemetry with enterprise BI. Covers inventory, time alignment, sampling, tagging, asset mapping, contracts, latency, security, provenance, quality checks, example KPI queries, monitoring, and implementation ownership.

{ "Title": "SCADA & OT Integration Checklist for BI", "IntroductionHtml": "

This checklist helps operators, engineers, data teams, and BI owners work together to turn SCADA and OT telemetry into reliable, actionable business intelligence. Use it to reduce risk, align KPIs to real-world constraints, and prepare data for analysis while preserving security and provenance.

", "SubmitLabel": "Save checklist response", "SuccessMessage": "Checklist saved. You can return and update it as progress is made.", "DataType": "SCADA_OT_Integration_Checklist", "SchemaVersion": 1, "Fields": [ { "Key": "sensor_inventory_done", "Label": "Sensor inventory and mapping completed", "FieldType": "yesno", "HelpText": "Confirm that every sensor/source is inventoried with ID, type, physical location, tags, and owning team/role." }, { "Key": "sensor_inventory_notes", "Label": "Sensor inventory notes", "FieldType": "textarea", "HelpText": "List missing sensors, naming conventions, duplicate IDs, or special cases to resolve." }, { "Key": "timestamp_standardization_done", "Label": "Timestamp standardization applied", "FieldType": "yesno", "HelpText": "Confirm timestamps are normalized (timezone, format) and documented for every source." }, { "Key": "timestamp_details", "Label": "Timezone and timestamp format", "FieldType": "text", "HelpText": "Example: ISO-8601 UTC; indicate if device-local clocks are used and how offsets are handled." }, { "Key": "sampling_rules_done", "Label": "Sampling and down-sampling rules defined", "FieldType": "yesno", "HelpText": "Confirm agreed sampling rates, down-sampling/aggregation windows, and when raw high-resolution data is retained." }, { "Key": "sampling_details", "Label": "Sampling rules summary", "FieldType": "textarea", "HelpText": "Describe default sample rates, aggregation (e.g., 1s -> 1m median), and exceptions for events." }, { "Key": "anomaly_tagging_done", "Label": "Anomaly tagging / event detection in place", "FieldType": "yesno", "HelpText": "Confirm how anomalies are detected, tagged, and stored so BI queries can filter or flag events." }, { "Key": "anomaly_method", "Label": "Anomaly detection method", "FieldType": "select", "HelpText": "Select the primary method used to identify anomalies or events.", "Options": [ {"Value": "rule", "Label": "Rule-based thresholds"}, {"Value": "statistical", "Label": "Statistical models (z-score, control charts)"}, {"Value": "ml", "Label": "Machine learning models"}, {"Value": "hybrid", "Label": "Hybrid / ensemble"} ] }, { "Key": "asset_hierarchy_done", "Label": "Asset hierarchy and mapping completed", "FieldType": "yesno", "HelpText": "Confirm assets are mapped consistently (site > line > cell > machine > component) with master asset IDs." }, { "Key": "asset_mapping_notes", "Label": "Asset mapping notes", "FieldType": "textarea", "HelpText": "Include parent-child relationships, mapping rules, and links to master asset registry." }, { "Key": "data_contracts_done", "Label": "Data contracts and schemas established", "FieldType": "yesno", "HelpText": "Confirm agreed fields, types, update frequency, and SLAs between OT producers and BI consumers." }, { "Key": "data_contract_owner", "Label": "Data contract owner / steward", "FieldType": "text", "HelpText": "Person, role, or team accountable for the contract." }, { "Key": "latency_expectations_done", "Label": "Latency and freshness expectations set", "FieldType": "yesno", "HelpText": "Define acceptable latency for each consumer (real-time alerts vs. hourly KPIs)." }, { "Key": "max_latency_seconds", "Label": "Maximum acceptable latency (seconds)", "FieldType": "number", "HelpText": "Enter numeric seconds. Use larger units if appropriate and document for each use case." }, { "Key": "security_review_done", "Label": "Security and reliability review completed", "FieldType": "yesno", "HelpText": "Confirm network segmentation, credential management, encryption, and disaster/redundancy plans." }, { "Key": "security_notes", "Label": "Security review notes", "FieldType": "textarea", "HelpText": "List outstanding issues, remediation actions, and compliance requirements." }, { "Key": "provenance_done", "Label": "Provenance and lineage captured", "FieldType": "yesno", "HelpText": "Confirm that source identifiers, timestamps, transformations, and versioning are recorded and queryable." }, { "Key": "provenance_details", "Label": "Provenance capture details", "FieldType": "textarea", "HelpText": "Describe where lineage is stored (metadata store, data catalog) and how to access it." }, { "Key": "data_quality_done", "Label": "Data quality checks defined", "FieldType": "yesno", "HelpText": "Confirm routines for checking gaps, spikes, duplicates, and sensor drift are scheduled and documented." }, { "Key": "missing_data_strategy", "Label": "Missing or bad data strategy", "FieldType": "select", "HelpText": "Choose the primary approach for handling missing or invalid data in KPI calculations.", "Options": [ {"Value": "impute", "Label": "Impute / fill with logical values"}, {"Value": "flag", "Label": "Flag and exclude from KPI computations"}, {"Value": "interpolate", "Label": "Interpolate from neighbors"}, {"Value": "escalate", "Label": "Escalate to operator / steward"} ] }, { "Key": "kpi_queries_done", "Label": "Example KPI queries and definitions provided (OEE, MTTR, throughput)", "FieldType": "yesno", "HelpText": "Confirm that validated example queries and unambiguous KPI definitions exist for common measures." }, { "Key": "kpi_examples", "Label": "Paste or link sample query or KPI definition", "FieldType": "textarea", "HelpText": "Include SQL, time-series query, or pseudocode for OEE, MTTR, availability, throughput, etc., and point out assumptions." }, { "Key": "integration_targets_done", "Label": "Integration targets and export formats defined", "FieldType": "yesno", "HelpText": "Confirm target BI tools, formats (Parquet, CSV, API), and transfer mechanism (push, pull, stream)." }, { "Key": "integration_targets", "Label": "Target BI tools / endpoints", "FieldType": "text", "HelpText": "List tools such as Power BI, Tableau, Grafana, enterprise data lake, MQTT broker, etc." }, { "Key": "monitoring_done", "Label": "Operational monitoring and alerting configured", "FieldType": "yesno", "HelpText": "Confirm alerts for pipeline failures, metric drift, data latency violations, and data-quality regressions." }, { "Key": "monitoring_details", "Label": "Monitoring and alert thresholds", "FieldType": "textarea", "HelpText": "Describe thresholds, responsible on-call or team, and escalation paths." }, { "Key": "implementation_plan_done", "Label": "Implementation plan and owners assigned", "FieldType": "yesno", "HelpText": "Confirm tasks, owners, timeline, and acceptance criteria are documented and agreed." }, { "Key": "implementation_owner", "Label": "Implementation owner / team", "FieldType": "text", "HelpText": "Team or role responsible for execution." }, { "Key": "target_date", "Label": "Target completion date", "FieldType": "text", "HelpText": "YYYY-MM-DD or freeform date for delivery." }, { "Key": "final_signoff", "Label": "Final sign-off and comments", "FieldType": "textarea", "HelpText": "Name, date, acceptance criteria met, and any follow-up items." } ] }

Discussion

Comments and conversation will live here.