2026-09-18 · Economy
OpenFEMA lists 1,134 HMA subapplications for Puerto Rico
El 18 de septiembre de 2026, el estante correcto para seguir la mitigación en Puerto Rico no es un comunicado de generadores: es el dataset abierto HMA Subapplications v2 de OpenFEMA. La ficha institucional —https://www.fema.gov/openfema-data-page/hma-subapplications-v2— describe el conjunto como subaplicaciones y subgrants de Hazard Mitigation Assistance (HMA) provenientes de FEMA GO, NEMIS Mitigation y eGrants, más enmiendas a subgrants adjudicados. Consultamos el endpoint /api/open/v2/HmaSubapplications con filtro subapplicantStateAbbreviation eq 'PR'. La metadata del API reportó rundate 2026-09-17T22:32:38.343Z (hora del servidor; en Asia/Bangkok es 18 sep 2026 de madrugada) y un conteo de 1,134 filas para Puerto Rico frente a 63,558 a nivel nacional. Conteo de filas ≠ billion desembolsado.
El diccionario de campos de OpenFEMA (DataSetFields, versión 2) obliga a separar verbos. federalShareAmount es el cost share en dólares solicitado o aprobado para que lo cubra FEMA. totalSubapplicationAmount es el total solicitado o aprobado de la subaplicación. totalObligatedAmount es el total federal obligado —OpenFEMA aclara que las obligaciones se ejecutan por incrementos según el presupuesto. totalPaymentAmount es el total de pagos (reembolsos de costos elegibles solicitados por el applicant/recipient). Obligated ≠ payment/disbursed ≠ federal share “en papel” ≠ awarded en un press release. Mezclar esas cuatro columnas es el error que convierte un dataset de mitigación en un titular falso de “billion perdido”.
Para las 1,134 filas de PR, la suma de federalShareAmount alcanza $5,378,839,483.10 y la de totalSubapplicationAmount $6,734,513,532.26. Solo 707 filas tienen valor numérico usable en totalObligatedAmount, y esa suma baja a $770,066,172.42. En totalPaymentAmount, apenas 159 filas aportan cifra y suman $274,766,526.90. Es decir: la columna de “cuánto se pidió/aprobó como share federal” es un orden de magnitud mayor que la obligación acumulada, y la obligación es a su vez mayor que los pagos registrados en el dataset. Eso no prueba hurto; prueba etapas. El periodista que sume federalShare y lo venda como “ya pagado” inventa un desembolso que el propio OpenFEMA no afirma.
Por programa, el paisaje es desigual. Hazard Mitigation Grant Program concentra 938 filas; Pre-Disaster Mitigation 140; Flood Mitigation Assistance 30; Building Resilient Infrastructure and Communities (BRIC) 26. HMGP sigue siendo el volumen post-desastre; BRIC y FMA son carteras más pequeñas en este snapshot de subaplicaciones. Decir “FEMA no mitiga en PR” porque BRIC tenga 26 filas ignora las 938 de HMGP. Decir lo contrario —que “todo es BRIC”— también miente al dataset.
El campo status muestra la etapa en el sistema, no la calidad de la obra. En PR: Approved 589, Pending 188, Void 133, Closed 109, Not Approved / Denied 51, Withdrawn 21, Not Selected 15, Not Approved 13, Ineligible 7, Submitted to FEMA 7, Completed 1. Approved ≠ Closed ≠ Completed. Void y Withdrawn no son “robo”: son estados del workflow. Pending no es “FEMA esconde el money”; es fila aún en trámite. El reportero debe citar el status literal del API, no traducir Pending a “bloqueado por Washington” sin evidencia adicional.
Por tipo de subaplicación: Project 585, Pending 292 (como tipo), Plan 203, Management cost 29, 5% initiative 24, Project scoping 1. Los planes de mitigación y los management costs importan porque condicionan o administran la cartera, pero no deben sumarse con un proyecto de flood control como si fueran la misma obra física. Primary activity lidera con Flood control (216), Retrofit (191), Generator (145), New plan (143) y Utility and infrastructure protection (109). Primary hazard, cuando está poblado, apunta a Hurricane (178), Flood (169), Severe Storm(s) (155) y Tropical Cyclones (139). Esas etiquetas son del dataset, no de un sondeo callejero.
El desastre que más filas arrastra es DR-4339 (María) con 476. Siguen filas sin disasterNumber (196, típicas de programas no atados a un DR), 4473 (terremotos) con 108, 4671 (Fiona) con 60, y luego 4017, 1798, 1552, 4850 (Ernesto) y 4805. Fiscal year 2017 aporta 484 filas —el pico María—; 2020 aporta 132. Cruzar FY con DR evita el error de atribuir a Fiona una subaplicación de 2017.
Entre las mayores totalObligatedAmount de PR aparecen, sin inventar renglones ajenos al API: DR-4339-0012-F (Warning system, PR Electric Power Authority) con obligación $104,975,311.35 y payment $72,557,965.56; DR-4339-0001-F (Codes and standards, Statewide) con $79,480,008 obligado y $39,519,128.74 en payments; DR-4339-0323-R (Retrofit, PR Department of Education) con $52,993,151.40 obligado y payment null en el snapshot; DR-4339-0003-M (Management costs, Statewide) con $52,269,463 obligado y $52,199,906.85 pagado. También figuran AAA (DR-4339-0132-R, Utility and infrastructure protection, obligación $38,750,238.92, payment $12,170,104.14) y Public Building Authority (DR-4339-0133-R). En cada caso, federalShareAmount del mismo registro puede ser mucho mayor que lo obligado: en Educación, por ejemplo, el share federal del dataset supera los $300 million mientras la obligación ronda $53 million. Eso es la lección de columnas, no un “agujero” inventado.
Cómo usarlo en la libreta boricua: (1) fije el filtro subapplicantStateAbbreviation eq 'PR' o el nombre completo del estado; (2) exporte status y program antes de sumar dólares; (3) cite siempre cuál de las cuatro métricas de dinero está usando; (4) no confunda este dataset con Public Assistance Funded Projects ni con IHP; (5) recuerde que FEMA GO, NEMIS y eGrants alimentan la misma ficha —el campo de fuente importa cuando compare con el dataset legacy de HMA Projects. Cousin: 753 (índice OpenFEMA Data Sets). Topic: economy. Fuente primaria: OpenFEMA HMA Subapplications v2.