Mobility Atlas research: bedside-commode-guide Data and method for the article at mobilitatlas.com/blog/bedside-commode-guide/ License: CC BY 4.0 (credit "Mobility Atlas") Prepared: 19 October 2026 WHAT WAS READ Every FDA MAUDE medical device report with text filed under product code ILS (Adaptor, Hygiene), INB (Attachment, Commode, Wheelchair), IKX (Aid, Transfer), INN (Chair, Adjustable, Mechanical) or INM (Chair, With Casters) whose text contains commode, commodes or toilet, received 1 January 2017 to the latest openFDA update read on 19 October 2026: 327 reports, all coded (278 under ILS). 197 are about bedside or 3-in-1 commodes, 56 raised toilet seats, 37 commodes on wheels, 19 toilet safety frames, 8 bath seats and 10 another device. The FDA recall records for product codes ILS, IKX, INB, INN and INM, downloaded through openFDA on 19 October 2026: 72 records, 7 of which mention a commode or a toilet. Makers: grouped from the manufacturer and brand names in each report (Medline, Combo, Invacare, other). HOW IT WAS CODED 1. A codebook (codebook.txt) was written before any report was coded. Its SHA-256 fingerprint, recorded at 2026-10-19T13:42:03Z, is 70c2a7137ad85fb2bd19a532e0df06a33b9a6e9f67e54920ce67ad64e137ca28. Any later change to the codebook would change this fingerprint. 2. The reports were split into chunks. Two coders (AI language models working separately, each in a private scratch folder, each without access to the other's answers, told to read every report and not to use keyword scripts) coded every report in every chunk against the codebook. 3. Agreement between the two coders: device 98.5% (kappa 0.974); problem 95.7% (kappa 0.948); injury 99.7% (kappa 0.994); fall 99.7% (kappa 0.993); user 99.7% (kappa 0.983); what was found 97.2% (kappa 0.953). 4. Every report where the coders differed was decided by the lead analyst under the written rules below (28 reports marked adjudicated). A consistency pass then re-applied the rules across the whole table and changed codes in 15 more reports (marked consistency). 5. Counts in the article were produced by script from the final table, not by hand. Some sub-counts (parts, places or words named in reports) are keyword counts over the report text; the exact word patterns are listed under KEYWORD COUNTS. Different wording would give somewhat different counts. ADJUDICATION RULES T1: DEVICE (header vs text): text first. When the text names the type (a bedside commode) or describes it (wheels or casters -> W; a bucket or pail -> C; a seat tightened or clamped onto the toilet bowl -> R; a seat, chair or bench in the shower with no commode features -> B), that wins over a header naming another type. A lay use of "commode" or "toilet seat" meaning the toilet itself does not override a header that names a specific product. When neither text nor header gives the type, a device used on the toilet is coded R. T2: PROBLEM (first failure): code the failure the report says happened first; damage that follows from it (a seat falling through, a frame bending when the chair hits the ground, a seat crushed by the fall) is not coded. The list order decides only when several failures are reported with no order between them (e.g. defects found together on receipt). When the maker's inspection pins down which part failed in the reported event, that part is the one coded. T3: PROBLEM (A vs K): K when the report says a part broke, broke off, cracked, snapped or fractured (a backrest, handle, bracket, fastener, weld or bar that broke off included), and that break is told before anything came loose ("cracked and slid off", "bar broke and the seat fell off" are K). A when a seat, raised seat, clamp, bracket, frame member, rail or handle came off, came loose, popped out or up, slid, dislodged, or would not attach or stay secured, with no break told first. A whole raised seat that "broke off" is a break (K). T4: PROBLEM (bent, the codebook has no bent code): a part that bent, dented or warped without breaking is coded by the part: a leg -> L; an arm, armrest, drop arm, rail or back that bent and gave way under the user or no longer locks, releases or drops -> G; any other bent part (frame or frame tubing, bracket, backrest holster or insert, backrest bar, arm frame, crossbar) -> K, the codebook's structural-damage code for non-leg parts. T5: PROBLEM (legs): every failure of a leg is L - bent, buckled, collapsed, gave out, broke or fractured, came off, longer than the others, leg extension jammed, foot missing, leg push-button missing, stuck or not locking (including the buttons joining the legs to the cross bar) - because L is the leg code and comes first in the list. T6: PROBLEM (locks and push-buttons): a push-button, pin, latch or lock that is missing, stuck or will not lock is coded by the part it holds: leg -> L (T5); arm, armrest, drop arm, raised-seat handle or backrest -> G; a seat or clamp on the frame or toilet -> A; a caster lock -> W. An arm or handle that cannot be inserted at all or comes out is A (T3). T7: PROBLEM (A vs F): a raised seat, toilet frame or rail that tipped, leaned, rocked, slid or moved on the toilet is A (shifted on the toilet), not F. F is for a user falling, or a free-standing device tipping over, with no part said to fail; a defect that is only noted (a missing screw) and not linked to the fall does not make it A. T8: PROBLEM (Q): Q when a problem is alleged but no failing part or failure mode is given, including a part described only as damaged or defective (damaged bolts, a defective push button) and a raised seat said not to work and to let urine onto the floor. P is only for a bucket, pan, splash guard or lid. T9: FALL: y when the user fell, went to the ground or was lowered to the floor, or the chair tipped over with the user in it (tipped forward and cracked with the user, femur fracture); n when the tip was stopped (belt or footrest held it) or the user only sank into the seat opening. T10: INJURY: a blow (hit head) with no harm, pain or care stated is n; any stated bruise, cut, pain, scan or treatment is y. T11: USER: y when the report says or suggests, even hedged (likely, appears, may have contributed), that an act of the user or a third party caused or contributed to the event - misuse, leaning or sitting on the arms, wrong assembly or installation, staff not checking or fitting a part, weight, excessive force, modification, wrong product selection or fitting - whether the maker or the reporter says it; n when such an act is only mentioned without being linked to the event, the report declines to link it, or it happened after the event (a repair made afterwards). T12: FINDING D: the maker's (or its importer's, distributor's or service agent's) evaluation of a sample, photo or video confirms the reported fault or finds a defect in the device (fracture, warping, stripped threads, loose part, damage from shipping or packaging), even if the root cause is unknown or the exact complaint was not reproduced; or a part was replaced because it was faulty. T13: FINDING N: the maker examined the device (sample, photo or video) and positively found no defect, correct fit or correct function, or it concludes the problem came from use (excessive force, wrong assembly or positioning, missing nut not tightened, washing, weight) or another outside cause - even when it files the complaint as "confirmed" because the damage is visible; a maker's own statement that there was no product issue counts without an evaluation. T14: FINDING X: no sample, photo or video, or one the maker says is not enough ("not confirmed", "cannot be identified from the photos", "sample required to determine cause"); a cause that appears only in the event account from the user, provider or facility (installed improperly, not the product's fault) or in a facility's own testing, with no maker evaluation or conclusion. KEYWORD COUNTS (Python regular expressions, matched against the upper-case report text without its header line) KW = {'fracture': 'FRACTUR', 'head': '\\bHEAD\\b', 'weight': 'WEIGH|\\bLBS?\\b|POUNDS|BARIATRIC', 'bent': '\\bBENT\\b', 'push_button': 'PUSH ?BUTTON|SPRING BUTTON|PIN', 'assembly': 'ASSEMBL', 'shipping': 'SHIPP|TRANSIT|DELIVER'} QUALITY NOTES (disclosed in full) - The article went through fact-check passes by checkers who had not written it (a full pass with a reader review, then a control pass over the changes), each recomputing numbers from the files here and reading quotes against their sources; every error found was corrected before publication. AMOUNTS Every report text was searched for money figures; none gives one. Prices in the article are prices shown on makers', dealers' and retailers' pages and in the Mobility Atlas catalog, listed in bedside-commode-guide-documents.csv and the article sources. LIMITS - Reports are not rates. Nobody publishes how many devices of each model are in use. - A report is an allegation or a description; the FDA says the submission of a report "itself does not necessarily demonstrate that the device caused or contributed to the adverse outcome or event." - One maker (Medline) is named in 196 of the 327 reports, 177 of them received in 2026 and 155 in August and September 2026; 149 of its 2026 reports say they were submitted as part of retrospective review activities. This is a filing batch, not a change in all commodes, and not a verdict on Medline against other makers. - Setup error disclosed: one coder file for chunk 2 was overwritten by a fault in the coder prompts; it was discarded unread and the chunk was recoded from scratch before agreement was measured. - At least two reports repeat another report word for word and are counted as filed. FILES codebook.txt the codebook as fingerprinted coded_reports.csv one row per coded report: both coders' answers, the final code, and how a disagreement was resolved (resolution, rule_applied) report_pool.csv the reports in the pool with product code, brand, date received and event type The full report texts are public: search MAUDE or openFDA by report key. bedside-commode-guide-documents.csv the documents and pages read, with links