This table is a mapping of Program element code to Program name. There is a direct co-relation between values in the "Program(s)" & "Program Element Code(s)" fields present in the NSF data. Also there is "Program Reference Code(s)" field in the NSF data that is used to provide program element codes.
This table contains the following fields:
- PK: Automatically generated. Guarantees uniqueness.
- PROGRAM_NAME: The exact string as found in the "Program(s)" field.
- FUNDING_CODE: The exact string as found in the "Program Element Code(s)" and/or "Program Reference Code(s)" field.
Programs with the same "name" and "funding code" are automatically merged to be the same program. Since "Program Element Code" and "Reference Code" are essentially part of the same NSF Funding Code Schema, while parsing the "Program Reference Code(s)" column we check if the code is already present in the "Program" funding code. If it is, then we will just get the reference to that object and save it in an appropriate relationship table. On another note if it is not present then we create a new Program record without the Name field.