Skip to content

Conversation

@oscarrezab
Copy link

@oscarrezab oscarrezab commented Jun 30, 2025

These models are based on the available Swagger documentation, the TPDM (Community) Handbook v1.2.0, and the existing ef3 and tpdm models.

…target_associations and update their respective yml files.
@oscarrezab oscarrezab requested a review from rlittle08 June 30, 2025 18:12
@oscarrezab
Copy link
Author

Modified files

  • gen_skey.sql: add k_survey_section_response
  • base_tpdm__survey_section_response_person_target_associations.sql: re-order columns for more logical order

Notes and questions

  • Must the order of elements in col_list match anything in particular? This question arises because, for example, we have an alphabetical order when generating the key here, but a different order when generating the same key in this file. My intuition would be that both locations should have the same order to ensure identical hashes.
  • There might be need for discussion about the naming of some columns in these models, given that the current naming could be more explicit. For example, changing namespace here to survey_namespace, but changing this single model would break consistency with the rest.
  • We are generating seemingly unnecessary surrogate keys such as this one for the stage models. It might be suggested to skip creating them, however, other data platforms that enforce non-nullity or a single key in different ways to how Snowflake does (e.g., DataBricks) might not accept these models if these keys are not created.

@oscarrezab oscarrezab changed the title Create base and stage models for tpdm survey_section_response_person_target_associations and update their respective yml files. feature/epdm_models Jul 15, 2025
@oscarrezab
Copy link
Author

Resources modeled so far (10/20)

  • ApplicationEvent
  • CredentialEvent
  • FieldworkExperienceSectionAssociation
  • Goal
  • OpenStaffPositionEvent
  • ProfessionalDevelopmentEvent
  • ProfessionalDevelopmentEventAttendance
  • StaffEducatorPreparationProgramAssociation
  • SurveySectionAggregateResponse
  • SurveySectionResponsePersonTargetAssociation

Notes

  • The Ed-Fi resource OpenStaffPosition does not yet have base and stage models. We might need to model these because the models for OpenStaffPositionEvent depend on a reference to this class.

@oscarrezab
Copy link
Author

oscarrezab commented Jul 18, 2025

Created 5 new models (15/20 total)

  • Path
  • QuantitativeMeasure
  • QuantitativeMeasureScore
  • RecruitmentEvent
  • RecruitmentEventAttendance

Notes

  • The resource QuantitativeMeasureScore has two reference objects, which both share some common attributes such as educationOrganizationId or evaluationTitle what do we do about this?
    • Followed what was done for CourseTranscript but, shouldn't we use double underscores for this naming?
  • The Attendance resource has a field that references RecruitmentEventAttendance, which is not modeled into the first resource, perhaps because it is a newer TPDM field.
    • Should we generate a surrogate key for recruitment event attendance? Should we modify the attendance models?
  • For the Path resource, the graduationPlan reference has more attributes in the handbook than it does in the example payload from the swagger. Which one do we use?

@oscarrezab oscarrezab marked this pull request as ready for review August 5, 2025 13:56
Copy link
Author

@oscarrezab oscarrezab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reordered and renamed attributes, respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants