Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
e11bbea
Initial commit
ryanaguilar Oct 31, 2025
bbdc730
Add yaml
ryanaguilar Oct 31, 2025
05558a8
Clean up student_iep_assoc
ryanaguilar Oct 31, 2025
624415f
Clean up idea_events
ryanaguilar Nov 3, 2025
9f658d5
Clean up student_iep_service_prescriptions
ryanaguilar Nov 3, 2025
44cff9b
Fix model name, clean up iep_goals
ryanaguilar Nov 3, 2025
7ae510c
Re-add student_ prefix to iep_goals
ryanaguilar Nov 3, 2025
973d24c
Clean up student_iep_goals
ryanaguilar Nov 3, 2025
8e921ed
Clean up student_iep__service_deliveries
ryanaguilar Nov 3, 2025
4b5f786
Clean up student_iep_accomodations
ryanaguilar Nov 4, 2025
8ed889e
Clean up student_iep_disabilities
ryanaguilar Nov 4, 2025
6f80022
First draft stg models
ryanaguilar Nov 4, 2025
00bf0f2
Remove finalize date from service_prescriptions
ryanaguilar Nov 4, 2025
92c4848
Add k_student_iep_association to gen_skey
ryanaguilar Nov 4, 2025
684b316
Use gen_skey for k_student_iep_association
ryanaguilar Nov 4, 2025
569c9a8
Update student_ieps model name
ryanaguilar Nov 11, 2025
54d5ce7
Remove associations naming from model
ryanaguilar Nov 11, 2025
6fed45a
Rename student_ieps model and update
ryanaguilar Nov 11, 2025
a46c232
Add k_student_iep_service_prescription to gen_skey macro
ryanaguilar Nov 11, 2025
b8a4347
Alphabetize key column list in iep_service_prescriptions
ryanaguilar Nov 11, 2025
4cc41f2
Use gen_skey for prescriptions key in iep_service_deliveries
ryanaguilar Nov 11, 2025
25e3c61
Alphabetize stu_iep_assoc and and stu_iep_service_prescrip key column…
ryanaguilar Nov 11, 2025
cf4e88a
Change collections model names to match extension documentation and s…
ryanaguilar Nov 14, 2025
636b562
Update collections stg models and model names to match updated base m…
ryanaguilar Nov 14, 2025
60b17c0
Fix typo
ryanaguilar Nov 14, 2025
ff99b20
Update select statements to use _collections naming
ryanaguilar Nov 14, 2025
8b3c2b5
Change sedm key, reference names in gen_skey macro
ryanaguilar Nov 14, 2025
0650def
Change gen_skey input from k_student_iep_association to k_student_iep…
ryanaguilar Nov 14, 2025
3dce854
Update old reference to student_iep_associations
ryanaguilar Nov 14, 2025
83e1eae
Add missing ,
ryanaguilar Nov 14, 2025
1332142
Update base_student_iep_disabilities to base_student_iep_disability_c…
ryanaguilar Nov 14, 2025
77a2072
Update base_student_iep_accomodations to base_student_iep_accomodatio…
ryanaguilar Nov 14, 2025
8401552
Fix typo
ryanaguilar Nov 14, 2025
9375b55
Remomve source_ from cte names
ryanaguilar Nov 14, 2025
7ad6231
Change partition by to use k_student_iep
ryanaguilar Nov 14, 2025
1020134
First draft stg_sedm__idea_events
ryanaguilar Nov 21, 2025
152c7af
Remove student iep ref
ryanaguilar Dec 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ models:
+materialized: view
stage:
+materialized: table
sedm:
base:
+materialized: view
stage:
+materialized: table

vars:
extensions: null
Expand Down
22 changes: 22 additions & 0 deletions macros/gen_skey.sql
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,28 @@
'col_list': ['post_secondary_institution_id'],
'annualize': False
},
'k_student_iep': {
'reference_name': 'student_iep_reference',
'col_list': [
'iep_finalized_date',
'iep_servicing_ed_org_id',
'student_iep_association_id',
'student_unique_id'],
'annualize': True
},
'k_student_iep_service_prescription': {
'reference_name': 'student_iep_reference',
'col_list': [
'iep_service_id',
'iep_servicing_ed_org_id',
'service_prescription',
'service_prescription_date',
'student_iep_association_id',
'student_unique_id'
],
'annualize': False
},

