Skip to content

Award Identifiers

Brian edited this page May 26, 2020 · 1 revision

Award Identifiers

There are specific transaction fields used to determine award uniqueness and they are different between FPDS and FABS. It was decided to combine the fields into a string which can be used as a deterministic unique field. The field is called unique_award_key in Broker and generated_unique_award_id is USAspending. A future technical improvement will have USAspending rename the field to match Broker.

When combining the fields, order is very important. To ensure that no collisions occur between awards from different systems, a prefix was included. The prefixes are partially used to help differentiate the different award types within procurement and assistance types. Each system has two specific formats. Each format is determined by a single field. If a value is not present in one of the fields used for the ID, "-NONE-" is subsituted in place to maintan structure as they are valid records. Originally the award key format was different. Due to shortcomings work was performed to develop a new format which could be used by both systems. The work and information below was captured in DEV-2216

Procurement Award ID Formats (FPDS)

Fields:

  • piid
  • agency_id
  • parent_award_id (conditional: Awards-only, not IDV. atom_type == 'award')
  • referenced_idv_agency_iden (conditional: Awards-only, not IDV. atom_type == 'award')

Formats:

upper('CONT_AWD' + '_' + Coalesce(<piid>,'-NONE-') + '_' +  Coalesce(<agency_id>,'-NONE-') + '_' + Coalesce(<parent_award_id>,'-NONE-') + '_' +  Coalesce(<referenced_idv_agency_iden>,'-NONE-'))
upper('CONT_IDV' + '_' + Coalesce(<piid>,'-NONE-') + '_' +  Coalesce(<agency_id>,'-NONE-'))

Examples:

  • CONT_AWD_SPO50017F0039_1900_SGE50014D0009_1900
  • CONT_IDV_12010919D0003_12C2
  • CONT_AWD_SPO50017F0039_1200_SGE50014D0009_-NONE-
  • CONT_IDV_39493_-NONE-

Assistance Award ID Formats (FABS)

Fields:

  • fain (conditional: non-aggregated. record_type != 1)
  • uri (conditional: aggregated. record_type == 1)
  • awarding_sub_tier_agency_c

Formats:

upper('ASST_AGG' + '_' +  Coalesce(<uri>,'-NONE-') + '_' +  Coalesce(<awarding_sub_tier_agency_c>,'-NONE-'))
upper('ASST_NON' + '_' +  Coalesce(<fain>,'-NONE-') + '_' +  Coalesce(<awarding_sub_tier_agency_c>,'-NONE-'))

Examples:

  • ASST_AGG_1020FA_-NONE-
  • ASST_NON_1805CA5MAP_-NONE-
  • ASST_AGG_15CA35050692501_1251
  • ASST_NON_1805CA5MAP_7530
Clone this wiki locally