diff --git a/models/staging/edfi_3/base/_edfi_3__base.yml b/models/staging/edfi_3/base/_edfi_3__base.yml index 50f4ff4..4115f66 100644 --- a/models/staging/edfi_3/base/_edfi_3__base.yml +++ b/models/staging/edfi_3/base/_edfi_3__base.yml @@ -79,24 +79,57 @@ models: - name: base_ef3__parents config: tags: ['core'] + - name: base_ef3__performance_evaluation_ratings + config: + tags: ['core ???'] + - name: base_ef3__performance_evaluations + config: + tags: ['core ???'] + - name: base_ef3__persons + config: + tags: ['core'] - name: base_ef3__programs config: tags: ['core'] + - name: base_ef3__school_year_types + config: + tags: ['core'] - name: base_ef3__schools config: tags: ['core'] + - name: base_ef3__section_attendance_taken_events + config: + tags: ['core'] - name: base_ef3__sections config: tags: ['core'] - name: base_ef3__sessions config: tags: ['core'] + - name: base_ef3__staff_absence_events + config: + tags: ['core'] + - name: base_ef3__staff_cohort_associations + config: + tags: ['core'] + - name: base_ef3__staff_discipline_incident_associations + config: + tags: ['core'] - name: base_ef3__staff_education_organization_assignment_associations config: tags: ['core'] + - name: base_ef3__staff_education_organization_contact_associations + config: + tags: ['core'] - name: base_ef3__staff_education_organization_employment_associations config: tags: ['core'] + - name: base_ef3__staff_leaves + config: + tags: ['core'] + - name: base_ef3__staff_program_associations + config: + tags: ['core'] - name: base_ef3__staff_school_associations config: tags: ['core'] @@ -117,6 +150,12 @@ models: config: tags: ['cohort'] enabled: "{{ var('src:domain:cohort:enabled', True) }}" + - name: base_ef3__student_competency_objectives + config: + tags: ['base'] + - name: base_ef3__student_cte_program_associations + config: + tags: ['base'] - name: base_ef3__student_discipline_incident_associations config: tags: ['discipline'] @@ -132,26 +171,50 @@ models: - name: base_ef3__student_education_organization_associations config: tags: ['core'] + - name: base_ef3__student_education_organization_responsibility_associations + config: + tags: ['core'] + - name: base_ef3__student_gradebook_entries + config: + tags: ['core'] - name: base_ef3__student_homeless_program_associations config: tags: ['homeless'] enabled: "{{ var('src:program:homeless:enabled', True) }}" + - name: base_ef3__student_intervention_associations + config: + tags: ['core'] + - name: base_ef3__student_intervention_attendance_events + config: + tags: ['core'] - name: base_ef3__student_language_instruction_program_associations config: tags: ['language_instruction'] enabled: "{{ var('src:program:language_instruction:enabled', True) }}" + - name: base_ef3__student_migrant_education_program_associations + config: + tags: ['core'] + - name: base_ef3__student_neglected_or_delinquent_program_associations + config: + tags: ['core'] - name: base_ef3__student_parent_associations config: tags: ['core'] - name: base_ef3__student_program_associations config: tags: ['core'] + - name: base_ef3__student_program_attendance_events + config: + tags: ['core'] - name: base_ef3__student_school_associations config: tags: ['core'] - name: base_ef3__student_school_attendance_events config: tags: ['core'] + - name: base_ef3__student_school_food_service_program_associations + config: + tags: ['core'] - name: base_ef3__student_section_associations config: tags: ['core'] @@ -169,6 +232,12 @@ models: - name: base_ef3__students config: tags: ['core'] + - name: base_ef3__survey_course_associations + config: + tags: ['survey'] + - name: base_ef3__survey_program_associations + config: + tags: ['survey'] - name: base_ef3__survey_question_responses config: tags: ['survey'] @@ -194,6 +263,18 @@ models: - name: base_ef3__survey_sections config: tags: ['survey'] + - name: base_ef3__survey_section_aggregate_responses + config: + tags: ['survey'] + - name: base_ef3__survey_section_associations + config: + tags: ['survey'] + - name: base_ef3__survey_section_response_education_organization_target_associations + config: + tags: ['survey'] + - name: base_ef3__survey_section_response_staff_target_associations + config: + tags: ['survey'] - name: base_ef3__survey_section_responses config: tags: ['survey'] diff --git a/models/staging/edfi_3/base/base_ef3__performance_evaluation_ratings.sql b/models/staging/edfi_3/base/base_ef3__performance_evaluation_ratings.sql new file mode 100644 index 0000000..2e75141 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__performance_evaluation_ratings.sql @@ -0,0 +1,16 @@ +with performance_evaluation_ratings as ( + {{ source_edfi3('performance_evaluation_ratings') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + filename, + file_row_number, + is_deleted, + ?? + from performance_evaluation_ratings +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__performance_evaluations.sql b/models/staging/edfi_3/base/base_ef3__performance_evaluations.sql new file mode 100644 index 0000000..ce3251d --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__performance_evaluations.sql @@ -0,0 +1,16 @@ +with performance_evaluations as ( + {{ source_edfi3('performance_evaluations') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + filename, + file_row_number, + is_deleted, + ?? + from performance_evaluations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__school_year_types.sql b/models/staging/edfi_3/base/base_ef3__school_year_types.sql new file mode 100644 index 0000000..16c8fd4 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__school_year_types.sql @@ -0,0 +1,21 @@ +with school_year_types as ( + {{ source_edfi3('school_year_types') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + filename, + file_row_number, + is_deleted, + + v:id::string as record_guid, + v:schoolYear::string as school_year, + v:currentSchoolYear::string as current_school_year, + v:schoolYearDescription::string as school_year_description + + from school_year_types +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__section_attendance_taken_events.sql b/models/staging/edfi_3/base/base_ef3__section_attendance_taken_events.sql new file mode 100644 index 0000000..6948cb2 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__section_attendance_taken_events.sql @@ -0,0 +1,37 @@ +with section_attendance_taken_events as ( + {{ source_edfi3('section_attendance_taken_events') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + filename, + file_row_number, + is_deleted, + + v:id::string as record_guid, + -- fields + v:eventDate::string as event_date, + -- calendar date key + v:calendarDateReference:calendarCode::string as calendar_date_local_course_code, + v:calendarDateReference:date::date as calendar_date_date, + v:calendarDateReference:schoolId::int as calendar_date_school_id, + v:calendarDateReference:schoolYear::int as calendar_date_school_year, + -- section key + v:sectionReference:localCourseCode::string as local_course_code, + v:sectionReference:schoolId::int as school_id, + v:sectionReference:schoolYear::int as school_year, + v:sectionReference:sectionIdentifier::string as section_id, + v:sectionReference:sessionName::string as session_name, + -- staff key + v:staffReference:staffUniqueId::string as staff_unique_id, + -- references + v:calendarDateReference as calendar_date_reference, + v:sectionReference as section_reference, + v:staffReference as staff_reference + + from section_attendance_taken_events +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__staff_absence_events.sql b/models/staging/edfi_3/base/base_ef3__staff_absence_events.sql new file mode 100644 index 0000000..a087dba --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_absence_events.sql @@ -0,0 +1,26 @@ +with staff_absence_events as ( + {{ source_edfi3('staff_absence_events') }} +), +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:eventDate::date as event_date, + v:absenceEventReason::string as absence_event_reason, + v:hoursAbsent::integer as hours_absent, + v:staffReference:staffUniqueId::integer as staff_unique_id, + -- descriptors + {{ extract_descriptor('v:absenceEventCategoryDescriptor::string') }} as absence_event_category, + -- references + v:staffReference as school_reference + + from staff_absence_events +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__staff_cohort_associations.sql b/models/staging/edfi_3/base/base_ef3__staff_cohort_associations.sql new file mode 100644 index 0000000..459f1d5 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_cohort_associations.sql @@ -0,0 +1,27 @@ +with staff_cohort_associations as ( + {{ source_edfi3('staff_cohort_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:beginDate::date as begin_date, + v:endDate::date as end_date, + v:studentRecordAccess::boolean as student_record_access, + v:staffReference:staffUniqueId::integer as staff_unique_id, + v:cohortReference:cohortIdentifier::string as cohort_dentifier, + v:cohortReference:educationOrganizationId::integer as education_organization_id, + -- references + v:cohortReference as cohort_reference, + v:staffReference as staff_reference + + from staff_cohort_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__staff_discipline_incident_associations.sql b/models/staging/edfi_3/base/base_ef3__staff_discipline_incident_associations.sql new file mode 100644 index 0000000..1d3842e --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_discipline_incident_associations.sql @@ -0,0 +1,25 @@ +with staff_discipline_incident_associations as ( + {{ source_edfi3('staff_discipline_incident_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:disciplineIncidentParticipationCodes:disciplineIncidentParticipationCodeDescriptor::string as discipline_incident_participation_code_descriptor, + v:staffReference:staffUniqueId::integer as staff_unique_id, + v:disciplineIncidentReference:incidentIdentifier::string as incident_identifier, + v:disciplineIncidentReference:schoolId::integer as school_id, + -- references + v:disciplineIncidentReference as discipline_incident_reference, + v:staffReference as staff_reference + + from staff_discipline_incident_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__staff_education_organization_contact_associations.sql b/models/staging/edfi_3/base/base_ef3__staff_education_organization_contact_associations.sql new file mode 100644 index 0000000..be0c972 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_education_organization_contact_associations.sql @@ -0,0 +1,71 @@ +with staff_education_organization_contact_associations as ( + {{ source_edfi3('staff_education_organization_contact_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:contactTitle::string as contact_title, + v:contactTypeDescriptor::string as contact_type_descriptor, + v:electronicMailAddress::string as electronic_mail_address, + + v:address:addressTypeDescriptor::string as address_type_descriptor, + v:address:localeDescriptor::string as address_locale_descriptor, + v:address:stateAbbreviationDescriptor::string as address_state_abbreviation_descriptor, + v:address:apartmentRoomSuiteNumber::string as address_apartment_room_suite_number, + v:address:buildingSiteNumber::string as address_building_site_number, + v:address:city::string as address_city, + v:address:congressionalDistrict::string as address_congressional_district, + v:address:countyFIPSCode::string as address_county_fips_code, + v:address:doNotPublishIndicator::boolean as is_address_do_not_publish_indicator, + v:address:latitude::string as address_latitude, + v:address:longitude::string as address_longitude, + v:address:nameOfCounty::string as address_name_of_county, + v:address:postalCode::string as address_postal_code, + v:address:streetNumberName::string as address_street_number_name, + + v:educationOrganizationReference:educationOrganizationId::integer as ed_org_id, + v:staffReference:staffUniqueId::integer as staff_unique_id, + -- lists + v:telephones as v_telephones, + v:address:periods as v_address_periods, + + -- references + v:educationOrganizationReference as educationOrganizationReference, + v:staffReference as staff_reference + + from sessions +) +select * from renamed + + + + "address": { + "addressTypeDescriptor": "string", + "localeDescriptor": "string", + "": "string", + "": "string", + "": "string", + "": "string", + "": "string", + "": "string", + "": true, + "": "string", + "": "string", + "": "string", + "": "string", + "": "string", + "periods": [ + { + "beginDate": "2024-07-23", + "endDate": "2024-07-23" + } + ] + }, diff --git a/models/staging/edfi_3/base/base_ef3__staff_leaves.sql b/models/staging/edfi_3/base/base_ef3__staff_leaves.sql new file mode 100644 index 0000000..2687691 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_leaves.sql @@ -0,0 +1,27 @@ +with staff_leaves as ( + {{ source_edfi3('staff_leaves') }} +), +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:beginDate::date as begin_date, + v:staffReference:staffUniqueId::string as staff_unique_id, + v:endDate::date as end_date, + v:reason::string as reason, + v:substituteAssigned::boolean as is_substitute_assigned, + -- descriptors + {{ extract_descriptor('v:staffLeaveEventCategoryDescriptor') }} as staff_leave_event_ñategory, + -- references + v:staffReference as staff_reference + + from staff_leaves +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__staff_program_associations.sql b/models/staging/edfi_3/base/base_ef3__staff_program_associations.sql new file mode 100644 index 0000000..eecfe95 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__staff_program_associations.sql @@ -0,0 +1,28 @@ +with staff_program_associations as ( + {{ source_edfi3('staff_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:beginDate::date as begin_date, + v:endDate::date as end_date, + v:staffReference:staffUniqueId::string as staff_unique_id, + v:programReference:educationOrganizationId::integer as education_organization_id, + v:programReference:programName::string as program_name, + v:programReference:programTypeDescriptor::string as program_type_descriptor, + v:studentRecordAccess::boolean as is_studen_record_access, + -- references + v:programReference as program_reference, + v:staffReference as staff_reference + + from staff_program_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_competency_objectives.sql b/models/staging/edfi_3/base/base_ef3__student_competency_objectives.sql new file mode 100644 index 0000000..2be377c --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_competency_objectives.sql @@ -0,0 +1,38 @@ +with student_competency_objectives as ( + {{ source_edfi3('student_competency_objectives') }} +), +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:diagnosticStatement::string as diagnostic_statement, + v:studentReference:studentUniqueId::string as student_unique_id, + v:gradingPeriodReference:gradingPeriodDescriptor::integer as grading_period_descriptor, + v:gradingPeriodReference:periodSequence::integer as period_sequence, + v:gradingPeriodReference:schoolId::integer as school_id, + v:gradingPeriodReference:schoolYear::integer as school_year, + + v:objectiveCompetencyObjectiveReference:educationOrganizationId::integer as education_organization_id, + v:objectiveCompetencyObjectiveReference:objective::string as objective, + v:objectiveCompetencyObjectiveReference:objectiveGradeLevelDescriptor::string as objective_grade_level_descriptor, + -- descriptors + {{ extract_descriptor('v:competencyLevelDescriptor::string') }} as competency_level, + -- references + v:studentReference as student_reference, + v:gradingPeriodReference as grading_periodR_rference, + -- lists + v:generalStudentProgramAssociations as v_general_student_program_associations, + v:studentSectionAssociations as v_student_section_associations, + + -- edfi extensions ???? + v:_ext as v_ext + + from student_competency_objectives +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_cte_program_associations.sql b/models/staging/edfi_3/base/base_ef3__student_cte_program_associations.sql new file mode 100644 index 0000000..bbf8c84 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_cte_program_associations.sql @@ -0,0 +1,47 @@ +with student_cte_program_associations as ( + {{ source_edfi3('student_cte_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:beginDate::date as begin_date, + v:endDate::date as end_date, + v:nonTraditionalGenderStatus::boolean as is_non_traditional_gender_status, + v:privateCTEProgram::boolean as is_private_c_t_e_program, + v:servedOutsideOfRegularSession::boolean as served_outside_of_regular_session, + v:participationStatus:participationStatusDescriptor::string as participation_status_descriptor, + v:participationStatus:designatedBy::string as designated_by + v:participationStatus:statusBeginDate::date as status_begin_date + v:participationStatus:statusEndDate::date as status_end_date, + v:studentReference:studentUniqueId::string as student_unique_id, + v:educationOrganizationReference:educationOrganizationId::integer as education_organization_id, + v:programReference:educationOrganizationId::integer as education_organization_id + v:programReference:programName::integer as program_name + v:programReference:programTypeDescriptor::integer as program_type_descriptor + -- descriptor + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited, + {{ extract_descriptor('v:technicalSkillsAssessmentDescriptor::string') }} as technical_skills_assessment, + -- references + v:studentReference as student_reference, + v:gradingPeriodReference as grading_period_reference, + -- lists + v:ctePrograms as v_cte_programs, + v:cteProgramServices as v_cte_program_services, + v:studentSectionAssociations as v_student_section_associations, + v:programParticipationStatuses as v_programParticipationStatuses + v:services as v_services, + + -- edfi extensions ???? + v:_ext as v_ext + + from student_cte_program_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_discipline_incident_behavior_associations.sql b/models/staging/edfi_3/base/base_ef3__student_discipline_incident_behavior_associations.sql index 862927f..10386cf 100644 --- a/models/staging/edfi_3/base/base_ef3__student_discipline_incident_behavior_associations.sql +++ b/models/staging/edfi_3/base/base_ef3__student_discipline_incident_behavior_associations.sql @@ -19,7 +19,7 @@ renamed as ( {{ extract_descriptor('v:behaviorDescriptor::string') }} as behavior_type, -- references v:disciplineIncidentReference as discipline_incident_reference, - v:studentReference as student_reference, + v:studentReference as student_reference, -- lists v:disciplineIncidentParticipationCodes as v_discipline_incident_participation_codes, @@ -27,4 +27,4 @@ renamed as ( v:_ext as v_ext from student_discipline_incident_behavior ) -select * from renamed \ No newline at end of file +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_discipline_incident_non_offender_associations.sql b/models/staging/edfi_3/base/base_ef3__student_discipline_incident_non_offender_associations.sql index 168b6ee..ca9af59 100644 --- a/models/staging/edfi_3/base/base_ef3__student_discipline_incident_non_offender_associations.sql +++ b/models/staging/edfi_3/base/base_ef3__student_discipline_incident_non_offender_associations.sql @@ -24,4 +24,4 @@ renamed as ( v:_ext as v_ext from student_discipline_incident_nonoffender ) -select * from renamed \ No newline at end of file +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_gradebook_entries.sql b/models/staging/edfi_3/base/base_ef3__student_gradebook_entries.sql new file mode 100644 index 0000000..793510e --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_gradebook_entries.sql @@ -0,0 +1,54 @@ +with student_gradebook_entries as ( + {{ source_edfi3('student_gradebook_entries') }} +), + +renamed as ( + select + -- generic columns + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + + v:dateFulfilled::date as date_fulfilled, + v:diagnosticStatement::string as diagnostic_statement, + v:letterGradeEarned::string as letter_grade_earned, + v:numericGradeEarned::integer as numeric_grade_earned, + v:studentReference:studentUniqueId::string as student_unique_id, + + v:gradebookEntryReference:dateAssigned::date as date_assigned, + v:gradebookEntryReference:gradebookEntryTitle::string as gradebook_entry_title, + v:gradebookEntryReference:localCourseCode: string as local_course_code, + v:gradebookEntryReference:schoolId::integer as school_id, + v:gradebookEntryReference:schoolYear::integer as school_year, + v:gradebookEntryReference:sectionIdentifier::string as section_identifier, + v:gradebookEntryReference:sessionName::string as session_name, + + v:studentSectionAssociationReference:sessionName::string as session_name, + v:studentSectionAssociationReference:beginDate::date as begin_date, + v:studentSectionAssociationReference:localCourseCode::string as local_course_code, + v:studentSectionAssociationReference:schoolId::integer as school_id, + v:studentSectionAssociationReference:schoolYear::integer as school_year, + v:studentSectionAssociationReference:sectionIdentifier::string as section_identifier, + v:studentSectionAssociationReference:sessionName::string as session_name, + v:studentSectionAssociationReference:studentUniqueId::string as student_unique_id, + + -- descriptors + {{ extract_descriptor('v:competencyLevelDescriptor::string') }} as competency_level, + + -- references + v:educationOrganizationReference as education_organization_reference, + v:studentReference as student_reference, + + -- edfi extensions + v:_ext as v_ext + + from source_stu_responsibility +) + +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_intervention_associations.sql b/models/staging/edfi_3/base/base_ef3__student_intervention_associations.sql new file mode 100644 index 0000000..31e1529 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_intervention_associations.sql @@ -0,0 +1,46 @@ +with source_stu_programs as ( + {{ source_edfi3('student_homeless_program_associations') }} +), + +renamed as ( + select + -- generic columns + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:diagnosticStatement::string as diagnostic_statement, + v:dosage::integer as dosage, + + v:studentReference:studentUniqueId::string as student_unique_id, + + v:interventionReference:educationOrganizationId::integer as education_organization_id, + v:interventionReference:interventionIdentificationCode::string as intervention_identification_code, + + v:cohortReference:cohortIdentifier::string as ed_org_id, + v:cohortReference:educationOrganizationId::integer as intervention_identification_code, + + v:participationStatus:designatedBy::string as designated_by, + v:participationStatus:statusBeginDate::date as status_begin_date, + v:participationStatus:statusEndDate::date as status_end_date, + + -- references + v:interventionReference as intervention_reference, + v:cohortReference as cohort_reference, + v:studentReference as student_reference, + + -- lists + v:interventionEffectivenesses as v_intervention_effectivenesses, + + -- edfi extensions + v:_ext as v_ext + + from source_stu_programs +) + +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_intervention_attendance_events.sql b/models/staging/edfi_3/base/base_ef3__student_intervention_attendance_events.sql new file mode 100644 index 0000000..e69de29 diff --git a/models/staging/edfi_3/base/base_ef3__student_migrant_education_program_associations.sql b/models/staging/edfi_3/base/base_ef3__student_migrant_education_program_associations.sql new file mode 100644 index 0000000..b18f7dc --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_migrant_education_program_associations.sql @@ -0,0 +1,55 @@ +with student_neglected_or_delinquent_program_associations as ( + {{ source_edfi3('student_neglected_or_delinquent_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:beginDate::date as begin_date, + v:endDate::date as end_date, + + v:eligibilityExpirationDate::date as eligibility_expiration_date, + v:lastQualifyingMove::date as last_qualifying_move, + v:priorityForServices::boolean as is_priority_for_services, + v:qualifyingArrivalDate::date as qualifying_arrival_date, + v:servedOutsideOfRegularSession::boolean as is_served_outside_of_regular_session + v:stateResidencyDate::date as state_residency_date + v:usInitialEntry::date as us_initial_entry + v:usInitialSchoolEntry:date as us_initial_school_entry + v:usMostRecentEntry::date as us_most_recent_entry + + v:educationOrganizationReference:educationOrganizationId::integer as ed_org_id, + + v:studentReference:studentUniqueId::string as student_unique_id, + + v:programReference:educationOrganizationId::integer as education_organization_id, + v:programReference:programName::string as program_name, + v:programReference:programTypeDescriptor::string as program_type_descriptor, + + v:participationStatus:participationStatusDescriptor::string as participation_status_descriptor, + v:participationStatus:designatedBy::string as designated_by, + v:participationStatus:statusBeginDate::date as status_begin_date, + v:participationStatus:statusEndDate::date as status_end_date, + -- descriptors + {{ extract_descriptor('v:continuationOfServicesReasonDescriptor::string') }} as continuation_of_services_reason_descriptor, + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited, + -- references + v:educationOrganizationReference as parent_reference, + v:programReference as programReference, + v:parentReference as parent_reference, + v:studentReference as student_reference, + -- list + v:migrantEducationProgramServices as v_migrantEducationProgramServices, + + -- edfi extensions + v:_ext as v_ext + from student_neglected_or_delinquent_program_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_neglected_or_delinquent_program_associations.sql b/models/staging/edfi_3/base/base_ef3__student_neglected_or_delinquent_program_associations.sql new file mode 100644 index 0000000..62d55be --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_neglected_or_delinquent_program_associations.sql @@ -0,0 +1,49 @@ +with student_neglected_or_delinquent_program_associations as ( + {{ source_edfi3('student_neglected_or_delinquent_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:beginDate::date as begin_date, + v:endDate::date as end_date, + v:servedOutsideOfRegularSession::boolean as is_served_outside_of_regular_session, + + v:educationOrganizationReference:educationOrganizationId::integer as ed_org_id, + + v:studentReference:studentUniqueId::string as student_unique_id, + + v:programReference:educationOrganizationId::integer as education_organization_id, + v:programReference:programName::string as program_name, + v:programReference:programTypeDescriptor::string as program_type_descriptor, + + v:participationStatus:participationStatusDescriptor::string as participation_status_descriptor, + v:participationStatus:designatedBy::string as designated_by, + v:participationStatus:statusBeginDate::date as status_begin_date, + v:participationStatus:statusEndDate::date as status_end_date, + -- descriptors + {{ extract_descriptor('v:elaProgressLevelDescriptor::string') }} as mathematics_progress_level, + {{ extract_descriptor('v:mathematicsProgressLevelDescriptor::string') }} as mathematics_progress_level, + {{ extract_descriptor('v:neglectedOrDelinquentProgramDescriptor::string') }} as neglected_or_delinquent_program, + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited, + -- references + v:educationOrganizationReference as parent_reference, + v:programReference as programReference, + v:parentReference as parent_reference, + v:studentReference as student_reference, + -- list + v:neglectedOrDelinquentProgramServices as v_neglected_or_delinquent_program_services, + v:programParticipationStatuses as v_program_participation_statuses, + + -- edfi extensions + v:_ext as v_ext + from student_neglected_or_delinquent_program_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_program_attendance_events.sql b/models/staging/edfi_3/base/base_ef3__student_program_attendance_events.sql new file mode 100644 index 0000000..bf26505 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_program_attendance_events.sql @@ -0,0 +1,37 @@ +with student_program_attendance_events as ( + {{ source_edfi3('student_program_attendance_events') }} +), +renamed as ( + select + -- generic columns + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + + v:id::string as record_guid, + v:eventDate::date as event_date + v:educationOrganizationReference:educationOrganizationId::integer as ed_org_id, + v:educationOrganizationReference:link:rel::string as ed_org_type, + v:programReference:educationOrganizationId::integer as program_ed_org_id, + v:programReference:programName::string as program_name, + v:studentReference:studentUniqueId::string as student_id, + v:attendanceEventReason::string as attendance_event_reason, + v:eventDuration::integer as event_duration, + v:programAttendanceDuration::integer as program_attendance_duration, + + -- descriptors + {{ extract_descriptor('v:attendanceEventCategoryDescriptor::string') }} as attendance_event_category, + {{ extract_descriptor('v:educationalEnvironmentDescriptor::string') }} as educational_environment, + + -- references + v:educationOrganizationReference as education_organization_reference, + v:programReference as program_reference, + v:studentReference as student_reference + + from source_stu_programs +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__student_school_food_service_program_associations.sql b/models/staging/edfi_3/base/base_ef3__student_school_food_service_program_associations.sql new file mode 100644 index 0000000..d5957fc --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__student_school_food_service_program_associations.sql @@ -0,0 +1,43 @@ +with student_school_food_service_program_associations as ( + {{ source_edfi3('student_school_food_service_program_associations') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + filename, + file_row_number, + is_deleted, + + v:id::string as record_guid, + v:beginDate::date as begin_date, + v:endDate::date as end_date, + v:directCertification::boolean as is_direct_certification, + v:servedOutsideOfRegularSession::boolean as is_served_outside_of_regular_session, + + v:educationOrganizationReference:education_organization_id::integer as education_organization_id, + v:programReference:educationOrganizationId:integer as education_organization_id, + v:programReference:programName::string as program_name, + v:programReference:programTypeDescriptor::string as program_type_descriptor, + v:studentReference:studentUniqueId::string as student_unique_id, + + v:participationStatus:participationStatusDescriptor::string as participation_status_descriptor, + v:participationStatus:designatedBy::string as designated_by, + v:participationStatus:statusBeginDate::date as status_begin_date, + v:participationStatus:statusEndDate::date as status_end_date, + + -- descriptors + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited_descriptor, + -- references + v:educationOrganizationReference as education_organization_reference, + v:programReference as program_reference, + v:studentReference as student_reference + -- nested lists + v:programParticipationStatuses as v_programParticipationStatuses, + v:schoolFoodServiceProgramServices as v_schoolFoodServiceProgramServices + + from student_school_food_service_program_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_course_associations.sql b/models/staging/edfi_3/base/base_ef3__survey_course_associations.sql new file mode 100644 index 0000000..2466511 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_course_associations.sql @@ -0,0 +1,25 @@ +with survey_question_responses as ( + {{ source_edfi3('survey_question_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:courseReference:courseCode::string as course_code, + v:courseReference:educationOrganizationId::integer as education_organization_id, + v:surveyReference:namespace::string as namespace, + v:surveyReference:surveyIdentifier::string as survey_identifier, + -- references + v:courseReference as program_reference, + v:surveyReference as survey_reference + + from survey_question_responses +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_program_associations.sql b/models/staging/edfi_3/base/base_ef3__survey_program_associations.sql new file mode 100644 index 0000000..2f3469b --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_program_associations.sql @@ -0,0 +1,26 @@ +with survey_question_responses as ( + {{ source_edfi3('survey_question_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:programReference:educationOrganizationId::integer as education_organization_id, + v:programReference:programName::string as program_name, + v:programReference:programTypeDescriptor::string as program_type_descriptor, + v:surveyReference:namespace::string as namespace, + v:surveyReference:surveyIdentifier::string as survey_identifier, + -- references + v:programReference as program_reference, + v:surveyReference as survey_reference + + from survey_question_responses +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_question_responses.sql b/models/staging/edfi_3/base/base_ef3__survey_question_responses.sql index b7ecc2b..55f92d4 100644 --- a/models/staging/edfi_3/base/base_ef3__survey_question_responses.sql +++ b/models/staging/edfi_3/base/base_ef3__survey_question_responses.sql @@ -18,7 +18,7 @@ renamed as ( v:surveyResponseReference:surveyResponseIdentifier::string as survey_response_id, v:comment::string as comment, v:noResponse::boolean as no_response, - --references + -- references v:surveyQuestionReference as survey_question_reference, v:surveyResponseReference as survey_response_reference, -- lists diff --git a/models/staging/edfi_3/base/base_ef3__survey_questions.sql b/models/staging/edfi_3/base/base_ef3__survey_questions.sql index 7002436..ab7e2bf 100644 --- a/models/staging/edfi_3/base/base_ef3__survey_questions.sql +++ b/models/staging/edfi_3/base/base_ef3__survey_questions.sql @@ -19,7 +19,7 @@ renamed as ( v:questionText::string as question_text, -- descriptors {{ extract_descriptor('v:questionFormDescriptor::string') }} as question_form, - --references + -- references v:surveyReference as survey_reference, v:surveySectionReference as survey_section_reference, -- lists diff --git a/models/staging/edfi_3/base/base_ef3__survey_section_aggregate_responses.sql b/models/staging/edfi_3/base/base_ef3__survey_section_aggregate_responses.sql new file mode 100644 index 0000000..c48bea1 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_section_aggregate_responses.sql @@ -0,0 +1,16 @@ +with survey_section_aggregate_responses as ( + {{ source_edfi3('survey_section_aggregate_responses') }} +), +renamed as ( + select + tenant_code, + api_year, + pull_timestamp, + last_modified_timestamp, + file_row_number, + filename, + is_deleted, + ?? + from survey_section_aggregate_responses +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_section_associations.sql b/models/staging/edfi_3/base/base_ef3__survey_section_associations.sql new file mode 100644 index 0000000..567554c --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_section_associations.sql @@ -0,0 +1,24 @@ +with survey_section_associations as ( + {{ source_edfi3('survey_section_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:sectionReference::sectionIdentifier::string as section_id, + v:sectionReference::sessionName::string as session_name, + v:sectionReference::schoolId::string as school_id, + v:sectionReference::schoolYear::string as school_year, + -- references + v:sectionReference as sectionReference + v:surveyReference as surveyReference + from survey_section_response_education_organization_target_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_section_response_education_organization_target_associations.sql b/models/staging/edfi_3/base/base_ef3__survey_section_response_education_organization_target_associations.sql new file mode 100644 index 0000000..b51a0ea --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_section_response_education_organization_target_associations.sql @@ -0,0 +1,22 @@ +with survey_section_response_education_organization_target_associations as ( + {{ source_edfi3('survey_section_response_education_organization_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:surveySectionResponseReference::surveyIdentifier::string as survey_id, + v:surveySectionResponseReference::surveySectionTitle::string as survey_section_title, + -- references + v:educationOrganizationReference as educationOrganizationReference + v:surveySectionResponseReference as surveySectionResponseReference + from survey_section_response_education_organization_target_associations +) +select * from renamed diff --git a/models/staging/edfi_3/base/base_ef3__survey_section_response_staff_target_associations.sql b/models/staging/edfi_3/base/base_ef3__survey_section_response_staff_target_associations.sql new file mode 100644 index 0000000..8a04c58 --- /dev/null +++ b/models/staging/edfi_3/base/base_ef3__survey_section_response_staff_target_associations.sql @@ -0,0 +1,21 @@ +with survey_section_aggregate_responses as ( + {{ source_edfi3('survey_section_aggregate_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:surveySectionResponseReference::surveyIdentifier::string as survey_id, + v:surveySectionResponseReference::surveySectionTitle::string as survey_section_title, + -- references + v:staffReference as staff_reference + from survey_section_aggregate_responses +) +select * from renamed diff --git a/models/staging/tpdm/base/_tpdm__base.yml b/models/staging/tpdm/base/_tpdm__base.yml index 684b62e..9ee6a6e 100644 --- a/models/staging/tpdm/base/_tpdm__base.yml +++ b/models/staging/tpdm/base/_tpdm__base.yml @@ -7,39 +7,48 @@ 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 + - name: base_tpdm__evaluations config: tags: ['tpdm'] - - name: base_tpdm__evaluations + - name: base_tpdm__evaluation_elements + config: + tags: ['tpdm'] + - name: base_tpdm__evaluation_element_ratings config: tags: ['tpdm'] - name: base_tpdm__evaluation_ratings config: tags: ['tpdm'] - - name: base_tpdm__performance_evaluations + - name: base_tpdm__evaluation_objectives + config: + tags: ['tpdm'] + - name: base_tpdm__evaluation_objective_ratings config: tags: ['tpdm'] - name: base_tpdm__performance_evaluation_ratings config: tags: ['tpdm'] - - name: base_tpdm__evaluation_objectives + - name: base_tpdm__performance_evaluations config: tags: ['tpdm'] - - name: base_tpdm__evaluation_objective_ratings + - name: base_tpdm__post_secondary_institutions config: tags: ['tpdm'] - - name: base_tpdm__evaluation_elements + - name: base_tpdm__rubric_dimensions config: tags: ['tpdm'] - - name: base_tpdm__evaluation_element_ratings + - name: base_tpdm__staff_educator_preparation_program_associations + config: + tags: ['tpdm'] + - name: base_tpdm__survey_response_person_target_associations + config: + tags: ['tpdm'] + - name: base_tpdm__survey_section_response_person_target_associations config: tags: ['tpdm'] diff --git a/models/staging/tpdm/base/base_tpdm__post_secondary_institutions.sql b/models/staging/tpdm/base/base_tpdm__post_secondary_institutions.sql new file mode 100644 index 0000000..9ff872b --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__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/tpdm/base/base_tpdm__staff_educator_preparation_program_associations.sql b/models/staging/tpdm/base/base_tpdm__staff_educator_preparation_program_associations.sql new file mode 100644 index 0000000..3fa70eb --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__staff_educator_preparation_program_associations.sql @@ -0,0 +1,36 @@ +with + staff_educator_preparation_program_associations as ( + {{ source_edfi3('staff_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:begindate::date as begin_date, + v:enddate::date as end_date, + -- course offering key + v:candidatereference:candidateidentifier::integer as candidate_identifier, + -- location key + v:educatorpreparationprogramreference:educationorganizationid::integer as classroom_identification_code, + v:educatorpreparationprogramreference:programname::string as classroom_location_school_id, + v:educatorpreparationprogramreference:programtypedescriptor::string as classroom_location_school_id, + -- descriptors + {{ extract_descriptor('v:eppProgramPathwayDescriptor::string') }} as epp_program_pathway_descriptor, + {{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited_descriptor, + -- references + v:candidatereference as candidate_reference, + v:educatorpreparationprogramreference as educator_preparation_program_reference, + -- lists + v:cohortyears as v_cohort_years, + v:degreespecializations as v_degree_specializations + + from staff_educator_preparation_program_associations + ) +select * from renamed diff --git a/models/staging/tpdm/base/base_tpdm__survey_section_response_person_target_associations.sql b/models/staging/tpdm/base/base_tpdm__survey_section_response_person_target_associations.sql new file mode 100644 index 0000000..59afbc5 --- /dev/null +++ b/models/staging/tpdm/base/base_tpdm__survey_section_response_person_target_associations.sql @@ -0,0 +1,23 @@ +with survey_section_response_person_target_associations as ( + {{ source_edfi3('survey_section_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:surveySectionResponseReference:surveyIdentifier::string as survey_id, + v:surveySectionResponseReference:surveyResponseIdentifier::string as survey_response_id, + -- references + v:surveySectionResponseReference as survey_section_response_reference, + v:personReference as person_reference + from survey_response_person_target_associations +) +select * from renamed