Skip to main content
Challenge

Build a Storm Surge Loss Ledger Reconciler and Claimant Drafter

Reconcile commercial property damage claim ledgers against historical OpenFEMA disaster declarations. Formulate clear itemized claimant communication drafts explaining eligible flood assistance categories.

Data ScienceHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Reconcile commercial property damage claim ledgers against historical OpenFEMA disaster declarations. Formulate clear itemized claimant communication drafts explaining eligible flood assistance categories.

Property Loss Reconciler

Import claimant loss itemizations listing asserted storm dates, damaged assets, and contractor quotes.

Fetch OpenFEMA DisasterDeclarationsSummaries via the REST API to confirm declared incident periods and county coverage.

Reconcile asserted claim dates against certified disaster declaration start and end date envelopes.

Draft structured claimant status letters detailing verified loss items and required supporting receipts.

Web interface providing side-by-side comparison of claimed loss entries against FEMA disaster incident records with editable response text.

Query https://www.fema.gov/api/open/v2/DisasterDeclarationsSummaries with filtering parameters or replay normalized JSON responses. Starter examples below are synthetic. They are not downloaded records.

FEMA OpenFEMA Uses OpenFEMA v2 DisasterDeclarationsSummaries endpoint parameters ($filter, declarationDate, incidentBeginDate, incidentEndDate).

anthropic-claude, requests, pandas. Hosted Claude provides nuanced, empathetic, and regulatory-compliant prose drafting for sensitive policyholder communications. Hosted Claude API (e.g. Sonnet 3.5) with JSON output enforcement.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Verifies claim date falls within OpenFEMA incident start and end bounds for the specified county.

Separates unreconciled dates or unlisted damage categories into an itemized information request list.

Generates formal claimant correspondence without binding coverage determinations or payout commitments.

```json [ { "input": { "claim_id": "CLM-SURGE-8841", "county": "Galveston", "state": "TX", "loss_date": "2024-07-08", "claimed_items": [ { "item": "first_floor_drywall", "amount_usd": 12500 }, { "item": "dock_cleats", "amount_usd": 3200 } ], "fema_declaration": { "disasterNumber": 4798, "incidentBeginDate": "2024-07-05T00:00:00.000Z", "incidentEndDate": "2024-07-10T23:59:59.000Z" } }, "expected_output": { "claim_id": "CLM-SURGE-8841", "incident_verified": true, "disaster_number": 4798, "reconciled_amount_usd": 15700, "claimant_letter_draft": "Your loss on 2024-07-08 aligns with FEMA Disaster 4798. Please provide signed subcontractor itemized invoices for final ledger audit." } }, { "input": { "claim_id": "CLM-SURGE-8842", "county": "Galveston", "state": "TX", "loss_date": "2024-08-15", "claimed_items": [ { "item": "submersible_pump", "amount_usd": 4500 } ], "fema_declaration": { "disasterNumber": 4798, "incidentBeginDate": "2024-07-05T00:00:00.000Z", "incidentEndDate": "2024-07-10T23:59:59.000Z" } }, "expected_output": { "claim_id": "CLM-SURGE-8842", "incident_verified": false, "disaster_number": 4798, "reconciled_amount_usd": 0, "claimant_letter_draft": "The reported loss date (2024-08-15) falls outside designated disaster window (2024-07-05 to 2024-07-10). Secondary documentation required." } } ] ```

Drafts communications only. Does not approve claims, disburse insurance payments, or make final policyholder determinations. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Drafts communications only. Does not approve claims, disburse insurance payments, or make final policyholder determinations. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Verifies claim date falls within OpenFEMA incident start and end bounds for the specified county. Separates unreconciled dates or unlisted damage categories into an itemized information request list. Generates formal claimant correspondence without binding coverage determinations or payout commitments.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Import claimant loss itemizations listing asserted storm dates, damaged assets, and contractor quotes. Fetch OpenFEMA DisasterDeclarationsSummaries via the REST API to confirm declared incident periods and county coverage. Reconcile asserted claim dates against certified disaster declaration start and end date envelopes. Draft structured claimant status letters detailing verified loss items and required supporting receipts.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Verifies claim date falls within OpenFEMA incident start and end bounds for the specified county. Separates unreconciled dates or unlisted damage categories into an itemized information request list. Generates formal claimant correspondence without binding coverage determinations or payout commitments.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Web interface providing side-by-side comparison of claimed loss entries against FEMA disaster incident records with editable response text.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Drafts communications only. Does not approve claims, disburse insurance payments, or make final policyholder determinations.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Import claimant loss itemizations listing asserted storm dates, damaged assets, and contractor quotes.

  • Fetch OpenFEMA DisasterDeclarationsSummaries via the REST API to confirm declared incident periods and county coverage.

  • Reconcile asserted claim dates against certified disaster declaration start and end date envelopes.

  • Draft structured claimant status letters detailing verified loss items and required supporting receipts.

Resources and assets

Reference links and supporting material

Dataset notes

Query https://www.fema.gov/api/open/v2/DisasterDeclarationsSummaries with filtering parameters or replay normalized JSON responses. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Anthropic Claude

LLM for code generation & more

Evaluated output

No output checks are configured.

Evaluation checks
  • Import claimant loss itemizations listing asserted storm dates, damaged assets, and contractor quotes. Fetc...
  • Verifies claim date falls within OpenFEMA incident start and end bounds for the specified county. Separates...
  • Web interface providing side-by-side comparison of claimed loss entries against FEMA disaster incident reco...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 1 configured tool

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Anthropic Claude · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a Storm Surge Loss Ledger Reconciler and Claimant Drafter