'k_template': {
'reference_name': '',
'col_list': [],
Expand Down
32 changes: 32 additions & 0 deletions models/staging/sedm/base/_sedm__base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: 2

models:
- name: base_sedm__student_iep_associations
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__ideaevents
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__student_iep_goals
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__student_iep_service_prescriptions
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__student_iep_service_deliveries
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__student_iep_disability_collections
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"
- name: base_sedm__student_iep_accommodation_collections
config:
tags: ['sedm']
enabled: "{{ var('src:domain:sedm:enabled', False) }}"

40 changes: 40 additions & 0 deletions models/staging/sedm/base/base_sedm__idea_events.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
with idea_events as (
{{ source_edfi3('idea_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,
ods_version,
data_model_version,
-- key columns
v:ideaEventID::string as idea_event_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:educationOrganizationReference:educationOrganizationId::int as ed_org_id,
v:educationOrganizationReference:link:rel::string as ed_org_type,
{{ extract_descriptor('v:ideaEventDescriptor::string') }} as idea_event,
-- value columns
v:eventBeginDate::date as event_begin_date,
v:eventEndDate::date as event_end_date,
v:eventNarrative::string as event_narrative,
-- descriptors
{{ extract_descriptor('v:eventReasonDescriptor::string') }} as event_reason,
{{ extract_descriptor('v:eventComplianceDescriptor::string') }} as event_compliance,
-- references
v:educationOrganizationReference as education_organization_reference,
v:studentReference as student_reference,

-- edfi extensions
v:_ext as v_ext

from idea_events
)

select * from renamed
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
with student_iep_accommodation_collections as (
{{ source_edfi3('student_iep_accommodation_collections') }}
),

renamed as (
select
tenant_code,
api_year,
pull_timestamp,
last_modified_timestamp,
file_row_number,
filename,
is_deleted,
v:id::string as record_guid,
ods_version,
data_model_version,
-- key columns
v:studentIEPReference:studentIEPAssociationID::string as student_iep_association_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:studentIEPReference:educationOrganizationReference:educationOrganizationId::int as iep_servicing_ed_org_id,
-- references
v:studentReference as student_reference,
v:studentIEPReference as student_iep_reference,
-- lists
v:accommodations as v_accommodations,

-- edfi extensions
v:_ext as v_ext

from student_iep_accommodation_collections
)

select * from renamed

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
with student_iep_disability_collections as (
{{ source_edfi3('student_iep_disability_collections') }}
),

renamed as (
select
tenant_code,
api_year,
pull_timestamp,
last_modified_timestamp,
file_row_number,
filename,
is_deleted,
v:id::string as record_guid,
ods_version,
data_model_version,
-- key columns
v:studentIEPReference:studentIEPAssociationID::string as student_iep_association_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:studentIEPReference:educationOrganizationReference:educationOrganizationId::int as iep_servicing_ed_org_id,
-- references
v:studentReference as student_reference,
v:studentIEPReference as student_iep_reference,
-- lists
v:disabilities as v_disabilities,

-- edfi extensions
v:_ext as v_ext

from student_iep_disability_collections
)

select * from renamed
38 changes: 38 additions & 0 deletions models/staging/sedm/base/base_sedm__student_iep_goals.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
with student_iep_goals as (
{{ source_edfi3('student_iep_goals') }}
),

renamed as (
select
tenant_code,
api_year,
pull_timestamp,
last_modified_timestamp,
file_row_number,
filename,
is_deleted,
v:id::string as record_guid,
ods_version,
data_model_version,
-- key columns
v:iepGoalID::string as iep_goal_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:studentIEPReference:studentIEPAssociationID::string as student_iep_association_id,
-- value columns
v:iepGoalDetails::string as iep_goal_details,
v:goalAchievementPeriodBeginDate::date as goal_achievement_period_begin_date,
v:goalAchievementPeriodEndDate::date as goal_achievement_period_end_date,
-- descriptors
{{ extract_descriptor('v:iepGoalDescriptor::string') }} as iep_goal,
-- references
v:studentReference as student_reference,
v:studentIEPReference as student_iep_reference,
v:ideaeventReferences as ideaevent_references,

-- edfi extensions
v:_ext as v_ext

from student_iep_goals
)

select * from renamed
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
with student_iep_service_deliveries as (
{{ source_edfi3('student_iep_service_deliveries') }}
),

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,
ods_version,
data_model_version,
-- key columns
v:iepServiceDeliveryID::string as iep_service_delivery_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:studentIEPReference:studentIEPAssociationID::string as student_iep_association_id,
{{ extract_descriptor('v:serviceDeliveryDksescriptor::string') }} as service_delivery,
v:serviceDeliveryDate::date as service_delivery_date,
-- value columns
v:studentIEPServicePrescriptionReference:iepServiceID::string as iep_service_prescription_id,
v:studentIEPServicePrescriptionReference:servicePrescriptionDate::date as service_prescription_date,
v:serviceProviderStaffReference:staffUniqueId::string as service_provider_staff_unique_id,
-- descriptors
{{ extract_descriptor('v:serviceProviderDescriptor::string') }} as service_provider_type,
-- references
v:studentReference as student_reference,
v:studentIEPReference as student_iep_reference,
v:studentIEPServicePrescriptionReference as student_iep_service_prescription_reference,
v:serviceProviderStaffReference as service_provider_staff_reference,
v:ideaeventReferences as ideaevent_references,
-- lists
v:serviceProviders as v_service_providers,
v:externalServiceProviders as v_external_service_providers,

-- edfi extensions
v:_ext as v_ext

from student_iep_service_deliveries
)

select * from renamed
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
with student_iep_service_prescriptions as (
{{ source_edfi3('student_iep_service_prescriptions') }}
),

renamed as (
select
tenant_code,
api_year,
pull_timestamp,
last_modified_timestamp,
file_row_number,
filename,
is_deleted,
v:id::string as record_guid,
ods_version,
data_model_version,
-- key columns
v:iepServiceID::string as iep_service_id,
v:studentReference:studentUniqueId::string as student_unique_id,
v:studentIEPReference:studentIEPAssociationID::string as student_iep_association_id,
v:studentIEPReference:educationOrganizationReference:educationOrganizationId::int as iep_servicing_ed_org_id,
v:studentIEPReference:iepFinalizedDate::date as iep_finalized_date,
{{ extract_descriptor('v:servicePrescriptionDescriptor::string') }} as service_prescription,
v:servicePrescriptionDate::date as service_prescription_date,
-- value columns
v:beginDate::date as begin_date,
v:endDate::date as end_date,
v:durationMinutes::float as duration_minutes,
v:frequencyValue::float as frequency_value,
v:serviceEducationOrganizationID::int as service_ed_org_id,
v:serviceProviderStaffID::string as service_provider_staff_id,
-- descriptors
{{ extract_descriptor('v:durationPeriodDescriptor::string') }} as duration_period,
{{ extract_descriptor('v:frequencyPeriodDescriptor::string') }} as frequency_period,
{{ extract_descriptor('v:serviceLocationTypeDescriptor::string') }} as service_location_type,
-- references
v:studentReference as student_reference,
v:studentIEPReference as student_iep_reference,
v:serviceProviderStaffReference as service_provider_staff_reference,
v:ideaeventReferences as ideaevent_references,

-- edfi extensions
v:_ext as v_ext

from student_iep_service_prescriptions
)

select * from renamed
50 changes: 50 additions & 0 deletions models/staging/sedm/base/base_sedm__student_ieps.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
with student_ieps as (
{{ source_edfi3('student_ieps') }}
),

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,
ods_version,
data_model_version,
-- key columns
v:studentIEPAssociationID::string as student_iep_association_id,
v:educationOrganizationReference:educationOrganizationId::int as iep_servicing_ed_org_id,
v:educationOrganizationReference:link:rel::string as iep_servicing_ed_org_type,
v:iepFinalizedDate::date as iep_finalized_date,
v:studentReference:studentUniqueId::string as student_unique_id,
-- value columns
v:iepBeginDate::date as iep_begin_date,
v:iepEndDate::date as iep_end_date,
v:iepAmendedDate::date as iep_amended_date,
v:medicallyFragile::boolean as is_medically_fragile,
v:multiplyDisabled::boolean as is_multiply_disabled,
v:schoolHoursPerWeek::float as school_hours_per_week,
v:specialEducationHoursPerWeek::float as spec_ed_hours_per_week,
-- descriptors
{{ extract_descriptor('v:iepStatusDescriptor::string') }} as iep_status,
{{ extract_descriptor('v:reasonExitedDescriptor::string') }} as reason_exited,
{{ extract_descriptor('v:specialEducationSettingDescriptor::string') }} as special_education_setting,
-- references
v:educationOrganizationReference as education_organization_reference,
v:studentReference as student_reference,
v:studentSpecialEducationProgramAssociationReference as student_spec_ed_program_association_reference,
v:studentSpecialEducationProgramEligibilityAssociationReference as student_spec_ed_program_eligibility_association_reference,
-- lists
v:ideaEvents as v_idea_events,
-- edfi extensions
v:_ext as v_ext

from student_ieps
)

select * from renamed

Loading