Every decision the Board of Veterans' Appeals has published since 1992 — 1,907,778 decisions containing 4,157,093 separately decided issues, dated 1992-03-30 through 2026-04-30 — in full text, with VetAid's issue-level parse (disposition, benefit type and condition for each issue) joined to it. Published 2026-09-03. The decision text is a work of the United States Government and is in the public domain; it is republished by VA at va.gov and mirrored here with the parsed labels added.
One row per decision year. Clean parse is the count our parser resolved end to end; excluded is the remainder, which is present in the corpus and in the full text but is left out of every published rate.
| Year | Decisions | Clean parse | Excluded from rates | Excluded % |
|---|---|---|---|---|
| 1992 | 29,794 | 11 | 29,783 | 100.0% |
| 1993 | 21,561 | 8 | 21,553 | 100.0% |
| 1994 | 23,406 | 7,681 | 15,725 | 67.2% |
| 1995 | 26,289 | 19,762 | 6,527 | 24.8% |
| 1996 | 37,389 | 26,670 | 10,719 | 28.7% |
| 1997 | 43,166 | 31,162 | 12,004 | 27.8% |
| 1998 | 38,158 | 28,539 | 9,619 | 25.2% |
| 1999 | 36,273 | 30,271 | 6,002 | 16.5% |
| 2000 | 34,124 | 28,759 | 5,365 | 15.7% |
| 2001 | 27,821 | 19,218 | 8,603 | 30.9% |
| 2002 | 18,847 | 17,296 | 1,551 | 8.2% |
| 2003 | 36,924 | 29,945 | 6,979 | 18.9% |
| 2004 | 34,495 | 27,891 | 6,604 | 19.1% |
| 2005 | 35,242 | 30,068 | 5,174 | 14.7% |
| 2006 | 40,304 | 35,046 | 5,258 | 13.0% |
| 2007 | 41,026 | 35,154 | 5,872 | 14.3% |
| 2008 | 44,971 | 38,543 | 6,428 | 14.3% |
| 2009 | 49,134 | 41,624 | 7,510 | 15.3% |
| 2010 | 48,522 | 39,923 | 8,599 | 17.7% |
| 2011 | 47,490 | 38,207 | 9,283 | 19.5% |
| 2012 | 44,451 | 35,327 | 9,124 | 20.5% |
| 2013 | 43,537 | 35,292 | 8,245 | 18.9% |
| 2014 | 56,819 | 49,427 | 7,392 | 13.0% |
| 2015 | 54,510 | 47,717 | 6,793 | 12.5% |
| 2016 | 48,547 | 42,364 | 6,183 | 12.7% |
| 2017 | 61,245 | 54,008 | 7,237 | 11.8% |
| 2018 | 88,335 | 82,744 | 5,591 | 6.3% |
| 2019 | 98,558 | 97,440 | 1,118 | 1.1% |
| 2020 | 101,185 | 100,354 | 831 | 0.8% |
| 2021 | 97,908 | 97,179 | 729 | 0.7% |
| 2022 | 97,962 | 97,289 | 673 | 0.7% |
| 2023 | 105,516 | 104,855 | 661 | 0.6% |
| 2024 | 121,537 | 120,584 | 953 | 0.8% |
| 2025 | 126,601 | 125,832 | 769 | 0.6% |
| 2026 partial year | 46,131 | 45,863 | 268 | 0.6% |
| All years | 1,907,778 | 1,662,053 | 245,725 | 12.9% |
no_order), no judge signature (no_judge), or an ORDER whose wording did not match
a known disposition (order_unclassified) — not that the decision is missing or wrong. Exclusion
is heavily concentrated in the oldest years, whose scans and transcription conventions differ
from the modern ones: 1992 excludes 100.0%
(29,783 of 29,794), while 2026 excludes
0.6% (268 of 46,131).
Read any statistic that spans the whole range with that gradient in mind. Years marked partial (2026) are incomplete: 2026 is still being decided, and the earliest year begins when the Board's public archive begins, not in January.Two tables. decisions holds one row per Board decision; issues holds one row per
separately decided issue, keyed back to the decision. Field names and types below are read from the live
database schema, not transcribed.
decisions| Field | Type | Meaning |
|---|---|---|
| citation | TEXT | Board citation number, the corpus primary key (e.g. 1021000). · primary key |
| series | TEXT | legacy (pre-AMA appeal) or ama (Appeals Modernization Act docket). · not null |
| year | INTEGER | Decision year, from the decision date where parseable, otherwise the archive directory. · not null |
| decision_date | TEXT | ISO date the Board issued the decision, where the text stated one. |
| docket | TEXT | Board docket number as printed on the decision. |
| judge | TEXT | Judge signature block exactly as printed. |
| judge_norm | TEXT | Normalised judge name used for grouping (upper case, punctuation and spacing collapsed). |
| judge_role | TEXT | Role from the signature block: Veterans Law Judge, Acting VLJ, and so on. |
| board_attorney | TEXT | Board staff attorney credited on the decision, where printed. |
| n_issues | INTEGER | Number of separately decided issues parsed from the ORDER section. · not null |
| parse_flags | TEXT | Empty when the parse resolved end to end; otherwise a comma-joined list of flags (no_order, no_judge, order_unclassified). Any non-empty value excludes the decision from published rates. · not null |
| path | TEXT | Location of the decision's plain-text file in the corpus. · not null |
issues| Field | Type | Meaning |
|---|---|---|
| citation | TEXT | Board citation number, the corpus primary key (e.g. 1021000). · primary key, not null |
| seq | INTEGER | Issue number within the decision, 1-based, in the order the ORDER section lists them. · primary key, not null |
| disposition | TEXT | How the Board decided this issue. Classes and counts in the table below. · not null |
| benefit | TEXT | Benefit type argued (service_connection, increased_rating, effective_date, tdiu, smc, ...); NULL when the issue text did not resolve to one. |
| condition | TEXT | Condition bucket from VetAid's lexicon (ptsd, knee, tinnitus, ...); NULL when unmatched. |
| text | TEXT | For issues: the issue sentence from the ORDER section. For the sample file: the complete decision text. · not null |
Counts are corpus-wide over all 3,857,279 issue rows, including issues inside flagged decisions.
| Value | Issues | Share | Meaning |
|---|---|---|---|
| denied | 1,406,257 | 36.46% | The Board decided the issue on the merits against the veteran. |
| remanded | 1,398,198 | 36.25% | Sent back to the agency of original jurisdiction for more development; no merits outcome yet. |
| granted | 784,038 | 20.33% | The Board allowed the benefit sought on this issue. |
| dismissed | 241,676 | 6.27% | Not decided on the merits — withdrawn at hearing, no jurisdiction, appellant deceased. |
| withdrawn | 20,669 | 0.54% | The appellant withdrew this issue in writing or on the record. |
| vacated | 5,084 | 0.13% | A prior Board decision on this issue was set aside. |
| referred | 774 | 0.02% | Not on appeal; referred to the RO for initial action. |
| moot | 583 | 0.02% | No case or controversy remained on this issue. |
On top of the two tables, VetAid runs a text extractor over every decision that flags what the record held and how the Board read it — 31 features in extractor version 2. These drive what evidence wins and the evidence API. 1 of 31 features are marked withheld: the build did not clear them for publication, so they appear in no page, no API response and no download.
| Feature | Meaning | Kind |
|---|---|---|
| buddy_statements | Third-party lay statements (spouse, buddy, employer) | evidence |
| dbq | Disability Benefits Questionnaire in the record | evidence |
| medical_literature | Medical literature or treatise cited | evidence |
| nexus_absent | No nexus opinion of record | evidence |
| nexus_negative | A medical source gave a negative nexus opinion | evidence |
| nexus_positive | A medical source gave a positive nexus opinion | evidence |
| private_opinion | Private physician opinion, letter or DBQ | evidence |
| ssa_records | Social Security records in the file | evidence |
| str_negative | Service treatment records silent for the condition | evidence |
| str_positive | Service treatment records document the condition or injury | evidence |
| va_exam | VA examination or VA medical opinion obtained | evidence |
| vocational | Vocational expert or assessment | evidence |
| bod_applied | Benefit of the doubt resolved in the veteran's favor | finding |
| bod_not_applied | Preponderance of the evidence against / doctrine not applicable | finding |
| credibility_negative | Board found the veteran's statements not credible or inconsistent | finding |
| credibility_positive | Board found the veteran's statements credible | finding |
| duty_to_assist_error | Duty-to-assist error found | finding |
| exam_adequate | Board found the VA exam or opinion adequate | finding |
| exam_inadequate | Board found a VA exam or opinion inadequate | finding |
| stressor_corroborated | PTSD stressor corroborated, verified or conceded | finding |
| stressor_uncorroborated | PTSD stressor not corroborated | finding |
| favorable_finding | AMA favorable finding acknowledged | procedure |
| hearing | Board hearing held or testimony taken | procedure |
| new_exam_ordered | Board ordered a new exam or addendum opinion | procedure |
| combat | Combat service / 1154(b) in play | theory |
| continuity | Continuity of symptoms argued (38 CFR 3.303(b)) | theory |
| functional_loss | Functional loss / DeLuca factors argued (rating cases) | theory |
| mst | Military sexual trauma / personal assault claim | theory |
| presumption | Presumptive service connection discussed | theory |
| secondary | Secondary service connection (38 CFR 3.310) in play | theory |
| aggravation | Aggravation theory withheld | theory |
A 1,000-decision sample, free and unauthenticated, so the format can be checked before anyone asks for more. Selection: clean parse only (parse_flags empty); 29 decisions from each year 1992-2025 ordered by the last three characters of the citation, the remainder from the newest year. It carries 1,988 issue rows, and every row carries the full decision text.
issues array and the full text
Every row carries source_url, the address of that decision's own
text on va.gov, so any row can be checked against the government's copy
— 932 of 1,000 rows resolve to one. The 68 that do not are the earliest
legacy decisions, whose text prints no decision date; va.gov files that era by month, so the URL cannot be
built for them. Their text is included in full regardless.
Aggregate, read-only, no key, no personal data. These are the same numbers the pages render.
Evidence rates for a condition — how often the Board granted when the record held each evidence type versus when it did not:
curl "https://vetaid.ai/api/bva/evidence?condition=ptsd"
The decisions behind one cell — the citations that make up a fraction:
curl "https://vetaid.ai/api/bva/evidence/cases?feature=nexus_positive&present=1&disposition=granted&condition=ptsd"
Corpus-wide outcome, condition and authority statistics:
curl "https://vetaid.ai/api/denials/stats"
The M21-1 adjudication-manual change log, diffed weekly from VA's own portal:
curl "https://vetaid.ai/api/m21/changes"
An AI agent can reach the same data as tools over the Model Context Protocol at
https://vetaid.ai/mcp, without scraping these pages.
The raw decision text is public at va.gov/vetapp and anyone may crawl it there. VetAid also keeps a assembled copy — roughly 35 GB of plain text, already de-duplicated and foldered by year and series — and will share it with researchers and journalists on request: write to sentinel@vetaid.ai with who you are and what you are doing.
VetAid's derived issue-level labels and evidence features are not offered for bulk download. They are queryable through the API and the MCP server above, and the sample shows exactly what they look like.
How an outcome is read. A Board decision states its holdings in an ORDER section near the end. The parser locates that section, splits it into one row per separately decided issue, and classifies each row's disposition from the ORDER's own wording — "is granted", "is denied", "is remanded", "is dismissed". Benefit type and condition are then matched against a lexicon over the issue text. The judge is taken from the signature block below the ORDER; a decision with no recognisable signature is flagged, because a decision we cannot attribute must not enter a judge's statistics.
Rates exclude flagged decisions. 20,794 of 1,907,778 decisions carry a parse flag and sit out of every published rate, while remaining in the corpus and in the full text. See Coverage above for the per-year split — exclusion is concentrated in the earliest years, so any figure spanning 1992 to today rests on far more recent decisions than old ones.
Rates are issue-level, not decision-level. One appeal routinely decides several issues with different outcomes. Counting decisions rather than issues inflates grant rates, and the Board's own reporting cautions against it, so every rate here has an issue denominator.
The single-issue rule for evidence. An evidence flag is detected on a whole decision, not on one issue inside it. Attaching it to an outcome is therefore only honest where the decision decided exactly one issue. The evidence tables use that population — 993,470 single-issue, clean-parse decisions in complete crawl years (1992–2025) — and show a split only where both sides hold at least 30 decisions.
Detection is by text pattern. Evidence features are found by reading the decision for finding-shaped language with negation handling. Precision was read on samples before publication and is stated per feature on the evidence page. Expect a few percent misclassified, not zero.
These are appeals, not claims. Every decision in the corpus is an appealed denial. Grant rates here say nothing about the share of initial VA claims that are granted, and nothing here predicts any individual outcome.
The two pages built on this corpus: what evidence wins at the Board and judge outcome statistics.
Cite the page, not a mirror — it moves with the corpus and states its own build date.
@misc{vetaid_bva_dataset,
title = {VetAid BVA Decisions Dataset},
author = {{VetAid}},
year = {2026},
version = {2026-09-03},
howpublished = {\url{https://vetaid.ai/bva/dataset}},
note = {Board of Veterans' Appeals decisions 1992--2026, full text with issue-level labels}
}The decision text is a work of the United States Government and carries no copyright.
Use it however you like.
VetAid's derived labels and statistics — the issue-level dispositions, benefit and
condition tags, evidence features, and every rate computed from them — may be quoted, charted and
written about with attribution to VetAid and a link to https://vetaid.ai/bva/dataset. Bulk redistribution of the derived
labels is not permitted; point people here instead.
VetAid's free analyzer reads your letter and records against this corpus and ranks the evidence gaps for your conditions. No card, no fee, no cut of your back pay.
Analyze my claim free →