BVA Decisions Dataset: 1.9 Million Board of Veterans' Appeals Decisions, 1992 to 2026

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.

Decisions
1,907,778
Decided issues
4,157,093
Years
1992–2026
Veterans Law Judges
2,687
Clean parse
1,886,984
Build date
2026-09-03

Coverage

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.

YearDecisionsClean parseExcluded from ratesExcluded %
199229,7941129,783100.0%
199321,561821,553100.0%
199423,4067,68115,72567.2%
199526,28919,7626,52724.8%
199637,38926,67010,71928.7%
199743,16631,16212,00427.8%
199838,15828,5399,61925.2%
199936,27330,2716,00216.5%
200034,12428,7595,36515.7%
200127,82119,2188,60330.9%
200218,84717,2961,5518.2%
200336,92429,9456,97918.9%
200434,49527,8916,60419.1%
200535,24230,0685,17414.7%
200640,30435,0465,25813.0%
200741,02635,1545,87214.3%
200844,97138,5436,42814.3%
200949,13441,6247,51015.3%
201048,52239,9238,59917.7%
201147,49038,2079,28319.5%
201244,45135,3279,12420.5%
201343,53735,2928,24518.9%
201456,81949,4277,39213.0%
201554,51047,7176,79312.5%
201648,54742,3646,18312.7%
201761,24554,0087,23711.8%
201888,33582,7445,5916.3%
201998,55897,4401,1181.1%
2020101,185100,3548310.8%
202197,90897,1797290.7%
202297,96297,2896730.7%
2023105,516104,8556610.6%
2024121,537120,5849530.8%
2025126,601125,8327690.6%
2026 partial year46,13145,8632680.6%
All years1,907,778 1,662,053245,725 12.9%
What is excluded and why. 245,725 of 1,907,778 decisions (12.9%) carry a parse flag and are excluded from every published rate. A flag means the decision's text did not yield the structure the parser needs — no recognisable ORDER section (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.

What is in it

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

FieldTypeMeaning
citationTEXTBoard citation number, the corpus primary key (e.g. 1021000). · primary key
seriesTEXTlegacy (pre-AMA appeal) or ama (Appeals Modernization Act docket). · not null
yearINTEGERDecision year, from the decision date where parseable, otherwise the archive directory. · not null
decision_dateTEXTISO date the Board issued the decision, where the text stated one.
docketTEXTBoard docket number as printed on the decision.
judgeTEXTJudge signature block exactly as printed.
judge_normTEXTNormalised judge name used for grouping (upper case, punctuation and spacing collapsed).
judge_roleTEXTRole from the signature block: Veterans Law Judge, Acting VLJ, and so on.
board_attorneyTEXTBoard staff attorney credited on the decision, where printed.
n_issuesINTEGERNumber of separately decided issues parsed from the ORDER section. · not null
parse_flagsTEXTEmpty 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
pathTEXTLocation of the decision's plain-text file in the corpus. · not null

issues

FieldTypeMeaning
citationTEXTBoard citation number, the corpus primary key (e.g. 1021000). · primary key, not null
seqINTEGERIssue number within the decision, 1-based, in the order the ORDER section lists them. · primary key, not null
dispositionTEXTHow the Board decided this issue. Classes and counts in the table below. · not null
benefitTEXTBenefit type argued (service_connection, increased_rating, effective_date, tdiu, smc, ...); NULL when the issue text did not resolve to one.
conditionTEXTCondition bucket from VetAid's lexicon (ptsd, knee, tinnitus, ...); NULL when unmatched.
textTEXTFor issues: the issue sentence from the ORDER section. For the sample file: the complete decision text. · not null

Disposition classes

Counts are corpus-wide over all 3,857,279 issue rows, including issues inside flagged decisions.

ValueIssuesShareMeaning
denied1,406,25736.46%The Board decided the issue on the merits against the veteran.
remanded1,398,19836.25%Sent back to the agency of original jurisdiction for more development; no merits outcome yet.
granted784,03820.33%The Board allowed the benefit sought on this issue.
dismissed241,6766.27%Not decided on the merits — withdrawn at hearing, no jurisdiction, appellant deceased.
withdrawn20,6690.54%The appellant withdrew this issue in writing or on the record.
vacated5,0840.13%A prior Board decision on this issue was set aside.
referred7740.02%Not on appeal; referred to the RO for initial action.
moot5830.02%No case or controversy remained on this issue.

Evidence features

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.

FeatureMeaningKind
buddy_statementsThird-party lay statements (spouse, buddy, employer)evidence
dbqDisability Benefits Questionnaire in the recordevidence
medical_literatureMedical literature or treatise citedevidence
nexus_absentNo nexus opinion of recordevidence
nexus_negativeA medical source gave a negative nexus opinionevidence
nexus_positiveA medical source gave a positive nexus opinionevidence
private_opinionPrivate physician opinion, letter or DBQevidence
ssa_recordsSocial Security records in the fileevidence
str_negativeService treatment records silent for the conditionevidence
str_positiveService treatment records document the condition or injuryevidence
va_examVA examination or VA medical opinion obtainedevidence
vocationalVocational expert or assessmentevidence
bod_appliedBenefit of the doubt resolved in the veteran's favorfinding
bod_not_appliedPreponderance of the evidence against / doctrine not applicablefinding
credibility_negativeBoard found the veteran's statements not credible or inconsistentfinding
credibility_positiveBoard found the veteran's statements crediblefinding
duty_to_assist_errorDuty-to-assist error foundfinding
exam_adequateBoard found the VA exam or opinion adequatefinding
exam_inadequateBoard found a VA exam or opinion inadequatefinding
stressor_corroboratedPTSD stressor corroborated, verified or concededfinding
stressor_uncorroboratedPTSD stressor not corroboratedfinding
favorable_findingAMA favorable finding acknowledgedprocedure
hearingBoard hearing held or testimony takenprocedure
new_exam_orderedBoard ordered a new exam or addendum opinionprocedure
combatCombat service / 1154(b) in playtheory
continuityContinuity of symptoms argued (38 CFR 3.303(b))theory
functional_lossFunctional loss / DeLuca factors argued (rating cases)theory
mstMilitary sexual trauma / personal assault claimtheory
presumptionPresumptive service connection discussedtheory
secondarySecondary service connection (38 CFR 3.310) in playtheory
aggravationAggravation theory withheldtheory

Access

1. Sample download

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.

bva_sample_1000.jsonl.gz gzipped JSON Lines · 4.6 MB · 1,000 rows · one JSON object per decision with its nested issues array and the full text
bva_sample_1000_meta.csv CSV · 185 KB · 1,000 rows · the same decisions without the decision text, for a quick look in a spreadsheet

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.

2. API

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"

3. MCP server

An AI agent can reach the same data as tools over the Model Context Protocol at https://vetaid.ai/mcp, without scraping these pages.

4. Full corpus

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.

Methodology and known limits

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.

How to cite

Cite the page, not a mirror — it moves with the corpus and states its own build date.

Plain
VetAid BVA Decisions Dataset, version 2026-09-03. VetAid, 2026. https://vetaid.ai/bva/dataset
APA
VetAid. (2026). VetAid BVA decisions dataset (Version 2026-09-03) [Data set]. https://vetaid.ai/bva/dataset
BibTeX
@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}
}

Terms

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.

Not a researcher — just have a decision letter?

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 →