Crash Data Analysis · .NET 10 / Blazor

TTAP

Traffic & Transportation Analysis Probing: ask a question of the crash data as one readable sentence.

A state's crash data analysts spend their days answering questions: how many fatal crashes on wet roads last year, how many hit-and-runs involved a pickup, how many pedestrians were killed after dark. Usually that means a SQL query, a spreadsheet, or a ticket to IT. TTAP lets the analyst build the question on screen as one sentence, such as "Count crashes from officer reports where Crash Severity = 01 — Fatal Injury (K) and has a Vehicle with Hit and Run = 01 — Yes, grouped by Day of week", and get the answer as a table, a chart, or the list of crashes behind the number. Every count can be checked, down to the vehicle and the person.

A free, no-signup online demo on made-up crashes is on the way. Until it's up, we'll walk you through it ourselves.

One sentence, read top to bottom

The analyst never writes code. They pick what to count (crashes, vehicles, or people), which report type, which data set, and which dates. Then they add filters on the crash and boxes for a vehicle, a driver, an occupant, or a non-motorist that must be in the crash. Every condition in one box must be true of the same vehicle or person, so "a vehicle that is both a pickup and a hit-and-run" means exactly that. Boxes can be joined by and or or. Every coded value shows its meaning next to its code, so nobody has to remember what a bare number stands for. The server checks every query before it runs, and nothing a person types ever becomes SQL.

What the analyst gets

Where it sits in the pipeline

TTAP is the analysis end of the crash-record pipeline. Reports come in through Paper Image Extraction or electronically, The Refinery cleans and confirms them, and TTAP is where analysts ask questions of the finished data. It reads a feed from The Refinery and keeps its own copy for answering questions, refreshed on a schedule the administrator sets (every 15 minutes by default). TTAP only reads. Nothing done in TTAP changes a crash report, and it never opens The Refinery's databases. Names, addresses, plates, and narratives aren't sent to it, so they can't appear in a result. TTAP's copy is never the source of truth: an administrator can throw it away and pull every report again at any time. It's a separate product with its own database, and it builds and passes its tests with no other Bad Marine product on the machine. No state's field names or codes are built in; they arrive in the feed's catalog.

Where it stands today

We're describing it as it is. TTAP is built for a state's internal crash data users, who sign in with the state's own directory account. The Query Studio, the admin pages, permissions by role, saved queries, exports, and the audit log are built and tested. Its query engine agrees with hand-written SQL on all 48 real-world test queries, run on synthetic data, and it has read the feed from a running Refinery, FARS results included, in two test rounds. It runs on .NET 10 and Microsoft SQL Server. A few things aren't proven yet: