2026-09-15 · 经济
FEMA每笔拨款义务只是一次动作,不是整个项目
On September 15, 2026, the dataset that allows seeing the timeline of Public Assistance obligations —not just the Project Worksheet balance— is Public Assistance Grant Award Activities v2. The Entity Name is PublicAssistanceGrantAwardActivities. The endpoint is https://www.fema.gov/api/open/v2/PublicAssistanceGrantAwardActivities. Update Frequency R/P1D. Category: Public Assistance. Program URL: fema.gov/assistance/public. It is not Funded Projects Details v2 (cousin 749), which lists the already obligated PW with federalShareObligated and totalObligated aggregated. Award Activities breaks the same universe into obligation events: date, amount of that obligation, PW version, eligibility status, and funding status. A PW can have multiple rows here. Summing rows without grouping by pwNumber + disasterNumber + applicantId produces double counting.
The dataset page, in the description that OpenFEMA publishes, says that it contains "data on Public Assistance project awards (obligations), including the project obligation date(s); dollar amount of Federal Share Obligated for each project and its obligation date(s); FEMA Region; State; Disaster Declaration Number; descriptive cause of the declaration (Incident Type); Entity requesting public assistance (Applicant Name); and distinct name for the repair, replacement or mitigation work listed for assistance (Project Title)." And he adds the note that should go on each redaction graph: "FEMA obligates funding for a project directly to the Recipient (State or Tribe). It is the Recipient's responsibility to ensure that the eligible subrecipient (listed in the dataset as Applicant Name) receives the award funding." In Puerto Rico the Recipient is the Government / COR3; The Applicant Name can be a municipality, DTOP, PREPA, the Ports Authority or a PNP. Obligated to Recipient ≠ disbursed to Applicant ≠ paid to contractor.
The field dictionary (OpenFemaDataSetFields, datasetVersion 2) confirms the grammar. federalShareObligated is “The Public Assistance Grant award amount obligated for the subgrantee's approved Project Worksheet (PW).” It can represent “only a portion of the Total Federal Share Obligated amount for the PW.” “This amount does not reflect previous or subsequent obligations.” It may contain De-Obligations (negative adjustments) and $0 obligations, “generally administrative in nature but … part of the project's cradle to serious work flow process.” dateObligated is “Date the grant was provided to the recipient.” versionNumber starts at 0. eligibilityStatus: E Eligible, P Pending, I Ineligible, C Cancelled. fundingStatus: O Obligated, S Signed (for $0 obligations), N Not Obligated. paCloseoutStatus: O Open, C Closed. damageCategoryCode uses the classic PA categories (A debris, B emergency protective measures, C roads and bridges, E buildings and equipment, F utilities, G parks/other). A living example of the API (not PR): Moylan Township, Minnesota, DR-4659, category C, federalShareObligated 7984.5, dateObligated 2022-12-13, fundingStatus O, paCloseoutStatus O. It is used to see the shape of the queue, not to talk about the Island.
For Puerto Rico, the filter field is stateAbbreviation eq 'PR' (or state eq 'Puerto Rico' if using the full name that the model stores). Filtering state eq 'PR' returns zero because “PR” is not the value of state; it is that of stateAbbreviation. That OData trap has already resulted in “no Puerto Rico data” in drafts that did not read the data dictionary. This note does not publish a count of PR rows of Award Activities because an audited $inlinecount on the correct field was not completed in the window of this edition; the journalist running it should note rundate, filter, and that each row is an obligation event, not a unique PW. For PW totals, the Details dataset (749) is recommended, and cross-reference by applicantId.
How to read Award Activities alongside NR-646 (cousin 758) and OIG-25-39 (cousin 760). The press release of July 9, 2026 talks about awarding $95.1 million PA and lists docks, a bridge, sewers, and roads. Award Activities allows you to ask whether, for the applicantName Puerto Rico Port Authority or Department of Transportation and Public Works, there exists a dateObligated after July 9 and a federalShareObligated that resembles the amount of the press release — without demanding cent-by-cent equality, because an announcement can aggregate several PWs or versions. The OIG, by saying that $3.7 billion of available permanent work funding had not been obligated for construction as of February 2025, talks about a cutoff and a category (permanent work / construction) that this dataset does not label with those words: here there are damageCategoryCode, eligibilityStatus, and fundingStatus. Cross-referencing is not translating.
Table rules to avoid inflating billions. (1) Never sum federalShareObligated from Award Activities and call it “Puerto Rico’s PA” without grouping, without excluding de-obligations, and without noting that the field is an event. (2) Never treat a $0 row or a negative de-obligation as “FEMA canceled the project” without reading versionNumber and paCloseoutStatus. (3) Never confuse Recipient with Applicant. (4) Never mix this dataset with IHP Valid Registrations or with HUD’s CDBG-DR. (5) Cite the OpenFEMA page and the rundate. The Caribbean value is from the log: it allows reconstructing when FEMA obligated the Recipient for each piece of a bridge in Culebra or a dock in San Juan, and when that obligation had not yet moved. Cousin: 749. Topic: economy. Primary source: OpenFEMA Public Assistance Grant Award Activities v2.