diff --git a/models/staging/edfi_3/base/_edfi_3__base.yml b/models/staging/edfi_3/base/_edfi_3__base.yml index fda2b82..50f4ff4 100644 --- a/models/staging/edfi_3/base/_edfi_3__base.yml +++ b/models/staging/edfi_3/base/_edfi_3__base.yml @@ -184,4 +184,16 @@ models: - name: base_ef3__surveys config: tags: ['survey'] - enabled: "{{ var('src:program:survey:enabled', True) }}" \ No newline at end of file + enabled: "{{ var('src:program:survey:enabled', True) }}" + - name: base_ef3__credentials + config: + tags: ['core'] + - name: base_ef3__post_secondary_institutions + config: + tags: ['core'] + - name: base_ef3__survey_sections + config: + tags: ['survey'] + - name: base_ef3__survey_section_responses + config: + tags: ['survey'] diff --git a/models/staging/edfi_3/base/base_ef3__credentials.sql b/models/staging/edfi_3/base/base_ef3__credentials.sql new file mode 100644 index 0000000..51816a1 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__credentials.sql @@ -0,0 +1,36 @@ +with credentials as ( + {{ source_edfi3('credentials') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:credentialIdentifier::string as credential_id, + v:effectiveDate::date as effective_date, + v:expirationDate::date as expiration_date, + v:issuanceDate::date as issuance_date, + v:namespace::string as namespace, + -- descriptors + {{ extract_descriptor('v:credentialFieldDescriptor::string') }} as credential_field, + {{ extract_descriptor('v:credentialTypeDescriptor::string') }} as credential_type, + {{ extract_descriptor('v:stateOfIssueStateAbbreviationDescriptor::string') }} as state_of_issue_state_abbreviation, + {{ extract_descriptor('v:teachingCredentialDescriptor::string') }} as teaching_credential, + {{ extract_descriptor('v:teachingCredentialBasisDescriptor::string') }} as teaching_credential_basis, + -- unnested lists + v:endorsements as v_endorsements, + v:academicSubjects as v_academic_subjects, + v:gradeLevels as v_grade_levels, + -- references + v:studentAcademicRecords as student_academic_records, + -- edfi extensions + v:_ext as v_ext + from credentials +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__post_secondary_institutions.sql b/models/staging/edfi_3/base/base_ef3__post_secondary_institutions.sql new file mode 100644 index 0000000..9ff872b --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__post_secondary_institutions.sql @@ -0,0 +1,34 @@ +with post_secondary_institutions as ( + {{ source_edfi3('post_secondary_institutions') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:postSecondaryInstitutionId::int as post_secondary_institution_id, + v:nameOfInstitution::string as name_of_institution, + v:shortNameOfInstitution::string as short_name_of_institution, + v:webSite::string as web_site, + -- descriptors + {{ extract_descriptor('v:postSecondaryInstitutionLevelDescriptor::string')}} as post_secondary_institution_level, + {{ extract_descriptor('v:administrativeFundingControlDescriptor::string')}} as administrative_funding_control, + {{ extract_descriptor('v:federalLocaleCodeDescriptor::string')}} as federal_locale_code, + {{ extract_descriptor('v:operationalStatusDescriptor::string')}} as operational_status_descriptor, + -- unflattened lists + v:categories as v_categories, + v:addresses as v_addresses, + v:identificationCodes as v_identification_codes, + v:indicators as v_indicators, + v:institutionTelephones as v_institution_telephones, + v:internationalAddresses as v_international_addresses, + v:mediumOfInstructions as v_medium_of_instructions + from post_secondary_institutions +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_section_responses.sql b/models/staging/edfi_3/base/base_ef3__survey_section_responses.sql new file mode 100644 index 0000000..78bb06f --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_section_responses.sql @@ -0,0 +1,23 @@ +with section_responses as ( + {{ source_edfi3('section_responses') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:surveyResponseReference:surveyResponseIdentifier::string as survey_response_id, + v:surveySectionReference:surveyIdentifier::string as survey_id, + v:sectionRating::decimal(9,3) as section_rating, + -- references + v:surveyResponseReference as survey_response_reference, + v:surveySectionReference as survey_section_reference + from section_responses +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_sections.sql b/models/staging/edfi_3/base/base_ef3__survey_sections.sql new file mode 100644 index 0000000..9b40ea5 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_sections.sql @@ -0,0 +1,21 @@ +with survey_sections as ( + {{ source_edfi3('survey_sections') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:surveyReference::surveyIdentifier::string as survey_id, + v:surveySectionTitle::string as survey_section_title, + -- references + v:surveyReference as survey_reference + from survey_sections +) +select * from renamed diff --git a/models/staging/tpdm/base/_tpdm__base.yml b/models/staging/tpdm/base/_tpdm__base.yml index e969920..684b62e 100644 --- a/models/staging/tpdm/base/_tpdm__base.yml +++ b/models/staging/tpdm/base/_tpdm__base.yml @@ -7,6 +7,18 @@ models: - name: base_tpdm__educator_preparation_programs config: tags: ['tpdm'] + - name: base_tpdm__survey_response_person_target_associations + config: + tags: ['tpdm'] + - name: base_tpdm__candidate_educator_preparation_program_associations + config: + tags: ['tpdm'] + - name: base_tpdm__financial_aids + config: + tags: ['tpdm'] + - name: base_tpdm__rubric_dimensions + config: + tags: ['tpdm'] - name: base_tpdm__evaluations config: tags: ['tpdm'] diff --git a/models/staging/tpdm/base/base_tpdm__candidate_educator_preparation_program_associations.sql b/models/staging/tpdm/base/base_tpdm__candidate_educator_preparation_program_associations.sql new file mode 100644 index 0000000..852a860 --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__candidate_educator_preparation_program_associations.sql @@ -0,0 +1,30 @@ +with candidate_educator_preparation_program_associations as ( + {{ source_edfi3('candidate_educator_preparation_program_associations') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:candidateReference:candidateIdentifier::string as candidate_id, + v:educatorPreparationProgramReference:educationOrganizationId::int as program_id, + v:beginDate::date as begin_date, + v:endDate::date as end_date, + -- descriptors + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited, + {{ extract_descriptor('v:eppProgramPathwayDescriptor::string') }} as epp_program_pathway, + -- unnested lists + v:degreeSpecializations as v_degree_specializations, + v:cohortYears as v_cohort_years, + -- references + v:candidateReference as candidate_reference, + v:educatorPreparationProgramReference as educator_preparation_program_reference + from candidate_educator_preparation_program_associations +) +select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__candidates.sql b/models/staging/tpdm/base/base_tpdm__candidates.sql index a7a4d53..2cb053a 100644 --- a/models/staging/tpdm/base/base_tpdm__candidates.sql +++ b/models/staging/tpdm/base/base_tpdm__candidates.sql @@ -13,6 +13,7 @@ renamed as ( v:id::string as record_guid, v:candidateIdentifier::string as candidate_id, + v:personReference::personId::string as person_id, v:firstName::string as first_name, v:lastSurname::string as last_name, v:middleName::string as middle_name, @@ -35,7 +36,7 @@ renamed as ( {{ extract_descriptor('v:sexDescriptor::string') }} as sex, {{ extract_descriptor('v:birthSexDescriptor::string') }} as birth_sex, {{ extract_descriptor('v:birthStateAbbreviationDescriptor::string') }} as birth_state, - {{ extract_descriptor('v:birthCountyDescriptor::string') }} as birth_county, + {{ extract_descriptor('v:birthCountryDescriptor::string') }} as birth_country, {{ extract_descriptor('v:englishLanguageExamDescriptor::string' )}} as english_language_exam, {{ extract_descriptor('v:limitedEnglishProficiencyDescriptor::string' )}} as lep_code, -- unflattened lists @@ -49,8 +50,7 @@ renamed as ( v:telephones as v_telephones, -- references - v:personReference as person_reference, - + v:personReference as person_reference from candidates ) select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__educator_preparation_programs.sql b/models/staging/tpdm/base/base_tpdm__educator_preparation_programs.sql index 9772883..56fcb36 100644 --- a/models/staging/tpdm/base/base_tpdm__educator_preparation_programs.sql +++ b/models/staging/tpdm/base/base_tpdm__educator_preparation_programs.sql @@ -1,4 +1,4 @@ -with educator_prep_programs as ( +with educator_preparation_programs as ( {{ source_edfi3('educator_preparation_programs') }} ), renamed as ( @@ -13,18 +13,16 @@ renamed as ( v:id::string as record_guid, v:programId::string as program_id, - v:programName::string as program_name, v:educationOrganizationReference:educationOrganizationId::integer as ed_org_id, v:educationOrganizationReference:link:rel::string as ed_org_type, + v:programName::string as program_name, -- descriptors {{ extract_descriptor('v:programTypeDescriptor::string') }} as program_type, {{ extract_descriptor('v:accreditationStatusDescriptor::string') }} as accreditation_status, -- unflattened lists v:gradeLevels as v_grade_levels, -- references - v:educationOrganizationReference as ed_org_reference, - -- edfi extensions - v:_ext as v_ext - from educator_prep_programs + v:educationOrganizationReference as ed_org_reference + from educator_preparation_programs ) select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__financial_aids.sql b/models/staging/tpdm/base/base_tpdm__financial_aids.sql new file mode 100644 index 0000000..8fd500d --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__financial_aids.sql @@ -0,0 +1,26 @@ +with financial_aids as ( + {{ source_edfi3('financial_aids') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:studentReference:studentUniqueId::string as student_id, + v:aidTypeDescriptor::string as aid_type, + v:beginDate::date as begin_date, + v:aidAmount::decimal(19, 4) as aid_amount, + v:aidConditionDescription::string as aid_condition_description, + v:endDate::date as end_date, + v:pellGrantRecipient::boolean as pell_grant_recipient, + -- references + v:studentReference as student_reference + from financial_aids +) +select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__rubric_dimensions.sql b/models/staging/tpdm/base/base_tpdm__rubric_dimensions.sql new file mode 100644 index 0000000..841422f --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__rubric_dimensions.sql @@ -0,0 +1,25 @@ +with rubric_dimensions as ( + {{ source_edfi3('rubric_dimensions') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:evaluationElementReference:educationOrganizationId::int as ed_org_id, + v:rubricRating::int as rubric_rating, + v:criterionDescription::string as criterion_description, + v:dimensionOrder::int as dimension_order, + -- descriptors + {{ extract_descriptor('v:rubricRatingLevelDescriptor::string') }} as rubric_rating_level, + -- references + v:evaluationElementReference as evaluation_element_reference + from rubric_dimensions +) +select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__survey_response_person_target_associations.sql b/models/staging/tpdm/base/base_tpdm__survey_response_person_target_associations.sql new file mode 100644 index 0000000..73742c9 --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__survey_response_person_target_associations.sql @@ -0,0 +1,23 @@ +with survey_response_person_target_associations as ( + {{ source_edfi3('survey_response_person_target_associations') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:personReference:personId::string as person_id, + v:surveyResponseReference:surveyIdentifier::string as survey_id, + v:surveyResponseReference:surveyResponseIdentifier::string as survey_response_id, + -- references + v:surveyResponseReference as survey_response_reference, + v:personReference as person_reference + from survey_response_person_target_associations +) +select * from renamed