SORTING RULES - ENGINE OIL PRESSURE SENSOR / SWITCH AND OIL PRESSURE WARNING COMPLAINTS (P0521 RANGE / PERFORMANCE, WITH THE SISTER CODE P0520 CIRCUIT MALFUNCTION AND THE OTHER OIL PRESSURE CODES SORTED WITH THEM) PulsCar analysis of NHTSA public data, October 2026. License: CC BY 4.0 Fingerprint of the rules text below, taken when it was written and before any complaint was sorted: 82218f79d4620c791296d1d9093b07c6dabf9d93b35707db8f7258bcae97e339 (2026-10-28T15:36:30Z) Fingerprint of the addendum for the second batch, taken before that batch was sorted: da190ebdd4335689e90a7e05cbd5736183b84a1a3d2163a659ccda258438fa7f (2026-10-28T15:52:40Z) (The fingerprints are of the rules files as first written. The text published below differs from them only where a few working terms were replaced by "sorting rules" and "sorting".) # Sorting rules - engine oil pressure sensor / switch complaints (P0521 study; P0520 and sister oil-pressure codes sorted with it) Written before any complaint in the set was sorted. ## Pool (how the complaints were found) NHTSA complaints received 2015-01-01 to 2026-10-04 (the latest received date in the flat files). A complaint is in the pool if its narrative matches any of the following case-insensitive text searches: 1. R1 - the code P0520, P0521, P0522, P0523 or P0524 by any spelling (letter O for zero, a space, hyphen or period after the P, suffix 00), or a bare number after a code word: `(? N. # R2 the owner (or a shop) found the oil level low / added oil / fixed a leak and the pressure light or message went out or was explained by it -> L. A leak merely noticed while a pressure light is on, with nothing found or done about it -> U. # R3 a sensor/switch/sender named by a shop, dealer or mechanic as the cause, or replaced by anyone after a code or shop diagnosis -> S. Replaced by the owner on a guess with no reading or shop -> U. Replaced and the owner says the problem stayed/came back, no other cause named -> U with returned=yes. # R4 the engine failed, seized, knocked (rod/bearing), threw a rod, or was replaced/rebuilt/declared dead -> E, even if oil pressure light, a leak or a sensor came first (precedence rule: the engine is the final outcome). Exception: the complaint says the engine was fixed/replaced for an unrelated reason -> category of the pressure cause. # R5 oil pump, pickup, relief valve, filter housing/adapter, oil cooler assembly, pressure control solenoid named as cause or replaced -> P. Oil cooler LINE or seal LEAKING (oil loss) -> L. # R6 stall flag = yes only when stalling, shut-off, loss of power, limp mode or seizing is stated in the same event as the oil pressure event and not clearly caused by another named fault. # R7 damage flag = yes only when engine damage is stated (seized, rod/bearing/knock, metal in oil, engine replaced/rebuilt/needed). A mere light or low reading is no. # R8 recall flag = yes only when a recall/campaign/TSB/special coverage/extension is tied to THIS event; an unrelated recall in the same narrative -> no. # R9 returned = yes only when the same light, code or symptom is stated to have come back or not been cured after a repair, reset or oil top-up. # R10 when the excerpt does not settle it: the narrower reading (flags no; category U). # R11a recall flag: a "TAKATA RECALL" lead-in, routine recalls listed, or recall work on another system at the same visit is not a recall tied to this event -> recall no (R8 applied). # R12a recall flag: the complaint says a recall/campaign/notice for THIS failure was asked about, absent, refused or answered "no recall / VIN not covered" (sorting rules: missing, refused, asked about) -> recall yes. # R13a recall flag: a dealer's spoken "known problem" with no notice, TSB, campaign or recall named -> recall no; a class-action settlement alone is not a recall -> no. # R14a category N: oil use/low level/dry engine/leak as the subject, and the oil pressure light or sensor is only said NOT to have come on (or pressure is never described) -> N, all flags no (R1 applied). # R15a returned: an oil change, top-up or refill was done in response and the light/shutoff persists or comes back -> returned yes (R9 applied). # R16a stall: loss of drive (goes to neutral, will not move, reduced power, slows to a stop) counts as lost power -> stall yes; a "stop engine" message or the driver choosing to shut off is not a stall. # R17a category O: a part replaced did not help and a dealer/shop names another system as the cause (alternator, PCM) -> O. # R18a damage: timing chain/guide/pump-chain failure or the words "engine failure" alone, without seizure, knock, bearing, metal or a replacement engine -> damage no (R7 list is exhaustive). # R19a category E: engine knock/clunk or seizure stated as fact, or a shop/dealer says the engine must be replaced -> E; "may need a motor" or an owner guess alone -> U. # R20a category L: oil expelled or lost through a PCV/ventilation fault or a leak the shop names -> L (oil loss), not O. # R21a category U: repair only proposed or quoted (TSB, campaign, shop wants to replace) and not done, or owner cites code/TSB with no shop diagnosis -> U. # R11b engine knocking/ticking noise stated (no seizure, no engine replacement, no shop verdict of engine failure) -> damage=yes, but category stays at what was diagnosed (U if nothing). R4 'knocked' means rod/bearing knock diagnosed or engine declared failed. # R12b the complaint only says the oil pressure/low-oil warning did NOT come on (engine empty, burned oil, seized, leak, failure) and no pressure warning, low reading, code or failed sensor/switch/gauge/lamp is stated -> N (all flags no). A lamp stated to have 'failed to illuminate' counts as a lamp fault -> relevant (U). # R13b recall=yes when the owner asks for / demands a recall or asks why none exists for THIS event, or a dealer/shop told of a known issue/campaign for it; no when only 'no recalls listed' (not asked about), an unrelated recall, or the owner's own online finding. # R14b a part replaced/repaired and the same failure persisted or recurred, no other cause named -> category U, returned=yes (sorting rules U), even if a shop named that part. # R15b a cause or part stated only by the owner (own theory, own video research, own reading) with no shop/dealer/mechanic or replacement -> U. # R16b a cut-off sentence is not read as if completed (code only what is stated). # R11c Absence of a warning, a normal pressure reading, or a hypothetical risk is NOT an oil pressure event on this vehicle: when nothing else qualifies the vehicle -> N (all flags no). # R12c A belt/tensioner is category P only if the excerpt itself ties it to the oil pump; otherwise (belt corrosion, damaged wet belt, belt seized) -> O. # R13c A knocking/banging/clanking engine noise stated with the event sets damage=yes, but category stays U unless engine failure, seizure, rod/bearing failure, metal in oil or replacement is stated (then E). # R14c recall=yes only when a recall/TSB/extension is tied to THIS vehicle's event (performed, offered, refused, asked about); recalls cited only for other models, or implied by a cut-off sentence -> no. # R15c An owner's own sight of a leak, sensor failure or oil use, with no shop/dealer finding -> U (not S, not L). # R16c stall=yes for stalled, shut off, lost power, failed to accelerate, limp/reduced power, seized while driving; the words "engine failure" or "catastrophic failure" alone -> no. # R17c A shop-named cause governs the category over parts swapped on a guess; a part swap that did not help does not count (R3). # R11d stall: yes = engine shut off/died/stalled, OR an actual loss/reduction of power, limp mode, cannot accelerate or hold speed, slows to a stop, stated in the same event; no = hypothetical ("can result in"), hesitation/rough/struggle only, driver's own choice to shut off, restart attempts, "engine failed" alone, towed with no power statement. # R12d damage: yes = knocking/clanking/banging, seized/locked, metal in oil or pan, engine replaced or needed replacing, long block needed; no = rumble/clatter/rattle/whir, "engine failure" alone, a pasted symptom list with no assertion about this car, timing jump alone, low compression alone. # R13d recall: yes = complaint says a recall/campaign/TSB/extension exists for this vehicle or failure (done, pending, parts unavailable) or the dealer/maker answered "not covered / VIN not in recall"; no = "known problem" hearsay, owner wish that it should be recalled, a "no recall" bare remark, NHTSA investigation (PE), recall of another system. # R14d returned: yes = after a repair attempt, reset, oil change/top-up or campaign service the same symptom is stated to persist or come back; no = recurrence with no repair in between, restart after stall, or repair status unknown (excerpt cut). # R15d category E: engine failure, seizure, lock-up or replacement stated as fact by complainant or shop (oil pump/belt cause does not change it, R4) unless a shop names a different final cause; hedged ("seems", "may", "likely") or only knocking/metal with no failure stated -> U. # R16d category U: owner's own theory, own scan, repair only quoted/not done, part replaced and problem stayed (R3), recall merely applying to the VIN with no shop tie; a recall notice quoted with no event is U with recall yes. F only when a shop tied the failure to the campaign or the campaign work was the repair. # R17d category N: oil level / consumption notice, or a pressure-regulation valve replaced for consumption, with no pressure event described; a part appearing only in a list of repairs; gauge named only inside a general list of dead systems stays U (addendum), not N. # R18d category L over O/P when the shop names a seal/gasket/PCV-driven oil loss (R5, R20a-style); W before S before P when several parts are named together. # Rcons1 category S/P/G/L with returned=yes: the last repair stated (part replaced, repaired, or oil/filter done) did not cure it, or the problem came back right after it, and no other cause or fix is named -> U (R3, R14b). # Rcons1 A part that failed again only after a long interval (a year, 18 months, tens of thousands of miles) is a new failure; the category stays. Oil found low again on each recurrence keeps L (R15a). # Rcons1 A later cause stated by a shop for a different system (transmission/ABS, catalytic converter/O2, axle/turbo) replaces the sensor as the cause -> O. ## The text searches as written (case-insensitive) First search (the pool above): - R1, code by any spelling: `(?