Home Data Historic migration Table transforms

Table migration transforms

The Census data from 2016 to 2022 saw multiple changes to the SF-SAC and validations that were applied. For example, there are entire sections of the form that did not exist before 2018.

The tables below describe the transformations that we applied to Census data tables in migrating to the GSA intake.

Where we say No transformation, this means that we passed data through without any modification or further validation.

Table: general

Transformations to data in the dissemination table general.
Census GSA Data type
AUDITYEAR audit_year No transformation
TYPEOFENTITY entity_type Transformation recorded
FYENDDATE fy_start_date Subtracts 365 days from FYENDDATE and converts the result to the 'YYYY-MM-DD' format
FYENDDATE fy_end_date Converts FYENDDATE to the 'YYYY-MM-DD' format
AUDITTYPE audit_type Transformation recorded
PERIODCOVERED audit_period_covered Transformation recorded
EIN auditee_ein No transformation
AUDITEENAME auditee_name No transformation
STREET1 auditee_address_line_1 No transformation
CITY auditee_city No transformation
STATE auditee_state No transformation
ZIPCODE auditee_zip Removes hyphens. Pads with a leading zero when zipcode only contains 4 or 8 digits.
AUDITEECONTACT auditee_contact_name No transformation
AUDITEETITLE auditee_contact_title No transformation
AUDITEEPHONE auditee_phone No transformation
AUDITEEEMAIL auditee_email Uses “GSA_MIGRATION” when AUDITEEEMAIL is empty
AUDITEEDATESIGNED auditee_certified_date Converts AUDITEEDATESIGNED to UTC 'YYYY-MM-DD HH:MM:SS.ffffff±HH' format.
CPAFIRMNAME auditor_firm_name No transformation
CPASTREET1 auditor_address_line_1 No transformation
CPACITY auditor_city No transformation
CPASTATE auditor_state No transformation
CPAZIPCODE auditor_zip Removes hyphens. Pads with a leading zero when zipcode only contains 4 or 8 digits.
CPACONTACT auditor_contact_name No transformation
CPATITLE auditor_contact_title No transformation
CPAPHONE auditor_phone No transformation
CPAEMAIL auditor_email Uses “GSA_MIGRATION” when CPAEMAIL is empty
CPADATESIGNED auditor_certified_date Converts CPADATESIGNED to UTC 'YYYY-MM-DD HH:MM:SS.ffffff±HH' format.
COGAGENCY cognizant_agency No transformation
OVERSIGHTAGENCY oversight_agency No transformation
TYPEREPORT_FS gaap_results Transformation recorded
SP_FRAMEWORK sp_framework_basis Transformation recorded
TYPEREPORT_SP_FRAMEWORK sp_framework_opinions Transformation recorded
GOINGCONCERN is_going_concern_included No transformation
MATERIALWEAKNESS is_internal_control_material_weakness_disclosed No transformation
DUP_REPORTS is_aicpa_audit_guide_included No transformation
DOLLARTHRESHOLD dollar_threshold Uses “-999999999” when DOLLARTHRESHOLD is empty
LOWRISK is_low_risk_auditee No transformation
TOTFEDEXPEND total_amount_expended Uses sum of AMOUNT instead of TOTFEDEXPEND
AUDITOR_EIN auditor_ein No transformation
FACACCEPTEDDATE fac_accepted_date No transformation††
CPAFOREIGN auditor_foreign_address No transformation
CPACOUNTRY auditor_country Uses “USA” when “US” is provided. Uses “USA” or when CPACOUNTRY is empty and CPASTATE is a valid US state.
UEI auditee_uei Uses “GSA_MIGRATION” when empty
MULTIPLEUEIS is_additional_ueis No transformation
AUDITEECERTIFYNAME auditee_certify_name Uses “AUDITEENAME” instead of “AUDITEECERTIFYNAME”. This is a bug that will be addressed.
AUDITEECERTIFYTITLE auditee_certify_title Uses “AUDITEETITLE” instead of “AUDITEECERTIFYTITLE”. This is a bug that will be addressed.
SP_FRAMEWORK_REQUIRED is_sp_framework_required Transformation recorded
SIGNIFICANTDEFICIENCY is_internal_control_deficiency_disclosed No transformation
MATERIALNONCOMPLIANCE is_material_noncompliance_disclosed No transformation
PYSCHEDULE agencies_with_prior_findings No transformation
SUPPRESSION_CODE is_public Uses false when entity type is “tribal” and SUPPRESSION_CODE is "IT" and true otherwise

† The dissemination logic converts booleans to a “yes” or “no” text instead, this change is unrelated to the migration logic.

††: The dissemination logic converts this date from utc time zone to american samoa zone. This is transformation is unrelated to the migration logic

Table: federal_awards

