From f4e5568b8e4e7dac08990dcfd5ac5d43caa9a15b Mon Sep 17 00:00:00 2001 From: Steven Arnold <48261255+stevenarnold-ed-fi@users.noreply.github.com> Date: Tue, 12 Mar 2024 12:30:30 -0500 Subject: [PATCH] [TPDMDEV-793]/[DATASTD-2116] Plan/PlanMilestone domain (#96) * Plan Milestone implementation Included OldEthnicityDescriptor since that was removed in DS-5.0 bumped version to 1.2 in package.json * added missing interchange values * PlanMilestone v4 implementation * Updates for Plan Milestone v5 * Update build-model.yml * Update build-model.yml * Update build-model.yml * Missed removing unused files and added separate interchange * Updates based on Chris W. review and consultation with Ed * Plan related entities moved to their own interchange * Updates requested from review --- .github/workflows/build-model.yml | 12 ++++++------ Common/PlanMilestoneStatusEvent.metaed | 11 +++++++++++ Common/PlanPhaseStatusEvent.metaed | 8 ++++++++ Descriptor/OldEthnicity.metaed | 3 +++ Descriptor/PlanMilestoneStatus.metaed | 3 +++ Descriptor/PlanMilestoneType.metaed | 2 ++ Descriptor/PlanPhaseStatus.metaed | 2 ++ DomainEntity/Candidate.metaed | 2 +- DomainEntity/CertificationExamResult.metaed | 4 ++++ DomainEntity/Plan.metaed | 11 +++++++++++ DomainEntity/PlanMilestone.metaed | 15 +++++++++++++++ DomainEntity/PlanPhase.metaed | 19 +++++++++++++++++++ DomainEntity/StudentPlan.metaed | 11 +++++++++++ .../StudentPlanMilestoneStatus.metaed | 18 ++++++++++++++++++ DomainEntity/StudentPlanPhaseStatus.metaed | 18 ++++++++++++++++++ Interchange/Candidate.metaed | 1 + Interchange/Plan.metaed | 11 +++++++++++ Interchange/Survey.metaed | 4 ++++ Shared/MilestoneStatusDescription.metaed | 4 ++++ Shared/PlanMilestoneCode.metaed | 4 ++++ Shared/PlanMilestoneName.metaed | 4 ++++ Shared/PlanName.metaed | 4 ++++ Shared/PlanPaseName.metaed | 4 ++++ package.json | 2 +- 24 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 Common/PlanMilestoneStatusEvent.metaed create mode 100644 Common/PlanPhaseStatusEvent.metaed create mode 100644 Descriptor/OldEthnicity.metaed create mode 100644 Descriptor/PlanMilestoneStatus.metaed create mode 100644 Descriptor/PlanMilestoneType.metaed create mode 100644 Descriptor/PlanPhaseStatus.metaed create mode 100644 DomainEntity/Plan.metaed create mode 100644 DomainEntity/PlanMilestone.metaed create mode 100644 DomainEntity/PlanPhase.metaed create mode 100644 DomainEntity/StudentPlan.metaed create mode 100644 DomainEntity/StudentPlanMilestoneStatus.metaed create mode 100644 DomainEntity/StudentPlanPhaseStatus.metaed create mode 100644 Interchange/Plan.metaed create mode 100644 Interchange/Survey.metaed create mode 100644 Shared/MilestoneStatusDescription.metaed create mode 100644 Shared/PlanMilestoneCode.metaed create mode 100644 Shared/PlanMilestoneName.metaed create mode 100644 Shared/PlanName.metaed create mode 100644 Shared/PlanPaseName.metaed diff --git a/.github/workflows/build-model.yml b/.github/workflows/build-model.yml index 0d71de7..198b4d5 100644 --- a/.github/workflows/build-model.yml +++ b/.github/workflows/build-model.yml @@ -6,10 +6,10 @@ on: inputs: data_model_version: type: string - description: "data_model_version: The data standard version corresponding to the Ed-Fi Model branch. Default: 5.0" + description: "data_model_version: The data standard version corresponding to the Ed-Fi Model branch. Default: 5.0.0" ODS_version: type: string - description: "ODS_version: The Ed-Fi ODS/API version corresponding to the Ed-Fi Model branch. Default: 7.0" + description: "ODS_version: The Ed-Fi ODS/API version corresponding to the Ed-Fi Model branch. Default: 7.1" tpdm_version: type: string description: "tpdm_version: The TPDM version being built. Default: 1.2.0" @@ -20,10 +20,10 @@ on: env: data_model_version: "5.0.0" - ODS_version: "7.0" + ODS_version: "7.1" tpdm_version: "1.2.0" ed_fi_model_ref: "DS-5.0-ME-3.x" - node_version: "16.13.1" + node_version: "18" jobs: @@ -97,14 +97,14 @@ jobs: "projects"=$projectList; "projectPaths"=$projectPaths; "pluginConfigDirectories"=$emptyList; - "defaultPluginTechVersion"="${{ env.ODS_version }}"; + "defaultPluginTechVersion"="${{ env.ODS_version }}.0"; "allianceMode"=$true; } $MetaEdConfigBase.Add("metaEdConfiguration",$metaEdConfiguration) Write-Host $metaEdConfiguration $FilePath = 'MetaEd/build/MetaEdConfig-API-${{ env.ODS_version }}-DS-${{ env.data_model_version }}.json' $MetaEdConfigBase | ConvertTo-Json -Depth 100 | Out-File -FilePath $FilePath -NoNewline -Encoding Ascii - + - name: MetaEd - Build TPDM-Community run: | node ./index.js --config ./MetaEdConfig-API-${{ env.ODS_version }}-DS-${{ env.data_model_version }}.json -a diff --git a/Common/PlanMilestoneStatusEvent.metaed b/Common/PlanMilestoneStatusEvent.metaed new file mode 100644 index 0000000..e883bf7 --- /dev/null +++ b/Common/PlanMilestoneStatusEvent.metaed @@ -0,0 +1,11 @@ +Common PlanMilestoneStatusEvent + documentation "An event recongnizing the change in status for the milestone" + descriptor PlanMilestoneStatus + documentation "The student's status associated with the plan milestone." + is part of identity + date PlanMilestoneStatusDate + documentation "The month, day and year associated with the change in the plan milestone status." + is part of identity + shared string EdFi.Description + documentation "Additional information associated with the milestone status achieved." + is optional \ No newline at end of file diff --git a/Common/PlanPhaseStatusEvent.metaed b/Common/PlanPhaseStatusEvent.metaed new file mode 100644 index 0000000..878e72a --- /dev/null +++ b/Common/PlanPhaseStatusEvent.metaed @@ -0,0 +1,8 @@ +Common PlanPhaseStatusEvent + documentation "An event recongnizing the change in status for the phase" + descriptor PlanPhaseStatus + documentation "The student's status associated with entering or completing the phase" + is part of identity + date PlanPhaseStatusDate + documentation "The month, day and year on which the status was achieved for the phase" + is part of identity diff --git a/Descriptor/OldEthnicity.metaed b/Descriptor/OldEthnicity.metaed new file mode 100644 index 0000000..cf8adac --- /dev/null +++ b/Descriptor/OldEthnicity.metaed @@ -0,0 +1,3 @@ +Descriptor OldEthnicity + deprecated "Users of this element are advised to use Race and HispanicLatinoEthnicity instead. Expect removal of this element in a future release." + documentation "Previous definition of Ethnicity combining Hispanic/Latino and Race." \ No newline at end of file diff --git a/Descriptor/PlanMilestoneStatus.metaed b/Descriptor/PlanMilestoneStatus.metaed new file mode 100644 index 0000000..709e45c --- /dev/null +++ b/Descriptor/PlanMilestoneStatus.metaed @@ -0,0 +1,3 @@ +Descriptor PlanMilestoneStatus + documentation "The student's status associated with the plan milestone." + diff --git a/Descriptor/PlanMilestoneType.metaed b/Descriptor/PlanMilestoneType.metaed new file mode 100644 index 0000000..54bb447 --- /dev/null +++ b/Descriptor/PlanMilestoneType.metaed @@ -0,0 +1,2 @@ +Descriptor PlanMilestoneType + documentation "The type of milestone defined for the student's plan." diff --git a/Descriptor/PlanPhaseStatus.metaed b/Descriptor/PlanPhaseStatus.metaed new file mode 100644 index 0000000..4c8d640 --- /dev/null +++ b/Descriptor/PlanPhaseStatus.metaed @@ -0,0 +1,2 @@ +Descriptor PlanPhaseStatus + documentation "The student's status associated with entering or completing the phase." diff --git a/DomainEntity/Candidate.metaed b/DomainEntity/Candidate.metaed index 436af78..80e6ef8 100644 --- a/DomainEntity/Candidate.metaed +++ b/DomainEntity/Candidate.metaed @@ -36,7 +36,7 @@ Domain Entity Candidate bool HispanicLatinoEthnicity documentation "An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race. The term, ""Spanish origin,"" can be used in addition to ""Hispanic or Latino.""" is optional - descriptor EdFi.OldEthnicity + descriptor OldEthnicity documentation "Previous definition of Ethnicity combining Hispanic/Latino and race: 1 - American Indian or Alaskan Native 2 - Asian or Pacific Islander 3 - Black, not of Hispanic origin 4 - Hispanic 5 - White, not of Hispanic origin." is optional descriptor EdFi.Race diff --git a/DomainEntity/CertificationExamResult.metaed b/DomainEntity/CertificationExamResult.metaed index 9ddaf1b..fc12010 100644 --- a/DomainEntity/CertificationExamResult.metaed +++ b/DomainEntity/CertificationExamResult.metaed @@ -21,3 +21,7 @@ Domain Entity CertificationExamResult descriptor CertificationExamStatus documentation "The status of the Certification Exam attempt." is optional + domain entity EdFi.StudentAssessment + documentation "Reference to a detailed result for Assessment taken by a student." + is optional + role name CertificationExam diff --git a/DomainEntity/Plan.metaed b/DomainEntity/Plan.metaed new file mode 100644 index 0000000..877c072 --- /dev/null +++ b/DomainEntity/Plan.metaed @@ -0,0 +1,11 @@ +Domain Entity Plan + documentation "A scheme for achieving milestones organized by phases for students to follow and be tracked against." + domain entity EdFi.EducationOrganization + documentation "A reference to the Education Organization associated with the plan." + is part of identity + shared string PlanName + documentation "The name of the plan." + is part of identity + domain entity EdFi.GraduationPlan + documentation "The graduation plan associated with this plan." + is optional diff --git a/DomainEntity/PlanMilestone.metaed b/DomainEntity/PlanMilestone.metaed new file mode 100644 index 0000000..0669782 --- /dev/null +++ b/DomainEntity/PlanMilestone.metaed @@ -0,0 +1,15 @@ +Domain Entity PlanMilestone + documentation "A significant event or achievement as part of a plan." + shared string PlanMilestoneName + documentation "The descriptive name of the milestone." + is part of identity + descriptor PlanMilestoneType + documentation "The type of milestone defined for the student's plan." + is part of identity + shared string PlanMilestoneCode + documentation "The code or identifier associated with an element associated with the plan milestone (e.g., course, certification, etc)" + is optional + shared string EdFi.Description + documentation "Additional information describing the plan's milestone to be achieved." + is optional + role name PlanMilestone diff --git a/DomainEntity/PlanPhase.metaed b/DomainEntity/PlanPhase.metaed new file mode 100644 index 0000000..2978d1a --- /dev/null +++ b/DomainEntity/PlanPhase.metaed @@ -0,0 +1,19 @@ +Domain Entity PlanPhase + documentation "A stage in the process of a student achieving milestones." + domain entity Plan + documentation "A reference to the plan associated with the phase." + is part of identity + shared string PlanPhaseName + documentation "The name of the phase associated with the plan." + is part of identity + integer PlanPhaseSequence + documentation "Indicates the number in order, starting with 1, that the phases are organized into." + is optional + shared string EdFi.Description + documentation "Additional information describing the plan's phase" + is optional + role name PhasePlan + domain entity PlanMilestone + documentation "A reference to the plan milestones associated with this phase" + is optional collection + role name PlanPhasePlan \ No newline at end of file diff --git a/DomainEntity/StudentPlan.metaed b/DomainEntity/StudentPlan.metaed new file mode 100644 index 0000000..bb64264 --- /dev/null +++ b/DomainEntity/StudentPlan.metaed @@ -0,0 +1,11 @@ +Domain Entity StudentPlan + documentation "The entity representing the association or assignment of the student to the plan being pursued." + domain entity EdFi.Student + documentation "A reference to the student associated with the plan." + is part of identity + domain entity Plan + documentation "A reference to the plan associated with or assigned to the student." + is part of identity + common EdFi.Period + documentation "The time periods for which the student was assigned and pursing the plan." + is optional collection diff --git a/DomainEntity/StudentPlanMilestoneStatus.metaed b/DomainEntity/StudentPlanMilestoneStatus.metaed new file mode 100644 index 0000000..2069c63 --- /dev/null +++ b/DomainEntity/StudentPlanMilestoneStatus.metaed @@ -0,0 +1,18 @@ +Domain Entity StudentPlanMilestoneStatus + documentation "The status of the student's achievement of the plan milestone." + domain entity StudentPlan + documentation "A reference to the student's plan assignment or association." + is part of identity + merge StudentPlan.Plan.PlanName with PlanPhase.Plan.PlanName + domain entity PlanMilestone + documentation "A reference to the PlanMilestone against which the status is being recorded." + is part of identity + bool CompletionIndicator + documentation "Indicator on whether the student has completed the plan milestone." + is optional + common PlanMilestoneStatusEvent + documentation "The student's milestone status and the date of the status change." + is optional collection + domain entity PlanPhase + documentation "The phase in time when the milestone status was achieved." + is optional \ No newline at end of file diff --git a/DomainEntity/StudentPlanPhaseStatus.metaed b/DomainEntity/StudentPlanPhaseStatus.metaed new file mode 100644 index 0000000..a066745 --- /dev/null +++ b/DomainEntity/StudentPlanPhaseStatus.metaed @@ -0,0 +1,18 @@ +Domain Entity StudentPlanPhaseStatus + documentation "The status of the student's association with the plan's phase." + domain entity StudentPlan + documentation "A reference to the student's plan assignment or association." + is part of identity + merge StudentPlan.Plan.PlanName with PlanPhase.Plan.PlanName + domain entity PlanPhase + documentation "A reference to the phase in time associated with the status." + is part of identity + bool CompletionIndicator + documentation "Indicator on whether the student has completed the phase associated with the plan." + is optional + common PlanPhaseStatusEvent + documentation "The student's phase status and the date of the status change." + is optional collection + common EdFi.Period + documentation "The time periods associated with the phase status." + is optional collection diff --git a/Interchange/Candidate.metaed b/Interchange/Candidate.metaed index 43fb0de..70e4348 100644 --- a/Interchange/Candidate.metaed +++ b/Interchange/Candidate.metaed @@ -18,6 +18,7 @@ Interchange Candidate association CandidateRelationshipToStaffAssociation association CandidateEducatorPreparationProgramAssociation association EdFi.StudentSchoolAssociation + association EdFi.StudentSectionAssociation association EdFi.StudentEducationOrganizationAssociation association EdFi.StudentEducationOrganizationResponsibilityAssociation association FieldworkExperienceSectionAssociation diff --git a/Interchange/Plan.metaed b/Interchange/Plan.metaed new file mode 100644 index 0000000..3bd1d93 --- /dev/null +++ b/Interchange/Plan.metaed @@ -0,0 +1,11 @@ +Interchange Plan + + documentation "This interchange defines Plans and all their identifying information" + + domain entity EdFi.Student + domain entity Plan + domain entity PlanMilestone + domain entity PlanPhase + domain entity StudentPlan + domain entity StudentPlanMilestoneStatus + domain entity StudentPlanPhaseStatus diff --git a/Interchange/Survey.metaed b/Interchange/Survey.metaed new file mode 100644 index 0000000..b0d7f31 --- /dev/null +++ b/Interchange/Survey.metaed @@ -0,0 +1,4 @@ +Interchange EdFi.Survey additions + + association SurveyResponsePersonTargetAssociation + association SurveySectionResponsePersonTargetAssociation \ No newline at end of file diff --git a/Shared/MilestoneStatusDescription.metaed b/Shared/MilestoneStatusDescription.metaed new file mode 100644 index 0000000..8c3d447 --- /dev/null +++ b/Shared/MilestoneStatusDescription.metaed @@ -0,0 +1,4 @@ +Shared String MilestoneStatusDescription + documentation "Additional information associated with the milestone status achieved." + min length 0 + max length 60 diff --git a/Shared/PlanMilestoneCode.metaed b/Shared/PlanMilestoneCode.metaed new file mode 100644 index 0000000..f784667 --- /dev/null +++ b/Shared/PlanMilestoneCode.metaed @@ -0,0 +1,4 @@ +Shared String PlanMilestoneCode + documentation "The code or identifier associated with an element associated with the plan milestone (e.g., course, certification, etc)" + min length 1 + max length 60 diff --git a/Shared/PlanMilestoneName.metaed b/Shared/PlanMilestoneName.metaed new file mode 100644 index 0000000..059724f --- /dev/null +++ b/Shared/PlanMilestoneName.metaed @@ -0,0 +1,4 @@ +Shared String PlanMilestoneName + documentation "The name for the milestone" + min length 0 + max length 60 \ No newline at end of file diff --git a/Shared/PlanName.metaed b/Shared/PlanName.metaed new file mode 100644 index 0000000..c337040 --- /dev/null +++ b/Shared/PlanName.metaed @@ -0,0 +1,4 @@ +Shared String PlanName + documentation "The name for the plan associated with plan milestones" + min length 0 + max length 60 \ No newline at end of file diff --git a/Shared/PlanPaseName.metaed b/Shared/PlanPaseName.metaed new file mode 100644 index 0000000..c39c1bd --- /dev/null +++ b/Shared/PlanPaseName.metaed @@ -0,0 +1,4 @@ +Shared String PlanPhaseName + documentation "The name for the plan associated with plan milestones" + min length 0 + max length 60 \ No newline at end of file diff --git a/package.json b/package.json index a4f8486..3a50435 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,6 @@ "description": "TPDM-Community", "metaEdProject": { "projectName": "TPDM", - "projectVersion": "1.1.0" + "projectVersion": "1.2.0" } }