NTSB finding · Personnel issues › Psychological › Mental/emotional state

Cases
21
In the probable cause
16 (76%)
Fatal cases
14
NTSB code
02022500

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

When and where

In green, cases where NTSB made it part of the probable cause; in gray, a factor or other finding. Findings are coded with the final report, often a year or more after the event, so the latest years are incomplete.

Cases per year

2008In the probable causeFactor only2026
Cases with Mental/emotional state, general per year: 21 cases
20092
20101
20111
20123
20132
20143
20154
20161
20172
20181
20251
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = f.case_mkey
  WHERE starts_with(f.\"findingCode\", '02022500') AND c.\"eventDate\" >= DATE '2000-01-01'
  GROUP BY 1
  ORDER BY 1"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

In the same cases

Query with SQL
duckdb -csv -c "WITH matched AS (SELECT DISTINCT case_mkey, aircrafts_position FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' WHERE starts_with(\"findingCode\", '02022500'))
  SELECT * FROM (
  SELECT 'Defining event' AS kind, e.\"tier2Number\" AS code, max(e.\"eventTier2Name\") AS name, count(DISTINCT f.case_mkey) AS cases
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_events.parquet' e ON e.case_mkey = f.case_mkey AND e.aircrafts_position = f.aircrafts_position AND e.\"isDefiningEvent\"
  WHERE e.\"tier2Number\" <> ''
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT f.case_mkey)
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = f.case_mkey AND a.position = f.aircrafts_position
  LEFT JOIN 'https://openairdocs.org/data/latest/faa_aircraft_model.parquet' m ON m.code = a.aircraft_model_code
  WHERE a.aircraft_model_code IS NOT NULL
  GROUP BY ALL
  UNION ALL
  SELECT 'Other finding', left(g.\"findingCode\", 8), max(g.\"tier4Name\"), count(DISTINCT g.case_mkey)
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' g
  WHERE g.case_mkey IN (SELECT case_mkey FROM matched) AND NOT starts_with(g.\"findingCode\", '02022500') AND g.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  )
  QUALIFY row_number() OVER (PARTITION BY kind ORDER BY cases DESC) <= 10
  ORDER BY kind, cases DESC"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Newest cases · 21

NTSB CEN26LA057Accident · No injuriesClass 4 · LimitedFinal reportZenith Stol CH701 · Weatherford, OKThe pilot’s improper landing flare which resulted in a hard landing. Contributing to the accident was the pilot being in a rush and failing to note the wind direction and speed.Dec 6, 2025 · N701SA · Substantial damageNTSB ERA19FA003Accident · 1 fatalField investigationFinal reportPiper J3C · Fancy Gap, VAThe non-instrument-rated pilot's improper decision to undertake a flight into forecast instrument meteorological conditions (IMC) and his subsequent decision to continue the flight after encountering IMC, which resulted in controlled flight into terrain.…Oct 6, 2018 · N38811 · Substantial damageNTSB ERA18FA005Accident · 1 fatalField investigationFinal reportBryant C Crosby BC Ultra PUP · Bardstown, KYThe pilot's improper decision to initiate a flight in an airplane he had never flown and with no currency in any airplane nor a medical certificate, which resulted in his loss of airplane control. Contributing to the accident was the pilot's psychiatric…Oct 5, 2017 · N484HC · Substantial damageNTSB CEN17FA138Accident · 1 fatalField investigationFinal reportBeech V35 · Union City, OKThe pilot's improper recovery from a spin.Mar 24, 2017 · N2053Y · DestroyedNTSB WPR17FA029Accident · 1 fatalField investigationFinal reportBellanca 7GCAA · Glamis, CAThe pilot's improper decision to attempt a downwind landing and his failure to maintain adequate airspeed while maneuvering during a go-around and subsequent landing attempt, which resulted in exceedance of the airplane's critical angle of attack and an…Nov 25, 2016 · N88373 · Substantial damageNTSB WPR16FA014Accident · 2 fatalField investigationFinal reportPiper PA 28R-180 · Morongo Valley, CAThe non-instrument rated pilot's improper inflight decision-making to attempt to outclimb clouds along his planned route rather than reverse course, which resulted in his inadvertent entry into instrument meteorological conditions, spatial disorientation, and…Oct 17, 2015 · N4972J · DestroyedNTSB ERA15LA366Accident · Minor injuriesLimited investigationFinal reportCessna 172 · Bally, PAThe pilot's failure to maintain altitude during low-level aerobatic maneuvers. Contributing to the accident were the pilot's improper decision to attempt the low-level aerobatic maneuvers and his impairment due to psychiatric conditions and the medications he…Sep 21, 2015 · N347SP · Substantial damageNTSB ERA15FA330Accident · 1 fatalField investigationFinal reportCirrus Design SR22 · Alabaster, ALAn in-flight loss of airplane control for reasons that could not be determined because postaccident examination of the airframe and engine revealed no preimpact mechanical malfunctions or failures that would have precluded normal operation.Aug 28, 2015 · N1116C · Substantial damageNTSB CEN15LA122Accident · Serious injuriesLimited investigationFinal reportCessna 172F · Routt County, COThe pilot’s intentional flight into terrain.Jan 25, 2015 · N8368U · Substantial damageNTSB ERA14FA461Accident · 1 fatalField investigationFinal reportEagle R&D Helicycle · Gallatin, TNThe pilot's decision to fly the improperly balanced helicopter at high speed and low altitude, which resulted in a loss of control and collision with terrain. Contributing to the accident were the pilot's depression and resulting degradation of executive…Sep 28, 2014 · N7062U · Substantial damage
See all 21 cases
Query with SQL
duckdb -csv -c "SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
  FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
  WHERE c.\"mKey\" IN (SELECT f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '02022500'))
  ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"

Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.