Transformations to data in the dissemination table federal_awards.
Census GSA Data type
CFDA_PREFIX federal_agency_prefix No transformation
CFDA_EXT federal_award_extension Transformation recorded
AWARDIDENTIFICATION additional_award_identification Uses “GSA_MIGRATION” when CFDA contains "U" or "RD" (case insensitive) and AWARDIDENTIFICATION is empty
FEDERALPROGRAMNAME federal_program_name No transformation
AMOUNT amount_expended Transformation recorded
CLUSTERNAME cluster_name Uses “GSA_MIGRATION” when CLUSTERNAME is empty
STATECLUSTERNAME state_cluster_name Uses “GSA_MIGRATION” when STATECLUSTERNAME is empty and CLUSTERNAME matches "STATE CLUSTER"
PROGRAMTOTAL federal_program_total Transformation recorded
CLUSTERTOTAL cluster_total Transformation recorded
DIRECT is_direct No transformation
PASSTHROUGHAWARD is_passthrough_award No transformation
PASSTHROUGHAMOUNT passthrough_amount Uses -999999999 when PASSTHROUGHAMOUNT is empty and PASSTHROUGHAWARD is "Y". Uses an empty string when PASSTHROUGHAMOUNT is empty or zero and PASSTHROUGHAWARD is "N".
MAJORPROGRAM is_major No transformation
TYPEREPORT_MP audit_report_type No transformation
LOANS is_loan No transformation
LOANBALANCE loan_balance Uses “GSA_MIGRATION” when LOANBALANCE is empty and LOANS is “Y”. Uses an empty string when LOANBALANCE is empty or zero and LOANS is “N”.
FINDINGSCOUNT findings_count Uses 0 when FINDINGSCOUNT is empty
ELECAUDITSID award_reference Transformation recorded
OTHERCLUSTERNAME other_cluster_name Uses “GSA_MIGRATION” when OTHERCLUSTERNAME is empty and CLUSTERNAME matches "OTHER CLUSTER NOT LISTED ABOVE"

Table: notes_to_sefa

Transformations to data in the dissemination table notes_to_sefa.
Census GSA Data type
TITLE title No transformation
CONTENT+TYPE_ID content No transformation (TYPE_ID=”3”)
CONTENT+TYPE_ID+NOTE_INDEX is_minimis_rate_used Transformation recorded
CONTENT+TYPE_ID accounting_policies Uses “GSA_MIGRATION” when CONTENT is empty and TYPE_ID=”1”
CONTENT+TYPE_ID rate_explained Uses “GSA_MIGRATION” when CONTENT is empty and TYPE_ID=”2”

Table: findings

Transformations to data in the dissemination table findings.
Census GSA Data type
FINDINGSREFNUMS reference_number No transformation
TYPEREQUIREMENT type_requirement Sorts and uppercases the string
MODIFIEDOPINION is_modified_opinion No transformation
OTHERNONCOMPLIANCE is_other_matters No transformation
MATERIALWEAKNESS is_material_weakness No transformation
SIGNIFICANTDEFICIENCY is_significant_deficiency No transformation
OTHERFINDINGS is_other_findings No transformation
QCOSTS is_questioned_costs No transformation
REPEATFINDING is_repeat_finding No transformation
PRIORFINDINGREFNUMS prior_finding_ref_numbers Uses “N/A” when PRIORFINDINGREFNUMS is empty

Table: findings_text

Transformations to data in the dissemination table findings_text.
Census GSA Data type
FINDINGREFNUMS finding_ref_number No transformation
TEXT planned_action Uses “GSA_MIGRATION” when TEXT is empty
CHARTSTABLES contains_chart_or_table Uses “GSA_MIGRATION” when TEXT is empty

Table: corrective_action_plans

Transformations to data in the dissemination table corrective_action_plans.
Census GSA Data type
FINDINGREFNUMS finding_ref_number No transformation
TEXT planned_action Uses “GSA_MIGRATION” when TEXT is empty
CHARTSTABLES contains_chart_or_table Uses “GSA_MIGRATION” when TEXT is empty

Table: passthrough

Transformations to data in the dissemination table passthrough.
Census GSA Data type
PASSTHROUGHNAME passthrough_name Uses “GSA_MIGRATION” when DIRECT =”N” and PASSTHROUGHID exists but no corresponding PASSTHROUGHNAME is found
PASSTHROUGHID passthrough_id Uses “GSA_MIGRATION” when DIRECT =”N” and PASSTHROUGHNAME exists but no corresponding PASSTHROUGHID is found.

Table: secondary_auditors

Transformations to data in the dissemination table secondary_auditors.
Census GSA Data type
CPAZIPCODE address_zipcode Removes hyphens. Pads with a leading zero when zipcode only contains 4 or 8 digits.
CPATITLE contact_title No transformation
CPACITY address_city No transformation
CPASTATE address_state No transformation
CPACONTACT contact_name No transformation
CPAEIN auditor_ein No transformation
CPAFIRMNAME auditor_name No transformation
CPAEMAIL contact_email No transformation
CPAPHONE contact_phone No transformation
CPASTREET1 address_street No transformation

Table: additional_ueis

Transformations to data in the dissemination table additional_ueis.
Census GSA Data type
UEI additional_uei No transformation

Table: additional_eins

Transformations to data in the dissemination table additional_eins.
Census GSA Data type
EIN additional_ein No transformation