-
- Audit firm/organization address
-
+ Audit firm/organization address
diff --git a/backend/report_submission/templates/report_submission/step-3.html b/backend/report_submission/templates/report_submission/step-3.html
index 91a6698114..687d3729c8 100644
--- a/backend/report_submission/templates/report_submission/step-3.html
+++ b/backend/report_submission/templates/report_submission/step-3.html
@@ -57,6 +57,7 @@
An email address should have a username, an '@' symbol, and a domain name
+ {{ certifiers_emails_must_not_match }}
+ data-validate-email=""
+ data-validate-must-not-match="certifying_auditor_contact_email"/>
@@ -133,6 +135,7 @@
An email address should have a username, an '@' symbol, and a domain name
+ {{ certifiers_emails_must_not_match }}
+ data-validate-email=""
+ data-validate-must-not-match="certifying_auditee_contact_email"/>
diff --git a/backend/report_submission/test_views.py b/backend/report_submission/test_views.py
index 3652d661a1..857cf9b379 100644
--- a/backend/report_submission/test_views.py
+++ b/backend/report_submission/test_views.py
@@ -457,9 +457,19 @@ def test_get_valid_audit_returns_populated_form(self):
# assert that the text fields are populated in the returned form
for field in text_fields:
- value = sac.general_information[field]
-
- self.assertEqual(response.context[field], value)
+ if (
+ field != "auditee_fiscal_period_start"
+ and field != "auditee_fiscal_period_end"
+ ):
+ value = sac.general_information[field]
+ self.assertEqual(response.context[field], value)
+ else:
+ # These are stored in YYYY-MM-DD but get sent as MM/DD/YYYY, so they get special treatment.
+ stored_value = sac.general_information[field]
+ formatted_field = datetime.strptime(
+ response.context[field], "%m/%d/%Y"
+ ).strftime("%Y-%m-%d")
+ self.assertEqual(stored_value, formatted_field)
def test_post_requires_login(self):
"""Requests to the POST endpoint require the user to be authenticated"""
@@ -522,8 +532,8 @@ def test_post_updates_fields(self, foreign_auditor=False):
data = {
"audit_type": "single-audit",
- "auditee_fiscal_period_start": "2021-11-01",
- "auditee_fiscal_period_end": "2022-11-01",
+ "auditee_fiscal_period_start": "11/01/2021",
+ "auditee_fiscal_period_end": "11/01/2022",
"audit_period_covered": "other",
"audit_period_other_months": "10",
"ein": "123456780",
@@ -546,7 +556,7 @@ def test_post_updates_fields(self, foreign_auditor=False):
"auditor_ein_not_an_ssn_attestation": True,
"auditor_contact_name": "Qualified Robot Accountant",
"auditor_contact_title": "Just an extraordinary person",
- "auditor_phone": "0008675310",
+ "auditor_phone": "9876543210",
"auditor_email": "qualified.robot.accountant@dollarauditstore.com",
}
if foreign_auditor:
@@ -574,9 +584,24 @@ def test_post_updates_fields(self, foreign_auditor=False):
updated_sac = SingleAuditChecklist.objects.get(pk=sac.id)
for field in data:
- self.assertEqual(
- getattr(updated_sac, field), data[field], f"mismatch for field: {field}"
- )
+ if (
+ field != "auditee_fiscal_period_start"
+ and field != "auditee_fiscal_period_end"
+ ):
+ self.assertEqual(
+ getattr(updated_sac, field),
+ data[field],
+ f"mismatch for field: {field}",
+ )
+ else:
+ # These are stored in YYYY-MM-DD but are sent as MM/DD/YYYY, so they get special treatment.
+ stored_value = getattr(updated_sac, field)
+ formatted_field = datetime.strptime(data[field], "%m/%d/%Y").strftime(
+ "%Y-%m-%d"
+ )
+ self.assertEqual(
+ stored_value, formatted_field, f"mismatch for field: {field}"
+ )
submission_events = SubmissionEvent.objects.filter(sac=sac)
@@ -604,12 +629,13 @@ def test_post_requires_fields(self):
# submit a bad date format for auditee_fiscal_period_start to verify that the input is being validated
data = {
- "auditee_fiscal_period_start": "2023-01-01",
+ "auditee_fiscal_period_start": "Not a date",
}
+ # Post will redirect back to the page with an error message above the relevant date field
response = self.client.post(url, data=data)
- self.assertEqual(response.status_code, 400)
+ self.assertContains(response, "Dates should be in the format")
def test_post_validates_general_information(self):
"""When the general information form is submitted, the data should be validated against the general information schema"""
@@ -660,6 +686,7 @@ def test_post_validates_general_information(self):
"auditor_email": "qualified.robot.accountant@dollarauditstore.com",
}
+ # Post will redirect back to the page with an error message above the relevant date field
response = self.client.post(url, data=data)
- self.assertEqual(response.status_code, 400)
+ self.assertContains(response, "Dates should be in the format")
diff --git a/backend/report_submission/views.py b/backend/report_submission/views.py
index 4d8965ae0e..c719b68b0e 100644
--- a/backend/report_submission/views.py
+++ b/backend/report_submission/views.py
@@ -1,4 +1,5 @@
import logging
+from datetime import datetime
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import BadRequest, PermissionDenied, ValidationError
@@ -6,15 +7,16 @@
from django.urls import reverse
from django.views import View
+import api.views
+
+from audit.cross_validation.naming import NC, SECTION_NAMES as SN
from audit.models import Access, SingleAuditChecklist, LateChangeError, SubmissionEvent
from audit.validators import validate_general_information_json
-from report_submission.forms import AuditeeInfoForm, GeneralInformationForm
-
-import api.views
-
from config.settings import STATIC_SITE_URL, STATE_ABBREVS
+from report_submission.forms import AuditeeInfoForm, GeneralInformationForm
+
logger = logging.getLogger(__name__)
@@ -98,11 +100,13 @@ def post(self, post_request):
result = api.views.access_and_submission_check(
post_request.user, post_request.POST
)
+
report_id = result.get("report_id")
if report_id:
return redirect(f"/report_submission/general-information/{report_id}")
- return redirect(reverse("report_submission:accessandsubmission"))
+ else:
+ return redirect(reverse("report_submission:accessandsubmission"))
class GeneralInformationFormView(LoginRequiredMixin, View):
@@ -157,6 +161,8 @@ def get(self, request, *args, **kwargs):
"state_abbrevs": STATE_ABBREVS,
}
+ context = self._dates_to_slashes(context)
+
return render(request, "report_submission/gen-form.html", context)
except SingleAuditChecklist.DoesNotExist as err:
raise PermissionDenied("You do not have access to this audit.") from err
@@ -178,13 +184,19 @@ def post(self, request, *args, **kwargs):
form = GeneralInformationForm(request.POST)
if not form.is_valid():
+ context = form.cleaned_data | {
+ "errors": form.errors,
+ "report_id": report_id,
+ "state_abbrevs": STATE_ABBREVS,
+ }
message = ""
for field, errors in form.errors.items():
message = f"{message}\n {field}: {errors}"
logger.warning(f"Error {field}: {errors}")
- raise BadRequest(message)
+ return render(request, "report_submission/gen-form.html", context)
form = self._wipe_auditor_address(form)
+ form.cleaned_data = self._dates_to_hyphens(form.cleaned_data)
general_information = sac.general_information
general_information.update(form.cleaned_data)
validated = validate_general_information_json(general_information)
@@ -202,12 +214,59 @@ def post(self, request, *args, **kwargs):
raise PermissionDenied("You do not have access to this audit.") from err
except ValidationError as err:
message = f"ValidationError for report ID {report_id}: {err.message}"
- print(message)
raise BadRequest(message)
except LateChangeError:
return render(request, "audit/no-late-changes.html")
+ except Exception as err:
+ message = f"Unexpected error in GeneralInformationFormView post. Report ID {report_id}"
+ logger.warning(message)
+ raise err
+
+ def _dates_to_slashes(self, data):
+ """
+ Given a general_information object containging both auditee_fiscal_period_start
+ and auditee_fiscal_period_start, convert YYYY-MM-DD to MM/DD/YYYY for display.
+ """
+ try:
+ datetime_object_start = datetime.strptime(
+ data.get("auditee_fiscal_period_start", ""), "%Y-%m-%d"
+ )
+ datetime_object_end = datetime.strptime(
+ data.get("auditee_fiscal_period_end", ""), "%Y-%m-%d"
+ )
+ data["auditee_fiscal_period_start"] = datetime_object_start.strftime(
+ "%m/%d/%Y"
+ )
+ data["auditee_fiscal_period_end"] = datetime_object_end.strftime("%m/%d/%Y")
+ except Exception:
+ return data
+ return data
+
+ def _dates_to_hyphens(self, data):
+ """
+ Given a general_information object containging both auditee_fiscal_period_start
+ and auditee_fiscal_period_start, convert MM/DD/YYYY to YYYY-MM-DD for storage.
+ """
+ try:
+ datetime_object_start = datetime.strptime(
+ data.get("auditee_fiscal_period_start", ""), "%m/%d/%Y"
+ )
+ datetime_object_end = datetime.strptime(
+ data.get("auditee_fiscal_period_end", ""), "%m/%d/%Y"
+ )
+ data["auditee_fiscal_period_start"] = datetime_object_start.strftime(
+ "%Y-%m-%d"
+ )
+ data["auditee_fiscal_period_end"] = datetime_object_end.strftime("%Y-%m-%d")
+ except Exception:
+ return data
+ return data
def _wipe_auditor_address(self, form):
+ """
+ Given a general_information form object containing auditor_country, wipe
+ unnecessary address data depending on its value.
+ """
# If non-USA is selected, wipe USA-specific fields
# Else, wipe the non-USA specific field
keys_to_wipe = [
@@ -216,7 +275,7 @@ def _wipe_auditor_address(self, form):
"auditor_state",
"auditor_zip",
]
- if form.cleaned_data["auditor_country"] == "non-USA":
+ if form.cleaned_data.get("auditor_country") == "non-USA":
for key in keys_to_wipe:
form.cleaned_data[key] = ""
else:
@@ -238,7 +297,7 @@ def get(self, request, *args, **kwargs):
"view_id": "federal-awards",
"view_name": "Federal awards",
"instructions": "Enter the federal awards you received in the last audit year using the provided worksheet.",
- "DB_id": "federal_awards",
+ "DB_id": SN[NC.FEDERAL_AWARDS].snake_case,
"instructions_url": instructions_base_url + "federal-awards/",
"workbook_url": workbook_base_url + "federal-awards-workbook.xlsx",
},
@@ -246,7 +305,7 @@ def get(self, request, *args, **kwargs):
"view_id": "notes-to-sefa",
"view_name": "Notes to SEFA",
"instructions": "Enter the notes on the Schedule of Expenditures of Federal Awards (SEFA) using the provided worksheet.",
- "DB_id": "notes_to_sefa",
+ "DB_id": SN[NC.NOTES_TO_SEFA].snake_case,
"instructions_url": instructions_base_url + "notes-to-sefa/",
"workbook_url": workbook_base_url + "notes-to-sefa-workbook.xlsx",
},
@@ -254,7 +313,7 @@ def get(self, request, *args, **kwargs):
"view_id": "audit-findings",
"view_name": "Audit findings",
"instructions": "Enter the audit findings for your federal awards using the provided worksheet.",
- "DB_id": "findings_uniform_guidance",
+ "DB_id": SN[NC.FINDINGS_UNIFORM_GUIDANCE].snake_case,
"instructions_url": instructions_base_url
+ "federal-awards-audit-findings/",
"no_findings_disclaimer": True,
@@ -265,7 +324,7 @@ def get(self, request, *args, **kwargs):
"view_id": "audit-findings-text",
"view_name": "Audit findings text",
"instructions": "Enter the text for your audit findings using the provided worksheet.",
- "DB_id": "findings_text",
+ "DB_id": SN[NC.FINDINGS_TEXT].snake_case,
"instructions_url": instructions_base_url
+ "federal-awards-audit-findings-text/",
"no_findings_disclaimer": True,
@@ -276,7 +335,7 @@ def get(self, request, *args, **kwargs):
"view_id": "cap",
"view_name": "Corrective Action Plan (CAP)",
"instructions": "Enter your CAP text using the provided worksheet.",
- "DB_id": "corrective_action_plan",
+ "DB_id": SN[NC.CORRECTIVE_ACTION_PLAN].snake_case,
"instructions_url": instructions_base_url + "corrective-action-plan/",
"no_findings_disclaimer": True,
"workbook_url": workbook_base_url
@@ -286,6 +345,7 @@ def get(self, request, *args, **kwargs):
"view_id": "additional-ueis",
"view_name": "Additional UEIs",
"instructions": "Enter any additional UEIs using the provided worksheet.",
+ "DB_id": SN[NC.ADDITIONAL_UEIS].snake_case,
"instructions_url": instructions_base_url + "additional-ueis-workbook/",
"workbook_url": workbook_base_url + "additional-ueis-workbook.xlsx",
},
@@ -293,6 +353,7 @@ def get(self, request, *args, **kwargs):
"view_id": "secondary-auditors",
"view_name": "Secondary auditors",
"instructions": "Enter any additional auditors using the provided worksheet.",
+ "DB_id": SN[NC.SECONDARY_AUDITORS].snake_case,
"instructions_url": instructions_base_url
+ "secondary-auditors-workbook/",
"workbook_url": workbook_base_url + "secondary-auditors-workbook.xlsx",
@@ -301,6 +362,7 @@ def get(self, request, *args, **kwargs):
"view_id": "additional-eins",
"view_name": "Additional EINs",
"instructions": "Enter any additional EINs using the provided worksheet.",
+ "DB_id": SN[NC.ADDITIONAL_EINS].snake_case,
"instructions_url": instructions_base_url + "additional-eins-workbook/",
"workbook_url": workbook_base_url + "additional-eins-workbook.xlsx",
},
diff --git a/backend/requirements.txt b/backend/requirements.txt
index ae999d18ef..9c4cfb60b1 100644
--- a/backend/requirements.txt
+++ b/backend/requirements.txt
@@ -1,8 +1,8 @@
#
-# This file is autogenerated by pip-compile with Python 3.10
+# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
-# pip-compile --allow-unsafe --config=pyproject.toml --generate-hashes --output-file=requirements.txt ./requirements/requirements.in
+# pip-compile --allow-unsafe --generate-hashes --output-file=requirements.txt ./requirements/requirements.in
#
annotated-types==0.5.0 \
--hash=sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802 \
@@ -21,7 +21,9 @@ attrs==23.1.0 \
boto3==1.28.27 \
--hash=sha256:8da9621931291b6c261fdaae465f05737c16519b9667d8463181cb8b88444572 \
--hash=sha256:a336cf53a6d86ee6d27b2f6d8b78ec9b320209127e5126359881bbd68f33d0b9
- # via -r ./requirements/requirements.in
+ # via
+ # -r ./requirements/requirements.in
+ # django-storages
botocore==1.31.27 \
--hash=sha256:13af1588023750c9bc66d202bb5a934c9412a7dc52587532264ab725c42c2c50 \
--hash=sha256:739d09e13751e3b9b0f341b5ffe5bf8d0452b8769d435c4084ee88739d42b7f7
@@ -230,6 +232,7 @@ django==4.2.4 \
# dj-database-url
# django-cors-headers
# django-csp
+ # django-dbbackup
# django-storages
# djangorestframework
# djangorestframework-simplejwt
@@ -245,11 +248,15 @@ django-csp==3.7 \
--hash=sha256:01443a07723f9a479d498bd7bb63571aaa771e690f64bde515db6cdb76e8041a \
--hash=sha256:01eda02ad3f10261c74131cdc0b5a6a62b7c7ad4fd017fbefb7a14776e0a9727
# via -r ./requirements/requirements.in
+django-dbbackup==4.0.2 \
+ --hash=sha256:1874d684abc22260972a67668a6db3331b24d7e1e8af89eaffdcd61eb27dbc2a \
+ --hash=sha256:3ccde831f1a8268fb031b37a8e7e2de3abb556623023af1e859cd7104c09ea2a
+ # via -r ./requirements/requirements.in
django-fsm==2.8.1 \
--hash=sha256:e2c02cbf273fb9691aa9a907c29990afdd21a4adea09c5640344c93fbe03f8d9 \
--hash=sha256:fd9f8de9f33188e50f876ce53908fbd7289e5031a44ffdb97d43909e56699ef8
# via -r ./requirements/requirements.in
-django-storages==1.13.2 \
+django-storages[boto3]==1.13.2 \
--hash=sha256:31dc5a992520be571908c4c40d55d292660ece3a55b8141462b4e719aa38eab3 \
--hash=sha256:cbadd15c909ceb7247d4ffc503f12a9bec36999df8d0bef7c31e57177d512688
# via -r ./requirements/requirements.in
@@ -343,7 +350,9 @@ greenlet==2.0.2 \
--hash=sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19 \
--hash=sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1 \
--hash=sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526
- # via -r ./requirements/requirements.in
+ # via
+ # -r ./requirements/requirements.in
+ # sqlalchemy
gunicorn==21.2.0 \
--hash=sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0 \
--hash=sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033
@@ -816,6 +825,7 @@ pytz==2023.3 \
--hash=sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588 \
--hash=sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb
# via
+ # django-dbbackup
# djangorestframework
# pandas
pyyaml==6.0.1 \
@@ -1040,7 +1050,6 @@ typing-extensions==4.7.1 \
--hash=sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36 \
--hash=sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2
# via
- # asgiref
# dj-database-url
# pydantic
# pydantic-core
@@ -1049,7 +1058,9 @@ typing-extensions==4.7.1 \
tzdata==2023.3 \
--hash=sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a \
--hash=sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda
- # via pandas
+ # via
+ # django
+ # pandas
uritemplate==4.1.1 \
--hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \
--hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e
diff --git a/backend/requirements/dev-requirements.in b/backend/requirements/dev-requirements.in
index 06d281e5bc..9c1ce2577d 100644
--- a/backend/requirements/dev-requirements.in
+++ b/backend/requirements/dev-requirements.in
@@ -14,5 +14,6 @@ toml
types-python-slugify
types-requests
whitenoise
+xkcdpass
tblib
django-debug-toolbar
\ No newline at end of file
diff --git a/backend/requirements/requirements.in b/backend/requirements/requirements.in
index 338e6582fc..6f1d73ce48 100644
--- a/backend/requirements/requirements.in
+++ b/backend/requirements/requirements.in
@@ -3,7 +3,8 @@ cfenv
cryptography>=41.0.2
django-cors-headers
django-csp
-django-storages
+django-dbbackup
+django-storages[boto3]
Django>=4.2.3
djangorestframework
djangorestframework-simplejwt
diff --git a/backend/schemas/.gitignore b/backend/schemas/.gitignore
deleted file mode 100644
index 28bd9dba47..0000000000
--- a/backend/schemas/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-#*.xlsx
-#*.xlsx#
diff --git a/backend/schemas/output/excel/json/notes-to-sefa-workbook.json b/backend/schemas/output/excel/json/notes-to-sefa-workbook.json
index f8f6049daf..b6cf66d8dd 100644
--- a/backend/schemas/output/excel/json/notes-to-sefa-workbook.json
+++ b/backend/schemas/output/excel/json/notes-to-sefa-workbook.json
@@ -138,7 +138,7 @@
},
{
"header_height": 100,
- "hide_col_from": 3,
+ "hide_col_from": 4,
"name": "AdditionalNotes",
"open_ranges": [
{
@@ -169,6 +169,24 @@
},
"width": 56
},
+ {
+ "help": {
+ "link": "https://fac.gov/documentation/validation/#yorn",
+ "text": "This field must be either `Y` or `N`"
+ },
+ "range_name": "contains_chart_or_table",
+ "title": "Did Text Contain a Chart or Table?",
+ "title_cell": "C1",
+ "type": "yorn_range",
+ "validation": {
+ "allow_blank": "False",
+ "custom_error": "Must be 'Y' or 'N'",
+ "custom_title": "Y/N",
+ "formula1": "\"Y,N\"",
+ "type": "list"
+ },
+ "width": 36
+ },
{
"formula": "=IF(A{0}<>\"\", ROW()-1, \"\")",
"help": {
@@ -178,7 +196,7 @@
"keep_locked": true,
"range_name": "seq_number",
"title": "Sequence number (Read Only)",
- "title_cell": "C1",
+ "title_cell": "D1",
"type": "open_range",
"validation": {
"type": "NOVALIDATION"
diff --git a/backend/schemas/output/excel/xlsx/additional-eins-workbook.xlsx b/backend/schemas/output/excel/xlsx/additional-eins-workbook.xlsx
index 8b6cb9bfb3..4e6300ed6e 100644
Binary files a/backend/schemas/output/excel/xlsx/additional-eins-workbook.xlsx and b/backend/schemas/output/excel/xlsx/additional-eins-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/additional-ueis-workbook.xlsx b/backend/schemas/output/excel/xlsx/additional-ueis-workbook.xlsx
index 454cb16342..b364f222bb 100644
Binary files a/backend/schemas/output/excel/xlsx/additional-ueis-workbook.xlsx and b/backend/schemas/output/excel/xlsx/additional-ueis-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/audit-findings-text-workbook.xlsx b/backend/schemas/output/excel/xlsx/audit-findings-text-workbook.xlsx
index dd372c212a..657d46c20f 100644
Binary files a/backend/schemas/output/excel/xlsx/audit-findings-text-workbook.xlsx and b/backend/schemas/output/excel/xlsx/audit-findings-text-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/corrective-action-plan-workbook.xlsx b/backend/schemas/output/excel/xlsx/corrective-action-plan-workbook.xlsx
index 00ef02f131..99b4a93e66 100644
Binary files a/backend/schemas/output/excel/xlsx/corrective-action-plan-workbook.xlsx and b/backend/schemas/output/excel/xlsx/corrective-action-plan-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/federal-awards-audit-findings-workbook.xlsx b/backend/schemas/output/excel/xlsx/federal-awards-audit-findings-workbook.xlsx
index b6dae3139b..760db8953d 100644
Binary files a/backend/schemas/output/excel/xlsx/federal-awards-audit-findings-workbook.xlsx and b/backend/schemas/output/excel/xlsx/federal-awards-audit-findings-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/federal-awards-workbook.xlsx b/backend/schemas/output/excel/xlsx/federal-awards-workbook.xlsx
index 5455cfd911..19dff6842a 100644
Binary files a/backend/schemas/output/excel/xlsx/federal-awards-workbook.xlsx and b/backend/schemas/output/excel/xlsx/federal-awards-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/notes-to-sefa-workbook.xlsx b/backend/schemas/output/excel/xlsx/notes-to-sefa-workbook.xlsx
index d84fb0e6d9..10769e1016 100644
Binary files a/backend/schemas/output/excel/xlsx/notes-to-sefa-workbook.xlsx and b/backend/schemas/output/excel/xlsx/notes-to-sefa-workbook.xlsx differ
diff --git a/backend/schemas/output/excel/xlsx/secondary-auditors-workbook.xlsx b/backend/schemas/output/excel/xlsx/secondary-auditors-workbook.xlsx
index 6ceea33de8..590844f688 100644
Binary files a/backend/schemas/output/excel/xlsx/secondary-auditors-workbook.xlsx and b/backend/schemas/output/excel/xlsx/secondary-auditors-workbook.xlsx differ
diff --git a/backend/schemas/output/sections/GeneralInformation.schema.json b/backend/schemas/output/sections/GeneralInformation.schema.json
index 79d498b89b..fef7349ed9 100644
--- a/backend/schemas/output/sections/GeneralInformation.schema.json
+++ b/backend/schemas/output/sections/GeneralInformation.schema.json
@@ -71,73 +71,88 @@
"then": {
"properties": {
"auditor_state": {
- "description": "US States 2-letter abbreviations",
- "enum": [
- "AL",
- "AK",
- "AS",
- "AZ",
- "AR",
- "CA",
- "CO",
- "CT",
- "DE",
- "DC",
- "FM",
- "FL",
- "GA",
- "GU",
- "HI",
- "ID",
- "IL",
- "IN",
- "IA",
- "KS",
- "KY",
- "LA",
- "ME",
- "MH",
- "MD",
- "MA",
- "MI",
- "MN",
- "MS",
- "MO",
- "MT",
- "NE",
- "NV",
- "NH",
- "NJ",
- "NM",
- "NY",
- "NC",
- "ND",
- "MP",
- "OH",
- "OK",
- "OR",
- "PW",
- "PA",
- "PR",
- "RI",
- "SC",
- "SD",
- "TN",
- "TX",
- "UT",
- "VT",
- "VI",
- "VA",
- "WA",
- "WV",
- "WI",
- "WY"
- ],
- "title": "State"
+ "anyOf": [
+ {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ]
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_zip": {
- "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
- "type": "string"
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
}
}
}
@@ -169,27 +184,43 @@
"metamodel_version": "1.7.0",
"properties": {
"audit_period_covered": {
- "description": "Period type of audit being submitted",
- "enum": [
- "annual",
- "biennial",
- "other"
- ],
- "title": "AuditPeriod",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Period type of audit being submitted",
+ "enum": [
+ "annual",
+ "biennial",
+ "other"
+ ],
+ "title": "AuditPeriod",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"audit_period_other_months": {
+ "maxLength": 100,
"type": "string"
},
"audit_type": {
- "description": "Type of audit being submitted",
- "enum": [
- "program-specific",
- "single-audit",
- "alternative-compliance-engagement"
- ],
- "title": "AuditType",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Type of audit being submitted",
+ "enum": [
+ "program-specific",
+ "single-audit"
+ ],
+ "title": "AuditType",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_address_line_1": {
"maxLength": 100,
@@ -208,15 +239,39 @@
"type": "string"
},
"auditee_email": {
- "format": "email",
+ "oneOf": [
+ {
+ "format": "email"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_fiscal_period_end": {
- "format": "date",
+ "oneOf": [
+ {
+ "format": "date"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_fiscal_period_start": {
- "format": "date",
+ "oneOf": [
+ {
+ "format": "date"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_name": {
@@ -224,73 +279,89 @@
"type": "string"
},
"auditee_phone": {
- "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_state": {
- "description": "US States 2-letter abbreviations",
- "enum": [
- "AL",
- "AK",
- "AS",
- "AZ",
- "AR",
- "CA",
- "CO",
- "CT",
- "DE",
- "DC",
- "FM",
- "FL",
- "GA",
- "GU",
- "HI",
- "ID",
- "IL",
- "IN",
- "IA",
- "KS",
- "KY",
- "LA",
- "ME",
- "MH",
- "MD",
- "MA",
- "MI",
- "MN",
- "MS",
- "MO",
- "MT",
- "NE",
- "NV",
- "NH",
- "NJ",
- "NM",
- "NY",
- "NC",
- "ND",
- "MP",
- "OH",
- "OK",
- "OR",
- "PW",
- "PA",
- "PR",
- "RI",
- "SC",
- "SD",
- "TN",
- "TX",
- "UT",
- "VT",
- "VI",
- "VA",
- "WA",
- "WV",
- "WI",
- "WY"
- ],
- "title": "State"
+ "oneOf": [
+ {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ],
+ "title": "State"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_uei": {
"allOf": [
@@ -311,8 +382,16 @@
"type": "string"
},
"auditee_zip": {
- "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
- "type": "string"
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_address_line_1": {
"maxLength": 100,
@@ -340,28 +419,52 @@
"type": "string"
},
"auditor_ein": {
- "pattern": "^[0-9]{9}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_ein_not_an_ssn_attestation": {
"type": "boolean"
},
"auditor_email": {
- "format": "email",
+ "maxLength": 100,
+ "oneOf": [
+ {
+ "format": "email"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditor_firm_name": {
- "type": "string"
- },
- "auditor_foreign_address": {
+ "maxLength": 100,
"type": "string"
},
"auditor_international_address": {
+ "maxLength": 100,
"type": "string"
},
"auditor_phone": {
- "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_state": {
"anyOf": [
@@ -449,8 +552,16 @@
]
},
"ein": {
- "pattern": "^[0-9]{9}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"ein_not_an_ssn_attestation": {
"type": "boolean"
@@ -471,18 +582,26 @@
"type": "boolean"
},
"user_provided_organization_type": {
- "description": "Org type",
- "enum": [
- "state",
- "local",
- "tribal",
- "higher-ed",
- "non-profit",
- "unknown",
- "none"
- ],
- "title": "OrganizationType",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Org type",
+ "enum": [
+ "state",
+ "local",
+ "tribal",
+ "higher-ed",
+ "non-profit",
+ "unknown",
+ "none"
+ ],
+ "title": "OrganizationType",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
}
},
"title": "GeneralInformation",
diff --git a/backend/schemas/output/sections/GeneralInformationComplete.schema.json b/backend/schemas/output/sections/GeneralInformationComplete.schema.json
new file mode 100644
index 0000000000..618604b04b
--- /dev/null
+++ b/backend/schemas/output/sections/GeneralInformationComplete.schema.json
@@ -0,0 +1,476 @@
+{
+ "$id": "http://example.org/generalinformation",
+ "$schema": "http://json-schema.org/draft/2019-09/schema#",
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "anyOf": [
+ {
+ "if": {
+ "properties": {
+ "audit_period_covered": {
+ "const": "annual"
+ }
+ }
+ },
+ "then": {
+ "audit_period_other_months": {
+ "description": "Empty string or null",
+ "enum": [
+ "",
+ "null"
+ ],
+ "title": "EmptyString_Null"
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "audit_period_covered": {
+ "const": "biennial"
+ }
+ }
+ },
+ "then": {
+ "audit_period_other_months": {
+ "description": "Empty string or null",
+ "enum": [
+ "",
+ "null"
+ ],
+ "title": "EmptyString_Null"
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "audit_period_covered": {
+ "const": "other"
+ }
+ }
+ },
+ "then": {
+ "audit_period_other_months": {
+ "pattern": "^0[0-9]|1[0-8]$",
+ "type": "string"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "if": {
+ "properties": {
+ "auditor_country": {
+ "const": "USA"
+ }
+ }
+ },
+ "then": {
+ "properties": {
+ "auditor_zip": {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ }
+ }
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "auditor_country": {
+ "not": {
+ "const": "USA"
+ }
+ }
+ }
+ },
+ "then": {
+ "properties": {
+ "auditor_zip": {
+ "const": "",
+ "type": "string"
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "ein_not_an_ssn_attestation": {
+ "const": true
+ }
+ }
+ },
+ {
+ "properties": {
+ "auditor_ein_not_an_ssn_attestation": {
+ "const": true
+ }
+ }
+ }
+ ],
+ "metamodel_version": "1.7.0",
+ "properties": {
+ "audit_period_covered": {
+ "description": "Period type of audit being submitted",
+ "enum": [
+ "annual",
+ "biennial",
+ "other"
+ ],
+ "title": "AuditPeriod",
+ "type": "string"
+ },
+ "audit_period_other_months": {
+ "type": "string"
+ },
+ "audit_type": {
+ "description": "Type of audit being submitted",
+ "enum": [
+ "program-specific",
+ "single-audit"
+ ],
+ "title": "AuditType",
+ "type": "string"
+ },
+ "auditee_address_line_1": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_city": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_contact_name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_contact_title": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_email": {
+ "format": "email",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_fiscal_period_end": {
+ "format": "date"
+ },
+ "auditee_fiscal_period_start": {
+ "format": "date"
+ },
+ "auditee_name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditee_phone": {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ "auditee_state": {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ],
+ "title": "State"
+ },
+ "auditee_uei": {
+ "allOf": [
+ {
+ "maxLength": 12,
+ "minLength": 12
+ },
+ {
+ "pattern": "^[A-HJ-NP-Z1-9][A-HJ-NP-Z0-9]+$"
+ },
+ {
+ "pattern": "^(?![A-HJ-NP-Z1-9]+[A-HJ-NP-Z0-9]*?[0-9]{9})[A-HJ-NP-Z0-9]*$"
+ },
+ {
+ "pattern": "^(?![0-9]{9})"
+ }
+ ],
+ "type": "string"
+ },
+ "auditee_zip": {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ "auditor_address_line_1": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_city": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_contact_name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_contact_title": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_country": {
+ "description": "USA or International",
+ "enum": [
+ "USA",
+ "non-USA"
+ ],
+ "title": "CountryType",
+ "type": "string"
+ },
+ "auditor_ein": {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ "auditor_ein_not_an_ssn_attestation": {
+ "type": "boolean"
+ },
+ "auditor_email": {
+ "format": "email",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_firm_name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "auditor_international_address": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "auditor_phone": {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ "auditor_state": {
+ "oneOf": [
+ {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ]
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
+ },
+ "auditor_zip": {
+ "oneOf": [
+ {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
+ },
+ "ein": {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ "ein_not_an_ssn_attestation": {
+ "type": "boolean"
+ },
+ "is_usa_based": {
+ "type": "boolean"
+ },
+ "met_spending_threshold": {
+ "type": "boolean"
+ },
+ "multiple_eins_covered": {
+ "type": "boolean"
+ },
+ "multiple_ueis_covered": {
+ "type": "boolean"
+ },
+ "secondary_auditors_exist": {
+ "type": "boolean"
+ },
+ "user_provided_organization_type": {
+ "description": "Org type",
+ "enum": [
+ "state",
+ "local",
+ "tribal",
+ "higher-ed",
+ "non-profit",
+ "unknown",
+ "none"
+ ],
+ "title": "OrganizationType",
+ "type": "string"
+ }
+ },
+ "required": [
+ "audit_type",
+ "auditee_address_line_1",
+ "auditee_city",
+ "auditee_contact_name",
+ "auditee_contact_title",
+ "auditee_email",
+ "auditee_fiscal_period_end",
+ "auditee_fiscal_period_start",
+ "auditee_name",
+ "auditee_phone",
+ "auditee_state",
+ "auditee_uei",
+ "auditor_contact_name",
+ "auditor_contact_title",
+ "auditor_ein",
+ "auditor_ein_not_an_ssn_attestation",
+ "auditor_email",
+ "auditor_firm_name",
+ "auditor_phone",
+ "auditor_state",
+ "auditor_zip",
+ "ein",
+ "ein_not_an_ssn_attestation",
+ "is_usa_based",
+ "met_spending_threshold",
+ "multiple_eins_covered",
+ "multiple_ueis_covered",
+ "secondary_auditors_exist",
+ "user_provided_organization_type"
+ ],
+ "title": "GeneralInformation",
+ "type": "object",
+ "version": null
+}
diff --git a/backend/schemas/output/sections/GeneralInformationRequired.schema.json b/backend/schemas/output/sections/GeneralInformationRequired.schema.json
index fecf6ed821..b5a7137fc8 100644
--- a/backend/schemas/output/sections/GeneralInformationRequired.schema.json
+++ b/backend/schemas/output/sections/GeneralInformationRequired.schema.json
@@ -71,73 +71,88 @@
"then": {
"properties": {
"auditor_state": {
- "description": "US States 2-letter abbreviations",
- "enum": [
- "AL",
- "AK",
- "AS",
- "AZ",
- "AR",
- "CA",
- "CO",
- "CT",
- "DE",
- "DC",
- "FM",
- "FL",
- "GA",
- "GU",
- "HI",
- "ID",
- "IL",
- "IN",
- "IA",
- "KS",
- "KY",
- "LA",
- "ME",
- "MH",
- "MD",
- "MA",
- "MI",
- "MN",
- "MS",
- "MO",
- "MT",
- "NE",
- "NV",
- "NH",
- "NJ",
- "NM",
- "NY",
- "NC",
- "ND",
- "MP",
- "OH",
- "OK",
- "OR",
- "PW",
- "PA",
- "PR",
- "RI",
- "SC",
- "SD",
- "TN",
- "TX",
- "UT",
- "VT",
- "VI",
- "VA",
- "WA",
- "WV",
- "WI",
- "WY"
- ],
- "title": "State"
+ "anyOf": [
+ {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ]
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_zip": {
- "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
- "type": "string"
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
}
}
}
@@ -169,27 +184,43 @@
"metamodel_version": "1.7.0",
"properties": {
"audit_period_covered": {
- "description": "Period type of audit being submitted",
- "enum": [
- "annual",
- "biennial",
- "other"
- ],
- "title": "AuditPeriod",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Period type of audit being submitted",
+ "enum": [
+ "annual",
+ "biennial",
+ "other"
+ ],
+ "title": "AuditPeriod",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"audit_period_other_months": {
+ "maxLength": 100,
"type": "string"
},
"audit_type": {
- "description": "Type of audit being submitted",
- "enum": [
- "program-specific",
- "single-audit",
- "alternative-compliance-engagement"
- ],
- "title": "AuditType",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Type of audit being submitted",
+ "enum": [
+ "program-specific",
+ "single-audit"
+ ],
+ "title": "AuditType",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_address_line_1": {
"maxLength": 100,
@@ -208,15 +239,39 @@
"type": "string"
},
"auditee_email": {
- "format": "email",
+ "oneOf": [
+ {
+ "format": "email"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_fiscal_period_end": {
- "format": "date",
+ "oneOf": [
+ {
+ "format": "date"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_fiscal_period_start": {
- "format": "date",
+ "oneOf": [
+ {
+ "format": "date"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditee_name": {
@@ -224,73 +279,89 @@
"type": "string"
},
"auditee_phone": {
- "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_state": {
- "description": "US States 2-letter abbreviations",
- "enum": [
- "AL",
- "AK",
- "AS",
- "AZ",
- "AR",
- "CA",
- "CO",
- "CT",
- "DE",
- "DC",
- "FM",
- "FL",
- "GA",
- "GU",
- "HI",
- "ID",
- "IL",
- "IN",
- "IA",
- "KS",
- "KY",
- "LA",
- "ME",
- "MH",
- "MD",
- "MA",
- "MI",
- "MN",
- "MS",
- "MO",
- "MT",
- "NE",
- "NV",
- "NH",
- "NJ",
- "NM",
- "NY",
- "NC",
- "ND",
- "MP",
- "OH",
- "OK",
- "OR",
- "PW",
- "PA",
- "PR",
- "RI",
- "SC",
- "SD",
- "TN",
- "TX",
- "UT",
- "VT",
- "VI",
- "VA",
- "WA",
- "WV",
- "WI",
- "WY"
- ],
- "title": "State"
+ "oneOf": [
+ {
+ "description": "US States 2-letter abbreviations",
+ "enum": [
+ "AL",
+ "AK",
+ "AS",
+ "AZ",
+ "AR",
+ "CA",
+ "CO",
+ "CT",
+ "DE",
+ "DC",
+ "FM",
+ "FL",
+ "GA",
+ "GU",
+ "HI",
+ "ID",
+ "IL",
+ "IN",
+ "IA",
+ "KS",
+ "KY",
+ "LA",
+ "ME",
+ "MH",
+ "MD",
+ "MA",
+ "MI",
+ "MN",
+ "MS",
+ "MO",
+ "MT",
+ "NE",
+ "NV",
+ "NH",
+ "NJ",
+ "NM",
+ "NY",
+ "NC",
+ "ND",
+ "MP",
+ "OH",
+ "OK",
+ "OR",
+ "PW",
+ "PA",
+ "PR",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VT",
+ "VI",
+ "VA",
+ "WA",
+ "WV",
+ "WI",
+ "WY"
+ ],
+ "title": "State"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditee_uei": {
"allOf": [
@@ -311,8 +382,16 @@
"type": "string"
},
"auditee_zip": {
- "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
- "type": "string"
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}(?:[0-9]{4})?$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_address_line_1": {
"maxLength": 100,
@@ -340,28 +419,52 @@
"type": "string"
},
"auditor_ein": {
- "pattern": "^[0-9]{9}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_ein_not_an_ssn_attestation": {
"type": "boolean"
},
"auditor_email": {
- "format": "email",
+ "maxLength": 100,
+ "oneOf": [
+ {
+ "format": "email"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ],
"type": "string"
},
"auditor_firm_name": {
- "type": "string"
- },
- "auditor_foreign_address": {
+ "maxLength": 100,
"type": "string"
},
"auditor_international_address": {
+ "maxLength": 100,
"type": "string"
},
"auditor_phone": {
- "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^^(\\+0?1\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"auditor_state": {
"anyOf": [
@@ -449,8 +552,16 @@
]
},
"ein": {
- "pattern": "^[0-9]{9}$",
- "type": "string"
+ "oneOf": [
+ {
+ "pattern": "^[0-9]{9}$",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
},
"ein_not_an_ssn_attestation": {
"type": "boolean"
@@ -471,18 +582,26 @@
"type": "boolean"
},
"user_provided_organization_type": {
- "description": "Org type",
- "enum": [
- "state",
- "local",
- "tribal",
- "higher-ed",
- "non-profit",
- "unknown",
- "none"
- ],
- "title": "OrganizationType",
- "type": "string"
+ "oneOf": [
+ {
+ "description": "Org type",
+ "enum": [
+ "state",
+ "local",
+ "tribal",
+ "higher-ed",
+ "non-profit",
+ "unknown",
+ "none"
+ ],
+ "title": "OrganizationType",
+ "type": "string"
+ },
+ {
+ "const": "",
+ "type": "string"
+ }
+ ]
}
},
"required": [
diff --git a/backend/schemas/output/sections/NotesToSefa.schema.json b/backend/schemas/output/sections/NotesToSefa.schema.json
index 1501678b52..290084edbe 100644
--- a/backend/schemas/output/sections/NotesToSefa.schema.json
+++ b/backend/schemas/output/sections/NotesToSefa.schema.json
@@ -60,6 +60,13 @@
"items": {
"additionalProperties": false,
"properties": {
+ "contains_chart_or_table": {
+ "enum": [
+ "Y",
+ "N"
+ ],
+ "type": "string"
+ },
"note_content": {
"type": "string"
},
@@ -72,7 +79,8 @@
},
"required": [
"note_title",
- "note_content"
+ "note_content",
+ "contains_chart_or_table"
],
"title": "NotesToSefaEntry"
},
diff --git a/backend/schemas/scripts/parse.py b/backend/schemas/scripts/parse.py
index 21da4cb642..6ef0f9f9b9 100644
--- a/backend/schemas/scripts/parse.py
+++ b/backend/schemas/scripts/parse.py
@@ -15,7 +15,7 @@
Sheet = NT(
"Sheet",
- "name single_cells meta_cells open_ranges mergeable_cells merged_unreachable header_inclusion text_ranges header_height hide_col_from hide_row_from",
+ "name single_cells meta_cells open_ranges header_inclusion text_ranges header_height hide_col_from hide_row_from",
)
Posn = NT(
"Posn",
@@ -163,7 +163,7 @@ def parse_text_range(spec):
def parse_sheet(spec): # noqa: C901
- sc, mtc, opr, mc, mur, hi, tr = None, None, None, None, None, None, None
+ sc, mtc, opr, hi, tr = None, None, None, None, None
name = get(spec, "name", default="Unnamed Sheet")
if "single_cells" in spec:
sc = list(map(parse_single_cell, get(spec, "single_cells", default=[])))
@@ -177,14 +177,6 @@ def parse_sheet(spec): # noqa: C901
opr = list(map(parse_open_range, get(spec, "open_ranges", default=[])))
else:
opr = []
- if "mergeable_cells" in spec:
- mc = list(map(parse_mergeable_cell, get(spec, "mergeable_cells", default=[])))
- else:
- mc = []
- if "merged_unreachable" in spec:
- mur = parse_merged_unreachable(get(spec, "merged_unreachable", default=None))
- else:
- mur = []
if "header_inclusion" in spec:
hi = parse_header_inclusion(get(spec, "header_inclusion"))
else:
@@ -205,7 +197,7 @@ def parse_sheet(spec): # noqa: C901
hrf = get(spec, "hide_row_from")
else:
hrf = None
- return Sheet(name, sc, mtc, opr, mc, mur, hi, tr, hh, hcf, hrf)
+ return Sheet(name, sc, mtc, opr, hi, tr, hh, hcf, hrf)
def parse_spec(spec):
diff --git a/backend/schemas/scripts/render.py b/backend/schemas/scripts/render.py
index 50ae81fce1..7fa5183502 100644
--- a/backend/schemas/scripts/render.py
+++ b/backend/schemas/scripts/render.py
@@ -26,7 +26,7 @@
"name,column,label_row,range_start_row,range_start,abs_range_start,full_range",
)
-MAX_ROWS = 3000
+MAX_ROWS = 5000
XLSX_MAX_ROWS = 1048576 # Excel has a maximum of 1048576 rows
XLSX_MAX_COLS = 16384 # Excel has a maximum of 16384 columns
@@ -83,8 +83,6 @@ def process_spec(WBNT):
print(f"## Processing sheet {ndx+1}")
print("########################")
ws = create_protected_sheet(wb, sheet, password, ndx)
- if sheet.mergeable_cells is not None:
- merge_adjacent_columns(ws, sheet.mergeable_cells)
if sheet.hide_col_from is not None:
hide_all_columns_from(ws, sheet.hide_col_from)
if sheet.hide_row_from is not None:
@@ -144,19 +142,6 @@ def create_protected_sheet(wb, sheet, password, ndx):
return ws
-def merge_adjacent_columns(ws, cell_ranges):
- """
- Merges cells in adjacent columns for each row within the specified range.
- Largely for cosmetic reasons in any given sheet.
- """
- print("---- mergeable_cells ----")
- for cell_range in cell_ranges:
- start_row, end_row, start_column, end_column = cell_range
- for row in range(start_row, end_row):
- merge_range = f"{start_column}{row}:{end_column}{row}"
- ws.merge_cells(merge_range)
-
-
def hide_all_columns_from(ws, start_column):
"""Hides all columns from the specified column to the end of the sheet."""
for col_idx in range(start_column, XLSX_MAX_COLS + 1):
@@ -479,14 +464,6 @@ def unlock_data_entry_cells(header_row, ws, sheet):
cell_reference = f"${coords.column}${rowndx}"
cell = ws[cell_reference]
cell.protection = Protection(locked=False)
- if sheet.merged_unreachable not in [None, []]:
- print(sheet.merged_unreachable)
- data_row_index = header_row + 1
- for column in sheet.merged_unreachable.columns:
- for rowndx in range(data_row_index, MAX_ROWS):
- cell_reference = f"${column}${rowndx}"
- cell = ws[cell_reference]
- cell.protection = Protection(locked=False)
def calculate_average_width(ws):
diff --git a/backend/schemas/scripts/xlrows.py b/backend/schemas/scripts/xlrows.py
new file mode 100644
index 0000000000..f1f438d47e
--- /dev/null
+++ b/backend/schemas/scripts/xlrows.py
@@ -0,0 +1,12 @@
+import openpyxl
+import glob
+
+folder_path = "../output/excel/xlsx"
+
+for filename in glob.glob(f"{folder_path}/*.xlsx"):
+ print(f"File: {filename}")
+ wb = openpyxl.load_workbook(filename)
+
+ for sheet in wb._sheets:
+ nrows = sheet.max_row
+ print(f"Sheet {sheet.title} has {nrows} rows")
diff --git a/backend/schemas/source/base/Base.libsonnet b/backend/schemas/source/base/Base.libsonnet
index a2eaae8003..979052564c 100644
--- a/backend/schemas/source/base/Base.libsonnet
+++ b/backend/schemas/source/base/Base.libsonnet
@@ -164,7 +164,8 @@ local Enum = {
enum: [
'program-specific',
'single-audit',
- 'alternative-compliance-engagement',
+ // Include after we are able to recieve ACEE submissions.
+ // 'alternative-compliance-engagement',
],
title: 'AuditType',
},
diff --git a/backend/schemas/source/excel/libs/InstructionsNotestoSEFA.libsonnet b/backend/schemas/source/excel/libs/InstructionsNotestoSEFA.libsonnet
index dbeec2726a..c0957b72a9 100644
--- a/backend/schemas/source/excel/libs/InstructionsNotestoSEFA.libsonnet
+++ b/backend/schemas/source/excel/libs/InstructionsNotestoSEFA.libsonnet
@@ -30,5 +30,10 @@
instructions: [
'Enter the full text of the note. Do not include charts, tables, or footnotes.',
],
- }
-}
\ No newline at end of file
+ },
+ contains_chart_or_table: {
+ instructions: [
+ 'Indicates whether or not the text contained charts or tables that could not be entered due to formatting restrictions.',
+ ],
+ },
+}
diff --git a/backend/schemas/source/excel/libs/Sheets.libsonnet b/backend/schemas/source/excel/libs/Sheets.libsonnet
index 46b99c4f95..012ec8f0b7 100644
--- a/backend/schemas/source/excel/libs/Sheets.libsonnet
+++ b/backend/schemas/source/excel/libs/Sheets.libsonnet
@@ -40,9 +40,6 @@ local section_names = {
NOTES_TO_SEFA: 'NotesToSefa',
};
-// MAX_ROWS here is equal to MAX_ROWS in render.py plus 1 to account for the header row.
-local MAX_ROWS = 3001;
-
// All workbooks should get the same version number.
local WORKBOOKS_VERSION = '1.0.0';
@@ -51,7 +48,6 @@ local WORKBOOKS_VERSION = '1.0.0';
meta_cell: meta_cell,
open_range: open_range,
y_or_n_range: y_or_n_range,
- MAX_ROWS: MAX_ROWS,
WORKBOOKS_VERSION: WORKBOOKS_VERSION,
section_names: section_names
}
diff --git a/backend/schemas/source/excel/templates/notes-to-sefa-workbook.jsonnet b/backend/schemas/source/excel/templates/notes-to-sefa-workbook.jsonnet
index d07e4436a8..5b777c00e1 100644
--- a/backend/schemas/source/excel/templates/notes-to-sefa-workbook.jsonnet
+++ b/backend/schemas/source/excel/templates/notes-to-sefa-workbook.jsonnet
@@ -106,6 +106,15 @@ local open_ranges_defns = [
'Note content',
'note_content',
],
+ [
+ Sheets.y_or_n_range {
+ width: 36,
+ help: Help.yorn,
+ },
+ SV.YoNValidation,
+ 'Did Text Contain a Chart or Table?',
+ 'contains_chart_or_table',
+ ],
[
Sheets.open_range {
keep_locked: true,
@@ -131,7 +140,7 @@ local sheets = [
name: sefaAdditionalSheet,
open_ranges: Fun.make_open_ranges(title_row, open_ranges_defns),
header_height: 100,
- hide_col_from: 3,
+ hide_col_from: 4,
},
];
diff --git a/backend/schemas/source/sections/GeneralInformation.schema.jsonnet b/backend/schemas/source/sections/GeneralInformation.schema.jsonnet
index e5b1a58f5e..538d4a1b53 100644
--- a/backend/schemas/source/sections/GeneralInformation.schema.jsonnet
+++ b/backend/schemas/source/sections/GeneralInformation.schema.jsonnet
@@ -2,97 +2,172 @@ local Base = import '../base/Base.libsonnet';
local Func = import '../base/Functions.libsonnet';
local Types = Base.Types;
+/*
+Typechecks fields, but allows for empty data as well. Contains conditional Checks.
+*/
{
'$id': 'http://example.org/generalinformation',
'$schema': Base.Const.SCHEMA_VERSION,
additionalProperties: false,
metamodel_version: '1.7.0',
properties: {
+ // Audit information
+ auditee_fiscal_period_start: Types.string {
+ oneOf: [
+ {
+ format: 'date',
+ },
+ Base.Compound.EmptyString,
+ ]
+ },
+ auditee_fiscal_period_end: Types.string {
+ oneOf: [
+ {
+ format: 'date',
+ },
+ Base.Compound.EmptyString,
+ ]
+ },
+ audit_type: {
+ oneOf: [
+ Base.Enum.AuditType,
+ Base.Compound.EmptyString,
+ ]
+ },
+ audit_period_covered: {
+ oneOf: [
+ Base.Enum.AuditPeriod,
+ Base.Compound.EmptyString,
+ ]
+ },
+ audit_period_other_months: Types.string {
+ maxLength: 100,
+ },
+
+ // Auditee information
+ auditee_uei: Base.Compound.UniqueEntityIdentifier,
+ ein: {
+ oneOf: [
+ Base.Compound.EmployerIdentificationNumber,
+ Base.Compound.EmptyString,
+ ],
+ },
+ ein_not_an_ssn_attestation: Types.boolean,
+ auditee_name: Types.string {
+ maxLength: 100,
+ },
auditee_address_line_1: Types.string {
maxLength: 100,
},
auditee_city: Types.string {
maxLength: 100,
},
+ auditee_state: {
+ oneOf: [
+ Base.Enum.UnitedStatesStateAbbr {
+ title: 'State',
+ },
+ Base.Compound.EmptyString,
+ ]
+ },
+ auditee_zip: {
+ anyOf: [
+ Base.Compound.Zip,
+ Base.Compound.EmptyString,
+ ],
+ },
+
auditee_contact_name: Types.string {
maxLength: 100,
},
auditee_contact_title: Types.string {
maxLength: 100,
},
- auditee_email: Types.string {
- format: 'email',
- },
- auditee_name: Types.string {
- maxLength: 100,
+ auditee_phone: {
+ oneOf: [
+ Base.Compound.UnitedStatesPhone,
+ Base.Compound.EmptyString,
+ ]
},
- auditee_phone: Base.Compound.UnitedStatesPhone,
- auditee_state: Base.Enum.UnitedStatesStateAbbr {
- title: 'State',
+ auditee_email: Types.string {
+ oneOf: [
+ {
+ format: 'email',
+ },
+ Base.Compound.EmptyString,
+ ]
},
- auditee_uei: Base.Compound.UniqueEntityIdentifier,
- auditee_zip: Base.Compound.Zip,
- ein: Base.Compound.EmployerIdentificationNumber,
-
- auditor_phone: Base.Compound.UnitedStatesPhone,
- auditor_state: {
- anyOf: [
- Base.Enum.UnitedStatesStateAbbr {
- title: 'State',
- },
+ // Auditor information
+ auditor_ein: {
+ oneOf: [
+ Base.Compound.EmployerIdentificationNumber,
Base.Compound.EmptyString,
],
},
- auditor_city: Types.string {
+ auditor_ein_not_an_ssn_attestation: Types.boolean,
+ auditor_firm_name: Types.string {
maxLength: 100,
},
- auditor_contact_title: Types.string {
+ auditor_country: Base.Enum.CountryType,
+ auditor_international_address: Types.string {
maxLength: 100,
},
auditor_address_line_1: Types.string {
maxLength: 100,
},
+ auditor_city: Types.string {
+ maxLength: 100,
+ },
+ auditor_state: {
+ anyOf: [
+ Base.Enum.UnitedStatesStateAbbr {
+ title: 'State',
+ },
+ Base.Compound.EmptyString,
+ ],
+ },
auditor_zip: {
anyOf: [
Base.Compound.Zip,
Base.Compound.EmptyString,
],
},
- auditor_country: Base.Enum.CountryType,
+
auditor_contact_name: Types.string {
maxLength: 100,
},
- auditor_international_address: Types.string,
-
- auditor_email: Types.string {
- format: 'email',
+ auditor_contact_title: Types.string {
+ maxLength: 100,
},
- auditor_firm_name: Types.string,
- auditor_foreign_address: Types.string,
- auditor_ein: Base.Compound.EmployerIdentificationNumber,
-
- auditee_fiscal_period_start: Types.string {
- format: 'date',
+ auditor_phone: {
+ oneOf: [
+ Base.Compound.UnitedStatesPhone,
+ Base.Compound.EmptyString,
+ ]
},
- auditee_fiscal_period_end: Types.string {
- format: 'date',
+ auditor_email: Types.string {
+ oneOf: [
+ {
+ format: 'email',
+ },
+ Base.Compound.EmptyString
+ ],
+ maxLength: 100,
},
- audit_type: Base.Enum.AuditType,
- user_provided_organization_type: Base.Enum.OrganizationType,
- audit_period_other_months: Types.string,
- audit_period_covered: Base.Enum.AuditPeriod,
-
- auditor_ein_not_an_ssn_attestation: Types.boolean,
- ein_not_an_ssn_attestation: Types.boolean,
+ // Others
is_usa_based: Types.boolean,
met_spending_threshold: Types.boolean,
-
+ user_provided_organization_type: {
+ oneOf: [
+ Base.Enum.OrganizationType,
+ Base.Compound.EmptyString,
+ ],
+ },
multiple_eins_covered: Types.boolean,
multiple_ueis_covered: Types.boolean,
secondary_auditors_exist: Types.boolean,
-
},
allOf: [
{
@@ -145,10 +220,18 @@ local Types = Base.Types;
},
'then': {
properties: {
- auditor_zip: Base.Compound.Zip,
- auditor_state: Base.Enum.UnitedStatesStateAbbr {
- title: 'State',
+ auditor_zip: {
+ anyOf: [
+ Base.Compound.Zip,
+ Base.Compound.EmptyString,
+ ],
},
+ auditor_state: {
+ anyOf: [
+ Base.Enum.UnitedStatesStateAbbr,
+ Base.Compound.EmptyString,
+ ],
+ }
},
},
},
diff --git a/backend/schemas/source/sections/GeneralInformationComplete.schema.jsonnet b/backend/schemas/source/sections/GeneralInformationComplete.schema.jsonnet
new file mode 100644
index 0000000000..8995183c93
--- /dev/null
+++ b/backend/schemas/source/sections/GeneralInformationComplete.schema.jsonnet
@@ -0,0 +1,244 @@
+local Base = import '../base/Base.libsonnet';
+local Func = import '../base/Functions.libsonnet';
+local Types = Base.Types;
+
+/*
+Checks all the fields to answer the question, "Is the form complete?"
+Requires most fields, has consitional checks for conditional fields.
+*/
+{
+ '$id': 'http://example.org/generalinformation',
+ '$schema': 'http://json-schema.org/draft/2019-09/schema#',
+ additionalProperties: false,
+ metamodel_version: '1.7.0',
+ properties: {
+ // Audit information
+ auditee_fiscal_period_start: {
+ format: 'date',
+ },
+ auditee_fiscal_period_end: {
+ format: 'date',
+ },
+ audit_type: Base.Enum.AuditType,
+ audit_period_covered: Base.Enum.AuditPeriod,
+ audit_period_other_months: Types.string, // Conditional, no min/max length
+
+ // Auditee information
+ auditee_uei: Base.Compound.UniqueEntityIdentifier,
+ ein: Base.Compound.EmployerIdentificationNumber,
+ ein_not_an_ssn_attestation: Types.boolean,
+ auditee_name: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditee_address_line_1: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditee_city: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditee_state: Base.Enum.UnitedStatesStateAbbr {
+ title: 'State',
+ },
+ auditee_zip: Base.Compound.Zip,
+
+ auditee_contact_name: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditee_contact_title: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditee_phone: Base.Compound.UnitedStatesPhone,
+ auditee_email: Types.string {
+ format: 'email',
+ maxLength: 100,
+ minLength: 1,
+ },
+
+ // Auditor information
+ // Auditor address information is conditional based on country
+ auditor_ein: Base.Compound.EmployerIdentificationNumber,
+ auditor_ein_not_an_ssn_attestation: Types.boolean,
+ auditor_firm_name: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditor_country: Base.Enum.CountryType,
+ auditor_international_address: Types.string {
+ maxLength: 100,
+ },
+ auditor_address_line_1: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditor_city: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditor_state: {
+ oneOf: [
+ Base.Enum.UnitedStatesStateAbbr,
+ Base.Compound.EmptyString,
+ ],
+ },
+ auditor_zip: {
+ oneOf: [
+ Base.Compound.Zip,
+ Base.Compound.EmptyString,
+ ],
+ },
+
+ auditor_contact_name: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditor_contact_title: Types.string {
+ maxLength: 100,
+ minLength: 1,
+ },
+ auditor_phone: Base.Compound.UnitedStatesPhone,
+ auditor_email: Types.string {
+ format: 'email',
+ maxLength: 100,
+ minLength: 1,
+ },
+
+ // Others
+ is_usa_based: Types.boolean,
+ met_spending_threshold: Types.boolean,
+ user_provided_organization_type: Base.Enum.OrganizationType,
+ multiple_eins_covered: Types.boolean,
+ multiple_ueis_covered: Types.boolean,
+ secondary_auditors_exist: Types.boolean,
+ },
+ allOf: [
+ // If audit_period_covered is 'other', then audit_period_other_months should
+ // have a value. Otherwise, it should have no value.
+ {
+ anyOf: [
+ {
+ 'if': {
+ properties: {
+ audit_period_covered: {
+ const: 'annual',
+ },
+ },
+ },
+ 'then': {
+ audit_period_other_months: Base.Enum.EmptyString_Null,
+ },
+ },
+ {
+ 'if': {
+ properties: {
+ audit_period_covered: {
+ const: 'biennial',
+ },
+ },
+ },
+ 'then': {
+ audit_period_other_months: Base.Enum.EmptyString_Null,
+ },
+ },
+ {
+ 'if': {
+ properties: {
+ audit_period_covered: {
+ const: 'other',
+ },
+ },
+ },
+ 'then': {
+ audit_period_other_months: Base.Compound.MonthsOther,
+ },
+ },
+ ],
+ },
+ // If auditor is from the USA, address info should be included.
+ {
+ 'if': {
+ properties: {
+ auditor_country: {
+ const: 'USA',
+ },
+ },
+ },
+ 'then': {
+ properties: {
+ auditor_zip: Base.Compound.Zip,
+ },
+ },
+ },
+ // If auditor is NOT from the USA, the zip should be empty.
+ {
+ 'if': {
+ properties: {
+ auditor_country: {
+ not: {
+ const: 'USA',
+ },
+ },
+ },
+ },
+ 'then': {
+ properties: {
+ auditor_zip: Base.Compound.EmptyString,
+ },
+ },
+ },
+ // The auditee EIN attestation should always be true.
+ {
+ properties: {
+ ein_not_an_ssn_attestation: {
+ const: true,
+ },
+ },
+ },
+ // The auditor EIN attestation should always be true.
+ {
+ properties: {
+ auditor_ein_not_an_ssn_attestation: {
+ const: true,
+ },
+ },
+ }
+ ],
+ required: [
+ 'audit_type',
+ 'auditee_address_line_1',
+ 'auditee_city',
+ 'auditee_contact_name',
+ 'auditee_contact_title',
+ 'auditee_email',
+ 'auditee_fiscal_period_end',
+ 'auditee_fiscal_period_start',
+ 'auditee_name',
+ 'auditee_phone',
+ 'auditee_state',
+ 'auditee_uei',
+ 'auditor_contact_name',
+ 'auditor_contact_title',
+ 'auditor_ein',
+ 'auditor_ein_not_an_ssn_attestation',
+ 'auditor_email',
+ 'auditor_firm_name',
+ 'auditor_phone',
+ 'auditor_state',
+ 'auditor_zip',
+ 'ein',
+ 'ein_not_an_ssn_attestation',
+ 'is_usa_based',
+ 'met_spending_threshold',
+ 'multiple_eins_covered',
+ 'multiple_ueis_covered',
+ 'secondary_auditors_exist',
+ 'user_provided_organization_type'
+ ],
+ title: 'GeneralInformation',
+ type: 'object',
+ version: null,
+}
diff --git a/backend/schemas/source/sections/NotesToSefa.schema.jsonnet b/backend/schemas/source/sections/NotesToSefa.schema.jsonnet
index 1e118c135a..0f5fbfd9b9 100644
--- a/backend/schemas/source/sections/NotesToSefa.schema.jsonnet
+++ b/backend/schemas/source/sections/NotesToSefa.schema.jsonnet
@@ -25,9 +25,10 @@ local NotesToSefaEntry = {
properties: {
note_title: Types.string,
note_content: Types.string,
+ contains_chart_or_table: Base.Enum.YorN,
seq_number: Types.integer,
},
- required: ['note_title', 'note_content'],
+ required: ['note_title', 'note_content', 'contains_chart_or_table'],
title: 'NotesToSefaEntry',
};
diff --git a/backend/static/js/check-access.js b/backend/static/js/check-access.js
index 9a573afc42..0fa8e1a15f 100644
--- a/backend/static/js/check-access.js
+++ b/backend/static/js/check-access.js
@@ -9,7 +9,7 @@ function setFormDisabled(shouldDisable) {
}
function allResponsesValid() {
- const inputsWithErrors = document.querySelectorAll('[class *="--error"]');
+ const inputsWithErrors = document.querySelectorAll('[class *="-error"]');
return inputsWithErrors.length === 0;
}
@@ -104,8 +104,8 @@ function attachEventHandlers() {
);
certifyingInputs.forEach((q) => {
- q.addEventListener('blur', (e) => {
- performValidations(e.target);
+ q.addEventListener('focusout', (e) => {
+ performValidations([e.target]);
});
});
diff --git a/backend/static/js/check-ueid.js b/backend/static/js/check-ueid.js
index 19fd90bd15..3eb08d0dad 100644
--- a/backend/static/js/check-ueid.js
+++ b/backend/static/js/check-ueid.js
@@ -2,6 +2,7 @@ import { checkValidity } from './validate.js';
import { queryAPI } from './api';
const FORM = document.forms[0];
+var isUEIValidated = false;
function handleUEIDResponse({ valid, response, errors }) {
if (valid) {
@@ -60,6 +61,8 @@ function showValidUeiInfo() {
function setupFormWithValidUei() {
hideUeiStuff();
showValidUeiInfo();
+ isUEIValidated = true;
+ setFormDisabled(false);
}
function resetModal() {
@@ -208,7 +211,18 @@ function validateFyStartDate(fyInput) {
function setFormDisabled(shouldDisable) {
const continueBtn = document.getElementById('continue');
- continueBtn.disabled = shouldDisable;
+ // If we want to disable the button, do it.
+ if (shouldDisable) {
+ continueBtn.disabled = true;
+ return;
+ }
+
+ // If we want to enable the button, the UEI validation should be done.
+ if (!shouldDisable && isUEIValidated) {
+ continueBtn.disabled = false;
+ } else {
+ continueBtn.disabled = true;
+ }
}
function allResponsesValid() {
@@ -262,6 +276,7 @@ function attachDatePickerHandlers() {
function init() {
attachEventHandlers();
window.addEventListener('load', attachDatePickerHandlers, false); // Need to wait for date-picker text input to render.
+ setFormDisabled(true); // Disabled initially, re-enables after filling everything out.
}
init();
diff --git a/backend/static/js/sf-sac.js b/backend/static/js/sf-sac.js
index eced0950ff..3ca3007bd0 100644
--- a/backend/static/js/sf-sac.js
+++ b/backend/static/js/sf-sac.js
@@ -25,9 +25,10 @@ function performValidations(field) {
setFormDisabled(errors.length > 0);
}
+// Fieldset elements with attribute "navitem" are watched. When scolled past, the applicable navLink is set to current.
function highlightActiveNavSection() {
let currentFieldsetId;
- const fieldsets = document.querySelectorAll('fieldset[id]');
+ const fieldsets = document.querySelectorAll('fieldset[navitem]');
const navLinks = document.querySelectorAll('li .usa-sidenav__item a');
fieldsets.forEach((f) => {
@@ -49,6 +50,8 @@ function highlightActiveNavSection() {
}
function attachEventHandlers() {
+ // These fields no longer exist. The gen form is submittable in an incomplete state, so non-null data is okay.
+ // Left alone for potential future enhancements on the form.
const fieldsNeedingValidation = Array.from(
document.querySelectorAll('.sf-sac input[data-validate-not-null]')
);
@@ -82,37 +85,27 @@ function attachEventHandlers() {
window.addEventListener('scroll', highlightActiveNavSection);
}
+
const foreignFields = document.querySelectorAll('[name="foreign_address"]');
const domesticFields = document.querySelectorAll('[name="domestic_address"]');
function setupAddress() {
if (countrySelect.value == 'USA') {
foreignFields.forEach((input) => {
input.setAttribute('hidden', true);
- input.querySelectorAll('textarea').forEach((element) => {
- element.removeAttribute('required');
- });
});
domesticFields.forEach((input) => {
input.removeAttribute('hidden');
- input.querySelectorAll('input').forEach((element) => {
- element.setAttribute('required', true);
- });
});
} else {
foreignFields.forEach((input) => {
input.removeAttribute('hidden');
- input.querySelectorAll('textarea').forEach((element) => {
- element.setAttribute('required', true);
- });
});
domesticFields.forEach((input) => {
input.setAttribute('hidden', true);
- input.querySelectorAll('input').forEach((element) => {
- element.removeAttribute('required');
- });
});
}
}
+
function init() {
attachEventHandlers();
setupAddress();
diff --git a/backend/static/js/validate.js b/backend/static/js/validate.js
index 8ee41dbff1..fc6673bb05 100644
--- a/backend/static/js/validate.js
+++ b/backend/static/js/validate.js
@@ -139,6 +139,19 @@ export const validations = {
: result;
},
+ validateMustNotMatch: (field, matchField) => {
+ const matchFieldEl = document.querySelector(`input#${matchField}`);
+ const result = {
+ error: false,
+ fieldId: field.id,
+ validation: 'must-not-match',
+ };
+
+ return field.value == matchFieldEl.value
+ ? { ...result, error: true }
+ : result;
+ },
+
validateLength: (field, compStr) => {
const [comparator, compValue] = compStr.split(' ');
const valueLength = field.value.length;
@@ -157,4 +170,20 @@ export const validations = {
: result;
}
},
+
+ validateDateComesAfter: (field) => {
+ let comparisonField = field.dataset['validateDateComesAfter'],
+ comparisonFieldValue = document.getElementById(comparisonField).value;
+
+ let endDate = new Date(field.value),
+ startDate = new Date(comparisonFieldValue);
+
+ const result = {
+ error: false,
+ fieldId: field.id,
+ validation: 'date-order',
+ };
+
+ return startDate >= endDate ? { ...result, error: true } : result;
+ },
};
diff --git a/backend/support/__init__.py b/backend/support/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/backend/support/admin.py b/backend/support/admin.py
new file mode 100644
index 0000000000..1d8a776349
--- /dev/null
+++ b/backend/support/admin.py
@@ -0,0 +1,108 @@
+from django.contrib import admin
+
+from audit.models import SingleAuditChecklist
+from .models import CognizantBaseline, CognizantAssignment, AssignmentTypeCode
+
+
+class SupportAdmin(admin.ModelAdmin):
+ def has_view_permission(self, request, obj=None):
+ if request.user.is_staff:
+ return True
+
+ def has_delete_permission(self, request, obj=None):
+ return False
+
+
+@admin.register(CognizantBaseline)
+class CognizantBaselineAdmin(SupportAdmin):
+ list_display = [
+ "uei",
+ "cognizant_agency",
+ "date_assigned",
+ "ein",
+ "dbkey",
+ "is_active",
+ ]
+ list_filter = [
+ "is_active",
+ "uei",
+ "cognizant_agency",
+ "ein",
+ ]
+
+ def has_change_permission(self, request, obj=None):
+ return False
+
+ def has_add_permission(self, request, obj=None):
+ return False
+
+
+@admin.register(CognizantAssignment)
+class CognizantAssignmentAdmin(SupportAdmin):
+ date_hierarchy = "date_assigned"
+ ordering = ["date_assigned"]
+ list_display = [
+ "report_id",
+ "uei",
+ "cognizant_agency",
+ "date_assigned",
+ "assignor_email",
+ "override_comment",
+ "assignment_type",
+ ]
+ list_filter = [
+ "assignment_type",
+ "cognizant_agency",
+ ]
+ fields = [
+ "report_id",
+ (
+ "uei",
+ "last_assigned_by",
+ "current_cog",
+ ),
+ "cognizant_agency",
+ "override_comment",
+ ]
+ readonly_fields = [
+ "uei",
+ "last_assigned_by",
+ "current_cog",
+ ]
+
+ def uei(self, obj):
+ return SingleAuditChecklist.objects.get(report_id=obj.report_id).auditee_uei
+
+ def current_cog(self, obj):
+ return SingleAuditChecklist.objects.get(
+ report_id=obj.report_id
+ ).cognizant_agency
+
+ def last_assigned_by(self, obj):
+ return obj.assignor_email
+
+ save_as = True
+ save_as_continue = False
+
+ def change_view(self, request, object_id, form_url="", extra_context=None):
+ """customize edit form"""
+ extra_context = extra_context or {}
+ extra_context["show_save_and_continue"] = False
+ extra_context["show_save"] = False
+ extra_context[
+ "show_save_and_add_another"
+ ] = False # this not works if has_add_permision is True
+ return super().change_view(request, object_id, extra_context=extra_context)
+
+ def save_model(self, request, obj, form, change):
+ obj.assignor_email = request.user.email
+ obj.assignment_type = AssignmentTypeCode.MANUAL
+ super().save_model(request, obj, form, change)
+
+ def has_change_permission(self, request, obj=None):
+ if request.user.is_staff:
+ return True
+
+ def has_add_permission(self, request, obj=None):
+ if request.user.is_staff:
+ return True
diff --git a/backend/support/apps.py b/backend/support/apps.py
new file mode 100644
index 0000000000..bc171b758c
--- /dev/null
+++ b/backend/support/apps.py
@@ -0,0 +1,9 @@
+from django.apps import AppConfig
+
+
+class SupportConfig(AppConfig):
+ default_auto_field = "django.db.models.BigAutoField"
+ name = "support"
+
+ def ready(self):
+ from . import signals # noqa
diff --git a/backend/support/cog_over.py b/backend/support/cog_over.py
new file mode 100644
index 0000000000..7dd5f6f0d8
--- /dev/null
+++ b/backend/support/cog_over.py
@@ -0,0 +1,187 @@
+from collections import defaultdict
+import logging
+
+from django.db.models.functions import Cast
+from django.db.models import BigIntegerField, Q
+
+from dissemination.hist_models.census_2019 import CensusGen19, CensusCfda19
+from dissemination.hist_models.census_2022 import CensusGen22
+from support.models import CognizantBaseline, CognizantAssignment
+
+logger = logging.getLogger(__name__)
+
+
+COG_LIMIT = 50_000_000
+DA_THRESHOLD_FACTOR = 0.25
+
+
+def compute_cog_over(federal_awards, submission_status, auditee_ein, auditee_uei):
+ """
+ Compute cog or oversight agency for the sac.
+ Return tuple (cog_agency, oversight_agency)
+
+ WIP:
+ - sac.federal_awards
+ - sac.submission_status
+ - sac.ein
+ - sac.auditee_uei
+ """
+ if not federal_awards:
+ logger.warning(
+ f"Trying to determine cog_over for a sac with zero awards with status = {submission_status}."
+ )
+ return (None, None)
+ awards = federal_awards["FederalAwards"]
+ total_amount_expended = awards.get("total_amount_expended")
+ cognizant_agency = oversight_agency = None
+ (max_total_agency, max_da_agency) = calc_award_amounts(awards)
+
+ agency = determine_agency(
+ total_amount_expended,
+ max_total_agency,
+ max_da_agency,
+ )
+
+ if total_amount_expended <= COG_LIMIT:
+ oversight_agency = agency
+ # logger.warning("Assigning an oversight agenct", oversight_agency)
+ return (cognizant_agency, oversight_agency)
+ cognizant_agency = determine_hist_agency(auditee_ein, auditee_uei)
+ if cognizant_agency:
+ return (cognizant_agency, oversight_agency)
+ cognizant_agency = agency
+ return (cognizant_agency, oversight_agency)
+
+
+def calc_award_amounts(awards):
+ total_amount_agency = defaultdict(lambda: 0)
+ total_da_amount_agency = defaultdict(lambda: 0)
+ for award in awards["federal_awards"]:
+ agency = award["program"]["federal_agency_prefix"]
+ total_amount_agency[agency] += award["program"]["amount_expended"]
+ if award["direct_or_indirect_award"]["is_direct"] == "Y":
+ total_da_amount_agency[agency] += award["program"]["amount_expended"]
+ return (
+ prune_dict_to_max_values(total_amount_agency),
+ prune_dict_to_max_values(total_da_amount_agency),
+ )
+
+
+def determine_agency(total_amount_expended, max_total_agency, max_da_agency):
+ tie_breaker = defaultdict()
+ for key, value in max_da_agency.items():
+ if value >= DA_THRESHOLD_FACTOR * total_amount_expended:
+ tie_breaker[key] = value + max_total_agency.get(key, 0)
+ for agency in prune_dict_to_max_values(tie_breaker).keys():
+ return agency
+ for agency in max_total_agency.keys():
+ return agency
+
+
+def determine_hist_agency(ein, uei):
+ dbkey = get_dbkey(ein, uei)
+
+ cog_agency = lookup_baseline(ein, uei, dbkey)
+ if cog_agency:
+ return cog_agency
+ (gen_count, total_amount_expended) = get_2019_gen(ein, dbkey)
+ if gen_count != 1:
+ return None
+ cfdas = get_2019_cfdas(ein, dbkey)
+ if not cfdas:
+ # logger.warning("Found no cfda data for dbkey {dbkey} in 2019")
+ return None
+ (max_total_agency, max_da_agency) = calc_cfda_amounts(cfdas)
+ cognizant_agency = determine_agency(
+ total_amount_expended,
+ max_total_agency,
+ max_da_agency,
+ )
+ return cognizant_agency
+
+
+def get_dbkey(ein, uei):
+ try:
+ dbkey = CensusGen22.objects.values_list("dbkey", flat=True).get(
+ Q(ein=ein), Q(uei=uei) | Q(uei=None)
+ )[:]
+ except (CensusGen22.DoesNotExist, CensusGen22.MultipleObjectsReturned):
+ dbkey = None
+ return dbkey
+
+
+def lookup_baseline(ein, uei, dbkey):
+ try:
+ cognizant_agency = CognizantBaseline.objects.values_list(
+ "cognizant_agency", flat=True
+ ).get(Q(is_active=True) & ((Q(ein=ein) & Q(dbkey=dbkey)) | Q(uei=uei)))[:]
+ except (CognizantBaseline.DoesNotExist, CognizantBaseline.MultipleObjectsReturned):
+ cognizant_agency = None
+ return cognizant_agency
+
+
+def get_2019_gen(ein, dbkey):
+ gens = CensusGen19.objects.annotate(
+ amt=Cast("totfedexpend", output_field=BigIntegerField())
+ ).filter(Q(ein=ein), Q(dbkey=dbkey) | Q(dbkey=None))
+
+ if len(gens) != 1:
+ return (len(gens), 0)
+ gen = gens[0]
+ return (1, gen.amt)
+
+
+def get_2019_cfdas(ein, dbkey):
+ cfdas = CensusCfda19.objects.annotate(
+ amt=Cast("amount", output_field=BigIntegerField())
+ ).filter(Q(ein=ein), Q(dbkey=dbkey) | Q(dbkey=None))
+
+ if len(cfdas) == 0:
+ return None
+ baseline_cfdas = []
+ for row in cfdas:
+ baseline_cfdas.append((row.cfda, row.amt, row.direct))
+ return baseline_cfdas
+
+
+def calc_cfda_amounts(cfdas):
+ total_amount_agency = defaultdict(lambda: 0)
+ total_da_amount_agency = defaultdict(lambda: 0)
+ for cfda in cfdas:
+ agency = cfda[0][:2]
+ amount = cfda[1] or 0
+ direct = cfda[2]
+ total_amount_agency[agency] += amount
+ if direct == "Y":
+ total_da_amount_agency[agency] += amount
+ return (
+ prune_dict_to_max_values(total_amount_agency),
+ prune_dict_to_max_values(total_da_amount_agency),
+ )
+
+
+def prune_dict_to_max_values(data: dict):
+ """
+ prune_dict_to_max_values({"a": 5, "b": 10, "c": 10}) => {"b": 10, "c": 10}
+ """
+ if len(data) == 0:
+ return data
+
+ pruned_dict = {}
+ max_value = max(data.values())
+ for key, value in data.items():
+ if value == max_value:
+ pruned_dict[key] = value
+
+ return pruned_dict
+
+
+def record_cog_assignment(report_id, user, cognizant_agency):
+ """
+ To be unvoked by app to persist the computed cog agency
+ """
+ CognizantAssignment(
+ report_id=report_id,
+ cognizant_agency=cognizant_agency,
+ assignor_email=user.email,
+ ).save()
diff --git a/backend/support/fixtures/census_baseline.csv b/backend/support/fixtures/census_baseline.csv
new file mode 100644
index 0000000000..cfab1f41b1
--- /dev/null
+++ b/backend/support/fixtures/census_baseline.csv
@@ -0,0 +1,2339 @@
+DBKEY,EIN,UEI,AUDITEENAME,COGAGENCY,DATE_ADDED
+8503,111631788,,THE JAMAICA HOSPITAL,10,8/8/2022
+8512,111631837,,WYCKOFF HEIGHTS MEDICAL CENTER,10,10/5/2022
+13163,133179546,,FOOD BANK FOR NEW YORK CITY AND SUBSIDIARY,10,4/10/2022
+20576,221487602,,"ST. JOSEPH'S HEALTH, INC.",10,12/3/2022
+44372,341517671,,PROMEDICA HEALTH SYSTEM AND SUBSIDIARIES,10,10/3/2022
+49722,362971864,,GREATER CHICAGO FOOD DEPOSITORY,10,12/16/2021
+56674,382515765,,"FOOD BANK COUNCIL OF MICHIGAN, INC.",10,3/25/2021
+78063,530242652,,THE NATURE CONSERVANCY,10,3/25/2021
+83408,570314408,,PRESBYTERIAN COLLEGE,10,3/25/2021
+85453,581376648,,"ATLANTA COMMUNITY FOOD BANK, INC.",10,12/10/2021
+95627,640169075,RH39MK9L1MC8,COAST ELECTRIC POWER ASSOCIATION,10,4/21/2023
+97664,710236857,SAFBJDMBB9A6,ARKANSAS CHILDRENS HOSPITAL,10,3/20/2023
+102442,742181456,,THE HOUSTON FOOD BANK AND SUBSIDIARIES,10,3/25/2021
+105204,751785357,,NORTH TEXAS FOOD BANK,10,3/23/2022
+105242,751822473,,TARRANT AREA FOOD BANK,10,1/15/2022
+114986,911352172,,MULTICARE HEALTH SYSTEM,10,10/3/2022
+125252,953135649,,LOS ANGELES REGIONAL FOOD BANK,10,6/13/2022
+130457,866000484,,WASHINGTON ELEMENTARY SCHOOL DISTRICT NO. 6,10,1/14/2022
+131824,946000511,,COUNTY OF EL DORADO,10,3/25/2021
+134025,956000120,,ANAHEIM UNION HIGH SCHOOL DISTRICT,10,2/23/2022
+134053,956002823,,SANTA ANA UNIFIED SCHOOL DISTRICT,10,3/25/2021
+134153,956002542,,RIALTO UNIFIED SCHOOL DISTRICT,10,3/4/2022
+137690,586000227,,DEKALB COUNTY BOARD OF EDUCATION,10,3/25/2021
+137732,586000264,,HOUSTON COUNTY BOARD OF EDUCATION,10,4/10/2022
+146487,616001059,,FAYETTE COUNTY PUBLIC SCHOOLS,10,12/17/2021
+154114,436004252,E3Y7LEMLMH66,HAZELWOOD SCHOOL DISTRICT,10,12/21/2022
+161024,566001021,,DURHAM PUBLIC SCHOOLS,10,1/14/2022
+161204,566001131,PRC9ZC7J56X7,WAYNE COUNTY BOARD OF EDUCATION,10,12/8/2022
+171977,746000420,FKJNNPQQMKM1,"CAMERON COUNTY, TEXAS",10,6/9/2023
+171989,756000873,,"COLLIN COUNTY, TEXAS",10,4/28/2022
+174124,756001854,,IRVING INDEPENDENT SCHOOL DISTRICT,10,2/10/2022
+174324,746000895,SGQXJ6JPSA73,GALENA PARK INDEPENDENT SCHOOL DISTRICT,10,1/23/2023
+180895,910577129,,VOLUNTEERS OF AMERICA WESTERN WASHINGTON AND SUBSIDIARY,10,3/24/2022
+181600,856000565,PBWFLKLC8Q84,NEW MEXICO DEPARTMENT OF FINANCE AND ADMINISTRATION,10,4/13/2023
+181645,356005697,,"HEALTH AND HOSPITAL CORPORATION OF MARION COUNTY, INDIANA",10,3/25/2021
+182474,344428214,FRH2FFME3RM7,FULTON COUNTY HEALTH CENTER,10,6/9/2023
+183628,346004382,,THE METROHEALTH SYSTEM,10,4/19/2022
+184893,061259539,,THE MOHEGAN TRIBE OF INDIANS OF CONNECTICUT,10,7/6/2022
+186518,036024497,,VERMONT ECONOMIC DEVELOPMENT AUTHORITY,10,3/25/2021
+186988,522003078,F3MHWBVMBFD8,NATIONAL EXPERIENCED WORKFORCE SOLUTIONS,10,5/2/2023
+194286,586000312,KMVGJJU8P5H4,ROCKDALE COUNTY BOARD OF EDUCATION,10,1/12/2023
+198614,942191905,DVZ6S7VKGRK7,PORTERVILLE UNIFIED SCHOOL DISTRICT,10,6/6/2023
+210703,520795508,,"APPALACHIAN REGIONAL HEALTHCARE, INC",10,3/25/2021
+211645,586000212,,CLAYTON COUNTY BOARD OF EDUCATION,10,7/6/2023
+219041,640239641,LB93DH1VACJ3,SINGING RIVER ELECTRIC COOPERATIVE,10,4/20/2023
+221345,592097520,,"FEEDING SOUTH FLORIDA, INC.",10,4/19/2022
+222245,640195613,,MAGNOLIA ELECTRIC POWER ASSOCIATION,10,5/4/2022
+223101,237353532,,ST. MARY'S FOOD BANK ALLIANCE AND SMFB FOUNDATION,10,12/21/2021
+226122,222534389,,"RUTLAND REGIONAL HEALTH SERVICES, INC",10,6/9/2022
+227622,840399209,CBPFNNJYY9Q1,MEMORIAL REGIONAL HEALTH,10,6/8/2023
+229203,010639602,QC59ZX49LPJ1,"KIPP TEXAS, INC.",10,12/6/2022
+232272,222423882,,"COMMUNITY FOOD BANK OF NEW JERSEY, INC.",10,2/28/2022
+234600,446005758,,OZARKS MEDICAL CENTER,10,6/21/2023
+240754,460454373,E7YMVCB28565,SOUTHEASTERN ELECTRIC COOPERATIVE,10,4/28/2023
+240985,452893839,,EL PASOANS FIGHTING HUNGER,10,10/6/2022
+241118,560845796,KJ3FUJ4JD2K9,CUMBERLAND COUNTY HOSPITAL SYSTEM INC.,10,7/6/2023
+242278,611566644,,"GEORGIA CHILDCARE RESOURCES, INC.",10,10/5/2022
+245337,860181654,,HONORHEALTH,10,10/3/2022
+245423,475280523,,SRUF CAMPUS HOUSING INC. AND SUBSIDIARY,10,3/25/2021
+245548,274385692,,AVITA HEALTH SYSTEM,10,3/25/2021
+246806,586001719,,TIFT COUNTY HOSPITAL AUTHORITY,10,3/25/2021
+247269,610458376,,"PIKEVILLE MEDICAL CENTER, INC.",10,7/2/2022
+247412,474302258,,PARTNERS IN NUTRITION,10,2/2/2023
+248314,416005815,,WELIA HEALTH,10,3/25/2021
+248730,812092154,GKYNWL1LBAL8,RESIDENTIAL REVIVAL INDIANA,10,11/1/2022
+249970,815323275,,"ONE BROOKLYN HEALTH SYSTEM, INC.",10,10/10/2022
+252272,680620773,,CAMPBELL UNIVERSITY FOUNDATION INC,10,2/15/2022
+252682,562217808,,CAHEC PROPERTIES CORPORATION AND AFFILIATES,10,8/16/2022
+279,010281875,,EASTERN MAINE DEVELOPMENT CORPORATION,11,6/16/2022
+99460,726012779,,GULF STATES MARINE FISHERIES COMMISSION,11,8/16/2022
+184959,936002376,,PACIFIC STATES MARINE FISHERIES COMMISSION,11,3/25/2021
+2164,042103594,,MASSACHUSETTS INSTITUTE OF TECHNOLOGY,12,3/25/2021
+2932,042239742,,THE MITRE CORPORATION,12,3/25/2021
+3379,042505372,,"THE CHARLES STARK DRAPER LABORATORY, INC.",12,3/25/2021
+11634,132593244,HRH1XLHY1XJ3,RIVERSIDE RESEARCH INSTITUTE,12,6/21/2023
+18232,150589832,,"SRC, INC.",12,3/25/2021
+35809,250969449,,CARNEGIE MELLON UNIVERSITY,12,3/25/2021
+57098,382761126,,NATIONAL CENTER FOR MANUFACTURING SCIENCES AND SUBSIDIARY AND AFFILIAT,12,3/25/2021
+68000,440545878,,MRIGLOBAL,12,3/25/2021
+72985,520595110,,THE JOHNS HOPKINS UNIVERSITY,12,3/25/2021
+73200,520741393,,LOGISTICS MANAGEMENT INSTITUTE,12,3/25/2021
+75117,521317896,,HENRY M. JACKSON FOUNDATION FOR THE ADVANCEMENT OF MILITARY MEDI,12,3/25/2021
+77832,530196605,,AMERICAN NATIONAL RED CROSS,12,12/10/2021
+78019,530233247,,INSTITUTE FOR DEFENSE ANALYSES,12,3/25/2021
+78670,540695125,MEHNDWCSBKD5,ANALYTIC SERVICES INC.,12,5/23/2023
+79792,541558882,,CNA,12,3/25/2021
+109945,840865803,FR89NXNNSDX3,NATIONAL MARROW DONOR PROGRAM,12,1/31/2023
+118387,941160950,,SRI INTERNATIONAL,12,3/25/2021
+124066,951958142,,THE RAND CORPORATION,12,3/25/2021
+124199,952102389,,THE AEROSPACE CORPORATION,12,4/28/2023
+166432,936001832,,PORT OF PORTLAND,12,11/9/2021
+188008,911593913,TR9RX33188T4,THE GENEVA FOUNDATION,12,7/13/2023
+189490,916001299,,CLARK COUNTY,12,10/3/2022
+198458,571067151,,ADVANCED TECHNOLOGY INTERNATIONAL,12,3/25/2021
+211446,756037853,,CIVIL AIR PATROL,12,3/25/2021
+216666,314379427,,BATTELLE MEMORIAL INSTITUTE,12,3/25/2021
+216862,742678229,,FLEXTECH ALLIANCE INC. DBA NEXTFLEX,12,7/1/2022
+219797,660540236,,GUAM WATERWORKS AUTHORITY,12,4/19/2022
+221323,760727663,,NATIONAL CENTER FOR DEFENSE MANUFACTURING AND MACHINING,12,6/30/2022
+245327,465718220,,BEAUMONT HEALTH,12,10/10/2022
+246440,474960128,,MEDICAL TECHNOLOGY ENTERPRISE CONSORTIUM,12,9/2/2022
+251628,262571197,,NATIONAL ADVANCED MOBILITY CONSORTIUM,12,4/14/2022
+3122,042382027,,"COMMUNITY TEAMWORK, INC.",14,3/25/2021
+3141,042389659,,"SOUTH MIDDLESEX OPPORTUNITY COUNCIL, INC. AND AFFILIATES",14,4/6/2022
+3235,042454675,C1MZSNM5PNJ6,"RCAP SOLUTIONS, INC.",14,1/9/2023
+3416,042518368,,"WAY FINDERS, INC. AND SUBSIDIARIES",14,12/7/2021
+3471,042543731,,"HRCA HOUSING FOR ELDERLY, INC D/B/A JACK SATTER HOUSE",14,12/26/2021
+4261,042775991,,"METROPOLITAN BOSTON HOUSING PARTNERSHIP, INC. DBA METRO HOUSING/BOSTON",14,3/25/2021
+4902,043145070,,THE PELHAM II CORPORATION,14,4/22/2022
+8474,111630755,,THE BROOKLYN HOSPITAL CENTER,14,10/6/2022
+8527,111635081,,MAIMONIDES MEDICAL CENTER,14,3/25/2021
+8862,112077747,DA4DKV6LGFK9,ISRAEL SENIOR CITIZENS HOUSING DEVELOPMENT FUND CORP,14,11/27/2022
+11022,131740122,,ST BARNABAS HOSPITAL,14,3/25/2021
+11980,132738818,,METROPOLITAN COUNCIL ON JEWISH POVERTY AND AFFILIATES,14,3/25/2021
+12543,132997301,,THE ST. LUKE'S-ROOSEVELT HOSPITAL CENTER AND AFFILIATES,14,3/25/2021
+17092,141641730,,ALBANY MEDICAL CENTER,14,3/25/2021
+20500,221487173,,ENGLEWOOD HOSPITAL AND MEDICAL CENTER AND SUBSIDIARIES,14,3/25/2021
+20543,262019056,,SAINT PETER'S HEALTHCARE SYSTEM,14,10/10/2022
+45589,270581133,,UNION HEALTH SYSTEM,14,3/25/2021
+50485,363166895,,SINAI HEALTH SYSTEM AND AFFILIATES,14,3/25/2021
+59460,391249426,,"COMMUNITY ADVOCATES, INC. AND AFFILIATES",14,7/21/2022
+72628,510116653,,DELAWARE STATE HOUSING AUTHORITY,14,3/25/2021
+87073,582044503,,"MEADOWS HEALTHCARE ALLIANCE, INC. DBA MEADOWS HEALTH",14,3/25/2021
+93339,620752586,,"DOUGLAS-CHEROKEE ECONOMIC AUTHORITY, INC",14,3/25/2021
+98545,720475545,,GENERAL HEALTH SYSTEM,14,3/25/2021
+122035,943155150,,LOW INCOME HOUSING INSTITUTE,14,10/3/2022
+127155,954382752,CGJWB981V7W5,UNITED STATES VETERANS INITIATIVE AND SUBSIDIARIES,14,1/17/2023
+129006,630980480,,ALABAMA HOUSING FINANCE AUTHORITY,14,1/6/2022
+129064,636001579,,JEFFERSON COUNTY COMMISSION,14,6/5/2022
+129234,636001201,E6FCXGL5FC43,CITY OF BIRMINGHAM,14,5/30/2023
+129511,636000390,,HOUSING AUTHORITY OF THE BIRMINGHAM DISTRICT,14,3/25/2021
+130250,866000252,,"CITY OF MESA, ARIZONA",14,2/25/2022
+130252,866000256,,"CITY OF PHOENIX, ARIZONA",14,3/25/2021
+130278,866000266,,"CITY OF TUCSON, ARIZONA",14,3/25/2021
+131805,680181576,,CALIFORNIA HOUSING FINANCE AGENCY,14,3/25/2021
+131848,946000519,,COUNTY OF MARIN,14,3/25/2021
+131882,956000939,,COUNTY OF SAN LUIS OBISPO,14,3/25/2021
+131925,946027361,Q3MWNS85DEF8,CITY OF FREMONT,14,3/31/2023
+132044,956000733,,CITY OF LONG BEACH,14,3/25/2021
+132045,956000735,,CITY OF LOS ANGELES,14,3/25/2021
+132056,956000759,,CITY OF PASADENA,14,3/25/2021
+132057,956000764,QLK7V1HAF1J2,CITY OF POMONA,14,3/31/2023
+132062,956000790,,CITY OF SANTA MONICA,14,4/12/2022
+132155,956000666,,CITY OF ANAHEIM,14,3/25/2021
+132161,956005848,,CITY OF GARDEN GROVE,14,3/26/2022
+132169,956000785,,CITY OF SANTA ANA,14,6/29/2022
+132185,952759391,WANRBCLK1AD7,CITY OF IRVINE,14,12/6/2022
+132202,956000769,,CITY OF RIVERSIDE,14,12/23/2021
+132219,946000759,,SACRAMENTO HOUSING AND REDEVELOPMENT AGENCY,14,3/25/2021
+132248,956000690,KVBYLRZMAGJ9,CITY OF CHULA VISTA,14,3/31/2023
+132271,946000436,YV3KNQAKJLQ7,CITY OF STOCKTON,14,5/17/2023
+132318,946000419,,CITY OF SAN JOSE,14,3/25/2021
+132350,946000428,MPMQPX61FMW7,CITY OF SANTA ROSA,14,5/15/2023
+132402,946000758,,"HOUSING AUTHORITY OF THE CITY OF OAKLAND, CALIFORNIA",14,3/25/2021
+132417,942784334,,HOUISNG AUTHORITY OF THE COUNTY OF ALAMEDA,14,3/25/2021
+132478,946000746,,HOUSING AUTHORITY OF THE COUNTY OF CONTRA COSTA,14,3/25/2021
+132630,956001629,,HOUSING AUTHORITY OF THE COUNTY OF KERN,14,4/8/2022
+132734,956001623,,HOUSING AUTHORITY OF THE CITY OF LOS ANGELES,14,3/25/2021
+133100,956001632,,HOUSING AUTHORITY OF THE COUNTY OF SAN BERNARDINO,14,3/25/2021
+133274,946000761,,HOUSING AUTHORITY OF THE COUNTY OF SAN MATEO,14,3/25/2021
+133295,956001634,,HOUSING AUTHORITY OF THE COUNTY OF SANTA BARBARA,14,3/25/2021
+133348,941699385,,HOUSING AUTHORITY OF THE COUNTY OF SANTA CRUZ,14,3/25/2021
+133426,946003023,,STANISLAUS REGIONAL HOUSING AUTHORITY,14,6/30/2022
+135066,846002414,,HOUSING AUTHORITY OF THE CITY AND COUNTY OF DENVER,14,3/25/2021
+135673,066001870,,"CITY OF HARTFORD, CONNECTICUT",14,3/25/2021
+135844,237060999,,"PARK CITY COMMUNITIES, INC. FKA HA OF THE CITY OF BRIDGEPORT",14,3/25/2021
+135912,066000413,,HOUSING AUTHORITY OF THE CITY OF NEW HAVEN D/B/A ELM CITY COMMUNITIES,14,3/25/2021
+135998,516000160,,"NEW CASTLE COUNTY, DELAWARE",14,10/10/2022
+136109,596000695,,"LAKE COUNTY, FL",14,5/26/2022
+136122,596000773,,"ORANGE COUNTY, FLORIDA",14,3/25/2021
+136123,596000780,,OSCEOLA COUNTY BOARD OF COUNTY COMMISSIONERS,14,3/23/2022
+136125,596000793,,"PASCO COUNTY, FL",14,3/25/2021
+136225,596000375,,"CITY OF MIAMI, FL",14,5/17/2022
+136246,596000406,UBMRAF87HQF5,CITY OF PENSACOLA,14,3/30/2023
+136274,591101138,,CITY OF TAMPA,14,5/3/2022
+136350,596000396,CYLDC3FVBLJ9,CITY OF ORLANDO,14,4/28/2023
+136521,591562393,,BROWARD COUNTY HOUSING AUTHORITY,14,3/25/2021
+136538,591220360,,HIALEAH HOUSING AUTHORITY,14,3/25/2021
+136904,586000802,LUJ2LTXZBX26,CLAYTON COUNTY BOARD OF COMMISSIONERS,14,7/24/2023
+136918,586000814,,"DEKALB COUNTY, GA",14,10/10/2022
+136943,586000835,,GWINNETT COUNTY BOARD OF COMMISSIONERS,14,7/22/2022
+137893,996000567,,COUNTY OF HAWAII,14,10/6/2022
+137894,996000658,,COUNTY OF KAUAI,14,3/15/2022
+137895,996000618,,COUNTY OF MAUI,14,3/25/2021
+137896,996001257,,CITY AND COUNTY OF HONOLULU,14,3/25/2021
+138538,362708817,,ILLINOIS HOUSING DEVELOPMENT AUTHORITY,14,3/25/2021
+138628,366006551,,"DUPAGE COUNTY, ILLINOIS",14,9/1/2022
+140543,366001313,,HOUSING AUTHORITY OF COOK COUNTY,14,3/25/2021
+142228,351485172,,INDIANA HOUSING AND COMMUNITY DEVELOPMENT AUTHORITY,14,3/25/2021
+142675,356001063,,CITY OF INDIANAPOLIS,14,7/26/2022
+145235,486000653,,CITY OF WICHITA,14,3/25/2021
+146140,320049006,,LOUISVILLE/JEFFERSON COUNTY METRO GOVERNMENT,14,3/25/2021
+146735,726001371,,TANGIPAHOA PARISH GOVERNMENT,14,8/10/2022
+146970,726001390,T16NA5YA1WH3,TERREBONNE PARISH CONSOLIDATED GOVERNMENT,14,6/26/2023
+147725,526000889,,"BALTIMORE COUNTY, MD",14,3/25/2021
+147735,526000943,,"FREDERICK COUNTY, MARYLAND",14,5/24/2022
+147738,526000959,YAALVYBSJWY1,HARFORD COUNTY,14,4/13/2023
+147739,526000965,,HOWARD COUNTY,14,5/26/2022
+147741,526000980,,MONTGOMERY COUNTY,14,3/25/2021
+147743,526000998,,"PRINCE GEORGE'S COUNTY, MD",14,3/25/2021
+147758,526000769,,"CITY OF BALTIMORE, MARYLAND",14,3/25/2021
+147884,526001394,,HOUSING AUTHORITY OF BALTIMORE CITY,14,10/10/2022
+147919,042443980,,MASSACHUSETTS HOUSING FINANCE AGENCY,14,3/25/2021
+147937,046001402,,CITY OF NEW BEDFORD,14,3/25/2021
+147952,046001383,JJ3JKMU5K4L1,CITY OF CAMBRIDGE MASSACHUSETTS,14,3/31/2023
+147965,046001380,,"CITY OF BOSTON, MASSACHUSETTS",14,3/25/2021
+148729,386004862,,"COUNTY OF KENT, MICHIGAN",14,6/22/2022
+148751,386004876,,"OAKLAND COUNTY, MICHIGAN",14,1/4/2023
+148881,386004611,,CITY OF FLINT,14,4/9/2022
+148931,386004628,VARBEGGYV751,CITY OF LANSING,14,4/28/2023
+149215,386004606,,"CITY OF DETROIT, MICHIGAN",14,3/25/2021
+150667,411599130,,MINNESOTA HOUSING FINANCE AGENCY,14,3/25/2021
+151542,411677709,,MINNEAPOLIS PUBLIC HOUSING AUTHORITY,14,3/25/2021
+152747,430979983,,MISSOURI HOUSING DEVELOPMENT COMMISSION,14,3/25/2021
+153460,446000716,,"HOUSING AUTHORITY OF KANSAS CITY, MISSOURI",14,3/25/2021
+153624,436003234,,HOUSING AUTHORITY OF ST. LOUIS COUNTY,14,3/25/2021
+155086,476006304,,"CITY OF OMAHA, NEBRASKA",14,9/22/2022
+155160,476006256,,"CITY OF LINCOLN, NEBRASKA",14,4/15/2022
+155946,886000720,,"CITY OF HENDERSON, NEVADA",14,10/10/2022
+155947,886000198,,CITY OF LAS VEGAS,14,1/29/2022
+155960,886000201,,"CITY OF RENO, NEVADA",14,2/26/2022
+155991,886000260,,HOUSING AUTHORITY OF THE CITY OF RENO,14,6/14/2022
+156041,026046088,,NEW HAMPSHIRE HOUSING FINANCE AUTHORITY,14,3/25/2021
+156513,226002426,,COUNTY OF BERGEN,14,1/23/2023
+156754,226002138,,CITY OF NEWARK,14,8/16/2023
+156782,226002501,,JERSEY CITY HOUSING AUTHORITY,14,3/25/2021
+158023,850252748,,NEW MEXICO MORTGAGE FINANCE AUTHORITY,14,3/25/2021
+158041,856000642,,UNIVERSITY OF NEW MEXICO,14,3/25/2021
+158056,856000202,,STATE OF NEW MEXICO COUNTY OF BERNALILLO,14,1/7/2022
+158089,856000102,,CITY OF ALBUQUERQUE,14,3/25/2021
+158537,166002533,,CITY OF BUFFALO,14,1/13/2022
+158643,160791244,,ROCHESTER HOUSING AUTHORITY,14,3/25/2021
+158767,156000416,TXMLVC8GKRV9,"CITY OF SYRACUSE, NEW YORK",14,3/30/2023
+158993,136007340,DA3CE2FN4MW1,CITY OF YONKERS,14,1/19/2023
+160937,561700536,,NORTH CAROLINA HOUSING FINANCE AGENCY,14,3/25/2021
+161739,566000560,,"HOUSING AUTHORITY OF THE CITY OF CHARLOTTE, NORTH CAROLINA",14,3/25/2021
+162629,346000646,,CITY OF CLEVELAND,14,3/25/2021
+162757,316000064,,CITY OF CINCINNATI,14,2/11/2022
+162957,316000175,,CITY OF DAYTON,14,8/9/2022
+163900,316401164,,COLUMBUS METROPOLITAN HOUSING AUTHORITY,14,3/25/2021
+163917,316000188,,CINCINNATI METROPOLITAN HOUSING AUTHORITY,14,3/25/2021
+163962,346401430,,LUCAS METROPOLITAN HOUSING AUTHORITY,14,3/25/2021
+164035,346000029,,AKRON METROPOLITAN HOUSING AUTHORITY,14,3/25/2021
+165114,736005359,,THE CITY OF OKLAHOMA CITY,14,5/6/2022
+165198,736005470,,CITY OF TULSA OKLAHOMA,14,4/12/2022
+166054,936002316,,"WASHINGTON COUNTY, OREGON",14,3/25/2021
+166150,936002160,QC6XU4HJEZW3,CITY OF EUGENE,14,12/21/2022
+166198,936002236,,"CITY OF PORTLAND, OREGON",14,3/25/2021
+166796,231733024,,PENNSYLVANIA HOUSING FINANCE AGENCY,14,3/25/2021
+169402,236003266,,PHILADELPHIA HOUSING AUTHORITY,14,3/25/2021
+170323,056000193,,HOUSING AUTHORITY OF THE CITY OF PROVIDENCE,14,6/2/2022
+170356,591585639,,SOUTH CAROLINA STATE HOUSING FINANCE AND DEVELOPMENT AUTHORITY,14,3/25/2021
+171819,626001582,,KNOXVILLE COMMUNITY DEVELOPMENT CORPORATION,14,3/25/2021
+171869,626001584,,MEMPHIS HOUSING AUTHORITY,14,3/25/2021
+172003,756000905,,DALLAS COUNTY,14,3/25/2021
+172116,746000558,,"MONTGOMERY COUNTY, TEXAS",14,4/22/2022
+172167,756001170,,TARRANT COUNTY,14,3/25/2021
+172246,746002070,,CITY OF SAN ANTONIO,14,3/25/2021
+172393,756000508,,"CITY OF DALLAS, TEXAS",14,3/25/2021
+172399,756000543,,CITY OF GRAND PRAIRIE TEXAS,14,4/26/2022
+172814,756000444,NV4JC28TLJL6,"CITY OF AMARILLO, TEXAS",14,3/9/2023
+172891,756000528,,CITY OF FORT WORTH,14,3/25/2021
+173037,746002108,,HOUSING AUTHORITY OF THE CITY OF SAN ANTONIO,14,3/25/2021
+173203,746000787,,HOUSING AUTHORITY OF THE CITY OF EL PASO,14,3/25/2021
+173806,746000117,,HOUSING AUTHORITY OF THE CITY OF AUSTIN,14,3/25/2021
+176036,546001123,,"ARLINGTON COUNTY, VIRGINIA",14,3/25/2021
+176394,916001368,,SNOHOMISH COUNTY,14,10/3/2022
+176397,916001375,GU94D6PX5KT1,THURSTON COUNTY,14,7/13/2023
+176492,916001275,,CITY OF SEATTLE,14,3/25/2021
+176569,916001283,,CITY OF TACOMA,14,3/16/2023
+176795,916000978,,HOUSING AUTHORITY OF THE COUNTY OF KING,14,3/25/2021
+176796,916000977,,HOUSING AUTHORITY OF THE CITY OF SEATTLE,14,3/25/2021
+176851,916000962,,THE HOUSING AUTHORITY OF THE CITY OF BREMERTON,14,3/25/2021
+176997,911061936,,HOUSING AUTHORITY OF SNOHOMISH COUNTY,14,3/25/2021
+177869,391209764,,WISCONSIN HOUSING AND ECONOMIC DEVELOPMENT AUTHORITY,14,3/25/2021
+178024,396005507,,CITY OF MADISON,14,7/12/2022
+178208,396005532,,"CITY OF MILWAUKEE, WISCONSIN",14,3/25/2021
+180177,660433539,DE37L8G4Q8M7,MUNICIPALITY OF CAROLINA,14,4/3/2023
+180266,660378410,,VIRGIN ISLANDS HOUSING AUTHORITY,14,3/30/2023
+180847,161030027,,BUFFALO URBAN RENEWAL AGENCY,14,10/21/2021
+181063,521934645,,DISTRICT OF COLUMBIA HOUSING AUTHORITY,14,3/25/2021
+181497,010312916,,MAINE STATE HOUSING AUTHORITY,14,3/25/2021
+181501,136007014,,MUNICIPAL HOUSING AUTHORITY FOR THE CITY OF YONKERS,14,3/25/2021
+181506,546001564,,RICHMOND REDEVELOPMENT AND HOUSING AUTHORITY,14,3/25/2021
+181811,362170826,,ADMIN & SERVICE DELIVER OPERATIONS OF THE ARCHDIOCESE OF CHICAGO,14,3/25/2021
+182042,820302333,,IDAHO HOUSING AND FINANCE ASSOCIATION,14,3/25/2021
+182086,956000714,,CITY OF GLENDALE,14,3/25/2021
+182143,550515944,,WEST VIRGINIA HOUSING DEVELOPMENT FUND,14,3/25/2021
+182187,481194075,,UNIFIED GOVERNMENT OF WYANDOTTE COUNTY / KANSAS CITY KANSAS,14,12/15/2022
+182279,141967871,,HAWAII HOUSING FINANCE AND DEVELOPMENT CORPORATION,14,1/6/2022
+182305,226002481,,COUNTY OF UNION,14,2/6/2023
+182368,521332044,,HOUSING AUTHORITY OF PRINCE GEORGE'S COUNTY,14,3/25/2021
+182640,521527664,UFN9T95N4GQ9,OHIO HOUSING FINANCE AGENCY,14,10/17/2022
+182827,581222605,,GEORGIA HOUSING & FINANCE AUTHORITY,14,10/7/2021
+182986,061267528,,CONNECTICUT HOUSING FINANCE AUTHORITY,14,3/25/2021
+183000,660433574,,MUNICIPALITY OF BAYAMON,14,3/25/2021
+183029,953777596,,LOS ANGELES COUNTY DEVELOPMENT AUTHORITY FKA COMMUNITY DEV COMMISSION,14,3/25/2021
+183038,030221655,,VERMONT STATE HOUSING AUTHORITY,14,3/25/2021
+184259,726000536,,HOUSING AUTHORITY OF NEW ORLEANS,14,3/25/2021
+184465,132946111,,"GRAND STREET GUILD HOUSING DEVELOPMENT FUND COMPANY, INC.",14,3/25/2021
+184655,660427034,,MUNICIPALITY OF SAN JUAN,14,3/25/2021
+184677,386000134,,MICHIGAN STATE HOUSING DEVELOPMENT AUTHORITY,14,3/25/2021
+185800,136400571,,NEW YORK CITY HOUSING AUTHORITY,14,3/25/2021
+185803,256001768,,HOUSING AUTHORITY OF THE CITY OF PITTSBURGH,14,3/25/2021
+186308,416005375,,CITY OF MINNEAPOLIS,14,8/16/2022
+186694,411309192,,PUBLIC HOUSING AGENCY OF THE CITY OF SAINT PAUL,14,3/25/2021
+186867,226002507,,HOUSING AUTHORITY OF THE CITY OF NEWARK,14,3/25/2021
+186914,730999618,,OKLAHOMA HOUSING FINANCE AGENCY,14,3/25/2021
+187125,540921892,,VIRGINIA HOUSING DEVELOPMENT AUTHORITY,14,3/25/2021
+187226,946002988,,HOUSING AUTHORITY OF THE COUNTY OF MARIN,14,10/3/2022
+187645,586000511,,CITY OF ATLANTA,14,3/25/2021
+187776,116001929,,TOWN OF HEMPSTEAD,14,10/20/2022
+187886,226002454,,COUNTY OF MIDDLESEX,14,10/10/2022
+188017,351939038,,INDIANAPOLIS HOUSING AGENCY,14,3/25/2021
+188422,236003050,,"COUNTY OF YORK, PENNSYLVANIA",14,3/25/2021
+188641,593278450,,JACKSONVILLE HOUSING AUTHORITY,14,3/25/2021
+188774,953390896,,SAN DIEGO HOUSING COMMISSION,14,3/25/2021
+188871,946000749,,HOUSING AUTHORITY OF THE CITY OF FRESNO,14,3/25/2021
+189287,222045817,,NEW JERSEY ECONOMIC DEVELOPMENT AUTHORITY,14,3/25/2021
+189854,626001585,,METROPOLITAN DEVELOPMENT AND HOUSING AGENCY,14,3/25/2021
+190105,942158408,,SONOMA COUNTY COMMUNITY DEVELOPMENT COMMISSION,14,12/16/2021
+190261,520859090,,HOUSING OPPORTUNITIES COMMISSION OF MONTGOMERY COUNTY,14,3/25/2021
+190356,256000022,,ALLEGHENY COUNTY HOUSING AUTHORITY,14,3/25/2021
+190376,132679034,,"SOUTHEAST GRAND STREET GUILD HOUSING DEVELOPMENT FUND COMPANY, INC.",14,3/25/2021
+191539,916000980,,HOUSING AUTHORITY OF THE CITY OF TACOMA,14,10/3/2022
+191678,746001164,,CITY OF HOUSTON,14,3/25/2021
+191679,446000201,,"CITY OF KANSAS CITY, MISSOURI",14,5/5/2022
+191815,046003214,UQE5LKJA6E47,LYNN HOUSING AUTHORITY,14,12/31/2022
+191887,366006541,,"COOK COUNTY, ILLINIOS",14,3/25/2021
+191925,256000879,,CITY OF PITTSBURGH,14,9/20/2022
+192010,646010364,,MISSISSIPPI REGIONAL HOUSING AUTHORITY VIII,14,10/6/2022
+192516,956000776,,CITY OF SAN DIEGO,14,3/25/2021
+192579,954498834,,LOS ANGELES HOMELESS SERVICES AUTHORITY,14,12/31/2022
+192789,611447539,,LOUISVILLE METRO HOUSING AUTHORITY,14,3/25/2021
+192900,946002959,,HOUSING AUTHORITY OF CITY AND COUNTY OF SAN FRANCISCO,14,3/25/2021
+192992,046001907,,BOSTON HOUSING AUTHORITY,14,3/25/2021
+193178,132688369,,NEW YORK CITY HOUSING DEVELOPMENT CORPORATION,14,3/25/2021
+193278,866000247,CRE4N8H1X6J5,"CITY OF GLENDALE, ARIZONA",14,4/4/2023
+193318,941667160,,SANTA CLARA COUNTY HOUSING AUTHORITY,14,3/16/2022
+193337,586002356,,"THE HOUSING AUTHORITY OF THE CITY OF ATLANTA, GEORGIA",14,3/25/2021
+193346,956001631,,HOUSING AUTHORITY OF THE COUNTY OF RIVERSIDE,14,3/25/2021
+193354,946000299,KC7DYLV9EF25,CITY OF BERKELEY,14,3/31/2023
+194174,436003231,,"CITY OF ST. LOUIS, MISSOURI",14,3/25/2021
+194206,436003254,,ST. LOUIS HOUSING AUTHORITY,14,3/25/2021
+194247,846000762,,EAGLE COUNTY,14,3/25/2021
+194480,756001817,,"THE HOUSING AUTHORITY OF THE CITY OF DALLAS, TEXAS",14,10/5/2022
+194793,960001279,,GUAM HOUSING AND URBAN RENEWAL AUTHORITY,14,3/25/2021
+195537,226002466,,COUNTY OF PASSAIC,14,11/1/2022
+195591,366000618,,CHICAGO HOUSING AUTHORITY,14,3/25/2021
+195678,860185412,,NAVAJO HOUSING AUTHORITY,14,3/25/2021
+196157,046004472,,WORCESTER HOUSING AUTHORITY,14,12/27/2021
+196782,391159751,,HOUSING AUTHORITY OF THE CITY OF MILWAUKEE,14,3/25/2021
+196974,596001289,,HOUSING AUTHORITY OF THE CITY OF TAMPA,14,3/25/2021
+196991,132946271,,"GRAND STREET GUILD EAST HOUSING DEVELOPMENT FUND COMPANY, INC.",14,3/25/2021
+197644,610864674,,KENTUCKY HOUSING CORPORATION,14,3/25/2021
+197664,990334987,,HAWAII PUBLIC HOUSING AUTHORITY,14,3/25/2021
+197817,161533232,,KALEIDA HEALTH,14,3/25/2021
+197819,346000703,,CUYAHOGA METROPOLITAN HOUSING AUTHORITY,14,3/25/2021
+198212,830208667,,WYOMING BUSINESS COUNCIL,14,5/13/2022
+198353,521699886,,IOWA FINANCE AUTHORITY,14,3/25/2021
+198588,223548695,,"CAPITAL HEALTH SYSTEM, INC. AND SUBSIDIARIES",14,3/25/2021
+199966,133957095,,THE NEW YORK AND PRESBYTERIAN HOSPITAL,14,3/25/2021
+200364,660466229,,PUERTO RICO PUBLIC HOUSING ADMINISTRATION,14,3/25/2021
+200579,216000881,,COUNTY OF MONMOUTH,14,3/25/2021
+200897,210634462,,THE COOPER HEALTH SYSTEM,14,10/10/2022
+201893,546001466,,NORFOLK REDEVELOPMENT AND HOUSING AUTHORITY,14,3/25/2021
+202639,946000760,,HOUSING AUTHORITY OF THE COUNTY OF SAN JOAQUIN,14,5/24/2022
+203375,730781666,VP1JKMDPCXC8,HOUSING AUTHORITY OF THE CHEROKEE NATION,14,4/25/2023
+204222,756001818,,FORT WORTH HOUSING SOLUTIONS,14,3/25/2021
+205004,382142140,CLUCTHFSJKP3,UNITED COMMUNITY HOUSING COALITION,14,6/13/2023
+205354,042732439,,"NEIGHBORHOOD HOUSING SERVICES OF THE SOUTH SHORE, INC.",14,12/16/2021
+207657,141338428,,ELLIS HOSPITAL (D/B/A ELLIS MEDICINE),14,3/25/2021
+207970,456002413,,BANK OF NORTH DAKOTA,14,3/25/2021
+208656,363971142,,"LAKEVIEW TOWERS RESIDENTS ASSOCIATION, INC.",14,3/25/2021
+210104,450371338,,NORTH DAKOTA HOUSING FINANCE AGENCY,14,3/25/2021
+210452,582489635,,"GEORGIA HAP ADMINISTRATORS, INC. DBA NATIONAL HOUSING COMPLIANCE",14,3/25/2021
+210661,593451366,,FLORIDA HOUSING FINANCE CORPORATION,14,3/25/2021
+212132,113257656,,358-74 VERNON AVENUE HOUSING DEVELOPMENT FUND CORPORATION,14,3/25/2021
+215856,310929576,,KNOX COMMUNITY HOSPITAL AND SUBSIDIARIES,14,3/25/2021
+215944,231664406,,PHILADELPHIA HOUSING DEVELOPMENT CORPORATION,14,4/6/2022
+217330,043358566,,"UMASS MEMORIAL HEALTH CARE, INC.",14,7/1/2022
+217432,222551209,,ROCHESTER REGIONAL HEALTH,14,3/25/2021
+217653,300002040,,WISCONSIN HOUSING PRESERVATION CORP.,14,3/25/2021
+218144,651176352,,HARRIS COUNTY HOUSING AUTHORITY,14,3/25/2021
+218150,383617958,,DETROIT HOUSING COMMISSION,14,3/25/2021
+218774,132710179,,"EAST HARLEM PILOT BLOCK HDFC, INC. 012-44096",14,3/25/2021
+220827,582669483,,"CALIFORNIA AFFORDABLE HOUSING INITIATIVES, INC",14,3/25/2021
+220829,113636256,,CATHERINE SHERIDAN HOUSING DEVELOPMENT FUND CO INC,14,9/28/2021
+221283,741303720,,BAPTIST HOSPITALS OF SOUTHEAST TEXAS AND SUBSIDIARIES,14,3/25/2021
+221552,840676451,,COLORADO HOUSING AND FINANCE AUTHORITY,14,3/25/2021
+222011,571098556,,MEDICAL UNIVERSITY HOSPITAL AUTHORITY,14,3/25/2021
+222978,593123362,,NORTH TAMPA HOUSING DEVELOPMENT CORPORATION,14,3/25/2021
+224269,470646706,,"MERCY HOUSING, INC",14,3/25/2021
+224512,221838278,,NEW JERSEY HOUSING AND MORTGAGE FINANCE AGENCY,14,3/25/2021
+226802,640644578,Q23XVN4NV7T3,MISSISSIPPI HOME CORPORATION,14,1/4/2023
+229449,237379161,,"SISTERS OF CHARITY OF LEAVENWORTH HEALTH SYSTEM, INC",14,3/25/2021
+230355,160984913,,PATHSTONE CORPORATION AND AFFILIATES,14,3/25/2021
+231858,660219758,,"MENNONITE GENERAL HOSPITAL, INC",14,3/25/2021
+233668,020222150,,LRGHEALTHCARE,14,3/25/2021
+234054,270910670,,SOUTHERN NEVADA REGIONAL HOUSING AUTHORITY,14,3/25/2021
+236573,550357057,,"WHEELING HOSPITAL, INC.",14,10/3/2022
+236700,362170152,,MERCY HEALTH SYSTEM OF CHICAGO AND SUBSIDIARIES,14,3/25/2021
+237045,454619102,,LOUISIANA HOUSING CORPORATION,14,3/25/2021
+237149,770301242,,HOUSING AUTHORITY OF FRESNO COUNTY,14,3/25/2021
+237460,581259426,,HOUSING ASSISTANCE DIVISION OF GEORGIA DEPT. OF COMMUNITY AFFAIRS,14,3/25/2021
+237652,453615582,,DIVISION HOUSING CORPORATION,14,3/25/2021
+238623,952082686,,RIDGECREST REGIONAL HOSPITAL,14,3/25/2021
+238927,273335876,,PARISH HOSPITAL SERVICE DISTRICT FOR THE PARISH OF ORLEANS- DISTRICT A,14,10/10/2022
+240442,132951474,,THE ASSOCIATED BLIND HOUSING DEVELOPMENT FUND CORP. NY 012-35712,14,3/25/2021
+241168,461215609,LDF2JEF4NNU1,"BALTIMORE REGIONAL HOUSING PARTNERSHIP, INC.",14,7/18/2023
+241631,630985617,,"NAVIGATE AFFORDABLE HOUSING PARTNERS, INC.",14,3/25/2021
+242802,201282261,,THE SYLACAUGA HEALTH CARE AUTHORITY,14,5/4/2022
+242988,463176429,,JOHNSTON HEALTH SERVICES CORPORATION D/B/A JOHNSTON HEALTH,14,3/25/2021
+243191,364272272,VZ2XWYQHNYU7,ALL CHICAGO MAKING HOMELESSNESS HISTORY,14,7/26/2023
+243645,133398657,,ELIZABETH SETON PEDIATRIC CENTER,14,3/25/2021
+245568,742805097,,SOUTHWEST HOUSING COMPLIANCE CORPORATION,14,3/25/2021
+246455,391866425,,GUNDERSEN HEALTH SYSTEM,14,10/3/2022
+246499,952126937,,TRI-CITY HEALTHCARE DISTRICT,14,3/25/2021
+247053,046002081,,CAMBRIDGE HOUSING AUTHORITY,14,11/1/2022
+247377,203165478,,WILLOW BROOK SENIOR COOPERATIVE,14,4/7/2022
+247649,460318666,NQW1BHKPK8U3,SOUTH DAKOTA HOUSING DEVELOPMENT AUTHORITY,14,11/1/2022
+247800,971667160,,SANTA CLARA COUNTY HOUSING AUTHORITY,14,3/25/2021
+248241,421215609,,"BALTIMORE REGIONAL HOUSING PARTNERSHIP, INC.",14,3/25/2021
+248455,936001547,,HOME FORWARD,14,1/9/2023
+248578,591912330,,"NORTH FLORIDA RETIREMENT VILLAGE, INC.",14,3/25/2021
+248721,571090154,,"ATLANTIC HOUSING FOUNDATION, INC.",14,7/10/2022
+249438,596000573,,MIAMI-DADE PUBLIC HOUSING AND COMMUNITY DEVELOPMENT DEPARTMENT,14,3/25/2021
+249449,736006419,,TULSA COUNTY,14,10/14/2022
+249948,382542859,,SPARROW HEALTH SYSTEM,14,9/22/2022
+252569,840469270,,COLORADO WEST HEALTHCARE SYSTEM DBA COMMUNITY HOSPITAL,14,5/2/2022
+255712,951683892,,COMMUNITY MEMORIAL HEALTH SYSTEM,14,10/27/2022
+258050,760454514,JFMKAENLGN81,HARRIS COUNTY- 7 MONTH AUDIT ,14,5/1/2023
+15445,135643799,DDCMMXZ95TQ5,"DUCKS UNLIMITED, INC",15,12/8/2022
+75348,521384139,,NATIONAL FISH AND WILDLIFE FOUNDATION,15,3/25/2021
+115819,920047009,HKXNQ68KHVL9,"KAWERAK, INC.",15,7/11/2023
+115999,920094184,,"COOK INLET TRIBAL COUNCIL, INC.",15,6/29/2022
+129029,636001408,,BALDWIN COUNTY COMMISSION,15,9/16/2022
+130053,920036505,,CENTRAL COUNCIL OF THE TLINGIT AND HAIDA INDIAN TRIBES OF ALASKA,15,4/15/2022
+130584,860107023,,GILA RIVER INDIAN COMMUNITY - DEPARTMENT OF TRIBAL PROGRAMS AND ADMIN,15,3/25/2021
+152117,411661577,KR5CGFZ5W2R4,MILLE LACS BAND OF CHIPPEWA INDIANS,15,6/30/2023
+154763,810230409,,CONFEDERATED SALISH AND KOOTENAI TRIBES OF THE FLATHEAD NATION - GSD,15,3/25/2021
+154769,810292623,,ASSINIBOINE & SIOUX TRIBES OF THE FORT PECK INDIAN RESERVATION,15,6/27/2022
+162367,450220519,,STANDING ROCK SIOUX TRIBE,15,7/6/2022
+177403,910557683,,CONFEDERATED TRIBES OF THE COLVILLE RESERVATION,15,5/11/2023
+180127,660433481,,COMMONWEALTH OF PR DEPARTMENT OF NATURAL AND ENVIRONMENTAL RESOURCES,15,3/7/2023
+180253,980076103,,REPUBLIC OF THE MARSHALL ISLANDS,15,3/25/2021
+181737,810216424,,FORT BELKNAP INDIAN COMMUNITY,15,7/2/2022
+182916,910606339,Q4XPD6M7TNE7,SPOKANE TRIBE OF INDIANS,15,6/29/2023
+185670,980018947,,GOVERNMENT OF GUAM,15,3/25/2021
+186306,460248724,,ROSEBUD SIOUX TRIBE,15,4/28/2023
+187702,820197554,,THE SHOSHONE-BANNOCK TRIBES,15,7/2/2022
+193075,980050061,,FEDERATED STATES OF MICRONESA NATIONAL GOVERNMENT,15,3/25/2021
+193694,860092030,HCBFFF3D5F16,WHITE MOUNTAIN APACHE TRIBE GOVERNMENTAL PROGRAMS AND ADMINISTRATION,15,4/13/2023
+194704,970000676,,TERRITORY OF AMERICAN SAMOA,15,3/25/2021
+199046,910955402,,PUYALLUP TRIBE OF INDIANS,15,6/23/2022
+200742,870267073,,CENTRAL UTAH WATER CONSERVANCY DISTRICT,15,10/28/2021
+203160,521086761,,NATIONAL PARK FOUNDATION,15,4/12/2022
+247301,850098966,,MESCALERO APACHE TRIBE GOVERNMENTAL SERVICES DEPARTMENT,15,2/6/2023
+75269,521362793,,UNIVERSITY OF MARYLAND MEDICAL SYSTEM CORPORATION,16,2/14/2023
+158052,856002585,,NEW MEXICO CORRECTIONS DEPARTMENT,16,1/27/2022
+164892,736006400,,OKLAHOMA COUNTY,16,7/10/2022
+194355,990246363,JLCCLDD3KAV1,HAWAII PACIFIC HEALTH,16,2/9/2023
+11343,131932384,KYYSGM2KW1S3,"NATIONAL COUNCIL ON AGING, INC",17,12/21/2022
+73286,520794300,,AARP FOUNDATION,17,3/25/2021
+77241,526048236,,"SENIOR SERVICE AMERICA, INC.",17,3/25/2021
+137875,990252020,,"STATE OF HAWAII, DEPARTMENT OF ACCOUNTING AND GENERAL SERVICES",17,3/25/2021
+138705,366006672,,WILL COUNTY,17,1/2/2023
+158018,856000577,,STATE OF NEW MEXICO WORKFORCE SOLUTIONS DEPARTMENT,17,3/25/2021
+182738,576000286,,SOUTH CAROLINA DEPARTMENT OF EMPLOYMENT AND WORKFORCE,17,10/20/2022
+192601,576000356,,GREENVILLE COUNTY,17,4/12/2022
+203477,366006585,,KANE COUNTY,17,9/1/2022
+204880,456002490,,JOB SERVICE NORTH DAKOTA,17,3/25/2021
+219566,364122225,,CHICAGO COOK WORKFORCE PARTNERSHIP,17,3/25/2021
+246336,660654753,,PUERTO RICO DEPARTMENT OF ECONOMIC DEVELOPMENT AND COMMERCE,17,5/15/2023
+1368,030179592,,"WORLD LEARNING, INC.",19,3/25/2021
+10633,131624046,,"INSTITUTE OF INTERNATIONAL EDUCATION, INC.",19,3/25/2021
+24011,223087809,,"INTERNATIONAL RESEARCH & EXCHANGES BOARD, INC.",19,3/25/2021
+28540,236393344,C2TKJFL5CKP7,WORLD RELIEF CORPORATION OF NATIONAL ASSOCIATION OF EVANGELICALS,19,4/13/2023
+52434,366110299,L6R3PLXVANN9,AMERICAN BAR ASSOCIATION,19,11/29/2022
+73608,520914250,,NATIONAL CENTER FOR STATE COURTS,19,3/25/2021
+75070,521308986,PLKJMJKQVMM6,"ECDC ETHIOPIAN COMMUNITY DEVELOPMENT COUNCIL, INC",19,6/30/2023
+75207,521344831,,NATIONAL ENDOWMENT FOR DEMOCRACY,19,3/25/2021
+93650,621049974,,THE AMERICAN INSTITUTE IN TAIWAN,19,3/25/2021
+118431,941191246,,THE ASIA FOUNDATION,19,2/15/2022
+198499,521067256,CACNQQMMQ1S1,AMERICAN COUNCILS FOR INTERNATIONAL EDUCATION,19,1/27/2023
+209589,134080201,KNKPMDF9EUB8,"CHURCH WORLD SERVICE, INC",19,4/4/2023
+249317,522302253,K32ZM369MCL6,"MAG AMERICA, INC.",19,8/28/2023
+77849,530196932,,NATIONAL ACADEMY OF SCIENCES,20,3/25/2021
+87296,586002324,,ATLANTA REGIONAL COMMISSION,20,3/25/2021
+124865,952784997,,SAN DIEGO ASSOCIATION OF GOVERNMENTS,20,3/25/2021
+127348,954489711,,ACCESS SERVICES,20,3/25/2021
+129306,636001318,,"CITY OF MOBILE, ALABAMA",20,7/1/2022
+129836,920059987,,"MUNICIPALITY OF ANCHORAGE, ALASKA",20,10/3/2022
+129864,920038816,,"CITY AND BOROUGH OF JUNEAU, ALASKA",20,4/14/2022
+131972,946000338,,CITY OF FRESNO,20,3/25/2021
+132411,941492636,,ALAMEDA CONTRA COSTA TRANSIT DISTRICT,20,3/25/2021
+132422,941552685,,SAN FRANCISCO BAY AREA RAPID TRANSIT,20,3/25/2021
+132750,954351663,,SOUTHERN CALIFORNIA REGIONAL RAIL AUTHORITY/METROLINK,20,1/20/2022
+133082,941338218,,SACRAMENTO REGIONAL TRANSIT DISTRICT,20,12/26/2021
+133121,953035112,,OMNITRANS,20,2/3/2022
+133128,330478781,,SAN BERNARDINO COUNTY TRANSPORTATION AUTHORITY,20,3/25/2021
+133185,953041463,,SAN DIEGO METROPOLITAN TRANSIT SYSTEM,20,3/25/2021
+134855,846000573,,CITY OF COLORADO SPRINGS,20,3/25/2021
+136060,520847040,,WASHINGTON METROPOLITAN AREA TRANSIT AUTHORITY,20,3/25/2021
+136077,596000531,,BROWARD COUNTY FLORIDA,20,3/25/2021
+136110,596000702,,"LEE COUNTY, FLORIDA",20,6/30/2022
+136138,596000885,,COUNTY OF VOLUSIA,20,3/25/2021
+136672,591395059,,PINELLAS SUNCOAST TRANSIT AUTHORITY,20,4/14/2022
+136906,586000804,,COBB COUNTY GOVERNMENT,20,10/24/2022
+137490,580964286,,METROPOLITAN ATLANTA RAPID TRANSIT AUTHORITY,20,3/25/2021
+138010,826000165,HHBYKBT1RJQ5,CITY OF BOISE,20,3/30/2023
+142676,351065397,KLA2ZBMMWA64,INDIANAPOLIS AIRPORT AUTHORITY,20,4/17/2023
+143130,351522844,,NORTHERN INDIANA COMMUTER TRANSPORTATION DISTRICT,20,4/21/2022
+144054,426004336,NDSYD8WM9RL7,"CITY OF CEDAR RAPIDS, IOWA",20,2/16/2023
+146794,726000641,,CITY OF LAKE CHARLES,20,4/27/2022
+146818,726000137,,CITY OF BATON ROUGE - PARISH OF EAST BATON ROUGE,20,3/25/2021
+147017,720899720,,REGIONAL TRANSIT AUTHORITY,20,7/26/2022
+147709,010238864,,GREATER PORTLAND COUNCIL OF GOVERNMENTS,20,12/26/2021
+147916,046006429,,MASSACHUSETTS PORT AUTHORITY,20,2/11/2022
+148509,042323989,,MASSACHUSETTS BAY TRANSPORTATION AUTHORITY,20,3/25/2021
+151616,416007123,,MINNEAPOLIS ST. PAUL METROPOLITAN AIRPORTS COMMISSION,20,6/9/2022
+152842,436003242,,"ST. LOUIS COUNTY, MISSOURI",20,3/25/2021
+153631,436004283,,BI-STATE DEVELOPMENT AGENCY OF THE MO-IL METROPOLITAN DISTRICT,20,1/15/2022
+155930,886000028,,CLARK COUNTY DEPARTMENT OF AVIATION,20,2/15/2023
+156500,222281352,,NEW JERSEY TRANSIT CORPORATION,20,3/25/2021
+158015,856000581,,NEW MEXICO DEPARTMENT OF TRANSPORTATION,20,3/25/2021
+158028,856000565,,NM DEPARTMENT OF PUBLIC SAFETY,20,2/1/2022
+160020,136400654,,THE PORT AUTHORITY OF NEW YORK AND NEW JERSEY,20,3/25/2021
+161378,566000241,E8LMSJ41W817,CITY OF WINSTON-SALEM,20,12/31/2022
+161412,566000230,CGWAKNW9BAD5,CITY OF GREENSBORO,20,11/14/2022
+161476,521333483,,CITY OF CHARLOTTE,20,3/25/2021
+161632,566000236,,CITY OF RALEIGH,20,11/23/2021
+162056,456002186,,CITY OF WILLISTON,20,3/25/2021
+163887,341170830,,GREATER CLEVELAND REGIONAL TRANSIT AUTHORITY,20,7/28/2022
+163904,310800546,,CENTRAL OHIO TRANSIT AUTHORITY,20,8/22/2022
+163922,310834121,LM81VYPTNQL9,SOUTHWEST OHIO REGIONAL TRANSIT AUTHORITY,20,6/30/2023
+163998,237182735,,GREATER DAYTON REGIONAL TRANSIT AUTHORITY,20,8/2/2022
+165981,730978251,,COMANCHE NATION GOVERNMENTAL PROGRAMS DEPARTMENT,20,2/18/2022
+166437,930579353,,TRI-COUNTY METROPOLITAN TRANSPORTATION DISTRICT OF OREGON (TRIMET),20,3/25/2021
+170355,576000954,,SOUTH CAROLINA DEPARTMENT OF TRANSPORTATION,20,3/25/2021
+170419,576000365,,"HORRY COUNTY, SOUTH CAROLINA",20,1/27/2022
+171871,621262331,,MEMPHIS SHELBY COUNTY AIRPORT AUTHORITY,20,12/1/2021
+172025,746001969,,"FORT BEND COUNTY, TEXAS",20,3/25/2021
+172719,756000590,,"CITY OF LUBBOCK, TEXAS",20,4/8/2022
+172924,746000085,,CITY OF AUSTIN,20,3/25/2021
+173040,741330327,,VIA METROPOLITAN TRANSIT,20,3/23/2022
+173406,741998278,,"METROPOLITAN TRANSIT AUTHORITY OF HARRIS COUNTY, TEXAS",20,3/25/2021
+173789,752793063,,FORT WORTH TRANSPORTATION AUTHORITY,20,3/25/2021
+173810,742355740,,CAPITAL METROPOLITAN TRANSPORTATION AUTHORITY,20,3/25/2021
+175159,876000266,EYDMXDL7KP25,PROVO CITY CORPORATION,20,3/30/2023
+175221,870284459,,UTAH TRANSIT AUTHORITY,20,3/25/2021
+176058,540787833,,"COUNTY OF FAIRFAX, VIRGINIA",20,3/25/2021
+176274,546022059,,"CITY OF NEWPORT NEWS, VIRGINIA",20,12/14/2021
+176299,521513553,,METROPOLITAN WASHINGTON AIRPORTS AUTHORITY,20,3/25/2021
+176313,541486769,,POTOMAC AND RAPPAHANNOCK TRANSPORTATION COMMISSION,20,12/2/2021
+176395,916001370,,SPOKANE COUNTY,20,11/1/2022
+177016,911151502,,SPOKANE TRANSIT AUTHORITY,20,7/14/2022
+179767,836000263,,WYOMING DEPARTMENT OF TRANSPORTATION,20,3/25/2021
+180123,660433808,,PUERTO RICO HIGHWAYS AND TRANSPORTATION AUTHORITY,20,4/9/2022
+181547,596000573,,MIAMI-DADE AVIATION DEPARTMENT,20,6/9/2022
+181552,990258224,,HIGHWAYS DIVISION DEPARTMENT OF TRANSPORTATION STATE OF HAWAII,20,3/25/2021
+181885,650002789,,SOUTH FLORIDA REGIONAL TRANSPORTATION AUTHORITY,20,3/25/2021
+181946,990257540,,"DEPARTMENT OF TRANSPORTATION - AIRPORTS DIVISION, STATE OF HAWAII",20,4/9/2022
+182201,941746312,LWYHDXYRZCU8,PORT OF OAKLAND,20,4/3/2023
+182281,237119049,,ORANGE COUNTY TRANSPORTATION AUTHORITY,20,3/25/2021
+182440,616000300,,CINCINNATI/NORTHERN KENTUCKY INTERNATIONAL AIRPORT,20,7/21/2022
+182557,231642972,,SOUTHEASTERN PENNSYLVANIA TRANSPORTATION AUTHORITY,20,3/25/2021
+182598,363306845,,"PACE, THE SUBURBAN BUS DIVISION OF THE RTA",20,6/22/2022
+182654,592982959,,CENTRAL FLORIDA REGIONAL TRANSPORATION AUTHORITY D/B/A LYNX,20,4/12/2022
+182669,946000696,,"GOLDEN GATE BRIDGE, HIGHWAY & TRANSPORTATION DISTRICT",20,3/25/2021
+182813,941749911,,METROPOLITAN TRANSPORTATION COMMISSION,20,3/25/2021
+182830,880209587,,REGIONAL TRANSPORTATION COMMISSION,20,12/10/2021
+182941,876000279,,SALT LAKE CITY CORPORATION,20,1/13/2022
+182960,953009680,,NORTH COUNTY TRANSIT DISTRICT,20,12/27/2021
+183178,256011888,,PORT AUTHORITY OF ALLEGHENY COUNTY,20,3/25/2021
+183342,942186907,,SANTA CLARA VALLEY TRANSPORTATION AUTHORITY,20,3/25/2021
+183850,416008898,,METROPOLITAN COUNCIL OF THE TWIN CITIES AREA,20,3/25/2021
+183954,954401975,,LOS ANGELES COUNTY METROPOLITAN TRANSPORTATION AUTHORITY,20,3/25/2021
+183956,943152903,,PENINSULA CORRIDOR JOINT POWERS BOARD,20,3/25/2021
+184233,132624287,,NEW YORK STATE URBAN DEVELOPMENT CORPORATION AND SUBSIDIARIES,20,7/1/2021
+184309,132552035,,METROPOLITAN TRANSPORTATION AUTHORITY,20,3/25/2021
+185703,860557533,,VALLEY METRO REGIONAL PUBLIC TRANSPORTATION AUTHORITY,20,1/13/2022
+186063,620910914,MATA10910914,MEMPHIS AREA TRANSIT AUTHORITY,20,3/31/2023
+186616,362164842,,CHICAGO TRANSIT AUTHORITY,20,3/25/2021
+187806,916001327,,KING COUNTY,20,3/25/2021
+188391,746000749,,CITY OF EL PASO,20,3/25/2021
+189355,381876249,,SUBURBAN MOBILITY AUTHORITY FOR REGIONAL TRANSPORTATION,20,12/2/2021
+189554,840597392,,REGIONAL TRANSPORTATION DISTRICT,20,3/25/2021
+190125,541781521,,"NOBLIS, INC.",20,3/25/2021
+190624,956000735,,LOS ANGELES WORLD AIRPORTS,20,12/1/2021
+190643,596001253,HU5MVK2S6C73,HILLSBOROUGH COUNTY AVIATION AUTHORITY,20,4/6/2023
+190764,595916967,,GREATER ORLANDO AVIATION AUTHORITY,20,3/22/2022
+192087,956000672,,"CITY OF BAKERSFIELD, CALIFORNIA",20,3/25/2021
+192208,751279194,,DALLAS FORT WORTH INTERNATIONAL AIRPORT,20,3/25/2021
+192501,596000848,K4SXBE88XP88,"SARASOTA COUNTY, FLORIDA",20,4/6/2023
+192534,746001650,,"CITY OF MCALLEN, TEXAS",20,5/4/2022
+192666,166008839,,NIAGARA FRONTIER TRANSPORTATION AUTHORITY,20,9/2/2021
+194481,540948306,,"COUNTY OF LOUDOUN, VIRGINIA",20,3/25/2021
+195543,916001025,,PORT OF SEATTLE,20,5/18/2022
+195595,430992477,DADDJ2EKZ5L8,KANSAS CITY AREA TRANSPORTATION AUTHORITY,20,5/23/2023
+195945,351324569,,INDIANAPOLIS PUBLIC TRANSPORTATION CORPORATION,20,3/25/2021
+196069,954668218,,FOOTHILL TRANSIT AUTHORITY,20,1/20/2022
+196758,160967419,,ROCHESTER-GENESSEE REGIONAL TRANSPORTATION AUTHORITY,20,7/26/2021
+197411,911628275,,CENTRAL PUGET SOUND REGIONAL TRANSIT AUTHORITY,20,3/25/2021
+198163,942325976,,SAN MATEO COUNTY TRANSIT DISTRICT,20,11/12/2021
+198757,596018367,,JACKSONVILLE TRANSPORTATION AUTHORITY,20,5/2/2022
+199044,363126147,,METRA - COMMUTER RAIL DIVISION & COMMUTER RAILROAD CORPORATION,20,3/25/2021
+199947,146003955,,NEW YORK STATE THRUWAY AUTHORITY,20,3/25/2021
+201778,751813169,,DALLAS AREA RAPID TRANSIT,20,3/25/2021
+202168,330072823,,RIVERSIDE COUNTY TRANSPORTATION COMMISSION,20,3/25/2021
+215840,753019713,,SAN DIEGO COUNTY REGIONAL AIRPORT AUTHORITY,20,11/19/2021
+215905,562296529,,"VALLEY METRO RAIL, INC.",20,3/25/2021
+217393,596000573,,MIAMI-DADE TRANSIT ENTERPRISE FUND,20,3/25/2021
+224731,591021557,,CENTRAL FLORIDA EXPRESSWAY AUTHORITY FKA ORLANDO-ORANGE CO EXPRESSWAY,20,3/25/2021
+225260,352198574,,CENTRAL TEXAS REGIONAL MOBILITY AUTHORITY,20,3/25/2021
+229340,900036752,,REGIONAL TRANSPORTATION COMMISSION OF SOUTHERN NEVADA,20,3/25/2021
+229893,351602316,,INDIANA FINANCE AUTHORITY,20,3/25/2021
+231133,520910053,,NATIONAL RAILROAD PASSENGER CORPORATION & SUBSIDIARIES (AMTRAK),20,3/25/2021
+232693,946000417,,SAN FRANCISCO INTERNATIONAL AIRPORT,20,9/16/2022
+233179,941160893,,SAN FRANCISCO MUNICIPAL TRANSPORTATION AGENCY,20,3/25/2021
+244060,452593877,V45ADERKJAY8,CONNECTICUT AIRPORT AUTHORITY,20,11/15/2022
+247806,141515330,,CAPITAL DISTRICT TRANSPORTATION AUTHORITY,20,12/21/2021
+248514,920020624,,ALASKA RAILROAD CORPORATION,20,9/20/2022
+249248,746001573,,"CITY OF LAREDO, TEXAS",20,4/24/2022
+249484,820579904,,WAYNE COUNTY AIRPORT AUTHORITY,20,5/20/2022
+250092,520001005,T768HKZ8PLC2,MARYLAND TRANSPORTATION AUTHORITY,20,3/31/2023
+255982,471742163,NEUHFP6RELY3,HAMPTON ROADS TRANSPORTATION ACCOUNTABILITY COMMISSION,20,11/27/2022
+258028,736060890,GTLHGBUGLWF3,OKLAHOMA TURNPIKE AUTHORITY,20,4/27/2023
+12660,133030229,,LOCAL INITIATIVES SUPPORT CORPORATION,21,3/25/2021
+22772,043246555,,"BLUEHUB CAPITAL, INC. AND AFFILIATES",21,3/25/2021
+58055,381458751,EUSURN9MJR17,MICHIGAN HEALTH & HOSPITAL ASSOCIATION AND CONTROLLED ENTITIES,21,11/29/2022
+74286,521148078,,NEIGHBORHOOD REINVESTMENT CORPORATION (DBA NEIGHBORWORKS AMERICA),21,3/25/2021
+74643,521231931,,"ENTERPRISE COMMUNITY PARTNERS, INC.",21,3/25/2021
+74976,521290127,,CAPITAL IMPACT PARTNERS AND SUBSIDIARIES,21,3/25/2021
+82593,561552375,,"RURAL ECONOMIC DEVELOPMENT CENTER, INC.",21,2/11/2022
+82670,561620516,,"DREAMKEY PARTNERS, INC.",21,6/13/2022
+180945,946000501,Z2JTEQA62JV7,ALAMEDA COUNTY HOUSING AND COMMUNITY DEVELOPMENT DEPARTMENT,21,3/31/2023
+198070,956000736,YVCBUGKDEUF7,DEPARTMENT OF WATER AND POWER OF THE CITY OF LOS ANGELES POWER SYSTEM,21,3/23/2023
+200809,942952578,,LOW INCOME INVESTMENT FUND,21,3/25/2021
+215664,366006551,W7KRN7E54898,"DUPAGE COUNTY, ILLINOIS",21,8/31/2023
+216160,363656836,,IFF,21,5/19/2022
+219042,596002482,K21GR3WGNYT4,CANAVERAL PORT AUTHORITY,21,4/13/2023
+221087,630338569,XWCKHU8NAGJ8,ALABAMA HOSPITAL ASSOCIATION,21,12/8/2022
+227824,920130785,CCGWKQWMJSB6,"VALLEY CHARITIES, INC.",21,4/12/2023
+228066,521954196,,"RAZA DEVELOPMENT FUND, INC.",21,3/25/2021
+230310,205189202,,OPPORTUNITY FINANCE NETWORK,21,3/25/2021
+231775,520591543,VDMQJRLN4LQ3,UNITED WAY OF CENTRAL MARYLAND INC,21,4/5/2023
+233817,232331946,,"REINVESTMENT FUND, INC. AND AFFILIATES",21,3/25/2021
+236094,910313383,,COUNCIL FOR NATIVE HAWAIIAN ADVANCEMENT,21,7/6/2022
+237356,136532871,,"NATIONAL COUNCIL FOR COMMUNITY DEVELOPMENT, INC.",21,10/10/2022
+240587,383315978,G1QCQA9QRJK5,HOMELESS ACTION NETWORK OF DETROIT,21,3/24/2023
+242068,411616861,,"COMMUNITY REINVESTMENT FUND, INC. AND SUBSIDIARIES",21,3/25/2021
+250671,926001185,,ALASKA INDUSTRIAL DEVELOPMENT AND EXPORT AUTHORITY,21,12/27/2021
+251563,825258187,DPDDX2J3K735,LIFT TO RISE,21,6/8/2023
+251723,237181456,WRCPSYBRB5N6,CENTRO LEGAL DE LA RAZA,21,1/5/2023
+251777,461549875,EL6UD5XNAHK6,ALLIANCE FOR HOUSING OAKLAND COUNTY CONTINUUM OF CARE,21,2/16/2023
+252205,541760384,,"COMMUNITY BUSINESS PARTNERSHIP, INC.",21,2/7/2022
+253206,232920364,,PENNSYLVANIA CDFI NETWORK,21,5/16/2022
+253952,731396320,,COMMUNITIES FOUNDATION OF OKLAHOMA,21,7/19/2022
+254037,920042304,,"COOK INLET REGION, INC.",21,7/27/2022
+254327,330047994,TWL3WEV59TH4,ORANGE COUNTY'S UNITED WAY,21,2/1/2023
+254787,562379862,,BRILLIANT CORNERS,21,9/28/2022
+256678,871237752,GM5HSAC69XE5,CALHFA HOMEOWNER RELIEF CORPORATION,21,4/20/2023
+257083,920044137,,ARCTIC SLOPE REGIONAL CORPORATION,21,2/23/2023
+258151,222593378,P49TYES2Z113,"BLUEHUB CAPITAL, INC. AND AFFILIATES",21,5/17/2023
+101078,741070544,,SOUTHWEST RESEARCH INSTITUTE,43,3/25/2021
+111596,860138043,,"ASSOCIATION OF UNIVERSITIES FOR RESEARCH IN ASTRONOMY, INC.",43,3/25/2021
+193965,951643307,,JET PROPULSION LABORATORY,43,3/25/2021
+203062,530206027,,SMITHSONIAN INSTITUTION,43,3/25/2021
+225398,520892064,,UNIVERSITIES SPACE RESEARCH ASSOCIATION,43,3/25/2021
+2550,042105850,,WOODS HOLE OCEANOGRAPHIC INSTITUTION,47,3/25/2021
+8489,111630900,,"ASSOCIATED UNIVERSITIES, INC.",47,3/25/2021
+20066,210634501,,PRINCETON UNIVERSITY,47,3/25/2021
+101106,741109620,,WILLIAM MARSH RICE UNIVERSITY,47,3/25/2021
+101351,741238434,,TEXAS A&M RESEARCH FOUNDATION,47,3/25/2021
+109269,840412668,,UNIVERSITY CORPORATION FOR ATMOSPHERIC RESEARCH,47,3/25/2021
+123473,951643307,,CALIFORNIA INSTITUTE OF TECHNOLOGY,47,3/25/2021
+64934,421114803,,BLACK HAWK ECONOMIC DEVELOPMENT INC,59,3/25/2021
+85763,581496388,,"SMALL BUSINESS ACCESS PARTNERS, INC.",59,3/25/2021
+109754,840732616,,PIKES PEAK REGIONAL DEVELOPMENT CORPORATION,59,3/25/2021
+120189,942548556,,MAIN STREET LAUNCH,59,4/28/2022
+183597,742712770,ZW2LP2T9CKF2,LIFTFUND INC.,59,6/21/2023
+192718,421150060,,SIOUXLAND ECONOMIC DEVELOPMENT CORPORATION,59,3/25/2021
+208943,363966573,,ALLIES FOR COMMUNITY BUSINESS,59,6/2/2022
+220957,222309023,,REGIONAL BUSINESS ASSISTANCE CORPORATION,59,3/25/2021
+240047,356000158,,INDIANA ECONOMIC DEVELOPMENT CORPORATION,59,2/25/2022
+245753,341897225,,REGIONAL BUSINESS ASSISTANCE CORPORATION,59,3/1/2022
+258066,860108839,FNLTCQ8TL4L4,THE PHOENIX THEATRE COMPANY,59,5/4/2023
+258477,560946437,RDPDXKHU5BC8,RICHLAND-LEXINGTON RIVERBANKS PARK DISTRICT,59,7/6/2023
+106316,756000450,,CITY OF ARLINGTON,66,7/2/2022
+146075,610858140,K4A4SNZG2YY9,LEXINGTON-FAYETTE URBAN COUNTY GOVERNMENT,66,2/14/2023
+147138,016000032,,CITY OF PORTLAND MAINE,66,7/6/2022
+153630,436011991,,THE METROPOLITAN ST. LOUIS SEWER DISTRICT,66,11/3/2021
+161932,456002069,,CITY OF FARGO,66,7/12/2022
+163886,341128332,,NORTHEAST OHIO REGIONAL SEWER DISTRICT,66,3/25/2021
+166236,936002183,KGJ9RMCYNNM3,CITY OF HILLSBORO,66,12/27/2022
+171671,626000361,,CITY OF MEMPHIS,66,4/6/2022
+172278,746028909,,"CITY OF PEARLAND, TEXAS",66,4/10/2022
+181549,581667498,,GEORGIA ENVIRONMENTAL FINANCE AUTHORITY,66,3/25/2021
+183049,526002033,,MARYLAND WATER QUALITY FINANCING ADMINISTRATION,66,10/31/2021
+185273,541288444,,VIRGINIA RESOURCE AUTHORITY,66,3/25/2021
+185545,141499804,,NEW YORK STATE ENVIRONMENTAL FACILITIES CORPORATION,66,3/25/2021
+187010,946000410,,CITY OF SACRAMENTO,66,4/9/2022
+187744,346000020,,"CITY OF AKRON, OHIO",66,2/9/2023
+188341,956000736,YVCBUGKDEUF7,DEPARTMENT OF WATER AND POWER OF THE CITY OF LOS ANGELES WATER SYSTEM,66,3/23/2023
+190083,526002653,,WASHINGSTON SUBURBAN SANITARY COMMISSION,66,12/27/2021
+196487,043119080,,MASSACHUSETTS CLEAN WATER TRUST,66,3/25/2021
+197066,416007162,,MINNESOTA PUBLIC FACILITIES AUTHORITY,66,3/25/2021
+197945,850432350,,NEW MEXICO FINANCE AUTHORITY,66,2/23/2022
+201102,626000290,,"CITY OF FRANKLIN, TENNESSEE",66,1/7/2022
+204306,956002277,PBDCJHMN11V5,ORANGE COUNTY WATER DISTRICT,66,11/16/2022
+204521,952303211,,H-DESERT WATER DISTRICT,66,3/25/2021
+230430,066000532,,THE METROPOLITAN DISTRICT,66,3/25/2021
+243901,680281986,TGFTZM2DN5Z2,CA STATE WATER RESOURCES CONTROL BOARD WATER POLLUTION REVOLVING FUND,66,2/15/2023
+245385,680281986,,CA ST WATER RESOURCES CONTROL BD SAFE DRINKING WATER ST REVOLVING FUND,66,3/25/2021
+253438,526002033,S734YDNLSHW5,MARYLAND WATER INFRASTRUCTURE FINANCING ADMINISTRATION,66,11/29/2022
+253614,756004258,GWLYHAYMS3K4,NORTH TEXAS MUNICIPAL WATER DISTRICT,66,2/24/2023
+257559,521566252,LJ2NNMA3JZZ7,NEW JERSEY INFRASTRUCTURE BANK,66,3/30/2023
+92977,620476816,,"OAK RIDGE ASSOCIATED UNIVERSITIES, INCORPORATED",81,3/25/2021
+166777,930624734,,CONFEDERATED TRIBES OF THE UMATILLA INDIAN RESERVATION,81,9/28/2022
+127,010211810,,UNIVERSITY OF NEW ENGLAND,84,3/25/2021
+1062,020368776,,NEW HAMPSHIRE HIGHER EDUCATION LOAN CORPORATION,84,3/25/2021
+1231,026007687,,NEW HAMPSHIRE HIGHER EDUCATION ASSISTANCE FOUNDATION,84,3/25/2021
+1354,030179414,N3UTNKGNEZK9,BENNINGTON COLLEGE AND SUBSIDIARY,84,12/21/2022
+1366,030179440,,UNIVERSITY OF VERMONT AND STATE AGRICULTURAL COLLEGE,84,3/25/2021
+1815,041286950,,EMERSON COLLEGE,84,11/9/2021
+1942,041679980,,NORTHEASTERN UNIVERSITY,84,3/25/2021
+2130,042103545,,TRUSTEES OF BOSTON COLLEGE,84,3/25/2021
+2131,042103547,,BOSTON UNIVERSITY,84,3/25/2021
+2135,042103552,,BRANDEIS UNIVERSITY,84,3/25/2021
+2187,042103629,,SIMMONS UNIVERSITY,84,3/25/2021
+2190,042103634,,TUFTS UNIVERSITY,84,3/25/2021
+2256,042103865,,BAY PATH UNIVERSITY,84,3/25/2021
+2385,042104329,,SPRINGFIELD COLLEGE,84,3/25/2021
+2443,042104700,,MCPHS UNIVERSITY,84,3/25/2021
+2619,042108376,,WESTERN NEW ENGLAND UNIVERSITY,84,3/25/2021
+2667,042121659,,WORCESTER POLYTECHNIC INSTITUTE,84,3/25/2021
+2723,042133255,,SUFFOLK UNIVERSITY,84,3/25/2021
+3013,042300472,,"BERKLEE COLLEGE OF MUSIC, INC.",84,3/25/2021
+5982,050277222,,ROGER WILLIAMS UNIVERSITY,84,3/25/2021
+6016,050306206,,JOHNSON & WALES UNIVERSITY,84,3/25/2021
+6652,060646701,,QUINNIPIAC UNIVERSITY,84,3/25/2021
+6713,060646936,,UNIVERSITY OF BRIDGEPORT,84,3/25/2021
+6983,060731360,,UNIVERSITY OF HARTFORD,84,3/25/2021
+7022,060761704,,UNIVERSITY OF NEW HAVEN,84,3/25/2021
+7055,060776644,,"SACRED HEART UNIVERSITY, INC.",84,3/25/2021
+8469,111630741,,ADELPHI UNIVERSITY,84,3/25/2021
+8486,111630822,,PRATT INSTITUTE,84,3/25/2021
+8488,111630830,,ST. JOHN'S UNIVERSITY,84,3/25/2021
+8490,111630906,,HOFSTRA UNIVERSITY,84,3/25/2021
+8518,111633516,,LONG ISLAND UNIVERSITY,84,3/25/2021
+8650,111788788,,NEW YORK INSTITUTE OF TECHNOLOGY,84,3/25/2021
+8656,111797182,,MOLLOY COLLEGE,84,3/25/2021
+8813,262415339,,SUFFOLK COUNTY COMMUNITY COLLEGE,84,4/20/2022
+10394,131099420,,NEW YORK MEDICAL COLLEGE,84,3/25/2021
+10689,131624202,,"TEACHERS COLLEGE, COLUMBIA UNIVERSITY",84,3/25/2021
+10698,131624225,,YESHIVA UNIVERSITY,84,3/25/2021
+11508,132501829,,"AMDA, INC. AND SUBSIDIARY (THE AMERICAN MUSICAL AND DRAMATIC ACADEMY)",84,3/25/2021
+11852,132676570,,TOURO COLLEGE,84,3/25/2021
+13468,133297197,,THE NEW SCHOOL,84,3/25/2021
+15175,135562308,,NEW YORK UNIVERSITY,84,3/25/2021
+15177,135562314,,PACE UNIVERSITY,84,3/25/2021
+15234,135564934,,BETH ISRAEL MEDICAL CENTER AND AFFILIATES,84,10/10/2022
+15535,132556338,,FASHION INSTITUTE OF TECHNOLOGY,84,2/18/2022
+17157,141340095,,RENSSELAER POLYTECHNIC INSTITUTE,84,3/25/2021
+17331,141442493,,MARIST COLLEGE AND AFFILIATES,84,3/25/2021
+18063,150532081,,SYRACUSE UNIVERSITY,84,3/25/2021
+18082,150532204,,ITHACA COLLEGE,84,3/25/2021
+18167,150543659,,CLARKSON UNIVERSITY,84,3/25/2021
+18543,160743140,,ROCHESTER INSTITUTE OF TECHNOLOGY,84,3/25/2021
+18626,160746864,,ST. JOHN FISHER COLLEGE AND SUBSIDIARIES,84,3/25/2021
+18798,160849590,,MONROE COMMUNITY COLLEGE,84,3/25/2021
+19715,161476258,,UTICA COLLEGE,84,3/25/2021
+20056,210634479,,EDUCATIONAL TESTING SERVICE,84,1/4/2022
+20084,210634584,,MONMOUTH UNIVERSITY,84,3/25/2021
+20145,210650678,,RIDER UNIVERSITY,84,8/4/2022
+20541,221487322,,"HOLY NAME MEDICAL CENTER, INC. & SUBSIDIARIES",84,10/10/2022
+20545,221487354,,STEVENS INSTITUTE OF TECHNOLOGY,84,3/25/2021
+20627,221500645,,SETON HALL UNIVERSITY,84,3/25/2021
+23549,222872262,,"COMMUNITY LOAN FUND OF NEW JERSEY, INC.",84,6/2/2022
+25413,231352204,,TOWER HEALTH,84,9/27/2022
+25515,231352630,,DREXEL UNIVERSITY,84,3/25/2021
+25526,231352651,,THOMAS JEFFERSON UNIVERSITY,84,3/25/2021
+25528,231352654,,LA SALLE UNIVERSITY,84,3/25/2021
+25529,231352655,T59JHM69NCZ3,LINCOLN UNIVERSITY OF THE COMMONWEALTH SYSTEM OF HIGHER EDUCATION,84,3/16/2023
+25540,231352674,,SAINT JOSEPH'S UNIVERSITY,84,3/25/2021
+25547,231352688,,VILLANOVA UNIVERSITY,84,3/25/2021
+25567,231355135,,PHILADELPHIA COLLEGE OF OSTEOPATIC MEDICINE FOUNDATION AND RELATED ENT,84,3/25/2021
+25638,231365971,,TEMPLE UNIVERSITY,84,3/25/2021
+25705,231386178,,WIDENER UNIVERSITY AND AFFILIATE,84,3/25/2021
+25774,231413680,,SALUS UNIVERSITY AND ITS FOUNDATION,84,3/25/2021
+27760,232564508,,PENNSYLVANIA COLLEGE OF TECHNOLOGY,84,3/25/2021
+29125,237025386,,PANHANDLE-PLAINS HIGHER EDUCATION AUTHORITY,84,3/25/2021
+31045,237133739,,"NORTH TEXAS HIGHER EDUCATION AUTHORITY, INC",84,3/25/2021
+31596,237172306,,NATIONAL UNIVERSITY,84,3/25/2021
+33196,340896630,,CUYAHOGA COMMUNITY COLLEGE,84,3/25/2021
+35195,240795445,,LEHIGH UNIVERISTY,84,3/25/2021
+35206,240795495,,THE UNIVERSITY OF SCRANTON,84,3/25/2021
+35212,240795506,U8BCVKFYFJZ2,WILKES UNIVERSITY,84,1/19/2023
+35469,250496976,,GANNON UNIVERSITY,84,7/14/2022
+35683,250965219,,AMERICAN INSTITUTES FOR RESEARCH IN THE BEHAVIORAL SCIENCES,84,3/25/2021
+35732,250965430,,MERCYHURST UNIVERSITY,84,6/9/2022
+35942,251035663,,DUQUESNE UNIVERSITY OF THE HOLY SPIRIT,84,3/25/2021
+37223,251698677,,LAKE ERIE COLLEGE OF OSTEOPATHIC MEDICINE,84,3/25/2021
+37834,310536640,,ANTIOCH UNIVERSITY,84,3/25/2021
+37861,310536715,,UNIVERSITY OF DAYTON,84,3/25/2021
+37918,310537516,,XAVIER UNIVERSITY,84,3/25/2021
+38025,310621866,,KETTERING HEALTH NETWORK,84,10/10/2022
+38105,310707369,,FRANKLIN UNIVERSITY AND SUBSIDIARY,84,11/23/2021
+42354,340714626,,ASHLAND UNIVERSITY,84,3/2/2022
+44389,344429091,,OHIO NORTHERN UNIVERSITY,84,3/25/2021
+45426,350845258,,"INDIANA INSTITUTE OF TECHNOLOGY, INC.",84,3/25/2021
+45463,350867977,,BUTLER UNIVERSITY,84,3/25/2021
+45486,350868107,,UNIVERSITY OF INDIANAPOLIS,84,3/25/2021
+45506,350868175,,MARIAN UNIVERSITY,84,3/25/2021
+45510,350868188,,UNIVERSITY OF NOTRE DAME DU LAC,84,3/25/2021
+45608,350885591,,INDIANA WESLEYAN UNIVERSITY,84,3/25/2021
+47703,366112087,,COLUMBIA COLLEGE CHICAGO,84,3/25/2021
+47882,361408475,,LOYOLA UNIVERSITY OF CHICAGO,84,3/25/2021
+48272,362166964,,AURORA UNIVERSITY,84,3/25/2021
+48297,362167048,,DEPAUL UNIVERSITY,84,3/25/2021
+48313,362167725,R3T3SZHLYJY7,THE ART INSTITUTE OF CHICAGO,84,11/17/2022
+48335,362167773,,LEWIS UNIVERSITY,84,3/25/2021
+48426,362170136,,ILLINOIS INSTITUTE OF TECHNOLOGY,84,3/25/2021
+48517,362181973,,ROSALIND FRANKLIN UNIVERSITY OF MEDICINE AND SCIENCE AND AFFILIATE,84,3/25/2021
+49357,362722198,,BENEDICTINE UNIVERSITY AND AFFILIATES,84,3/25/2021
+49782,363005527,,THE CHICAGO SCHOOL-CAL INC DBA THE CHICAGO SCH OF PRO PSYCHOLOGY,84,3/25/2021
+50642,363377698,,MIDWESTERN UNIVERSITY,84,3/25/2021
+50976,363514573,,"NEBRASKA STUDENT LOAN PROGRAM, INC. DBA NATIONAL STUDENT LOAN PROGRAM",84,3/25/2021
+53254,370661494,,BRADLEY UNIVERSITY,84,3/25/2021
+54157,376005961,,SOUTHERN ILLINOIS UNIVERSITY,84,3/25/2021
+54309,380321740,,BAKER COLLEGE AND SUBSIDIARIES,84,3/25/2021
+54829,381359083,,ALMA COLLEGE,84,7/26/2022
+54901,381360586,,UNIVERSITY OF DETROIT MERCY,84,3/25/2021
+55659,381945965,,DAVENPORT UNIVERSITY,84,3/25/2021
+55736,381988915,,THOMAS M. COOLEY LAW SCHOOL DBA WESTERN MICHIGAN UNIVERSITY THOMAS M C,84,3/25/2021
+58639,390806251,,MARQUETTE UNIVERSITY,84,3/25/2021
+58834,390833608,,"CONCORDIA UNIVERSITY, INC. AND AFFILIATE",84,3/25/2021
+59643,396003459,,MILWAUKEE AREA TECHNICAL COLLEGE,84,3/25/2021
+61396,410693970,,UNIVERSITY OF ST. THOMAS,84,3/25/2021
+61412,410695509,,ST. CATHERINE UNIVERSITY,84,3/25/2021
+61414,410695527,,SAINT MARY'S UNIVERSITY OF MINNESOTA,84,3/25/2021
+64966,421137531,,IOWA STUDENT LOAN LIQUIDITY CORPORATION,84,3/25/2021
+65449,421435199,,IOWA HEALTH SYSTEM AND SUBSIDIARIES DBA UNITYPOINT HEALTH,84,10/10/2022
+65539,426081293,,PALMER COLLEGE FOUNDATION AND PALMER COLLEGE OF CHIROPRACTIC - WEST,84,3/25/2021
+65687,430356250,,A.T. STILL UNIVERSITY OF HEALTH SCIENCES,84,3/25/2021
+65809,430652649,,LINDENWOOD UNIVERSITY,84,3/25/2021
+65841,430653369,,MARYVILLE UNIVERSITY,84,3/25/2021
+65863,430654872,,SAINT LOUIS UNIVERSITY,84,3/25/2021
+65867,430655867,,COLUMBIA COLLEGE,84,3/25/2021
+65887,430662529,,WEBSTER UNIVERSITY,84,3/25/2021
+65989,430746185,,"LOGAN UNIVERSITY, INC.",84,3/25/2021
+67983,440545280,,KANSAS CITY UNIVERSITY OF MEDICINE AND BIOSCIENCES,84,3/25/2021
+68053,440562048,,PARK UNIVERSITY,84,3/25/2021
+68080,471087427,,COXHEALTH,84,6/23/2022
+69267,470376583,,CREIGHTON UNIVERSITY,84,3/25/2021
+69276,470639839,,NEBRASKA METHODIST HEALTH SYSTEM,84,8/24/2022
+69462,470491571,,BELLEVUE UNIVERSITY,84,3/25/2021
+71253,510107088,,"WILMINGTON UNIVERSITY, INC",84,3/25/2021
+72950,520591623,,"LOYOLA UNIVERSITY MARYLAND, INC",84,3/25/2021
+74735,521245746,,"RIVERSIDE HEALTHCARE ASSOCIATION, INC.",84,10/6/2022
+77809,530196549,,AMERICAN UNIVERSITY,84,3/25/2021
+77823,530196583,,THE CATHOLIC UNIVERSITY OF AMERICA AND SUBSIDIARIES,84,3/25/2021
+77824,530196584,,THE GEORGE WASHINGTON UNIVERSITY,84,3/25/2021
+77831,530196603,,GEORGETOWN UNIVERSITY,84,3/25/2021
+77883,530204707,,THE HOWARD UNIVERSITY,84,3/25/2021
+78383,540505990,,HAMPTON UNIVERSITY AND SUBSIDIARIES,84,3/25/2021
+78442,540525605,,SHENANDOAH UNIVERSITY,84,3/25/2021
+78689,540715569,,"CENTRA HEALTH, INC.",84,10/5/2022
+79002,540946734,,"LIBERTY UNIVERSITY, INC.",84,3/25/2021
+79142,541061178,,REGENT UNIVERSITY AND AFFILIATED ORGANIZATIONS,84,3/25/2021
+79772,521271901,,SENTARA HEALTHCARE AND SUBSIDIARIES,84,10/5/2022
+80286,546055378,,EASTERN VIRGINIA MEDICAL SCHOOL,84,3/25/2021
+81316,560529940,,CAMPBELL UNIVERSITY INCORPORATED,84,3/25/2021
+81341,560529990,,PFEIFFER UNIVERSITY,84,1/28/2022
+81346,560529999,,HIGH POINT UNIVERSITY,84,3/25/2021
+81375,560532303,,ELON UNIVERSITY,84,3/25/2021
+83091,566046937,,"COLLEGE FOUNDATION, INC.",84,3/25/2021
+83404,570314402,ZE7BFE5NNDC3,LIMESTONE UNIVERSITY,84,5/9/2023
+84632,580566143,H13ZRHGUJFJ7,BRENAU UNIVERSITY,84,3/31/2023
+84650,580566205,,MOREHOUSE COLLEGE,84,3/25/2021
+84663,580566243,,SPELMAN COLLEGE,84,3/25/2021
+85388,581357177,,"THE SAVANNAH COLLEGE OF ART AND DESIGN, INC.",84,3/25/2021
+85608,581438873,,"MOREHOUSE SCHOOL OF MEDICINE, INC AND AFFILIATE",84,3/25/2021
+86359,581757969,,"EDUCATIONAL FUNDING OF THE SOUTH, INC. AND SUBSIDIARIES",84,3/25/2021
+86512,581825259,,CLARK ATLANTA UNIVERSITY,84,3/25/2021
+87864,590624364,,BARRY UNIVERSITY,84,3/25/2021
+87886,590624416,,"STETSON UNIVERSITY, INC.",84,3/25/2021
+87899,590624458,,UNIVERSITY OF MIAMI,84,3/25/2021
+87900,590624459,,"THE UNIVERSITY OF TAMPA, INC.",84,3/25/2021
+88048,590704726,,"BETHUNE-COOKMAN UNIVERSITY, INC.",84,3/25/2021
+88084,590722789,,"SOUTHEASTERN UNIVERSITY, INC. AND SUBSIDIARY",84,3/25/2021
+88388,590949880,,"ST. THOMAS UNIVERSITY, INC.",84,3/25/2021
+88532,591083502,,"NOVA SOUTHEASTERN UNIVERSITY, INC.",84,3/25/2021
+88747,591237047,,"SAINT LEO UNIVERSITY, INC",84,3/25/2021
+91200,596046500,,"FLORIDA INSTITUTE OF TECHNOLOGY, INC.",84,3/25/2021
+91651,610444650,,BEREA COLLEGE,84,3/25/2021
+91678,610444788,,UNIVERSITY OF PIKEVILLE,84,3/25/2021
+91751,610470593,,"UNIVERSITY OF THE CUMBERLANDS, INC.",84,3/25/2021
+92927,620465076,,BELMONT UNIVERSITY,84,3/25/2021
+92979,620476822,,VANDERBILT UNIVERSITY,84,3/25/2021
+92997,620479542,,LINCOLN MEMORIAL UNIVERSITY,84,10/31/2022
+93013,620484185,WLC1GBMGN9N7,TUSCULUM UNIVERSITY,84,4/5/2023
+93016,620485733,,LIPSCOMB UNIVERSITY,84,3/25/2021
+94539,630288878,,TUSKEGEE UNIVERSITY,84,3/25/2021
+94582,630312914,,SAMFORD UNIVERSITY,84,3/25/2021
+95676,610303069,,BELHAVEN UNIVERSITY,84,11/23/2021
+95684,640303086,,MISSISSIPPI COLLEGE,84,3/25/2021
+95734,640329300,,WILLIAM CAREY UNIVERSITY,84,3/25/2021
+96882,660177776,,"UNIVERSIDAD INTERAMERICANA DE PUERTO RICO, INC.",84,3/25/2021
+96890,660201206,,SISTEMA UNIVERSITARIO ANA G MENDEZ,84,3/25/2021
+97663,710236856,,BAPTIST HEALTH,84,10/3/2022
+98449,720408946,,LOYOLA UNIVERSITY NEW ORLEANS,84,3/25/2021
+98491,720423889,,THE ADMINISTRATORS OF THE TULANE EDUCATIONAL FUND,84,3/25/2021
+98680,720635884,,XAVIER UNIVERSITY OF LOUISIANA,84,3/25/2021
+99762,730579298,,THE UNIVERSITY OF TULSA,84,4/12/2022
+99942,730739626,,ORAL ROBERTS UNIVERSITY,84,3/25/2021
+101129,741109661,,UNIVERSITY OF THE INCARNATE WORD,84,3/25/2021
+101232,741159753,,BAYLOR UNIVERSITY,84,3/25/2021
+102318,742094204,,"TEXAS GUARANTEED STUDENT LOAN CORPORATION, DBA TRELLIS COMPANY",84,3/25/2021
+102323,742099402,,"BRAZOS HIGHER EDUCATION AUTHORITY, INC.",84,3/25/2021
+104198,750800689,,SOUTHERN METHODIST UNIVERSITY,84,3/25/2021
+104248,750827465,,TEXAS CHRISTIAN UNIVERSITY,84,3/25/2021
+104277,750851900,,ABILENE CHRISTIAN UNIVERSITY,84,8/24/2021
+105010,751596658,,PARKER UNIVERSITY,84,3/25/2021
+109213,840402707,,REGIS UNIVERSITY,84,3/25/2021
+109221,840404231,,UNIVERSITY OF DENVER (COLORADO SEMINARY),84,3/25/2021
+109321,840442429,,COLORADO CHRISTIAN UNIVERSITY AND CCU ENDOWMENT FOUNDATION,84,3/25/2021
+111084,850291313,,NEW MEXICO EDUCATIONAL ASSISTANCE FOUNDATION,84,5/2/2022
+111571,472507725,,GRAND CANYON UNIVERSITY,84,3/25/2021
+113416,910236600,,THE CORPORATION OF GONZAGA UNIVERSITY,84,3/25/2021
+113680,910565006,,SEATTLE UNIVERSITY,84,3/25/2021
+116380,930386858,,LEWIS & CLARK COLLEGE,84,3/25/2021
+116391,930386892,,PACIFIC UNIVERSITY,84,3/25/2021
+116417,930391563,,CONCORDIA UNIVERSITY,84,3/25/2021
+117072,930575187,,PORTLAND COMMUNITY COLLEGE,84,3/25/2021
+118294,941156266,,UNIVERSITY OF THE PACIFIC,84,3/25/2021
+118364,941156617,,SANTA CLARA UNIVERSITY,84,3/25/2021
+118369,941156628,,UNIVERSITY OF SAN FRANCISCO,84,3/25/2021
+120730,942788907,,SUTTER HEALTH AND AFFILIATES,84,3/25/2021
+123150,950948050,K91FAN8WHBM9,SOUTHERN CALIFORNIA UNIVERSITY OF HEALTH SCIENCES,84,2/20/2023
+123265,951246140,EVHMJGKEXNH8,SOUTHWESTERN LAW SCHOOL,84,12/21/2022
+123466,951642394,,UNIVERSITY OF SOUTHERN CALIFORNIA,84,3/25/2021
+123503,951643389,,UNIVERSITY OF REDLANDS,84,3/25/2021
+123517,951643992,,CHAPMAN UNIVERSITY AND AFFILIATES,84,3/25/2021
+123525,951644026,,UNIVERSITY OF LA VERNE,84,3/25/2021
+123802,951744369,,AZUSA PACIFIC UNIVERSITY AND SUBSIDIARY,84,3/25/2021
+123893,951816009,,LOMA LINDA UNIVERSITY,84,3/25/2021
+123976,951890710,,CALIFORNIA BAPTIST UNIVERSITY,84,3/25/2021
+124616,952544535,,UNIVERSITY OF SAN DIEGO,84,3/25/2021
+125231,953127273,,WESTERN UNIVERSITY OF HEALTH SCIENCES,84,3/25/2021
+128842,636000724,,AUBURN UNIVERSITY,84,3/25/2021
+128910,636001099,,JACKSONVILLE STATE UNIVERSITY,84,3/25/2021
+128921,636001100,,THE UNIVERSITY OF WEST ALABAMA,84,3/25/2021
+128977,636001102,,TROY UNIVERSITY,84,3/25/2021
+128979,630520830,,THE UNIVERSITY OF ALABAMA IN HUNTSVILLE,84,3/25/2021
+128985,636000893,,UNIVERSITY OF NORTH ALABAMA,84,3/2/2022
+128986,630477348,,UNIVERSITY OF SOUTH ALABAMA,84,3/25/2021
+129020,636001138,,THE UNIVERSITY OF ALABAMA,84,3/25/2021
+129643,636000750,DMHNANKDJPB7,BALDWIN COUNTY BOARD OF EDUCATION,84,6/26/2023
+129709,636000945,,JEFFERSON COUNTY BOARD OF EDUCATION,84,8/19/2022
+129727,636000813,,HUNTSVILLE CITY BOARD OF EDUCATION,84,7/1/2022
+129738,636000774,,MOBILE COUNTY BOARD OF SCHOOL COMMISSIONERS,84,3/25/2021
+129740,636000997,,MONTGOMERY COUNTY BOARD OF EDUCATION,84,5/27/2022
+129795,920056756,VS2WT8MAJ688,LOWER KUSKOKWIM SCHOOL DISTRICT,84,11/8/2022
+129822,926000034,TB8KBAUF7N68,MATANUSKA-SUSITNA BOROUGH SCHOOL DISTRICT,84,12/1/2022
+130410,866000510,MFFQJLG4KY23,ALHAMBRA ELEMENTARY SCHOOL DISTRICT NO. 68,84,2/6/2023
+130416,866000517,,CARTWRIGHT ELEMENTARY SCHOOL DISTRICT NO. 83,84,2/24/2022
+130418,866000515,,CHANDLER UNIFIED SCHOOL DISTRICT NO. 80,84,12/29/2021
+130434,866000481,,MESA UNIFIED SCHOOL DISTRICT NO. 4,84,3/25/2021
+130442,866000488,QF5ELNJFBVS3,PEORIA UNIFIED SCHOOL DISTRICT NO. 11,84,1/19/2023
+130444,866000534,,PHOENIX UNION HIGH SCHOOL DISTRICT NO. 210,84,4/21/2022
+130461,866004178,LQQ4SRYSCKM1,DEER VALLEY UNIFIED SCHOOL DISTRICT NO. 97,84,2/8/2023
+130463,860185552,,MARICOPA COUNTY COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+130498,866000792,TKBSF37VK8J8,SUNNYSIDE UNIFIED SCHOOL DISTRICT NO. 12,84,3/30/2023
+130501,866000551,,TUCSON UNIFIED SCHOOL DISTRICT NO. 1,84,3/25/2021
+130503,860208787,,PIMA COUNTY COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+131710,716014717,,LITTLE ROCK SCHOOL DISTRICT,84,5/10/2022
+131767,716021364,Y1GUR2JJCH18,SPRINGDALE SCHOOL DISTRICT # 50,84,4/3/2023
+131807,912155587,,CALIFORNIA STATE UNIVERSITY,84,3/25/2021
+131825,942317114,VZ9VH8SQVRN9,EL DORADO COUNTY OFFICE OF EDUCATION,84,3/1/2023
+131879,956000935,,SAN DIEGO COUNTY OFFICE OF EDUCATION,84,3/25/2021
+131912,942191905,,TULARE COUNTY OFFICE OF EDUCATION,84,3/25/2021
+133559,941693499,,HAYWARD UNIFIED SCHOOL DISTRICT,84,3/26/2022
+133572,941590799,DSLHRLFLNN89,PERALTA COMMUNITY COLLEGE DISTRICT,84,4/4/2023
+133615,680091157,R8L1DRLVBNX8,MOUNT DIABLO UNIFIED SCHOOL DISTRICT,84,1/25/2023
+133619,680000495,,WEST CONTRA COSTA UNIFIED SCHOOL DISTRICT,84,2/11/2022
+133649,946002206,,FRESNO UNIFIED SCHOOL DISTRICT,84,3/25/2021
+133733,956006350,XX5DV4Q28A71,IMPERIAL COMMUNITY COLLEGE DISTRICT,84,3/14/2023
+133742,956000671,,BAKERSFIELD CITY SCHOOL DISTRICT,84,3/25/2021
+133756,956001764,,KERN HIGH SCHOOL DISTRICT,84,3/25/2021
+133770,956000412,P6A1KWZZ9PF1,PANAMA BUENA VISTA UNION SCHOOL DISTRICT,84,6/9/2023
+133787,956006644,,KERN COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+133823,956000127,RVLCKGNB9FF1,ANTELOPE VALLEY UNION HIGH SCHOOL DISTRICT,84,4/6/2023
+133836,952650551,,COMPTON UNIFIED SCHOOL DISTRICT,84,2/4/2022
+133840,956006586,,DOWNEY UNIFIED SCHOOL DISTRICT,84,2/3/2022
+133844,956001060,,EL CAMINO COMMUNITY COLLEGE DISTRICT,84,8/22/2022
+133849,956001464,,GLENDALE UNIFIED SCHOOL DISTRICT,84,12/17/2021
+133858,956001815,F7MEGL17QWN9,LANCASTER SCHOOL DISTRICT,84,3/14/2023
+133863,956001886,,LONG BEACH UNIFIED SCHOOL DISTRICT,84,3/25/2021
+133864,956001908,,LOS ANGELES UNIFIED SCHOOL DISTRICT,84,3/25/2021
+133865,952587353,,LOS ANGELES COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+133871,956002104,,MONTEBELLO UNIFIED SCHOOL DISTRICT,84,2/8/2022
+133873,956002131,,MT. SAN ANTONIO COMMUNITY COLLEGE DISTRICT,84,12/16/2021
+133875,956002228,,NORWALK-LA MIRADA UNIFIED SCHOOL DISTRICT,84,2/8/2022
+133876,966002342,,PALMDALE SCHOOL DISTRICT,84,3/25/2021
+133880,952505000,,PASADENA AREA COMMUNITY COLLEGE DISTRICT,84,1/15/2022
+133907,956005521,,CERRITOS COMMUNITY COLLEGE DISTRICT,84,12/18/2021
+133914,952668744,,GLENDALE COMMUNITY COLLEGE DISTRICT,84,5/25/2022
+133915,952654140,,LONG BEACH COMMUNITY COLLEGE DISTRICT,84,2/8/2022
+133916,952767537,,SANTA MONICA COMMUNITY COLLEGE DISTRICT,84,1/13/2022
+133922,946002320,,MADERA UNIFIED SCHOOL DISTRICT,84,4/12/2022
+134028,952321055,VZPNFN6ZBXH3,CAPISTRANO UNIFIED SCHOOL DISTRICT,84,10/27/2022
+134034,952394131,,NORTH ORANGE COUNTY COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+134044,956002272,,COAST COMMUNITY COLLEGE DISTRICT,84,12/9/2021
+134046,952696799,,RANCHO SANTIAGO COMMUNITY COLLEGE DISTRICT,84,12/17/2021
+134055,952479872,,SOUTH ORANGE COUNTY COMMUNITY COLLEGE DISTRICT,84,2/3/2022
+134076,946031260,VJKEUF53D8M1,SIERRA JOINT COMMUNITY COLLEGE DISTRICT,84,12/9/2022
+134080,951794390,KS11SUNKT9K6,ALVORD UNIFIED SCHOOL DISTRICT,84,3/31/2023
+134083,330765218,,COACHELLA VALLEY UNIFIED SCHOOL DISTRICT,84,5/6/2022
+134084,330277305,,CORONA-NORCO UNIFIED SCHOOL DISTRICT,84,2/10/2022
+134087,521527174,,HEMET UNIFIED SCHOOL DISTRICT,84,1/6/2022
+134088,330743985,,DESERT SANDS UNIFIED SCHOOL DISTRICT,84,12/16/2021
+134092,521527179,,PALM SPRINGS UNIFIED SCHOOL DISTRICT,84,2/8/2022
+134096,952883296,,RIVERSIDE UNIFIED SCHOOL DISTRICT,84,2/7/2022
+134100,581997491,,VAL VERDE UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134103,330813228,L1QXZ1FQXSX6,MT. SAN JACINTO COMMUNITY COLLEGE DISTRICT,84,2/6/2023
+134105,521770792,,MORENO VALLEY UNIFIED SCHOOL DISTRICT,84,5/19/2022
+134110,946002501,,ELK GROVE UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134119,946002491,,SACRAMENTO CITY UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134120,946002533,,SAN JUAN UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134122,941576340,,LOS RIOS COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+134136,956000560,G6NAHBZF3AL3,CHAFFEY JOINT UNION HIGH SCHOOL DISTRICT,84,1/9/2023
+134137,956000558,Q9QRTJMGP7A8,CHAFFEY COMMUNITY COLLEGE DISTRICT,84,2/24/2023
+134138,956000586,MT8RFPNUGL93,CHINO VALLEY UNIFIED SCHOOL DISTRICT,84,2/16/2023
+134139,952414439,,COLTON JOINT UNIFIED SCHOOL DISTRICT,84,2/11/2022
+134142,956001357,,FONTANA UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134144,930944528,JFARC4LMCRH7,HESPERIA UNIFIED SCHOOL DISTRICT,84,12/27/2022
+134150,956002267,,ONTARIO-MONTCLAIR SCHOOL DISTRICT,84,2/26/2022
+134152,952254572,,REDLANDS UNIFIED SCHOOL DISTRICT,84,3/3/2022
+134155,952285577,,SAN BERNARDINO CITY UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134184,956001517,JMG7LBBS3DY6,GROSSMONT UNION HIGH SCHOOL DISTRICT,84,1/19/2023
+134193,956002227,FNCMV513G321,PALOMAR COMMUNITY COLLEGE DISTRICT,84,2/6/2023
+134200,956002781,,SAN DIEGO UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134208,956003082,,SWEETWATER UNION HIGH SCHOOL DISTRICT,84,3/2/2022
+134213,956006652,L3LUC5Y7B188,GROSSMONT-CUYAMACA COMMUNITY COLLEGE DISTRICT,84,1/18/2023
+134215,956006662,K5P1TBMK2943,MIRACOSTA COMMUNITY COLLEGE DISTRICT,84,2/8/2023
+134217,946000416,,SAN FRANCISCO UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134233,946002661,,STOCKTON UNIFIED SCHOOL DISTRICT,84,3/25/2021
+134236,911044400,J1M3XMMKNH73,SAN JOAQUIN DELTA COMMUNITY COLLEGE DISTRICT,84,2/15/2023
+134323,946002606,FL1ADFUSL9J4,SAN JOSE UNIFIED SCHOOL DISTRICT,84,5/18/2023
+134346,770375541,,PAJARO VALLEY UNIFIED SCHOOL DISTRICT,84,3/4/2022
+134458,770195326,,MODESTO CITY SCHOOLS,84,2/25/2022
+134460,521566989,DLVKVBMZME64,YOSEMITE COMMUNITY COLLEGE DISTRICT,84,12/21/2022
+134561,770531549,TGDTBR9R5L51,VISALIA UNIFIED SCHOOL DISTRICT,84,2/6/2023
+134596,952224338,,VENTURA COUNTY COMMUNITY COLLEGE DISTRICT,84,1/15/2022
+135326,846000822,,ADAMS 12 FIVE STAR SCHOOLS,84,2/15/2022
+135331,846000861,,CHERRY CREEK SCHOOL DISTRICT NO 5,84,4/21/2022
+135336,846000870,,JOINT SCHOOL DISTRICT NO 28-J OF THE COUNTIES OF ADAMS AND ARAPAHOE,84,11/26/2021
+135361,846001099,,SCHOOL DISTRICT NO. 1 IN THE CITY AND COUNTY OF DENVER AND STATE OF CO,84,3/25/2021
+135363,846011446,,DOUGLAS COUNTY SCHOOL DISTRICT RE.1,84,3/9/2022
+135400,846002817,,JEFFERSON COUNTY SCHOOL DISTRICT NO R-1,84,3/14/2022
+135434,846002839,,MESA COUNTY VALLEY SCHOOL DISTRICT NO. 51,84,3/22/2022
+135667,066001865,,"CITY OF BRIDGEPORT, CONNECTICUT",84,3/25/2021
+135683,066001900,,"CITY OF WATERBURY, CONNECTICUT",84,1/18/2022
+136721,596000522,,BREVARD COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136728,596000552,GN5LCCG51JM6,CLAY COUNTY DISTRICT SCHOOL BOARD,84,3/31/2023
+136729,596000557,,"DISTRICT SCHOOL BOARD OF COLLIER COUNTY, FLORIDA",84,3/25/2021
+136732,596000572,,MIAMI-DADE COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136736,596000589,,DUVAL COUNTY PUBLIC SCHOOLS,84,3/25/2021
+136738,596000597,,DISTRICT SCHOOL BOARD OF ESCAMBIA COUNTY,84,3/25/2021
+136752,596000660,,HILLSBOROUGH COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136760,596000694,,LAKE COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136762,596000701,,SCHOOL DISTRICT OF LEE COUNTY,84,3/25/2021
+136764,596000709,,LEON COUNTY DISTRICT SCHOOL BOARD,84,3/1/2022
+136770,596000728,,"SCHOOL DISTRICT OF MANATEE COUNTY, FLORIDA",84,3/25/2021
+136772,596000734,,MARION COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136778,596000764,KCMMFYM5LUW6,OKALOOSA COUNTY DISTRICT SCHOOL BOARD,84,3/30/2023
+136781,596000771,,ORANGE COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136783,596000779,,OSCEOLA COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136784,596000783,,PALM BEACH COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136786,596000092,,DISTRICT SCHOOL BOARD OF PASCO COUNTY,84,3/25/2021
+136788,596000799,,DISTRICT SCHOOL BOARD OF PINELLAS COUNTY,84,3/25/2021
+136790,596000807,,POLK COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136795,596000832,,ST. LUCIE COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136797,596000845,JG4LLWLFK4M7,SANTA ROSA COUNTY DISTRICT SCHOOL BOARD,84,1/23/2023
+136798,596000847,,SARASOTA COUNTY DISTRICT SCHOOL BOARD,84,12/21/2021
+136799,596000855,,SEMINOLE COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+136805,596000884,,"DISTRICT SCHOOL BOARD OF VOLUSIA COUNTY, FLORIDA",84,3/25/2021
+137671,586011458,RG6JN4TD5XH3,CHEROKEE COUNTY BOARD OF EDUCATION,84,4/3/2023
+137677,586000214,,COBB COUNTY SCHOOL DISTRICT,84,3/25/2021
+137694,586000231,CNRYFGU8KTM7,DOUGHERTY COUNTY BOARD OF EDUCATION,84,8/23/2023
+137707,586000243,DBPSHJAXNPJ5,FORSYTH COUNTY BOARD OF EDUCATION,84,3/14/2023
+137721,586000254,,GWINNETT COUNTY BOARD OF EDUCATION,84,3/25/2021
+137724,586000256,G775DZH3VKC5,HALL COUNTY BOARD OF EDUCATION,84,9/7/2023
+137769,586000143,,MUSCOGEE COUNTY SCHOOL DISTRICT,84,2/25/2022
+137785,586000310,,RICHMOND COUNTY BOARD OF EDUCATION,84,3/25/2021
+137874,996000354,,UNIVERSITY OF HAWAII,84,3/25/2021
+137901,820290701,,BOISE STATE UNIVERSITY,84,3/25/2021
+137921,826000924,,IDAHO STATE UNIVERSITY,84,3/25/2021
+138350,826001213,FE7DGWDMFZE1,JOINT SCHOOL DISTRICT NO. 2,84,12/3/2022
+138509,376013590,,EASTERN ILLINOIS UNIVERSITY,84,7/6/2022
+138532,362684803,,GOVERNORS STATE UNIVERSITY,84,3/25/2021
+138560,366008480,,NORTHERN ILLINOIS UNIVERISTY,84,3/25/2021
+138590,376000511,,UNIVERSITY OF ILLINOIS,84,3/25/2021
+138595,370910458,,WESTERN ILLINOIS UNIVERSITY,84,3/25/2021
+141344,366005821,,CHICAGO PUBLIC SCHOOLS / CHICAGO BOARD OF EDUCATION,84,3/25/2021
+141358,362606236,,CITY COLLEGES OF CHICAGO COMMUNITY COLLEGE DISTRICT NO. 508,84,3/25/2021
+141433,362594972,,COLLEGE OF DUPAGE COMMUNITY COLLEGE DISTRICT 502,84,12/27/2021
+141569,366004736,,SCHOOL DISTRICT U-46,84,9/1/2022
+141865,376001759,C83FD7GDF7B1,BOARD OF EDUCATION OF THE CITY OF PEORIA,84,3/7/2023
+141961,376004615,LVM3BAVZFAN8,SPRINGFIELD PUBLIC SCHOOL DISTRICT 186,84,6/22/2023
+142117,366009416,FBLNJNGFM713,ROCKFORD PUBLIC SCHOOLS DISTRICT 205,84,11/29/2022
+142179,356000221,,BALL STATE UNIVERSITY,84,3/25/2021
+142234,356001670,,INDIANA STATE UNIVERSITY,84,3/25/2021
+142235,356001673,,TRUSTEES OF INDIANA UNIVERSITY,84,3/25/2021
+142292,351308176,,UNIVERSITY OF SOUTHERN INDIANA,84,2/24/2022
+142300,351180631,,IVY TECH COMMUNITY COLLEGE OF INDIANA,84,3/25/2021
+143278,356006351,,FORT WAYNE COMMUNITY SCHOOLS,84,3/25/2021
+143452,356002486,,INDIANAPOLIS PUBLIC SCHOOLS,84,3/25/2021
+143559,351071682,,EVANSVILLE VANDERBURGH SCHOOL CORPORATION,84,3/25/2021
+144594,420924685,,KIRKWOOD COMMUNITY COLLEGE,84,12/16/2021
+144663,426001433,,DES MOINES INDEPENDENT COMMUNITY SCHOOL DISTRICT,84,3/25/2021
+144671,420926354,,DES MOINES AREA COMMUNITY COLLEGE,84,12/3/2021
+145652,480697986,F8GTKBANM2B4,"OLATHE PUBLIC SCHOOLS, UNIFIED SCHOOL DISTRICT NO 233",84,12/31/2022
+145798,486000351,,WICHITA PUBLIC SCHOOLS UNIFIED SCHOOL DISTRICT NO 259,84,3/25/2021
+145808,486030115,,WASHBURN UNIVERSITY OF TOPEKA,84,1/14/2022
+145849,486031181,VNN2HKYDQU77,UNIFIED SCHOOL DISTRICT NO. 500,84,1/26/2023
+145869,616055628,,WESTERN KENTUCKY UNIVERSITY,84,3/25/2021
+145871,611005783,,MURRAY STATE UNIVERSITY,84,3/25/2021
+145872,616001218,,UNIVERSITY OF KENTUCKY,84,3/25/2021
+145873,611014029,,MOREHEAD STATE UNIVERSITY,84,3/25/2021
+146521,616001316,,JEFFERSON COUNTY BOARD OF EDUCATION,84,3/25/2021
+146599,616001247,MMVUBL3ECMX4,WARREN COUNTY SCHOOL DISTRICT,84,12/12/2022
+147031,726000185,QGV5Q4V3FK85,BOSSIER PARISH SCHOOL BOARD,84,3/7/2023
+147032,726000224,,CADDO PARISH SCHOOL BOARD,84,3/25/2021
+147033,726000235,,CALCASIEU PARISH SCHOOL BOARD,84,4/8/2022
+147040,726000353,,EAST BATON ROUGE PARISH SCHOOL SYSTEM,84,3/25/2021
+147051,726000625,,LAFAYETTE PARISH SCHOOL BOARD,84,2/3/2022
+147055,720882480,W7LSK2MCPA95,LIVINGSTON PARISH SCHOOL BOARD,84,1/24/2023
+147064,726001133,,RAPIDES PARISH SCHOOL BOARD,84,2/11/2022
+147077,726001372,MYDNDM6MCTF4,TAGIPAHOA PARISH SCHOOL SYSTEM,84,1/31/2023
+147111,010416015,,MAINE COMMUNITY COLLEGE SYSTEM,84,3/25/2021
+147112,010392006,,FINANCE AUTHORITY OF MAINE,84,3/25/2021
+147114,016000769,,UNIVERSITY OF MAINE SYSTEM,84,3/25/2021
+147742,526000989,,MONTGOMERY COUNTY PUBLIC SCHOOLS,84,3/25/2021
+147942,046001394,EFC2AWA1NQC9,CITY OF LAWRENCE,84,3/14/2023
+147949,046001415,,CITY OF SPRINGFIELD,84,3/25/2021
+147954,046001396,,CITY OF LOWELL,84,4/26/2022
+147963,046001409,,CITY OF QUINCY,84,10/14/2022
+147964,046001382,,CITY OF BROCKTON,84,3/24/2023
+148653,386004447,,CENTRAL MICHIGAN UNIVERSITY,84,3/25/2021
+148655,386005986,,EASTERN MICHIGAN UNIVERSITY,84,3/25/2021
+148656,386005159,,FERRIS STATE UNIVERISTY,84,3/25/2021
+148657,381684280,,GRAND VALLEY STATE UNIVERSITY,84,3/25/2021
+148661,386005984,,MICHIGAN STATE UNIVERSITY,84,3/25/2021
+148662,386005955,,MICHIGAN TECHNOLOGICAL UNIVERSITY,84,3/25/2021
+148663,386029206,,NORTHERN MICHIGAN UNIVERSITY,84,3/25/2021
+148665,381714400,,OAKLAND UNIVERSITY,84,3/25/2021
+148666,381798800,,SAGINAW VALLEY STATE UNIVERSITY,84,3/25/2021
+148671,386007327,,WESTERN MICHIGAN UNIVERSITY,84,3/25/2021
+150206,386001599,ESQJNJ5LU3R5,LANSING SCHOOL DISTRICT,84,10/14/2022
+150266,386002019,ZKKMEZC272F7,GRAND RAPIDS PUBLIC SCHOOLS,84,12/12/2022
+150277,382980195,,GRAND RAPIDS COMMUNITY COLLEGE,84,7/7/2022
+150340,381714601,,MACOMB INTERMEDIATE SCHOOL DISTRICT,84,11/13/2021
+150450,381751522,,OAKLAND COMMUNITY COLLEGE,84,11/4/2021
+150606,381909530,,WAYNE COUNTY REGIONAL EDUCATIONAL SERVICE AGENCY,84,3/25/2021
+150611,386157869,FN98L9WF61M3,WAYNE COUNTY COMMUNITY COLLEGE DISTRICT,84,3/31/2023
+150676,416007513,,REGENTS OF THE UNIVERSITY OF MINNESOTA,84,3/25/2021
+151681,416008267,KBAWKXFM32L7,INDEPENDENT SCHOOL DISTRICT NO. 11,84,1/13/2023
+151808,410851980,,MINNEAPOLIS SPECIAL SCHOOL DISTRICT NO. 1,84,3/25/2021
+151978,410901311,,INDEPENDENT SCHOOL DISTRICT NO. 625,84,3/25/2021
+152599,646000505,,JACKSON PUBLIC SCHOOL DISTRICT,84,9/19/2022
+152737,446000308,,MISSOURI STATE UNIVERSITY,84,3/25/2021
+152738,436003859,,UNIVERSITY OF MISSOURI SYSTEM,84,3/25/2021
+152741,446000293,,UNIVERSITY OF CENTRAL MISSOURI,84,3/25/2021
+152745,446000301,,NORTHWEST MISSOURI STATE UNIVERSITY,84,12/18/2021
+152746,436003569,,SOUTHEAST MISSOURI STATE UNIVERSITY,84,3/25/2021
+153845,446005539,EMUDM5DEZMH1,THE SCHOOL DISTRICT OF SPRINGFIELD R-XII,84,12/12/2022
+153896,446003031,WN2MVJNM9624,INDEPENDENCE 30 SCHOOL DISTRICT,84,2/14/2023
+153897,446003108,HGM6RN7EW395,"THE SCHOOL DISTRICT OF KANSAS CITY, MISSOURI",84,1/4/2023
+153902,430813703,,METROPOLITAN COMMUNITY COLLEGE,84,12/7/2021
+154131,436003220,,SCHOOL DISTRICT OF THE CITY OF ST. LOUIS,84,1/18/2022
+154881,470049123,,UNIVERSITY OF NEBRASKA,84,3/25/2021
+154885,611573095,UXMZXKLPV9M2,NEBRASKA STATE COLLEGE SYSTEM,84,12/31/2022
+155652,476002629,,DOUGLAS COUNTY SCHOOL DISTRICT #0001,84,3/25/2021
+156000,886000030,,CLARK COUNTY SCHOOL DISTRICT,84,3/25/2021
+156014,886000919,,WASHOE COUNTY SCHOOL DISTRICT,84,3/25/2021
+156501,222830882,,NEW JERSEY CITY UNIVERSITY,84,3/25/2021
+156504,222960726,,KEAN UNIVERSITY,84,3/25/2021
+156505,521558006,,RAMAPO COLLEGE OF NEW JERSEY,84,5/16/2022
+156506,222797398,,THE COLLEGE OF NEW JERSEY,84,5/4/2022
+156507,222781603,,THE WILLIAM PATERSON UNIVERSITY OF NEW JERSEY,84,3/25/2021
+156508,222764819,,ROWAN UNIVERSITY,84,3/25/2021
+156543,226088440,J7EFDKQD4D97,ROWAN COLLEGE OF SOUTH JERSEY,84,5/16/2023
+156801,222832788,,STOCKTON UNIVERSITY (A COMPONENT UNIT OF THE STATE OF NEW JERSEY),84,3/25/2021
+156810,216000326,N84LD49GR6G1,TRENTON BOARD OF EDUCATION,84,3/30/2023
+157585,216000154,E6HKN3MD1G21,CITY OF CAMDEN BOARD OF EDUCATION,84,3/31/2023
+158024,856000401,,NEW MEXICO STATE UNIVERSITY,84,3/25/2021
+158048,856000565,,STATE OF NEW MEXICO PUBLIC EDUCATION DEPARTMENT,84,3/25/2021
+158218,856000101,,ALBUQUERQUE MUNICIPAL SCHOOL DISTRICT NO. 12,84,3/25/2021
+158219,850172915,EN21ZJ5KXAF8,STATE OF NM CENTRAL NEW MEXICO COMMUNITY COLLEGE,84,1/18/2023
+158238,856002445,KXMCLLUKZWF5,LAS CRUCES PUBLIC SCHOOL DISTRICT NO. 2,84,2/20/2023
+158723,131616880,,THE CITY UNIVERSITY OF NEW YORK,84,3/25/2021
+160651,136006910,H6HKL3HS2KU3,EAST RAMAPO CENTRAL SCHOOL DISTRICT,84,7/6/2023
+160969,566000994,MB5UHS1RFA98,BUNCOMBE COUNTY BOARD OF EDUCATION,84,12/27/2022
+160975,566000997,VHKTMJGPA8L1,CABARRUS COUNTY BOARD OF EDUCATION,84,11/10/2022
+161008,566001015,,CUMBERLAND COUNTY BOARD OF EDUCATION,84,3/25/2021
+161029,560795164,,WINSON-SALEM FORSYTH COUNTY SCHOOLS,84,3/25/2021
+161034,566001032,,GASTON COUNTY BOARD OF EDUCATION,84,12/7/2021
+161045,566000522,,GUILFORD COUNTY BOARD OF EDUCATION,84,3/25/2021
+161052,566001044,XKGNL17FKW65,HARNETT COUNTY BOARD OF EDUCATION,84,2/6/2023
+161071,561744267,CKDGXLL4NN87,IREDELL-STATESVILLE BOARD OF EDUCATION,84,4/4/2023
+161079,566001055,HP51MNJMFQ61,JOHNSTON COUNTY BOARD OF EDUCATION,84,11/16/2022
+161102,566001074,,CHARLOTTE MECKLENBURG BOARD OF EDUCATION,84,3/25/2021
+161117,566001085,H9KFKBENBPL3,NEW HANOVER COUNTY BOARD OF EDUCATION,84,1/4/2023
+161141,566001097,ECKDEHPCB6D4,"PITT COUNTY BOARD OF EDUCATION, NORTH CAROLINA",84,1/2/2023
+161151,566001104,,PUBLIC SCHOOLS OF ROBESON COUNTY,84,4/28/2022
+161185,566001123,MJ7JT5N2UN17,UNION COUNTY BOARD OF EDUCATION,84,1/4/2023
+161191,561137759,,WAKE COUNTY BOARD OF EDUCATION,84,3/25/2021
+162392,316025986,,THE OHIO STATE UNIVERSITY,84,3/25/2021
+162393,316402113,,OHIO UNIVERSITY,84,3/25/2021
+162395,341055865,CJRNG45SK9D1,STARK STATE COLLEGE,84,3/1/2023
+162401,341015707,,EASTERN GATEWAY COMMUNITY COLLEGE,84,3/10/2022
+162405,316402089,,MIAMI UNIVERSITY,84,3/25/2021
+162408,341011998,,YOUNGSTOWN STATE UNIVERSITY,84,3/25/2021
+162411,316402079,,KENT STATE UNIVERSITY,84,3/25/2021
+162412,346401483,,THE UNIVERSITY OF TOLEDO,84,3/25/2021
+162413,310732831,,WRIGHT STATE UNIVERSITY,84,3/25/2021
+162414,316000989,,UNIVERSITY OF CINCINNATI,84,3/25/2021
+162415,346402018,,BOWLING GREEN STATE UNIVERSITY,84,3/25/2021
+162418,346002924,,THE UNIVERSITY OF AKRON,84,3/25/2021
+162420,340966056,,CLEVELAND STATE UNIVERSITY,84,3/25/2021
+164186,346000662,,CLEVELAND MUNICIPAL SCHOOL DISTRICT,84,3/25/2021
+164252,316400416,,COLUMBUS CITY SCHOOL DISTRICT,84,3/25/2021
+164437,346401449,,TOLEDO CITY SCHOOL DISTRICT,84,3/25/2021
+164498,316000784,JETRRRCCKH75,DAYTON CITY SCHOOL DISTRICT,84,3/2/2023
+164514,310723444,,SINCLAIR COMMUNITY COLLEGE,84,1/11/2022
+164655,346000033,,AKRON CITY SCHOOL DISTRICT,84,6/29/2022
+164836,611770436,,OKLAHOMA STATE REGENTS FOR HIGHER EDUCATION,84,3/25/2021
+165774,736021175,,"INDEPENDENT SCHOOL DISTRICT NO. 89 OF OKLAHOMA COUNTY, OKLAHOMA",84,3/25/2021
+165941,736021242,,TULSA PUBLIC SCHOOLS INDEPENDENT SCHOOL DISTRICT NO. I-1,84,3/25/2021
+166673,936000763,,SALEM-KEIZER SCHOOL DISTRICT NO. 24J,84,12/9/2021
+166683,930585134,VKNDQDCD3AU9,CHEMEKETA COMMUNITY COLLEGE,84,2/24/2023
+166693,936000830,,"SCHOOL DISTRICT NO.1J, MULTNOMAH COUNTY OREGON",84,12/14/2021
+166744,936001065,E9UDY9JX78X9,BEAVERTON SCHOOL DISTRICT,84,12/20/2022
+166793,231693362,,PENNSYLVANIA HIGHER EDUCATION ASSISTANCE AGENCY (PHEAA),84,3/25/2021
+166794,232250505,,"STATE SYSTEM OF HIGHER EDUCATION, COMMONWEALTH OF PENNSYLVANIA",84,3/25/2021
+166795,246000376,,THE PENNSYLVANIA STATE UNIVERSITY,84,3/25/2021
+169600,251157808,,SCHOOL DISTRICT OF PITTSBURGH,84,3/25/2021
+169627,256075057,,COMMUNITY COLLEGE OF ALLEGHENY COUNTY,84,12/17/2021
+169839,231685591,UQEFRLKYSEA3,DELAWARE COUNTY COMMUNITY COLLEGE,84,4/3/2023
+169847,256001265,MJNTFJNX6S65,"SCHOOL DISTRICT OF THE CITY OF ERIE,PA",84,3/31/2023
+169929,231740422,,LANCASTER-LEBANON INTERMEDIATE UNIT 13,84,12/17/2021
+169951,236003488,YVMSJ93LHNC6,ALLENTOWN SCHOOL DISTRICT,84,6/30/2023
+170068,236391672,,COMMUNITY COLLEGE OF PHILADELPHIA,84,3/25/2021
+170374,570427788,JJWEM8GBJ9L9,MIDLANDS TECHNICAL COLLEGE,84,10/25/2022
+170375,570440170,JTNDE6EBHL41,TRIDENT TECHNICAL COLLEGE,84,3/30/2023
+170721,576000300,LU7JSJ4R3MM9,THE CONSOLIDATED SCHOOL DISTRICT OF AIKEN COUNTY,84,12/7/2022
+170734,576000310,KMALQBCRCNN5,BEAUFORT COUNTY SCHOOL DISTRICT,84,12/6/2022
+170735,576000313,ZFRDSBNFLEY9,BERKELEY COUNTY SCHOOL DISTRICT,84,12/9/2022
+170755,576000231,Q2KVV935WJE3,FLORENCE SCHOOL DISTRICT ONE,84,12/7/2022
+170761,576000234,,THE SCHOOL DISTRICT OF GREENVILLE COUNTY,84,3/25/2021
+170768,576000364,,HORRY COUNTY SCHOOLS,84,12/7/2021
+170800,578000364,UKJCDJAFLBL3,RICHLAND COUNTY SCHOOL DISTRICT ONE,84,12/21/2022
+171279,466002586,,SIOUX FALLS SCHOOL DISTRICT 49-5,84,4/12/2022
+171391,626000636,,"HAMILTON COUNTY, TENNESSEE",84,3/25/2021
+171405,626007979,,KNOX COUNTY GOVERNMENT,84,3/25/2021
+171415,626000729,MYX9B6NDMS25,"MADISON COUNTY, TENNESSEE",84,2/6/2023
+171421,626000764,,"MONTGOMERY COUNTY, TENNESSEE",84,3/18/2022
+171432,626000818,,RUTHERFORD COUNTY TENNESSEE,84,12/29/2021
+173929,746001505,,KILLEEN INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+173943,746015301,,NORTH EAST INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+173944,746015904,,NORTHSIDE INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+173946,746002173,,ALAMO COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+173947,746002167,,SAN ANTONIO INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174016,746000418,,BROWNSVILLE INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174017,746001053,ZZSKMJLNWBA7,HARLINGEN CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,1/24/2023
+174022,746002224,VUQKWNGGJEK1,SAN BENITO CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,12/12/2022
+174070,756001636,YLM8Y2HQ6TD8,FRISCO INDEPENDENT SCHOOL DISTRICT,84,12/1/2022
+174074,756002252,DERLA1LAC6H8,PLANO INDEPENDENT SCHOOL DISTRICT,84,12/21/2022
+174078,752037156,,COLLIN COUNTY COMMUNITY COLLEGE DISTRICT,84,12/23/2021
+174118,756001278,,DALLAS INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174121,756001650,,GARLAND INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174126,756002054,EDUJZELNL9A4,MESQUITE INDEPENDENT SCHOOL DISTRICT,84,12/9/2022
+174131,751213149,,DALLAS COUNTY COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+174145,756001955,,LEWISVILLE INDEPENDENT SCHOOL DISTRICT,84,12/16/2021
+174175,756001362,,ECTOR COUNTY INDEPENDENT SCHOOL DISTRICT,84,12/1/2021
+174192,746029385,ZB1CF1UCVVQ7,SOCORRO INDEPENDENT SCHOOL DISTRICT,84,1/24/2023
+174195,746002473,,YSLETA INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174197,741690850,,EL PASO COUNTY COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+174198,746000769,,EL PASO INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174228,746002016,LJ1TM4C8X411,LAMAR CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,2/6/2023
+174230,746025253,,FORT BEND INDEPENDENT SCHOOL DISTRICT,84,11/17/2021
+174242,746001592,JTUENMMSMWF6,CLEAR CREEK INDEPENDENT SCHOOL DISTRICT,84,1/31/2023
+174317,746001110,,ALDINE INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174318,746000019,,ALIEF INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174321,746000654,,CYPRESS-FAIRBANKS INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174325,746000251,,GOOSE CREEK CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,3/26/2022
+174326,746001255,,HOUSTON INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174329,746001484,,KATY INDEPENDENT SCHOOL DISTRICT,84,2/16/2022
+174332,746001850,,PASADENA INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174334,746001379,,SPRING BRANCH INDEPENDENT SCHOOL DISTRICT,84,12/10/2021
+174335,746002339,YGX3UJR6N6U6,SPRING INDEPENDENT SCHOOL DISTRICT,84,1/24/2023
+174337,741589572,,REGION 4 EDUCATION SERVICE CENTER,84,1/11/2022
+174338,741709152,,HOUSTON COMMUNITY COLLEGE SYSTEM,84,3/25/2021
+174339,746028285,,SAN JACINTO COMMUNITY COLLEGE DISTRICT,84,1/14/2022
+174341,741734884,,LONE STAR COLLEGE SYSTEM,84,3/25/2021
+174369,746000715,,EDINBURG CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174374,746001742,CF41ED1ALVQ4,MISSION CONSOLIDATED INDEPENDENT SCHOOL DISTRICT,84,12/6/2022
+174376,746001876,,PHARR-SAN JUAN-ALAMO I.S.D.,84,3/25/2021
+174379,746001550,,LA JOYA INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174561,756001989,,LUBBOCK INDEPENDENT SCHOOL DISTRICT,84,12/7/2021
+174605,746000701,RGALM64S41C4,EAGLE PASS INDEPENDENT SCHOOL DISTRICT,84,12/20/2022
+174635,746000556,,CONROE INDEPENDENT SCHOOL DISTRICT,84,1/29/2022
+174674,746000581,,CORPUS CHRISTI INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174725,756000031,,AMARILLO COLLEGE,84,12/16/2021
+174726,756000036,,AMARILLO INDEPENDENT SCHOOL DISTRICT,84,12/7/2021
+174800,756002675,T9KLBZLQGU76,TYLER INDEPENDENT SCHOOL DISTRICT,84,1/26/2023
+174807,746003668,PNRNGL9YQLD3,RIO GRANDE CITY GRULLA INDEPENDENT SCHOOL DISTRICT,84,12/1/2022
+174817,756000119,,ARLINGTON INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174824,756001613,,FORT WORTH INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174829,756002005,R4SYTR7G6PJ6,MANSFIELD INDEPENDENT SCHOOL DISTRICT,84,1/19/2023
+174833,751217163,,TARRANT COUNTY COLLEGE DISTRICT,84,3/25/2021
+174839,756000004,JN8BGSBPWNZ4,ABILENE INDEPENDENT SCHOOL DISTRICT,84,1/11/2023
+174859,746000064,,AUSTIN INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174864,741742036,,AUSTIN COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+174912,746000400,,BLINN COLLEGE DISTRICT,84,3/25/2021
+174916,746001580,,LAREDO INDEPENDENT SCHOOL DISTRICT,84,12/23/2021
+174918,746028859,,UNITED INDEPENDENT SCHOOL DISTRICT,84,3/25/2021
+174953,746002018,JSQ9N6EHLUA1,ROUND ROCK INDEPENDENT SCHOOL DISTRICT,84,12/8/2022
+175253,876000487,,DAVIS SCHOOL DISTRICT,84,12/9/2021
+175266,876000494,,GRANITE SCHOOL DISTRICT,84,3/25/2021
+175267,876000497,MYCXQMLWYKB4,JORDAN SCHOOL DISTRICT,84,11/29/2022
+175279,876000478,,ALPINE SCHOOL DISTRICT,84,11/11/2021
+175283,876000531,KXXQFLKEQAV8,WASHINGTON COUNTY SCHOOL DISTRICT,84,3/30/2023
+175301,030213787,,VERMONT STATE COLLEGES,84,3/25/2021
+175651,036000783,SDJZAAPVXR36,WINOOSKI SCHOOL DISTRICT,84,2/8/2023
+176050,546001208,,"CHESTERFIELD COUNTY, VIRGINIA",84,3/25/2021
+176072,546001344,,"COUNTY OF HENRICO, VIRGINIA",84,3/25/2021
+176104,546001531,,PRINCE WILLIAM COUNTY,84,3/25/2021
+176116,546001622,,SPOTSYLVANIA COUNTY,84,10/6/2022
+176258,540721442,,CITY OF CHESAPEAKE,84,3/25/2021
+176268,546001336,,CITY OF HAMPTON,84,12/18/2021
+176272,546001405,,"CITY OF LYNCHBURG, VIRGINIA",84,12/18/2021
+176278,546001512,,"CITY OF PORTSMOUTH, VIRGINIA",84,5/3/2022
+176285,546001636,PFBEDV4G5MF3,"CITY OF SUFFOLK, VIRGINIA",84,12/22/2022
+177114,916001600,TS7KCJ776E59,EVERGREEN SCHOOL DISTRICT NO. 114,84,4/17/2023
+177119,916001540,MV9DMZYCZLM9,VANCOUVER SCHOOL DISTRICT NO. 37,84,6/1/2023
+177142,916001752,NWW9NTJ3ABU7,PASCO SCHOOL DISTRICT NO. 1,84,5/16/2023
+177181,916001624,U96DJWC6FGZ4,FEDERAL WAY SCHOOL DISTRICT NO. 210,84,6/1/2023
+177189,916001541,,SEATTLE SCHOOL DISTRICT NO. 1,84,5/26/2022
+177277,916001553,,TACOMA SCHOOL DISTRICT NO. 10,84,6/1/2022
+177320,916001582,XSVJKNZ9N263,SPOKANE SCHOOL DISTRICT NO 81,84,6/1/2023
+177387,916001550,YXD3EXL7BZMS,YAKIMA SCHOOL DISTRICT NO. 7,84,5/25/2023
+177820,556000337,,KANAWHA COUNTY BOARD OF EDUCATION,84,5/2/2022
+179284,396002329,KTMFQB98UHH5,GREEN BAY AREA PUBLIC SCHOOLS,84,1/11/2023
+179346,391086718,TK2SQD3B8M44,MADISON AREA TECHNICAL COLLEGE DISTRICT,84,12/27/2022
+179495,396003457,,MILWAUKEE PUBLIC SCHOOLS,84,3/25/2021
+179770,836000331,,UNIVERSITY OF WYOMING,84,3/25/2021
+180102,980032933,,UNIVERSITY OF GUAM,84,4/27/2022
+180113,660446193,,COMM OF THE NO MARIANA ISLANDS PUBLIC SCH SYSTEM,84,5/1/2023
+180138,660433481,,PUERTO RICO DEPARTMENT OF EDUCATION,84,3/25/2021
+180143,660433767,,UNIVERSITY OF PUERTO RICO,84,3/25/2021
+180800,226002012,,JERSEY CITY PUBLIC SCHOOLS,84,4/12/2022
+180812,526000886,,BOARD OF EDUCATION OF BALTIMORE COUNTY,84,3/25/2021
+180840,911898417,,NORTHEASTERN STATE UNIVERSITY,84,3/25/2021
+180845,156010157,,"CITY SCHOOL DISTRICT OF SYRACUSE, NEW YORK",84,3/25/2021
+180857,710236896,,"HARDING UNIVERSITY, INC.",84,3/25/2021
+180875,561957903,KPTDLJRNNE31,ALAMANCE-BURLINGTON BOARD OF EDUCATION,84,12/6/2022
+180880,731353314,,UNIVERSITY OF CENTRAL OKLAHOMA,84,3/25/2021
+180900,886000024,,NEVADA SYSTEM OF HIGHER EDUCATION,84,3/25/2021
+180901,926000096,JK2MKNSUTB39,FAIRBANKS NORTH STAR BOROUGH SCHOOL DISTRICT,84,11/29/2022
+180950,946002320,CPLCLKQTK2W5,MADERA UNIFIED SCHOOL DISTRICT,84,1/26/2023
+180960,166001554,,"BOARD OF EDUCATION, CITY OF BUFFALO, NEW YORK",84,3/25/2021
+180985,356002041,,PURDUE UNIVERSITY,84,3/25/2021
+180995,660191965,,PONTIFICAL CATHOLIC UNIVERSITY OF PUERTO RICO,84,3/25/2021
+181003,611010545,,NORTHERN KENTUCKY UNIVERSITY,84,3/25/2021
+181010,820207699,,BRIGHAM YOUNG UNIVERSITY - IDAHO,84,3/25/2021
+181034,526000992,,BOARD OF EDUCATION OF PRINCE GEORGE'S COUNTY MARYLAND,84,3/25/2021
+181037,526001035,H5NPA6BV2363,WASHINGTON COUNTY BOARD OF EDUCATION,84,1/6/2023
+181048,341131512,,NORTHEAST OHIO MEDICAL UNIVERSITY,84,11/23/2021
+181071,136007340,XN4BA2UMNY17,YONKERS CITY SCHOOL DISTRICT,84,1/2/2023
+181086,956000931,,SAN BERNARDINO COUNTY SUPERINTENDENT OF SCHOOLS,84,3/25/2021
+181090,742683499,,SOUTH TEXAS COLLEGE DISTRICT,84,3/25/2021
+181178,386028429,,WAYNE STATE UNIVERSITY,84,3/25/2021
+181225,926000078,,ANCHORAGE SCHOOL DISTRICT,84,3/25/2021
+181251,943233542,,WESTED,84,3/25/2021
+181292,113682643,CNSNH6LM6NY7,SUNY ERIE,84,6/2/2023
+181298,226002140,,NEWARK BOARD OF EDUCATION,84,3/25/2021
+181306,530199507,,GALLAUDET UNIVERSITY,84,3/25/2021
+181330,526000955,WE2EJHNL6LL5,HARFORD COUNTY PUBLIC SCHOOLS,84,12/31/2022
+181377,222912682,,MONTCLAIR STATE UNIVERSITY,84,3/25/2021
+181395,352544200,,TULSA COMMUNITY COLLEGE,84,12/14/2021
+181427,870217280,,BRIGHAM YOUNG UNIVERSITY,84,3/25/2021
+181601,731180305,,OKLAHOMA STUDENT LOAN AUTHORITY,84,3/25/2021
+181646,990266482,,"DEPARTMENT OF EDUCATION, STATE OF HAWAII",84,3/25/2021
+181925,131740451,,FORDHAM UNIVERSITY,84,3/25/2021
+182089,581216007,,"LIFE UNIVERSITY, INC.",84,3/25/2021
+182145,066001876,,CITY OF NEW HAVEN,84,3/25/2021
+182312,226000910,,NEW JERSEY INSTITUTE OF TECHNOLOGY,84,3/25/2021
+182630,526000941,FJJQCCXBQBK5,FREDERICK COUNTY BOARD OF EDUCATION/PUBLIC SCHOOLS,84,12/8/2022
+182926,226001086,,"RUTGERS, THE STATE UNIVERSITY OF NEW JERSEY",84,3/25/2021
+183200,526000882,,ANNE ARUNDEL COUNTY BOARD OF EDUCATION,84,3/25/2021
+184216,596000530,,BROWARD COUNTY DISTRICT SCHOOL BOARD,84,3/25/2021
+184257,046001418,,"CITY OF WORCESTER, MASSACHUSETTS",84,3/25/2021
+184274,256007669,V8NCPGDCHZ41,ALLEGHENY INTERMEDIATE UNIT 3,84,12/27/2022
+184292,520891845,M2ENSJTABU43,MONTGOMERY COLLEGE,84,1/4/2023
+184315,611011211,,EASTERN KENTUCKY UNIVERSITY,84,3/25/2021
+184321,431549458,,COMM COLLEGE DIST OF CNTRL SW MOI - OZARKS TECH C,84,1/13/2022
+184331,526000968,LBUJLL83NF95,HOWARD COUNTY BOARD OF EDUCATION,84,2/2/2023
+184509,344428219,DZW4S1HT2EL9,HEIDELBERG UNIVERSITY,84,1/24/2023
+184530,566172047,,NORTH CAROLINA STATE EDUCATION ASSISTANCE AUTHORITY,84,3/25/2021
+184565,131967321,,MERCY COLLEGE,84,3/25/2021
+184609,726000592,,JEFFERSON PARISH PUBLIC SCHOOL SYSTEM,84,3/25/2021
+184805,381713563,,OAKLAND SCHOOLS,84,3/25/2021
+185713,756002311,KSJKFACJJLB5,RICHARDSON INDEPENDENT SCHOOL DISTRICT,84,12/1/2022
+185746,146013200,,NYS HIGHER EDUCATION SERVICES CORP,84,3/25/2021
+185848,540722061,,CITY OF VIRGINIA BEACH,84,3/25/2021
+185899,226002199,,PATERSON BOARD OF EDUCATION,84,3/25/2021
+186066,626000834,,SHELBY COUNTY BOARD OF EDUCATION,84,3/25/2021
+186428,231738850,,MONTGOMERY COUNTY INTERMEDIATE UNIT,84,1/28/2022
+186541,826000945,,UNIVERSITY OF IDAHO,84,3/25/2021
+186728,586000191,,BIBB COUNTY SCHOOL DISTRICT,84,3/22/2022
+186782,951644035,,POINT LOMA NAZARENE UNIVERSITY AND AFFILIATE,84,3/25/2021
+186787,746001658,JUFXAND8BUG9,MCALLEN INDEPENDENT SCHOOL DISTRICT,84,12/6/2022
+186979,330386669,FG8HAYKLHGN7,LAKE ELSINORE UNIFIED SCHOOL DISTRICT,84,4/25/2023
+187036,226002193,,PASSAIC PUBLIC SCHOOLS,84,4/9/2022
+187203,236004102,,SCHOOL DISTRICT OF PHILADELPHIA,84,3/25/2021
+187283,952644299,,SAN DIEGO COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+187375,746000691,GD9NKJUFC2D3,DONNA INDEPENDENT SCHOOL DISTRICT,84,1/13/2023
+187547,431261525,,HIGHER EDUCATION LOAN AUTHORITY OF THE STATE OF MISSOURI,84,3/25/2021
+187661,946000385,,OAKLAND UNIFIED SCHOOL DISTRICT,84,3/25/2021
+187998,952378800,,GARDEN GROVE UNIFIED SCHOOL DISTRICT,84,3/25/2021
+188134,756002676,,TYLER JUNIOR COLLEGE,84,12/16/2021
+189247,576000322,,CHARLESTON COUNTY SCHOOL DISTRICT,84,3/25/2021
+189616,376014070,,ILLINOIS STATE UNIVERSITY,84,3/25/2021
+189671,741556846,V3J6KE9L9YL7,JUDSON INDEPENDENT SCHOOL DISTRICT,84,12/21/2022
+189818,942840774,,CLOVIS UNIFIED SCHOOL DISTRICT,84,6/27/2022
+189897,956006659,,SOUTHWESTERN COMMUNITY COLLEGE DISTRICT,84,3/3/2022
+189904,710503641,,ARKANSAS DEVELOPMENT FINANCE AUTHORITY,84,3/25/2021
+189911,370813229,,OSF HEALTHCARE SYSTEM,84,7/6/2022
+190159,356007261,HJ7RDM3Q45X7,VIGO COUNTY SCHOOL CORPORATION,84,3/31/2023
+190213,391853833,,"ASCENDIUM EDUCATION SOLUTIONS, INC.",84,3/25/2021
+190346,941054700,,LODI UNIFIED SCHOOL DISTRICT,84,12/17/2021
+191889,221494434,,FAIRLEIGH DICKINSON UNIVERSITY,84,3/25/2021
+192142,951643334,,LOYOLA MARYMOUNT UNIVERSITY,84,3/25/2021
+192442,546001455,,"CITY OF NORFOLK, VIRGINIA",84,3/25/2021
+192446,043167352,,UNIVERSITY OF MASSACHUSETTS,84,3/25/2021
+192477,586000246,,FULTON COUNTY BOARD OF EDUCATION,84,3/25/2021
+192511,586000206,GM1WDDKTGNJ1,SAVANNAH-CHATHAM COUNTY PUBLIC SCHOOL SYSTEM,84,4/6/2023
+192542,586000134,,ATLANTA INDEPENDENT SCHOOL SYSTEM,84,3/25/2021
+192565,731377584,,UNIVERSITY OF OKLAHOMA NORMAN CAMPUS,84,3/25/2021
+192639,646000964,,MISSISSIPPI GULF COAST COMMUNITY COLLEGE,84,8/8/2022
+192649,746001421,,HUMBLE INDEPENDENT SCHOOL DISTRICT,84,12/9/2021
+193043,646000783,,STATE OF MISSISSIPPI INSTITUTIONS OF HIGHER LEARNING,84,3/25/2021
+193279,310729591,,COLUMBUS STATE COMMUNITY COLLEGE,84,3/25/2021
+193349,522064235,,BALTIMORE CITY PUBLIC SCHOOL SYSTEM,84,3/25/2021
+193434,316000758,,CINCINNATI CITY SCHOOL DISTRICT,84,3/25/2021
+193461,646000453,,HINDS COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+193596,366009515,,NORTHEASTERN ILLINOIS UNIVERSITY,84,3/25/2021
+193670,596000500,,ALACHUA COUNTY DISTRICT SCHOOL BOARD,84,4/7/2022
+193671,952962604,UTQ7GBV8BLL8,CALIFORNIA LUTHERAN UNIVERSITY & AFFILIATE,84,10/25/2022
+193991,620694743,,"THE METROPOLITAN GOVERNMENT OF NASHVILLE & DAVIDSON COUNTY, TENNESSEE",84,3/25/2021
+194459,386004193,,"SCHOOL DISTRICT OF THE CITY OF DEARBORN, MICHIGAN",84,3/25/2021
+194874,586000232,WCMNR7WC8JF9,DOUGLAS COUNTY BOARD OF EDUCATION,84,4/4/2023
+195021,956000613,,CHULA VISTA ELEMENTARY SCHOOL DISTRICT,84,2/23/2022
+195427,636000767,,BIRMINGHAM CITY BOARD OF EDUCATION,84,12/6/2022
+196078,636001101,,ALABAMA STATE UNIVERSITY,84,3/25/2021
+196886,726001305,,ST. TAMMANY PARISH SCHOOL BOARD,84,1/29/2022
+196892,430786590,CH6QTM2K95W1,COMMUNITY COLLEGE DISTRICT OF ST. LOUIS,84,11/27/2022
+197070,731383996,,OKLAHOMA STATE UNIVERSITY,84,3/25/2021
+197262,751249185,,EDUCATION SERVICE CENTER REGION 10,84,3/25/2021
+197499,330831357,,RIVERSIDE COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+197652,841383926,,WESTERN GOVERNORS UNIVERSITY,84,3/25/2021
+197851,946003004,MUNJKC8LKBJ1,COLLEGE OF THE SEQUOIAS COMMUNITY COLLEGE DISTRICT,84,3/31/2023
+197868,741143128,,ST. MARY'S UNIVERSITY,84,3/25/2021
+198446,521977456,,THE COMMUNITY COLLEGE OF BALTIMORE COUNTY,84,3/25/2021
+198496,516000297,,UNIVERSITY OF DELAWARE,84,3/25/2021
+198517,680342035,,CONTRA COSTA COMMUNITY COLLEGE DISTRICT,84,7/26/2022
+198615,956000025,HNEAQFHNYBB3,ALHAMBRA UNIFIED SCHOOL DISTRICT,84,2/23/2023
+199507,660234412,,UNIVERSIDAD CARLOS ALBIZU INC,84,2/3/2022
+199828,351330472,,"FRANCISCAN ALLIANCE, INC.",84,10/10/2022
+199844,420730347,,DES MOINES UNIVERSITY OSTEOPATHIC MEDICAL CENTER,84,3/25/2021
+200095,610600439,,KENTUCKY HIGHER EDUCATION ASSISTANCE AUTHORITY/ STUDENT LOAN CORP.,84,3/25/2021
+200449,636001097,,ALABAMA A&M UNIVERSITY,84,3/25/2021
+200576,226002304,C5VYV9ZLXBT1,CITY OF ELIZABETH SCHOOL DISTRICT-EIN NOTED,84,3/20/2023
+200795,231639151,,HARRISBURG AREA COMMUNITY COLLEGE,84,3/25/2021
+201044,952228663,W92UJUVFJYC4,ANTELOPE VALLEY COMMUNITY COLLEGE DISTRICT,84,4/3/2023
+201583,362703832,U6U3MSJA34N6,WAUKEGAN COMMUNITY UNIT SCHOOL DISTRICT NO. 60,84,4/6/2023
+201693,611320380,,KENTUCKY COMMUNITY AND TECHNICAL COLLEGE SYSTEM,84,3/25/2021
+202042,941574802,,STATE CENTER COMMUNITY COLLEGE DISTRICT,84,3/25/2021
+202092,351443425,,TRINITY HEALTH,84,6/3/2022
+202105,236291113,,GEISINGER HEALTH,84,3/25/2021
+202471,951644037,,PEPPERDINE UNIVERSITY,84,3/25/2021
+203744,756001697,SSFUTC29RJC7,GRAND PRAIRIE INDEPENDENT SCHOOL DISTRICT,84,2/23/2023
+203869,431617558,,BJC HEALTHCARE,84,10/5/2022
+205901,856005550,MZC6N49RJKA8,GALLUP-MCKINLEY COUNTY SCHOOLS,84,1/11/2023
+209135,522063496,,CHARTER SCHOOL DEVELOPMENT CORPORATION,84,6/2/2022
+209224,411778617,,EDUCATIONAL CREDIT MANAGEMENT CORPORATION,84,3/25/2021
+209451,576000265,,THE COLLEGE OF CHARLESTON,84,3/25/2021
+209715,570977955,,COASTAL CAROLINA UNIVERSITY,84,3/25/2021
+210445,576001204,,WINTHROP UNIVERSITY,84,3/25/2021
+211692,576000254,,CLEMSON UNIVERSITY,84,3/25/2021
+211695,576001153,,UNIVERSITY OF SOUTH CAROLINA,84,3/25/2021
+212257,760615245,J943LULZXK64,HARMONY PUBLIC SCHOOLS,84,12/12/2022
+212490,650216638,,"EVERGLADES COLLEGE, INC.",84,3/25/2021
+212629,576000950,,SOUTH CAROLINA STATE UNIVERSITY,84,3/25/2021
+213514,431747502,,"SAINT LUKE'S HEALTH SYSTEM, INC",84,9/26/2022
+214366,752659683,YESVC9SDGFK7,UPLIFT EDUCATION,84,12/9/2022
+214499,660491518,,GUAM DEPARTMENT OF EDUCATION,84,3/25/2021
+215447,590936101,,"EMBRY-RIDDLE AERONAUTICAL UNIVERSITY, INC.",84,3/25/2021
+218327,542052107,,EDWARD VIA VIRGINIA COLLEGE OF OSTEOPATHIC MEDICINE AND AFFILIATES,84,3/25/2021
+218734,362167854,,ROOSEVELT UNIVERSITY,84,3/25/2021
+219643,510305893,,DELAWARE STATE UNIVERSITY,84,3/25/2021
+220190,611014882,,UNIVERSITY OF LOUISVILLE,84,3/25/2021
+221966,340714538,,AULTMAN HEALTH FOUNDATION,84,10/5/2022
+223716,273339369,,REMINGTON COLLEGE,84,3/25/2021
+225629,061627882,GX7UG6VHDHC9,"GOODWIN UNIVERSITY, INC. AND SUBSIDIARIES",84,3/1/2023
+225665,880435559,,ROSEMAN UNIVERSITY OF HEALTH SCIENCES,84,3/25/2021
+228272,166002010,,ROCHESTER CITY SCHOOL DISTRICT,84,3/25/2021
+229253,261773196,,TWIN RIVERS UNIFIED SCHOOL DISTRICT,84,1/20/2022
+229592,742948339,,"IDEA PUBLIC SCHOOLS, INC.",84,3/25/2021
+229596,541398784,GD54V5XED254,"THE SCHOOL BOARD OF THE CITY OF NEWPORT NEWS, VIRGINIA",84,3/30/2023
+229737,743068519,NKYUBMDD67H3,COMMONWEALTH CHARTER ACADEMY CHARTER SCHOOL,84,2/14/2023
+230189,300686273,,NASSAU COMMUNITY COLLEGE,84,6/13/2022
+230427,621586836,,"EDUCATION LOAN FINANCE, INC.",84,3/25/2021
+230948,223524939,,VIRTUA HEALTH INC.,84,9/26/2022
+231704,546001570,ZU3QCHKBMW13,ROANOKE CITY PUBLIC SCHOOLS,84,1/12/2023
+231934,263770988,KL5JDE23TN48,CANYONS SCHOOL DISTRICT,84,12/21/2022
+232275,371058692,,HOSPITAL SISTERS HEALTH SYSTEM,84,10/5/2022
+235613,621056632,K49KP3ZCGW63,"CITY OF LAKELAND, TENNESSEE",84,12/8/2022
+237887,470617373,,COMMONSPIRIT HEALTH,84,10/6/2022
+237982,042492727,,QUINSIGAMOND COMMUNITY COLLEGE,84,9/22/2022
+238045,900531902,,COMMUNITY COLLEGE SYSTEM OF NEW HAMPSHIRE,84,3/25/2021
+238098,042325342,,SALEM STATE UNIVERSITY,84,3/25/2021
+238280,043010428,,BRIDGEWATER STATE UNIVERSITY,84,3/25/2021
+238343,042710011,,BUNKER HILL COMMUNITY COLLEGE,84,4/14/2022
+238347,900171867,,NORTHCENTRAL UNIVERSITY FKA WESTMED COLLEGE,84,3/25/2021
+239636,721028323,,FRANCISCAN MISSIONARIES OF OUR LADY HEALTH SYSTEM,84,7/25/2022
+240303,050395355,,RHODE ISLAND STUDENT LOAN AUTHORITY,84,3/25/2021
+240925,420680460,,DRAKE UNIVERSITY,84,3/25/2021
+242667,216000219,,TOWNSHIP OF LAKEWOOD SCHOOL DISTRICT,84,3/17/2022
+242736,026000937,,UNIVERSITY SYSTEM OF NEW HAMPSHIRE,84,3/25/2021
+244560,611730890,,OREGON STATE UNIVERSITY,84,3/25/2021
+244592,464727800,,UNIVERSITY OF OREGON,84,3/25/2021
+244593,364776757,,PORTLAND STATE UNIVERSITY,84,3/25/2021
+244668,362167804,,NATIONAL LOUIS UNIVERSITY,84,3/25/2021
+245063,272280465,,CLINICAL & PATIENT EDUCATORS ASSOC & UMA EDUCATION INC DBA ULTIMATE ME,84,3/25/2021
+245195,271503981,,"HERZING UNIVERSITY, LTD.",84,3/25/2021
+245476,731563627,,THE UNIVERSITY OF OKLAHOMA HEALTH SCIENCES CENTER,84,3/25/2021
+245842,541689909,,SCHOOL BOARD CITY OF RICHMOND,84,3/25/2021
+246537,812847693,,DETROIT PUBLIC SCHOOLS COMMUNITY DISTRICT,84,3/25/2021
+248006,821319401,,"PURDUE UNIVERSITY GLOBAL, INC.",84,3/25/2021
+248303,042254705,,AMERICAN STUDENT ASSISTANCE,84,3/25/2021
+248565,746002248,,TEXAS STATE UNIVERSITY,84,3/25/2021
+248573,208091013,,"CENTER FOR EXCELLENCE IN HIGHER EDUCATION, INC.",84,3/25/2021
+248703,521301088,,BON SECOURS MERCY HEALTH,84,9/28/2022
+249242,586000263,NP93D6WFDKG1,HENRY COUNTY BOARD OF EDUCATION,84,7/25/2023
+249257,056000329,,"CITY OF PROVIDENCE, RHODE ISLAND",84,3/25/2021
+249261,020274509,,SOUTHERN NEW HAMPSHIRE UNIVERSITY,84,3/25/2021
+249308,580566167,,THE CORPORATION OF MERCER UNIVERSITY,84,3/25/2021
+249510,815128459,,SOUTH UNIVERSITY - MEMBER LLC,84,3/25/2021
+249837,815126041,,THE ARTS INSTITUTES INTERNATIONAL LLC,84,3/25/2021
+251288,746001399,,UNIVERSITY OF HOUSTON - DOWNTOWN,84,2/18/2022
+252793,566001834,WXA2ESWNHJ83,ROWAN-SALISBURY BOARD OF EDUCATION,84,1/9/2023
+255162,460459671,,HARVEY W PETERS RESEARCH FOUNDATION,84,10/5/2022
+256201,260152908,MB5GWJCFBGC7,UNIVERSITY OF MASSACHUSETTS GLOBAL-9 MONTH AUDIT,84,12/12/2022
+258054,844813183,C9L1ZHMMTNH5,"BRYANT & STRATTON COLLEGE, INC.",84,5/1/2023
+258431,426004333,PLZ1BS2RC597,UNIVERSITY OF NORTHERN IOWA,84,6/29/2023
+258457,426004813,Z1H9VJS8NG16,STATE UNIVERSITY OF IOWA,84,6/30/2023
+258472,426004224,DQDBM7FGJPC5,IOWA STATE UNIVERSITY-EIN NOTED,84,7/6/2023
+73971,521068522,JNXVYWEXC959,"RFE/RL, INC.",90,3/25/2021
+197690,521968145,G22JVJGLK725,RADIO FREE ASIA,90,3/25/2021
+221792,421591205,,"MIDDLE EAST BRAODCASTING NETWORKS, INC.",90,3/25/2021
+85,010527066,,EASTERN MAINE HEALTHCARE SYSTEMS D/B/A NORTHERN LIGHT HEALTH,93,6/30/2022
+202,010238552,,MAINEHEALTH,93,6/23/2022
+511,010424969,L8KDMW1J82M9,"COMMUNITY CONCEPTS, INCORPORATED AND ITS AFFILIATES",93,3/16/2023
+658,016023748,FLJGNNHJJ6B3,"PENQUIS C.A.P., INC. AND ITS AFFILIATES",93,5/11/2023
+738,020222111,,TRUSTEES OF DARTMOUTH COLLEGE,93,3/25/2021
+895,020268285,,"SOUTHERN NEW HAMPHSIRE SERVICES, INC.",93,4/10/2022
+2155,042103580,,HARVARD UNIVERSITY,93,3/25/2021
+2262,042103881,,BETH ISRAEL DEACONESS MEDICAL CENTER,93,3/25/2021
+2961,042263040,,"DANA-FARBER CANCER INSTITUTE, INC. AND SUBSIDIARIES",93,3/25/2021
+3019,042304133,,"ACTION FOR BOSTON COMMUNITY DEVELOPMENT, INC.",93,3/25/2021
+3226,042452600,,"HARVARD PILGRIM HEALTH CARE, INC AND AFFILIATES",93,10/10/2022
+3278,042473133,,"COMMUNITY DAY CARE CENTER OF LAWRENCE, INC.",93,3/25/2021
+4292,042790311,,"BAYSTATE MEDICAL CENTER, INC.",93,6/16/2022
+5865,050258809,,BROWN UNIVERSITY,93,3/25/2021
+6735,060646973,,YALE UNIVERSITY,93,3/25/2021
+7194,060872959,,"NEW ENGLAND FARM WORKERS' COUNCIL, INC.",93,3/25/2021
+8827,112013303,,COLD SPRING HARBOR LABORATORY,93,3/25/2021
+8851,112047151,YZHQV1DK1NP3,"CATHOLIC CHARITIES NEIGHBORHOOD SERVICES, INC.",93,3/30/2023
+9532,113418133,,"NORTHWELL HEALTH, INC.",93,3/25/2021
+9899,113050340,NJBXJYAP8AA5,"YELED V'YALDA EARLY CHILDHOOD CENTER, INC.",93,1/5/2023
+10650,131624096,,THE MOUNT SINAI HOSPITAL,93,10/10/2022
+10670,131624135,,NEW YORK SOCIETY FOR THE RELIEF OF THE RUPTURED AND CRIPPLED,93,10/10/2022
+10677,131624158,,THE ROCKEFELLER UNIVERSITY,93,3/25/2021
+11261,131878704,,"U.S. COMMITTEE FOR REFUGEES AND IMMIGRANTS, INC. AND RELATED ENTITY",93,3/25/2021
+11448,131974191,,BRONXCARE HEALTH SYSTEM,93,10/5/2022
+11478,131988190,,RESEARCH FOUNDATION OF THE CITY UNIVERSITY OF NEW YORK,93,3/25/2021
+11754,132637308,UKCPHXSY7MB8,"THE MENTAL HEALTH ASSOCIATION OF NEW YORK CITY, INC",93,3/7/2023
+13106,133164477,JV7ZPKLK3NP6,"WOMEN IN NEED, INC.",93,3/31/2023
+15303,135596796,,BASSETT HEALTHCARE NETWORK,93,10/10/2022
+15322,135598093,,COLUMBIA UNIVERSITY,93,3/25/2021
+15516,135669201,,PUBLIC HEALTH SOLUTIONS,93,3/25/2021
+17225,141368361,,RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK,93,3/25/2021
+17262,141402155,,"HEALTH RESEARCH, INC.",93,3/25/2021
+17274,141410842,,"RESEARCH FOUNDATION FOR MENTAL HYGIENE, INC.14-1410842",93,3/25/2021
+18064,150532082,,CORNELL UNIVERSITY,93,3/25/2021
+18565,160743209,,UNIVERSITY OF ROCHESTER,93,3/25/2021
+19020,830382654,,ERIE COUNTY MEDICAL CENTER CORPORATION,93,9/22/2022
+20075,210634549,,"ATLANTICARE HEALTH SYSTEM, INC AND AFFILIATES",93,10/10/2022
+20567,221487576,,"HACKENSACK MERIDIAN HEALTH, INC.",93,10/10/2022
+23463,222842846,,"CHILD CARE CONSULTANTS, INC.",93,3/25/2021
+23522,222861978,,LIFESPAN CORPORATION AND AFFILIATES,93,3/25/2021
+25374,231352104,,CARING PEOPLE ALLIANCE,93,3/25/2021
+25395,231352166,,THE CHILDREN'S HOSPITAL OF PHILADELPHIA FOUNDATION & CONTROLLED AFFILI,93,3/25/2021
+25418,231352213,,"ST. LUKE'S HEALTH NETWORK, INC. AND CONTROLLED ENTITIES",93,6/23/2022
+25545,231352685,,UNIVERSITY OF PENNSYLVANIA,93,3/25/2021
+26234,222458317,,LEHIGH VALLEY HEALTH NETWORK AND SUBSIDIARIES,93,8/16/2022
+27118,232204725,,"COMMUNITY SERVICES FOR CHILDREN, INC",93,3/25/2021
+27282,232290323,,ALBERT EINSTEIN HEALTHCARE NETWORK,93,6/22/2022
+27372,232331531,,MAIN LINE HEALTH SYSTEM AND AFFILIATES,93,10/6/2022
+28643,236434390,DW1XZMGNFBL4,THE WISTAR INSTITUTE OF ANATOMY AND BIOLOGY,93,6/13/2023
+29479,237046393,EK81Q7HQA8N3,URBAN AFFAIRS COALITION,93,7/13/2023
+29588,237052541,,"CALIFORNIA RURAL INDIAN HEALTH BOARD, INC.",93,3/25/2021
+29737,237062976,,BAKERRIPLEY,93,3/25/2021
+31329,237156071,,FRED HUTCHINSON CANCER RESEARCH CENTER,93,3/25/2021
+31937,237203666,,THE J. DAVID GLADSTONE INSTITUTES,93,7/2/2022
+32124,237221025,,PUBLIC HEALTH MANAGEMENT CORPORATION,93,3/25/2021
+33339,237334012,E6RZE38JHS41,"CATHOLIC CHARITIES, DIOCESE OF SAN DIEGO",93,2/23/2023
+34557,237426300,ZY63XPTXNZC3,LEGACY HEALTH,93,12/21/2022
+35765,250965591,,UNIVERSITY OF PITTSBURGH OF THE COMMONWEALTH SYSTEM OF HIGHER EDUCATIO,93,3/25/2021
+35792,250965639,,YOUNG WOMEN'S CHRISTIAN ASSOCIATION GREATER PITTSBURGH,93,3/25/2021
+36006,251094911,,MERAKEY ALLEGHENY VALLEY SCHOOL,93,3/25/2021
+39110,316056230,,THE RESEARCH INSTITUTE AT NATIONWIDE CHILDREN'S HOSPITAL,93,3/25/2021
+40830,316053035,,CINCINNATI-HAMILTON COUNTY COMMUNITY ACTION AGENCY,93,10/10/2022
+41447,330328688,,LA JOLLA INSTITUTE FOR IMMUNOLOGY,93,7/14/2022
+41588,330435954,,THE SCRIPPS RESEARCH INSTITUTE,93,3/25/2021
+42338,340714585,,CLEVELAND CLINIC FOUNDATION DBA CLEVELAND CLINIC HEALTH SYSTEM,93,3/25/2021
+42780,341018992,,CASE WESTERN RESERVE UNIVERSITY,93,3/25/2021
+43333,341346763,,CHN HOUSING PARTNERS,93,7/10/2022
+47025,351859562,GEL5PMVKJYK8,GEMINUS CORPORATION,93,2/9/2023
+48063,361877640,,HEARTLAND ALLIANCE FOR HUMAN NEEDS & HUMAN RIGHTS,93,3/25/2021
+48300,362167060,,NORTHSHORE UNIVERSITY HEALTHSYSTEM,93,7/6/2022
+48349,362167808,,NATIONAL OPINION RESEARCH CENTER,93,3/25/2021
+48352,362167817,,NORTHWESTERN UNIVERSITY,93,3/25/2021
+48401,824184596,,"ADVOCATE AURORA HEALTH, INC.",93,9/8/2022
+48480,362174823,,RUSH SYSTEM FOR HEALTH,93,3/25/2021
+48485,362177139,,THE UNIVERSITY OF CHICAGO,93,3/25/2021
+49171,362597741,,"COMMUNITY AND ECONOMIC DEVELOPMENT ASSOCIATION OF COOK COUNTY, INC.",93,3/25/2021
+49340,362712912,,ILLINOIS ACTION FOR CHILDREN,93,3/25/2021
+50324,363261413,,ALLINA HEALTH SYSTEM,93,9/23/2022
+50593,362170833,,CHILDREN'S HOSPITAL OF CHICAGO MEDICAL CENTER AND AFFILIATED CORPORATI,93,5/13/2022
+53625,363152959,,NORTHWESTERN MEMORIAL HEALTHCARE,93,6/1/2022
+53832,371110690,,MEMORIAL HEALTH SYSTEM AND SUBSIDIARIES,93,7/6/2022
+55033,381405282,,BETHANY CHRISTIAN SERVICES AND ITS SUBSIDIARIES,93,3/25/2021
+55715,381976979,,WAYNE METROPOLITAN COMMUNITY ACTION AGENCY AND AFFILIATES,93,5/25/2022
+58433,390452970,,"MARSHFIELD CLINIC HEALTH SYSTEM, INC.",93,10/3/2022
+58643,390806261,,"THE MEDICAL COLLEGE OF WISCONSIN, INC",93,3/25/2021
+58758,391500074,,"CHILDREN'S HOSPITAL AND HEALTH SYSTEM, INC",93,7/19/2022
+63579,416011702,,MAYO CLINIC,93,3/25/2021
+65853,430653611,,WASHINGTON UNIVERSITY,93,3/25/2021
+68101,440605373,N52NHWMBZNG5,THE CHILDREN'S MERCY HOSPITAL,93,4/5/2023
+68155,440661018,,"TRUMAN MEDICAL CENTER, INCORPORATED",93,10/10/2022
+69071,460420063,DT3GJW3JNMN5,GREAT PLAINS TRIBAL LEADERS HEALTH BOARD,93,7/6/2023
+70117,480543809,,"SAINT FRANCIS MINISTRIES, INC.",93,7/29/2022
+70282,480680117,,UNIVERSITY OF KANSAS CENTER FOR RESEARCH,93,3/25/2021
+71243,510103684,,CHRISTIANA CARE HEALTH SYSTEM AND AFFILIATES,93,7/2/2022
+72105,510197108,,SANFORD BURNHAM PREBYS MEDICAL DISCOVERY INSTITUTE,93,3/25/2021
+76672,521800436,,"ASSOCIATION OF PUBLIC HEALTH LABORATORIES, INC.",93,3/25/2021
+78587,540620889,,INOVA HEALTH SYSTEM,93,12/8/2022
+80920,550665758,,WEST VIRGINIA UNIVERSITY RESEARCH CORPORATION,93,3/25/2021
+81362,560532129,,DUKE UNIVERSITY,93,3/25/2021
+81366,560532138,,WAKE FOREST UNIVERSITY,93,3/25/2021
+81635,560686338,,RESEARCH TRIANGLE INSTITUTE,93,3/25/2021
+87167,582106707,,NATIONAL FOUNDATION FOR THE CENTERS FOR DISEASE CONTROL AND PREVENTION,93,2/8/2022
+87913,590634433,,THE NEMOURS FOUNDATION,93,9/7/2022
+87947,590638499,,"MIAMI CHILDREN'S HEALTH SYSTEM, INC. D/B/A NICKLAUS CHILDREN'S HEALTH ",93,6/9/2022
+88612,591146765,,"EPISCOPAL CHILDREN'S SERVICES, INC.",93,12/1/2021
+88715,591221966,,"REDLANDS CHRISTIAN MIGRANT ASOCIATION, INC.",93,3/25/2021
+88898,591371754,,"COMMUNITY COORDINATED CARE FOR CHILDREN, INC & THE 4C FOUNDATION, INC",93,3/25/2021
+89272,591726273,,"ORLANDO HEALTH, INC",93,7/7/2022
+89485,591865751,,"CITRUS HEALTH NETWORK, INC.",93,1/20/2022
+89865,592142859,TN6UN1R1Y6C3,"SHANDS JACKSONVILLE MEDICAL CENTER, INC.",93,3/31/2023
+90240,592451713,,"H. LEE MOFFITT CANCER CENTER & RESEARCH INSTITUTE, INC.",93,10/12/2021
+90356,592551416,,"ECKERD YOUTH ALTERNATIVES, INC.",93,3/25/2021
+90878,593032613,,FLORIDA HEALTHY KIDS CORPORATION,93,3/25/2021
+91183,596012065,,NORTH BROWARD HOSPITAL DISTRICT,93,1/14/2022
+91926,610650121,VM74MG6JG5K3,"COMMUNITY ACTION COUNCIL FOR LEXINGTON-FAYETTE, BOURBON, HARRISON, AND",93,4/5/2023
+92121,610865554,,"COMMUNITY ACTION KENTUCKY, INC.",93,4/10/2022
+92994,620479367,,METHODIST LE BONHEUR HEALTHCARE,93,7/21/2022
+93019,620488046,,MEHARRY MEDICAL COLLEGE,93,3/25/2021
+93230,620646012,,"ST. JUDE CHILDREN'S RESEARCH HOSPITAL, INC. AND SUBSIDIARIES",93,3/25/2021
+94212,626000101,,ERLANGER HEALTH SYSTEM,93,4/7/2022
+94568,630307306,,THE CHILDREN'S HOSPITAL OF ALABAMA,93,9/26/2022
+94765,630644300,HPY7M5C5NBK8,TALLADEGA CLAY RANDOLPH CHILD CARE CORPORATION,93,3/31/2023
+95844,640440578,VD9RYD7FAFT1,"MISSISSIPPI ACTION FOR PROGRESS, INC.",93,8/31/2023
+96036,640653269,,"NORTH MISSISSIPPI HEALTH SERVICES, INC.",93,7/6/2022
+98571,720502505,,OCHSNER CLINIC FOUNDATION,93,10/5/2022
+101101,760461578,EYJCLM9UCLX5,TEXAS CHILDREN'S,93,6/22/2023
+101136,741109733,,CATHOLIC CHARITIES OF THE ARCHDIOCE OF GALVESTON-HOUSTON,93,12/16/2021
+101209,741152597,,MEMORIAL HERMANN HEALTH SYSTEM,93,10/6/2022
+101267,741180155,,THE HOUSTON METHODIST HOSPITAL SYSTEM DBA HOUSTON METHODIST,93,9/13/2022
+101742,741613878,,BAYLOR COLLEGE OF MEDICINE,93,3/25/2021
+102253,742044647,,NATIONAL JEWISH HEALTH,93,5/10/2022
+102701,742327454,RTLBXFXU7GN6,WORKFORCE SOLUTIONS - CAPITAL AREA WORKFORCE BOARD,93,6/27/2023
+103008,742481167,,"SOUTHWEST KEY PROGRAMS, INC. AND AFFILIATES",93,3/25/2021
+104609,751230219,,"SOUTH PLAINS COMMUNITY ACTION ASSOCIATION, INC.",93,12/3/2021
+106315,756000439,FV5JX1HNMDH3,TARRANT COUNTY HOSPITAL DISTRICT,93,6/21/2023
+109056,840166760,,CHILDREN'S HOSPITAL COLORADO,93,9/6/2022
+109522,840587601,,CHILD CARE ASSOCIATES,93,3/25/2021
+110753,850105601,,PRESBYTERIAN HEALTHCARE SERVICES,93,9/28/2022
+111758,860227210,,"CHICANOS POR LA CAUSA, INC. AND SUBSIDIARIES AND AFFILIATES",93,1/15/2022
+113665,910564748,,SEATTLE CHILDRENS,93,3/25/2021
+114207,910873623,,"ARCTIC SLOPE NATIVE ASSOCIATION, LIMITED",93,3/25/2021
+114425,911019392,XPMYYG76MMD5,YAKIMA VALLEY FARM WORKERS CLINIC,93,11/8/2022
+114429,911020139,HDKAKDQ1KLQ6,SEA MAR COMMUNITY HEALTH CENTERS,93,11/17/2022
+115770,920037322,ZNJZMWJ84HU5,"CATHOLIC SOCIAL SERVICES, INC.",93,3/1/2023
+115787,920040308,,TANANA CHIEFS CONFERENCE,93,3/25/2021
+115791,920041414,,YUKON-KUSKOKWIM HEALTH CORPORATION,93,3/25/2021
+115793,920041461,,MANIILAQ ASSOCIATION,93,3/25/2021
+115796,920041488,,NORTON SOUND HEALTH CORPORATION,93,3/25/2021
+115810,920044965,,BRISTOL BAY AREA HEALTH CORPORATION,93,3/15/2022
+115836,920056274,,SOUTHEAST ALASKA REGIONAL HEALTH CONSORTIUM,93,3/25/2021
+115971,920086076,,SOUTHCENTRAL FOUNDATION,93,3/25/2021
+116713,930591240,,"OREGON CHILD DEVELOPMENT COALITION, INC.",93,3/25/2021
+118297,941156276,,COMMUNITY HOSPITALS OF CENTRAL CA DBA COMMUNITY HEALTH SYSTEM,93,5/20/2022
+118321,941156365,,STANFORD UNIVERSITY,93,3/25/2021
+118676,941105628,,"KAISER FOUNDATION HEALTH PLAN, INC AND SUBSIDIARIES AND KAISER FOUNDAT",93,3/25/2021
+119054,941606519,,FRESNO ECONOMIC OPPORTUNITIES COMMISSION,93,3/25/2021
+119146,941646278,,PUBLIC HEALTH INSTITUTE,93,3/25/2021
+119575,942219349,,"TARZANA TREATMENT CENTERS, INC.",93,1/14/2022
+120912,942854057,,"IHC HEALTH SERVICES, INC.",93,10/6/2022
+122362,946000533,,COUNTY OF SANTA CLARA,93,3/25/2021
+123574,951648184,,NEIGHBORHOOD HOUSE ASSOCIATION,93,3/25/2021
+123653,951683878,,CITY OF HOPE AND AFFILIATES,93,3/25/2021
+123693,951690976,,CHILDREN'S HOME SOCIETY OF CALIFORNIA,93,10/12/2021
+123694,951690977,,CHILDRENS HOSPITAL LOS ANGELES,93,6/1/2022
+124143,952039198,,YMCA OF SAN DIEGO COUNTY,93,12/10/2021
+124278,952160097,,SALK INSTITUTE FOR BIOLOGICAL STUDIES,93,3/25/2021
+124464,952402760,,COMMUNITY ACTION PARTNERSHIP OF KERN,93,3/25/2021
+124481,952410253,,"COMMUNITY ACTION PARTNERSHIP OF SAN LUIS OBISPO COUNTY, INC.",93,3/25/2021
+124640,952557063,,"PUBLIC HEALTH FOUNDATION ENTERPRISES, INC. DBA HELUNA HEALTH",93,3/25/2021
+124691,952594166,,MEXICAN AMERICAN OPPORTUNITY FOUNDATION,93,1/18/2022
+124821,952707101,WMC4EN344RB6,CLINICA SIERRA VISTA,93,8/17/2023
+124934,952846605,,"RIVERSIDE-SAN BERNARDINO COUNTY INDIAN HEALTH, INC.",93,9/20/2022
+125751,953510046,,CRYSTAL STAIRS INC,93,3/25/2021
+125770,953522679,K5TMAM98KHD3,LOMA LINDA UNIVERSITY MEDICAL CENTER AND AFFILIATES,93,2/8/2023
+125871,953602641,,OPTIONS FOR LEARNING,93,3/25/2021
+127595,956042721,,SAN DIEGO STATE UNIVERSITY RESEARCH FOUNDATION,93,3/25/2021
+127959,956151774,,CHARLES R. DREW UNIVERSITY OF MEDICINE AND SCIENCE,93,3/25/2021
+128828,636000619,,STATE OF ALABAMA,93,3/25/2021
+128980,636005396,,THE UNIVERSITY OF ALABAMA AT BIRMINGHAM,93,3/25/2021
+129688,636001120,,TALLASSEE CITY BOARD OF EDUCATION,93,6/29/2022
+129769,630705119,X3G1ZDHMASN5,POARCH BAND OF CREEK INDIANS,93,7/6/2023
+129783,926001185,,STATE OF ALASKA,93,9/14/2022
+130060,920069243,,KENAITZE INDIAN TRIBE,93,4/24/2022
+130209,866000472,,MARICOPA COUNTY,93,3/25/2021
+130213,866000543,,PIMA COUNTY,93,4/20/2022
+130571,860093307,,SAN CARLOS APACHE TRIBE DEPARTMENT OF GOVERNMENTAL PROGRAMS,93,3/25/2021
+130579,860203228,,PASCUA YAQUI TRIBE GOVERNMENTAL OPERATIONS,93,6/29/2022
+130749,716046242,,UNIVERSITY OF ARKANSAS FOR MEDICAL SCIENCES,93,3/25/2021
+131803,680284175,,STATE OF CALIFORNIA,93,3/25/2021
+131804,943067788,,UNIVERSITY OF CALIFORNIA,93,3/25/2021
+131810,946000501,,"COUNTY OF ALAMEDA, CALIFORNIA",93,3/25/2021
+131816,946000506,,COUNTY OF BUTTE,93,3/25/2021
+131822,946000509,,COUNTY OF CONTRA COSTA,93,3/25/2021
+131826,946000512,,COUNTY OF FRESNO,93,3/25/2021
+131830,946000513,,COUNTY OF HUMBOLDT,93,3/25/2021
+131832,956000924,,COUNTY OF IMPERIAL,93,3/25/2021
+131837,956000925,,COUNTY OF KERN,93,3/25/2021
+131838,956000941,,KERN COUNTY SUPERINTENDENT OF SCHOOLS,93,3/25/2021
+131845,956000927,,COUNTY OF LOS ANGELES,93,3/25/2021
+131846,956000942,,LOS ANGELES COUNTY OFFICE OF EDUCATION,93,3/25/2021
+131847,946000518,,COUNTY OF MADERA,93,5/10/2022
+131851,946000520,,COUNTY OF MENDOCINO,93,10/6/2022
+131853,946002379,,MERCED COUNTY OFFICE OF EDUCATION,93,4/21/2022
+131858,946000524,,COUNTY OF MONTEREY,93,3/25/2021
+131860,946000525,,COUNTY OF NAPA,93,3/25/2021
+131866,956000943,,ORANGE COUNTY DEPARTMENT OF EDUCATION,93,3/25/2021
+131867,946000527,,COUNTY OF PLACER,93,3/25/2021
+131871,956000930,,COUNTY OF RIVERSIDE,93,3/25/2021
+131872,330830818,,RIVERSIDE COUNTY OFFICE OF EDUCATION,93,3/25/2021
+131873,946000529,,COUNTY OF SACRAMENTO,93,3/25/2021
+131877,956002748,,COUNTY OF SAN BERNARDINO,93,3/25/2021
+131878,956000934,,COUNTY OF SAN DIEGO,93,3/25/2021
+131880,946000531,,COUNTY OF SAN JOAQUIN,93,3/25/2021
+131884,946000532,,COUNTY OF SAN MATEO,93,3/25/2021
+131885,956002833,,COUNTY OF SANTA BARBARA,93,3/25/2021
+131888,770272168,,SANTA CLARA COUNTY OFFICE OF EDUCATION,93,3/25/2021
+131891,946000535,,COUNTY OF SHASTA,93,3/25/2021
+131898,946000538,,COUNTY OF SOLANO,93,3/25/2021
+131903,946000540,,COUNTY OF STANISLAUS,93,3/25/2021
+131904,946002388,,STANISLAUS COUNTY OFFICE OF EDUCATION,93,3/25/2021
+131915,956000944,,COUNTY OF VENTURA,93,3/25/2021
+131917,946000548,,COUNTY OF YOLO,93,3/25/2021
+131928,946027360,J2JJNJAU6E26,CITY OF NEWARK,93,4/4/2023
+131929,946000384,,CITY OF OAKLAND,93,3/25/2021
+132266,946000417,,CITY AND COUNTY OF SAN FRANCISCO,93,3/25/2021
+133079,946000529,,SACRAMENTO EMPLOYMENT AND TRAINING AGENCY,93,3/25/2021
+133826,956000213,,BALDWIN PARK UNIFIED SCHOOL DISTRICT,93,4/12/2022
+133881,956002457,,POMONA UNIFIED SCHOOL DISTRICT,93,3/25/2021
+134720,840644739,,STATE OF COLORADO,93,3/25/2021
+134732,846000732,,"ADAMS COUNTY, COLORADO",93,3/25/2021
+134734,846000740,,"ARAPAHOE COUNTY, COLORADO",93,3/25/2021
+134738,846000748,,"BOULDER COUNTY, COLORADO",93,2/14/2023
+134751,846000764,,EL PASO COUNTY,93,3/25/2021
+134760,846000774,,JEFFERSON COUNTY GOVERNMENT,93,3/25/2021
+134765,846000779,,"LARIMER COUNTY, COLORADO",93,7/21/2022
+134792,846000813,,WELD COUNTY GOVERNMENT,93,7/29/2022
+135992,516000279,,STATE OF DELAWARE,93,3/25/2021
+136063,596001874,,STATE OF FLORIDA,93,3/25/2021
+136086,591713947,,"PUBLIC HEALTH TRUST OF MAIMI-DADE COUNTY, FLORIDA",93,5/27/2022
+136102,596000661,,"HILLSBOROUGH COUNTY, FLORIDA",93,3/25/2021
+136126,596000800,,PINELLAS COUNTY,93,4/14/2022
+136810,591415030,,SEMINOLE TRIBE OF FLORIDA,93,7/6/2022
+136829,580973190,,STATE OF GEORGIA/STATE ACCOUNTING OFFICE,93,3/25/2021
+137883,996000449,,STATE OF HAWAII DEPARTMENT OF HEALTH,93,3/25/2021
+137884,996001089,,DEPARTMENT OF HUMAN SERVICES,93,3/25/2021
+137965,826000952,,STATE OF IDAHO,93,3/25/2021
+138467,820255928,,NEZ PERCE TRIBE,93,3/25/2021
+138655,366006600,,"LAKE COUNTY, ILLINOIS",93,9/19/2022
+138815,366005820,,CITY OF CHICAGO,93,3/25/2021
+139586,366006082,,CITY OF ROCKFORD,93,9/22/2022
+143605,420933966,,STATE OF IOWA,93,3/25/2021
+143683,426004519,K32TGXKSEL64,"POLK COUNTY, IOWA",93,1/27/2023
+144797,481124839,,STATE OF KANSAS,93,3/25/2021
+144884,486000798,,SEDGWICK COUNTY,93,6/23/2022
+146632,726000720,,STATE OF LOUISIANA,93,3/25/2021
+146694,726000223,,CADDO PARISH COMMISSION,93,8/11/2022
+147110,016000001,,STATE OF MAINE,93,3/25/2021
+147719,526002033,,STATE OF MARYLAND,93,3/25/2021
+147913,046002284,,COMMONWEALTH OF MASSACHUSETTS,93,3/25/2021
+148713,386004849,,"GENESEE COUNTY, MICHIGAN",93,7/26/2022
+148738,386004868,,"MACOMB COUNTY, MICHIGAN",93,3/25/2021
+150622,237249643,,SAULT STE. MARIE TRIBE OF CHIPPEWA INDIANS,93,10/5/2022
+150662,416007162,,STATE OF MINNESOTA,93,3/25/2021
+150696,416005786,,DAKOTA COUNTY,93,10/10/2022
+150704,416005801,,HENNEPIN COUNTY MINNESOTA,93,3/25/2021
+150739,416005875,,RAMSEY COUNTY,93,3/25/2021
+150746,416005890,JLKFMAQAN397,ST LOUIS COUNTY,93,7/11/2023
+152109,411737979,,WHITE EARTH RESERVATION,93,7/6/2022
+152111,410965719,,GOVERNMENTAL DEPT OF THE FOND DU LAC BAND OF LAKE SUPERIOR CHIPPEWA,93,6/30/2022
+152133,646000749,,THE STATE OF MISSISSIPPI,93,3/25/2021
+152717,640345731,,MISSISSIPPI BAND OF CHOCTAW INDIANS,93,10/14/2022
+152734,446000987,,STATE OF MISSOURI,93,3/25/2021
+154226,810302402,,STATE OF MONTANA,93,3/25/2021
+154770,810432358,WQV6F3GXKPR8,NORTHERN CHEYENNE TRIBE,93,6/30/2023
+154800,470491233,,STATE OF NEBRASKA,93,3/25/2021
+154916,476006455,,"DOUGLAS COUNTY, NEBRASKA",93,1/21/2022
+155928,886000022,,STATE OF NEVADA,93,3/25/2021
+155943,886000138,,WASHOE COUNTY,93,12/27/2021
+156039,026000618,,STATE OF NEW HAMPSHIRE,93,3/25/2021
+156544,226002443,,COUNTY OF HUDSON,93,3/25/2021
+156567,216000954,,COUNTY OF OCEAN,93,10/14/2022
+158049,856000565,,NEW MEXICO DEPARTMENT OF HEALTH,93,3/25/2021
+158054,856000565,,"NEW MEXICO CHILDREN, YOUTH AND FAMILIES DEPARTMENT",93,3/25/2021
+158354,146002563,,COUNTY OF ALBANY,93,3/25/2021
+158355,166002554,,"COUNTY OF ALLEGANY, STATE OF NEW YORK",93,3/25/2021
+158366,156000453,,"COUNTY OF DELAWARE, NEW YORK",93,3/25/2021
+158368,166002558,,ERIE COUNTY,93,3/25/2021
+158385,166002564,,"COUNTY OF NIAGARA, NEW YORK",93,3/25/2021
+158388,156000461,,"COUNTY OF ONONDAGA, NEW YORK",93,3/25/2021
+158391,146002567,,COUNTY OF ORANGE,93,3/25/2021
+158397,146002569,LPXDBJAJRMU5,"COUNTY OF RENSSELAER, NEW YORK",93,7/6/2023
+158399,136007344,,COUNTY OF ROCKLAND,93,3/25/2021
+158408,116000464,,"SUFFOLK COUNTY, NEW YORK",93,3/25/2021
+158418,136007353,,WESTCHESTER COUNTY,93,3/25/2021
+158720,136400434,,THE CITY OF NEW YORK,93,3/25/2021
+160912,160786768,,SENECA NATION OF INDIANS,93,7/1/2022
+160913,161007650,G9GLDN3W57D1,SAINT REGIS MOHAWK TRIBE,93,8/31/2023
+160966,566000279,W5TCDKMLHE69,"BUNCOMBE COUNTY, NC",93,1/5/2023
+161007,566000291,,COUNTY OF CUMBERLAND,93,12/21/2021
+161023,566000297,LJ5BA6U2HLM7,DURHAM COUNTY,93,12/31/2022
+161027,566000450,ZTVELM361423,"FORSYTH COUNTY, NORTH CAROLINA",93,3/31/2023
+161044,566000305,,GUILFORD COUNTY,93,1/13/2022
+161100,566000319,,MECKLENBURG COUNTY,93,3/25/2021
+161105,566000321,,COUNTY OF MONTGOMERY,93,2/23/2022
+161115,566000324,F7TLT2GMEJE1,NEW HANOVER COUNTY,93,12/31/2022
+161190,566000347,,"WAKE COUNTY, NORTH CAROLINA",93,3/25/2021
+161800,560572090,,EASTERN BAND OF CHEROKEE INDIANS,93,3/25/2021
+162380,311334820,,STATE OF OHIO,93,3/25/2021
+162442,346000817,,CUYAHOGA COUNTY,93,9/19/2022
+162449,316400067,,FRANKLIN COUNTY,93,3/25/2021
+162455,316000063,,HAMILTON COUNTY,93,3/25/2021
+162474,346000177,,MAHONING COUNTY,93,8/24/2022
+162501,346002767,,SUMMIT COUNTY,93,3/25/2021
+165971,730717979,,CHOCTAW NATION OF OKLAHOMA,93,3/25/2021
+165989,730932018,,MUSCOGEE CREEK NATION,93,3/25/2021
+166003,730772869,,ABSENTEE SHAWNEE TRIBE OF INDIANS OF OKLAHOMA,93,3/25/2021
+166006,730801256,KJYDNF7PDEF1,SEMINOLE NATION OF OKLAHOMA GOV'T SERVICES DEPARTMENT,93,7/6/2023
+166019,931070707,,STATE OF OREGON,93,3/25/2021
+166023,936002286,,"CLACKAMAS COUNTY, OREGON",93,3/25/2021
+166040,936002303,,"LANE COUNTY, OREGON",93,6/29/2022
+166046,936002309,,MULTNOMAH COUNTY OREGON,93,3/25/2021
+166791,010661737,,COMMONWEALTH OF PENNSYLVANIA,93,3/25/2021
+166805,256001017,,"COUNTY OF ALLEGHENY, PENNSYLVANIA",93,3/25/2021
+166818,236003040,,COUNTY OF CHESTER,93,9/28/2022
+166825,236003043,,COUNTY OF DAUPHIN,93,10/6/2022
+166828,256001027,,"COUNTY OF ERIE, PENNSYLVANIA",93,10/6/2022
+166842,231663078,,COUNTY OF LEHIGH,93,9/26/2022
+166849,236003126,,COUNTY OF MONTGOMERY,93,3/25/2021
+169669,231740825,,BERKS COUNTY INTERMEDIATE UNIT,93,3/25/2021
+169837,231736237,,DELAWARE COUNTY INTERMEDIATE UNIT,93,2/17/2022
+170255,056000522,,STATE OF RHODE ISLAND AND PROVIDENCE PLANTATIONS,93,3/25/2021
+170349,576000286,,STATE OF SOUTH CAROLINA,93,3/25/2021
+170831,466000364,,STATE OF SOUTH DAKOTA,93,4/6/2022
+171359,626001445,,STATE OF TENNESSEE,93,3/25/2021
+171436,626000841,,"SHELBY COUNTY, TENNESSEE",93,3/25/2021
+171548,626000259,,"CITY OF CHATTANOOGA, TENNESSEE",93,8/4/2022
+171944,746000089,,STATE OF TEXAS C/O COMPTROLLER OF PUBLIC ACCOUNTS,93,3/25/2021
+171961,746002039,WGCSBPYDLS78,"BEXAR COUNTY, TEXAS",93,4/28/2023
+172047,760454514,,HARRIS COUNTY,93,3/25/2021
+172054,746000717,,"COUNTY OF HIDALGO, TEXAS",93,3/25/2021
+172174,746000192,,TRAVIS COUNTY TEXAS,93,3/26/2022
+174196,741588856,,REGION 19 EDUCATION SERVICE CENTER,93,1/6/2022
+175005,756049012,,NORTH CENTRAL TEXAS COUNCIL OF GOVERNMENTS,93,3/25/2021
+175013,876000545,,STATE OF UTAH,93,3/25/2021
+175032,876000316,,SALT LAKE COUNTY,93,7/14/2022
+175300,036000264,,STATE OF VERMONT,93,3/25/2021
+175887,546001736,,COMMONWEALTH OF VIRGINIA,93,3/25/2021
+176254,546001103,,CITY OF ALEXANDRIA,93,7/12/2022
+176280,546001556,,CITY OF RICHMOND,93,10/6/2022
+176362,916001089,,STATE OF WASHINGTON C/O OFFICE OF FINANCIAL MANAGEMENT,93,3/25/2021
+177397,910760952,,QUINAULT INDIAN NATION,93,6/29/2022
+177452,550526580,,STATE OF WEST VIRGINIA,93,3/25/2021
+177867,396028867,,STATE OF WISCONSIN,93,3/25/2021
+177883,396005684,,COUNTY OF DANE,93,3/25/2021
+179719,396081138,,ONEIDA NATION,93,3/25/2021
+179738,830208667,,STATE OF WYOMING,93,3/25/2021
+180174,660433568,L46HH5KH8CA1,AUTONOMOUS MUNICIPALITY OF CAGUAS,93,4/5/2023
+180849,450314494,,SPIRIT LAKE TRIBE,93,6/30/2022
+181657,356000158,,STATE OF INDIANA,93,3/25/2021
+181658,066000798,,STATE OF CONNECTICUT,93,3/25/2021
+181661,561611588,,STATE OF NORTH CAROLINA,93,3/25/2021
+181663,736017987,,STATE OF OKLAHOMA,93,3/25/2021
+181664,866004791,,STATE OF ARIZONA,93,3/25/2021
+181667,216000928,,STATE OF NEW JERSEY,93,3/25/2021
+181744,596000573,,MIAMI-DADE COUNTY,93,3/25/2021
+181745,156000460,,"ONEIDA COUNTY, NEW YORK",93,3/25/2021
+181758,043314093,,"BMC HEALTH SYSTEM, INC.",93,3/25/2021
+181790,521640403,,CHILDREN'S NATIONAL MEDICAL CENTER AND SUBSIDIARIES,93,6/13/2022
+181798,350983617,,"COMMUNITY HEALTH NETWORK, INC.",93,6/22/2022
+181877,310833936,,CHILDREN'S HOSPITAL MEDICAL CENTER,93,3/25/2021
+181984,391140880,,HO-CHUNK NATION,93,3/23/2023
+182191,526000878,,"ANNE ARUNDEL COUNTY, MARYLAND",93,8/22/2022
+182237,386004895,,"CHARTER COUNTY OF WAYNE, MICHIGAN",93,3/25/2021
+182318,316000172,,MONTGOMERY COUNTY,93,3/25/2021
+182353,730945447,,CITIZEN POTAWATOMI NATION,93,3/25/2021
+182415,060995554,VKELG69WZM38,MASHANTUCKET PEQUOT TRIBAL NATION,93,2/6/2023
+182432,043320571,,CAMBRIDGE PUBLIC HEALTH COMMISSION/CAMBRIDGE HEALTH ALLIANCE,93,8/30/2022
+182608,410989737,G11HL1HD82Z4,SHAKOPEE MDEWAKANTON SIOUX COMMUNITY,93,2/14/2023
+182945,386178758,,SAGINAW CHIPPEWA INDIAN TRIBE OF MICHIGAN,93,7/6/2022
+183299,741603950,,THE HARRIS CENTER FOR MENTAL HEALTH AND IDD,93,3/25/2021
+183356,042774441,,BOSTON CHILDRENS HOSPITAL AND SUBSIDIARIES,93,3/25/2021
+183392,750808769,TW3HQTG7SHM5,"CATHOLIC CHARITIES DIOCESE OF FORT WORTH, INC.",93,7/21/2023
+183414,043293659,FFEEFY1RB5B5,SEVEN HILLS FOUNDATION AND AFFILIATES,93,12/20/2022
+183686,911631806,,HARBORVIEW MEDICAL CENTER,93,9/26/2022
+183705,951691330,,VOLUNTEERS OF AMERICA OF LOS ANGELES,93,3/25/2021
+183782,250965469,EJRKDPC1R9P8,ACTION HOUSING INC. AND SUBSIDIARIES,93,6/30/2023
+183970,530196617,,UNITED STATES CONFERENCE OF CATHOLIC BISHOPS,93,3/25/2021
+184345,470744117,,PONCA TRIBE OF NEBRASKA,93,6/30/2022
+184511,746002164,JTALGHD9SUH5,BEXAR COUNTY HOSPITAL DISTRICT D/B/A UNIVERSITY HEALTH ,93,8/29/2023
+184744,946000539,,COUNTY OF SONOMA,93,3/25/2021
+184937,910838426,,MUCKLESHOOT INDIAN TRIBE,93,12/8/2022
+185003,042777810,,"PEOPLE ACTING IN COMMUNITY ENDEAVORS, INC.",93,3/25/2021
+185026,156000449,,BROOME COUNTY,93,3/25/2021
+186051,753159126,KT4MLLHK99V6,ATCC GLOBAL & SUBSIDIARIES,93,5/16/2023
+186071,746000756,,EL PASO COUNTY HOSPITAL DISTRICT D/B/A UNIVERSITY MEDICAL CENTER,93,7/2/2022
+186354,880151573,,SOUTHERN NEVADA HEALTH DISTRICT,93,3/15/2022
+186634,132574854,,LUTHERAN IMMIGRATION AND REFUGEE SERVICE,93,3/25/2021
+187129,236003047,,CITY OF PHILADELPHIA,93,4/5/2023
+187160,236003046,,COUNTY OF DELAWARE,93,3/25/2021
+187214,886000028,,"CLARK COUNTY, NEVADA",93,3/25/2021
+187253,146002635,,"COUNTY OF WASHINGTON, NEW YORK",93,3/25/2021
+187679,381357020,,HENRY FORD HEALTH SYSTEM,93,10/6/2022
+187697,351955872,,"INDIANA UNIVERSITY HEALTH, INC. AND SUBSIDIARIES",93,10/6/2022
+187704,916001359,,PIERCE COUNTY,93,10/3/2022
+187746,846000580,,CITY AND COUNTY OF DENVER,93,3/25/2021
+187804,586001729,,"FULTON COUNTY, GEORGIA",93,2/2/2023
+187823,236003049,,"COUNTY OF BERKS, PENNSYLVANIA",93,10/6/2022
+187841,166002557,ZSPKQ36C6GD4,CHEMUNG COUNTY TREASURER,93,8/7/2023
+187844,841343242,,DENVER HEALTH AND HOSPITAL AUTHORITY,93,10/10/2022
+187899,116000463,,"COUNTY OF NASSAU, NEW YORK",93,3/25/2021
+187997,946000521,,MERCED COUNTY,93,3/25/2021
+188084,236003055,,"COUNTY OF LANCASTER, PENNSYLVANIA",93,10/6/2022
+188209,953081695,,"CHILD CARE RESOURCE CENTER, INC.",93,3/25/2021
+188494,156000459,,"COUNTY OF MADISON, NEW YORK",93,3/25/2021
+188874,166002563,,"COUNTY OF MONROE, NEW YORK",93,3/25/2021
+189454,731374986,,CHICKASAW NATION,93,3/25/2021
+189799,660437470,,DEPARTMENT OF HEALTH OF THE COMMONWEALTH OF PUERTO RICO,93,3/25/2021
+189875,860044545,,TOHONO O'ODHAM NATION GOVERNMENT SERVICES DEPARTMENT,93,3/25/2021
+189972,946000534,,COUNTY OF SANTA CRUZ,93,3/25/2021
+190096,916000986,,KING COUNTY PUBLIC HOSPITAL DISTRICT NO. 1,93,4/10/2022
+191859,226002433,,COUNTY OF ESSEX,93,10/7/2022
+191897,911004074,,LUMMI INDIAN BUSINESS COUNCIL,93,3/25/2021
+192079,610600439,,COMMONWEALTH OF KENTUCKY,93,6/30/2022
+192115,860092335,,THE NAVAJO NATION,93,3/25/2021
+192613,146002566,,DUTCHESS COUNTY,93,3/25/2021
+192783,910557816,,GOVERNMENTAL DEPARTMENTS OF THE TULALIP TRIBES OF WASHINGTON,93,10/3/2022
+192799,946000545,,COUNTY OF TULARE,93,3/25/2021
+192840,386006309,,REGENTS OF THE UNIVERSITY OF MICHIGAN,93,3/25/2021
+192887,450223071,,TURTLE MOUNTAIN BAND OF CHIPPEWA INDIANS,93,7/6/2022
+193062,146013200,,STATE OF NEW YORK,93,3/25/2021
+193137,920162721,,ALASKA NATIVE TRIBAL HEALTH CONSORTIUM,93,3/25/2021
+193401,316400223,,"CITY OF COLUMBUS, OHIO",93,3/25/2021
+193452,383278535,,POKAGON BAND OF POTAWATOMI INDIANS,93,1/2/2023
+193590,346000817,,CUYAHOGA COUNTY,93,3/25/2021
+193634,931176109,,OREGON HEALTH & SCIENCE UNIVERSITY,93,3/25/2021
+193698,450309764,KADSKJ11BLH5,STATE OF NORTH DAKOTA,93,3/31/2023
+193854,756000920,,"DENTON COUNTY, TEXAS",93,7/2/2022
+194208,586001198,,THE FULTON - DEKALB HOSPITAL AUTHORITY,93,11/16/2022
+194244,396005720,,MILWAUKEE COUNTY,93,3/25/2021
+194823,590624424,,"MOUNT SINAI MEDICAL CENTER OF FLORIDA, INC",93,7/6/2022
+195540,741557575,,HOUSTON-GALVESTON AREA COUNCIL,93,3/25/2021
+195773,561376950,,"NOVANT HEALTH, INC.",93,10/6/2022
+195844,953484589,,ADVENTIST HEALTH SYSTEM/WEST,93,10/3/2022
+195946,660055941,,PUERTO RICO MENTAL HEALTH AND ANTI-ADDICTION SERVICE ADMINISTRATION,93,3/25/2021
+196000,952833205,TL1GXSM5USD7,FAMILY HEALTH CENTERS OF SAN DIEGO,93,4/4/2023
+196303,592198911,,"LUTHERAN SERVICES FLORIDA, INC. AND SUBSIDIARIES",93,3/25/2021
+197012,364096312,,ILLINOIS NETWORK OF CHILD CARE RESOURCE AND REFERRAL AGENCIES,93,12/9/2021
+197107,731509406,,OSAGE NATION GOVERNMENTAL PROGRAMS DEPARTMENT,93,7/6/2022
+197363,146002571,,"COUNTY OF SARATOGA, NEW YORK",93,3/25/2021
+197527,561022483,,TELAMON CORPORATION,93,3/25/2021
+197537,580566256,,EMORY UNIVERSITY,93,3/25/2021
+197622,680006282,,SAN JOAQUIN COUNTY OFFICE OF EDUCATION,93,3/25/2021
+197856,410991680,,FAIRVIEW HEALTH SERVICES,93,9/22/2022
+198009,856000570,,NEW MEXICO HUMAN SERVICES DEPARTMENT,93,2/9/2022
+198369,886000436,,UNIVERSITY MEDICAL CENTER OF SOUTHERN NEVADA,93,2/7/2022
+198810,730757033,,CHEROKEE NATION,93,3/25/2021
+198973,133964321,,WESTCHESTER COUNTY HEALTH CARE CORPORATION,93,10/10/2022
+199123,391205576,,MENOMINEE INDIAN TRIBE OF WISCONSIN,93,12/27/2022
+199136,593467610,,"CENTRAL FLORIDA BEHAVIORAL HEALTH NETWORK, INC.",93,3/25/2021
+199484,222405279,,"RWJ BARNABAS HEALTH, INC.",93,9/22/2022
+199567,131624182,,MEMORIAL SLOAN KETTERING CANCER CENTER & AFFILIATED CORPORATIONS,93,3/25/2021
+199644,860143787,,SALT RIVER PIMA-MARICOPA INDIAN COMMUNITY,93,4/12/2022
+200900,751924974,,WORKFORCE SOLUTIONS GREATER DALLAS,93,3/25/2021
+201149,316000061,,BUTLER COUNTY,93,10/10/2022
+201368,270139424,,CALIFORNIA AUTOMATED CONSORTIUM ELIGIBILITY SYSTEM,93,3/25/2021
+201767,752681216,,TARRANT COUNTY WORKFORCE DEVELOPMENT BOARD,93,3/25/2021
+202468,132828349,,"HUDSON RIVER HEALTHCARE, INC. (D/B/A SUN RIVER HEALTH)",93,8/2/2022
+202931,966000814,,COUNTY OF KINGS,93,12/27/2022
+203014,521402373,,"LIFE BRIDGE HEALTH, INC.",93,9/2/2022
+203015,371320188,,STATE OF ILLINOIS,93,3/25/2021
+203568,742940085,,LOWER RIO GRANDE VALLEY WORKFORCE DEVELOPMENT BOARD,93,3/25/2021
+203794,521958352,,AHS HOSPITAL CORP.,93,8/30/2022
+203850,223601678,,TRINITAS REGIONAL MEDICAL CENTER,93,7/6/2022
+203859,150329043,,EXCELLUS HEALTH PLAN,93,3/25/2021
+203870,582367819,,CHILDREN'S HEALTHCARE OF ATLANTA,93,8/8/2022
+204059,450233470,,BANNER HEALTH,93,1/26/2023
+204571,536001131,,GOVERNMENT OF THE DISTRICT OF COLUMBIA,93,3/25/2021
+204659,951643381,,MEMORIAL HEALTH SERVICES AND SUBSIDIARIES,93,9/26/2022
+205501,233048942,,"PHILADELPHIA WORKS, INC.",93,3/25/2021
+205726,431423050,,"MERCY HEALTH FKA SISTERS OF MERCY HEALTH SYSTEMS, INC",93,10/10/2022
+206165,731192764,,"INTEGRIS HEALTH, INC.",93,8/22/2022
+206285,232825881,,TEMPLE UNIVERSITY HEALTH SYSTEM,93,9/26/2022
+206506,750800628,,CHILDREN'S HEALTH CLINICAL OPERATIONS,93,7/22/2022
+206676,596014973,CM6ZXKDCWEJ7,SOUTH BROWARD HOSPITAL DISTRICT D/B/A MEMORIAL HEALTHCARE SYSTEM,93,12/9/2022
+206851,576000722,,MEDICAL UNIVERSITY OF SOUTH CAROLINA,93,3/25/2021
+207008,581588823,,"THE MOSES H. CONE MEMORIAL HOSPITAL OPERATING CORPORATION, INC.",93,7/6/2022
+207050,582001014,,"PHOEBE PUTNEY HEALTH SYSTEM, INC",93,5/2/2022
+207628,146002626,,COUNTY OF FULTON,93,3/25/2021
+207677,741260710,,BCFS HEALTH AND HUMAN SERVICES,93,3/25/2021
+207994,651122406,,"EARLY LEARNING COALITION OF MIAMI-DADE/MONROE, INC.",93,3/25/2021
+208421,593688924,,"EARLY LEARNING COALITION OF DUVAL, INC",93,12/30/2021
+208872,466029223,,SSM HEALTH CARE CORPORATION,93,10/10/2022
+209282,113465690,,NASSAU HEALTH CARE CORPORATION,93,10/10/2022
+209471,340714775,,"UNIVERSITY HOSPITALS HEALTH SYSTEM, INC.",93,10/10/2022
+210565,593380599,,SOUTH FLORIDA BEHAVIORAL HEALTH NETWORK INC,93,3/25/2021
+210648,133783732,,"HEALTHFIRST PHSP, INC.",93,3/25/2021
+211212,651060848,,"EARLY LEARNING COALITION OF BROWARD COUNTY, INC.",93,3/14/2022
+211653,650974035,,"EARLY LEARNING COALITION OF PALM BEACH COUNTY, INC.",93,2/8/2022
+211669,311759186,,"ORANGE COUNTY SCHOOL READINESS COALITION, INC.",93,4/15/2022
+211671,593726679,,"EARLY LEARNING COALITION OF PINELLAS COUNTY, INC.",93,2/3/2022
+211899,581698648,L9DLXYHZ3TM8,"TASK FORCE FOR GLOBAL HEALTH, INC.",93,1/5/2023
+212004,752702388,,TEXAS HEALTH RESOURCES,93,8/4/2022
+212155,596001217,,HALIFAX HOSPITAL MEDICAL CENTER,93,7/6/2022
+212445,562570681,,"ST. LUKE'S HEALTH SYSTEM, LTD. AND SUBSIDIARIES",93,7/6/2022
+212675,956077327,,SHARP HEALTHCARE,93,7/1/2022
+212942,710847443,,STATE OF ARKANSAS,93,3/25/2021
+214017,651149351,,"CHILDNET, INC. AND AFFILIATE",93,3/25/2021
+215470,550753754,,CAMC HEALTH SYSTEM INC. AND SUBSIDIARIES,93,7/14/2022
+215599,951684089,,SCRIPPS HEALTH AND AFFILIATES,93,7/6/2022
+216236,930951989,,"SAMARITAN HEALTH SERVICES, INC.",93,10/10/2022
+217342,222529464,,YALE - NEW HAVEN HEALTH SERVICES CORPORATION,93,7/6/2022
+217422,860422559,,PHOENIX CHILDRENS HOSPITAL,93,10/3/2022
+217428,954191698,,ELIZABETH GLASER PEDIATRIC AIDS FOUNDATION,93,3/25/2021
+217851,043651340,,TUBA CITY REGIONAL HEALTH CARE CORPORATION,93,3/25/2021
+217857,111631781,,FLUSHING HOSPITAL MEDICAL CENTER,93,8/9/2022
+218267,030423156,ULDJB39ERZU8,"BIG BEND COMMUNITY BASED CARE, INC. D/B/A NORTHWEST FLORIDA HEALTH NET",93,3/22/2023
+218860,571140890,,"OUR KIDS OF MIAMI-DADE/MONROE, INC.",93,3/25/2021
+218914,411813221,,CENTRACARE HEALTH SYSTEM,93,9/28/2022
+218994,810549382,,"WINSLOW INDIAN HEALTH CARE CENTER, INC.",93,5/13/2022
+219000,043369649,,MAINEGENERAL HEALTH,93,9/23/2022
+219107,481108830,,"UNIVERSITY OF KANSAS MEDICAL CENTER RESEARCH INSTITUTE, INC.",93,3/25/2021
+219340,200360007,,ESSENTIA HEALTH,93,4/21/2022
+219459,860810876,,GILA RIVER HEALTH CARE CORPORATION,93,3/25/2021
+219579,621646734,,COVENANT HEALTH,93,7/25/2022
+219891,592796965,,"BAYCARE HEALTH SYSTEM, INC. AND AFFILIATES",93,8/5/2022
+219918,222517863,,WELLSPAN HEALTH,93,10/6/2022
+220008,920144231,,ALASKA REINSURANCE PROGRAM/ALASKA COMPREHENSIVE HEALTH INSURANCE ASSOC,93,3/25/2021
+220160,111665825,,EPISCOPAL HEALTH SERVICES INC. AND SUBSIDIARIES,93,11/17/2022
+220999,311339322,,OHIO CHILD CARE RESOURCE & REFERRAL ASSOCIATION,93,12/26/2021
+221064,391835630,,UNIVERSITY OF WISCONSIN HOSPITALS & CLINICS AUTHORITY,93,6/29/2022
+221072,050539199,SEA8ANNY16M5,"FUND FOR PUBLIC HEALTH IN NEW YORK, INC.",93,6/30/2023
+221266,521465301,,JOHNS HOPKINS HEALTH SYSTEM,93,1/28/2022
+221303,910939479,,PEACEHEALTH NETWORKS,93,8/26/2022
+221530,043567502,,"PARTNERS IN HEALTH, A NONPROFIT CORPORATION",93,12/9/2021
+222035,020222140,,DARTMOUTH HITCHCOCK HEALTH AND SUBSIDIARIES,93,10/10/2022
+222279,136171197,,ICAHN SCHOOL OF MEDICINE AT MOUNT SINAI,93,3/25/2021
+222378,411314595,,MINNESOTA COMPREHENSIVE HEALTH ASSOCIATION,93,9/27/2022
+222380,222565278,,"CATHOLIC HEALTH SYSTEM, INC. & SUBSIDIARIES",93,10/5/2022
+222561,951644036,,"COLLIS P. AND HOWARD HUNTINGTON MEMORIAL HOSPITAL TRUST, PASADENA HOSP",93,5/26/2022
+222716,311626179,,"UNIVERSITY HEALTH SYSTEM, INC.",93,10/6/2022
+223420,770097156,,"THE CHILDREN'S CABINET, INC.",93,2/7/2022
+223772,660500678,,PUERTO RICO HEALTH INSURANCE ADMINISTRATION (ASES),93,3/25/2021
+223800,382640544,,MUNSON HEALTHCARE AND SUBSIDIARIES,93,9/15/2022
+224072,912155317,NFHEUCKBFMU4,ALLEN INSTITUTE,93,7/13/2023
+224542,200873314,,LAS VEGAS - CLARK COUNTY URBAN LEAGUE,93,3/25/2021
+224672,521532556,,"ADVENTIST HEALTHCARE, INC AND CONTROLLED ENTITIES",93,4/21/2023
+225185,237204495,,"JOHN H. BONER COMMUNITY CENTER, INC.",93,8/30/2022
+226112,756004221,,DALLAS COUNTY HOSPITAL DISTRICT DBA PARKLAND HEALTH & HOSPITAL SYSTEM,93,7/2/2022
+226559,351972384,,"PARKVIEW HEALTH SYSTEM, INC. DBA PARKVIEW HEALTH",93,7/7/2022
+226636,202508411,DC4UE8MU2ZE8,"SUNSET PARK HEALTH COUNCIL, INC. DBA FAMILY HEALTH CENTERS AT NYU LANG",93,6/1/2023
+227312,460422673,,AVERA HEALTH,93,10/3/2022
+227687,203796994,,"QLARANT INTEGRITY SOLUTIONS, LLC",93,3/25/2021
+228058,650267668,,"BAPTIST HEALTH SOUTH FLORIDA, INC. AND AFFILIATES",93,7/6/2022
+228496,208022336,,"NEW YORK EHEALTH COLLABORATIVE, INC.",93,10/6/2021
+228533,743177454,,RICHMOND UNIVERSITY MEDICAL CENTER,93,10/6/2022
+228550,396005507,FS3AZ3FV8JG8,CITY OF MADISON,93,6/28/2023
+230070,990073547,,CATHOLIC CHARITIES HAWAII,93,6/1/2022
+230344,411693838,,"HEALTHPARTNERS, INC.",93,10/6/2022
+230423,050490997,,CARE NEW ENGLAND HEALTH SYSTEM,93,6/27/2022
+230928,610445850,,"ST. ELIZABETH MEDICAL CENTER, INC.",93,9/22/2022
+231074,260076866,,"ACACIA NETWORK HOUSING, INC.",93,3/25/2021
+231143,911935159,TJFZLPP6NYL6,FRED HUTCHINSON CANCER CENTER,93,11/27/2022
+231358,263428781,,"THE BROAD INSTITUTE, INC.",93,3/25/2021
+231533,264059542,,RAINBOW LEARNING ENRICHMENT,93,3/24/2022
+232531,222508425,,"INSPIRA HEALTH NETWORK, INC.",93,10/25/2022
+233569,043230035,,"PARTNERS HEALTHCARE SYSTEM, INC. AND AFFILIATES",93,3/25/2021
+233916,860817397,,FORT DEFIANCE INDIAN HOSPITAL BOARD DBA TSEHOOTSOOI MEDICAL CENTER,93,3/25/2021
+233938,611028725,,"NORTON HEALTHCARE, INC. AND AFFILIATES",93,10/5/2022
+235872,311662309,,ASCENSION HEALTH ALLIANCE D/B/A ASCENSION,93,9/20/2022
+236686,010211513,,THE JACKSON LABORATORY,93,3/25/2021
+237461,010274725,XA9EPK1VPLQ6,THE OPPORTUNITY ALLIANCE AND AFFILIATE,93,11/3/2022
+237465,481202402,,UNIVERSITY OF KANSAS HOSPITAL AUTHORITY,93,10/10/2022
+238304,841548541,,COMMUNITY DEVELOPMENT INSTITUTE - HEAD START,93,3/25/2021
+238692,451294709,,NEW MEXICO HEALTH CONNECTIONS,93,3/25/2021
+238711,453416923,,MAINE COMMUNITY HEALTH OPTIONS,93,3/25/2021
+238746,451295465,,MONTANA HEALTH COOPERATIVE,93,3/25/2021
+238799,386000134,,STATE OF MICHIGAN,93,3/25/2021
+238808,222672834,,HARTFORD HEALTHCARE CORPORATION,93,6/14/2022
+238890,346400806,,LUCAS COUNTY,93,3/25/2021
+238898,453309488,,COMMON GROUND HEALTHCARE COOPERATIVE,93,3/25/2021
+238923,351361243,,HENDRICKS REGIONAL HEALTH,93,6/1/2022
+239022,346002718,,STARK COUNTY,93,3/25/2021
+239979,610444707,,BAPTIST HEALTHCARE SYSTEM INC AND AFFILIATES,93,5/27/2022
+240167,383382353,,SPECTRUM HEALTH SYSTEM & AFFILIATES,93,9/15/2022
+240238,453675836,,BROWARD BEHAVIORAL HEALTH COALITION INC,93,3/25/2021
+241068,455282243,QLL1T1MQ4VN7,SIERRA HEALTH FOUNDATION: CENTER FOR HEALTH PROGRAM MANAGEMENT,93,5/23/2023
+241630,201615393,,"MONTEFIORE HEALTH SYSTEM, INC.",93,3/25/2021
+241730,113403968,,CATHOLIC HEALTH SERVICES OF LONG ISLAND,93,10/10/2022
+241733,830254253,,NORTHERN ARAPAHO TRIBE OF INDIANS,93,7/21/2023
+242271,626010402,,JMC GEN HOSP DIST DBA WEST TENNESSEE HEALTHCARE AND RELATED AFFILIATES,93,5/25/2022
+242487,150532087,,"CAYUGA HOME FOR CHILDREN, INC. D/B/A CAYUGA CENTERS",93,3/25/2021
+242795,593626765,,EARLY LEARNING COALITION OF HILLSBOROUGH COUNTY,93,4/8/2022
+242882,382397643,,MCLAREN HEALTH CARE CORPORATION AND SUBSIDIARIES,93,6/30/2022
+243232,943480131,,LOUISIANA CHILDREN'S MEDICAL CENTER,93,10/5/2022
+243303,581954432,,"NORTHSIDE HOSPITAL, INC.",93,6/22/2022
+244245,453674900,,HIGHMARK HEALTH,93,3/25/2021
+244411,463130985,,BAYLOR SCOTT & WHITE HOLDINGS AND ITS CONTROLLED AFFILIATES,93,5/19/2022
+244616,452880726,,THE UNIVERSITY OF VERMONT HEALTH NETWORK INC,93,6/30/2022
+244758,473255211,,SAN CARLOS APACHE HEALTHCARE CORPORATION,93,12/1/2022
+244798,541190771,MREQZTLUYLY9,CARILION CLINIC,93,6/14/2023
+244946,750800634,,CHILDCAREGROUP,93,3/25/2021
+245299,830621846,,ALBERT EINSTEIN COLLEGE OF MEDICINE-EIN NOTED,93,3/25/2021
+245542,382080820,G9UZX5M53LV6,"SER-METRO DETROIT JOBS FOR PROGRESS, INC.",93,3/7/2023
+245647,742911834,MAMHT8BAPS95,"WORKFORCE SOLUTIONS BORDERPLEX, INC.",93,6/30/2023
+245895,472158680,,MERCY HEALTH CORPORATION,93,9/20/2022
+246110,521357729,,VALLEY HEALTH SYSTEM AND SUBSIDIARIES,93,10/3/2022
+246131,481102008,,KANSAS ASSOCIATION OF CHILD CARE RESOURCE AND REFERRAL AGENCIES,93,7/14/2022
+246145,061491191,,"TRINITY HEALTH OF NEW ENGLAND CORPORATION, INC.",93,10/13/2022
+246340,742709309,,"ALAMO WORKFORCE DEVELOPMENT, INC. DBA WORKFORCE SOLUTIONS - ALAMO",93,3/25/2021
+246449,811244422,,PROVIDENCE ST. JOSEPH HEALTH,93,10/3/2022
+246678,352528741,,VANDERBILT UNIVERSITY MEDICAL CENTER,93,3/25/2021
+246684,200072992,,"CENTERSTONE OF AMERICA, INC.",93,3/25/2021
+246812,581521475,,BAPTIST MEMORIAL HEALTH CARE CORPORATION,93,6/30/2022
+247064,300820570,,CHILDRENS COMMUNITY SERVICES INC.,93,3/25/2021
+247480,251423657,,UPMC,93,3/25/2021
+247662,272999718,,"AU HEALTH SYSTEM, INC.",93,10/5/2022
+247699,813158267,,NEBRASKA MEDICINE,93,10/5/2022
+247889,951644600,,CEDARS-SINAI HEALTH SYSTEM,93,3/25/2021
+247948,472250732,,WELLFORCE INC,93,6/30/2022
+248106,926001185,,STATE OF ALASKA,93,3/25/2021
+248133,946000549,,COUNTY OF YUBA,93,3/25/2021
+248139,611771290,,BALLAD HEALTH,93,12/1/2022
+248192,271218956,,SANFORD,93,7/2/2022
+248410,521020023,,EAST COAST MIGRANT HEAD START PROJECT,93,8/24/2022
+248990,061488219,,GARNET HEALTH,93,10/10/2022
+249009,856000570,,NEW MEXICO HUMAN SERVICES DEPARTMENT,93,3/25/2021
+249302,466000364,,STATE OF SOUTH DAKOTA,93,3/25/2021
+249310,956000928,,"COUNTY OF ORANGE, CALIFORNIA",93,3/25/2021
+249331,610600439,,COMMONWEALTH OF KENTUCKY,93,3/25/2021
+249463,454331075,,MAINE GUARANTEED ACCESS REINSURANCE ASSOCIATION,93,3/25/2021
+249502,822595551,,PRISMA HEALTH AND SUBSIDIARIES,93,6/30/2022
+249505,952810095,,ALTAMED HEALTH SERVICES CORPORATION,93,10/6/2022
+250587,431853499,,"VISION FOR CHILDREN AT RISK, INC.",93,5/16/2022
+250736,522087445,,"MEDSTAR HEALTH, INC.",93,5/10/2022
+250744,592487136,VKMFGLCR5E65,"BAPTIST HEALTH SYSTEM, INC.",93,6/29/2023
+250987,562141073,,"UNIVERSITY HEALTH SYSTEMS OF EASTERN CAROLINA, INC. DBA VIDANT HEALTH",93,3/23/2022
+251133,311438846,E3MRTEM17PM8,TRIHEALTH,93,4/4/2023
+251143,581649541,,"WELLSTAR HEALTH SYSTEM, INC. AND AFFILIATES",93,7/29/2022
+251165,731501972,,SAINT FRANCIS HEALTH SYSTEM,93,10/6/2022
+251180,363513954,,EDWARD-ELMHURST HEALTHCARE,93,9/28/2022
+251188,382459948,,MIDMICHIGAN HEALTH,93,6/30/2022
+251198,510190238,,WAKE FOREST BAPTIST,93,10/6/2022
+251209,660433481,,SOCIOECONOMIC AND COMMUNITY DEVELOPMENT OFFICE,93,4/15/2022
+251250,222482803,,CENTRASTATE HEALTHCARE SYSTEM INC.,93,10/10/2022
+251285,340965350,VRKYFZKLPTC6,STEP FORWARD,93,11/1/2022
+251672,742161737,RHL3SKDB2GV1,"UNIVERSITY PHYSICIANS, INC DBA UNIVERSITY OF COLORADO MEDICINE",93,1/11/2023
+251776,185600056,,NEW MEXICO EARLY CHILDHOOD EDUCATION AND CARE DEPARTMENT,93,12/21/2021
+251833,832671600,,BETH ISRAEL LAHEY HEALTH,93,6/30/2022
+251882,510473500,,MCLEOD HEALTH,93,7/1/2022
+252147,410729979,,NORTH MEMORIAL HEALTH CARE,93,9/27/2022
+252375,550754713,,WEST VIRGINIA UNIVERSITY HEALTH SYSTEM AND CONTROLLED ENTITIES,93,10/3/2022
+252550,930602940,DE4AJXJ7KPW5,"ST. CHARLES HEALTH SYSTEM, INC.",93,8/3/2023
+252622,592170012,,ADVENTIST HEALTH SYSTEM SUNBELT HEALTHCARE CORPORATION,93,10/10/2022
+252657,316059784,,OHIOHEALTH CORPORATION,93,9/26/2022
+252662,311446699,,PREMIER HEALTH PARTNERS,93,9/20/2022
+252795,581581102,,"UNIVERSITY HEALTH, INC.",93,10/10/2022
+252823,540505989,,VIRGINIA HOSPITAL CENTER ARLINGTON HEALTH SYSTEM,93,10/6/2022
+252831,822081292,,"CARE PLUS BERGEN, INC.",93,9/1/2022
+253329,946174066,,STANFORD HEALTH CARE,93,6/2/2022
+253632,750800661,,METHODIST HEALTH SYSTEM,93,6/29/2022
+253672,630841123,C7K6WD3GFUP6,INFIRMARY HEALTH SYSTEM INC,93,12/31/2022
+253695,581694090,,"NORTHEAST GEORGIA HEALTH SYSTEM, INC.",93,6/30/2022
+253765,550675666,,"CABELL HUNTINGTON HOSPITAL, INC. AND SUBSIDIARIES",93,7/2/2022
+253791,953619388,,"PIH HEALTH, INC.",93,7/2/2022
+253824,361564290,,"HUMBOLDT PARK HEALTH, INC.",93,7/6/2022
+253848,720400933,,WILLIS-KNIGHTON MEDICAL CENTER,93,7/6/2022
+254078,392014409,,"FROEDTERT HEALTH, INC. AND AFFILIATES",93,8/2/2022
+254228,221487307,,THE VALLEY HOSPITAL,93,8/18/2022
+254251,350868133,,"THE METHODIST HOSPITALS, INC.",93,10/6/2022
+254570,454552631,,UNIVERSITY OF COLORADO HEALTH,93,9/22/2022
+254586,943270595,,HAWAII HEALTH SYSTEMS CORPORATION,93,9/22/2022
+254836,831605004,L7U3M1K8PCH3,OCHSNER LSU HEALTH SYSTEM OF NORTH LOUISIANA,93,3/31/2023
+254984,208065139,,"PRIME HEALTHCARE FOUNDATION, INC. AND SUBSIDIARIES",93,10/6/2022
+254992,941461843,,JOHN MUIR HEALTH,93,10/3/2022
+255007,362167060,,NORTHSHORE UNIVERSITY HEALTHSYSTEM-3 MONTH AUDIT,93,10/5/2022
+255067,350892672,,"REID HOSPITAL & HEALTHCARE SERVICES, INC.",93,10/5/2022
+255093,473769205,GLK7YEX4CN16,PENN STATE HEALTH,93,3/30/2023
+255110,273850988,E127PEKAAV49,UC HEALTHCARE SYSTEM,93,2/2/2023
+255171,843178470,,UNIVERSITY OF LOUISVILLE HEALTH,93,10/6/2022
+255489,843647453,,"ATRIUM HEALTH, INC.",93,10/10/2022
+255494,912135195,,"BON SECOURS CHARITY HEALTH SYSTEM, INC.",93,10/10/2022
+255507,821883948,,"OU MEDICINE, INC.",93,10/10/2022
+258327,834214573,,NUVANCE HEALTH AND SUBSIDIARIES,93,8/7/2023
+258496,953435919,KM7XTKHC9D19,CITY OF HOPE ,93,7/6/2023
+258601,222476636,,"STAMFORD HEALTH, INC.",93,8/1/2023
+258692,581503902,CJTEQKKB6SF8,"PIEDMONT HEALTHCARE, INC.",93,8/15/2023
+904661,946002388,,STANISLAUS COUNTY OFFICE OF EDUCATION,93,9/3/2022
+136118,596000749,,"MONROE COUNTY, FLORIDA",95,4/14/2022
+172017,746000762,UCXEL13TK6W5,"COUNTY OF EL PASO, TEXAS",95,6/13/2023
+188902,716049083,,STATE OF ARKANSAS DISABILITY DETERMINATION FOR SOCIAL SECURITY,96,7/1/2022
+88071,590714812,,LEE MEMORIAL HEALTH SYSTEM,97,11/3/2022
+136074,596000512,,"BAY COUNTY, FLORIDA",97,3/25/2021
+136076,596000523,,"BREVARD COUNTY, FLORIDA",97,4/22/2022
+136090,596000598,LLHWX867E5J6,"ESCAMBIA COUNTY, FLORIDA",97,3/16/2023
+136115,596000727,,"MANATEE COUNTY, FLORIDA",97,4/12/2022
+136116,596000735,,"MARION COUNTY, FL",97,6/16/2022
+136124,596000785,,"PALM BEACH COUNTY, FLORIDA",97,3/25/2021
+136127,596000809,,"POLK COUNTY, FLORIDA",97,6/27/2022
+136129,596000825,DKTCSFFFL3Q8,ST JOHNS COUNTY,97,6/30/2023
+136133,596000856,JPJLF4QHYR13,"SEMINOLE COUNTY, FLORIDA",97,5/16/2023
+136242,596000344,,CITY OF JACKSONVILLE,97,3/25/2021
+136718,596000511,,BAY COUNTY DISTRICT SCHOOL BOARD,97,4/10/2022
+146695,726000234,,CALCASIEU PARISH POLICE JURY,97,7/21/2022
+146710,726013920,,JEFFERSON PARISH,97,3/25/2021
+146898,726000969,,CITY OF NEW ORLEANS,97,2/24/2023
+158022,856000411,,NEW MEXICO INSTITUTE OF MINING & TECHNOLOGY,97,3/25/2021
+172790,746000574,XETBTPPKL895,"CITY OF CORPUS CHRISTI, TEXAS",97,4/28/2023
+181375,726001323,,SEWERAGE AND WATER BOARD OF NEW ORLEANS,97,7/12/2022
+189733,131740011,,WILDLIFE CONSERVATION SOCIETY,97,3/25/2021
+192502,596000558,,COLLIER COUNTY,97,3/25/2021
+192969,596000708,,LEON COUNTY,97,6/9/2022
+193128,726000093,YWJ7LKSNL6S6,ASCENSION PARISH SCHOOL BOARD,97,1/27/2023
+197821,112879302,,LONG ISLAND POWER AUTHORITY,97,3/25/2021
+198800,760590551,,CHRISTUS HEALTH,97,10/14/2022
+202333,660558579,,DEPARTMENT OF HOUSING OF THE COMMONWEALTH OF PUERTO RICO,97,1/12/2023
+203800,271110568,,EMERGENCY FOOD AND SHELTER PROGRAM,97,3/25/2021
+213554,660412508,,VIRGIN ISLANDS HOUSING FINANCE AUTHORITY,97,3/25/2021
+219086,111352310,,SOUTH NASSAU COMMUNITIES HOSPITAL AND SUBSIDIARIES,97,10/10/2022
+219874,226002471,,PASSAIC VALLEY SEWERAGE COMMISSION,97,9/26/2022
+222290,746019452,,HARRIS COUNTY FLOOD CONTROL DISTRICT,97,3/25/2021
+222946,660436728,,DEPARTMENT OF TRANSPORTATION AND PUBLIC WORKS,97,3/25/2021
+227852,300426073,,NEW MEXICO DEPARTMENT OF HOMELAND SECURITY & EMERGENCY MANAGEMENT,97,3/17/2022
+242833,221775306,,UNIVERSITY HOSPITAL,97,9/15/2022
+251453,720362325,,"JEFFERSON DAVIS ELECTRIC COOPERATIVE, INC.",97,8/25/2022
+258112,810216629,KEDLA4RDUX55,"MCCONE ELECTRIC CO-OP, INC.",97,5/9/2023
+2940,042241718,,"EDUCATION DEVELOPMENT CENTER, INC.",98,3/25/2021
+3308,042482188,,"MANAGEMENT SCIENCES FOR HEALTH, INC.",98,3/25/2021
+3886,042679824,,"JSI RESEARCH AND TRAINING INSTITUTE, INC.",98,3/25/2021
+10860,131685039,,CARE USA AND SUBSIDIARIES,98,3/25/2021
+11916,132702768,,"PACT, INC.",98,3/25/2021
+14648,133712030,,"CONCERN WORLDWIDE (U.S.), INC",98,10/14/2022
+15491,135660870,,"INTERNATIONAL RESCUE COMMITTEE, INC.",98,3/25/2021
+16489,136183605,,"COUNTERPART INTERNATIONAL, INC.",98,3/25/2021
+73339,520811461,,ACDI/VOCA AND AFFILIATES,98,3/25/2021
+73390,520846183,,GLOBAL COMMUNITIES,98,3/25/2021
+75188,521338892,,NATIONAL DEMOCRATIC INSTITUTE FOR INTERNATIONAL AFFAIRS,98,3/25/2021
+75191,521340267,,INTERNATIONAL REPUBLICAN INSTITUTE,98,3/25/2021
+75514,521447902,,CNFA,98,3/25/2021
+75735,521527835,,INTERNATIONAL FOUNDATION FOR ELECTORAL SYSTEMS,98,6/28/2022
+78028,530235320,,PATHFINDER INTERNATIONAL AND SUBSIDIARIES,98,3/25/2021
+81941,560942853,,POPULATION SERVICES INTERNATIONAL,98,3/25/2021
+85605,581437002,,SAMARITAN'S PURSE,98,8/5/2022
+98107,710603560,,WINROCK INTERNATIONAL INSTITUTE FOR AGRICULTURAL DEVELOPMENT,98,3/25/2021
+114648,911148123,,MERCY CORPS AND AFFILIATES,98,3/25/2021
+114674,911157127,,PATH,98,3/25/2021
+121369,943027961,,INTERNEWS NETWORK,98,3/25/2021
+124020,951922279,,WORLD VISION INTERNATIONAL AND WORLD VISION INC.(USA),98,3/25/2021
+124798,952680390,,FOOD FOR THE HUNGRY,98,3/25/2021
+126425,953949646,,INTERNATIONAL MEDICAL CORPS,98,3/25/2021
+126995,954300662,,RELIEF INTERNATIONAL,98,9/28/2022
+182396,521943638,,CONSORTIUM FOR ELECTIONS AND POLITICAL PROCESS STRENGHTENING,98,3/25/2021
+187669,135563422,,CATHOLIC RELIEF SERVICES - US CONFERENCE OF CATHOLIC BISHOPS,98,3/25/2021
+188206,526054268,,PAN AMERICAN DEVELOPMENT FOUNDATION,98,6/22/2022
+188372,237413005,,FAMILY HEALTH INTERNATIONAL,98,3/25/2021
+197541,521314847,,ADRA INTERNATIONAL,98,3/25/2021
+198686,521984713,FGHSZZVE59R8,AMERICAN CENTER FOR INTERNATIONAL LABOR SOLIDARITY,98,8/22/2023
+213388,133870223,,"INTERNATIONAL AIDS VACCINE INITIATIVE, INC.",98,7/28/2022
+221191,550825466,,"INTRAHEALTH INTERNATIONAL, INC.",98,3/25/2021
+224703,043478123,,"ROOT CAPITAL, INC.",98,4/28/2022
+241642,060726487,,"SAVE THE CHILDREN FEDERATION, INC AND RELATED ENTITIES",98,3/25/2021
+247573,810888072,,"BLUMONT, INC.",98,3/25/2021
+253956,911157127,PD3VNAABZJL7,PATH,98,6/14/2023
diff --git a/backend/support/management/commands/run_2022.py b/backend/support/management/commands/run_2022.py
new file mode 100644
index 0000000000..73790243ad
--- /dev/null
+++ b/backend/support/management/commands/run_2022.py
@@ -0,0 +1,125 @@
+from django.core.management.base import BaseCommand
+from django.db.models.functions import Cast
+from django.db.models import BigIntegerField
+
+
+from dissemination.hist_models.census_2022 import CensusGen22, CensusCfda22
+from audit.models import SingleAuditChecklist, User
+from support.models import CognizantAssignment
+
+
+class Command(BaseCommand):
+ help = """
+ Analyze cog/over for 20122 submissions
+ Beware! Deletes any existing rows in SingleAuditChecklist
+ """
+
+ def handle(self, *args, **kwargs):
+ initialize_db()
+ gens = CensusGen22.objects.annotate(
+ amt=Cast("totfedexpend", output_field=BigIntegerField())
+ ).all()
+ print(f"Count of 2022 submissions: {len(gens)}")
+ processed = cog_mismatches = over_mismatches = 0
+
+ for gen in gens:
+ sac = self.make_sac(gen)
+ sac.submission_status = sac.STATUS.SUBMITTED
+ sac.save()
+ sac.disseminate()
+ processed += 1
+ if gen.cogagency != sac.cognizant_agency:
+ cog_mismatches += 1
+ print(f"Cog mismatch. Expected {gen.cogagency}")
+ self.show_mismatch(sac)
+ if gen.oversightagency != sac.oversight_agency:
+ over_mismatches += 1
+ print(f"Oversight mismatch. Expected {gen.oversightagency}")
+ self.show_mismatch(sac)
+ if processed % 1000 == 0:
+ print(
+ f"""
+ Processed {processed} rows so far.
+ Found {cog_mismatches} cog and {over_mismatches} over mismatches.
+ ..."""
+ )
+ print(
+ f"""
+ Processed all {processed} rows.
+ Found {cog_mismatches} cog and {over_mismatches} over mismatches.
+ """
+ )
+
+ def show_mismatch(self, sac):
+ print(
+ sac.ein,
+ sac.auditee_uei,
+ sac.cognizant_agency,
+ sac.oversight_agency,
+ sac.federal_awards["FederalAwards"]["total_amount_expended"],
+ )
+ for award in sac.federal_awards["FederalAwards"]["federal_awards"]:
+ print(
+ "Award:",
+ award["award_reference"],
+ award["program"]["amount_expended"],
+ award["program"]["federal_agency_prefix"],
+ award["program"]["three_digit_extension"],
+ award["direct_or_indirect_award"]["is_direct"],
+ )
+
+ def make_sac(self, gen: CensusGen22):
+ general_information = {
+ "auditee_fiscal_period_start": "2022-11-01",
+ "auditee_fiscal_period_end": "2023-11-01",
+ "met_spending_threshold": True,
+ "is_usa_based": True,
+ }
+ general_information["ein"] = gen.ein
+ general_information["auditee_uei"] = gen.uei
+ federal_awards = self.make_awards(gen)
+ sac = SingleAuditChecklist.objects.create(
+ submitted_by=User.objects.first(),
+ submission_status="in_progress",
+ general_information=general_information,
+ federal_awards=federal_awards,
+ )
+ return sac
+
+ def make_awards(self, gen: CensusGen22):
+ awards = {
+ "FederalAwards": {
+ "auditee_uei": gen.uei,
+ "federal_awards": [],
+ "total_amount_expended": gen.amt,
+ }
+ }
+ cfdas = CensusCfda22.objects.annotate(
+ amt=Cast("amount", output_field=BigIntegerField())
+ ).filter(ein=gen.ein, dbkey=gen.dbkey)
+ for cfda in cfdas:
+ awards["FederalAwards"]["federal_awards"].append(
+ {
+ "award_reference": cfda.index,
+ "program": {
+ "program_name": cfda.cfdaprogramname,
+ "amount_expended": cfda.amt,
+ "federal_agency_prefix": cfda.cfda[:2],
+ "three_digit_extension": cfda.cfda[2:],
+ },
+ "direct_or_indirect_award": {"is_direct": cfda.direct},
+ },
+ )
+ return awards
+
+
+def initialize_db():
+ """
+ This will delete existing data, and should only be run in a dev env
+ """
+ SingleAuditChecklist.objects.all().delete()
+ CognizantAssignment.objects.all().delete()
+ User.objects.get_or_create(
+ username="foo",
+ email="g22.foobar.com",
+ )
diff --git a/backend/support/management/commands/seed_cog_baseline.py b/backend/support/management/commands/seed_cog_baseline.py
new file mode 100644
index 0000000000..3085c745bf
--- /dev/null
+++ b/backend/support/management/commands/seed_cog_baseline.py
@@ -0,0 +1,49 @@
+import pandas as pd
+from os import path
+
+from django.core.management.base import BaseCommand
+from support.models import CognizantBaseline
+from config.settings import BASE_DIR
+from collections import defaultdict
+
+
+class Command(BaseCommand):
+ help = """
+ Populates CognizantBaseline using Cognizant_Agencies_2021_2025.csv
+ obtained from https://facdissem.census.gov/PublicDataDownloads.aspx.
+ """
+
+ def handle(self, *args, **kwargs):
+ count = load_cog_2021_2025()
+ print(f"Loaded {count} rows to baseline table")
+
+
+def load_cog_2021_2025():
+ dtypes = defaultdict(lambda: str)
+ file_path = path.join(BASE_DIR, "support/fixtures/", "census_baseline.csv")
+ df = pd.read_csv(file_path, dtype=dtypes)
+ df = df.drop(columns=["AUDITEENAME"])
+ df = df.rename(
+ columns={
+ "DBKEY": "dbkey",
+ "EIN": "ein",
+ "UEI": "uei",
+ "COGAGENCY": "cognizant_agency",
+ "DATE_ADDED": "date_assigned",
+ }
+ )
+ df["date_assigned"] = pd.to_datetime(df["date_assigned"], utc=True)
+ df["is_active"] = True
+ CognizantBaseline.objects.all().delete()
+ data = df.to_dict("records")
+
+ for item in data:
+ CognizantBaseline(
+ dbkey=item["dbkey"],
+ ein=item["ein"],
+ uei=item["uei"],
+ cognizant_agency=item["cognizant_agency"],
+ date_assigned=item["date_assigned"],
+ is_active=item["is_active"],
+ ).save()
+ return CognizantBaseline.objects.count()
diff --git a/backend/support/migrations/0001_initial.py b/backend/support/migrations/0001_initial.py
new file mode 100644
index 0000000000..d32cba7509
--- /dev/null
+++ b/backend/support/migrations/0001_initial.py
@@ -0,0 +1,81 @@
+# Generated by Django 4.2.3 on 2023-09-20 14:52
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+ initial = True
+
+ operations = [
+ migrations.CreateModel(
+ name="CognizantAssignment",
+ fields=[
+ (
+ "id",
+ models.BigAutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("report_id", models.CharField(max_length=17)),
+ (
+ "cognizant_agency",
+ models.CharField(max_length=2, verbose_name="Cog Agency"),
+ ),
+ (
+ "date_assigned",
+ models.DateTimeField(
+ auto_now_add=True, verbose_name="Date Assigned"
+ ),
+ ),
+ (
+ "assignor_email",
+ models.EmailField(max_length=254, verbose_name="Email"),
+ ),
+ ("override_comment", models.TextField(verbose_name="Comment")),
+ (
+ "assignment_type",
+ models.CharField(
+ choices=[
+ ("computed", "Computed by FAC"),
+ ("manual", "Manual Override"),
+ ],
+ default="computed",
+ max_length=20,
+ verbose_name="Type",
+ ),
+ ),
+ ],
+ ),
+ migrations.CreateModel(
+ name="CognizantBaseline",
+ fields=[
+ (
+ "id",
+ models.BigAutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ (
+ "dbkey",
+ models.CharField(max_length=20, null=True, verbose_name="dbkey"),
+ ),
+ ("ein", models.CharField(max_length=30, null=True, verbose_name="EIN")),
+ ("uei", models.CharField(max_length=30, null=True, verbose_name="UEI")),
+ (
+ "cognizant_agency",
+ models.CharField(max_length=2, verbose_name="Cog Agency"),
+ ),
+ (
+ "date_assigned",
+ models.DateTimeField(null=True, verbose_name="Date Assigned"),
+ ),
+ ("is_active", models.BooleanField(default=True, verbose_name="Active")),
+ ],
+ ),
+ ]
diff --git a/backend/support/migrations/__init__.py b/backend/support/migrations/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/backend/support/models.py b/backend/support/models.py
new file mode 100644
index 0000000000..0009f18202
--- /dev/null
+++ b/backend/support/models.py
@@ -0,0 +1,76 @@
+from django.db import models
+
+
+class CognizantBaseline(models.Model):
+ dbkey = models.CharField(
+ # help_text = "Identifier for a submission along with audit_year in Census FAC",
+ null=True,
+ max_length=20,
+ verbose_name="dbkey",
+ )
+ ein = models.CharField(
+ # help_text = "Primary Employer Identification Number",
+ null=True,
+ max_length=30,
+ verbose_name="EIN",
+ )
+ uei = models.CharField(
+ # help_text = "Unique Employer Identification Number",
+ null=True,
+ max_length=30,
+ verbose_name="UEI",
+ )
+ cognizant_agency = models.CharField(
+ # help_text = "Two digit Federal agency prefix of the cognizant agency",
+ max_length=2,
+ verbose_name="Cog Agency",
+ )
+ date_assigned = models.DateTimeField(
+ # help_text = "Time when the cog agency was assigned to the entity",
+ null=True, # allow nulls in case history has nulls
+ verbose_name="Date Assigned",
+ )
+ is_active = models.BooleanField(
+ # help_text = "Record to be ignored if this field is False",
+ default=True,
+ verbose_name="Active",
+ )
+
+
+class AssignmentTypeCode:
+ COMPUTED = "computed"
+ MANUAL = "manual"
+
+
+ASSIGNMENT_TYPES = (
+ (AssignmentTypeCode.COMPUTED, "Computed by FAC"),
+ (AssignmentTypeCode.MANUAL, "Manual Override"),
+)
+
+
+class CognizantAssignment(models.Model):
+ report_id = models.CharField(max_length=17)
+ cognizant_agency = models.CharField(
+ # "Two digit Federal agency prefix of the cognizant agency",
+ max_length=2,
+ verbose_name="Cog Agency",
+ )
+ date_assigned = models.DateTimeField(
+ # "Time when the cog agency was assigned to the entity",
+ auto_now_add=True,
+ verbose_name="Date Assigned",
+ )
+ assignor_email = models.EmailField(
+ # "Who originally set the cog agency or who overrode it",
+ verbose_name="Email",
+ )
+ override_comment = models.TextField(
+ # "Comment by assignor explaining the justification for an override",
+ verbose_name="Comment",
+ )
+ assignment_type = models.CharField(
+ max_length=20,
+ choices=ASSIGNMENT_TYPES,
+ default=AssignmentTypeCode.COMPUTED,
+ verbose_name="Type",
+ )
diff --git a/backend/support/signals.py b/backend/support/signals.py
new file mode 100644
index 0000000000..c2bcd94d83
--- /dev/null
+++ b/backend/support/signals.py
@@ -0,0 +1,32 @@
+from django.db.models.signals import post_save
+from django.db.models import Q
+from django.dispatch import receiver
+
+from audit.models import SingleAuditChecklist
+from dissemination.models import General
+from support.models import CognizantAssignment, CognizantBaseline
+
+
+@receiver(post_save, sender=CognizantAssignment)
+def post_cog_assignment(sender, instance, created, **kwargs):
+ """
+ If a CognizantAssignment instance is saved, handle the effects this should
+ have on other tables.
+ """
+ if created:
+ sac = SingleAuditChecklist.objects.get(report_id=instance.report_id)
+ cognizant_agency = sac.cognizant_agency
+
+ ein, uei = sac.auditee_uei, sac.ein
+ baselines = CognizantBaseline.objects.filter(Q(ein=ein) | Q(uei=uei))
+ for baseline in baselines:
+ baseline.is_active = False
+ baseline.save()
+ CognizantBaseline(ein=ein, uei=uei, cognizant_agency=cognizant_agency).save()
+
+ try:
+ gen = General.objects.get(report_id=sac.report_id)
+ gen.cognizant_agency = cognizant_agency
+ gen.save()
+ except General.DoesNotExist:
+ pass # etl may not have been run yet
diff --git a/backend/audit/test_cog_over.py b/backend/support/test_cog_over.py
similarity index 51%
rename from backend/audit/test_cog_over.py
rename to backend/support/test_cog_over.py
index ffef9d073e..8d9c614c0b 100644
--- a/backend/audit/test_cog_over.py
+++ b/backend/support/test_cog_over.py
@@ -1,28 +1,100 @@
from django.test import TestCase
+from dissemination.hist_models.census_2019 import CensusGen19, CensusCfda19
+from dissemination.hist_models.census_2022 import CensusGen22
from model_bakery import baker
from faker import Faker
+from django.db import connection
-from .models import SingleAuditChecklist, CognizantBaseline, User
+from audit.models import SingleAuditChecklist
+from .models import CognizantBaseline, CognizantAssignment
-from audit.cog_over import cog_over
+from .cog_over import compute_cog_over
# Note: Fake data is generated for SingleAuditChecklist, CognizantBaseline.
# Using only the data fields that apply to cog / over assignment.
+UNIQUE_EIN_WITHOUT_DBKEY = "UEWOD1234"
+DUP_EIN_WITHOUT_RESOLVER = "DEWOR1234"
+EIN_2023_ONLY = "EIN202312"
+RESOLVABLE_EIN_WITHOUT_BASELINE = "REWOB1234"
+RESOLVABLE_UEI_WITHOUT_BASELINE = "RUWOB1234"
+RESOLVABLE_DBKEY_WITHOUT_BASELINE = "20220"
+UEI_WITH_BASELINE = "UB0011223"
+
class CogOverTests(TestCase):
def __init__(self, method_name: str = "runTest") -> None:
super().__init__(method_name)
def setUp(self):
- self.user = baker.make(User)
+ with connection.schema_editor() as schema_editor:
+ schema_editor.create_model(CensusGen19)
+ schema_editor.create_model(CensusGen22)
+ schema_editor.create_model(CensusCfda19)
+
+ gen = baker.make(
+ CensusGen19,
+ index=1,
+ ein=UNIQUE_EIN_WITHOUT_DBKEY,
+ dbkey=None,
+ totfedexpend="210000000",
+ )
+ gen.save()
+ for i in range(6):
+ cfda = baker.make(
+ CensusCfda19,
+ index=i,
+ ein=gen.ein,
+ dbkey=gen.dbkey,
+ cfda="84.032",
+ amount=10_000_000 * i,
+ direct="Y",
+ )
+ cfda.save()
+ for i in range(2, 5):
+ gen = baker.make(
+ CensusGen19,
+ index=i,
+ ein=DUP_EIN_WITHOUT_RESOLVER,
+ dbkey=str(10_000 + i),
+ totfedexpend="10000000",
+ )
+ gen.save()
+ gen = baker.make(
+ CensusGen22,
+ index=11,
+ ein=RESOLVABLE_EIN_WITHOUT_BASELINE,
+ uei=RESOLVABLE_UEI_WITHOUT_BASELINE,
+ dbkey=RESOLVABLE_DBKEY_WITHOUT_BASELINE,
+ totfedexpend="210000000",
+ )
+ gen.save()
+ gen = baker.make(
+ CensusGen19,
+ index=11,
+ ein=RESOLVABLE_EIN_WITHOUT_BASELINE,
+ dbkey=RESOLVABLE_DBKEY_WITHOUT_BASELINE,
+ totfedexpend="210000000",
+ )
+ gen.save()
+ for i in range(6):
+ cfda = baker.make(
+ CensusCfda19,
+ index=i + 10,
+ ein=gen.ein,
+ dbkey=gen.dbkey,
+ cfda="22.032",
+ amount=10_000_000 * i,
+ direct="Y",
+ )
+ cfda.save()
@staticmethod
def _fake_general():
fake = Faker()
return {
- "ein": fake.ssn().replace("-", ""),
+ "ein": "ABC123DEF456",
"audit_type": "single-audit",
"auditee_uei": "ZQGGHJH74DW7",
"auditee_zip": fake.zipcode(),
@@ -67,8 +139,7 @@ def _fake_cognizantbaseline():
"cognizant_agency": "20",
}
- @staticmethod
- def _fake_federal_awards():
+ def _fake_federal_awards(self):
return {
"FederalAwards": {
"auditee_uei": "ABC123DEF456",
@@ -124,12 +195,11 @@ def _fake_federal_awards():
"direct_or_indirect_award": {"is_direct": "Y"},
},
],
- "total_amount_expended": 51_000_000,
+ "total_amount_expended": 52_000_200,
}
}
- @staticmethod
- def _fake_federal_awards_lt_cog_limit():
+ def _fake_federal_awards_lt_cog_limit(self):
return {
"FederalAwards": {
"auditee_uei": "ABC123DEF456",
@@ -138,7 +208,7 @@ def _fake_federal_awards_lt_cog_limit():
"award_reference": "ABC125",
"program": {
"program_name": "SENIOR VOLUNTEER PROGRAM",
- "amount_expended": 11_000_000,
+ "amount_expended": 11_200_300,
"federal_agency_prefix": "15",
"federal_program_total": 12_000_000,
"three_digit_extension": "600",
@@ -146,12 +216,11 @@ def _fake_federal_awards_lt_cog_limit():
"direct_or_indirect_award": {"is_direct": "Y"},
},
],
- "total_amount_expended": 11_000_000,
+ "total_amount_expended": 11_200_300,
}
}
- @staticmethod
- def _fake_federal_awards_lt_da_threshold():
+ def _fake_federal_awards_lt_da_threshold(self):
return {
"FederalAwards": {
"auditee_uei": "ABC123DEF456",
@@ -172,90 +241,124 @@ def _fake_federal_awards_lt_da_threshold():
}
}
- def test_cog_over_for_gt_cog_limit_gt_da_threshold_factor_cog_2019(self):
- sac = SingleAuditChecklist.objects.create(
- submitted_by=self.user,
+ def _fake_sac(self):
+ sac = baker.make(
+ SingleAuditChecklist,
general_information=self._fake_general(),
federal_awards=self._fake_federal_awards(),
)
- sac.save()
- self.sac = sac
+ return sac
- fake_cog_baseline = self._fake_cognizantbaseline()
- self.cognizantbaseline = CognizantBaseline(
- dbkey=fake_cog_baseline["dbkey"],
- audit_year=fake_cog_baseline["audit_year"],
- ein=self.sac.general_information["ein"],
- cognizant_agency=fake_cog_baseline["cognizant_agency"],
- ).save()
- cog_agency = None
- over_agency = None
- cog_agency, over_agency = cog_over(self.sac)
- self.assertEqual(cog_agency, "20")
+ def test_cog_assignment_from_hist(self):
+ """
+ When we have a matching row in 2019 and nothing in the
+ baseline table, we should use the cog computed from 2019 data
+ """
+ sac = self._fake_sac()
+ sac.general_information["ein"] = UNIQUE_EIN_WITHOUT_DBKEY
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
+ self.assertEqual(cog_agency, "84")
+ self.assertEqual(over_agency, None)
+
+ def test_cog_assignment_with_no_hist(self):
+ """
+ We have no match in the base sheet and we
+ have no match in 2019. So, assign from 2023"
+ """
+ sac = self._fake_sac()
+ sac.general_information["ein"] = EIN_2023_ONLY
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
+ self.assertEqual(cog_agency, "10")
self.assertEqual(over_agency, None)
- def test_cog_over_for_lt_cog_lit_gt_da_threshold_factor_oversight(self):
- sac = SingleAuditChecklist.objects.create(
- submitted_by=self.user,
+ def test_cog_assignment_with_multiple_hist(self):
+ """
+ We have no match in the base sheet and we
+ have duplicates in 2019. So, assign from 2023
+ """
+
+ sac = self._fake_sac()
+ sac.general_information["ein"] = DUP_EIN_WITHOUT_RESOLVER
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
+ self.assertEqual(cog_agency, "10")
+ self.assertEqual(over_agency, None)
+
+ def test_cog_assignment_with_hist_resolution(self):
+ """
+ We have a unique dbkey for the given uei/eint in 2022,
+ and we have a match in 2019, but nothing in the baseline.
+ So, assign from 2019
+ """
+ sac = self._fake_sac()
+
+ sac.general_information["ein"] = RESOLVABLE_EIN_WITHOUT_BASELINE
+ sac.general_information["auditee_uei"] = RESOLVABLE_UEI_WITHOUT_BASELINE
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
+ self.assertEqual(cog_agency, "22")
+ self.assertEqual(over_agency, None)
+
+ def test_over_assignment(self):
+ """
+ Awards with totals less than the threshold should result in an oversight agency being assigned.
+ """
+ sac = baker.make(
+ SingleAuditChecklist,
general_information=self._fake_general(),
federal_awards=self._fake_federal_awards_lt_cog_limit(),
)
- sac.save()
- self.sac = sac
-
- fake_cog_baseline = self._fake_cognizantbaseline()
- self.cognizantbaseline = CognizantBaseline(
- dbkey=fake_cog_baseline["dbkey"],
- audit_year=fake_cog_baseline["audit_year"],
- ein=self.sac.general_information["ein"],
- cognizant_agency=fake_cog_baseline["cognizant_agency"],
- ).save()
- cog_agency = None
- over_agency = None
- cog_agency, over_agency = cog_over(self.sac)
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
self.assertEqual(cog_agency, None)
self.assertEqual(over_agency, "15")
- def test_cog_over_for_lt_cog_limit_lt_da_threshold_oversight(self):
- sac = SingleAuditChecklist.objects.create(
- submitted_by=self.user,
+ def test_over_assignment_with_hist(self):
+ """
+ Awards with totals less than the threshold should result in an oversight agency being assigned.
+ And history data should not be used.
+ """
+ sac = baker.make(
+ SingleAuditChecklist,
general_information=self._fake_general(),
- federal_awards=self._fake_federal_awards_lt_da_threshold(),
+ federal_awards=self._fake_federal_awards_lt_cog_limit(),
+ )
+ sac.general_information["ein"] = UNIQUE_EIN_WITHOUT_DBKEY
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
)
- sac.save()
- self.sac = sac
-
- fake_cog_baseline = self._fake_cognizantbaseline()
- self.cognizantbaseline = CognizantBaseline(
- dbkey=fake_cog_baseline["dbkey"],
- audit_year=fake_cog_baseline["audit_year"],
- ein=self.sac.general_information["ein"],
- cognizant_agency=fake_cog_baseline["cognizant_agency"],
- ).save()
- cog_agency = None
- over_agency = None
- cog_agency, over_agency = cog_over(self.sac)
self.assertEqual(cog_agency, None)
- self.assertEqual(over_agency, "25")
+ self.assertEqual(over_agency, "15")
- def test_cog_over_gt_cog_limit_no_2019(self):
- sac = SingleAuditChecklist.objects.create(
- submitted_by=self.user,
- general_information=self._fake_general(),
- federal_awards=self._fake_federal_awards(),
+ def test_cog_assignment_with_uei_in_baseline(self):
+ sac = self._fake_sac()
+ sac.general_information["auditee_uei"] = UEI_WITH_BASELINE
+ baker.make(
+ CognizantBaseline,
+ uei=UEI_WITH_BASELINE,
+ cognizant_agency="17",
)
- sac.save()
- self.sac = sac
-
- fake_cog_baseline = self._fake_cognizantbaseline()
- self.cognizantbaseline = CognizantBaseline(
- dbkey=fake_cog_baseline["dbkey"],
- audit_year=fake_cog_baseline["audit_year"],
- ein=fake_cog_baseline["ein"],
- cognizant_agency=fake_cog_baseline["cognizant_agency"],
- ).save()
- cog_agency = None
- over_agency = None
- cog_agency, over_agency = cog_over(self.sac)
- self.assertEqual(cog_agency, "10")
+ cog_agency, over_agency = compute_cog_over(
+ sac.federal_awards, sac.submission_status, sac.ein, sac.auditee_uei
+ )
+ self.assertEqual(cog_agency, "17")
self.assertEqual(over_agency, None)
+
+ def test_cog_assignment_with_uei_in_baseline_and_overris(self):
+ sac = self._fake_sac()
+ sac.general_information["auditee_uei"] = UEI_WITH_BASELINE
+ baker.make(
+ CognizantBaseline,
+ uei=UEI_WITH_BASELINE,
+ cognizant_agency="17",
+ )
+ sac.assign_cog_over()
+ cas = CognizantAssignment.objects.all()
+ self.assertEquals(1, len(cas))
diff --git a/backend/templates/includes/header.html b/backend/templates/includes/header.html
index f3bf560ab1..4e7a2a320b 100644
--- a/backend/templates/includes/header.html
+++ b/backend/templates/includes/header.html
@@ -76,17 +76,23 @@
-
- This application is currently under active development. Thank you for helping to improve the FAC by participating in user testing.
-
+{% comment %} "Breadcrumbs" for all pages, excepting the homepage. {% endcomment %}
{% if request.path != '/' %}
-{% endif %}
\ No newline at end of file
+{% endif %}
diff --git a/backend/templates/includes/nav_primary.html b/backend/templates/includes/nav_primary.html
index ff4ec5eab9..1f3497502e 100644
--- a/backend/templates/includes/nav_primary.html
+++ b/backend/templates/includes/nav_primary.html
@@ -32,11 +32,11 @@
@@ -49,36 +49,47 @@
-
- FAQs
-
-
-
-
- Contact Us
-
+
+ Support
+
+
{% if request.user.is_authenticated %}
diff --git a/backend/users/migrations/0001_create_user_profile.py b/backend/users/migrations/0001_initial.py
similarity index 93%
rename from backend/users/migrations/0001_create_user_profile.py
rename to backend/users/migrations/0001_initial.py
index 8087919081..bb6138d5f6 100644
--- a/backend/users/migrations/0001_create_user_profile.py
+++ b/backend/users/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.0.4 on 2022-04-22 19:09
+# Generated by Django 4.2.3 on 2023-09-20 14:33
from django.conf import settings
from django.db import migrations, models
@@ -29,6 +29,7 @@ class Migration(migrations.Migration):
"entry_form_data",
models.JSONField(
blank=True,
+ default=dict,
help_text="Store of form data for Eligiblity, Info, and access steps prior to creation of an SF-SAC",
null=True,
),
diff --git a/backend/users/migrations/0002_add_default_for_jsonfield.py b/backend/users/migrations/0002_add_default_for_jsonfield.py
deleted file mode 100644
index 5763020222..0000000000
--- a/backend/users/migrations/0002_add_default_for_jsonfield.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Generated by Django 4.0.4 on 2022-04-25 14:34
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("users", "0001_create_user_profile"),
- ]
-
- operations = [
- migrations.AlterField(
- model_name="userprofile",
- name="entry_form_data",
- field=models.JSONField(
- blank=True,
- default=dict,
- help_text="Store of form data for Eligiblity, Info, and access steps prior to creation of an SF-SAC",
- null=True,
- ),
- ),
- ]
diff --git a/backend/users/migrations/0003_logingovuser.py b/backend/users/migrations/0003_logingovuser.py
deleted file mode 100644
index 9093865da0..0000000000
--- a/backend/users/migrations/0003_logingovuser.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Generated by Django 4.0.4 on 2022-06-27 15:38
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
- dependencies = [
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
- ("users", "0002_add_default_for_jsonfield"),
- ]
-
- operations = [
- migrations.CreateModel(
- name="LoginGovUser",
- fields=[
- (
- "id",
- models.BigAutoField(
- auto_created=True,
- primary_key=True,
- serialize=False,
- verbose_name="ID",
- ),
- ),
- ("login_id", models.CharField(max_length=100, unique=True)),
- (
- "user",
- models.OneToOneField(
- on_delete=django.db.models.deletion.CASCADE,
- to=settings.AUTH_USER_MODEL,
- ),
- ),
- ],
- ),
- ]
diff --git a/backend/users/migrations/0004_alter_logingovuser_login_id.py b/backend/users/migrations/0004_alter_logingovuser_login_id.py
deleted file mode 100644
index 1d4e227b7f..0000000000
--- a/backend/users/migrations/0004_alter_logingovuser_login_id.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by Django 4.0.4 on 2022-07-06 19:50
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("users", "0003_logingovuser"),
- ]
-
- operations = [
- migrations.AlterField(
- model_name="logingovuser",
- name="login_id",
- field=models.CharField(max_length=50, unique=True),
- ),
- ]
diff --git a/backend/users/migrations/0005_delete_logingovuser.py b/backend/users/migrations/0005_delete_logingovuser.py
deleted file mode 100644
index 245602bb5b..0000000000
--- a/backend/users/migrations/0005_delete_logingovuser.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-23 16:25
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("users", "0004_alter_logingovuser_login_id"),
- ]
-
- operations = [
- migrations.DeleteModel(
- name="LoginGovUser",
- ),
- ]
diff --git a/docs/dbbackups.md b/docs/dbbackups.md
new file mode 100644
index 0000000000..055f5d7446
--- /dev/null
+++ b/docs/dbbackups.md
@@ -0,0 +1,27 @@
+# Database Backups
+
+Information regarding the django utility can be found [on the documentation page](https://django-dbbackup.readthedocs.io/en/master/commands.html)
+Database backups occur in the following ways:
+1. Django backups
+```bash
+python manage.py dbbbackup
+python manage.py mediabackup
+```
+2. Django restores
+```bash
+python manage.py dbrestore
+python manage.py mediarestore
+```
+3. Backups in the prod environment occur every deployment, [before the most recent code is applied](https://github.com/GSA-TTS/FAC/blob/fd3a59287d58aec06a78d6da3b42a5def8fc9c98/.github/workflows/deploy-application.yml#L72-L100)
+4. Manual steps are listed in the following document for where to catalog backups
+ * [Deploying](./deploying.md)
+ * Login via CF and tail the logs during a deployment (before it gets to deploy application stage)
+ * Post the most recent dbbackup and mediabackup file names in https://github.com/GSA-TTS/FAC/issues/2221
+```bash
+cf login -a api.fr.cloud.gov --sso
+Select an org:
+1. gsa-tts-oros-fac
+Select a space:
+5. production
+cf logs gsa-fac
+```
diff --git a/docs/deploying.md b/docs/deploying.md
index b870c19895..d0be3e0f56 100644
--- a/docs/deploying.md
+++ b/docs/deploying.md
@@ -92,9 +92,28 @@ cf push -f manifests/manifest-dev.yml
5. Verify that the deploy steps all passed.
6. After deployment, the changes should be on https://app.fac.gov/.
7. If anything was merged directly into the `prod` branch, such as a hotfix, merge `prod` back into `main`.
+8. Login via CF and tail the logs during a deployment (before it gets to deploy application stage)
+```bash
+cf login -a api.fr.cloud.gov --sso
+Select an org:
+1. gsa-tts-oros-fac
+Select a space:
+5. production
+cf logs gsa-fac
+```
+9. Post the most recent dbbackup and mediabackup file names in https://github.com/GSA-TTS/FAC/issues/2221
To see more about branching and the deployment steps, see the [Branching](branching.md) page.
+#### Deploying to `preview`
+1. Navigate to the [Deploy Preview Workflow](https://github.com/GSA-TTS/FAC/actions/workflows/deploy-preview.yml)
+ * Select a ref to target
+ * This ref can be `main`, but it was designed to allow deploys from any branch. ex `user/my-branch`
+2. Wait for deployment to pass or fail
+3. If checks or deployment fails, something has gone awry. Investigation will be needed.
+4. Verify that the deploy steps all passed.
+5. After deployment, the changes should be on https://fac-preview.app.cloud.gov/.
+
## Running a Django admin command
You can SSH into a running instance of the app. Running Django apps is a little more complicated on Cloud Foundry than running locally.
@@ -112,7 +131,7 @@ export LD_LIBRARY_PATH=~/deps/0/python/lib
### Problem: A GitHub Action run says that Terraform cannot be applied because the plan differs from what was approved.
#### Solution: Click through from the error message to the referenced PR, click the `Checks` tab, and rerun the Terraform plan action. Then rerun the action that failed originally.
-More info: When there are changes to the `terraform/` directory in a PR, [a GitHub Action](https://github.com/GSA-TTS/FAC/blob/main/.github/workflows/terraform-plan.yml) posts comments to the PR which include the "plan" indicating what will change in each environment when the PR is deployed there. ([example](https://github.com/GSA-TTS/FAC/pull/875)) Those comments help those reviewing and approving the PR to understand the implication of the change.
+More info: When there are changes to the `terraform/` directory in a PR, [a GitHub Action](https://github.com/GSA-TTS/FAC/blob/main/.github/workflows/terraform-plan.yml) posts comments to the PR which include the "plan" indicating what will change in each environment when the PR is deployed there. ([example](https://github.com/GSA-TTS/FAC/pull/875)) Those comments help those reviewing and approving the PR to understand the implication of the change.
However, we don't deploy immediately to the `staging` and `production` environments, and it's possible that other PRs will get merged, or that someone will make manual changes in those environments in the meantime. As a sanity check the plan is regenerated right before applying a change in those environments. If there's any difference from what was approved in the PR (captured in those comments), it's an indicator that the approved plan is **not** what is about to happen, and the action aborts so that humans can inspect and intervene if necessary. The simplest way to say "yeah, I want the new plan to happen, that's still OK" is to go regenerate the plans being compared against in the PR, using the steps indicated.
diff --git a/terraform/meta/README.md b/terraform/meta/README.md
index 623955148d..bc9a7e0131 100644
--- a/terraform/meta/README.md
+++ b/terraform/meta/README.md
@@ -23,7 +23,7 @@ NOTE: The deploying account must have the OrgManager role in the target
organization.
-## TODO:
+## TODO:
* Make bootstrap.sh script
* Checks that the user is logged into GitHub as repo admin and Cloud Foundry as OrgAdmin
@@ -36,3 +36,5 @@ organization.
* Move the services currently in "management" into the "meta" space; we're not really using that space anyway
* Double-check that the "management" space can be blown away (first confirming that the *actual* Terraform state is in the S3 instance in the "production" space)
* Update/simplify ../terraform/README.md!
+* Meta module handing sharing the spaces
+
diff --git a/terraform/meta/config.tf b/terraform/meta/config.tf
index 741300b93b..59d1b27d9e 100644
--- a/terraform/meta/config.tf
+++ b/terraform/meta/config.tf
@@ -1,10 +1,16 @@
locals {
org_name = "gsa-tts-oros-fac"
spaces = {
- "dev" = {},
- "staging" = {},
- "preview" = {},
- "production" = { allow_ssh = false },
+ "dev" = {},
+ "preview" = {},
+ "staging" = {
+ uses_backups = true
+ },
+ "production" = {
+ allow_ssh = false,
+ uses_backups = true,
+ is_production = true
+ },
}
# All spaces have the same SpaceDevelopers for now
diff --git a/terraform/meta/meta.tf b/terraform/meta/meta.tf
index 05446c8c96..28fc325d62 100644
--- a/terraform/meta/meta.tf
+++ b/terraform/meta/meta.tf
@@ -34,3 +34,34 @@ module "environments" {
# bootstrap-env module manage both spaces in a future PR!
asgs = lookup(each.value, "allow_egress", false) ? tolist(local.egress_asgs) : tolist(local.internal_asgs)
}
+
+locals {
+ # Filters the list of spaces with a value of true for "uses_backups". We only want to share the bucket to those spaces.
+ spaces_that_use_backups = join(" ", [for key, config in local.spaces : lookup(config, "uses_backups", false) ? key : ""])
+}
+
+module "s3-backups" {
+ source = "github.com/18f/terraform-cloudgov//s3?ref=v0.5.1"
+
+ cf_org_name = local.org_name
+ # TODO: This should be the key for the first space that says "is_production =
+ # true" rather than being hardcoded
+ cf_space_name = "production"
+ name = "backups"
+ s3_plan_name = "basic"
+}
+
+# TODO: We should have a corresponding "unshar-backup-from-spaces" resource, in
+# case a space is removed from the list
+
+# resource "null_resource" "share-backup-to-spaces" {
+# provisioner "local-exec" {
+# environment = {
+# SPACES = "${local.spaces_that_use_backups}"
+# }
+# command = "for space in $SPACES ; do cf share-service backups -s $space; done"
+# }
+# depends_on = [
+# module.s3-backups
+# ]
+# }