From 62c40e46e966e9c592db007e5afba259d71c7d5e Mon Sep 17 00:00:00 2001
From: semalaiappan <34613894+semalaiappan@users.noreply.github.com>
Date: Mon, 23 Oct 2023 13:24:57 -0500
Subject: [PATCH] [ODS-6044] Integrate latest 5.0 Data Standard Work - Set 1
(#856)
---
.../5.0.0/Artifacts/Metadata/ApiModel.json | 3700 +++++++++++++----
.../Metadata/DatabaseViews.generated.json | 2 +-
.../MsSql/Structure/Ods/0020-Tables.sql | 168 +-
.../MsSql/Structure/Ods/0030-ForeignKeys.sql | 147 +-
.../Structure/Ods/0050-ExtendedProperties.sql | 166 +-
.../0200-CreateTrackedChangeTables.sql | 16 +-
...eTriggersForChangeVersionAndKeyChanges.sql | 10 +-
.../0220-CreateTriggersForDeleteTracking.sql | 58 +-
.../PgSql/Structure/Ods/0020-Tables.sql | 123 +-
.../PgSql/Structure/Ods/0030-ForeignKeys.sql | 141 +-
.../Structure/Ods/0050-ExtendedProperties.sql | 119 +-
.../0200-CreateTrackedChangeTables.sql | 16 +-
...eTriggersForChangeVersionAndKeyChanges.sql | 10 +-
.../0220-CreateTriggersForDeleteTracking.sql | 50 +-
.../5.0.0/Artifacts/Schemas/Ed-Fi-Core.xsd | 156 +-
.../Schemas/Interchange-Descriptors.xsd | 2 +
.../Artifacts/Schemas/SchemaAnnotation.xsd | 2 +
Application/EdFi.Ods.Standard/versionmap.json | 4 +-
...Deletes Test Suite.postman_collection.json | 8 +-
...AuthorizationTests.postman_collection.json | 20 +-
...nership Test Suite.postman_collection.json | 11 +-
...sourceClaimMetadata_generated.approved.sql | 18 +
...sourceClaimMetadata_generated.approved.sql | 10 +
...trollers_Controllers.generated.approved.cs | 76 +-
...tityOrmMappings.generated.hbm.approved.xml | 255 +-
...pingsForQueries.generated.hbm.approved.xml | 319 +-
...tityOrmMappings.generated.hbm.approved.xml | 255 +-
...pingsForQueries.generated.hbm.approved.xml | 319 +-
...ing_DatabaseMetadata.generated.approved.cs | 66 +-
...ls_Entities_Entities.generated.approved.cs | 1720 +++++++-
...s_EntitiesForQueries.generated.approved.cs | 267 +-
...ces_EntityInterfaces.generated.approved.cs | 432 +-
...Mappers_EntityMapper.generated.approved.cs | 770 +++-
...ateOrUpdatePipelines.generated.approved.cs | 12 +
....0_Requests_Requests.generated.approved.cs | 108 +-
..._Resources_Resources.generated.approved.cs | 3101 ++++++++++++--
...tionContextProviders.generated.approved.cs | 2 +
...Tests.Should_Get_Dependencies.approved.txt | 16 +
...ould_Get_Dependencies_GraphML.approved.txt | 9 +
39 files changed, 10694 insertions(+), 1990 deletions(-)
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/ApiModel.json b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/ApiModel.json
index 343e5b7f50..515fdc5226 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/ApiModel.json
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/ApiModel.json
@@ -960,6 +960,14 @@
{
"schema": "edfi",
"name": "CourseTranscriptPartialCourseTranscriptAwards"
+ },
+ {
+ "schema": "edfi",
+ "name": "CourseTranscriptProgram"
+ },
+ {
+ "schema": "edfi",
+ "name": "CourseTranscriptSection"
}
]
},
@@ -3507,6 +3515,18 @@
}
]
},
+ {
+ "aggregateRootEntityName": {
+ "schema": "edfi",
+ "name": "SectionTypeDescriptor"
+ },
+ "aggregateEntityNames": [
+ {
+ "schema": "edfi",
+ "name": "SectionTypeDescriptor"
+ }
+ ]
+ },
{
"aggregateRootEntityName": {
"schema": "edfi",
@@ -4484,6 +4504,10 @@
{
"schema": "edfi",
"name": "StudentSectionAssociation"
+ },
+ {
+ "schema": "edfi",
+ "name": "StudentSectionAssociationProgram"
}
]
},
@@ -4575,6 +4599,18 @@
}
]
},
+ {
+ "aggregateRootEntityName": {
+ "schema": "edfi",
+ "name": "SupporterMilitaryConnectionDescriptor"
+ },
+ "aggregateEntityNames": [
+ {
+ "schema": "edfi",
+ "name": "SupporterMilitaryConnectionDescriptor"
+ }
+ ]
+ },
{
"aggregateRootEntityName": {
"schema": "edfi",
@@ -9714,6 +9750,24 @@
"postgreSql": "FirstName"
}
},
+ {
+ "propertyName": "GenderIdentity",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "The gender the contact identifies themselves as.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GenderIdentity",
+ "postgreSql": "GenderIdentity"
+ }
+ },
{
"propertyName": "GenerationCodeSuffix",
"propertyType": {
@@ -12888,6 +12942,110 @@
"postgreSql": "CourseTranscriptPartialCourseTranscriptAwards"
}
},
+ {
+ "schema": "edfi",
+ "name": "CourseTranscriptProgram",
+ "locallyDefinedProperties": [
+ {
+ "propertyName": "CreateDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "CourseTranscriptProgram_PK",
+ "identifyingPropertyNames": [
+ "CourseAttemptResultDescriptorId",
+ "CourseCode",
+ "CourseEducationOrganizationId",
+ "EducationOrganizationId",
+ "SchoolYear",
+ "StudentUSI",
+ "TermDescriptorId",
+ "ProgramName",
+ "ProgramTypeDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "CourseTranscriptProgram_PK",
+ "postgreSql": "CourseTranscriptProgram_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "The program(s) that the student participated in the context of the course.",
+ "tableNames": {
+ "sqlServer": "CourseTranscriptProgram",
+ "postgreSql": "CourseTranscriptProgram"
+ }
+ },
+ {
+ "schema": "edfi",
+ "name": "CourseTranscriptSection",
+ "locallyDefinedProperties": [
+ {
+ "propertyName": "CreateDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "CourseTranscriptSection_PK",
+ "identifyingPropertyNames": [
+ "CourseAttemptResultDescriptorId",
+ "CourseCode",
+ "CourseEducationOrganizationId",
+ "EducationOrganizationId",
+ "SchoolYear",
+ "StudentUSI",
+ "TermDescriptorId",
+ "LocalCourseCode",
+ "SchoolId",
+ "SectionIdentifier",
+ "SessionName"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "CourseTranscriptSection_PK",
+ "postgreSql": "CourseTranscriptSection_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "The section(s) associated with the course transcript.",
+ "tableNames": {
+ "sqlServer": "CourseTranscriptSection",
+ "postgreSql": "CourseTranscriptSection"
+ }
+ },
{
"schema": "edfi",
"name": "Credential",
@@ -18421,7 +18579,7 @@
"BeginDate",
"GradeTypeDescriptorId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolYear",
"LocalCourseCode",
"SchoolId",
@@ -18860,7 +19018,7 @@
"BeginDate",
"GradeTypeDescriptorId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolYear",
"LocalCourseCode",
"SchoolId",
@@ -19017,6 +19175,24 @@
"postgreSql": "EndDate"
}
},
+ {
+ "propertyName": "GradingPeriodName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The school's descriptive name of the grading period.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
+ }
+ },
{
"propertyName": "Id",
"propertyType": {
@@ -19058,10 +19234,10 @@
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": false
+ "isNullable": true
},
"description": "The sequential order of this period relative to other periods.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
"sqlServer": "PeriodSequence",
@@ -19092,7 +19268,7 @@
"identifierName": "GradingPeriod_PK",
"identifyingPropertyNames": [
"GradingPeriodDescriptorId",
- "PeriodSequence",
+ "GradingPeriodName",
"SchoolId",
"SchoolYear"
],
@@ -19142,7 +19318,7 @@
}
],
"isAbstract": false,
- "description": "This descriptor defines the name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.",
+ "description": "This descriptor defines the state's name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.",
"tableNames": {
"sqlServer": "GradingPeriodDescriptor",
"postgreSql": "GradingPeriodDescriptor"
@@ -28420,7 +28596,7 @@
"identifyingPropertyNames": [
"EducationOrganizationId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"StudentUSI"
@@ -28480,7 +28656,7 @@
"identifyingPropertyNames": [
"EducationOrganizationId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"StudentUSI",
@@ -28589,7 +28765,7 @@
"identifyingPropertyNames": [
"EducationOrganizationId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"StudentUSI",
@@ -28638,7 +28814,7 @@
"identifyingPropertyNames": [
"EducationOrganizationId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"StudentUSI",
@@ -29314,7 +29490,7 @@
}
],
"isAbstract": false,
- "description": "The type of education institution as classified by its primary focus.",
+ "description": "The type of education institution as classified by its primary focus such as Alternative, Career and Technical Education, Regular, or Special Education schools.",
"tableNames": {
"sqlServer": "SchoolTypeDescriptor",
"postgreSql": "SchoolTypeDescriptor"
@@ -30043,6 +30219,31 @@
"postgreSql": "SectionProgram"
}
},
+ {
+ "schema": "edfi",
+ "name": "SectionTypeDescriptor",
+ "locallyDefinedProperties": [],
+ "identifiers": [
+ {
+ "identifierName": "SectionTypeDescriptor_PK",
+ "identifyingPropertyNames": [
+ "SectionTypeDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "SectionTypeDescriptor_PK",
+ "postgreSql": "SectionTypeDescriptor_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Specifies whether the section is for attendance only, credit only, or both.",
+ "tableNames": {
+ "sqlServer": "SectionTypeDescriptor",
+ "postgreSql": "SectionTypeDescriptor"
+ }
+ },
{
"schema": "edfi",
"name": "SeparationDescriptor",
@@ -30275,7 +30476,7 @@
}
],
"isAbstract": false,
- "description": "A term in the school year, generally a unit of time into which courses are scheduled, instruction occurs and by which credits are awarded. Sessions may be interrupted by vacations or other events.",
+ "description": "A specific designated unit of time during which instruction is provided, grades are reported and academic credits are awarded to students (whenever applicable). Sessions serve as organized segments of the academic year and can be interrupted by vacations or other events.",
"tableNames": {
"sqlServer": "Session",
"postgreSql": "Session"
@@ -30357,7 +30558,7 @@
"SchoolYear",
"SessionName",
"GradingPeriodDescriptorId",
- "PeriodSequence"
+ "GradingPeriodName"
],
"isPrimary": true,
"isUpdatable": false,
@@ -30721,6 +30922,24 @@
"postgreSql": "FirstName"
}
},
+ {
+ "propertyName": "GenderIdentity",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "The gender the staff member identifies themselves as.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GenderIdentity",
+ "postgreSql": "GenderIdentity"
+ }
+ },
{
"propertyName": "GenerationCodeSuffix",
"propertyType": {
@@ -32678,6 +32897,24 @@
"schema": "edfi",
"name": "StaffEducationOrganizationEmploymentAssociation",
"locallyDefinedProperties": [
+ {
+ "propertyName": "AnnualWage",
+ "propertyType": {
+ "dbType": "Currency",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 19,
+ "scale": 4,
+ "isNullable": true
+ },
+ "description": "Annual wage associated with the employment position being reported.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AnnualWage",
+ "postgreSql": "AnnualWage"
+ }
+ },
{
"propertyName": "CreateDate",
"propertyType": {
@@ -36729,7 +36966,7 @@
"StudentUSI",
"TermDescriptorId",
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear"
],
@@ -37970,7 +38207,7 @@
"identifierName": "StudentCompetencyObjective_PK",
"identifyingPropertyNames": [
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"ObjectiveEducationOrganizationId",
@@ -38032,7 +38269,7 @@
"identifierName": "StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK",
"identifyingPropertyNames": [
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"ObjectiveEducationOrganizationId",
@@ -38087,7 +38324,7 @@
"identifierName": "StudentCompetencyObjectiveStudentSectionAssociation_PK",
"identifyingPropertyNames": [
"GradingPeriodDescriptorId",
- "GradingPeriodSequence",
+ "GradingPeriodName",
"GradingPeriodSchoolId",
"GradingPeriodSchoolYear",
"ObjectiveEducationOrganizationId",
@@ -38816,6 +39053,24 @@
"postgreSql": "CreateDate"
}
},
+ {
+ "propertyName": "GenderIdentity",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "The student's gender as last reported to the education organization.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GenderIdentity",
+ "postgreSql": "GenderIdentity"
+ }
+ },
{
"propertyName": "HispanicLatinoEthnicity",
"propertyType": {
@@ -43969,6 +44224,58 @@
"postgreSql": "StudentSectionAssociation"
}
},
+ {
+ "schema": "edfi",
+ "name": "StudentSectionAssociationProgram",
+ "locallyDefinedProperties": [
+ {
+ "propertyName": "CreateDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "StudentSectionAssociationProgram_PK",
+ "identifyingPropertyNames": [
+ "BeginDate",
+ "LocalCourseCode",
+ "SchoolId",
+ "SchoolYear",
+ "SectionIdentifier",
+ "SessionName",
+ "StudentUSI",
+ "EducationOrganizationId",
+ "ProgramName",
+ "ProgramTypeDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "StudentSectionAssociationProgram_PK",
+ "postgreSql": "StudentSectionAssociationProgram_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "The program(s) that the student is participating in the context of the course.",
+ "tableNames": {
+ "sqlServer": "StudentSectionAssociationProgram",
+ "postgreSql": "StudentSectionAssociationProgram"
+ }
+ },
{
"schema": "edfi",
"name": "StudentSectionAttendanceEvent",
@@ -45281,6 +45588,31 @@
"postgreSql": "SubmissionStatusDescriptor"
}
},
+ {
+ "schema": "edfi",
+ "name": "SupporterMilitaryConnectionDescriptor",
+ "locallyDefinedProperties": [],
+ "identifiers": [
+ {
+ "identifierName": "SupporterMilitaryConnectionDescriptor_PK",
+ "identifyingPropertyNames": [
+ "SupporterMilitaryConnectionDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "SupporterMilitaryConnectionDescriptor_PK",
+ "postgreSql": "SupporterMilitaryConnectionDescriptor_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Military connection of the person/people whom the student is a dependent of.",
+ "tableNames": {
+ "sqlServer": "SupporterMilitaryConnectionDescriptor",
+ "postgreSql": "SupporterMilitaryConnectionDescriptor"
+ }
+ },
{
"schema": "edfi",
"name": "Survey",
@@ -47432,7 +47764,7 @@
}
],
"isAbstract": false,
- "description": "This descriptor defines the term of a session during the school year (e.g., Semester).",
+ "description": "A distinct period of time into which the academic year is divided. These could be “semesters”, “trimesters” or “quarters”, depending on the school or district’s academic calendar.",
"tableNames": {
"sqlServer": "TermDescriptor",
"postgreSql": "TermDescriptor"
@@ -62108,6 +62440,66 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscript_Staff"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Staff"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "StaffUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a staff.",
+ "isIdentifying": false,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "StaffUSI",
+ "postgreSql": "StaffUSI"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscript"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "ResponsibleTeacherStaffUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "A unique alphanumeric code assigned to a staff.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ResponsibleTeacherStaffUSI",
+ "postgreSql": "ResponsibleTeacherStaffUSI"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscript_Staff",
+ "postgreSql": "FK_6acf2b_Staff"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
@@ -62265,75 +62657,667 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscript_StudentAcademicRecord",
- "postgreSql": "FK_6acf2b_StudentAcademicRecord"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_CourseTranscriptAcademicSubject_AcademicSubjectDescriptor"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "AcademicSubjectDescriptor"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "AcademicSubjectDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AcademicSubjectDescriptorId",
- "postgreSql": "AcademicSubjectDescriptorId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "CourseTranscriptAcademicSubject"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "AcademicSubjectDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The subject area for the course transcript credits awarded in the course transcript.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AcademicSubjectDescriptorId",
- "postgreSql": "AcademicSubjectDescriptorId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_CourseTranscriptAcademicSubject_AcademicSubjectDescriptor",
- "postgreSql": "FK_354642_AcademicSubjectDescriptor"
+ "sqlServer": "FK_CourseTranscript_StudentAcademicRecord",
+ "postgreSql": "FK_6acf2b_StudentAcademicRecord"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscriptAcademicSubject_AcademicSubjectDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AcademicSubjectDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "AcademicSubjectDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AcademicSubjectDescriptorId",
+ "postgreSql": "AcademicSubjectDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptAcademicSubject"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "AcademicSubjectDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The subject area for the course transcript credits awarded in the course transcript.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AcademicSubjectDescriptorId",
+ "postgreSql": "AcademicSubjectDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptAcademicSubject_AcademicSubjectDescriptor",
+ "postgreSql": "FK_354642_AcademicSubjectDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscriptAcademicSubject_CourseTranscript"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscript"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "CourseAttemptResultDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The result from the student's attempt to take the course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseAttemptResultDescriptorId",
+ "postgreSql": "CourseAttemptResultDescriptorId"
+ }
+ },
+ {
+ "propertyName": "CourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseCode",
+ "postgreSql": "CourseCode"
+ }
+ },
+ {
+ "propertyName": "CourseEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseEducationOrganizationId",
+ "postgreSql": "CourseEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ },
+ {
+ "propertyName": "TermDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The term for the session during the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "TermDescriptorId",
+ "postgreSql": "TermDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptAcademicSubject"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "CourseAttemptResultDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The result from the student's attempt to take the course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseAttemptResultDescriptorId",
+ "postgreSql": "CourseAttemptResultDescriptorId"
+ }
+ },
+ {
+ "propertyName": "CourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseCode",
+ "postgreSql": "CourseCode"
+ }
+ },
+ {
+ "propertyName": "CourseEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseEducationOrganizationId",
+ "postgreSql": "CourseEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ },
+ {
+ "propertyName": "TermDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The term for the session during the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "TermDescriptorId",
+ "postgreSql": "TermDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptAcademicSubject_CourseTranscript",
+ "postgreSql": "FK_354642_CourseTranscript"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseIdentificationSystemDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseIdentificationSystemDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "CourseIdentificationSystemDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseIdentificationSystemDescriptorId",
+ "postgreSql": "CourseIdentificationSystemDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptAlternativeCourseIdentificationCode"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "CourseIdentificationSystemDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A system that is used to identify the organization of subject matter and related learning experiences provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseIdentificationSystemDescriptorId",
+ "postgreSql": "CourseIdentificationSystemDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseIdentificationSystemDescriptor",
+ "postgreSql": "FK_6621ee_CourseIdentificationSystemDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseTranscript"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscript"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "CourseAttemptResultDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The result from the student's attempt to take the course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseAttemptResultDescriptorId",
+ "postgreSql": "CourseAttemptResultDescriptorId"
+ }
+ },
+ {
+ "propertyName": "CourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseCode",
+ "postgreSql": "CourseCode"
+ }
+ },
+ {
+ "propertyName": "CourseEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseEducationOrganizationId",
+ "postgreSql": "CourseEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ },
+ {
+ "propertyName": "TermDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The term for the session during the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "TermDescriptorId",
+ "postgreSql": "TermDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptAlternativeCourseIdentificationCode"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "CourseAttemptResultDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The result from the student's attempt to take the course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseAttemptResultDescriptorId",
+ "postgreSql": "CourseAttemptResultDescriptorId"
+ }
+ },
+ {
+ "propertyName": "CourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseCode",
+ "postgreSql": "CourseCode"
+ }
+ },
+ {
+ "propertyName": "CourseEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseEducationOrganizationId",
+ "postgreSql": "CourseEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ },
+ {
+ "propertyName": "TermDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The term for the session during the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "TermDescriptorId",
+ "postgreSql": "TermDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseTranscript",
+ "postgreSql": "FK_6621ee_CourseTranscript"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptAcademicSubject_CourseTranscript"
+ "name": "FK_CourseTranscriptCreditCategory_CourseTranscript"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -62464,7 +63448,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptAcademicSubject"
+ "name": "CourseTranscriptCreditCategory"
},
"secondaryEntityProperties": [
{
@@ -62591,24 +63575,24 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptAcademicSubject_CourseTranscript",
- "postgreSql": "FK_354642_CourseTranscript"
+ "sqlServer": "FK_CourseTranscriptCreditCategory_CourseTranscript",
+ "postgreSql": "FK_ab7096_CourseTranscript"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseIdentificationSystemDescriptor"
+ "name": "FK_CourseTranscriptCreditCategory_CreditCategoryDescriptor"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "CourseIdentificationSystemDescriptor"
+ "name": "CreditCategoryDescriptor"
},
"primaryEntityProperties": [
{
- "propertyName": "CourseIdentificationSystemDescriptorId",
+ "propertyName": "CreditCategoryDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -62620,18 +63604,18 @@
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "CourseIdentificationSystemDescriptorId",
- "postgreSql": "CourseIdentificationSystemDescriptorId"
+ "sqlServer": "CreditCategoryDescriptorId",
+ "postgreSql": "CreditCategoryDescriptorId"
}
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptAlternativeCourseIdentificationCode"
+ "name": "CourseTranscriptCreditCategory"
},
"secondaryEntityProperties": [
{
- "propertyName": "CourseIdentificationSystemDescriptorId",
+ "propertyName": "CreditCategoryDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -62639,122 +63623,36 @@
"scale": 0,
"isNullable": false
},
- "description": "A system that is used to identify the organization of subject matter and related learning experiences provided for the instruction of students.",
+ "description": "A categorization for the course transcript credits awarded in the course transcript.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "CourseIdentificationSystemDescriptorId",
- "postgreSql": "CourseIdentificationSystemDescriptorId"
+ "sqlServer": "CreditCategoryDescriptorId",
+ "postgreSql": "CreditCategoryDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseIdentificationSystemDescriptor",
- "postgreSql": "FK_6621ee_CourseIdentificationSystemDescriptor"
+ "sqlServer": "FK_CourseTranscriptCreditCategory_CreditCategoryDescriptor",
+ "postgreSql": "FK_ab7096_CreditCategoryDescriptor"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseTranscript"
+ "name": "FK_CourseTranscriptEarnedAdditionalCredits_AdditionalCreditTypeDescriptor"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscript"
+ "name": "AdditionalCreditTypeDescriptor"
},
"primaryEntityProperties": [
{
- "propertyName": "CourseAttemptResultDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The result from the student's attempt to take the course.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "CourseAttemptResultDescriptorId",
- "postgreSql": "CourseAttemptResultDescriptorId"
- }
- },
- {
- "propertyName": "CourseCode",
- "propertyType": {
- "dbType": "String",
- "minLength": 1,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique alphanumeric code assigned to a course.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "CourseCode",
- "postgreSql": "CourseCode"
- }
- },
- {
- "propertyName": "CourseEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "CourseEducationOrganizationId",
- "postgreSql": "CourseEducationOrganizationId"
- }
- },
- {
- "propertyName": "EducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "EducationOrganizationId",
- "postgreSql": "EducationOrganizationId"
- }
- },
- {
- "propertyName": "SchoolYear",
- "propertyType": {
- "dbType": "Int16",
- "maxLength": 0,
- "precision": 5,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier for the school year.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SchoolYear",
- "postgreSql": "SchoolYear"
- }
- },
- {
- "propertyName": "StudentUSI",
+ "propertyName": "AdditionalCreditTypeDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -62762,16 +63660,22 @@
"scale": 0,
"isNullable": false
},
- "description": "A unique alphanumeric code assigned to a student.",
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "StudentUSI",
- "postgreSql": "StudentUSI"
+ "sqlServer": "AdditionalCreditTypeDescriptorId",
+ "postgreSql": "AdditionalCreditTypeDescriptorId"
}
- },
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptEarnedAdditionalCredits"
+ },
+ "secondaryEntityProperties": [
{
- "propertyName": "TermDescriptorId",
+ "propertyName": "AdditionalCreditTypeDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -62779,20 +63683,34 @@
"scale": 0,
"isNullable": false
},
- "description": "The term for the session during the school year.",
+ "description": "The type of credits or units of value awarded for the completion of a course.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "TermDescriptorId",
- "postgreSql": "TermDescriptorId"
+ "sqlServer": "AdditionalCreditTypeDescriptorId",
+ "postgreSql": "AdditionalCreditTypeDescriptorId"
}
}
],
- "secondaryEntityFullName": {
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptEarnedAdditionalCredits_AdditionalCreditTypeDescriptor",
+ "postgreSql": "FK_b50e36_AdditionalCreditTypeDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
"schema": "edfi",
- "name": "CourseTranscriptAlternativeCourseIdentificationCode"
+ "name": "FK_CourseTranscriptEarnedAdditionalCredits_CourseTranscript"
},
- "secondaryEntityProperties": [
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscript"
+ },
+ "primaryEntityProperties": [
{
"propertyName": "CourseAttemptResultDescriptorId",
"propertyType": {
@@ -62914,25 +63832,11 @@
}
}
],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_CourseTranscriptAlternativeCourseIdentificationCode_CourseTranscript",
- "postgreSql": "FK_6621ee_CourseTranscript"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_CourseTranscriptCreditCategory_CourseTranscript"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
+ "secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscript"
+ "name": "CourseTranscriptEarnedAdditionalCredits"
},
- "primaryEntityProperties": [
+ "secondaryEntityProperties": [
{
"propertyName": "CourseAttemptResultDescriptorId",
"propertyType": {
@@ -63054,11 +63958,25 @@
}
}
],
- "secondaryEntityFullName": {
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptEarnedAdditionalCredits_CourseTranscript",
+ "postgreSql": "FK_b50e36_CourseTranscript"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
"schema": "edfi",
- "name": "CourseTranscriptCreditCategory"
+ "name": "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript"
},
- "secondaryEntityProperties": [
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscript"
+ },
+ "primaryEntityProperties": [
{
"propertyName": "CourseAttemptResultDescriptorId",
"propertyType": {
@@ -63180,27 +64098,13 @@
}
}
],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_CourseTranscriptCreditCategory_CourseTranscript",
- "postgreSql": "FK_ab7096_CourseTranscript"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_CourseTranscriptCreditCategory_CreditCategoryDescriptor"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
+ "secondaryEntityFullName": {
"schema": "edfi",
- "name": "CreditCategoryDescriptor"
+ "name": "CourseTranscriptPartialCourseTranscriptAwards"
},
- "primaryEntityProperties": [
+ "secondaryEntityProperties": [
{
- "propertyName": "CreditCategoryDescriptorId",
+ "propertyName": "CourseAttemptResultDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -63208,22 +64112,85 @@
"scale": 0,
"isNullable": false
},
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "description": "The result from the student's attempt to take the course.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "CreditCategoryDescriptorId",
- "postgreSql": "CreditCategoryDescriptorId"
+ "sqlServer": "CourseAttemptResultDescriptorId",
+ "postgreSql": "CourseAttemptResultDescriptorId"
}
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "CourseTranscriptCreditCategory"
- },
- "secondaryEntityProperties": [
+ },
{
- "propertyName": "CreditCategoryDescriptorId",
+ "propertyName": "CourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a course.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseCode",
+ "postgreSql": "CourseCode"
+ }
+ },
+ {
+ "propertyName": "CourseEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CourseEducationOrganizationId",
+ "postgreSql": "CourseEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -63231,36 +64198,53 @@
"scale": 0,
"isNullable": false
},
- "description": "A categorization for the course transcript credits awarded in the course transcript.",
+ "description": "A unique alphanumeric code assigned to a student.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "CreditCategoryDescriptorId",
- "postgreSql": "CreditCategoryDescriptorId"
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ },
+ {
+ "propertyName": "TermDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The term for the session during the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "TermDescriptorId",
+ "postgreSql": "TermDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptCreditCategory_CreditCategoryDescriptor",
- "postgreSql": "FK_ab7096_CreditCategoryDescriptor"
+ "sqlServer": "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript",
+ "postgreSql": "FK_e811ad_CourseTranscript"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptEarnedAdditionalCredits_AdditionalCreditTypeDescriptor"
+ "name": "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "AdditionalCreditTypeDescriptor"
+ "name": "MethodCreditEarnedDescriptor"
},
"primaryEntityProperties": [
{
- "propertyName": "AdditionalCreditTypeDescriptorId",
+ "propertyName": "MethodCreditEarnedDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -63269,49 +64253,49 @@
"isNullable": false
},
"description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "AdditionalCreditTypeDescriptorId",
- "postgreSql": "AdditionalCreditTypeDescriptorId"
+ "sqlServer": "MethodCreditEarnedDescriptorId",
+ "postgreSql": "MethodCreditEarnedDescriptorId"
}
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptEarnedAdditionalCredits"
+ "name": "CourseTranscriptPartialCourseTranscriptAwards"
},
"secondaryEntityProperties": [
{
- "propertyName": "AdditionalCreditTypeDescriptorId",
+ "propertyName": "MethodCreditEarnedDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": false
+ "isNullable": true
},
- "description": "The type of credits or units of value awarded for the completion of a course.",
- "isIdentifying": true,
+ "description": "The method the credits were earned.",
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "AdditionalCreditTypeDescriptorId",
- "postgreSql": "AdditionalCreditTypeDescriptorId"
+ "sqlServer": "MethodCreditEarnedDescriptorId",
+ "postgreSql": "MethodCreditEarnedDescriptorId"
}
}
],
- "isIdentifying": true,
- "isRequired": true,
+ "isIdentifying": false,
+ "isRequired": false,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptEarnedAdditionalCredits_AdditionalCreditTypeDescriptor",
- "postgreSql": "FK_b50e36_AdditionalCreditTypeDescriptor"
+ "sqlServer": "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor",
+ "postgreSql": "FK_e811ad_MethodCreditEarnedDescriptor"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptEarnedAdditionalCredits_CourseTranscript"
+ "name": "FK_CourseTranscriptProgram_CourseTranscript"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -63442,7 +64426,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptEarnedAdditionalCredits"
+ "name": "CourseTranscriptProgram"
},
"secondaryEntityProperties": [
{
@@ -63569,15 +64553,145 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptEarnedAdditionalCredits_CourseTranscript",
- "postgreSql": "FK_b50e36_CourseTranscript"
+ "sqlServer": "FK_CourseTranscriptProgram_CourseTranscript",
+ "postgreSql": "FK_57d145_CourseTranscript"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript"
+ "name": "FK_CourseTranscriptProgram_Program"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Program"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "ProgramName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramName",
+ "postgreSql": "ProgramName"
+ }
+ },
+ {
+ "propertyName": "ProgramTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The type of program.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramTypeDescriptorId",
+ "postgreSql": "ProgramTypeDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "CourseTranscriptProgram"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "ProgramName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramName",
+ "postgreSql": "ProgramName"
+ }
+ },
+ {
+ "propertyName": "ProgramTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The type of program.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramTypeDescriptorId",
+ "postgreSql": "ProgramTypeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_CourseTranscriptProgram_Program",
+ "postgreSql": "FK_57d145_Program"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_CourseTranscriptSection_CourseTranscript"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -63708,7 +64822,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptPartialCourseTranscriptAwards"
+ "name": "CourseTranscriptSection"
},
"secondaryEntityProperties": [
{
@@ -63835,68 +64949,210 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript",
- "postgreSql": "FK_e811ad_CourseTranscript"
+ "sqlServer": "FK_CourseTranscriptSection_CourseTranscript",
+ "postgreSql": "FK_cd2ae9_CourseTranscript"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor"
+ "name": "FK_CourseTranscriptSection_Section"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "MethodCreditEarnedDescriptor"
+ "name": "Section"
},
"primaryEntityProperties": [
{
- "propertyName": "MethodCreditEarnedDescriptorId",
+ "propertyName": "LocalCourseCode",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LocalCourseCode",
+ "postgreSql": "LocalCourseCode"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
"isNullable": false
},
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": false,
+ "description": "The identifier assigned to a school.",
+ "isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "MethodCreditEarnedDescriptorId",
- "postgreSql": "MethodCreditEarnedDescriptorId"
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "SectionIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local identifier assigned to a section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionIdentifier",
+ "postgreSql": "SectionIdentifier"
+ }
+ },
+ {
+ "propertyName": "SessionName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the calendar for the academic session.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SessionName",
+ "postgreSql": "SessionName"
}
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "CourseTranscriptPartialCourseTranscriptAwards"
+ "name": "CourseTranscriptSection"
},
"secondaryEntityProperties": [
{
- "propertyName": "MethodCreditEarnedDescriptorId",
+ "propertyName": "LocalCourseCode",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LocalCourseCode",
+ "postgreSql": "LocalCourseCode"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": true
+ "isNullable": false
},
- "description": "The method the credits were earned.",
- "isIdentifying": false,
+ "description": "The identifier assigned to a school.",
+ "isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "MethodCreditEarnedDescriptorId",
- "postgreSql": "MethodCreditEarnedDescriptorId"
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "SectionIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local identifier assigned to a section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionIdentifier",
+ "postgreSql": "SectionIdentifier"
+ }
+ },
+ {
+ "propertyName": "SessionName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the calendar for the academic session.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SessionName",
+ "postgreSql": "SessionName"
}
}
],
- "isIdentifying": false,
- "isRequired": false,
+ "isIdentifying": true,
+ "isRequired": true,
"constraintNames": {
- "sqlServer": "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor",
- "postgreSql": "FK_e811ad_MethodCreditEarnedDescriptor"
+ "sqlServer": "FK_CourseTranscriptSection_Section",
+ "postgreSql": "FK_cd2ae9_Section"
},
"potentiallyLogical": false
},
@@ -72744,7 +74000,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -72753,20 +74009,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -72818,7 +74075,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -72827,20 +74084,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -73298,7 +74556,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
@@ -73307,20 +74565,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -73372,7 +74631,7 @@
"scale": 0,
"isNullable": true
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
@@ -73381,20 +74640,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": true
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -73917,7 +75177,205 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GradingPeriodDescriptorId",
+ "postgreSql": "GradingPeriodDescriptorId"
+ }
+ },
+ {
+ "propertyName": "GradingPeriodName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The school's descriptive name of the grading period.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
+ }
+ },
+ {
+ "propertyName": "GradingPeriodSchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the grading period school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GradingPeriodSchoolYear",
+ "postgreSql": "GradingPeriodSchoolYear"
+ }
+ },
+ {
+ "propertyName": "LocalCourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LocalCourseCode",
+ "postgreSql": "LocalCourseCode"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "SectionIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local identifier assigned to a section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionIdentifier",
+ "postgreSql": "SectionIdentifier"
+ }
+ },
+ {
+ "propertyName": "SessionName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the calendar for the academic session.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SessionName",
+ "postgreSql": "SessionName"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "GradeLearningStandardGrade"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "BeginDate",
+ "propertyType": {
+ "dbType": "Date",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Month, day, and year of the student's entry or assignment to the section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "BeginDate",
+ "postgreSql": "BeginDate"
+ }
+ },
+ {
+ "propertyName": "GradeTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The type of grade reported (e.g., exam, final, grading period).",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "GradeTypeDescriptorId",
+ "postgreSql": "GradeTypeDescriptorId"
+ }
+ },
+ {
+ "propertyName": "GradingPeriodDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -73926,111 +75384,7 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The sequential order of this period relative to other periods.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
- }
- },
- {
- "propertyName": "GradingPeriodSchoolYear",
- "propertyType": {
- "dbType": "Int16",
- "maxLength": 0,
- "precision": 5,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier for the grading period school year.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "GradingPeriodSchoolYear",
- "postgreSql": "GradingPeriodSchoolYear"
- }
- },
- {
- "propertyName": "LocalCourseCode",
- "propertyType": {
- "dbType": "String",
- "minLength": 1,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "LocalCourseCode",
- "postgreSql": "LocalCourseCode"
- }
- },
- {
- "propertyName": "SchoolId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to a school.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SchoolId",
- "postgreSql": "SchoolId"
- }
- },
- {
- "propertyName": "SchoolYear",
- "propertyType": {
- "dbType": "Int16",
- "maxLength": 0,
- "precision": 5,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier for the school year.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SchoolYear",
- "postgreSql": "SchoolYear"
- }
- },
- {
- "propertyName": "SectionIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 1,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The local identifier assigned to a section.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SectionIdentifier",
- "postgreSql": "SectionIdentifier"
- }
- },
- {
- "propertyName": "SessionName",
+ "propertyName": "GradingPeriodName",
"propertyType": {
"dbType": "String",
"minLength": 1,
@@ -74039,104 +75393,12 @@
"scale": 0,
"isNullable": false
},
- "description": "The identifier for the calendar for the academic session.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SessionName",
- "postgreSql": "SessionName"
- }
- },
- {
- "propertyName": "StudentUSI",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique alphanumeric code assigned to a student.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "StudentUSI",
- "postgreSql": "StudentUSI"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "GradeLearningStandardGrade"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "BeginDate",
- "propertyType": {
- "dbType": "Date",
- "minLength": 0,
- "maxLength": 0,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "Month, day, and year of the student's entry or assignment to the section.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "BeginDate",
- "postgreSql": "BeginDate"
- }
- },
- {
- "propertyName": "GradeTypeDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The type of grade reported (e.g., exam, final, grading period).",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "GradeTypeDescriptorId",
- "postgreSql": "GradeTypeDescriptorId"
- }
- },
- {
- "propertyName": "GradingPeriodDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The name of the period for which grades are reported.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "GradingPeriodDescriptorId",
- "postgreSql": "GradingPeriodDescriptorId"
- }
- },
- {
- "propertyName": "GradingPeriodSequence",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The sequential order of this period relative to other periods.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -74615,7 +75877,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -94884,7 +96146,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -94893,20 +96155,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -94958,7 +96221,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -94967,20 +96230,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95141,7 +96405,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95150,20 +96414,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95338,7 +96603,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95347,20 +96612,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95531,7 +96797,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95540,20 +96806,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95639,7 +96906,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95648,20 +96915,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95821,7 +97089,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95830,20 +97098,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -95929,7 +97198,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -95938,20 +97207,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -96051,7 +97321,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -96060,20 +97330,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -96159,7 +97430,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -96168,20 +97439,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -96264,7 +97536,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -96273,20 +97545,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -96407,7 +97680,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -96416,20 +97689,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -99416,6 +100690,66 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_Section_SectionTypeDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "SectionTypeDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "SectionTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionTypeDescriptorId",
+ "postgreSql": "SectionTypeDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Section"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "SectionTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Specifies whether the section is for attendance only, credit only, or both.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionTypeDescriptorId",
+ "postgreSql": "SectionTypeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_Section_SectionTypeDescriptor",
+ "postgreSql": "FK_dfca5d_SectionTypeDescriptor"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
@@ -101320,6 +102654,66 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_SectionTypeDescriptor_Descriptor"
+ },
+ "cardinality": "OneToOneInheritance",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Descriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "DescriptorId",
+ "postgreSql": "DescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "SectionTypeDescriptor"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "SectionTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "SectionTypeDescriptorId",
+ "postgreSql": "SectionTypeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_SectionTypeDescriptor_Descriptor",
+ "postgreSql": "FK_17bb6e_Descriptor"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
@@ -101663,7 +103057,7 @@
"scale": 0,
"isNullable": false
},
- "description": "An descriptor value indicating the term.",
+ "description": "A descriptor value to indicate the term that the session is associated with.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
@@ -101926,7 +103320,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -101935,20 +103329,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -102000,7 +103395,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -102009,20 +103404,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -111849,7 +113245,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -111858,20 +113254,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -111957,7 +113354,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -111966,20 +113363,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -116448,7 +117846,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -116457,20 +117855,21 @@
}
},
{
- "propertyName": "PeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "PeriodSequence",
- "postgreSql": "PeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -116522,7 +117921,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -116531,20 +117930,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -116904,7 +118304,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -116913,20 +118313,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -117047,7 +118448,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -117056,20 +118457,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -117204,7 +118606,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -117213,20 +118615,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -117347,7 +118750,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The name of the period for which grades are reported.",
+ "description": "The state's name of the period for which grades are reported.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -117356,20 +118759,21 @@
}
},
{
- "propertyName": "GradingPeriodSequence",
+ "propertyName": "GradingPeriodName",
"propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The sequential order of this period relative to other periods.",
+ "description": "The school's descriptive name of the grading period.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "GradingPeriodSequence",
- "postgreSql": "GradingPeriodSequence"
+ "sqlServer": "GradingPeriodName",
+ "postgreSql": "GradingPeriodName"
}
},
{
@@ -119830,9 +121234,9 @@
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": false
+ "isNullable": true
},
- "description": "The student's gender as last reported to the education organization.",
+ "description": "The student's birth sex as reported to the education organization.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
@@ -119842,7 +121246,7 @@
}
],
"isIdentifying": false,
- "isRequired": true,
+ "isRequired": false,
"constraintNames": {
"sqlServer": "FK_StudentEducationOrganizationAssociation_SexDescriptor",
"postgreSql": "FK_8e1257_SexDescriptor"
@@ -119909,6 +121313,66 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "SupporterMilitaryConnectionDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "SupporterMilitaryConnectionDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SupporterMilitaryConnectionDescriptorId",
+ "postgreSql": "SupporterMilitaryConnectionDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentEducationOrganizationAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "SupporterMilitaryConnectionDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Military connection of the person/people whom the student is a dependent of.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SupporterMilitaryConnectionDescriptorId",
+ "postgreSql": "SupporterMilitaryConnectionDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor",
+ "postgreSql": "FK_8e1257_SupporterMilitaryConnectionDescriptor"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
@@ -133492,164 +134956,574 @@
"sqlServer": "ProgramTypeDescriptorId",
"postgreSql": "ProgramTypeDescriptorId"
}
- },
- {
- "propertyName": "StudentUSI",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique alphanumeric code assigned to a student.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "StudentUSI",
- "postgreSql": "StudentUSI"
- }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation",
+ "postgreSql": "FK_85a0eb_StudentSchoolFoodServiceProgramAssociation"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_AttemptStatusDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AttemptStatusDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "AttemptStatusDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AttemptStatusDescriptorId",
+ "postgreSql": "AttemptStatusDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "AttemptStatusDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "An indication of the student's completion status for the section.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AttemptStatusDescriptorId",
+ "postgreSql": "AttemptStatusDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_AttemptStatusDescriptor",
+ "postgreSql": "FK_39aa3c_AttemptStatusDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_RepeatIdentifierDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "RepeatIdentifierDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "RepeatIdentifierDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "RepeatIdentifierDescriptorId",
+ "postgreSql": "RepeatIdentifierDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "RepeatIdentifierDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "An indication as to whether a student has previously taken a given course.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "RepeatIdentifierDescriptorId",
+ "postgreSql": "RepeatIdentifierDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_RepeatIdentifierDescriptor",
+ "postgreSql": "FK_39aa3c_RepeatIdentifierDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_Section"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Section"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "LocalCourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LocalCourseCode",
+ "postgreSql": "LocalCourseCode"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "SectionIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local identifier assigned to a section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionIdentifier",
+ "postgreSql": "SectionIdentifier"
+ }
+ },
+ {
+ "propertyName": "SessionName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the calendar for the academic session.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SessionName",
+ "postgreSql": "SessionName"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "LocalCourseCode",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LocalCourseCode",
+ "postgreSql": "LocalCourseCode"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "SchoolYear",
+ "propertyType": {
+ "dbType": "Int16",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the school year.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolYear",
+ "postgreSql": "SchoolYear"
+ }
+ },
+ {
+ "propertyName": "SectionIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The local identifier assigned to a section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SectionIdentifier",
+ "postgreSql": "SectionIdentifier"
+ }
+ },
+ {
+ "propertyName": "SessionName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier for the calendar for the academic session.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SessionName",
+ "postgreSql": "SessionName"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_Section",
+ "postgreSql": "FK_39aa3c_Section"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_Student"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Student"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_Student",
+ "postgreSql": "FK_39aa3c_Student"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociationProgram_Program"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Program"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "ProgramName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramName",
+ "postgreSql": "ProgramName"
+ }
+ },
+ {
+ "propertyName": "ProgramTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The type of program.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramTypeDescriptorId",
+ "postgreSql": "ProgramTypeDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociationProgram"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "ProgramName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 1,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramName",
+ "postgreSql": "ProgramName"
+ }
+ },
+ {
+ "propertyName": "ProgramTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The type of program.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ProgramTypeDescriptorId",
+ "postgreSql": "ProgramTypeDescriptorId"
+ }
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation",
- "postgreSql": "FK_85a0eb_StudentSchoolFoodServiceProgramAssociation"
+ "sqlServer": "FK_StudentSectionAssociationProgram_Program",
+ "postgreSql": "FK_990204_Program"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_StudentSectionAssociation_AttemptStatusDescriptor"
+ "name": "FK_StudentSectionAssociationProgram_StudentSectionAssociation"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
- "schema": "edfi",
- "name": "AttemptStatusDescriptor"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "AttemptStatusDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AttemptStatusDescriptorId",
- "postgreSql": "AttemptStatusDescriptorId"
- }
- }
- ],
- "secondaryEntityFullName": {
"schema": "edfi",
"name": "StudentSectionAssociation"
},
- "secondaryEntityProperties": [
- {
- "propertyName": "AttemptStatusDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": true
- },
- "description": "An indication of the student's completion status for the section.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AttemptStatusDescriptorId",
- "postgreSql": "AttemptStatusDescriptorId"
- }
- }
- ],
- "isIdentifying": false,
- "isRequired": false,
- "constraintNames": {
- "sqlServer": "FK_StudentSectionAssociation_AttemptStatusDescriptor",
- "postgreSql": "FK_39aa3c_AttemptStatusDescriptor"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_StudentSectionAssociation_RepeatIdentifierDescriptor"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "RepeatIdentifierDescriptor"
- },
"primaryEntityProperties": [
{
- "propertyName": "RepeatIdentifierDescriptorId",
+ "propertyName": "BeginDate",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "Date",
+ "minLength": 0,
"maxLength": 0,
- "precision": 10,
+ "precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "RepeatIdentifierDescriptorId",
- "postgreSql": "RepeatIdentifierDescriptorId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "StudentSectionAssociation"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "RepeatIdentifierDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": true
- },
- "description": "An indication as to whether a student has previously taken a given course.",
- "isIdentifying": false,
+ "description": "Month, day, and year of the student's entry or assignment to the section.",
+ "isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "RepeatIdentifierDescriptorId",
- "postgreSql": "RepeatIdentifierDescriptorId"
+ "sqlServer": "BeginDate",
+ "postgreSql": "BeginDate"
}
- }
- ],
- "isIdentifying": false,
- "isRequired": false,
- "constraintNames": {
- "sqlServer": "FK_StudentSectionAssociation_RepeatIdentifierDescriptor",
- "postgreSql": "FK_39aa3c_RepeatIdentifierDescriptor"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_StudentSectionAssociation_Section"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "Section"
- },
- "primaryEntityProperties": [
+ },
{
"propertyName": "LocalCourseCode",
"propertyType": {
@@ -133737,13 +135611,48 @@
"sqlServer": "SessionName",
"postgreSql": "SessionName"
}
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "StudentSectionAssociation"
+ "name": "StudentSectionAssociationProgram"
},
"secondaryEntityProperties": [
+ {
+ "propertyName": "BeginDate",
+ "propertyType": {
+ "dbType": "Date",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Month, day, and year of the student's entry or assignment to the section.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "BeginDate",
+ "postgreSql": "BeginDate"
+ }
+ },
{
"propertyName": "LocalCourseCode",
"propertyType": {
@@ -133831,50 +135740,7 @@
"sqlServer": "SessionName",
"postgreSql": "SessionName"
}
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_StudentSectionAssociation_Section",
- "postgreSql": "FK_39aa3c_Section"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_StudentSectionAssociation_Student"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "Student"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "StudentUSI",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique alphanumeric code assigned to a student.",
- "isIdentifying": true,
- "isServerAssigned": true,
- "columnNames": {
- "sqlServer": "StudentUSI",
- "postgreSql": "StudentUSI"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "StudentSectionAssociation"
- },
- "secondaryEntityProperties": [
+ },
{
"propertyName": "StudentUSI",
"propertyType": {
@@ -133896,8 +135762,8 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_StudentSectionAssociation_Student",
- "postgreSql": "FK_39aa3c_Student"
+ "sqlServer": "FK_StudentSectionAssociationProgram_StudentSectionAssociation",
+ "postgreSql": "FK_990204_StudentSectionAssociation"
},
"potentiallyLogical": false
},
@@ -137833,6 +139699,66 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_SupporterMilitaryConnectionDescriptor_Descriptor"
+ },
+ "cardinality": "OneToOneInheritance",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Descriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "DescriptorId",
+ "postgreSql": "DescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "SupporterMilitaryConnectionDescriptor"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "SupporterMilitaryConnectionDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "SupporterMilitaryConnectionDescriptorId",
+ "postgreSql": "SupporterMilitaryConnectionDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_SupporterMilitaryConnectionDescriptor_Descriptor",
+ "postgreSql": "FK_5d0e44_Descriptor"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/DatabaseViews.generated.json b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/DatabaseViews.generated.json
index d9232cddd2..ccaedfad3a 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/DatabaseViews.generated.json
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Metadata/DatabaseViews.generated.json
@@ -275,4 +275,4 @@
}
]
}
-]
+]
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
index 09156b2b68..cdd6342570 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
@@ -1139,6 +1139,7 @@ CREATE TABLE [edfi].[Contact] (
[ContactUSI] [INT] IDENTITY(1,1) NOT NULL,
[ContactUniqueId] [NVARCHAR](32) NOT NULL,
[FirstName] [NVARCHAR](75) NOT NULL,
+ [GenderIdentity] [NVARCHAR](60) NULL,
[GenerationCodeSuffix] [NVARCHAR](10) NULL,
[HighestCompletedLevelOfEducationDescriptorId] [INT] NULL,
[LastSurname] [NVARCHAR](75) NOT NULL,
@@ -1706,6 +1707,7 @@ CREATE TABLE [edfi].[CourseTranscript] (
[FinalLetterGradeEarned] [NVARCHAR](20) NULL,
[FinalNumericGradeEarned] [DECIMAL](9, 2) NULL,
[MethodCreditEarnedDescriptorId] [INT] NULL,
+ [ResponsibleTeacherStaffUSI] [INT] NULL,
[WhenTakenGradeLevelDescriptorId] [INT] NULL,
[Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
@@ -1867,6 +1869,66 @@ GO
ALTER TABLE [edfi].[CourseTranscriptPartialCourseTranscriptAwards] ADD CONSTRAINT [CourseTranscriptPartialCourseTranscriptAwards_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
+-- Table [edfi].[CourseTranscriptProgram] --
+CREATE TABLE [edfi].[CourseTranscriptProgram] (
+ [CourseAttemptResultDescriptorId] [INT] NOT NULL,
+ [CourseCode] [NVARCHAR](60) NOT NULL,
+ [CourseEducationOrganizationId] [BIGINT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
+ [SchoolYear] [SMALLINT] NOT NULL,
+ [StudentUSI] [INT] NOT NULL,
+ [TermDescriptorId] [INT] NOT NULL,
+ [ProgramName] [NVARCHAR](60) NOT NULL,
+ [ProgramTypeDescriptorId] [INT] NOT NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [CourseTranscriptProgram_PK] PRIMARY KEY CLUSTERED (
+ [CourseAttemptResultDescriptorId] ASC,
+ [CourseCode] ASC,
+ [CourseEducationOrganizationId] ASC,
+ [EducationOrganizationId] ASC,
+ [SchoolYear] ASC,
+ [StudentUSI] ASC,
+ [TermDescriptorId] ASC,
+ [ProgramName] ASC,
+ [ProgramTypeDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[CourseTranscriptProgram] ADD CONSTRAINT [CourseTranscriptProgram_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+GO
+
+-- Table [edfi].[CourseTranscriptSection] --
+CREATE TABLE [edfi].[CourseTranscriptSection] (
+ [CourseAttemptResultDescriptorId] [INT] NOT NULL,
+ [CourseCode] [NVARCHAR](60) NOT NULL,
+ [CourseEducationOrganizationId] [BIGINT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
+ [SchoolYear] [SMALLINT] NOT NULL,
+ [StudentUSI] [INT] NOT NULL,
+ [TermDescriptorId] [INT] NOT NULL,
+ [LocalCourseCode] [NVARCHAR](60) NOT NULL,
+ [SchoolId] [BIGINT] NOT NULL,
+ [SectionIdentifier] [NVARCHAR](255) NOT NULL,
+ [SessionName] [NVARCHAR](60) NOT NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [CourseTranscriptSection_PK] PRIMARY KEY CLUSTERED (
+ [CourseAttemptResultDescriptorId] ASC,
+ [CourseCode] ASC,
+ [CourseEducationOrganizationId] ASC,
+ [EducationOrganizationId] ASC,
+ [SchoolYear] ASC,
+ [StudentUSI] ASC,
+ [TermDescriptorId] ASC,
+ [LocalCourseCode] ASC,
+ [SchoolId] ASC,
+ [SectionIdentifier] ASC,
+ [SessionName] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[CourseTranscriptSection] ADD CONSTRAINT [CourseTranscriptSection_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+GO
+
-- Table [edfi].[Credential] --
CREATE TABLE [edfi].[Credential] (
[CredentialIdentifier] [NVARCHAR](60) NOT NULL,
@@ -3086,7 +3148,7 @@ CREATE TABLE [edfi].[Grade] (
[BeginDate] [DATE] NOT NULL,
[GradeTypeDescriptorId] [INT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[LocalCourseCode] [NVARCHAR](60) NOT NULL,
[SchoolId] [BIGINT] NOT NULL,
@@ -3109,7 +3171,7 @@ CREATE TABLE [edfi].[Grade] (
[BeginDate] ASC,
[GradeTypeDescriptorId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolYear] ASC,
[LocalCourseCode] ASC,
[SchoolId] ASC,
@@ -3137,9 +3199,9 @@ CREATE TABLE [edfi].[GradebookEntry] (
[DueTime] [TIME](7) NULL,
[GradebookEntryTypeDescriptorId] [INT] NULL,
[GradingPeriodDescriptorId] [INT] NULL,
+ [GradingPeriodName] [NVARCHAR](60) NULL,
[LocalCourseCode] [NVARCHAR](60) NULL,
[MaxPoints] [DECIMAL](9, 2) NULL,
- [PeriodSequence] [INT] NULL,
[SchoolId] [BIGINT] NULL,
[SchoolYear] [SMALLINT] NULL,
[SectionIdentifier] [NVARCHAR](255) NULL,
@@ -3193,7 +3255,7 @@ CREATE TABLE [edfi].[GradeLearningStandardGrade] (
[BeginDate] [DATE] NOT NULL,
[GradeTypeDescriptorId] [INT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[LocalCourseCode] [NVARCHAR](60) NOT NULL,
[SchoolId] [BIGINT] NOT NULL,
@@ -3211,7 +3273,7 @@ CREATE TABLE [edfi].[GradeLearningStandardGrade] (
[BeginDate] ASC,
[GradeTypeDescriptorId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolYear] ASC,
[LocalCourseCode] ASC,
[SchoolId] ASC,
@@ -3256,11 +3318,12 @@ GO
-- Table [edfi].[GradingPeriod] --
CREATE TABLE [edfi].[GradingPeriod] (
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [PeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[SchoolId] [BIGINT] NOT NULL,
[SchoolYear] [SMALLINT] NOT NULL,
[BeginDate] [DATE] NOT NULL,
[EndDate] [DATE] NOT NULL,
+ [PeriodSequence] [INT] NULL,
[TotalInstructionalDays] [INT] NOT NULL,
[Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
@@ -3268,7 +3331,7 @@ CREATE TABLE [edfi].[GradingPeriod] (
[Id] [UNIQUEIDENTIFIER] NOT NULL,
CONSTRAINT [GradingPeriod_PK] PRIMARY KEY CLUSTERED (
[GradingPeriodDescriptorId] ASC,
- [PeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[SchoolId] ASC,
[SchoolYear] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
@@ -5692,7 +5755,7 @@ GO
CREATE TABLE [edfi].[ReportCard] (
[EducationOrganizationId] [BIGINT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
@@ -5706,7 +5769,7 @@ CREATE TABLE [edfi].[ReportCard] (
CONSTRAINT [ReportCard_PK] PRIMARY KEY CLUSTERED (
[EducationOrganizationId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[StudentUSI] ASC
@@ -5724,7 +5787,7 @@ GO
CREATE TABLE [edfi].[ReportCardGrade] (
[EducationOrganizationId] [BIGINT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
@@ -5739,7 +5802,7 @@ CREATE TABLE [edfi].[ReportCardGrade] (
CONSTRAINT [ReportCardGrade_PK] PRIMARY KEY CLUSTERED (
[EducationOrganizationId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[StudentUSI] ASC,
@@ -5760,7 +5823,7 @@ GO
CREATE TABLE [edfi].[ReportCardGradePointAverage] (
[EducationOrganizationId] [BIGINT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
@@ -5772,7 +5835,7 @@ CREATE TABLE [edfi].[ReportCardGradePointAverage] (
CONSTRAINT [ReportCardGradePointAverage_PK] PRIMARY KEY CLUSTERED (
[EducationOrganizationId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[StudentUSI] ASC,
@@ -5787,7 +5850,7 @@ GO
CREATE TABLE [edfi].[ReportCardStudentCompetencyObjective] (
[EducationOrganizationId] [BIGINT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
@@ -5798,7 +5861,7 @@ CREATE TABLE [edfi].[ReportCardStudentCompetencyObjective] (
CONSTRAINT [ReportCardStudentCompetencyObjective_PK] PRIMARY KEY CLUSTERED (
[EducationOrganizationId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[StudentUSI] ASC,
@@ -6077,6 +6140,7 @@ CREATE TABLE [edfi].[Section] (
[OfficialAttendancePeriod] [BIT] NULL,
[PopulationServedDescriptorId] [INT] NULL,
[SectionName] [NVARCHAR](100) NULL,
+ [SectionTypeDescriptorId] [INT] NULL,
[SequenceOfCourse] [INT] NULL,
[Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
@@ -6254,6 +6318,15 @@ GO
ALTER TABLE [edfi].[SectionProgram] ADD CONSTRAINT [SectionProgram_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
GO
+-- Table [edfi].[SectionTypeDescriptor] --
+CREATE TABLE [edfi].[SectionTypeDescriptor] (
+ [SectionTypeDescriptorId] [INT] NOT NULL,
+ CONSTRAINT [SectionTypeDescriptor_PK] PRIMARY KEY CLUSTERED (
+ [SectionTypeDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
-- Table [edfi].[SeparationDescriptor] --
CREATE TABLE [edfi].[SeparationDescriptor] (
[SeparationDescriptorId] [INT] NOT NULL,
@@ -6332,14 +6405,14 @@ CREATE TABLE [edfi].[SessionGradingPeriod] (
[SchoolYear] [SMALLINT] NOT NULL,
[SessionName] [NVARCHAR](60) NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [PeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[CreateDate] [DATETIME2] NOT NULL,
CONSTRAINT [SessionGradingPeriod_PK] PRIMARY KEY CLUSTERED (
[SchoolId] ASC,
[SchoolYear] ASC,
[SessionName] ASC,
[GradingPeriodDescriptorId] ASC,
- [PeriodSequence] ASC
+ [GradingPeriodName] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
@@ -6426,6 +6499,7 @@ CREATE TABLE [edfi].[Staff] (
[BirthDate] [DATE] NULL,
[CitizenshipStatusDescriptorId] [INT] NULL,
[FirstName] [NVARCHAR](75) NOT NULL,
+ [GenderIdentity] [NVARCHAR](60) NULL,
[GenerationCodeSuffix] [NVARCHAR](10) NULL,
[HighestCompletedLevelOfEducationDescriptorId] [INT] NULL,
[HighlyQualifiedTeacher] [BIT] NULL,
@@ -6788,6 +6862,7 @@ CREATE TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] (
[EmploymentStatusDescriptorId] [INT] NOT NULL,
[HireDate] [DATE] NOT NULL,
[StaffUSI] [INT] NOT NULL,
+ [AnnualWage] [MONEY] NULL,
[CredentialIdentifier] [NVARCHAR](60) NULL,
[Department] [NVARCHAR](60) NULL,
[EndDate] [DATE] NULL,
@@ -7501,7 +7576,7 @@ CREATE TABLE [edfi].[StudentAcademicRecordReportCard] (
[StudentUSI] [INT] NOT NULL,
[TermDescriptorId] [INT] NOT NULL,
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[CreateDate] [DATETIME2] NOT NULL,
@@ -7511,7 +7586,7 @@ CREATE TABLE [edfi].[StudentAcademicRecordReportCard] (
[StudentUSI] ASC,
[TermDescriptorId] ASC,
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
@@ -7841,7 +7916,7 @@ GO
-- Table [edfi].[StudentCompetencyObjective] --
CREATE TABLE [edfi].[StudentCompetencyObjective] (
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[ObjectiveEducationOrganizationId] [BIGINT] NOT NULL,
@@ -7856,7 +7931,7 @@ CREATE TABLE [edfi].[StudentCompetencyObjective] (
[Id] [UNIQUEIDENTIFIER] NOT NULL,
CONSTRAINT [StudentCompetencyObjective_PK] PRIMARY KEY CLUSTERED (
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[ObjectiveEducationOrganizationId] ASC,
@@ -7876,7 +7951,7 @@ GO
-- Table [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] --
CREATE TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] (
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[ObjectiveEducationOrganizationId] [BIGINT] NOT NULL,
@@ -7891,7 +7966,7 @@ CREATE TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation]
[CreateDate] [DATETIME2] NOT NULL,
CONSTRAINT [StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK] PRIMARY KEY CLUSTERED (
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[ObjectiveEducationOrganizationId] ASC,
@@ -7912,7 +7987,7 @@ GO
-- Table [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] --
CREATE TABLE [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] (
[GradingPeriodDescriptorId] [INT] NOT NULL,
- [GradingPeriodSequence] [INT] NOT NULL,
+ [GradingPeriodName] [NVARCHAR](60) NOT NULL,
[GradingPeriodSchoolId] [BIGINT] NOT NULL,
[GradingPeriodSchoolYear] [SMALLINT] NOT NULL,
[ObjectiveEducationOrganizationId] [BIGINT] NOT NULL,
@@ -7928,7 +8003,7 @@ CREATE TABLE [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] (
[CreateDate] [DATETIME2] NOT NULL,
CONSTRAINT [StudentCompetencyObjectiveStudentSectionAssociation_PK] PRIMARY KEY CLUSTERED (
[GradingPeriodDescriptorId] ASC,
- [GradingPeriodSequence] ASC,
+ [GradingPeriodName] ASC,
[GradingPeriodSchoolId] ASC,
[GradingPeriodSchoolYear] ASC,
[ObjectiveEducationOrganizationId] ASC,
@@ -8117,6 +8192,7 @@ CREATE TABLE [edfi].[StudentEducationOrganizationAssociation] (
[EducationOrganizationId] [BIGINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
[BarrierToInternetAccessInResidenceDescriptorId] [INT] NULL,
+ [GenderIdentity] [NVARCHAR](60) NULL,
[HispanicLatinoEthnicity] [BIT] NULL,
[InternetAccessInResidence] [BIT] NULL,
[InternetAccessTypeInResidenceDescriptorId] [INT] NULL,
@@ -8127,7 +8203,8 @@ CREATE TABLE [edfi].[StudentEducationOrganizationAssociation] (
[PrimaryLearningDeviceAwayFromSchoolDescriptorId] [INT] NULL,
[PrimaryLearningDeviceProviderDescriptorId] [INT] NULL,
[ProfileThumbnail] [NVARCHAR](255) NULL,
- [SexDescriptorId] [INT] NOT NULL,
+ [SexDescriptorId] [INT] NULL,
+ [SupporterMilitaryConnectionDescriptorId] [INT] NULL,
[Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
[LastModifiedDate] [DATETIME2] NOT NULL,
@@ -9362,6 +9439,36 @@ GO
ALTER TABLE [edfi].[StudentSectionAssociation] ADD CONSTRAINT [StudentSectionAssociation_DF_LastModifiedDate] DEFAULT (getdate()) FOR [LastModifiedDate]
GO
+-- Table [edfi].[StudentSectionAssociationProgram] --
+CREATE TABLE [edfi].[StudentSectionAssociationProgram] (
+ [BeginDate] [DATE] NOT NULL,
+ [LocalCourseCode] [NVARCHAR](60) NOT NULL,
+ [SchoolId] [BIGINT] NOT NULL,
+ [SchoolYear] [SMALLINT] NOT NULL,
+ [SectionIdentifier] [NVARCHAR](255) NOT NULL,
+ [SessionName] [NVARCHAR](60) NOT NULL,
+ [StudentUSI] [INT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
+ [ProgramName] [NVARCHAR](60) NOT NULL,
+ [ProgramTypeDescriptorId] [INT] NOT NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [StudentSectionAssociationProgram_PK] PRIMARY KEY CLUSTERED (
+ [BeginDate] ASC,
+ [LocalCourseCode] ASC,
+ [SchoolId] ASC,
+ [SchoolYear] ASC,
+ [SectionIdentifier] ASC,
+ [SessionName] ASC,
+ [StudentUSI] ASC,
+ [EducationOrganizationId] ASC,
+ [ProgramName] ASC,
+ [ProgramTypeDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[StudentSectionAssociationProgram] ADD CONSTRAINT [StudentSectionAssociationProgram_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+GO
+
-- Table [edfi].[StudentSectionAttendanceEvent] --
CREATE TABLE [edfi].[StudentSectionAttendanceEvent] (
[AttendanceEventCategoryDescriptorId] [INT] NOT NULL,
@@ -9701,6 +9808,15 @@ CREATE TABLE [edfi].[SubmissionStatusDescriptor] (
) ON [PRIMARY]
GO
+-- Table [edfi].[SupporterMilitaryConnectionDescriptor] --
+CREATE TABLE [edfi].[SupporterMilitaryConnectionDescriptor] (
+ [SupporterMilitaryConnectionDescriptorId] [INT] NOT NULL,
+ CONSTRAINT [SupporterMilitaryConnectionDescriptor_PK] PRIMARY KEY CLUSTERED (
+ [SupporterMilitaryConnectionDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
-- Table [edfi].[Survey] --
CREATE TABLE [edfi].[Survey] (
[Namespace] [NVARCHAR](255) NOT NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
index 5f41b5c4c7..9fb728bd99 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
@@ -1290,6 +1290,14 @@ CREATE NONCLUSTERED INDEX [FK_CourseTranscript_MethodCreditEarnedDescriptor]
ON [edfi].[CourseTranscript] ([MethodCreditEarnedDescriptorId] ASC)
GO
+ALTER TABLE [edfi].[CourseTranscript] WITH CHECK ADD CONSTRAINT [FK_CourseTranscript_Staff] FOREIGN KEY ([ResponsibleTeacherStaffUSI])
+REFERENCES [edfi].[Staff] ([StaffUSI])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_CourseTranscript_Staff]
+ON [edfi].[CourseTranscript] ([ResponsibleTeacherStaffUSI] ASC)
+GO
+
ALTER TABLE [edfi].[CourseTranscript] WITH CHECK ADD CONSTRAINT [FK_CourseTranscript_StudentAcademicRecord] FOREIGN KEY ([EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
REFERENCES [edfi].[StudentAcademicRecord] ([EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
GO
@@ -1363,6 +1371,33 @@ CREATE NONCLUSTERED INDEX [FK_CourseTranscriptPartialCourseTranscriptAwards_Meth
ON [edfi].[CourseTranscriptPartialCourseTranscriptAwards] ([MethodCreditEarnedDescriptorId] ASC)
GO
+ALTER TABLE [edfi].[CourseTranscriptProgram] WITH CHECK ADD CONSTRAINT [FK_CourseTranscriptProgram_CourseTranscript] FOREIGN KEY ([CourseAttemptResultDescriptorId], [CourseCode], [CourseEducationOrganizationId], [EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
+REFERENCES [edfi].[CourseTranscript] ([CourseAttemptResultDescriptorId], [CourseCode], [CourseEducationOrganizationId], [EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [edfi].[CourseTranscriptProgram] WITH CHECK ADD CONSTRAINT [FK_CourseTranscriptProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
+REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_CourseTranscriptProgram_Program]
+ON [edfi].[CourseTranscriptProgram] ([EducationOrganizationId] ASC, [ProgramName] ASC, [ProgramTypeDescriptorId] ASC)
+GO
+
+ALTER TABLE [edfi].[CourseTranscriptSection] WITH CHECK ADD CONSTRAINT [FK_CourseTranscriptSection_CourseTranscript] FOREIGN KEY ([CourseAttemptResultDescriptorId], [CourseCode], [CourseEducationOrganizationId], [EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
+REFERENCES [edfi].[CourseTranscript] ([CourseAttemptResultDescriptorId], [CourseCode], [CourseEducationOrganizationId], [EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [edfi].[CourseTranscriptSection] WITH CHECK ADD CONSTRAINT [FK_CourseTranscriptSection_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
+REFERENCES [edfi].[Section] ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
+ON UPDATE CASCADE
+GO
+
+CREATE NONCLUSTERED INDEX [FK_CourseTranscriptSection_Section]
+ON [edfi].[CourseTranscriptSection] ([LocalCourseCode] ASC, [SchoolId] ASC, [SchoolYear] ASC, [SectionIdentifier] ASC, [SessionName] ASC)
+GO
+
ALTER TABLE [edfi].[Credential] WITH CHECK ADD CONSTRAINT [FK_Credential_CredentialFieldDescriptor] FOREIGN KEY ([CredentialFieldDescriptorId])
REFERENCES [edfi].[CredentialFieldDescriptor] ([CredentialFieldDescriptorId])
GO
@@ -2161,12 +2196,12 @@ CREATE NONCLUSTERED INDEX [FK_Grade_GradeTypeDescriptor]
ON [edfi].[Grade] ([GradeTypeDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[Grade] WITH CHECK ADD CONSTRAINT [FK_Grade_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [SchoolId], [GradingPeriodSchoolYear])
-REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
+ALTER TABLE [edfi].[Grade] WITH CHECK ADD CONSTRAINT [FK_Grade_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [GradingPeriodSchoolYear])
+REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
GO
CREATE NONCLUSTERED INDEX [FK_Grade_GradingPeriod]
-ON [edfi].[Grade] ([GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [SchoolId] ASC, [GradingPeriodSchoolYear] ASC)
+ON [edfi].[Grade] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [SchoolId] ASC, [GradingPeriodSchoolYear] ASC)
GO
ALTER TABLE [edfi].[Grade] WITH CHECK ADD CONSTRAINT [FK_Grade_PerformanceBaseConversionDescriptor] FOREIGN KEY ([PerformanceBaseConversionDescriptorId])
@@ -2194,12 +2229,12 @@ CREATE NONCLUSTERED INDEX [FK_GradebookEntry_GradebookEntryTypeDescriptor]
ON [edfi].[GradebookEntry] ([GradebookEntryTypeDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[GradebookEntry] WITH CHECK ADD CONSTRAINT [FK_GradebookEntry_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
-REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
+ALTER TABLE [edfi].[GradebookEntry] WITH CHECK ADD CONSTRAINT [FK_GradebookEntry_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
+REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
GO
CREATE NONCLUSTERED INDEX [FK_GradebookEntry_GradingPeriod]
-ON [edfi].[GradebookEntry] ([GradingPeriodDescriptorId] ASC, [PeriodSequence] ASC, [SchoolId] ASC, [SchoolYear] ASC)
+ON [edfi].[GradebookEntry] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [SchoolId] ASC, [SchoolYear] ASC)
GO
ALTER TABLE [edfi].[GradebookEntry] WITH CHECK ADD CONSTRAINT [FK_GradebookEntry_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
@@ -2230,8 +2265,8 @@ REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[GradeLearningStandardGrade] WITH CHECK ADD CONSTRAINT [FK_GradeLearningStandardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
-REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+ALTER TABLE [edfi].[GradeLearningStandardGrade] WITH CHECK ADD CONSTRAINT [FK_GradeLearningStandardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
ON DELETE CASCADE
ON UPDATE CASCADE
GO
@@ -3982,12 +4017,12 @@ CREATE NONCLUSTERED INDEX [FK_ReportCard_EducationOrganization]
ON [edfi].[ReportCard] ([EducationOrganizationId] ASC)
GO
-ALTER TABLE [edfi].[ReportCard] WITH CHECK ADD CONSTRAINT [FK_ReportCard_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear])
-REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
+ALTER TABLE [edfi].[ReportCard] WITH CHECK ADD CONSTRAINT [FK_ReportCard_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear])
+REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
GO
CREATE NONCLUSTERED INDEX [FK_ReportCard_GradingPeriod]
-ON [edfi].[ReportCard] ([GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC)
+ON [edfi].[ReportCard] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC)
GO
ALTER TABLE [edfi].[ReportCard] WITH CHECK ADD CONSTRAINT [FK_ReportCard_Student] FOREIGN KEY ([StudentUSI])
@@ -3998,17 +4033,17 @@ CREATE NONCLUSTERED INDEX [FK_ReportCard_Student]
ON [edfi].[ReportCard] ([StudentUSI] ASC)
GO
-ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
-REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
ON UPDATE CASCADE
GO
CREATE NONCLUSTERED INDEX [FK_ReportCardGrade_Grade]
-ON [edfi].[ReportCardGrade] ([BeginDate] ASC, [GradeTypeDescriptorId] ASC, [GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [GradingPeriodSchoolYear] ASC, [LocalCourseCode] ASC, [SchoolId] ASC, [SchoolYear] ASC, [SectionIdentifier] ASC, [SessionName] ASC, [StudentUSI] ASC)
+ON [edfi].[ReportCardGrade] ([BeginDate] ASC, [GradeTypeDescriptorId] ASC, [GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [GradingPeriodSchoolYear] ASC, [LocalCourseCode] ASC, [SchoolId] ASC, [SchoolYear] ASC, [SectionIdentifier] ASC, [SessionName] ASC, [StudentUSI] ASC)
GO
-ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
-REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
ON DELETE CASCADE
GO
@@ -4020,22 +4055,22 @@ CREATE NONCLUSTERED INDEX [FK_ReportCardGradePointAverage_GradePointAverageTypeD
ON [edfi].[ReportCardGradePointAverage] ([GradePointAverageTypeDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[ReportCardGradePointAverage] WITH CHECK ADD CONSTRAINT [FK_ReportCardGradePointAverage_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
-REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+ALTER TABLE [edfi].[ReportCardGradePointAverage] WITH CHECK ADD CONSTRAINT [FK_ReportCardGradePointAverage_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[ReportCardStudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_ReportCardStudentCompetencyObjective_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
-REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+ALTER TABLE [edfi].[ReportCardStudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_ReportCardStudentCompetencyObjective_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[ReportCardStudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
-REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+ALTER TABLE [edfi].[ReportCardStudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
GO
CREATE NONCLUSTERED INDEX [FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective]
-ON [edfi].[ReportCardStudentCompetencyObjective] ([GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC, [ObjectiveEducationOrganizationId] ASC, [Objective] ASC, [ObjectiveGradeLevelDescriptorId] ASC, [StudentUSI] ASC)
+ON [edfi].[ReportCardStudentCompetencyObjective] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC, [ObjectiveEducationOrganizationId] ASC, [Objective] ASC, [ObjectiveGradeLevelDescriptorId] ASC, [StudentUSI] ASC)
GO
ALTER TABLE [edfi].[ReporterDescriptionDescriptor] WITH CHECK ADD CONSTRAINT [FK_ReporterDescriptionDescriptor_Descriptor] FOREIGN KEY ([ReporterDescriptionDescriptorId])
@@ -4322,6 +4357,14 @@ CREATE NONCLUSTERED INDEX [FK_Section_School]
ON [edfi].[Section] ([LocationSchoolId] ASC)
GO
+ALTER TABLE [edfi].[Section] WITH CHECK ADD CONSTRAINT [FK_Section_SectionTypeDescriptor] FOREIGN KEY ([SectionTypeDescriptorId])
+REFERENCES [edfi].[SectionTypeDescriptor] ([SectionTypeDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_Section_SectionTypeDescriptor]
+ON [edfi].[Section] ([SectionTypeDescriptorId] ASC)
+GO
+
ALTER TABLE [edfi].[SectionAttendanceTakenEvent] WITH CHECK ADD CONSTRAINT [FK_SectionAttendanceTakenEvent_CalendarDate] FOREIGN KEY ([CalendarCode], [Date], [SchoolId], [SchoolYear])
REFERENCES [edfi].[CalendarDate] ([CalendarCode], [Date], [SchoolId], [SchoolYear])
GO
@@ -4423,6 +4466,11 @@ ON DELETE CASCADE
ON UPDATE CASCADE
GO
+ALTER TABLE [edfi].[SectionTypeDescriptor] WITH CHECK ADD CONSTRAINT [FK_SectionTypeDescriptor_Descriptor] FOREIGN KEY ([SectionTypeDescriptorId])
+REFERENCES [edfi].[Descriptor] ([DescriptorId])
+ON DELETE CASCADE
+GO
+
ALTER TABLE [edfi].[SeparationDescriptor] WITH CHECK ADD CONSTRAINT [FK_SeparationDescriptor_Descriptor] FOREIGN KEY ([SeparationDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
@@ -4476,12 +4524,12 @@ ON DELETE CASCADE
ON UPDATE CASCADE
GO
-ALTER TABLE [edfi].[SessionGradingPeriod] WITH CHECK ADD CONSTRAINT [FK_SessionGradingPeriod_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
-REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
+ALTER TABLE [edfi].[SessionGradingPeriod] WITH CHECK ADD CONSTRAINT [FK_SessionGradingPeriod_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
+REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
GO
CREATE NONCLUSTERED INDEX [FK_SessionGradingPeriod_GradingPeriod]
-ON [edfi].[SessionGradingPeriod] ([GradingPeriodDescriptorId] ASC, [PeriodSequence] ASC, [SchoolId] ASC, [SchoolYear] ASC)
+ON [edfi].[SessionGradingPeriod] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [SchoolId] ASC, [SchoolYear] ASC)
GO
ALTER TABLE [edfi].[SessionGradingPeriod] WITH CHECK ADD CONSTRAINT [FK_SessionGradingPeriod_Session] FOREIGN KEY ([SchoolId], [SchoolYear], [SessionName])
@@ -5411,12 +5459,12 @@ REFERENCES [edfi].[StudentAcademicRecord] ([EducationOrganizationId], [SchoolYea
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[StudentAcademicRecordReportCard] WITH CHECK ADD CONSTRAINT [FK_StudentAcademicRecordReportCard_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
-REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+ALTER TABLE [edfi].[StudentAcademicRecordReportCard] WITH CHECK ADD CONSTRAINT [FK_StudentAcademicRecordReportCard_ReportCard] FOREIGN KEY ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
+REFERENCES [edfi].[ReportCard] ([EducationOrganizationId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [StudentUSI])
GO
CREATE NONCLUSTERED INDEX [FK_StudentAcademicRecordReportCard_ReportCard]
-ON [edfi].[StudentAcademicRecordReportCard] ([EducationOrganizationId] ASC, [GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC, [StudentUSI] ASC)
+ON [edfi].[StudentAcademicRecordReportCard] ([EducationOrganizationId] ASC, [GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC, [StudentUSI] ASC)
GO
ALTER TABLE [edfi].[StudentAcademicRecordReportCard] WITH CHECK ADD CONSTRAINT [FK_StudentAcademicRecordReportCard_StudentAcademicRecord] FOREIGN KEY ([EducationOrganizationId], [SchoolYear], [StudentUSI], [TermDescriptorId])
@@ -5747,12 +5795,12 @@ CREATE NONCLUSTERED INDEX [FK_StudentCompetencyObjective_CompetencyObjective]
ON [edfi].[StudentCompetencyObjective] ([ObjectiveEducationOrganizationId] ASC, [Objective] ASC, [ObjectiveGradeLevelDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[StudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjective_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear])
-REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [PeriodSequence], [SchoolId], [SchoolYear])
+ALTER TABLE [edfi].[StudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjective_GradingPeriod] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear])
+REFERENCES [edfi].[GradingPeriod] ([GradingPeriodDescriptorId], [GradingPeriodName], [SchoolId], [SchoolYear])
GO
CREATE NONCLUSTERED INDEX [FK_StudentCompetencyObjective_GradingPeriod]
-ON [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId] ASC, [GradingPeriodSequence] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC)
+ON [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId] ASC, [GradingPeriodName] ASC, [GradingPeriodSchoolId] ASC, [GradingPeriodSchoolYear] ASC)
GO
ALTER TABLE [edfi].[StudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjective_Student] FOREIGN KEY ([StudentUSI])
@@ -5771,13 +5819,13 @@ CREATE NONCLUSTERED INDEX [FK_StudentCompetencyObjectiveGeneralStudentProgramAss
ON [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] ([BeginDate] ASC, [EducationOrganizationId] ASC, [ProgramEducationOrganizationId] ASC, [ProgramName] ASC, [ProgramTypeDescriptorId] ASC, [StudentUSI] ASC)
GO
-ALTER TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
-REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+ALTER TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
-REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodSequence], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+ALTER TABLE [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective] FOREIGN KEY ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
+REFERENCES [edfi].[StudentCompetencyObjective] ([GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolId], [GradingPeriodSchoolYear], [ObjectiveEducationOrganizationId], [Objective], [ObjectiveGradeLevelDescriptorId], [StudentUSI])
ON DELETE CASCADE
GO
@@ -5986,6 +6034,14 @@ CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssociation_Student]
ON [edfi].[StudentEducationOrganizationAssociation] ([StudentUSI] ASC)
GO
+ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor] FOREIGN KEY ([SupporterMilitaryConnectionDescriptorId])
+REFERENCES [edfi].[SupporterMilitaryConnectionDescriptor] ([SupporterMilitaryConnectionDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor]
+ON [edfi].[StudentEducationOrganizationAssociation] ([SupporterMilitaryConnectionDescriptorId] ASC)
+GO
+
ALTER TABLE [edfi].[StudentEducationOrganizationAssociationAddress] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssociationAddress_AddressTypeDescriptor] FOREIGN KEY ([AddressTypeDescriptorId])
REFERENCES [edfi].[AddressTypeDescriptor] ([AddressTypeDescriptorId])
GO
@@ -7017,6 +7073,20 @@ CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_Student]
ON [edfi].[StudentSectionAssociation] ([StudentUSI] ASC)
GO
+ALTER TABLE [edfi].[StudentSectionAssociationProgram] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociationProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
+REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociationProgram_Program]
+ON [edfi].[StudentSectionAssociationProgram] ([EducationOrganizationId] ASC, [ProgramName] ASC, [ProgramTypeDescriptorId] ASC)
+GO
+
+ALTER TABLE [edfi].[StudentSectionAssociationProgram] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociationProgram_StudentSectionAssociation] FOREIGN KEY ([BeginDate], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+REFERENCES [edfi].[StudentSectionAssociation] ([BeginDate], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
+ON DELETE CASCADE
+ON UPDATE CASCADE
+GO
+
ALTER TABLE [edfi].[StudentSectionAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAttendanceEvent_AttendanceEventCategoryDescriptor] FOREIGN KEY ([AttendanceEventCategoryDescriptorId])
REFERENCES [edfi].[AttendanceEventCategoryDescriptor] ([AttendanceEventCategoryDescriptorId])
GO
@@ -7251,6 +7321,11 @@ REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
GO
+ALTER TABLE [edfi].[SupporterMilitaryConnectionDescriptor] WITH CHECK ADD CONSTRAINT [FK_SupporterMilitaryConnectionDescriptor_Descriptor] FOREIGN KEY ([SupporterMilitaryConnectionDescriptorId])
+REFERENCES [edfi].[Descriptor] ([DescriptorId])
+ON DELETE CASCADE
+GO
+
ALTER TABLE [edfi].[Survey] WITH CHECK ADD CONSTRAINT [FK_Survey_EducationOrganization] FOREIGN KEY ([EducationOrganizationId])
REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
index d97008cc33..51bd07eed3 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
@@ -804,6 +804,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Contact', @level2type=N'COLUMN', @level2name=N'FirstName'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The gender the contact identifies themselves as.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Contact', @level2type=N'COLUMN', @level2name=N'GenderIdentity'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An appendage, if any, used to denote an individual''s generation in his family (e.g., Jr., Sr., III).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Contact', @level2type=N'COLUMN', @level2name=N'GenerationCodeSuffix'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The extent of formal instruction an individual has received (e.g., the highest grade in school completed or its equivalent or the highest degree received).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Contact', @level2type=N'COLUMN', @level2name=N'HighestCompletedLevelOfEducationDescriptorId'
@@ -1279,6 +1281,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The final indi
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The method the credits were earned.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscript', @level2type=N'COLUMN', @level2name=N'MethodCreditEarnedDescriptorId'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a staff.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscript', @level2type=N'COLUMN', @level2name=N'ResponsibleTeacherStaffUSI'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Student''s grade level at time of course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscript', @level2type=N'COLUMN', @level2name=N'WhenTakenGradeLevelDescriptorId'
GO
@@ -1398,6 +1402,54 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The indicator of student performance as submitted by the instructor.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptPartialCourseTranscriptAwards', @level2type=N'COLUMN', @level2name=N'NumericGradeEarned'
GO
+-- Extended Properties [edfi].[CourseTranscriptProgram] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The program(s) that the student participated in the context of the course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The result from the student''s attempt to take the course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'CourseAttemptResultDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'CourseCode'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'CourseEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'SchoolYear'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'StudentUSI'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The term for the session during the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'ProgramName'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptProgram', @level2type=N'COLUMN', @level2name=N'ProgramTypeDescriptorId'
+GO
+
+-- Extended Properties [edfi].[CourseTranscriptSection] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The section(s) associated with the course transcript.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The result from the student''s attempt to take the course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'CourseAttemptResultDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'CourseCode'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'CourseEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'SchoolYear'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'StudentUSI'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The term for the session during the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The local code assigned by the School that identifies the course offering provided for the instruction of students.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'LocalCourseCode'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'SchoolId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The local identifier assigned to a section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'SectionIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the calendar for the academic session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'CourseTranscriptSection', @level2type=N'COLUMN', @level2name=N'SessionName'
+GO
+
-- Extended Properties [edfi].[Credential] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The legal document giving authorization to perform teaching assignment services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Credential'
GO
@@ -2244,9 +2296,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, an
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of grade reported (e.g., exam, final, grading period).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradeTypeDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the grading period school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Grade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolYear'
GO
@@ -2294,14 +2346,14 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The time the a
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of the gradebook entry.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'GradebookEntryTypeDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The local code assigned by the School that identifies the course offering provided for the instruction of students.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'LocalCourseCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The maximum number of points that can be earned for the submission.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'MaxPoints'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'PeriodSequence'
-GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'SchoolId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradebookEntry', @level2type=N'COLUMN', @level2name=N'SchoolYear'
@@ -2338,9 +2390,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, an
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of grade reported (e.g., exam, final, grading period).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradeTypeDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the grading period school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradeLearningStandardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolYear'
GO
@@ -2388,9 +2440,9 @@ GO
-- Extended Properties [edfi].[GradingPeriod] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This entity represents the time span for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'PeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'SchoolId'
GO
@@ -2400,11 +2452,13 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, an
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, and year of the last day of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'EndDate'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'PeriodSequence'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Total days available for educational instruction during the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriod', @level2type=N'COLUMN', @level2name=N'TotalInstructionalDays'
GO
-- Extended Properties [edfi].[GradingPeriodDescriptor] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriodDescriptor'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the state''s name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriodDescriptor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'GradingPeriodDescriptor', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
@@ -4056,9 +4110,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This education
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -4078,9 +4132,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Grades for the
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGrade', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -4108,9 +4162,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A measure of a
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardGradePointAverage', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -4132,9 +4186,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The student co
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'ReportCardStudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -4304,7 +4358,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The grade leve
GO
-- Extended Properties [edfi].[SchoolTypeDescriptor] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of education institution as classified by its primary focus.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SchoolTypeDescriptor'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of education institution as classified by its primary focus such as Alternative, Career and Technical Education, Regular, or Special Education schools.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SchoolTypeDescriptor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SchoolTypeDescriptor', @level2type=N'COLUMN', @level2name=N'SchoolTypeDescriptorId'
GO
@@ -4354,6 +4408,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of st
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A locally-defined name for the section, generally created to make the section more recognizable in informal contexts and generally distinct from the section identifier.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section', @level2type=N'COLUMN', @level2name=N'SectionName'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Specifies whether the section is for attendance only, credit only, or both.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section', @level2type=N'COLUMN', @level2name=N'SectionTypeDescriptorId'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section', @level2type=N'COLUMN', @level2name=N'SequenceOfCourse'
GO
@@ -4469,6 +4525,12 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SectionProgram', @level2type=N'COLUMN', @level2name=N'ProgramTypeDescriptorId'
GO
+-- Extended Properties [edfi].[SectionTypeDescriptor] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Specifies whether the section is for attendance only, credit only, or both.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SectionTypeDescriptor'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SectionTypeDescriptor', @level2type=N'COLUMN', @level2name=N'SectionTypeDescriptorId'
+GO
+
-- Extended Properties [edfi].[SeparationDescriptor] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Type of employment separation; for example: Voluntary separation, Involuntary separation, Mutual agreement. Other, etc.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SeparationDescriptor'
GO
@@ -4488,7 +4550,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique ident
GO
-- Extended Properties [edfi].[Session] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A term in the school year, generally a unit of time into which courses are scheduled, instruction occurs and by which credits are awarded. Sessions may be interrupted by vacations or other events.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A specific designated unit of time during which instruction is provided, grades are reported and academic credits are awarded to students (whenever applicable). Sessions serve as organized segments of the academic year and can be interrupted by vacations or other events.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session', @level2type=N'COLUMN', @level2name=N'SchoolId'
GO
@@ -4500,7 +4562,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, an
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day and year of the last day of the session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session', @level2type=N'COLUMN', @level2name=N'EndDate'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An descriptor value indicating the term.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A descriptor value to indicate the term that the session is associated with.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The total number of instructional days in the school calendar.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Session', @level2type=N'COLUMN', @level2name=N'TotalInstructionalDays'
GO
@@ -4526,9 +4588,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the calendar for the academic session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SessionGradingPeriod', @level2type=N'COLUMN', @level2name=N'SessionName'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SessionGradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SessionGradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SessionGradingPeriod', @level2type=N'COLUMN', @level2name=N'PeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SessionGradingPeriod', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
-- Extended Properties [edfi].[SexDescriptor] --
@@ -4586,6 +4648,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indicator o
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Staff', @level2type=N'COLUMN', @level2name=N'FirstName'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The gender the staff member identifies themselves as.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Staff', @level2type=N'COLUMN', @level2name=N'GenderIdentity'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An appendage, if any, used to denote an individual''s generation in his family (e.g., Jr., Sr., III).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Staff', @level2type=N'COLUMN', @level2name=N'GenerationCodeSuffix'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The extent of formal instruction an individual has received (e.g., the highest grade in school completed or its equivalent or the highest degree received).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Staff', @level2type=N'COLUMN', @level2name=N'HighestCompletedLevelOfEducationDescriptorId'
@@ -4880,6 +4944,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a staff.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StaffEducationOrganizationEmploymentAssociation', @level2type=N'COLUMN', @level2name=N'StaffUSI'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Annual wage associated with the employment position being reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StaffEducationOrganizationEmploymentAssociation', @level2type=N'COLUMN', @level2name=N'AnnualWage'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifier or serial number assigned to the credential.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StaffEducationOrganizationEmploymentAssociation', @level2type=N'COLUMN', @level2name=N'CredentialIdentifier'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The department or suborganization the employee/contractor is associated with in the education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StaffEducationOrganizationEmploymentAssociation', @level2type=N'COLUMN', @level2name=N'Department'
@@ -5496,9 +5562,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The term for the session during the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAcademicRecordReportCard', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -5766,9 +5832,9 @@ GO
-- Extended Properties [edfi].[StudentCompetencyObjective] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This entity represents the competency assessed or evaluated for the student against a specific competency objective.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjective', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -5790,9 +5856,9 @@ GO
-- Extended Properties [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Relates the student and program associated with the competency objective.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveGeneralStudentProgramAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -5820,9 +5886,9 @@ GO
-- Extended Properties [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Relates the student and section associated with the competency objective.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The state''s name of the period for which grades are reported.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The sequential order of this period relative to other periods.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodSequence'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The school''s descriptive name of the grading period.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentCompetencyObjectiveStudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'GradingPeriodSchoolId'
GO
@@ -5978,6 +6044,8 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of the barrier to having internet access in the student’s primary place of residence.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'BarrierToInternetAccessInResidenceDescriptorId'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The student''s gender as last reported to the education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'GenderIdentity'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'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, as last reported to the education organization. The term, "Spanish origin," can be used in addition to "Hispanic or Latino."', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'HispanicLatinoEthnicity'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of whether the student is able to access the internet in their primary place of residence.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'InternetAccessInResidence'
@@ -5998,7 +6066,9 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The provider o
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Locator reference for the student photo. The specification for that reference is left to local definition.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'ProfileThumbnail'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The student''s gender as last reported to the education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'SexDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The student''s birth sex as reported to the education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'SexDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Military connection of the person/people whom the student is a dependent of.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentEducationOrganizationAssociation', @level2type=N'COLUMN', @level2name=N'SupporterMilitaryConnectionDescriptorId'
GO
-- Extended Properties [edfi].[StudentEducationOrganizationAssociationAddress] --
@@ -7044,6 +7114,30 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates that the student-section combination is excluded from calculation of value-added or growth attribution calculations used for a particular teacher evaluation.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'TeacherStudentDataLinkExclusion'
GO
+-- Extended Properties [edfi].[StudentSectionAssociationProgram] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The program(s) that the student is participating in the context of the course.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, and year of the student''s entry or assignment to the section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'BeginDate'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The local code assigned by the School that identifies the course offering provided for the instruction of students.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'LocalCourseCode'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'SchoolId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the school year.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'SchoolYear'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The local identifier assigned to a section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'SectionIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the calendar for the academic session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'SessionName'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'StudentUSI'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'ProgramName'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociationProgram', @level2type=N'COLUMN', @level2name=N'ProgramTypeDescriptorId'
+GO
+
-- Extended Properties [edfi].[StudentSectionAttendanceEvent] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This event entity represents the recording of whether a student is in attendance for a section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAttendanceEvent'
GO
@@ -7350,6 +7444,12 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SubmissionStatusDescriptor', @level2type=N'COLUMN', @level2name=N'SubmissionStatusDescriptorId'
GO
+-- Extended Properties [edfi].[SupporterMilitaryConnectionDescriptor] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Military connection of the person/people whom the student is a dependent of.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SupporterMilitaryConnectionDescriptor'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'SupporterMilitaryConnectionDescriptor', @level2type=N'COLUMN', @level2name=N'SupporterMilitaryConnectionDescriptorId'
+GO
+
-- Extended Properties [edfi].[Survey] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A survey to identified or anonymous respondents.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Survey'
GO
@@ -7673,7 +7773,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique ident
GO
-- Extended Properties [edfi].[TermDescriptor] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the term of a session during the school year (e.g., Semester).', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'TermDescriptor'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A distinct period of time into which the academic year is divided. These could be “semesters”, “trimesters” or “quarters”, depending on the school or district’s academic calendar.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'TermDescriptor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'TermDescriptor', @level2type=N'COLUMN', @level2name=N'TermDescriptorId'
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
index 8723be454a..e3afe51f4d 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
@@ -547,7 +547,7 @@ CREATE TABLE [tracked_changes_edfi].[Grade]
OldGradingPeriodDescriptorId [INT] NOT NULL,
OldGradingPeriodDescriptorNamespace [NVARCHAR](255) NOT NULL,
OldGradingPeriodDescriptorCodeValue [NVARCHAR](50) NOT NULL,
- OldGradingPeriodSequence [INT] NOT NULL,
+ OldGradingPeriodName [NVARCHAR](60) NOT NULL,
OldGradingPeriodSchoolYear [SMALLINT] NOT NULL,
OldLocalCourseCode [NVARCHAR](60) NOT NULL,
OldSchoolId [BIGINT] NOT NULL,
@@ -563,7 +563,7 @@ CREATE TABLE [tracked_changes_edfi].[Grade]
NewGradingPeriodDescriptorId [INT] NULL,
NewGradingPeriodDescriptorNamespace [NVARCHAR](255) NULL,
NewGradingPeriodDescriptorCodeValue [NVARCHAR](50) NULL,
- NewGradingPeriodSequence [INT] NULL,
+ NewGradingPeriodName [NVARCHAR](60) NULL,
NewGradingPeriodSchoolYear [SMALLINT] NULL,
NewLocalCourseCode [NVARCHAR](60) NULL,
NewSchoolId [BIGINT] NULL,
@@ -597,13 +597,13 @@ CREATE TABLE [tracked_changes_edfi].[GradingPeriod]
OldGradingPeriodDescriptorId [INT] NOT NULL,
OldGradingPeriodDescriptorNamespace [NVARCHAR](255) NOT NULL,
OldGradingPeriodDescriptorCodeValue [NVARCHAR](50) NOT NULL,
- OldPeriodSequence [INT] NOT NULL,
+ OldGradingPeriodName [NVARCHAR](60) NOT NULL,
OldSchoolId [BIGINT] NOT NULL,
OldSchoolYear [SMALLINT] NOT NULL,
NewGradingPeriodDescriptorId [INT] NULL,
NewGradingPeriodDescriptorNamespace [NVARCHAR](255) NULL,
NewGradingPeriodDescriptorCodeValue [NVARCHAR](50) NULL,
- NewPeriodSequence [INT] NULL,
+ NewGradingPeriodName [NVARCHAR](60) NULL,
NewSchoolId [BIGINT] NULL,
NewSchoolYear [SMALLINT] NULL,
Id uniqueidentifier NOT NULL,
@@ -1065,7 +1065,7 @@ CREATE TABLE [tracked_changes_edfi].[ReportCard]
OldGradingPeriodDescriptorId [INT] NOT NULL,
OldGradingPeriodDescriptorNamespace [NVARCHAR](255) NOT NULL,
OldGradingPeriodDescriptorCodeValue [NVARCHAR](50) NOT NULL,
- OldGradingPeriodSequence [INT] NOT NULL,
+ OldGradingPeriodName [NVARCHAR](60) NOT NULL,
OldGradingPeriodSchoolId [BIGINT] NOT NULL,
OldGradingPeriodSchoolYear [SMALLINT] NOT NULL,
OldStudentUSI [INT] NOT NULL,
@@ -1074,7 +1074,7 @@ CREATE TABLE [tracked_changes_edfi].[ReportCard]
NewGradingPeriodDescriptorId [INT] NULL,
NewGradingPeriodDescriptorNamespace [NVARCHAR](255) NULL,
NewGradingPeriodDescriptorCodeValue [NVARCHAR](50) NULL,
- NewGradingPeriodSequence [INT] NULL,
+ NewGradingPeriodName [NVARCHAR](60) NULL,
NewGradingPeriodSchoolId [BIGINT] NULL,
NewGradingPeriodSchoolYear [SMALLINT] NULL,
NewStudentUSI [INT] NULL,
@@ -1512,7 +1512,7 @@ CREATE TABLE [tracked_changes_edfi].[StudentCompetencyObjective]
OldGradingPeriodDescriptorId [INT] NOT NULL,
OldGradingPeriodDescriptorNamespace [NVARCHAR](255) NOT NULL,
OldGradingPeriodDescriptorCodeValue [NVARCHAR](50) NOT NULL,
- OldGradingPeriodSequence [INT] NOT NULL,
+ OldGradingPeriodName [NVARCHAR](60) NOT NULL,
OldGradingPeriodSchoolId [BIGINT] NOT NULL,
OldGradingPeriodSchoolYear [SMALLINT] NOT NULL,
OldObjectiveEducationOrganizationId [BIGINT] NOT NULL,
@@ -1525,7 +1525,7 @@ CREATE TABLE [tracked_changes_edfi].[StudentCompetencyObjective]
NewGradingPeriodDescriptorId [INT] NULL,
NewGradingPeriodDescriptorNamespace [NVARCHAR](255) NULL,
NewGradingPeriodDescriptorCodeValue [NVARCHAR](50) NULL,
- NewGradingPeriodSequence [INT] NULL,
+ NewGradingPeriodName [NVARCHAR](60) NULL,
NewGradingPeriodSchoolId [BIGINT] NULL,
NewGradingPeriodSchoolYear [SMALLINT] NULL,
NewObjectiveEducationOrganizationId [BIGINT] NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
index 3df7ffa089..b1292eace2 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -485,12 +485,12 @@ BEGIN
-- Handle key changes
INSERT INTO tracked_changes_edfi.Grade(
- OldBeginDate, OldGradeTypeDescriptorId, OldGradeTypeDescriptorNamespace, OldGradeTypeDescriptorCodeValue, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodSequence, OldGradingPeriodSchoolYear, OldLocalCourseCode, OldSchoolId, OldSchoolYear, OldSectionIdentifier, OldSessionName, OldStudentUSI, OldStudentUniqueId,
- NewBeginDate, NewGradeTypeDescriptorId, NewGradeTypeDescriptorNamespace, NewGradeTypeDescriptorCodeValue, NewGradingPeriodDescriptorId, NewGradingPeriodDescriptorNamespace, NewGradingPeriodDescriptorCodeValue, NewGradingPeriodSequence, NewGradingPeriodSchoolYear, NewLocalCourseCode, NewSchoolId, NewSchoolYear, NewSectionIdentifier, NewSessionName, NewStudentUSI, NewStudentUniqueId,
+ OldBeginDate, OldGradeTypeDescriptorId, OldGradeTypeDescriptorNamespace, OldGradeTypeDescriptorCodeValue, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodName, OldGradingPeriodSchoolYear, OldLocalCourseCode, OldSchoolId, OldSchoolYear, OldSectionIdentifier, OldSessionName, OldStudentUSI, OldStudentUniqueId,
+ NewBeginDate, NewGradeTypeDescriptorId, NewGradeTypeDescriptorNamespace, NewGradeTypeDescriptorCodeValue, NewGradingPeriodDescriptorId, NewGradingPeriodDescriptorNamespace, NewGradingPeriodDescriptorCodeValue, NewGradingPeriodName, NewGradingPeriodSchoolYear, NewLocalCourseCode, NewSchoolId, NewSchoolYear, NewSectionIdentifier, NewSessionName, NewStudentUSI, NewStudentUniqueId,
Id, ChangeVersion)
SELECT
- d.BeginDate, d.GradeTypeDescriptorId, dj0.Namespace, dj0.CodeValue, d.GradingPeriodDescriptorId, dj1.Namespace, dj1.CodeValue, d.GradingPeriodSequence, d.GradingPeriodSchoolYear, d.LocalCourseCode, d.SchoolId, d.SchoolYear, d.SectionIdentifier, d.SessionName, d.StudentUSI, dj2.StudentUniqueId,
- i.BeginDate, i.GradeTypeDescriptorId, ij0.Namespace, ij0.CodeValue, i.GradingPeriodDescriptorId, ij1.Namespace, ij1.CodeValue, i.GradingPeriodSequence, i.GradingPeriodSchoolYear, i.LocalCourseCode, i.SchoolId, i.SchoolYear, i.SectionIdentifier, i.SessionName, i.StudentUSI, ij2.StudentUniqueId,
+ d.BeginDate, d.GradeTypeDescriptorId, dj0.Namespace, dj0.CodeValue, d.GradingPeriodDescriptorId, dj1.Namespace, dj1.CodeValue, d.GradingPeriodName, d.GradingPeriodSchoolYear, d.LocalCourseCode, d.SchoolId, d.SchoolYear, d.SectionIdentifier, d.SessionName, d.StudentUSI, dj2.StudentUniqueId,
+ i.BeginDate, i.GradeTypeDescriptorId, ij0.Namespace, ij0.CodeValue, i.GradingPeriodDescriptorId, ij1.Namespace, ij1.CodeValue, i.GradingPeriodName, i.GradingPeriodSchoolYear, i.LocalCourseCode, i.SchoolId, i.SchoolYear, i.SectionIdentifier, i.SessionName, i.StudentUSI, ij2.StudentUniqueId,
d.Id, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d INNER JOIN inserted i ON d.Id = i.Id
INNER JOIN edfi.Descriptor dj0
@@ -507,7 +507,7 @@ BEGIN
ON i.StudentUSI = ij2.StudentUSI
WHERE
- d.BeginDate <> i.BeginDate OR d.GradeTypeDescriptorId <> i.GradeTypeDescriptorId OR d.GradingPeriodDescriptorId <> i.GradingPeriodDescriptorId OR d.GradingPeriodSequence <> i.GradingPeriodSequence OR d.GradingPeriodSchoolYear <> i.GradingPeriodSchoolYear OR d.LocalCourseCode <> i.LocalCourseCode OR d.SchoolId <> i.SchoolId OR d.SchoolYear <> i.SchoolYear OR d.SectionIdentifier <> i.SectionIdentifier OR d.SessionName <> i.SessionName OR d.StudentUSI <> i.StudentUSI;
+ d.BeginDate <> i.BeginDate OR d.GradeTypeDescriptorId <> i.GradeTypeDescriptorId OR d.GradingPeriodDescriptorId <> i.GradingPeriodDescriptorId OR d.GradingPeriodName <> i.GradingPeriodName OR d.GradingPeriodSchoolYear <> i.GradingPeriodSchoolYear OR d.LocalCourseCode <> i.LocalCourseCode OR d.SchoolId <> i.SchoolId OR d.SchoolYear <> i.SchoolYear OR d.SectionIdentifier <> i.SectionIdentifier OR d.SessionName <> i.SessionName OR d.StudentUSI <> i.StudentUSI;
END
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
index 5b3bf0bc9f..8855463bc4 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -2271,8 +2271,8 @@ BEGIN
SET NOCOUNT ON
- INSERT INTO [tracked_changes_edfi].[Grade](OldBeginDate, OldGradeTypeDescriptorId, OldGradeTypeDescriptorNamespace, OldGradeTypeDescriptorCodeValue, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodSequence, OldGradingPeriodSchoolYear, OldLocalCourseCode, OldSchoolId, OldSchoolYear, OldSectionIdentifier, OldSessionName, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
- SELECT d.BeginDate, d.GradeTypeDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodDescriptorId, j1.Namespace, j1.CodeValue, d.GradingPeriodSequence, d.GradingPeriodSchoolYear, d.LocalCourseCode, d.SchoolId, d.SchoolYear, d.SectionIdentifier, d.SessionName, d.StudentUSI, j2.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ INSERT INTO [tracked_changes_edfi].[Grade](OldBeginDate, OldGradeTypeDescriptorId, OldGradeTypeDescriptorNamespace, OldGradeTypeDescriptorCodeValue, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodName, OldGradingPeriodSchoolYear, OldLocalCourseCode, OldSchoolId, OldSchoolYear, OldSectionIdentifier, OldSessionName, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
+ SELECT d.BeginDate, d.GradeTypeDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodDescriptorId, j1.Namespace, j1.CodeValue, d.GradingPeriodName, d.GradingPeriodSchoolYear, d.LocalCourseCode, d.SchoolId, d.SchoolYear, d.SectionIdentifier, d.SessionName, d.StudentUSI, j2.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d
INNER JOIN edfi.Descriptor j0
ON d.GradeTypeDescriptorId = j0.DescriptorId
@@ -2401,8 +2401,8 @@ BEGIN
SET NOCOUNT ON
- INSERT INTO [tracked_changes_edfi].[GradingPeriod](OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldPeriodSequence, OldSchoolId, OldSchoolYear, Id, Discriminator, ChangeVersion)
- SELECT d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.PeriodSequence, d.SchoolId, d.SchoolYear, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ INSERT INTO [tracked_changes_edfi].[GradingPeriod](OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodName, OldSchoolId, OldSchoolYear, Id, Discriminator, ChangeVersion)
+ SELECT d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodName, d.SchoolId, d.SchoolYear, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d
INNER JOIN edfi.Descriptor j0
ON d.GradingPeriodDescriptorId = j0.DescriptorId
@@ -4530,8 +4530,8 @@ BEGIN
SET NOCOUNT ON
- INSERT INTO [tracked_changes_edfi].[ReportCard](OldEducationOrganizationId, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodSequence, OldGradingPeriodSchoolId, OldGradingPeriodSchoolYear, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
- SELECT d.EducationOrganizationId, d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodSequence, d.GradingPeriodSchoolId, d.GradingPeriodSchoolYear, d.StudentUSI, j1.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ INSERT INTO [tracked_changes_edfi].[ReportCard](OldEducationOrganizationId, OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodName, OldGradingPeriodSchoolId, OldGradingPeriodSchoolYear, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
+ SELECT d.EducationOrganizationId, d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodName, d.GradingPeriodSchoolId, d.GradingPeriodSchoolYear, d.StudentUSI, j1.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d
INNER JOIN edfi.Descriptor j0
ON d.GradingPeriodDescriptorId = j0.DescriptorId
@@ -4920,6 +4920,27 @@ ALTER TABLE [edfi].[SectionCharacteristicDescriptor] ENABLE TRIGGER [edfi_Sectio
GO
+DROP TRIGGER IF EXISTS [edfi].[edfi_SectionTypeDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [edfi].[edfi_SectionTypeDescriptor_TR_DeleteTracking] ON [edfi].[SectionTypeDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.SectionTypeDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.SectionTypeDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.SectionTypeDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [edfi].[SectionTypeDescriptor] ENABLE TRIGGER [edfi_SectionTypeDescriptor_TR_DeleteTracking]
+GO
+
+
DROP TRIGGER IF EXISTS [edfi].[edfi_SeparationDescriptor_TR_DeleteTracking]
GO
@@ -5586,8 +5607,8 @@ BEGIN
SET NOCOUNT ON
- INSERT INTO [tracked_changes_edfi].[StudentCompetencyObjective](OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodSequence, OldGradingPeriodSchoolId, OldGradingPeriodSchoolYear, OldObjectiveEducationOrganizationId, OldObjective, OldObjectiveGradeLevelDescriptorId, OldObjectiveGradeLevelDescriptorNamespace, OldObjectiveGradeLevelDescriptorCodeValue, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
- SELECT d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodSequence, d.GradingPeriodSchoolId, d.GradingPeriodSchoolYear, d.ObjectiveEducationOrganizationId, d.Objective, d.ObjectiveGradeLevelDescriptorId, j1.Namespace, j1.CodeValue, d.StudentUSI, j2.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ INSERT INTO [tracked_changes_edfi].[StudentCompetencyObjective](OldGradingPeriodDescriptorId, OldGradingPeriodDescriptorNamespace, OldGradingPeriodDescriptorCodeValue, OldGradingPeriodName, OldGradingPeriodSchoolId, OldGradingPeriodSchoolYear, OldObjectiveEducationOrganizationId, OldObjective, OldObjectiveGradeLevelDescriptorId, OldObjectiveGradeLevelDescriptorNamespace, OldObjectiveGradeLevelDescriptorCodeValue, OldStudentUSI, OldStudentUniqueId, Id, Discriminator, ChangeVersion)
+ SELECT d.GradingPeriodDescriptorId, j0.Namespace, j0.CodeValue, d.GradingPeriodName, d.GradingPeriodSchoolId, d.GradingPeriodSchoolYear, d.ObjectiveEducationOrganizationId, d.Objective, d.ObjectiveGradeLevelDescriptorId, j1.Namespace, j1.CodeValue, d.StudentUSI, j2.StudentUniqueId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d
INNER JOIN edfi.Descriptor j0
ON d.GradingPeriodDescriptorId = j0.DescriptorId
@@ -6019,6 +6040,27 @@ ALTER TABLE [edfi].[SubmissionStatusDescriptor] ENABLE TRIGGER [edfi_SubmissionS
GO
+DROP TRIGGER IF EXISTS [edfi].[edfi_SupporterMilitaryConnectionDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [edfi].[edfi_SupporterMilitaryConnectionDescriptor_TR_DeleteTracking] ON [edfi].[SupporterMilitaryConnectionDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.SupporterMilitaryConnectionDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.SupporterMilitaryConnectionDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.SupporterMilitaryConnectionDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [edfi].[SupporterMilitaryConnectionDescriptor] ENABLE TRIGGER [edfi_SupporterMilitaryConnectionDescriptor_TR_DeleteTracking]
+GO
+
+
DROP TRIGGER IF EXISTS [edfi].[edfi_Survey_TR_DeleteTracking]
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
index 17063e9c58..fcd8c2e7c3 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
@@ -767,6 +767,7 @@ CREATE TABLE edfi.Contact (
ContactUSI SERIAL NOT NULL,
ContactUniqueId VARCHAR(32) NOT NULL,
FirstName VARCHAR(75) NOT NULL,
+ GenderIdentity VARCHAR(60) NULL,
GenerationCodeSuffix VARCHAR(10) NULL,
HighestCompletedLevelOfEducationDescriptorId INT NULL,
LastSurname VARCHAR(75) NOT NULL,
@@ -1158,6 +1159,7 @@ CREATE TABLE edfi.CourseTranscript (
FinalLetterGradeEarned VARCHAR(20) NULL,
FinalNumericGradeEarned DECIMAL(9, 2) NULL,
MethodCreditEarnedDescriptorId INT NULL,
+ ResponsibleTeacherStaffUSI INT NULL,
WhenTakenGradeLevelDescriptorId INT NULL,
Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
@@ -1252,6 +1254,40 @@ CREATE TABLE edfi.CourseTranscriptPartialCourseTranscriptAwards (
);
ALTER TABLE edfi.CourseTranscriptPartialCourseTranscriptAwards ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+-- Table edfi.CourseTranscriptProgram --
+CREATE TABLE edfi.CourseTranscriptProgram (
+ CourseAttemptResultDescriptorId INT NOT NULL,
+ CourseCode VARCHAR(60) NOT NULL,
+ CourseEducationOrganizationId BIGINT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
+ SchoolYear SMALLINT NOT NULL,
+ StudentUSI INT NOT NULL,
+ TermDescriptorId INT NOT NULL,
+ ProgramName VARCHAR(60) NOT NULL,
+ ProgramTypeDescriptorId INT NOT NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT CourseTranscriptProgram_PK PRIMARY KEY (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId, ProgramName, ProgramTypeDescriptorId)
+);
+ALTER TABLE edfi.CourseTranscriptProgram ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+
+-- Table edfi.CourseTranscriptSection --
+CREATE TABLE edfi.CourseTranscriptSection (
+ CourseAttemptResultDescriptorId INT NOT NULL,
+ CourseCode VARCHAR(60) NOT NULL,
+ CourseEducationOrganizationId BIGINT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
+ SchoolYear SMALLINT NOT NULL,
+ StudentUSI INT NOT NULL,
+ TermDescriptorId INT NOT NULL,
+ LocalCourseCode VARCHAR(60) NOT NULL,
+ SchoolId BIGINT NOT NULL,
+ SectionIdentifier VARCHAR(255) NOT NULL,
+ SessionName VARCHAR(60) NOT NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT CourseTranscriptSection_PK PRIMARY KEY (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId, LocalCourseCode, SchoolId, SectionIdentifier, SessionName)
+);
+ALTER TABLE edfi.CourseTranscriptSection ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+
-- Table edfi.Credential --
CREATE TABLE edfi.Credential (
CredentialIdentifier VARCHAR(60) NOT NULL,
@@ -2071,7 +2107,7 @@ CREATE TABLE edfi.Grade (
BeginDate DATE NOT NULL,
GradeTypeDescriptorId INT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
LocalCourseCode VARCHAR(60) NOT NULL,
SchoolId BIGINT NOT NULL,
@@ -2090,7 +2126,7 @@ CREATE TABLE edfi.Grade (
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
Id UUID NOT NULL,
- CONSTRAINT Grade_PK PRIMARY KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+ CONSTRAINT Grade_PK PRIMARY KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
);
ALTER TABLE edfi.Grade ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
ALTER TABLE edfi.Grade ALTER COLUMN Id SET DEFAULT gen_random_uuid();
@@ -2106,9 +2142,9 @@ CREATE TABLE edfi.GradebookEntry (
DueTime TIME NULL,
GradebookEntryTypeDescriptorId INT NULL,
GradingPeriodDescriptorId INT NULL,
+ GradingPeriodName VARCHAR(60) NULL,
LocalCourseCode VARCHAR(60) NULL,
MaxPoints DECIMAL(9, 2) NULL,
- PeriodSequence INT NULL,
SchoolId BIGINT NULL,
SchoolYear SMALLINT NULL,
SectionIdentifier VARCHAR(255) NULL,
@@ -2146,7 +2182,7 @@ CREATE TABLE edfi.GradeLearningStandardGrade (
BeginDate DATE NOT NULL,
GradeTypeDescriptorId INT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
LocalCourseCode VARCHAR(60) NOT NULL,
SchoolId BIGINT NOT NULL,
@@ -2160,7 +2196,7 @@ CREATE TABLE edfi.GradeLearningStandardGrade (
NumericGradeEarned DECIMAL(9, 2) NULL,
PerformanceBaseConversionDescriptorId INT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT GradeLearningStandardGrade_PK PRIMARY KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI, LearningStandardId)
+ CONSTRAINT GradeLearningStandardGrade_PK PRIMARY KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI, LearningStandardId)
);
ALTER TABLE edfi.GradeLearningStandardGrade ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -2185,17 +2221,18 @@ CREATE TABLE edfi.GradeTypeDescriptor (
-- Table edfi.GradingPeriod --
CREATE TABLE edfi.GradingPeriod (
GradingPeriodDescriptorId INT NOT NULL,
- PeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
SchoolId BIGINT NOT NULL,
SchoolYear SMALLINT NOT NULL,
BeginDate DATE NOT NULL,
EndDate DATE NOT NULL,
+ PeriodSequence INT NULL,
TotalInstructionalDays INT NOT NULL,
Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
Id UUID NOT NULL,
- CONSTRAINT GradingPeriod_PK PRIMARY KEY (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ CONSTRAINT GradingPeriod_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
);
ALTER TABLE edfi.GradingPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
ALTER TABLE edfi.GradingPeriod ALTER COLUMN Id SET DEFAULT gen_random_uuid();
@@ -3798,7 +3835,7 @@ CREATE TABLE edfi.RepeatIdentifierDescriptor (
CREATE TABLE edfi.ReportCard (
EducationOrganizationId BIGINT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
@@ -3809,7 +3846,7 @@ CREATE TABLE edfi.ReportCard (
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
Id UUID NOT NULL,
- CONSTRAINT ReportCard_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+ CONSTRAINT ReportCard_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
);
ALTER TABLE edfi.ReportCard ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
ALTER TABLE edfi.ReportCard ALTER COLUMN Id SET DEFAULT gen_random_uuid();
@@ -3819,7 +3856,7 @@ ALTER TABLE edfi.ReportCard ALTER COLUMN LastModifiedDate SET DEFAULT current_ti
CREATE TABLE edfi.ReportCardGrade (
EducationOrganizationId BIGINT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
@@ -3831,7 +3868,7 @@ CREATE TABLE edfi.ReportCardGrade (
SectionIdentifier VARCHAR(255) NOT NULL,
SessionName VARCHAR(60) NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT ReportCardGrade_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, BeginDate, GradeTypeDescriptorId, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
+ CONSTRAINT ReportCardGrade_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, BeginDate, GradeTypeDescriptorId, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
);
ALTER TABLE edfi.ReportCardGrade ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -3839,7 +3876,7 @@ ALTER TABLE edfi.ReportCardGrade ALTER COLUMN CreateDate SET DEFAULT current_tim
CREATE TABLE edfi.ReportCardGradePointAverage (
EducationOrganizationId BIGINT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
@@ -3848,7 +3885,7 @@ CREATE TABLE edfi.ReportCardGradePointAverage (
IsCumulative BOOLEAN NULL,
MaxGradePointAverageValue DECIMAL(18, 4) NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT ReportCardGradePointAverage_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, GradePointAverageTypeDescriptorId)
+ CONSTRAINT ReportCardGradePointAverage_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, GradePointAverageTypeDescriptorId)
);
ALTER TABLE edfi.ReportCardGradePointAverage ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -3856,7 +3893,7 @@ ALTER TABLE edfi.ReportCardGradePointAverage ALTER COLUMN CreateDate SET DEFAULT
CREATE TABLE edfi.ReportCardStudentCompetencyObjective (
EducationOrganizationId BIGINT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
@@ -3864,7 +3901,7 @@ CREATE TABLE edfi.ReportCardStudentCompetencyObjective (
Objective VARCHAR(60) NOT NULL,
ObjectiveGradeLevelDescriptorId INT NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT ReportCardStudentCompetencyObjective_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId)
+ CONSTRAINT ReportCardStudentCompetencyObjective_PK PRIMARY KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId)
);
ALTER TABLE edfi.ReportCardStudentCompetencyObjective ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -4052,6 +4089,7 @@ CREATE TABLE edfi.Section (
OfficialAttendancePeriod BOOLEAN NULL,
PopulationServedDescriptorId INT NULL,
SectionName VARCHAR(100) NULL,
+ SectionTypeDescriptorId INT NULL,
SequenceOfCourse INT NULL,
Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
@@ -4157,6 +4195,12 @@ CREATE TABLE edfi.SectionProgram (
);
ALTER TABLE edfi.SectionProgram ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+-- Table edfi.SectionTypeDescriptor --
+CREATE TABLE edfi.SectionTypeDescriptor (
+ SectionTypeDescriptorId INT NOT NULL,
+ CONSTRAINT SectionTypeDescriptor_PK PRIMARY KEY (SectionTypeDescriptorId)
+);
+
-- Table edfi.SeparationDescriptor --
CREATE TABLE edfi.SeparationDescriptor (
SeparationDescriptorId INT NOT NULL,
@@ -4211,9 +4255,9 @@ CREATE TABLE edfi.SessionGradingPeriod (
SchoolYear SMALLINT NOT NULL,
SessionName VARCHAR(60) NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- PeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT SessionGradingPeriod_PK PRIMARY KEY (SchoolId, SchoolYear, SessionName, GradingPeriodDescriptorId, PeriodSequence)
+ CONSTRAINT SessionGradingPeriod_PK PRIMARY KEY (SchoolId, SchoolYear, SessionName, GradingPeriodDescriptorId, GradingPeriodName)
);
ALTER TABLE edfi.SessionGradingPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -4272,6 +4316,7 @@ CREATE TABLE edfi.Staff (
BirthDate DATE NULL,
CitizenshipStatusDescriptorId INT NULL,
FirstName VARCHAR(75) NOT NULL,
+ GenderIdentity VARCHAR(60) NULL,
GenerationCodeSuffix VARCHAR(10) NULL,
HighestCompletedLevelOfEducationDescriptorId INT NULL,
HighlyQualifiedTeacher BOOLEAN NULL,
@@ -4522,6 +4567,7 @@ CREATE TABLE edfi.StaffEducationOrganizationEmploymentAssociation (
EmploymentStatusDescriptorId INT NOT NULL,
HireDate DATE NOT NULL,
StaffUSI INT NOT NULL,
+ AnnualWage MONEY NULL,
CredentialIdentifier VARCHAR(60) NULL,
Department VARCHAR(60) NULL,
EndDate DATE NULL,
@@ -5024,11 +5070,11 @@ CREATE TABLE edfi.StudentAcademicRecordReportCard (
StudentUSI INT NOT NULL,
TermDescriptorId INT NOT NULL,
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT StudentAcademicRecordReportCard_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear)
+ CONSTRAINT StudentAcademicRecordReportCard_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear)
);
ALTER TABLE edfi.StudentAcademicRecordReportCard ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -5242,7 +5288,7 @@ ALTER TABLE edfi.StudentCohortAssociationSection ALTER COLUMN CreateDate SET DEF
-- Table edfi.StudentCompetencyObjective --
CREATE TABLE edfi.StudentCompetencyObjective (
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
ObjectiveEducationOrganizationId BIGINT NOT NULL,
@@ -5255,7 +5301,7 @@ CREATE TABLE edfi.StudentCompetencyObjective (
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
Id UUID NOT NULL,
- CONSTRAINT StudentCompetencyObjective_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+ CONSTRAINT StudentCompetencyObjective_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
);
ALTER TABLE edfi.StudentCompetencyObjective ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
ALTER TABLE edfi.StudentCompetencyObjective ALTER COLUMN Id SET DEFAULT gen_random_uuid();
@@ -5264,7 +5310,7 @@ ALTER TABLE edfi.StudentCompetencyObjective ALTER COLUMN LastModifiedDate SET DE
-- Table edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation --
CREATE TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation (
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
ObjectiveEducationOrganizationId BIGINT NOT NULL,
@@ -5277,14 +5323,14 @@ CREATE TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation (
ProgramName VARCHAR(60) NOT NULL,
ProgramTypeDescriptorId INT NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI, BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+ CONSTRAINT StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI, BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
);
ALTER TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
-- Table edfi.StudentCompetencyObjectiveStudentSectionAssociation --
CREATE TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation (
GradingPeriodDescriptorId INT NOT NULL,
- GradingPeriodSequence INT NOT NULL,
+ GradingPeriodName VARCHAR(60) NOT NULL,
GradingPeriodSchoolId BIGINT NOT NULL,
GradingPeriodSchoolYear SMALLINT NOT NULL,
ObjectiveEducationOrganizationId BIGINT NOT NULL,
@@ -5298,7 +5344,7 @@ CREATE TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation (
SectionIdentifier VARCHAR(255) NOT NULL,
SessionName VARCHAR(60) NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT StudentCompetencyObjectiveStudentSectionAssociation_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI, BeginDate, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
+ CONSTRAINT StudentCompetencyObjectiveStudentSectionAssociation_PK PRIMARY KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI, BeginDate, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
);
ALTER TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
@@ -5415,6 +5461,7 @@ CREATE TABLE edfi.StudentEducationOrganizationAssociation (
EducationOrganizationId BIGINT NOT NULL,
StudentUSI INT NOT NULL,
BarrierToInternetAccessInResidenceDescriptorId INT NULL,
+ GenderIdentity VARCHAR(60) NULL,
HispanicLatinoEthnicity BOOLEAN NULL,
InternetAccessInResidence BOOLEAN NULL,
InternetAccessTypeInResidenceDescriptorId INT NULL,
@@ -5425,7 +5472,8 @@ CREATE TABLE edfi.StudentEducationOrganizationAssociation (
PrimaryLearningDeviceAwayFromSchoolDescriptorId INT NULL,
PrimaryLearningDeviceProviderDescriptorId INT NULL,
ProfileThumbnail VARCHAR(255) NULL,
- SexDescriptorId INT NOT NULL,
+ SexDescriptorId INT NULL,
+ SupporterMilitaryConnectionDescriptorId INT NULL,
Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
@@ -6235,6 +6283,23 @@ ALTER TABLE edfi.StudentSectionAssociation ALTER COLUMN CreateDate SET DEFAULT c
ALTER TABLE edfi.StudentSectionAssociation ALTER COLUMN Id SET DEFAULT gen_random_uuid();
ALTER TABLE edfi.StudentSectionAssociation ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp;
+-- Table edfi.StudentSectionAssociationProgram --
+CREATE TABLE edfi.StudentSectionAssociationProgram (
+ BeginDate DATE NOT NULL,
+ LocalCourseCode VARCHAR(60) NOT NULL,
+ SchoolId BIGINT NOT NULL,
+ SchoolYear SMALLINT NOT NULL,
+ SectionIdentifier VARCHAR(255) NOT NULL,
+ SessionName VARCHAR(60) NOT NULL,
+ StudentUSI INT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
+ ProgramName VARCHAR(60) NOT NULL,
+ ProgramTypeDescriptorId INT NOT NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT StudentSectionAssociationProgram_PK PRIMARY KEY (BeginDate, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI, EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+);
+ALTER TABLE edfi.StudentSectionAssociationProgram ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+
-- Table edfi.StudentSectionAttendanceEvent --
CREATE TABLE edfi.StudentSectionAttendanceEvent (
AttendanceEventCategoryDescriptorId INT NOT NULL,
@@ -6453,6 +6518,12 @@ CREATE TABLE edfi.SubmissionStatusDescriptor (
CONSTRAINT SubmissionStatusDescriptor_PK PRIMARY KEY (SubmissionStatusDescriptorId)
);
+-- Table edfi.SupporterMilitaryConnectionDescriptor --
+CREATE TABLE edfi.SupporterMilitaryConnectionDescriptor (
+ SupporterMilitaryConnectionDescriptorId INT NOT NULL,
+ CONSTRAINT SupporterMilitaryConnectionDescriptor_PK PRIMARY KEY (SupporterMilitaryConnectionDescriptorId)
+);
+
-- Table edfi.Survey --
CREATE TABLE edfi.Survey (
Namespace VARCHAR(255) NOT NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
index 7b3f1f26d7..1d4841ef4c 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
@@ -1185,6 +1185,13 @@ REFERENCES edfi.MethodCreditEarnedDescriptor (MethodCreditEarnedDescriptorId)
CREATE INDEX FK_6acf2b_MethodCreditEarnedDescriptor
ON edfi.CourseTranscript (MethodCreditEarnedDescriptorId ASC);
+ALTER TABLE edfi.CourseTranscript ADD CONSTRAINT FK_6acf2b_Staff FOREIGN KEY (ResponsibleTeacherStaffUSI)
+REFERENCES edfi.Staff (StaffUSI)
+;
+
+CREATE INDEX FK_6acf2b_Staff
+ON edfi.CourseTranscript (ResponsibleTeacherStaffUSI ASC);
+
ALTER TABLE edfi.CourseTranscript ADD CONSTRAINT FK_6acf2b_StudentAcademicRecord FOREIGN KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
REFERENCES edfi.StudentAcademicRecord (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
;
@@ -1252,6 +1259,31 @@ REFERENCES edfi.MethodCreditEarnedDescriptor (MethodCreditEarnedDescriptorId)
CREATE INDEX FK_e811ad_MethodCreditEarnedDescriptor
ON edfi.CourseTranscriptPartialCourseTranscriptAwards (MethodCreditEarnedDescriptorId ASC);
+ALTER TABLE edfi.CourseTranscriptProgram ADD CONSTRAINT FK_57d145_CourseTranscript FOREIGN KEY (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
+REFERENCES edfi.CourseTranscript (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
+ON DELETE CASCADE
+;
+
+ALTER TABLE edfi.CourseTranscriptProgram ADD CONSTRAINT FK_57d145_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+;
+
+CREATE INDEX FK_57d145_Program
+ON edfi.CourseTranscriptProgram (EducationOrganizationId ASC, ProgramName ASC, ProgramTypeDescriptorId ASC);
+
+ALTER TABLE edfi.CourseTranscriptSection ADD CONSTRAINT FK_cd2ae9_CourseTranscript FOREIGN KEY (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
+REFERENCES edfi.CourseTranscript (CourseAttemptResultDescriptorId, CourseCode, CourseEducationOrganizationId, EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
+ON DELETE CASCADE
+;
+
+ALTER TABLE edfi.CourseTranscriptSection ADD CONSTRAINT FK_cd2ae9_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
+REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
+ON UPDATE CASCADE
+;
+
+CREATE INDEX FK_cd2ae9_Section
+ON edfi.CourseTranscriptSection (LocalCourseCode ASC, SchoolId ASC, SchoolYear ASC, SectionIdentifier ASC, SessionName ASC);
+
ALTER TABLE edfi.Credential ADD CONSTRAINT FK_b1c42b_CredentialFieldDescriptor FOREIGN KEY (CredentialFieldDescriptorId)
REFERENCES edfi.CredentialFieldDescriptor (CredentialFieldDescriptorId)
;
@@ -1989,12 +2021,12 @@ REFERENCES edfi.GradeTypeDescriptor (GradeTypeDescriptorId)
CREATE INDEX FK_839e20_GradeTypeDescriptor
ON edfi.Grade (GradeTypeDescriptorId ASC);
-ALTER TABLE edfi.Grade ADD CONSTRAINT FK_839e20_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, SchoolId, GradingPeriodSchoolYear)
-REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ALTER TABLE edfi.Grade ADD CONSTRAINT FK_839e20_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, GradingPeriodSchoolYear)
+REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
;
CREATE INDEX FK_839e20_GradingPeriod
-ON edfi.Grade (GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, SchoolId ASC, GradingPeriodSchoolYear ASC);
+ON edfi.Grade (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, SchoolId ASC, GradingPeriodSchoolYear ASC);
ALTER TABLE edfi.Grade ADD CONSTRAINT FK_839e20_PerformanceBaseConversionDescriptor FOREIGN KEY (PerformanceBaseConversionDescriptorId)
REFERENCES edfi.PerformanceBaseConversionDescriptor (PerformanceBaseConversionDescriptorId)
@@ -2018,12 +2050,12 @@ REFERENCES edfi.GradebookEntryTypeDescriptor (GradebookEntryTypeDescriptorId)
CREATE INDEX FK_466cfa_GradebookEntryTypeDescriptor
ON edfi.GradebookEntry (GradebookEntryTypeDescriptorId ASC);
-ALTER TABLE edfi.GradebookEntry ADD CONSTRAINT FK_466cfa_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
-REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ALTER TABLE edfi.GradebookEntry ADD CONSTRAINT FK_466cfa_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
+REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
;
CREATE INDEX FK_466cfa_GradingPeriod
-ON edfi.GradebookEntry (GradingPeriodDescriptorId ASC, PeriodSequence ASC, SchoolId ASC, SchoolYear ASC);
+ON edfi.GradebookEntry (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, SchoolId ASC, SchoolYear ASC);
ALTER TABLE edfi.GradebookEntry ADD CONSTRAINT FK_466cfa_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
@@ -2051,8 +2083,8 @@ REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
;
-ALTER TABLE edfi.GradeLearningStandardGrade ADD CONSTRAINT FK_92f7f8_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
-REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+ALTER TABLE edfi.GradeLearningStandardGrade ADD CONSTRAINT FK_92f7f8_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
ON DELETE CASCADE
ON UPDATE CASCADE
;
@@ -3671,12 +3703,12 @@ REFERENCES edfi.EducationOrganization (EducationOrganizationId)
CREATE INDEX FK_ec1992_EducationOrganization
ON edfi.ReportCard (EducationOrganizationId ASC);
-ALTER TABLE edfi.ReportCard ADD CONSTRAINT FK_ec1992_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear)
-REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ALTER TABLE edfi.ReportCard ADD CONSTRAINT FK_ec1992_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear)
+REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
;
CREATE INDEX FK_ec1992_GradingPeriod
-ON edfi.ReportCard (GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC);
+ON edfi.ReportCard (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC);
ALTER TABLE edfi.ReportCard ADD CONSTRAINT FK_ec1992_Student FOREIGN KEY (StudentUSI)
REFERENCES edfi.Student (StudentUSI)
@@ -3685,16 +3717,16 @@ REFERENCES edfi.Student (StudentUSI)
CREATE INDEX FK_ec1992_Student
ON edfi.ReportCard (StudentUSI ASC);
-ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
-REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
ON UPDATE CASCADE
;
CREATE INDEX FK_f203d3_Grade
-ON edfi.ReportCardGrade (BeginDate ASC, GradeTypeDescriptorId ASC, GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, GradingPeriodSchoolYear ASC, LocalCourseCode ASC, SchoolId ASC, SchoolYear ASC, SectionIdentifier ASC, SessionName ASC, StudentUSI ASC);
+ON edfi.ReportCardGrade (BeginDate ASC, GradeTypeDescriptorId ASC, GradingPeriodDescriptorId ASC, GradingPeriodName ASC, GradingPeriodSchoolYear ASC, LocalCourseCode ASC, SchoolId ASC, SchoolYear ASC, SectionIdentifier ASC, SessionName ASC, StudentUSI ASC);
-ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
-REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
ON DELETE CASCADE
;
@@ -3705,22 +3737,22 @@ REFERENCES edfi.GradePointAverageTypeDescriptor (GradePointAverageTypeDescriptor
CREATE INDEX FK_8574ad_GradePointAverageTypeDescriptor
ON edfi.ReportCardGradePointAverage (GradePointAverageTypeDescriptorId ASC);
-ALTER TABLE edfi.ReportCardGradePointAverage ADD CONSTRAINT FK_8574ad_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
-REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+ALTER TABLE edfi.ReportCardGradePointAverage ADD CONSTRAINT FK_8574ad_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
ON DELETE CASCADE
;
-ALTER TABLE edfi.ReportCardStudentCompetencyObjective ADD CONSTRAINT FK_c16d6c_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
-REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+ALTER TABLE edfi.ReportCardStudentCompetencyObjective ADD CONSTRAINT FK_c16d6c_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
ON DELETE CASCADE
;
-ALTER TABLE edfi.ReportCardStudentCompetencyObjective ADD CONSTRAINT FK_c16d6c_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
-REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+ALTER TABLE edfi.ReportCardStudentCompetencyObjective ADD CONSTRAINT FK_c16d6c_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
;
CREATE INDEX FK_c16d6c_StudentCompetencyObjective
-ON edfi.ReportCardStudentCompetencyObjective (GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC, ObjectiveEducationOrganizationId ASC, Objective ASC, ObjectiveGradeLevelDescriptorId ASC, StudentUSI ASC);
+ON edfi.ReportCardStudentCompetencyObjective (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC, ObjectiveEducationOrganizationId ASC, Objective ASC, ObjectiveGradeLevelDescriptorId ASC, StudentUSI ASC);
ALTER TABLE edfi.ReporterDescriptionDescriptor ADD CONSTRAINT FK_62c0d2_Descriptor FOREIGN KEY (ReporterDescriptionDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
@@ -3982,6 +4014,13 @@ REFERENCES edfi.School (SchoolId)
CREATE INDEX FK_dfca5d_School
ON edfi.Section (LocationSchoolId ASC);
+ALTER TABLE edfi.Section ADD CONSTRAINT FK_dfca5d_SectionTypeDescriptor FOREIGN KEY (SectionTypeDescriptorId)
+REFERENCES edfi.SectionTypeDescriptor (SectionTypeDescriptorId)
+;
+
+CREATE INDEX FK_dfca5d_SectionTypeDescriptor
+ON edfi.Section (SectionTypeDescriptorId ASC);
+
ALTER TABLE edfi.SectionAttendanceTakenEvent ADD CONSTRAINT FK_7bbbe7_CalendarDate FOREIGN KEY (CalendarCode, Date, SchoolId, SchoolYear)
REFERENCES edfi.CalendarDate (CalendarCode, Date, SchoolId, SchoolYear)
;
@@ -4075,6 +4114,11 @@ ON DELETE CASCADE
ON UPDATE CASCADE
;
+ALTER TABLE edfi.SectionTypeDescriptor ADD CONSTRAINT FK_17bb6e_Descriptor FOREIGN KEY (SectionTypeDescriptorId)
+REFERENCES edfi.Descriptor (DescriptorId)
+ON DELETE CASCADE
+;
+
ALTER TABLE edfi.SeparationDescriptor ADD CONSTRAINT FK_cd3406_Descriptor FOREIGN KEY (SeparationDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
@@ -4124,12 +4168,12 @@ ON DELETE CASCADE
ON UPDATE CASCADE
;
-ALTER TABLE edfi.SessionGradingPeriod ADD CONSTRAINT FK_c4b3e0_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
-REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ALTER TABLE edfi.SessionGradingPeriod ADD CONSTRAINT FK_c4b3e0_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
+REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
;
CREATE INDEX FK_c4b3e0_GradingPeriod
-ON edfi.SessionGradingPeriod (GradingPeriodDescriptorId ASC, PeriodSequence ASC, SchoolId ASC, SchoolYear ASC);
+ON edfi.SessionGradingPeriod (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, SchoolId ASC, SchoolYear ASC);
ALTER TABLE edfi.SessionGradingPeriod ADD CONSTRAINT FK_c4b3e0_Session FOREIGN KEY (SchoolId, SchoolYear, SessionName)
REFERENCES edfi.Session (SchoolId, SchoolYear, SessionName)
@@ -4968,12 +5012,12 @@ REFERENCES edfi.StudentAcademicRecord (EducationOrganizationId, SchoolYear, Stud
ON DELETE CASCADE
;
-ALTER TABLE edfi.StudentAcademicRecordReportCard ADD CONSTRAINT FK_84e5e0_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
-REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+ALTER TABLE edfi.StudentAcademicRecordReportCard ADD CONSTRAINT FK_84e5e0_ReportCard FOREIGN KEY (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
+REFERENCES edfi.ReportCard (EducationOrganizationId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, StudentUSI)
;
CREATE INDEX FK_84e5e0_ReportCard
-ON edfi.StudentAcademicRecordReportCard (EducationOrganizationId ASC, GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC, StudentUSI ASC);
+ON edfi.StudentAcademicRecordReportCard (EducationOrganizationId ASC, GradingPeriodDescriptorId ASC, GradingPeriodName ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC, StudentUSI ASC);
ALTER TABLE edfi.StudentAcademicRecordReportCard ADD CONSTRAINT FK_84e5e0_StudentAcademicRecord FOREIGN KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
REFERENCES edfi.StudentAcademicRecord (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
@@ -5269,12 +5313,12 @@ REFERENCES edfi.CompetencyObjective (EducationOrganizationId, Objective, Objecti
CREATE INDEX FK_395c07_CompetencyObjective
ON edfi.StudentCompetencyObjective (ObjectiveEducationOrganizationId ASC, Objective ASC, ObjectiveGradeLevelDescriptorId ASC);
-ALTER TABLE edfi.StudentCompetencyObjective ADD CONSTRAINT FK_395c07_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear)
-REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, PeriodSequence, SchoolId, SchoolYear)
+ALTER TABLE edfi.StudentCompetencyObjective ADD CONSTRAINT FK_395c07_GradingPeriod FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear)
+REFERENCES edfi.GradingPeriod (GradingPeriodDescriptorId, GradingPeriodName, SchoolId, SchoolYear)
;
CREATE INDEX FK_395c07_GradingPeriod
-ON edfi.StudentCompetencyObjective (GradingPeriodDescriptorId ASC, GradingPeriodSequence ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC);
+ON edfi.StudentCompetencyObjective (GradingPeriodDescriptorId ASC, GradingPeriodName ASC, GradingPeriodSchoolId ASC, GradingPeriodSchoolYear ASC);
ALTER TABLE edfi.StudentCompetencyObjective ADD CONSTRAINT FK_395c07_Student FOREIGN KEY (StudentUSI)
REFERENCES edfi.Student (StudentUSI)
@@ -5290,13 +5334,13 @@ REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizati
CREATE INDEX FK_005337_GeneralStudentProgramAssociation
ON edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation (BeginDate ASC, EducationOrganizationId ASC, ProgramEducationOrganizationId ASC, ProgramName ASC, ProgramTypeDescriptorId ASC, StudentUSI ASC);
-ALTER TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation ADD CONSTRAINT FK_005337_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
-REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+ALTER TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation ADD CONSTRAINT FK_005337_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
ON DELETE CASCADE
;
-ALTER TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation ADD CONSTRAINT FK_ee68ed_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
-REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodSequence, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+ALTER TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation ADD CONSTRAINT FK_ee68ed_StudentCompetencyObjective FOREIGN KEY (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
+REFERENCES edfi.StudentCompetencyObjective (GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolId, GradingPeriodSchoolYear, ObjectiveEducationOrganizationId, Objective, ObjectiveGradeLevelDescriptorId, StudentUSI)
ON DELETE CASCADE
;
@@ -5482,6 +5526,13 @@ REFERENCES edfi.Student (StudentUSI)
CREATE INDEX FK_8e1257_Student
ON edfi.StudentEducationOrganizationAssociation (StudentUSI ASC);
+ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD CONSTRAINT FK_8e1257_SupporterMilitaryConnectionDescriptor FOREIGN KEY (SupporterMilitaryConnectionDescriptorId)
+REFERENCES edfi.SupporterMilitaryConnectionDescriptor (SupporterMilitaryConnectionDescriptorId)
+;
+
+CREATE INDEX FK_8e1257_SupporterMilitaryConnectionDescriptor
+ON edfi.StudentEducationOrganizationAssociation (SupporterMilitaryConnectionDescriptorId ASC);
+
ALTER TABLE edfi.StudentEducationOrganizationAssociationAddress ADD CONSTRAINT FK_f9e163_AddressTypeDescriptor FOREIGN KEY (AddressTypeDescriptorId)
REFERENCES edfi.AddressTypeDescriptor (AddressTypeDescriptorId)
;
@@ -6411,6 +6462,19 @@ REFERENCES edfi.Student (StudentUSI)
CREATE INDEX FK_39aa3c_Student
ON edfi.StudentSectionAssociation (StudentUSI ASC);
+ALTER TABLE edfi.StudentSectionAssociationProgram ADD CONSTRAINT FK_990204_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
+;
+
+CREATE INDEX FK_990204_Program
+ON edfi.StudentSectionAssociationProgram (EducationOrganizationId ASC, ProgramName ASC, ProgramTypeDescriptorId ASC);
+
+ALTER TABLE edfi.StudentSectionAssociationProgram ADD CONSTRAINT FK_990204_StudentSectionAssociation FOREIGN KEY (BeginDate, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+REFERENCES edfi.StudentSectionAssociation (BeginDate, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
+ON DELETE CASCADE
+ON UPDATE CASCADE
+;
+
ALTER TABLE edfi.StudentSectionAttendanceEvent ADD CONSTRAINT FK_61b087_AttendanceEventCategoryDescriptor FOREIGN KEY (AttendanceEventCategoryDescriptorId)
REFERENCES edfi.AttendanceEventCategoryDescriptor (AttendanceEventCategoryDescriptorId)
;
@@ -6623,6 +6687,11 @@ REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
;
+ALTER TABLE edfi.SupporterMilitaryConnectionDescriptor ADD CONSTRAINT FK_5d0e44_Descriptor FOREIGN KEY (SupporterMilitaryConnectionDescriptorId)
+REFERENCES edfi.Descriptor (DescriptorId)
+ON DELETE CASCADE
+;
+
ALTER TABLE edfi.Survey ADD CONSTRAINT FK_211bb3_EducationOrganization FOREIGN KEY (EducationOrganizationId)
REFERENCES edfi.EducationOrganization (EducationOrganizationId)
;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
index 635906299b..f2ae3b26c2 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
@@ -479,6 +479,7 @@ COMMENT ON TABLE edfi.Contact IS 'This entity represents a contact of a student,
COMMENT ON COLUMN edfi.Contact.ContactUSI IS 'A unique alphanumeric code assigned to a contact.';
COMMENT ON COLUMN edfi.Contact.ContactUniqueId IS 'A unique alphanumeric code assigned to a contact.';
COMMENT ON COLUMN edfi.Contact.FirstName IS 'A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.';
+COMMENT ON COLUMN edfi.Contact.GenderIdentity IS 'The gender the contact identifies themselves as.';
COMMENT ON COLUMN edfi.Contact.GenerationCodeSuffix IS 'An appendage, if any, used to denote an individual''s generation in his family (e.g., Jr., Sr., III).';
COMMENT ON COLUMN edfi.Contact.HighestCompletedLevelOfEducationDescriptorId IS 'The extent of formal instruction an individual has received (e.g., the highest grade in school completed or its equivalent or the highest degree received).';
COMMENT ON COLUMN edfi.Contact.LastSurname IS 'The name borne in common by members of a family.';
@@ -749,6 +750,7 @@ COMMENT ON COLUMN edfi.CourseTranscript.ExternalEducationOrganizationNameOfInsti
COMMENT ON COLUMN edfi.CourseTranscript.FinalLetterGradeEarned IS 'The final indicator of student performance in a class as submitted by the instructor.';
COMMENT ON COLUMN edfi.CourseTranscript.FinalNumericGradeEarned IS 'The final indicator of student performance in a class as submitted by the instructor.';
COMMENT ON COLUMN edfi.CourseTranscript.MethodCreditEarnedDescriptorId IS 'The method the credits were earned.';
+COMMENT ON COLUMN edfi.CourseTranscript.ResponsibleTeacherStaffUSI IS 'A unique alphanumeric code assigned to a staff.';
COMMENT ON COLUMN edfi.CourseTranscript.WhenTakenGradeLevelDescriptorId IS 'Student''s grade level at time of course.';
-- Extended Properties [edfi].[CourseTranscriptAcademicSubject] --
@@ -814,6 +816,32 @@ COMMENT ON COLUMN edfi.CourseTranscriptPartialCourseTranscriptAwards.LetterGrade
COMMENT ON COLUMN edfi.CourseTranscriptPartialCourseTranscriptAwards.MethodCreditEarnedDescriptorId IS 'The method the credits were earned.';
COMMENT ON COLUMN edfi.CourseTranscriptPartialCourseTranscriptAwards.NumericGradeEarned IS 'The indicator of student performance as submitted by the instructor.';
+-- Extended Properties [edfi].[CourseTranscriptProgram] --
+COMMENT ON TABLE edfi.CourseTranscriptProgram IS 'The program(s) that the student participated in the context of the course.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.CourseAttemptResultDescriptorId IS 'The result from the student''s attempt to take the course.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.CourseCode IS 'A unique alphanumeric code assigned to a course.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.CourseEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.EducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.SchoolYear IS 'The identifier for the school year.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.TermDescriptorId IS 'The term for the session during the school year.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.';
+COMMENT ON COLUMN edfi.CourseTranscriptProgram.ProgramTypeDescriptorId IS 'The type of program.';
+
+-- Extended Properties [edfi].[CourseTranscriptSection] --
+COMMENT ON TABLE edfi.CourseTranscriptSection IS 'The section(s) associated with the course transcript.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.CourseAttemptResultDescriptorId IS 'The result from the student''s attempt to take the course.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.CourseCode IS 'A unique alphanumeric code assigned to a course.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.CourseEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.EducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.SchoolYear IS 'The identifier for the school year.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.TermDescriptorId IS 'The term for the session during the school year.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.LocalCourseCode IS 'The local code assigned by the School that identifies the course offering provided for the instruction of students.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.SchoolId IS 'The identifier assigned to a school.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.SectionIdentifier IS 'The local identifier assigned to a section.';
+COMMENT ON COLUMN edfi.CourseTranscriptSection.SessionName IS 'The identifier for the calendar for the academic session.';
+
-- Extended Properties [edfi].[Credential] --
COMMENT ON TABLE edfi.Credential IS 'The legal document giving authorization to perform teaching assignment services.';
COMMENT ON COLUMN edfi.Credential.CredentialIdentifier IS 'Identifier or serial number assigned to the credential.';
@@ -1315,8 +1343,8 @@ COMMENT ON COLUMN edfi.GeneralStudentProgramAssociationProgramParticipationStatu
COMMENT ON TABLE edfi.Grade IS 'This educational entity represents an overall score or assessment tied to a course over a period of time (i.e., the grading period). Student grades are usually a compilation of marks and other scores.';
COMMENT ON COLUMN edfi.Grade.BeginDate IS 'Month, day, and year of the student''s entry or assignment to the section.';
COMMENT ON COLUMN edfi.Grade.GradeTypeDescriptorId IS 'The type of grade reported (e.g., exam, final, grading period).';
-COMMENT ON COLUMN edfi.Grade.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.Grade.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.Grade.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.Grade.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.Grade.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.Grade.LocalCourseCode IS 'The local code assigned by the School that identifies the course offering provided for the instruction of students.';
COMMENT ON COLUMN edfi.Grade.SchoolId IS 'The identifier assigned to a school.';
@@ -1341,10 +1369,10 @@ COMMENT ON COLUMN edfi.GradebookEntry.Description IS 'A description of the assig
COMMENT ON COLUMN edfi.GradebookEntry.DueDate IS 'The date the assignment, homework, or assessment is due.';
COMMENT ON COLUMN edfi.GradebookEntry.DueTime IS 'The time the assignment, homework, or assessment is due.';
COMMENT ON COLUMN edfi.GradebookEntry.GradebookEntryTypeDescriptorId IS 'The type of the gradebook entry.';
-COMMENT ON COLUMN edfi.GradebookEntry.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.GradebookEntry.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.GradebookEntry.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.GradebookEntry.LocalCourseCode IS 'The local code assigned by the School that identifies the course offering provided for the instruction of students.';
COMMENT ON COLUMN edfi.GradebookEntry.MaxPoints IS 'The maximum number of points that can be earned for the submission.';
-COMMENT ON COLUMN edfi.GradebookEntry.PeriodSequence IS 'The sequential order of this period relative to other periods.';
COMMENT ON COLUMN edfi.GradebookEntry.SchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.GradebookEntry.SchoolYear IS 'The identifier for the school year.';
COMMENT ON COLUMN edfi.GradebookEntry.SectionIdentifier IS 'The local identifier assigned to a section.';
@@ -1366,8 +1394,8 @@ COMMENT ON COLUMN edfi.GradebookEntryTypeDescriptor.GradebookEntryTypeDescriptor
COMMENT ON TABLE edfi.GradeLearningStandardGrade IS 'A collection of learning standards associated with the grade.';
COMMENT ON COLUMN edfi.GradeLearningStandardGrade.BeginDate IS 'Month, day, and year of the student''s entry or assignment to the section.';
COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradeTypeDescriptorId IS 'The type of grade reported (e.g., exam, final, grading period).';
-COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.GradeLearningStandardGrade.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.GradeLearningStandardGrade.LocalCourseCode IS 'The local code assigned by the School that identifies the course offering provided for the instruction of students.';
COMMENT ON COLUMN edfi.GradeLearningStandardGrade.SchoolId IS 'The identifier assigned to a school.';
@@ -1395,16 +1423,17 @@ COMMENT ON COLUMN edfi.GradeTypeDescriptor.GradeTypeDescriptorId IS 'A unique id
-- Extended Properties [edfi].[GradingPeriod] --
COMMENT ON TABLE edfi.GradingPeriod IS 'This entity represents the time span for which grades are reported.';
-COMMENT ON COLUMN edfi.GradingPeriod.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.GradingPeriod.PeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.GradingPeriod.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.GradingPeriod.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.GradingPeriod.SchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.GradingPeriod.SchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.GradingPeriod.BeginDate IS 'Month, day, and year of the first day of the grading period.';
COMMENT ON COLUMN edfi.GradingPeriod.EndDate IS 'Month, day, and year of the last day of the grading period.';
+COMMENT ON COLUMN edfi.GradingPeriod.PeriodSequence IS 'The sequential order of this period relative to other periods.';
COMMENT ON COLUMN edfi.GradingPeriod.TotalInstructionalDays IS 'Total days available for educational instruction during the grading period.';
-- Extended Properties [edfi].[GradingPeriodDescriptor] --
-COMMENT ON TABLE edfi.GradingPeriodDescriptor IS 'This descriptor defines the name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.';
+COMMENT ON TABLE edfi.GradingPeriodDescriptor IS 'This descriptor defines the state''s name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.';
COMMENT ON COLUMN edfi.GradingPeriodDescriptor.GradingPeriodDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[GraduationPlan] --
@@ -2390,8 +2419,8 @@ COMMENT ON COLUMN edfi.RepeatIdentifierDescriptor.RepeatIdentifierDescriptorId I
-- Extended Properties [edfi].[ReportCard] --
COMMENT ON TABLE edfi.ReportCard IS 'This educational entity represents the collection of student grades for courses taken during a grading period.';
COMMENT ON COLUMN edfi.ReportCard.EducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.ReportCard.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.ReportCard.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.ReportCard.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.ReportCard.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.ReportCard.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.ReportCard.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.ReportCard.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
@@ -2402,8 +2431,8 @@ COMMENT ON COLUMN edfi.ReportCard.NumberOfDaysTardy IS 'The number of days an in
-- Extended Properties [edfi].[ReportCardGrade] --
COMMENT ON TABLE edfi.ReportCardGrade IS 'Grades for the classes attended by the student for this grading period.';
COMMENT ON COLUMN edfi.ReportCardGrade.EducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.ReportCardGrade.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.ReportCardGrade.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
@@ -2418,8 +2447,8 @@ COMMENT ON COLUMN edfi.ReportCardGrade.SessionName IS 'The identifier for the ca
-- Extended Properties [edfi].[ReportCardGradePointAverage] --
COMMENT ON TABLE edfi.ReportCardGradePointAverage IS 'A measure of average performance for courses taken by an individual.';
COMMENT ON COLUMN edfi.ReportCardGradePointAverage.EducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.ReportCardGradePointAverage.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.ReportCardGradePointAverage.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
@@ -2431,8 +2460,8 @@ COMMENT ON COLUMN edfi.ReportCardGradePointAverage.MaxGradePointAverageValue IS
-- Extended Properties [edfi].[ReportCardStudentCompetencyObjective] --
COMMENT ON TABLE edfi.ReportCardStudentCompetencyObjective IS 'The student competency evaluations associated for this grading period.';
COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.EducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.ReportCardStudentCompetencyObjective.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
@@ -2536,7 +2565,7 @@ COMMENT ON COLUMN edfi.SchoolGradeLevel.SchoolId IS 'The identifier assigned to
COMMENT ON COLUMN edfi.SchoolGradeLevel.GradeLevelDescriptorId IS 'The grade levels served at the school.';
-- Extended Properties [edfi].[SchoolTypeDescriptor] --
-COMMENT ON TABLE edfi.SchoolTypeDescriptor IS 'The type of education institution as classified by its primary focus.';
+COMMENT ON TABLE edfi.SchoolTypeDescriptor IS 'The type of education institution as classified by its primary focus such as Alternative, Career and Technical Education, Regular, or Special Education schools.';
COMMENT ON COLUMN edfi.SchoolTypeDescriptor.SchoolTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[SchoolYearType] --
@@ -2563,6 +2592,7 @@ COMMENT ON COLUMN edfi.Section.MediumOfInstructionDescriptorId IS 'The media thr
COMMENT ON COLUMN edfi.Section.OfficialAttendancePeriod IS 'Indicator of whether this section is used for official daily attendance. Alternatively, official daily attendance may be tied to a class period.';
COMMENT ON COLUMN edfi.Section.PopulationServedDescriptorId IS 'The type of students the section is offered and tailored to.';
COMMENT ON COLUMN edfi.Section.SectionName IS 'A locally-defined name for the section, generally created to make the section more recognizable in informal contexts and generally distinct from the section identifier.';
+COMMENT ON COLUMN edfi.Section.SectionTypeDescriptorId IS 'Specifies whether the section is for attendance only, credit only, or both.';
COMMENT ON COLUMN edfi.Section.SequenceOfCourse IS 'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.';
-- Extended Properties [edfi].[SectionAttendanceTakenEvent] --
@@ -2628,6 +2658,10 @@ COMMENT ON COLUMN edfi.SectionProgram.EducationOrganizationId IS 'The identifier
COMMENT ON COLUMN edfi.SectionProgram.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.';
COMMENT ON COLUMN edfi.SectionProgram.ProgramTypeDescriptorId IS 'The type of program.';
+-- Extended Properties [edfi].[SectionTypeDescriptor] --
+COMMENT ON TABLE edfi.SectionTypeDescriptor IS 'Specifies whether the section is for attendance only, credit only, or both.';
+COMMENT ON COLUMN edfi.SectionTypeDescriptor.SectionTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+
-- Extended Properties [edfi].[SeparationDescriptor] --
COMMENT ON TABLE edfi.SeparationDescriptor IS 'Type of employment separation; for example: Voluntary separation, Involuntary separation, Mutual agreement. Other, etc.';
COMMENT ON COLUMN edfi.SeparationDescriptor.SeparationDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
@@ -2641,13 +2675,13 @@ COMMENT ON TABLE edfi.ServiceDescriptor IS 'This descriptor defines the services
COMMENT ON COLUMN edfi.ServiceDescriptor.ServiceDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[Session] --
-COMMENT ON TABLE edfi.Session IS 'A term in the school year, generally a unit of time into which courses are scheduled, instruction occurs and by which credits are awarded. Sessions may be interrupted by vacations or other events.';
+COMMENT ON TABLE edfi.Session IS 'A specific designated unit of time during which instruction is provided, grades are reported and academic credits are awarded to students (whenever applicable). Sessions serve as organized segments of the academic year and can be interrupted by vacations or other events.';
COMMENT ON COLUMN edfi.Session.SchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.Session.SchoolYear IS 'The identifier for the school year.';
COMMENT ON COLUMN edfi.Session.SessionName IS 'The identifier for the calendar for the academic session.';
COMMENT ON COLUMN edfi.Session.BeginDate IS 'Month, day, and year of the first day of the session.';
COMMENT ON COLUMN edfi.Session.EndDate IS 'Month, day and year of the last day of the session.';
-COMMENT ON COLUMN edfi.Session.TermDescriptorId IS 'An descriptor value indicating the term.';
+COMMENT ON COLUMN edfi.Session.TermDescriptorId IS 'A descriptor value to indicate the term that the session is associated with.';
COMMENT ON COLUMN edfi.Session.TotalInstructionalDays IS 'The total number of instructional days in the school calendar.';
-- Extended Properties [edfi].[SessionAcademicWeek] --
@@ -2662,8 +2696,8 @@ COMMENT ON TABLE edfi.SessionGradingPeriod IS 'Grading periods associated with t
COMMENT ON COLUMN edfi.SessionGradingPeriod.SchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.SessionGradingPeriod.SchoolYear IS 'The identifier for the school year.';
COMMENT ON COLUMN edfi.SessionGradingPeriod.SessionName IS 'The identifier for the calendar for the academic session.';
-COMMENT ON COLUMN edfi.SessionGradingPeriod.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.SessionGradingPeriod.PeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.SessionGradingPeriod.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.SessionGradingPeriod.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
-- Extended Properties [edfi].[SexDescriptor] --
COMMENT ON TABLE edfi.SexDescriptor IS 'A person''s birth sex.';
@@ -2699,6 +2733,7 @@ COMMENT ON COLUMN edfi.Staff.StaffUSI IS 'A unique alphanumeric code assigned to
COMMENT ON COLUMN edfi.Staff.BirthDate IS 'The month, day, and year on which an individual was born.';
COMMENT ON COLUMN edfi.Staff.CitizenshipStatusDescriptorId IS 'An indicator of whether or not the person is a U.S. citizen.';
COMMENT ON COLUMN edfi.Staff.FirstName IS 'A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.';
+COMMENT ON COLUMN edfi.Staff.GenderIdentity IS 'The gender the staff member identifies themselves as.';
COMMENT ON COLUMN edfi.Staff.GenerationCodeSuffix IS 'An appendage, if any, used to denote an individual''s generation in his family (e.g., Jr., Sr., III).';
COMMENT ON COLUMN edfi.Staff.HighestCompletedLevelOfEducationDescriptorId IS 'The extent of formal instruction an individual has received (e.g., the highest grade in school completed or its equivalent or the highest degree received).';
COMMENT ON COLUMN edfi.Staff.HighlyQualifiedTeacher IS 'An indication of whether a teacher is classified as highly qualified for his/her assignment according to state definition. This attribute indicates the teacher is highly qualified for ALL Sections being taught.';
@@ -2862,6 +2897,7 @@ COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.Education
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.EmploymentStatusDescriptorId IS 'Reflects the type of employment or contract.';
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.HireDate IS 'The month, day, and year on which an individual was hired for a position.';
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.StaffUSI IS 'A unique alphanumeric code assigned to a staff.';
+COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.AnnualWage IS 'Annual wage associated with the employment position being reported.';
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.CredentialIdentifier IS 'Identifier or serial number assigned to the credential.';
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.Department IS 'The department or suborganization the employee/contractor is associated with in the education organization.';
COMMENT ON COLUMN edfi.StaffEducationOrganizationEmploymentAssociation.EndDate IS 'The month, day, and year on which a contract between an individual and a governing authority ends or is terminated under the provisions of the contract (or the date on which the agreement is made invalid).';
@@ -3203,8 +3239,8 @@ COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.EducationOrganizationId I
COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.SchoolYear IS 'The identifier for the school year.';
COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.TermDescriptorId IS 'The term for the session during the school year.';
-COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.StudentAcademicRecordReportCard.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
@@ -3352,8 +3388,8 @@ COMMENT ON COLUMN edfi.StudentCohortAssociationSection.SessionName IS 'The ident
-- Extended Properties [edfi].[StudentCompetencyObjective] --
COMMENT ON TABLE edfi.StudentCompetencyObjective IS 'This entity represents the competency assessed or evaluated for the student against a specific competency objective.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.StudentCompetencyObjective.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.StudentCompetencyObjective.ObjectiveEducationOrganizationId IS 'The identifier assigned to an education organization.';
@@ -3365,8 +3401,8 @@ COMMENT ON COLUMN edfi.StudentCompetencyObjective.DiagnosticStatement IS 'A stat
-- Extended Properties [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] --
COMMENT ON TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation IS 'Relates the student and program associated with the competency objective.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation.ObjectiveEducationOrganizationId IS 'The identifier assigned to an education organization.';
@@ -3381,8 +3417,8 @@ COMMENT ON COLUMN edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociatio
-- Extended Properties [edfi].[StudentCompetencyObjectiveStudentSectionAssociation] --
COMMENT ON TABLE edfi.StudentCompetencyObjectiveStudentSectionAssociation IS 'Relates the student and section associated with the competency objective.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodDescriptorId IS 'The name of the period for which grades are reported.';
-COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodSequence IS 'The sequential order of this period relative to other periods.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodDescriptorId IS 'The state''s name of the period for which grades are reported.';
+COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodName IS 'The school''s descriptive name of the grading period.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodSchoolId IS 'The identifier assigned to a school.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.GradingPeriodSchoolYear IS 'The identifier for the grading period school year.';
COMMENT ON COLUMN edfi.StudentCompetencyObjectiveStudentSectionAssociation.ObjectiveEducationOrganizationId IS 'The identifier assigned to an education organization.';
@@ -3468,6 +3504,7 @@ COMMENT ON TABLE edfi.StudentEducationOrganizationAssociation IS 'This associati
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.EducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.BarrierToInternetAccessInResidenceDescriptorId IS 'An indication of the barrier to having internet access in the student’s primary place of residence.';
+COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.GenderIdentity IS 'The student''s gender as last reported to the education organization.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.HispanicLatinoEthnicity IS '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, as last reported to the education organization. The term, "Spanish origin," can be used in addition to "Hispanic or Latino."';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.InternetAccessInResidence IS 'An indication of whether the student is able to access the internet in their primary place of residence.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.InternetAccessTypeInResidenceDescriptorId IS 'The primary type of internet service used in the student’s primary place of residence.';
@@ -3478,7 +3515,8 @@ COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.PrimaryLearningDe
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.PrimaryLearningDeviceAwayFromSchoolDescriptorId IS 'The type of device the student uses most often to complete learning activities away from school.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.PrimaryLearningDeviceProviderDescriptorId IS 'The provider of the primary learning device.';
COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.ProfileThumbnail IS 'Locator reference for the student photo. The specification for that reference is left to local definition.';
-COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.SexDescriptorId IS 'The student''s gender as last reported to the education organization.';
+COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.SexDescriptorId IS 'The student''s birth sex as reported to the education organization.';
+COMMENT ON COLUMN edfi.StudentEducationOrganizationAssociation.SupporterMilitaryConnectionDescriptorId IS 'Military connection of the person/people whom the student is a dependent of.';
-- Extended Properties [edfi].[StudentEducationOrganizationAssociationAddress] --
COMMENT ON TABLE edfi.StudentEducationOrganizationAssociationAddress IS 'The set of elements that describes an address, including the street address, city, state, and ZIP code.';
@@ -4059,6 +4097,19 @@ COMMENT ON COLUMN edfi.StudentSectionAssociation.HomeroomIndicator IS 'Indicates
COMMENT ON COLUMN edfi.StudentSectionAssociation.RepeatIdentifierDescriptorId IS 'An indication as to whether a student has previously taken a given course.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.TeacherStudentDataLinkExclusion IS 'Indicates that the student-section combination is excluded from calculation of value-added or growth attribution calculations used for a particular teacher evaluation.';
+-- Extended Properties [edfi].[StudentSectionAssociationProgram] --
+COMMENT ON TABLE edfi.StudentSectionAssociationProgram IS 'The program(s) that the student is participating in the context of the course.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.BeginDate IS 'Month, day, and year of the student''s entry or assignment to the section.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.LocalCourseCode IS 'The local code assigned by the School that identifies the course offering provided for the instruction of students.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.SchoolId IS 'The identifier assigned to a school.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.SchoolYear IS 'The identifier for the school year.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.SectionIdentifier IS 'The local identifier assigned to a section.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.SessionName IS 'The identifier for the calendar for the academic session.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.EducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.';
+COMMENT ON COLUMN edfi.StudentSectionAssociationProgram.ProgramTypeDescriptorId IS 'The type of program.';
+
-- Extended Properties [edfi].[StudentSectionAttendanceEvent] --
COMMENT ON TABLE edfi.StudentSectionAttendanceEvent IS 'This event entity represents the recording of whether a student is in attendance for a section.';
COMMENT ON COLUMN edfi.StudentSectionAttendanceEvent.AttendanceEventCategoryDescriptorId IS 'A code describing the attendance event, for example:
@@ -4229,6 +4280,10 @@ COMMENT ON COLUMN edfi.StudentVisa.VisaDescriptorId IS 'An indicator of a non-US
COMMENT ON TABLE edfi.SubmissionStatusDescriptor IS 'The status of the student''s submission.';
COMMENT ON COLUMN edfi.SubmissionStatusDescriptor.SubmissionStatusDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+-- Extended Properties [edfi].[SupporterMilitaryConnectionDescriptor] --
+COMMENT ON TABLE edfi.SupporterMilitaryConnectionDescriptor IS 'Military connection of the person/people whom the student is a dependent of.';
+COMMENT ON COLUMN edfi.SupporterMilitaryConnectionDescriptor.SupporterMilitaryConnectionDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+
-- Extended Properties [edfi].[Survey] --
COMMENT ON TABLE edfi.Survey IS 'A survey to identified or anonymous respondents.';
COMMENT ON COLUMN edfi.Survey.Namespace IS 'Namespace for the survey.';
@@ -4415,7 +4470,7 @@ COMMENT ON TABLE edfi.TelephoneNumberTypeDescriptor IS 'The type of communicatio
COMMENT ON COLUMN edfi.TelephoneNumberTypeDescriptor.TelephoneNumberTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[TermDescriptor] --
-COMMENT ON TABLE edfi.TermDescriptor IS 'This descriptor defines the term of a session during the school year (e.g., Semester).';
+COMMENT ON TABLE edfi.TermDescriptor IS 'A distinct period of time into which the academic year is divided. These could be “semesters”, “trimesters” or “quarters”, depending on the school or district’s academic calendar.';
COMMENT ON COLUMN edfi.TermDescriptor.TermDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[TitleIPartAParticipantDescriptor] --
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
index 6c478d62fc..ec864ccd45 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
@@ -616,7 +616,7 @@ CREATE TABLE tracked_changes_edfi.grade
oldgradingperioddescriptorid INT NOT NULL,
oldgradingperioddescriptornamespace VARCHAR(255) NOT NULL,
oldgradingperioddescriptorcodevalue VARCHAR(50) NOT NULL,
- oldgradingperiodsequence INT NOT NULL,
+ oldgradingperiodname VARCHAR(60) NOT NULL,
oldgradingperiodschoolyear SMALLINT NOT NULL,
oldlocalcoursecode VARCHAR(60) NOT NULL,
oldschoolid BIGINT NOT NULL,
@@ -632,7 +632,7 @@ CREATE TABLE tracked_changes_edfi.grade
newgradingperioddescriptorid INT NULL,
newgradingperioddescriptornamespace VARCHAR(255) NULL,
newgradingperioddescriptorcodevalue VARCHAR(50) NULL,
- newgradingperiodsequence INT NULL,
+ newgradingperiodname VARCHAR(60) NULL,
newgradingperiodschoolyear SMALLINT NULL,
newlocalcoursecode VARCHAR(60) NULL,
newschoolid BIGINT NULL,
@@ -670,13 +670,13 @@ CREATE TABLE tracked_changes_edfi.gradingperiod
oldgradingperioddescriptorid INT NOT NULL,
oldgradingperioddescriptornamespace VARCHAR(255) NOT NULL,
oldgradingperioddescriptorcodevalue VARCHAR(50) NOT NULL,
- oldperiodsequence INT NOT NULL,
+ oldgradingperiodname VARCHAR(60) NOT NULL,
oldschoolid BIGINT NOT NULL,
oldschoolyear SMALLINT NOT NULL,
newgradingperioddescriptorid INT NULL,
newgradingperioddescriptornamespace VARCHAR(255) NULL,
newgradingperioddescriptorcodevalue VARCHAR(50) NULL,
- newperiodsequence INT NULL,
+ newgradingperiodname VARCHAR(60) NULL,
newschoolid BIGINT NULL,
newschoolyear SMALLINT NULL,
id uuid NOT NULL,
@@ -1190,7 +1190,7 @@ CREATE TABLE tracked_changes_edfi.reportcard
oldgradingperioddescriptorid INT NOT NULL,
oldgradingperioddescriptornamespace VARCHAR(255) NOT NULL,
oldgradingperioddescriptorcodevalue VARCHAR(50) NOT NULL,
- oldgradingperiodsequence INT NOT NULL,
+ oldgradingperiodname VARCHAR(60) NOT NULL,
oldgradingperiodschoolid BIGINT NOT NULL,
oldgradingperiodschoolyear SMALLINT NOT NULL,
oldstudentusi INT NOT NULL,
@@ -1199,7 +1199,7 @@ CREATE TABLE tracked_changes_edfi.reportcard
newgradingperioddescriptorid INT NULL,
newgradingperioddescriptornamespace VARCHAR(255) NULL,
newgradingperioddescriptorcodevalue VARCHAR(50) NULL,
- newgradingperiodsequence INT NULL,
+ newgradingperiodname VARCHAR(60) NULL,
newgradingperiodschoolid BIGINT NULL,
newgradingperiodschoolyear SMALLINT NULL,
newstudentusi INT NULL,
@@ -1683,7 +1683,7 @@ CREATE TABLE tracked_changes_edfi.studentcompetencyobjective
oldgradingperioddescriptorid INT NOT NULL,
oldgradingperioddescriptornamespace VARCHAR(255) NOT NULL,
oldgradingperioddescriptorcodevalue VARCHAR(50) NOT NULL,
- oldgradingperiodsequence INT NOT NULL,
+ oldgradingperiodname VARCHAR(60) NOT NULL,
oldgradingperiodschoolid BIGINT NOT NULL,
oldgradingperiodschoolyear SMALLINT NOT NULL,
oldobjectiveeducationorganizationid BIGINT NOT NULL,
@@ -1696,7 +1696,7 @@ CREATE TABLE tracked_changes_edfi.studentcompetencyobjective
newgradingperioddescriptorid INT NULL,
newgradingperioddescriptornamespace VARCHAR(255) NULL,
newgradingperioddescriptorcodevalue VARCHAR(50) NULL,
- newgradingperiodsequence INT NULL,
+ newgradingperiodname VARCHAR(60) NULL,
newgradingperiodschoolid BIGINT NULL,
newgradingperiodschoolyear SMALLINT NULL,
newobjectiveeducationorganizationid BIGINT NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
index 129416eb67..e32d5f2996 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -270,12 +270,12 @@ BEGIN
-- Handle key changes
INSERT INTO tracked_changes_edfi.grade(
- oldbegindate, oldgradetypedescriptorid, oldgradetypedescriptornamespace, oldgradetypedescriptorcodevalue, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodsequence, oldgradingperiodschoolyear, oldlocalcoursecode, oldschoolid, oldschoolyear, oldsectionidentifier, oldsessionname, oldstudentusi, oldstudentuniqueid,
- newbegindate, newgradetypedescriptorid, newgradetypedescriptornamespace, newgradetypedescriptorcodevalue, newgradingperioddescriptorid, newgradingperioddescriptornamespace, newgradingperioddescriptorcodevalue, newgradingperiodsequence, newgradingperiodschoolyear, newlocalcoursecode, newschoolid, newschoolyear, newsectionidentifier, newsessionname, newstudentusi, newstudentuniqueid,
+ oldbegindate, oldgradetypedescriptorid, oldgradetypedescriptornamespace, oldgradetypedescriptorcodevalue, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodname, oldgradingperiodschoolyear, oldlocalcoursecode, oldschoolid, oldschoolyear, oldsectionidentifier, oldsessionname, oldstudentusi, oldstudentuniqueid,
+ newbegindate, newgradetypedescriptorid, newgradetypedescriptornamespace, newgradetypedescriptorcodevalue, newgradingperioddescriptorid, newgradingperioddescriptornamespace, newgradingperioddescriptorcodevalue, newgradingperiodname, newgradingperiodschoolyear, newlocalcoursecode, newschoolid, newschoolyear, newsectionidentifier, newsessionname, newstudentusi, newstudentuniqueid,
id, changeversion)
VALUES (
- old.begindate, old.gradetypedescriptorid, dj0.namespace, dj0.codevalue, old.gradingperioddescriptorid, dj1.namespace, dj1.codevalue, old.gradingperiodsequence, old.gradingperiodschoolyear, old.localcoursecode, old.schoolid, old.schoolyear, old.sectionidentifier, old.sessionname, old.studentusi, dj2.studentuniqueid,
- new.begindate, new.gradetypedescriptorid, ij0.namespace, ij0.codevalue, new.gradingperioddescriptorid, ij1.namespace, ij1.codevalue, new.gradingperiodsequence, new.gradingperiodschoolyear, new.localcoursecode, new.schoolid, new.schoolyear, new.sectionidentifier, new.sessionname, new.studentusi, ij2.studentuniqueid,
+ old.begindate, old.gradetypedescriptorid, dj0.namespace, dj0.codevalue, old.gradingperioddescriptorid, dj1.namespace, dj1.codevalue, old.gradingperiodname, old.gradingperiodschoolyear, old.localcoursecode, old.schoolid, old.schoolyear, old.sectionidentifier, old.sessionname, old.studentusi, dj2.studentuniqueid,
+ new.begindate, new.gradetypedescriptorid, ij0.namespace, ij0.codevalue, new.gradingperioddescriptorid, ij1.namespace, ij1.codevalue, new.gradingperiodname, new.gradingperiodschoolyear, new.localcoursecode, new.schoolid, new.schoolyear, new.sectionidentifier, new.sessionname, new.studentusi, ij2.studentuniqueid,
old.id, (nextval('changes.changeversionsequence')));
RETURN null;
@@ -283,7 +283,7 @@ END;
$BODY$ LANGUAGE plpgsql;
IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'handlekeychanges' AND event_object_schema = 'edfi' AND event_object_table = 'grade') THEN
- CREATE TRIGGER HandleKeyChanges AFTER UPDATE OF begindate, gradetypedescriptorid, gradingperioddescriptorid, gradingperiodsequence, gradingperiodschoolyear, localcoursecode, schoolid, schoolyear, sectionidentifier, sessionname, studentusi ON edfi.grade
+ CREATE TRIGGER HandleKeyChanges AFTER UPDATE OF begindate, gradetypedescriptorid, gradingperioddescriptorid, gradingperiodname, gradingperiodschoolyear, localcoursecode, schoolid, schoolyear, sectionidentifier, sessionname, studentusi ON edfi.grade
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.grade_keychg();
END IF;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
index ba6d105521..3e9f4a52ad 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -1991,10 +1991,10 @@ BEGIN
SELECT INTO dj2 * FROM edfi.student j2 WHERE studentusi = old.studentusi;
INSERT INTO tracked_changes_edfi.grade(
- oldbegindate, oldgradetypedescriptorid, oldgradetypedescriptornamespace, oldgradetypedescriptorcodevalue, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodsequence, oldgradingperiodschoolyear, oldlocalcoursecode, oldschoolid, oldschoolyear, oldsectionidentifier, oldsessionname, oldstudentusi, oldstudentuniqueid,
+ oldbegindate, oldgradetypedescriptorid, oldgradetypedescriptornamespace, oldgradetypedescriptorcodevalue, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodname, oldgradingperiodschoolyear, oldlocalcoursecode, oldschoolid, oldschoolyear, oldsectionidentifier, oldsessionname, oldstudentusi, oldstudentuniqueid,
id, discriminator, changeversion)
VALUES (
- OLD.begindate, OLD.gradetypedescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperioddescriptorid, dj1.namespace, dj1.codevalue, OLD.gradingperiodsequence, OLD.gradingperiodschoolyear, OLD.localcoursecode, OLD.schoolid, OLD.schoolyear, OLD.sectionidentifier, OLD.sessionname, OLD.studentusi, dj2.studentuniqueid,
+ OLD.begindate, OLD.gradetypedescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperioddescriptorid, dj1.namespace, dj1.codevalue, OLD.gradingperiodname, OLD.gradingperiodschoolyear, OLD.localcoursecode, OLD.schoolid, OLD.schoolyear, OLD.sectionidentifier, OLD.sessionname, OLD.studentusi, dj2.studentuniqueid,
OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
RETURN NULL;
@@ -2103,10 +2103,10 @@ BEGIN
SELECT INTO dj0 * FROM edfi.descriptor j0 WHERE descriptorid = old.gradingperioddescriptorid;
INSERT INTO tracked_changes_edfi.gradingperiod(
- oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldperiodsequence, oldschoolid, oldschoolyear,
+ oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodname, oldschoolid, oldschoolyear,
id, discriminator, changeversion)
VALUES (
- OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.periodsequence, OLD.schoolid, OLD.schoolyear,
+ OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperiodname, OLD.schoolid, OLD.schoolyear,
OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
RETURN NULL;
@@ -3962,10 +3962,10 @@ BEGIN
SELECT INTO dj1 * FROM edfi.student j1 WHERE studentusi = old.studentusi;
INSERT INTO tracked_changes_edfi.reportcard(
- oldeducationorganizationid, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodsequence, oldgradingperiodschoolid, oldgradingperiodschoolyear, oldstudentusi, oldstudentuniqueid,
+ oldeducationorganizationid, oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodname, oldgradingperiodschoolid, oldgradingperiodschoolyear, oldstudentusi, oldstudentuniqueid,
id, discriminator, changeversion)
VALUES (
- OLD.educationorganizationid, OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperiodsequence, OLD.gradingperiodschoolid, OLD.gradingperiodschoolyear, OLD.studentusi, dj1.studentuniqueid,
+ OLD.educationorganizationid, OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperiodname, OLD.gradingperiodschoolid, OLD.gradingperiodschoolyear, OLD.studentusi, dj1.studentuniqueid,
OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
RETURN NULL;
@@ -4299,6 +4299,23 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.sectioncharacteristicdescriptor
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.sectioncharacteristicdescriptor_deleted();
END IF;
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.sectiontypedescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.SectionTypeDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.SectionTypeDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.SectionTypeDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'sectiontypedescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.sectiontypedescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.sectiontypedescriptor_deleted();
+END IF;
+
CREATE OR REPLACE FUNCTION tracked_changes_edfi.separationdescriptor_deleted()
RETURNS trigger AS
$BODY$
@@ -4958,10 +4975,10 @@ BEGIN
SELECT INTO dj2 * FROM edfi.student j2 WHERE studentusi = old.studentusi;
INSERT INTO tracked_changes_edfi.studentcompetencyobjective(
- oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodsequence, oldgradingperiodschoolid, oldgradingperiodschoolyear, oldobjectiveeducationorganizationid, oldobjective, oldobjectivegradeleveldescriptorid, oldobjectivegradeleveldescriptornamespace, oldobjectivegradeleveldescriptorcodevalue, oldstudentusi, oldstudentuniqueid,
+ oldgradingperioddescriptorid, oldgradingperioddescriptornamespace, oldgradingperioddescriptorcodevalue, oldgradingperiodname, oldgradingperiodschoolid, oldgradingperiodschoolyear, oldobjectiveeducationorganizationid, oldobjective, oldobjectivegradeleveldescriptorid, oldobjectivegradeleveldescriptornamespace, oldobjectivegradeleveldescriptorcodevalue, oldstudentusi, oldstudentuniqueid,
id, discriminator, changeversion)
VALUES (
- OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperiodsequence, OLD.gradingperiodschoolid, OLD.gradingperiodschoolyear, OLD.objectiveeducationorganizationid, OLD.objective, OLD.objectivegradeleveldescriptorid, dj1.namespace, dj1.codevalue, OLD.studentusi, dj2.studentuniqueid,
+ OLD.gradingperioddescriptorid, dj0.namespace, dj0.codevalue, OLD.gradingperiodname, OLD.gradingperiodschoolid, OLD.gradingperiodschoolyear, OLD.objectiveeducationorganizationid, OLD.objective, OLD.objectivegradeleveldescriptorid, dj1.namespace, dj1.codevalue, OLD.studentusi, dj2.studentuniqueid,
OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
RETURN NULL;
@@ -5420,6 +5437,23 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.submissionstatusdescriptor
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.submissionstatusdescriptor_deleted();
END IF;
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.supportermilitaryconnectiondescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.SupporterMilitaryConnectionDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.SupporterMilitaryConnectionDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.SupporterMilitaryConnectionDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'supportermilitaryconnectiondescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.supportermilitaryconnectiondescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.supportermilitaryconnectiondescriptor_deleted();
+END IF;
+
CREATE OR REPLACE FUNCTION tracked_changes_edfi.survey_deleted()
RETURNS trigger AS
$BODY$
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Ed-Fi-Core.xsd b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Ed-Fi-Core.xsd
index e38a75080f..b8b3bfb088 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Ed-Fi-Core.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Ed-Fi-Core.xsd
@@ -896,6 +896,11 @@
+
+
+ The gender the contact identifies themselves as.
+
+
Contact's address, if different from the student address.
@@ -1223,6 +1228,21 @@
Link to the student's academic record for a semester/school year.
+
+
+ The section(s) associated with the course transcript.
+
+
+
+
+ The staff member that is the responsible teacher for instructing or monitoring instruction for student attempting the course.
+
+
+
+
+ The program(s) that the student participated in the context of the course.
+
+
The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, language arts).
@@ -2063,13 +2083,18 @@
- The name of the period for which grades are reported.
+ The state's name of the period for which grades are reported.
GradingPeriodDescriptor
-
+
+
+ The school's descriptive name of the grading period.
+
+
+
The sequential order of this period relative to other periods.
@@ -3792,6 +3817,14 @@
The local identifier assigned to a section.
+
+
+ Specifies whether the section is for attendance only, credit only, or both.
+
+ SectionTypeDescriptor
+
+
+
When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.
@@ -3933,7 +3966,7 @@
- A term in the school year, generally a unit of time into which courses are scheduled, instruction occurs and by which credits are awarded. Sessions may be interrupted by vacations or other events.
+ A specific designated unit of time during which instruction is provided, grades are reported and academic credits are awarded to students (whenever applicable). Sessions serve as organized segments of the academic year and can be interrupted by vacations or other events.
Domain Entity
@@ -3963,7 +3996,7 @@
- An descriptor value indicating the term.
+ A descriptor value to indicate the term that the session is associated with.
TermDescriptor
@@ -4068,6 +4101,11 @@
+
+
+ The gender the staff member identifies themselves as.
+
+
The month, day, and year on which an individual was born.
@@ -6140,7 +6178,7 @@
- This descriptor defines the name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.
+ This descriptor defines the state's name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.
Descriptor
@@ -7097,7 +7135,7 @@
- The type of education institution as classified by its primary focus.
+ The type of education institution as classified by its primary focus such as Alternative, Career and Technical Education, Regular, or Special Education schools.
Descriptor
@@ -7117,6 +7155,17 @@
+
+
+ Specifies whether the section is for attendance only, credit only, or both.
+
+ Descriptor
+
+
+
+
+
+
Type of employment separation; for example: Voluntary separation, Involuntary separation, Mutual agreement. Other, etc.
@@ -7282,6 +7331,17 @@
+
+
+ Military connection of the person/people whom the student is a dependent of.
+
+ Descriptor
+
+
+
+
+
+
The descriptor holds the category or type of survey.
@@ -7350,7 +7410,7 @@
- This descriptor defines the term of a session during the school year (e.g., Semester).
+ A distinct period of time into which the academic year is divided. These could be “semesters”, “trimesters” or “quarters”, depending on the school or district’s academic calendar.
Descriptor
@@ -7906,6 +7966,11 @@
Hourly wage associated with the employment position being reported.
+
+
+ Annual wage associated with the employment position being reported.
+
+
Reference to the credential that is the basis for this employment.
@@ -8346,14 +8411,19 @@
A coding scheme that is used for identification and record-keeping purposes by schools, social services, or other agencies to refer to a student.
-
+
- The student's gender as last reported to the education organization.
+ The student's birth sex as reported to the education organization.
SexDescriptor
+
+
+ The student's gender as last reported to the education organization.
+
+
The set of elements that describes an address, including the street address, city, state, and ZIP code.
@@ -8499,6 +8569,14 @@
+
+
+ Military connection of the person/people whom the student is a dependent of.
+
+ SupporterMilitaryConnectionDescriptor
+
+
+
@@ -9040,6 +9118,11 @@
+
+
+ The program(s) that the student is participating in the context of the course.
+
+
@@ -11257,15 +11340,15 @@
- The name of the period for which grades are reported.
+ The state's name of the period for which grades are reported.
GradingPeriodDescriptor
-
+
- The sequential order of this period relative to other periods.
+ The school's descriptive name of the grading period.
@@ -12859,7 +12942,7 @@
- An descriptor value indicating the term.
+ A descriptor value to indicate the term that the session is associated with.
TermDescriptor
@@ -16263,7 +16346,7 @@
- This descriptor defines the name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.
+ This descriptor defines the state's name of the period for which grades are reported. The mapping of descriptor values to known Ed-Fi enumeration values is required.
Extended Descriptor Reference
@@ -17046,7 +17129,7 @@
- The type of education institution as classified by its primary focus.
+ The type of education institution as classified by its primary focus such as Alternative, Career and Technical Education, Regular, or Special Education schools.
Extended Descriptor Reference
@@ -17062,6 +17145,15 @@
+
+
+ Specifies whether the section is for attendance only, credit only, or both.
+
+ Extended Descriptor Reference
+
+
+
+
Type of employment separation; for example: Voluntary separation, Involuntary separation, Mutual agreement. Other, etc.
@@ -17197,6 +17289,15 @@
+
+
+ Military connection of the person/people whom the student is a dependent of.
+
+ Extended Descriptor Reference
+
+
+
+
The descriptor holds the category or type of survey.
@@ -17253,7 +17354,7 @@
- This descriptor defines the term of a session during the school year (e.g., Semester).
+ A distinct period of time into which the academic year is divided. These could be “semesters”, “trimesters” or “quarters”, depending on the school or district’s academic calendar.
Extended Descriptor Reference
@@ -21323,6 +21424,17 @@
+
+
+ The gender a person identifies themselves as.
+
+ Simple
+
+
+
+
+
+
An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).
@@ -21383,6 +21495,18 @@
+
+
+ The school's descriptive name of the grading period.
+
+ Simple
+
+
+
+
+
+
+
A description of the type of academic distinctions earned by or awarded to the individual.
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Interchange-Descriptors.xsd b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Interchange-Descriptors.xsd
index dc625a0e56..604e22de60 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Interchange-Descriptors.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/Interchange-Descriptors.xsd
@@ -180,6 +180,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
@@ -195,6 +196,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/SchemaAnnotation.xsd b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/SchemaAnnotation.xsd
index 1da12e0a68..c630ba9eba 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/SchemaAnnotation.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.0.0/Artifacts/Schemas/SchemaAnnotation.xsd
@@ -184,6 +184,7 @@
+
@@ -199,6 +200,7 @@
+
diff --git a/Application/EdFi.Ods.Standard/versionmap.json b/Application/EdFi.Ods.Standard/versionmap.json
index 258bbc27a8..62d0b1f46e 100644
--- a/Application/EdFi.Ods.Standard/versionmap.json
+++ b/Application/EdFi.Ods.Standard/versionmap.json
@@ -1,10 +1,10 @@
{
"Ed-Fi-Standard": {
"4.0.0": "v4.0.0",
- "5.0.0": "v5.0.0-pre.2"
+ "5.0.0": "v5.0.0"
},
"Ed-Fi-TPDM-Artifacts": {
"4.0.0": "Data-Standard-v4.0.0",
- "5.0.0": "Data-Standard-v5.0.0-pre.2"
+ "5.0.0": "Data-Standard-v5.0.0"
}
}
\ No newline at end of file
diff --git a/Postman Test Suite/Ed-Fi ODS-API ChangeQueries Key Changes and Deletes Test Suite.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API ChangeQueries Key Changes and Deletes Test Suite.postman_collection.json
index fe1f65b847..709acc1920 100644
--- a/Postman Test Suite/Ed-Fi ODS-API ChangeQueries Key Changes and Deletes Test Suite.postman_collection.json
+++ b/Postman Test Suite/Ed-Fi ODS-API ChangeQueries Key Changes and Deletes Test Suite.postman_collection.json
@@ -5790,7 +5790,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"gradingPeriodReference\": {\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1,\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022\r\n },\r\n \"studentSectionAssociationReference\": {\r\n \"beginDate\": \"2021-08-23\",\r\n \"localCourseCode\": \"ALG-1\",\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"sectionIdentifier\": \"25590100102Trad220ALG112011\",\r\n \"sessionName\": \"2021-2022 Fall Semester\",\r\n \"studentUniqueId\": \"604822\"\r\n },\r\n \"gradeTypeDescriptor\": \"uri://ed-fi.org/GradeTypeDescriptor#Final\",\r\n \"numericGradeEarned\": 63.00,\r\n \"learningStandardGrades\": [\r\n {\r\n \"learningStandardReference\": {\r\n \"learningStandardId\": \"111.32.NA.A.1.D\"\r\n },\r\n \"numericGradeEarned\": 63.00\r\n }\r\n ]\r\n}",
+ "raw": "{\r\n \"gradingPeriodReference\": {\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"periodSequence\": 1,\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022\r\n },\r\n \"studentSectionAssociationReference\": {\r\n \"beginDate\": \"2021-08-23\",\r\n \"localCourseCode\": \"ALG-1\",\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"sectionIdentifier\": \"25590100102Trad220ALG112011\",\r\n \"sessionName\": \"2021-2022 Fall Semester\",\r\n \"studentUniqueId\": \"604822\"\r\n },\r\n \"gradeTypeDescriptor\": \"uri://ed-fi.org/GradeTypeDescriptor#Final\",\r\n \"numericGradeEarned\": 63.00,\r\n \"learningStandardGrades\": [\r\n {\r\n \"learningStandardReference\": {\r\n \"learningStandardId\": \"111.32.NA.A.1.D\"\r\n },\r\n \"numericGradeEarned\": 63.00\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
@@ -5844,7 +5844,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"gradingPeriodReference\": {\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1,\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022\r\n },\r\n \"studentSectionAssociationReference\": {\r\n \"beginDate\": \"2021-08-23\",\r\n \"localCourseCode\": \"ALG-1\",\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"sectionIdentifier\": \"25590100102Trad220ALG112011\",\r\n \"sessionName\": \"2021-2022 Fall Semester\",\r\n \"studentUniqueId\": \"604822\"\r\n },\r\n \"gradeTypeDescriptor\": \"uri://ed-fi.org/GradeTypeDescriptor#Progress Report\",\r\n \"numericGradeEarned\": 63.00,\r\n \"learningStandardGrades\": [\r\n {\r\n \"learningStandardReference\": {\r\n \"learningStandardId\": \"111.32.NA.A.1.D\"\r\n },\r\n \"numericGradeEarned\": 63.00\r\n }\r\n ]\r\n}",
+ "raw": "{\r\n \"gradingPeriodReference\": {\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"periodSequence\": 1, \r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022\r\n },\r\n \"studentSectionAssociationReference\": {\r\n \"beginDate\": \"2021-08-23\",\r\n \"localCourseCode\": \"ALG-1\",\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"sectionIdentifier\": \"25590100102Trad220ALG112011\",\r\n \"sessionName\": \"2021-2022 Fall Semester\",\r\n \"studentUniqueId\": \"604822\"\r\n },\r\n \"gradeTypeDescriptor\": \"uri://ed-fi.org/GradeTypeDescriptor#Progress Report\",\r\n \"numericGradeEarned\": 63.00,\r\n \"learningStandardGrades\": [\r\n {\r\n \"learningStandardReference\": {\r\n \"learningStandardId\": \"111.32.NA.A.1.D\"\r\n },\r\n \"numericGradeEarned\": 63.00\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
@@ -9016,7 +9016,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Second Six Weeks\",\r\n \"periodSequence\": 2\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Third Six Weeks\",\r\n \"periodSequence\": 3\r\n }\r\n }\r\n ]\r\n}\r\n",
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"periodSequence\": 1\r\n\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Second Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 2\",\r\n \"periodSequence\": 2\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Third Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Final Exam\",\r\n \"periodSequence\": 3\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
@@ -9070,7 +9070,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION TWO\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Second Six Weeks\",\r\n \"periodSequence\": 2\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Third Six Weeks\",\r\n \"periodSequence\": 3\r\n }\r\n }\r\n ]\r\n}\r\n",
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION TWO\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"periodSequence\": 1\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Second Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 2\",\r\n \"periodSequence\": 2\r\n }\r\n },\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#Third Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Final Exam\",\r\n \"periodSequence\": 3\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json
index 1257619686..57ea0dba58 100644
--- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json
+++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json
@@ -5141,6 +5141,10 @@
"\r",
"const responseItems = pm.response.json();\r",
"\r",
+ "pm.test(\"Check if responseItems array has at least one item\", function () {\r",
+ " pm.expect(responseItems.length).to.be.least(1);\r",
+ "});\r",
+ "\r",
"pm.environment.set('known:student:uniqueId:001', responseItems[0].studentReference.studentUniqueId);"
],
"type": "text/javascript"
@@ -5202,6 +5206,10 @@
"\r",
"const responseItems = pm.response.json();\r",
"\r",
+ "pm.test(\"Check if responseItems array has at least one item\", function () {\r",
+ " pm.expect(responseItems.length).to.be.least(1);\r",
+ "});\r",
+ "\r",
"pm.environment.set('known:student:uniqueId:044', responseItems[0].studentReference.studentUniqueId);"
],
"type": "text/javascript"
@@ -10329,8 +10337,8 @@
"listen": "test",
"script": {
"exec": [
- "pm.test(\"Response is 201\", () => {\r",
- " pm.expect(pm.response.code).to.equal(201);\r",
+ "pm.test(\"Response is 200 or 201\", () => {\r",
+ " pm.expect(pm.response.code).to.be.oneOf([200, 201]);\r",
"});\r",
"\r",
"pm.environment.set('known:program:id', pm.response.headers.one('Location').value.split(\"/\").pop());"
@@ -10354,7 +10362,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"educationOrganizationReference\": {\r\n \"educationOrganizationId\": 255901001\r\n },\r\n \"programName\": \"Bilingual\",\r\n \"programTypeDescriptor\": \"uri://ed-fi.org/ProgramTypeDescriptor#Bilingual\",\r\n \"programId\": \"1\",\r\n \"characteristics\": [],\r\n \"learningStandards\": [],\r\n \"sponsors\": [\r\n {\r\n \"programSponsorDescriptor\": \"uri://ed-fi.org/ProgramSponsorDescriptor#Local Education Agency\"\r\n }\r\n ]\r\n}",
+ "raw": "{\r\n \"educationOrganizationReference\": {\r\n \"educationOrganizationId\": 255901044\r\n },\r\n \"programName\": \"Bilingual\",\r\n \"programTypeDescriptor\": \"uri://ed-fi.org/ProgramTypeDescriptor#Bilingual\",\r\n \"programId\": \"1\",\r\n \"characteristics\": [],\r\n \"learningStandards\": [],\r\n \"sponsors\": [\r\n {\r\n \"programSponsorDescriptor\": \"uri://ed-fi.org/ProgramSponsorDescriptor#Local Education Agency\"\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
@@ -10470,7 +10478,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"consentToEvaluationReceivedDate\": \"2023-07-08\",\r\n \"educationOrganizationReference\": {\r\n \"educationOrganizationId\": 255901001\r\n },\r\n \"programReference\": {\r\n \"educationOrganizationId\": 255901001,\r\n \"programName\": \"Bilingual\",\r\n \"programTypeDescriptor\": \"uri://ed-fi.org/ProgramTypeDescriptor#Bilingual\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:studentUniqueId:MS}}\"\r\n },\r\n \"ideaPartDescriptor\": \"uri://ed-fi.org/IDEAPartDescriptor#IDEA Part C\"\r\n}",
+ "raw": "{\r\n \"consentToEvaluationReceivedDate\": \"2023-07-08\",\r\n \"educationOrganizationReference\": {\r\n \"educationOrganizationId\": 255901044\r\n },\r\n \"programReference\": {\r\n \"educationOrganizationId\": 255901044,\r\n \"programName\": \"Bilingual\",\r\n \"programTypeDescriptor\": \"uri://ed-fi.org/ProgramTypeDescriptor#Bilingual\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:studentUniqueId:MS}}\"\r\n },\r\n \"ideaPartDescriptor\": \"uri://ed-fi.org/IDEAPartDescriptor#IDEA Part C\"\r\n}",
"options": {
"raw": {
"language": "json"
@@ -11082,7 +11090,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n }\r\n ]\r\n}\r\n",
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901001\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901001,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\":1\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
@@ -11155,7 +11163,7 @@
"header": [],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901044\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901044,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n }\r\n ]\r\n}\r\n",
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": 255901044\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"SESSION ONE\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": 255901044,\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\":1\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
diff --git a/Postman Test Suite/Ed-Fi ODS-API Record Ownership Test Suite.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Record Ownership Test Suite.postman_collection.json
index b48bfb034b..384c09d2d6 100644
--- a/Postman Test Suite/Ed-Fi ODS-API Record Ownership Test Suite.postman_collection.json
+++ b/Postman Test Suite/Ed-Fi ODS-API Record Ownership Test Suite.postman_collection.json
@@ -3,7 +3,8 @@
"_postman_id": "b3df0f17-9180-40c9-be67-19c103a01468",
"name": "Ed-Fi ODS/API Record Ownership Test Suite",
"description": "Localhost integration testing using Postman Scripts",
- "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
+ "_exporter_id": "26378282"
},
"item": [
{
@@ -1730,7 +1731,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1,\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-10-03\",\r\n \"totalInstructionalDays\": 99\r\n }"
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\": 1,\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-10-03\",\r\n \"totalInstructionalDays\": 99\r\n }"
},
"url": {
"raw": "{{ApiBaseUrl}}/data/v3/ed-fi/gradingPeriods",
@@ -1794,7 +1795,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"2021-2022 Fall Semester Record Ownership\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\",\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n }\r\n ]\r\n }"
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"2021-2022 Fall Semester Record Ownership\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": \"{{known:schoolId_9011}}\",\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\": 1\r\n }\r\n }\r\n ]\r\n }"
},
"url": {
"raw": "{{ApiBaseUrl}}/data/v3/ed-fi/sessions",
@@ -2374,7 +2375,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1,\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-10-03\",\r\n \"totalInstructionalDays\": 99\r\n }"
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\": 1, \r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-10-03\",\r\n \"totalInstructionalDays\": 99\r\n }"
},
"url": {
"raw": "{{ApiBaseUrl}}/data/v3/ed-fi/gradingPeriods",
@@ -2438,7 +2439,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"2021-2022 Fall Semester Record Ownership\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\",\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"periodSequence\": 1\r\n }\r\n }\r\n ]\r\n }"
+ "raw": "{\r\n \"schoolReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\"\r\n },\r\n \"schoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"sessionName\": \"2021-2022 Fall Semester Record Ownership\",\r\n \"beginDate\": \"2021-08-23\",\r\n \"endDate\": \"2021-12-17\",\r\n \"termDescriptor\": \"uri://ed-fi.org/TermDescriptor#Fall Semester\",\r\n \"totalInstructionalDays\": 81,\r\n \"academicWeeks\": [],\r\n \"gradingPeriods\": [\r\n {\r\n \"gradingPeriodReference\": {\r\n \"schoolId\": \"{{known:schoolId_9021}}\",\r\n \"schoolYear\": 2022,\r\n \"gradingPeriodDescriptor\": \"uri://ed-fi.org/GradingPeriodDescriptor#First Six Weeks\",\r\n \"gradingPeriodName\": \"2021-2022 Fall Semester Exam 1\",\r\n \"PeriodSequence\": 1\r\n }\r\n }\r\n ]\r\n }"
},
"url": {
"raw": "{{ApiBaseUrl}}/data/v3/ed-fi/sessions",
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_MsSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_MsSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
index dc576a5b04..09f626867b 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_MsSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_MsSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
@@ -2212,6 +2212,15 @@ BEGIN
END
+IF NOT EXISTS(SELECT 1 FROM [dbo].[ResourceClaims] WHERE [ClaimName] = 'http://ed-fi.org/ods/identity/claims/sectionTypeDescriptor')
+BEGIN
+
+ INSERT [dbo].[ResourceClaims] ([ResourceName], [ClaimName], [ParentResourceClaimId])
+ VALUES (N'sectionTypeDescriptor', N'http://ed-fi.org/ods/identity/claims/sectionTypeDescriptor',
+@systemDescriptorsResourceClaimId);
+
+END
+
IF NOT EXISTS(SELECT 1 FROM [dbo].[ResourceClaims] WHERE [ClaimName] = 'http://ed-fi.org/ods/identity/claims/separationDescriptor')
BEGIN
@@ -2743,6 +2752,15 @@ BEGIN
END
+IF NOT EXISTS(SELECT 1 FROM [dbo].[ResourceClaims] WHERE [ClaimName] = 'http://ed-fi.org/ods/identity/claims/supporterMilitaryConnectionDescriptor')
+BEGIN
+
+ INSERT [dbo].[ResourceClaims] ([ResourceName], [ClaimName], [ParentResourceClaimId])
+ VALUES (N'supporterMilitaryConnectionDescriptor', N'http://ed-fi.org/ods/identity/claims/supporterMilitaryConnectionDescriptor',
+@systemDescriptorsResourceClaimId);
+
+END
+
IF NOT EXISTS(SELECT 1 FROM [dbo].[ResourceClaims] WHERE [ClaimName] = 'http://ed-fi.org/ods/identity/claims/survey')
BEGIN
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_PgSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_PgSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
index 494684297f..39bd190ba3 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_PgSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Artifacts_PgSql_Data_Security_0002-ResourceClaimMetadata_generated.approved.sql
@@ -1234,6 +1234,11 @@ begin
values ('sectionCharacteristicDescriptor', 'http://ed-fi.org/ods/identity/claims/sectionCharacteristicDescriptor', systemDescriptorsResourceClaimId);
END IF;
+ IF NOT EXISTS(SELECT 1 FROM dbo.ResourceClaims WHERE ResourceName ='sectionTypeDescriptor') THEN
+ insert into dbo.ResourceClaims (ResourceName, ClaimName, ParentResourceClaimId)
+ values ('sectionTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/sectionTypeDescriptor', systemDescriptorsResourceClaimId);
+ END IF;
+
IF NOT EXISTS(SELECT 1 FROM dbo.ResourceClaims WHERE ResourceName ='separationDescriptor') THEN
insert into dbo.ResourceClaims (ResourceName, ClaimName, ParentResourceClaimId)
values ('separationDescriptor', 'http://ed-fi.org/ods/identity/claims/separationDescriptor', systemDescriptorsResourceClaimId);
@@ -1529,6 +1534,11 @@ begin
values ('submissionStatusDescriptor', 'http://ed-fi.org/ods/identity/claims/submissionStatusDescriptor', systemDescriptorsResourceClaimId);
END IF;
+ IF NOT EXISTS(SELECT 1 FROM dbo.ResourceClaims WHERE ResourceName ='supporterMilitaryConnectionDescriptor') THEN
+ insert into dbo.ResourceClaims (ResourceName, ClaimName, ParentResourceClaimId)
+ values ('supporterMilitaryConnectionDescriptor', 'http://ed-fi.org/ods/identity/claims/supporterMilitaryConnectionDescriptor', systemDescriptorsResourceClaimId);
+ END IF;
+
IF NOT EXISTS(SELECT 1 FROM dbo.ResourceClaims WHERE ResourceName ='survey') THEN
insert into dbo.ResourceClaims (ResourceName, ClaimName, ParentResourceClaimId)
values ('survey', 'http://ed-fi.org/ods/identity/claims/survey', surveyDomainResourceClaimId);
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Controllers_Controllers.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Controllers_Controllers.generated.approved.cs
index 8b92709c8a..495754c9ab 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Controllers_Controllers.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Controllers_Controllers.generated.approved.cs
@@ -1618,6 +1618,7 @@ protected override void MapAll(Api.Common.Models.Requests.Contacts.EdFi.ContactG
specification.SuspendReferenceAssignmentCheck();
specification.ContactUniqueId = request.ContactUniqueId;
specification.FirstName = request.FirstName;
+ specification.GenderIdentity = request.GenderIdentity;
specification.GenerationCodeSuffix = request.GenerationCodeSuffix;
specification.HighestCompletedLevelOfEducationDescriptor = request.HighestCompletedLevelOfEducationDescriptor;
specification.Id = request.Id;
@@ -2097,6 +2098,7 @@ protected override void MapAll(Api.Common.Models.Requests.CourseTranscripts.EdFi
specification.FinalNumericGradeEarned = request.FinalNumericGradeEarned;
specification.Id = request.Id;
specification.MethodCreditEarnedDescriptor = request.MethodCreditEarnedDescriptor;
+ specification.ResponsibleTeacherStaffUniqueId = request.ResponsibleTeacherStaffUniqueId;
specification.SchoolYear = request.SchoolYear;
specification.StudentUniqueId = request.StudentUniqueId;
specification.TermDescriptor = request.TermDescriptor;
@@ -3604,8 +3606,8 @@ protected override void MapAll(Api.Common.Models.Requests.Grades.EdFi.GradeGetBy
specification.GradeEarnedDescription = request.GradeEarnedDescription;
specification.GradeTypeDescriptor = request.GradeTypeDescriptor;
specification.GradingPeriodDescriptor = request.GradingPeriodDescriptor;
+ specification.GradingPeriodName = request.GradingPeriodName;
specification.GradingPeriodSchoolYear = request.GradingPeriodSchoolYear;
- specification.GradingPeriodSequence = request.GradingPeriodSequence;
specification.Id = request.Id;
specification.LetterGradeEarned = request.LetterGradeEarned;
specification.LocalCourseCode = request.LocalCourseCode;
@@ -3652,11 +3654,11 @@ protected override void MapAll(Api.Common.Models.Requests.GradebookEntries.EdFi.
specification.GradebookEntryIdentifier = request.GradebookEntryIdentifier;
specification.GradebookEntryTypeDescriptor = request.GradebookEntryTypeDescriptor;
specification.GradingPeriodDescriptor = request.GradingPeriodDescriptor;
+ specification.GradingPeriodName = request.GradingPeriodName;
specification.Id = request.Id;
specification.LocalCourseCode = request.LocalCourseCode;
specification.MaxPoints = request.MaxPoints;
specification.Namespace = request.Namespace;
- specification.PeriodSequence = request.PeriodSequence;
specification.SchoolId = request.SchoolId;
specification.SchoolYear = request.SchoolYear;
specification.SectionIdentifier = request.SectionIdentifier;
@@ -3815,6 +3817,7 @@ protected override void MapAll(Api.Common.Models.Requests.GradingPeriods.EdFi.Gr
specification.BeginDate = request.BeginDate;
specification.EndDate = request.EndDate;
specification.GradingPeriodDescriptor = request.GradingPeriodDescriptor;
+ specification.GradingPeriodName = request.GradingPeriodName;
specification.Id = request.Id;
specification.PeriodSequence = request.PeriodSequence;
specification.SchoolId = request.SchoolId;
@@ -7110,9 +7113,9 @@ protected override void MapAll(Api.Common.Models.Requests.ReportCards.EdFi.Repor
specification.SuspendReferenceAssignmentCheck();
specification.EducationOrganizationId = request.EducationOrganizationId;
specification.GradingPeriodDescriptor = request.GradingPeriodDescriptor;
+ specification.GradingPeriodName = request.GradingPeriodName;
specification.GradingPeriodSchoolId = request.GradingPeriodSchoolId;
specification.GradingPeriodSchoolYear = request.GradingPeriodSchoolYear;
- specification.GradingPeriodSequence = request.GradingPeriodSequence;
specification.Id = request.Id;
specification.NumberOfDaysAbsent = request.NumberOfDaysAbsent;
specification.NumberOfDaysInAttendance = request.NumberOfDaysInAttendance;
@@ -7660,6 +7663,7 @@ protected override void MapAll(Api.Common.Models.Requests.Sections.EdFi.SectionG
specification.SchoolYear = request.SchoolYear;
specification.SectionIdentifier = request.SectionIdentifier;
specification.SectionName = request.SectionName;
+ specification.SectionTypeDescriptor = request.SectionTypeDescriptor;
specification.SequenceOfCourse = request.SequenceOfCourse;
specification.SessionName = request.SessionName;
}
@@ -7735,6 +7739,36 @@ protected override void MapAll(Api.Common.Models.Requests.SectionCharacteristicD
}
}
+namespace EdFi.Ods.Api.Services.Controllers.SectionTypeDescriptors.EdFi
+{
+ [ApiExplorerSettings(IgnoreApi = true)]
+ [ExcludeFromCodeCoverage]
+ [ApiController]
+ [Authorize]
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/sectionTypeDescriptors")]
+ public partial class SectionTypeDescriptorsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.SectionTypeDescriptor.EdFi.SectionTypeDescriptor,
+ Entities.Common.EdFi.ISectionTypeDescriptor,
+ Entities.NHibernate.SectionTypeDescriptorAggregate.EdFi.SectionTypeDescriptor,
+ Api.Common.Models.Requests.SectionTypeDescriptors.EdFi.SectionTypeDescriptorPut,
+ Api.Common.Models.Requests.SectionTypeDescriptors.EdFi.SectionTypeDescriptorPost,
+ Api.Common.Models.Requests.SectionTypeDescriptors.EdFi.SectionTypeDescriptorDelete,
+ Api.Common.Models.Requests.SectionTypeDescriptors.EdFi.SectionTypeDescriptorGetByExample>
+ {
+ public SectionTypeDescriptorsController(IPipelineFactory pipelineFactory, IRESTErrorProvider restErrorProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, ILogContextAccessor logContextAccessor)
+ : base(pipelineFactory, restErrorProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, logContextAccessor)
+ {
+ }
+
+ protected override void MapAll(Api.Common.Models.Requests.SectionTypeDescriptors.EdFi.SectionTypeDescriptorGetByExample request, Entities.Common.EdFi.ISectionTypeDescriptor specification)
+ {
+ // Copy all existing values
+ specification.SuspendReferenceAssignmentCheck();
+ specification.SectionTypeDescriptorId = request.SectionTypeDescriptorId;
+ }
+ }
+}
+
namespace EdFi.Ods.Api.Services.Controllers.SeparationDescriptors.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
@@ -8043,6 +8077,7 @@ protected override void MapAll(Api.Common.Models.Requests.Staffs.EdFi.StaffGetBy
specification.BirthDate = request.BirthDate;
specification.CitizenshipStatusDescriptor = request.CitizenshipStatusDescriptor;
specification.FirstName = request.FirstName;
+ specification.GenderIdentity = request.GenderIdentity;
specification.GenerationCodeSuffix = request.GenerationCodeSuffix;
specification.HighestCompletedLevelOfEducationDescriptor = request.HighestCompletedLevelOfEducationDescriptor;
specification.HighlyQualifiedTeacher = request.HighlyQualifiedTeacher;
@@ -8302,6 +8337,7 @@ protected override void MapAll(Api.Common.Models.Requests.StaffEducationOrganiza
{
// Copy all existing values
specification.SuspendReferenceAssignmentCheck();
+ specification.AnnualWage = request.AnnualWage;
specification.CredentialIdentifier = request.CredentialIdentifier;
specification.Department = request.Department;
specification.EducationOrganizationId = request.EducationOrganizationId;
@@ -8866,9 +8902,9 @@ protected override void MapAll(Api.Common.Models.Requests.StudentCompetencyObjec
specification.CompetencyLevelDescriptor = request.CompetencyLevelDescriptor;
specification.DiagnosticStatement = request.DiagnosticStatement;
specification.GradingPeriodDescriptor = request.GradingPeriodDescriptor;
+ specification.GradingPeriodName = request.GradingPeriodName;
specification.GradingPeriodSchoolId = request.GradingPeriodSchoolId;
specification.GradingPeriodSchoolYear = request.GradingPeriodSchoolYear;
- specification.GradingPeriodSequence = request.GradingPeriodSequence;
specification.Id = request.Id;
specification.Objective = request.Objective;
specification.ObjectiveEducationOrganizationId = request.ObjectiveEducationOrganizationId;
@@ -9050,6 +9086,7 @@ protected override void MapAll(Api.Common.Models.Requests.StudentEducationOrgani
specification.SuspendReferenceAssignmentCheck();
specification.BarrierToInternetAccessInResidenceDescriptor = request.BarrierToInternetAccessInResidenceDescriptor;
specification.EducationOrganizationId = request.EducationOrganizationId;
+ specification.GenderIdentity = request.GenderIdentity;
specification.HispanicLatinoEthnicity = request.HispanicLatinoEthnicity;
specification.Id = request.Id;
specification.InternetAccessInResidence = request.InternetAccessInResidence;
@@ -9063,6 +9100,7 @@ protected override void MapAll(Api.Common.Models.Requests.StudentEducationOrgani
specification.ProfileThumbnail = request.ProfileThumbnail;
specification.SexDescriptor = request.SexDescriptor;
specification.StudentUniqueId = request.StudentUniqueId;
+ specification.SupporterMilitaryConnectionDescriptor = request.SupporterMilitaryConnectionDescriptor;
}
}
}
@@ -9937,6 +9975,36 @@ protected override void MapAll(Api.Common.Models.Requests.SubmissionStatusDescri
}
}
+namespace EdFi.Ods.Api.Services.Controllers.SupporterMilitaryConnectionDescriptors.EdFi
+{
+ [ApiExplorerSettings(IgnoreApi = true)]
+ [ExcludeFromCodeCoverage]
+ [ApiController]
+ [Authorize]
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/supporterMilitaryConnectionDescriptors")]
+ public partial class SupporterMilitaryConnectionDescriptorsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.SupporterMilitaryConnectionDescriptor.EdFi.SupporterMilitaryConnectionDescriptor,
+ Entities.Common.EdFi.ISupporterMilitaryConnectionDescriptor,
+ Entities.NHibernate.SupporterMilitaryConnectionDescriptorAggregate.EdFi.SupporterMilitaryConnectionDescriptor,
+ Api.Common.Models.Requests.SupporterMilitaryConnectionDescriptors.EdFi.SupporterMilitaryConnectionDescriptorPut,
+ Api.Common.Models.Requests.SupporterMilitaryConnectionDescriptors.EdFi.SupporterMilitaryConnectionDescriptorPost,
+ Api.Common.Models.Requests.SupporterMilitaryConnectionDescriptors.EdFi.SupporterMilitaryConnectionDescriptorDelete,
+ Api.Common.Models.Requests.SupporterMilitaryConnectionDescriptors.EdFi.SupporterMilitaryConnectionDescriptorGetByExample>
+ {
+ public SupporterMilitaryConnectionDescriptorsController(IPipelineFactory pipelineFactory, IRESTErrorProvider restErrorProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, ILogContextAccessor logContextAccessor)
+ : base(pipelineFactory, restErrorProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, logContextAccessor)
+ {
+ }
+
+ protected override void MapAll(Api.Common.Models.Requests.SupporterMilitaryConnectionDescriptors.EdFi.SupporterMilitaryConnectionDescriptorGetByExample request, Entities.Common.EdFi.ISupporterMilitaryConnectionDescriptor specification)
+ {
+ // Copy all existing values
+ specification.SuspendReferenceAssignmentCheck();
+ specification.SupporterMilitaryConnectionDescriptorId = request.SupporterMilitaryConnectionDescriptorId;
+ }
+ }
+}
+
namespace EdFi.Ods.Api.Services.Controllers.Surveys.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
index 7fb9d6f169..f8728af626 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
@@ -1681,6 +1681,7 @@
+
@@ -2541,6 +2542,7 @@
+
@@ -2551,6 +2553,9 @@
+
+
+
@@ -2626,6 +2631,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2787,6 +2818,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5335,6 +5442,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5545,6 +5666,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7981,8 +8116,8 @@
+
-
@@ -8004,8 +8139,8 @@
+
-
@@ -8038,7 +8173,7 @@
-
+
@@ -8060,8 +8195,8 @@
+
-
@@ -8085,8 +8220,8 @@
+
-
@@ -8157,9 +8292,9 @@
+
-
@@ -8170,7 +8305,7 @@
-
+
@@ -8229,7 +8364,7 @@
-
+
@@ -8245,7 +8380,7 @@
-
+
@@ -8265,6 +8400,7 @@
+
@@ -11662,9 +11798,9 @@
+
-
@@ -11680,9 +11816,9 @@
+
-
@@ -11709,7 +11845,7 @@
-
+
@@ -11724,9 +11860,9 @@
+
-
@@ -11736,9 +11872,9 @@
+
-
@@ -11748,9 +11884,9 @@
+
-
@@ -11774,9 +11910,9 @@
+
-
@@ -11791,8 +11927,8 @@
+
-
@@ -11816,9 +11952,9 @@
+
-
@@ -11850,9 +11986,9 @@
+
-
@@ -11865,9 +12001,9 @@
+
-
@@ -12150,6 +12286,7 @@
+
@@ -12561,7 +12698,7 @@
-
+
@@ -12577,7 +12714,7 @@
-
+
@@ -12700,6 +12837,7 @@
+
@@ -13821,6 +13959,7 @@
+
@@ -14735,9 +14874,9 @@
+
-
@@ -14755,9 +14894,9 @@
+
-
@@ -15348,9 +15487,9 @@
+
-
@@ -15368,9 +15507,9 @@
+
-
@@ -15396,7 +15535,7 @@
-
+
@@ -15415,9 +15554,9 @@
+
-
@@ -15429,9 +15568,9 @@
+
-
@@ -15455,9 +15594,9 @@
+
-
@@ -15499,9 +15638,9 @@
+
-
@@ -15838,6 +15977,7 @@
+
@@ -15848,7 +15988,8 @@
-
+
+
@@ -17638,6 +17779,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
index 43bc340a88..e859edef9e 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
@@ -1764,6 +1764,7 @@
+
@@ -2724,6 +2725,7 @@
+
@@ -2751,6 +2753,9 @@
+
+
+
@@ -2827,6 +2832,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3004,6 +3035,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8022,6 +8129,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8435,6 +8563,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -11568,8 +11717,8 @@
+
-
@@ -11609,7 +11758,7 @@
-
+
@@ -11632,8 +11781,8 @@
+
-
@@ -11649,8 +11798,8 @@
+
-
@@ -11674,8 +11823,8 @@
+
-
@@ -11738,9 +11887,9 @@
+
-
@@ -11756,7 +11905,7 @@
-
+
@@ -11822,7 +11971,7 @@
-
+
@@ -11844,6 +11993,7 @@
+
@@ -11863,7 +12013,7 @@
-
+
@@ -11873,7 +12023,7 @@
-
+
@@ -11883,7 +12033,7 @@
-
+
@@ -11893,7 +12043,7 @@
-
+
@@ -11903,7 +12053,7 @@
-
+
@@ -14894,6 +15044,15 @@
+
+
+
+
+
+
+
+
+
@@ -14975,6 +15134,15 @@
+
+
+
+
+
+
+
+
+
@@ -15637,9 +15805,9 @@
+
-
@@ -15670,7 +15838,7 @@
-
+
@@ -15683,9 +15851,9 @@
+
-
@@ -15695,9 +15863,9 @@
+
-
@@ -15707,9 +15875,9 @@
+
-
@@ -15719,9 +15887,9 @@
+
-
@@ -15745,9 +15913,9 @@
+
-
@@ -15764,8 +15932,8 @@
+
-
@@ -15787,9 +15955,9 @@
+
-
@@ -15824,9 +15992,9 @@
+
-
@@ -15841,9 +16009,9 @@
+
-
@@ -16220,6 +16388,7 @@
+
@@ -16253,6 +16422,9 @@
+
+
+
@@ -16266,6 +16438,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -16745,7 +16928,7 @@
-
+
@@ -16763,7 +16946,7 @@
-
+
@@ -16875,6 +17058,7 @@
+
@@ -16911,6 +17095,13 @@
+
+
+
+
+
+
+
@@ -18163,6 +18354,7 @@
+
@@ -19288,9 +19480,9 @@
+
-
@@ -19310,9 +19502,9 @@
+
-
@@ -19923,9 +20115,9 @@
+
-
@@ -19958,7 +20150,7 @@
-
+
@@ -19975,9 +20167,9 @@
+
-
@@ -19989,9 +20181,9 @@
+
-
@@ -20003,9 +20195,9 @@
+
-
@@ -20029,9 +20221,9 @@
+
-
@@ -20073,9 +20265,9 @@
+
-
@@ -20390,6 +20582,7 @@
+
@@ -20400,7 +20593,8 @@
-
+
+
@@ -20435,6 +20629,9 @@
+
+
+
@@ -22285,6 +22482,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
index 4e0c437b72..583326fa38 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
@@ -1681,6 +1681,7 @@
+
@@ -2541,6 +2542,7 @@
+
@@ -2551,6 +2553,9 @@
+
+
+
@@ -2626,6 +2631,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2787,6 +2818,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5335,6 +5442,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5545,6 +5666,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7981,8 +8116,8 @@
+
-
@@ -8004,8 +8139,8 @@
+
-
@@ -8038,7 +8173,7 @@
-
+
@@ -8060,8 +8195,8 @@
+
-
@@ -8085,8 +8220,8 @@
+
-
@@ -8157,9 +8292,9 @@
+
-
@@ -8170,7 +8305,7 @@
-
+
@@ -8229,7 +8364,7 @@
-
+
@@ -8245,7 +8380,7 @@
-
+
@@ -8265,6 +8400,7 @@
+
@@ -11662,9 +11798,9 @@
+
-
@@ -11680,9 +11816,9 @@
+
-
@@ -11709,7 +11845,7 @@
-
+
@@ -11724,9 +11860,9 @@
+
-
@@ -11736,9 +11872,9 @@
+
-
@@ -11748,9 +11884,9 @@
+
-
@@ -11774,9 +11910,9 @@
+
-
@@ -11791,8 +11927,8 @@
+
-
@@ -11816,9 +11952,9 @@
+
-
@@ -11850,9 +11986,9 @@
+
-
@@ -11865,9 +12001,9 @@
+
-
@@ -12150,6 +12286,7 @@
+
@@ -12561,7 +12698,7 @@
-
+
@@ -12577,7 +12714,7 @@
-
+
@@ -12700,6 +12837,7 @@
+
@@ -13821,6 +13959,7 @@
+
@@ -14735,9 +14874,9 @@
+
-
@@ -14755,9 +14894,9 @@
+
-
@@ -15348,9 +15487,9 @@
+
-
@@ -15368,9 +15507,9 @@
+
-
@@ -15396,7 +15535,7 @@
-
+
@@ -15415,9 +15554,9 @@
+
-
@@ -15429,9 +15568,9 @@
+
-
@@ -15455,9 +15594,9 @@
+
-
@@ -15499,9 +15638,9 @@
+
-
@@ -15838,6 +15977,7 @@
+
@@ -15848,7 +15988,8 @@
-
+
+
@@ -17638,6 +17779,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
index 63b01e8d43..6afa26bf2b 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
@@ -1764,6 +1764,7 @@
+
@@ -2724,6 +2725,7 @@
+
@@ -2751,6 +2753,9 @@
+
+
+
@@ -2827,6 +2832,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3004,6 +3035,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8022,6 +8129,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8435,6 +8563,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -11568,8 +11717,8 @@
+
-
@@ -11609,7 +11758,7 @@
-
+
@@ -11632,8 +11781,8 @@
+
-
@@ -11649,8 +11798,8 @@
+
-
@@ -11674,8 +11823,8 @@
+
-
@@ -11738,9 +11887,9 @@
+
-
@@ -11756,7 +11905,7 @@
-
+
@@ -11822,7 +11971,7 @@
-
+
@@ -11844,6 +11993,7 @@
+
@@ -11863,7 +12013,7 @@
-
+
@@ -11873,7 +12023,7 @@
-
+
@@ -11883,7 +12033,7 @@
-
+
@@ -11893,7 +12043,7 @@
-
+
@@ -11903,7 +12053,7 @@
-
+
@@ -14894,6 +15044,15 @@
+
+
+
+
+
+
+
+
+
@@ -14975,6 +15134,15 @@
+
+
+
+
+
+
+
+
+
@@ -15637,9 +15805,9 @@
+
-
@@ -15670,7 +15838,7 @@
-
+
@@ -15683,9 +15851,9 @@
+
-
@@ -15695,9 +15863,9 @@
+
-
@@ -15707,9 +15875,9 @@
+
-
@@ -15719,9 +15887,9 @@
+
-
@@ -15745,9 +15913,9 @@
+
-
@@ -15764,8 +15932,8 @@
+
-
@@ -15787,9 +15955,9 @@
+
-
@@ -15824,9 +15992,9 @@
+
-
@@ -15841,9 +16009,9 @@
+
-
@@ -16220,6 +16388,7 @@
+
@@ -16253,6 +16422,9 @@
+
+
+
@@ -16266,6 +16438,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -16745,7 +16928,7 @@
-
+
@@ -16763,7 +16946,7 @@
-
+
@@ -16875,6 +17058,7 @@
+
@@ -16911,6 +17095,13 @@
+
+
+
+
+
+
+
@@ -18163,6 +18354,7 @@
+
@@ -19288,9 +19480,9 @@
+
-
@@ -19310,9 +19502,9 @@
+
-
@@ -19923,9 +20115,9 @@
+
-
@@ -19958,7 +20150,7 @@
-
+
@@ -19975,9 +20167,9 @@
+
-
@@ -19989,9 +20181,9 @@
+
-
@@ -20003,9 +20195,9 @@
+
-
@@ -20029,9 +20221,9 @@
+
-
@@ -20073,9 +20265,9 @@
+
-
@@ -20390,6 +20582,7 @@
+
@@ -20400,7 +20593,8 @@
-
+
+
@@ -20435,6 +20629,9 @@
+
+
+
@@ -22285,6 +22482,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
index 78cf821ff5..376e960910 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
@@ -289,6 +289,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_CourseTranscript_EducationOrganization", new IndexDetails { IndexName = "FK_CourseTranscript_EducationOrganization", TableName = "CourseTranscript", ColumnNames = new List { "ExternalEducationOrganizationId" } } },
{ "FK_CourseTranscript_GradeLevelDescriptor", new IndexDetails { IndexName = "FK_CourseTranscript_GradeLevelDescriptor", TableName = "CourseTranscript", ColumnNames = new List { "WhenTakenGradeLevelDescriptorId" } } },
{ "FK_CourseTranscript_MethodCreditEarnedDescriptor", new IndexDetails { IndexName = "FK_CourseTranscript_MethodCreditEarnedDescriptor", TableName = "CourseTranscript", ColumnNames = new List { "MethodCreditEarnedDescriptorId" } } },
+ { "FK_CourseTranscript_Staff", new IndexDetails { IndexName = "FK_CourseTranscript_Staff", TableName = "CourseTranscript", ColumnNames = new List { "ResponsibleTeacherStaffUSI" } } },
{ "FK_CourseTranscript_StudentAcademicRecord", new IndexDetails { IndexName = "FK_CourseTranscript_StudentAcademicRecord", TableName = "CourseTranscript", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
{ "UX_CourseTranscript_Id", new IndexDetails { IndexName = "UX_CourseTranscript_Id", TableName = "CourseTranscript", ColumnNames = new List { "Id" } } },
{ "CourseTranscriptAcademicSubject_PK", new IndexDetails { IndexName = "CourseTranscriptAcademicSubject_PK", TableName = "CourseTranscriptAcademicSubject", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "AcademicSubjectDescriptorId" } } },
@@ -306,6 +307,12 @@ public IndexDetails GetIndexDetails(string indexName)
{ "CourseTranscriptPartialCourseTranscriptAwards_PK", new IndexDetails { IndexName = "CourseTranscriptPartialCourseTranscriptAwards_PK", TableName = "CourseTranscriptPartialCourseTranscriptAwards", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "AwardDate" } } },
{ "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript", new IndexDetails { IndexName = "FK_CourseTranscriptPartialCourseTranscriptAwards_CourseTranscript", TableName = "CourseTranscriptPartialCourseTranscriptAwards", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
{ "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor", new IndexDetails { IndexName = "FK_CourseTranscriptPartialCourseTranscriptAwards_MethodCreditEarnedDescriptor", TableName = "CourseTranscriptPartialCourseTranscriptAwards", ColumnNames = new List { "MethodCreditEarnedDescriptorId" } } },
+ { "CourseTranscriptProgram_PK", new IndexDetails { IndexName = "CourseTranscriptProgram_PK", TableName = "CourseTranscriptProgram", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "ProgramName", "ProgramTypeDescriptorId" } } },
+ { "FK_CourseTranscriptProgram_CourseTranscript", new IndexDetails { IndexName = "FK_CourseTranscriptProgram_CourseTranscript", TableName = "CourseTranscriptProgram", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
+ { "FK_CourseTranscriptProgram_Program", new IndexDetails { IndexName = "FK_CourseTranscriptProgram_Program", TableName = "CourseTranscriptProgram", ColumnNames = new List { "EducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
+ { "CourseTranscriptSection_PK", new IndexDetails { IndexName = "CourseTranscriptSection_PK", TableName = "CourseTranscriptSection", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "LocalCourseCode", "SchoolId", "SectionIdentifier", "SessionName" } } },
+ { "FK_CourseTranscriptSection_CourseTranscript", new IndexDetails { IndexName = "FK_CourseTranscriptSection_CourseTranscript", TableName = "CourseTranscriptSection", ColumnNames = new List { "CourseAttemptResultDescriptorId", "CourseCode", "CourseEducationOrganizationId", "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
+ { "FK_CourseTranscriptSection_Section", new IndexDetails { IndexName = "FK_CourseTranscriptSection_Section", TableName = "CourseTranscriptSection", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "Credential_PK", new IndexDetails { IndexName = "Credential_PK", TableName = "Credential", ColumnNames = new List { "CredentialIdentifier", "StateOfIssueStateAbbreviationDescriptorId" } } },
{ "FK_Credential_CredentialFieldDescriptor", new IndexDetails { IndexName = "FK_Credential_CredentialFieldDescriptor", TableName = "Credential", ColumnNames = new List { "CredentialFieldDescriptorId" } } },
{ "FK_Credential_CredentialTypeDescriptor", new IndexDetails { IndexName = "FK_Credential_CredentialTypeDescriptor", TableName = "Credential", ColumnNames = new List { "CredentialTypeDescriptorId" } } },
@@ -488,13 +495,13 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_GeneralStudentProgramAssociationProgramParticipationStatus_ParticipationStatusDescriptor", new IndexDetails { IndexName = "FK_GeneralStudentProgramAssociationProgramParticipationStatus_ParticipationStatusDescriptor", TableName = "GeneralStudentProgramAssociationProgramParticipationStatus", ColumnNames = new List { "ParticipationStatusDescriptorId" } } },
{ "GeneralStudentProgramAssociationProgramParticipationStatus_PK", new IndexDetails { IndexName = "GeneralStudentProgramAssociationProgramParticipationStatus_PK", TableName = "GeneralStudentProgramAssociationProgramParticipationStatus", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI", "ParticipationStatusDescriptorId", "StatusBeginDate" } } },
{ "FK_Grade_GradeTypeDescriptor", new IndexDetails { IndexName = "FK_Grade_GradeTypeDescriptor", TableName = "Grade", ColumnNames = new List { "GradeTypeDescriptorId" } } },
- { "FK_Grade_GradingPeriod", new IndexDetails { IndexName = "FK_Grade_GradingPeriod", TableName = "Grade", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "SchoolId", "GradingPeriodSchoolYear" } } },
+ { "FK_Grade_GradingPeriod", new IndexDetails { IndexName = "FK_Grade_GradingPeriod", TableName = "Grade", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "SchoolId", "GradingPeriodSchoolYear" } } },
{ "FK_Grade_PerformanceBaseConversionDescriptor", new IndexDetails { IndexName = "FK_Grade_PerformanceBaseConversionDescriptor", TableName = "Grade", ColumnNames = new List { "PerformanceBaseConversionDescriptorId" } } },
{ "FK_Grade_StudentSectionAssociation", new IndexDetails { IndexName = "FK_Grade_StudentSectionAssociation", TableName = "Grade", ColumnNames = new List { "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
- { "Grade_PK", new IndexDetails { IndexName = "Grade_PK", TableName = "Grade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
+ { "Grade_PK", new IndexDetails { IndexName = "Grade_PK", TableName = "Grade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
{ "UX_Grade_Id", new IndexDetails { IndexName = "UX_Grade_Id", TableName = "Grade", ColumnNames = new List { "Id" } } },
{ "FK_GradebookEntry_GradebookEntryTypeDescriptor", new IndexDetails { IndexName = "FK_GradebookEntry_GradebookEntryTypeDescriptor", TableName = "GradebookEntry", ColumnNames = new List { "GradebookEntryTypeDescriptorId" } } },
- { "FK_GradebookEntry_GradingPeriod", new IndexDetails { IndexName = "FK_GradebookEntry_GradingPeriod", TableName = "GradebookEntry", ColumnNames = new List { "GradingPeriodDescriptorId", "PeriodSequence", "SchoolId", "SchoolYear" } } },
+ { "FK_GradebookEntry_GradingPeriod", new IndexDetails { IndexName = "FK_GradebookEntry_GradingPeriod", TableName = "GradebookEntry", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "SchoolId", "SchoolYear" } } },
{ "FK_GradebookEntry_Section", new IndexDetails { IndexName = "FK_GradebookEntry_Section", TableName = "GradebookEntry", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "GradebookEntry_PK", new IndexDetails { IndexName = "GradebookEntry_PK", TableName = "GradebookEntry", ColumnNames = new List { "GradebookEntryIdentifier", "Namespace" } } },
{ "UX_GradebookEntry_Id", new IndexDetails { IndexName = "UX_GradebookEntry_Id", TableName = "GradebookEntry", ColumnNames = new List { "Id" } } },
@@ -502,17 +509,17 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_GradebookEntryLearningStandard_LearningStandard", new IndexDetails { IndexName = "FK_GradebookEntryLearningStandard_LearningStandard", TableName = "GradebookEntryLearningStandard", ColumnNames = new List { "LearningStandardId" } } },
{ "GradebookEntryLearningStandard_PK", new IndexDetails { IndexName = "GradebookEntryLearningStandard_PK", TableName = "GradebookEntryLearningStandard", ColumnNames = new List { "GradebookEntryIdentifier", "Namespace", "LearningStandardId" } } },
{ "GradebookEntryTypeDescriptor_PK", new IndexDetails { IndexName = "GradebookEntryTypeDescriptor_PK", TableName = "GradebookEntryTypeDescriptor", ColumnNames = new List { "GradebookEntryTypeDescriptorId" } } },
- { "FK_GradeLearningStandardGrade_Grade", new IndexDetails { IndexName = "FK_GradeLearningStandardGrade_Grade", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
+ { "FK_GradeLearningStandardGrade_Grade", new IndexDetails { IndexName = "FK_GradeLearningStandardGrade_Grade", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
{ "FK_GradeLearningStandardGrade_LearningStandard", new IndexDetails { IndexName = "FK_GradeLearningStandardGrade_LearningStandard", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "LearningStandardId" } } },
{ "FK_GradeLearningStandardGrade_PerformanceBaseConversionDescriptor", new IndexDetails { IndexName = "FK_GradeLearningStandardGrade_PerformanceBaseConversionDescriptor", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "PerformanceBaseConversionDescriptorId" } } },
- { "GradeLearningStandardGrade_PK", new IndexDetails { IndexName = "GradeLearningStandardGrade_PK", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI", "LearningStandardId" } } },
+ { "GradeLearningStandardGrade_PK", new IndexDetails { IndexName = "GradeLearningStandardGrade_PK", TableName = "GradeLearningStandardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI", "LearningStandardId" } } },
{ "GradeLevelDescriptor_PK", new IndexDetails { IndexName = "GradeLevelDescriptor_PK", TableName = "GradeLevelDescriptor", ColumnNames = new List { "GradeLevelDescriptorId" } } },
{ "GradePointAverageTypeDescriptor_PK", new IndexDetails { IndexName = "GradePointAverageTypeDescriptor_PK", TableName = "GradePointAverageTypeDescriptor", ColumnNames = new List { "GradePointAverageTypeDescriptorId" } } },
{ "GradeTypeDescriptor_PK", new IndexDetails { IndexName = "GradeTypeDescriptor_PK", TableName = "GradeTypeDescriptor", ColumnNames = new List { "GradeTypeDescriptorId" } } },
{ "FK_GradingPeriod_GradingPeriodDescriptor", new IndexDetails { IndexName = "FK_GradingPeriod_GradingPeriodDescriptor", TableName = "GradingPeriod", ColumnNames = new List { "GradingPeriodDescriptorId" } } },
{ "FK_GradingPeriod_School", new IndexDetails { IndexName = "FK_GradingPeriod_School", TableName = "GradingPeriod", ColumnNames = new List { "SchoolId" } } },
{ "FK_GradingPeriod_SchoolYearType", new IndexDetails { IndexName = "FK_GradingPeriod_SchoolYearType", TableName = "GradingPeriod", ColumnNames = new List { "SchoolYear" } } },
- { "GradingPeriod_PK", new IndexDetails { IndexName = "GradingPeriod_PK", TableName = "GradingPeriod", ColumnNames = new List { "GradingPeriodDescriptorId", "PeriodSequence", "SchoolId", "SchoolYear" } } },
+ { "GradingPeriod_PK", new IndexDetails { IndexName = "GradingPeriod_PK", TableName = "GradingPeriod", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "SchoolId", "SchoolYear" } } },
{ "UX_GradingPeriod_Id", new IndexDetails { IndexName = "UX_GradingPeriod_Id", TableName = "GradingPeriod", ColumnNames = new List { "Id" } } },
{ "GradingPeriodDescriptor_PK", new IndexDetails { IndexName = "GradingPeriodDescriptor_PK", TableName = "GradingPeriodDescriptor", ColumnNames = new List { "GradingPeriodDescriptorId" } } },
{ "FK_GraduationPlan_CreditTypeDescriptor", new IndexDetails { IndexName = "FK_GraduationPlan_CreditTypeDescriptor", TableName = "GraduationPlan", ColumnNames = new List { "TotalRequiredCreditTypeDescriptorId" } } },
@@ -881,19 +888,19 @@ public IndexDetails GetIndexDetails(string indexName)
{ "RelationDescriptor_PK", new IndexDetails { IndexName = "RelationDescriptor_PK", TableName = "RelationDescriptor", ColumnNames = new List { "RelationDescriptorId" } } },
{ "RepeatIdentifierDescriptor_PK", new IndexDetails { IndexName = "RepeatIdentifierDescriptor_PK", TableName = "RepeatIdentifierDescriptor", ColumnNames = new List { "RepeatIdentifierDescriptorId" } } },
{ "FK_ReportCard_EducationOrganization", new IndexDetails { IndexName = "FK_ReportCard_EducationOrganization", TableName = "ReportCard", ColumnNames = new List { "EducationOrganizationId" } } },
- { "FK_ReportCard_GradingPeriod", new IndexDetails { IndexName = "FK_ReportCard_GradingPeriod", TableName = "ReportCard", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
+ { "FK_ReportCard_GradingPeriod", new IndexDetails { IndexName = "FK_ReportCard_GradingPeriod", TableName = "ReportCard", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
{ "FK_ReportCard_Student", new IndexDetails { IndexName = "FK_ReportCard_Student", TableName = "ReportCard", ColumnNames = new List { "StudentUSI" } } },
- { "ReportCard_PK", new IndexDetails { IndexName = "ReportCard_PK", TableName = "ReportCard", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
+ { "ReportCard_PK", new IndexDetails { IndexName = "ReportCard_PK", TableName = "ReportCard", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
{ "UX_ReportCard_Id", new IndexDetails { IndexName = "UX_ReportCard_Id", TableName = "ReportCard", ColumnNames = new List { "Id" } } },
- { "FK_ReportCardGrade_Grade", new IndexDetails { IndexName = "FK_ReportCardGrade_Grade", TableName = "ReportCardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
- { "FK_ReportCardGrade_ReportCard", new IndexDetails { IndexName = "FK_ReportCardGrade_ReportCard", TableName = "ReportCardGrade", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
- { "ReportCardGrade_PK", new IndexDetails { IndexName = "ReportCardGrade_PK", TableName = "ReportCardGrade", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "BeginDate", "GradeTypeDescriptorId", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
+ { "FK_ReportCardGrade_Grade", new IndexDetails { IndexName = "FK_ReportCardGrade_Grade", TableName = "ReportCardGrade", ColumnNames = new List { "BeginDate", "GradeTypeDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolYear", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
+ { "FK_ReportCardGrade_ReportCard", new IndexDetails { IndexName = "FK_ReportCardGrade_ReportCard", TableName = "ReportCardGrade", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
+ { "ReportCardGrade_PK", new IndexDetails { IndexName = "ReportCardGrade_PK", TableName = "ReportCardGrade", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "BeginDate", "GradeTypeDescriptorId", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_ReportCardGradePointAverage_GradePointAverageTypeDescriptor", new IndexDetails { IndexName = "FK_ReportCardGradePointAverage_GradePointAverageTypeDescriptor", TableName = "ReportCardGradePointAverage", ColumnNames = new List { "GradePointAverageTypeDescriptorId" } } },
- { "FK_ReportCardGradePointAverage_ReportCard", new IndexDetails { IndexName = "FK_ReportCardGradePointAverage_ReportCard", TableName = "ReportCardGradePointAverage", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
- { "ReportCardGradePointAverage_PK", new IndexDetails { IndexName = "ReportCardGradePointAverage_PK", TableName = "ReportCardGradePointAverage", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "GradePointAverageTypeDescriptorId" } } },
- { "FK_ReportCardStudentCompetencyObjective_ReportCard", new IndexDetails { IndexName = "FK_ReportCardStudentCompetencyObjective_ReportCard", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
- { "FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
- { "ReportCardStudentCompetencyObjective_PK", new IndexDetails { IndexName = "ReportCardStudentCompetencyObjective_PK", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId" } } },
+ { "FK_ReportCardGradePointAverage_ReportCard", new IndexDetails { IndexName = "FK_ReportCardGradePointAverage_ReportCard", TableName = "ReportCardGradePointAverage", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
+ { "ReportCardGradePointAverage_PK", new IndexDetails { IndexName = "ReportCardGradePointAverage_PK", TableName = "ReportCardGradePointAverage", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "GradePointAverageTypeDescriptorId" } } },
+ { "FK_ReportCardStudentCompetencyObjective_ReportCard", new IndexDetails { IndexName = "FK_ReportCardStudentCompetencyObjective_ReportCard", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
+ { "FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_ReportCardStudentCompetencyObjective_StudentCompetencyObjective", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
+ { "ReportCardStudentCompetencyObjective_PK", new IndexDetails { IndexName = "ReportCardStudentCompetencyObjective_PK", TableName = "ReportCardStudentCompetencyObjective", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId" } } },
{ "ReporterDescriptionDescriptor_PK", new IndexDetails { IndexName = "ReporterDescriptionDescriptor_PK", TableName = "ReporterDescriptionDescriptor", ColumnNames = new List { "ReporterDescriptionDescriptorId" } } },
{ "ReportingTagDescriptor_PK", new IndexDetails { IndexName = "ReportingTagDescriptor_PK", TableName = "ReportingTagDescriptor", ColumnNames = new List { "ReportingTagDescriptorId" } } },
{ "ResidencyStatusDescriptor_PK", new IndexDetails { IndexName = "ResidencyStatusDescriptor_PK", TableName = "ResidencyStatusDescriptor", ColumnNames = new List { "ResidencyStatusDescriptorId" } } },
@@ -944,6 +951,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_Section_MediumOfInstructionDescriptor", new IndexDetails { IndexName = "FK_Section_MediumOfInstructionDescriptor", TableName = "Section", ColumnNames = new List { "MediumOfInstructionDescriptorId" } } },
{ "FK_Section_PopulationServedDescriptor", new IndexDetails { IndexName = "FK_Section_PopulationServedDescriptor", TableName = "Section", ColumnNames = new List { "PopulationServedDescriptorId" } } },
{ "FK_Section_School", new IndexDetails { IndexName = "FK_Section_School", TableName = "Section", ColumnNames = new List { "LocationSchoolId" } } },
+ { "FK_Section_SectionTypeDescriptor", new IndexDetails { IndexName = "FK_Section_SectionTypeDescriptor", TableName = "Section", ColumnNames = new List { "SectionTypeDescriptorId" } } },
{ "Section_PK", new IndexDetails { IndexName = "Section_PK", TableName = "Section", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "UX_Section_Id", new IndexDetails { IndexName = "UX_Section_Id", TableName = "Section", ColumnNames = new List { "Id" } } },
{ "FK_SectionAttendanceTakenEvent_CalendarDate", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_CalendarDate", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "CalendarCode", "Date", "SchoolId", "SchoolYear" } } },
@@ -967,6 +975,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_SectionProgram_Program", new IndexDetails { IndexName = "FK_SectionProgram_Program", TableName = "SectionProgram", ColumnNames = new List { "EducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
{ "FK_SectionProgram_Section", new IndexDetails { IndexName = "FK_SectionProgram_Section", TableName = "SectionProgram", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "SectionProgram_PK", new IndexDetails { IndexName = "SectionProgram_PK", TableName = "SectionProgram", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "EducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
+ { "SectionTypeDescriptor_PK", new IndexDetails { IndexName = "SectionTypeDescriptor_PK", TableName = "SectionTypeDescriptor", ColumnNames = new List { "SectionTypeDescriptorId" } } },
{ "SeparationDescriptor_PK", new IndexDetails { IndexName = "SeparationDescriptor_PK", TableName = "SeparationDescriptor", ColumnNames = new List { "SeparationDescriptorId" } } },
{ "SeparationReasonDescriptor_PK", new IndexDetails { IndexName = "SeparationReasonDescriptor_PK", TableName = "SeparationReasonDescriptor", ColumnNames = new List { "SeparationReasonDescriptorId" } } },
{ "ServiceDescriptor_PK", new IndexDetails { IndexName = "ServiceDescriptor_PK", TableName = "ServiceDescriptor", ColumnNames = new List { "ServiceDescriptorId" } } },
@@ -978,9 +987,9 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_SessionAcademicWeek_AcademicWeek", new IndexDetails { IndexName = "FK_SessionAcademicWeek_AcademicWeek", TableName = "SessionAcademicWeek", ColumnNames = new List { "SchoolId", "WeekIdentifier" } } },
{ "FK_SessionAcademicWeek_Session", new IndexDetails { IndexName = "FK_SessionAcademicWeek_Session", TableName = "SessionAcademicWeek", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName" } } },
{ "SessionAcademicWeek_PK", new IndexDetails { IndexName = "SessionAcademicWeek_PK", TableName = "SessionAcademicWeek", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName", "WeekIdentifier" } } },
- { "FK_SessionGradingPeriod_GradingPeriod", new IndexDetails { IndexName = "FK_SessionGradingPeriod_GradingPeriod", TableName = "SessionGradingPeriod", ColumnNames = new List { "GradingPeriodDescriptorId", "PeriodSequence", "SchoolId", "SchoolYear" } } },
+ { "FK_SessionGradingPeriod_GradingPeriod", new IndexDetails { IndexName = "FK_SessionGradingPeriod_GradingPeriod", TableName = "SessionGradingPeriod", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "SchoolId", "SchoolYear" } } },
{ "FK_SessionGradingPeriod_Session", new IndexDetails { IndexName = "FK_SessionGradingPeriod_Session", TableName = "SessionGradingPeriod", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName" } } },
- { "SessionGradingPeriod_PK", new IndexDetails { IndexName = "SessionGradingPeriod_PK", TableName = "SessionGradingPeriod", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName", "GradingPeriodDescriptorId", "PeriodSequence" } } },
+ { "SessionGradingPeriod_PK", new IndexDetails { IndexName = "SessionGradingPeriod_PK", TableName = "SessionGradingPeriod", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName", "GradingPeriodDescriptorId", "GradingPeriodName" } } },
{ "SexDescriptor_PK", new IndexDetails { IndexName = "SexDescriptor_PK", TableName = "SexDescriptor", ColumnNames = new List { "SexDescriptorId" } } },
{ "SourceDimension_PK", new IndexDetails { IndexName = "SourceDimension_PK", TableName = "SourceDimension", ColumnNames = new List { "Code", "FiscalYear" } } },
{ "UX_SourceDimension_Id", new IndexDetails { IndexName = "UX_SourceDimension_Id", TableName = "SourceDimension", ColumnNames = new List { "Id" } } },
@@ -1170,9 +1179,9 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentAcademicRecordRecognition_RecognitionTypeDescriptor", new IndexDetails { IndexName = "FK_StudentAcademicRecordRecognition_RecognitionTypeDescriptor", TableName = "StudentAcademicRecordRecognition", ColumnNames = new List { "RecognitionTypeDescriptorId" } } },
{ "FK_StudentAcademicRecordRecognition_StudentAcademicRecord", new IndexDetails { IndexName = "FK_StudentAcademicRecordRecognition_StudentAcademicRecord", TableName = "StudentAcademicRecordRecognition", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
{ "StudentAcademicRecordRecognition_PK", new IndexDetails { IndexName = "StudentAcademicRecordRecognition_PK", TableName = "StudentAcademicRecordRecognition", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "RecognitionTypeDescriptorId" } } },
- { "FK_StudentAcademicRecordReportCard_ReportCard", new IndexDetails { IndexName = "FK_StudentAcademicRecordReportCard_ReportCard", TableName = "StudentAcademicRecordReportCard", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
+ { "FK_StudentAcademicRecordReportCard_ReportCard", new IndexDetails { IndexName = "FK_StudentAcademicRecordReportCard_ReportCard", TableName = "StudentAcademicRecordReportCard", ColumnNames = new List { "EducationOrganizationId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "StudentUSI" } } },
{ "FK_StudentAcademicRecordReportCard_StudentAcademicRecord", new IndexDetails { IndexName = "FK_StudentAcademicRecordReportCard_StudentAcademicRecord", TableName = "StudentAcademicRecordReportCard", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId" } } },
- { "StudentAcademicRecordReportCard_PK", new IndexDetails { IndexName = "StudentAcademicRecordReportCard_PK", TableName = "StudentAcademicRecordReportCard", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
+ { "StudentAcademicRecordReportCard_PK", new IndexDetails { IndexName = "StudentAcademicRecordReportCard_PK", TableName = "StudentAcademicRecordReportCard", ColumnNames = new List { "EducationOrganizationId", "SchoolYear", "StudentUSI", "TermDescriptorId", "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
{ "FK_StudentAssessment_AdministrationEnvironmentDescriptor", new IndexDetails { IndexName = "FK_StudentAssessment_AdministrationEnvironmentDescriptor", TableName = "StudentAssessment", ColumnNames = new List { "AdministrationEnvironmentDescriptorId" } } },
{ "FK_StudentAssessment_Assessment", new IndexDetails { IndexName = "FK_StudentAssessment_Assessment", TableName = "StudentAssessment", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } },
{ "FK_StudentAssessment_EventCircumstanceDescriptor", new IndexDetails { IndexName = "FK_StudentAssessment_EventCircumstanceDescriptor", TableName = "StudentAssessment", ColumnNames = new List { "EventCircumstanceDescriptorId" } } },
@@ -1231,16 +1240,16 @@ public IndexDetails GetIndexDetails(string indexName)
{ "StudentCohortAssociationSection_PK", new IndexDetails { IndexName = "StudentCohortAssociationSection_PK", TableName = "StudentCohortAssociationSection", ColumnNames = new List { "BeginDate", "CohortIdentifier", "EducationOrganizationId", "StudentUSI", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_StudentCompetencyObjective_CompetencyLevelDescriptor", new IndexDetails { IndexName = "FK_StudentCompetencyObjective_CompetencyLevelDescriptor", TableName = "StudentCompetencyObjective", ColumnNames = new List { "CompetencyLevelDescriptorId" } } },
{ "FK_StudentCompetencyObjective_CompetencyObjective", new IndexDetails { IndexName = "FK_StudentCompetencyObjective_CompetencyObjective", TableName = "StudentCompetencyObjective", ColumnNames = new List { "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId" } } },
- { "FK_StudentCompetencyObjective_GradingPeriod", new IndexDetails { IndexName = "FK_StudentCompetencyObjective_GradingPeriod", TableName = "StudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
+ { "FK_StudentCompetencyObjective_GradingPeriod", new IndexDetails { IndexName = "FK_StudentCompetencyObjective_GradingPeriod", TableName = "StudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear" } } },
{ "FK_StudentCompetencyObjective_Student", new IndexDetails { IndexName = "FK_StudentCompetencyObjective_Student", TableName = "StudentCompetencyObjective", ColumnNames = new List { "StudentUSI" } } },
- { "StudentCompetencyObjective_PK", new IndexDetails { IndexName = "StudentCompetencyObjective_PK", TableName = "StudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
+ { "StudentCompetencyObjective_PK", new IndexDetails { IndexName = "StudentCompetencyObjective_PK", TableName = "StudentCompetencyObjective", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
{ "UX_StudentCompetencyObjective_Id", new IndexDetails { IndexName = "UX_StudentCompetencyObjective_Id", TableName = "StudentCompetencyObjective", ColumnNames = new List { "Id" } } },
{ "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_GeneralStudentProgramAssociation", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_GeneralStudentProgramAssociation", TableName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI" } } },
- { "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective", TableName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
- { "StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK", new IndexDetails { IndexName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK", TableName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI", "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
- { "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective", TableName = "StudentCompetencyObjectiveStudentSectionAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
+ { "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_StudentCompetencyObjective", TableName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
+ { "StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK", new IndexDetails { IndexName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation_PK", TableName = "StudentCompetencyObjectiveGeneralStudentProgramAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI", "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
+ { "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentCompetencyObjective", TableName = "StudentCompetencyObjectiveStudentSectionAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI" } } },
{ "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentSectionAssociation", new IndexDetails { IndexName = "FK_StudentCompetencyObjectiveStudentSectionAssociation_StudentSectionAssociation", TableName = "StudentCompetencyObjectiveStudentSectionAssociation", ColumnNames = new List { "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
- { "StudentCompetencyObjectiveStudentSectionAssociation_PK", new IndexDetails { IndexName = "StudentCompetencyObjectiveStudentSectionAssociation_PK", TableName = "StudentCompetencyObjectiveStudentSectionAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodSequence", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI", "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
+ { "StudentCompetencyObjectiveStudentSectionAssociation_PK", new IndexDetails { IndexName = "StudentCompetencyObjectiveStudentSectionAssociation_PK", TableName = "StudentCompetencyObjectiveStudentSectionAssociation", ColumnNames = new List { "GradingPeriodDescriptorId", "GradingPeriodName", "GradingPeriodSchoolId", "GradingPeriodSchoolYear", "ObjectiveEducationOrganizationId", "Objective", "ObjectiveGradeLevelDescriptorId", "StudentUSI", "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_StudentContactAssociation_Contact", new IndexDetails { IndexName = "FK_StudentContactAssociation_Contact", TableName = "StudentContactAssociation", ColumnNames = new List { "ContactUSI" } } },
{ "FK_StudentContactAssociation_RelationDescriptor", new IndexDetails { IndexName = "FK_StudentContactAssociation_RelationDescriptor", TableName = "StudentContactAssociation", ColumnNames = new List { "RelationDescriptorId" } } },
{ "FK_StudentContactAssociation_Student", new IndexDetails { IndexName = "FK_StudentContactAssociation_Student", TableName = "StudentContactAssociation", ColumnNames = new List { "StudentUSI" } } },
@@ -1276,6 +1285,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentEducationOrganizationAssociation_PrimaryLearningDeviceProviderDescriptor", new IndexDetails { IndexName = "FK_StudentEducationOrganizationAssociation_PrimaryLearningDeviceProviderDescriptor", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "PrimaryLearningDeviceProviderDescriptorId" } } },
{ "FK_StudentEducationOrganizationAssociation_SexDescriptor", new IndexDetails { IndexName = "FK_StudentEducationOrganizationAssociation_SexDescriptor", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "SexDescriptorId" } } },
{ "FK_StudentEducationOrganizationAssociation_Student", new IndexDetails { IndexName = "FK_StudentEducationOrganizationAssociation_Student", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "StudentUSI" } } },
+ { "FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor", new IndexDetails { IndexName = "FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "SupporterMilitaryConnectionDescriptorId" } } },
{ "StudentEducationOrganizationAssociation_PK", new IndexDetails { IndexName = "StudentEducationOrganizationAssociation_PK", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "EducationOrganizationId", "StudentUSI" } } },
{ "UX_StudentEducationOrganizationAssociation_Id", new IndexDetails { IndexName = "UX_StudentEducationOrganizationAssociation_Id", TableName = "StudentEducationOrganizationAssociation", ColumnNames = new List { "Id" } } },
{ "FK_StudentEducationOrganizationAssociationAddress_AddressTypeDescriptor", new IndexDetails { IndexName = "FK_StudentEducationOrganizationAssociationAddress_AddressTypeDescriptor", TableName = "StudentEducationOrganizationAssociationAddress", ColumnNames = new List { "AddressTypeDescriptorId" } } },
@@ -1474,6 +1484,9 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentSectionAssociation_Student", new IndexDetails { IndexName = "FK_StudentSectionAssociation_Student", TableName = "StudentSectionAssociation", ColumnNames = new List { "StudentUSI" } } },
{ "StudentSectionAssociation_PK", new IndexDetails { IndexName = "StudentSectionAssociation_PK", TableName = "StudentSectionAssociation", ColumnNames = new List { "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
{ "UX_StudentSectionAssociation_Id", new IndexDetails { IndexName = "UX_StudentSectionAssociation_Id", TableName = "StudentSectionAssociation", ColumnNames = new List { "Id" } } },
+ { "FK_StudentSectionAssociationProgram_Program", new IndexDetails { IndexName = "FK_StudentSectionAssociationProgram_Program", TableName = "StudentSectionAssociationProgram", ColumnNames = new List { "EducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
+ { "FK_StudentSectionAssociationProgram_StudentSectionAssociation", new IndexDetails { IndexName = "FK_StudentSectionAssociationProgram_StudentSectionAssociation", TableName = "StudentSectionAssociationProgram", ColumnNames = new List { "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI" } } },
+ { "StudentSectionAssociationProgram_PK", new IndexDetails { IndexName = "StudentSectionAssociationProgram_PK", TableName = "StudentSectionAssociationProgram", ColumnNames = new List { "BeginDate", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName", "StudentUSI", "EducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId" } } },
{ "FK_StudentSectionAttendanceEvent_AttendanceEventCategoryDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAttendanceEvent_AttendanceEventCategoryDescriptor", TableName = "StudentSectionAttendanceEvent", ColumnNames = new List { "AttendanceEventCategoryDescriptorId" } } },
{ "FK_StudentSectionAttendanceEvent_EducationalEnvironmentDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAttendanceEvent_EducationalEnvironmentDescriptor", TableName = "StudentSectionAttendanceEvent", ColumnNames = new List { "EducationalEnvironmentDescriptorId" } } },
{ "FK_StudentSectionAttendanceEvent_Section", new IndexDetails { IndexName = "FK_StudentSectionAttendanceEvent_Section", TableName = "StudentSectionAttendanceEvent", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
@@ -1519,6 +1532,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentVisa_VisaDescriptor", new IndexDetails { IndexName = "FK_StudentVisa_VisaDescriptor", TableName = "StudentVisa", ColumnNames = new List { "VisaDescriptorId" } } },
{ "StudentVisa_PK", new IndexDetails { IndexName = "StudentVisa_PK", TableName = "StudentVisa", ColumnNames = new List { "StudentUSI", "VisaDescriptorId" } } },
{ "SubmissionStatusDescriptor_PK", new IndexDetails { IndexName = "SubmissionStatusDescriptor_PK", TableName = "SubmissionStatusDescriptor", ColumnNames = new List { "SubmissionStatusDescriptorId" } } },
+ { "SupporterMilitaryConnectionDescriptor_PK", new IndexDetails { IndexName = "SupporterMilitaryConnectionDescriptor_PK", TableName = "SupporterMilitaryConnectionDescriptor", ColumnNames = new List { "SupporterMilitaryConnectionDescriptorId" } } },
{ "FK_Survey_EducationOrganization", new IndexDetails { IndexName = "FK_Survey_EducationOrganization", TableName = "Survey", ColumnNames = new List { "EducationOrganizationId" } } },
{ "FK_Survey_SchoolYearType", new IndexDetails { IndexName = "FK_Survey_SchoolYearType", TableName = "Survey", ColumnNames = new List { "SchoolYear" } } },
{ "FK_Survey_Session", new IndexDetails { IndexName = "FK_Survey_Session", TableName = "Survey", ColumnNames = new List { "SchoolId", "SchoolYear", "SessionName" } } },
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Models_Entities_Entities.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Models_Entities_Entities.generated.approved.cs
index 709e03d4b5..1c70153d0e 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Models_Entities_Entities.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.0.0/DataStandard_500_ApprovalTests.Verify.Standard_Std_5.0.0_Models_Entities_Entities.generated.approved.cs
@@ -18298,6 +18298,8 @@ public virtual string ContactUniqueId
[RequiredWithNonDefault, StringLength(75, MinimumLength=1), NoDangerousText]
public virtual string FirstName { get; set; }
+ [StringLength(60, MinimumLength=0), NoDangerousText]
+ public virtual string GenderIdentity { get; set; }
[StringLength(10, MinimumLength=1), NoDangerousText]
public virtual string GenerationCodeSuffix { get; set; }
public virtual int? HighestCompletedLevelOfEducationDescriptorId
@@ -26786,6 +26788,8 @@ public CourseTranscript()
CourseTranscriptCreditCategories = new HashSet();
CourseTranscriptEarnedAdditionalCredits = new HashSet();
CourseTranscriptPartialCourseTranscriptAwards = new HashSet();
+ CourseTranscriptPrograms = new HashSet();
+ CourseTranscriptSections = new HashSet();
Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
@@ -27092,6 +27096,58 @@ public virtual string MethodCreditEarnedDescriptor
_methodCreditEarnedDescriptorId = default(int?);
}
}
+ public virtual int? ResponsibleTeacherStaffUSI
+ {
+ get
+ {
+ if (_responsibleTeacherStaffUSI == default(int?) && _responsibleTeacherStaffUniqueId != null)
+ {
+ if (GeneratedArtifactStaticDependencies.UsiLookupsByUniqueIdContextProvider.Get().UsiByUniqueIdByPersonType.TryGetValue("Staff", out var usiByUniqueId)
+ && usiByUniqueId.TryGetValue(_responsibleTeacherStaffUniqueId, out var usi))
+ {
+ _responsibleTeacherStaffUSI = usi;
+ }
+ }
+
+ return _responsibleTeacherStaffUSI;
+ }
+ set
+ {
+ _responsibleTeacherStaffUSI = value;
+
+ if (value != null)
+ {
+ GeneratedArtifactStaticDependencies.UniqueIdLookupsByUsiContextProvider.Get().AddLookup("Staff", value.Value);
+ }
+ }
+ }
+
+ private int? _responsibleTeacherStaffUSI;
+ private string _responsibleTeacherStaffUniqueId;
+
+ public virtual string ResponsibleTeacherStaffUniqueId
+ {
+ get
+ {
+ if (_responsibleTeacherStaffUniqueId == null && _responsibleTeacherStaffUSI.HasValue)
+ {
+ if (GeneratedArtifactStaticDependencies.UniqueIdLookupsByUsiContextProvider.Get().UniqueIdByUsiByPersonType.TryGetValue("Staff", out var uniqueIdByUsi)
+ && uniqueIdByUsi.TryGetValue(_responsibleTeacherStaffUSI.Value, out var uniqueId))
+ {
+ _responsibleTeacherStaffUniqueId = uniqueId;
+ }
+ }
+
+ return _responsibleTeacherStaffUniqueId;
+ }
+ set
+ {
+ if (_responsibleTeacherStaffUniqueId != value)
+ _responsibleTeacherStaffUSI = default(int?);
+
+ _responsibleTeacherStaffUniqueId = value;
+ }
+ }
public virtual int? WhenTakenGradeLevelDescriptorId
{
get
@@ -27212,6 +27268,26 @@ string Entities.Common.EdFi.ICourseTranscript.ExternalEducationOrganizationDiscr
set { }
}
+ public virtual NHibernate.StaffAggregate.EdFi.StaffReferenceData ResponsibleTeacherStaffReferenceData { get; set; }
+
+ ///
+ /// Read-only property that allows the ResponsibleTeacherStaff discriminator value to be mapped to the resource reference.
+ ///
+ string Entities.Common.EdFi.ICourseTranscript.ResponsibleTeacherStaffDiscriminator
+ {
+ get { return ResponsibleTeacherStaffReferenceData?.Discriminator; }
+ set { }
+ }
+
+ ///
+ /// Read-only property that allows the ResponsibleTeacherStaff resource identifier value to be mapped to the resource reference.
+ ///
+ Guid? Entities.Common.EdFi.ICourseTranscript.ResponsibleTeacherStaffResourceId
+ {
+ get { return ResponsibleTeacherStaffReferenceData?.Id; }
+ set { }
+ }
+
public virtual NHibernate.StudentAcademicRecordAggregate.EdFi.StudentAcademicRecordReferenceData StudentAcademicRecordReferenceData { get; set; }
///
@@ -27477,6 +27553,102 @@ public virtual ICollection _courseTranscriptPrograms;
+ private ICollection _courseTranscriptProgramsCovariant;
+ [ValidateEnumerable]
+ public virtual ICollection CourseTranscriptPrograms
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // On-demand deserialization logic to attach reverse reference of children
+ // due to ServiceStack's lack of [OnDeserialized] attribute support.
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _courseTranscriptPrograms)
+ if (item.CourseTranscript == null)
+ item.CourseTranscript = this;
+ // -------------------------------------------------------------
+
+ return _courseTranscriptPrograms;
+ }
+ set
+ {
+ _courseTranscriptPrograms = value;
+ _courseTranscriptProgramsCovariant = new CovariantCollectionAdapter(value);
+ }
+ }
+
+ // Covariant version, visible only on the interface
+ ICollection Entities.Common.EdFi.ICourseTranscript.CourseTranscriptPrograms
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _courseTranscriptPrograms)
+ if (item.CourseTranscript == null)
+ item.CourseTranscript = this;
+ // -------------------------------------------------------------
+
+ return _courseTranscriptProgramsCovariant;
+ }
+ set
+ {
+ CourseTranscriptPrograms = new HashSet(value.Cast());
+ }
+ }
+
+
+ private ICollection _courseTranscriptSections;
+ private ICollection _courseTranscriptSectionsCovariant;
+ [ValidateEnumerable]
+ public virtual ICollection CourseTranscriptSections
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // On-demand deserialization logic to attach reverse reference of children
+ // due to ServiceStack's lack of [OnDeserialized] attribute support.
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _courseTranscriptSections)
+ if (item.CourseTranscript == null)
+ item.CourseTranscript = this;
+ // -------------------------------------------------------------
+
+ return _courseTranscriptSections;
+ }
+ set
+ {
+ _courseTranscriptSections = value;
+ _courseTranscriptSectionsCovariant = new CovariantCollectionAdapter(value);
+ }
+ }
+
+ // Covariant version, visible only on the interface
+ ICollection Entities.Common.EdFi.ICourseTranscript.CourseTranscriptSections
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _courseTranscriptSections)
+ if (item.CourseTranscript == null)
+ item.CourseTranscript = this;
+ // -------------------------------------------------------------
+
+ return _courseTranscriptSectionsCovariant;
+ }
+ set
+ {
+ CourseTranscriptSections = new HashSet(value.Cast());
+ }
+ }
+
// -------------------------------------------------------------
// Provide lookup property map
@@ -27933,7 +28105,465 @@ public IDictionary Extensions
}
}
- [ValidateAggregateExtensions(typeof(CourseTranscriptAlternativeCourseIdentificationCode))]
+ [ValidateAggregateExtensions(typeof(CourseTranscriptAlternativeCourseIdentificationCode))]
+ public IDictionary AggregateExtensions { get; set; }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Reference Data
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ //=============================================================
+ // Collections
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // Provide lookup property map
+ private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
+ {
+ { "CourseAttemptResultDescriptor", new LookupColumnDetails { PropertyName = "CourseAttemptResultDescriptorId", LookupTypeName = "CourseAttemptResultDescriptor"} },
+ { "CourseIdentificationSystemDescriptor", new LookupColumnDetails { PropertyName = "CourseIdentificationSystemDescriptorId", LookupTypeName = "CourseIdentificationSystemDescriptor"} },
+ { "TermDescriptor", new LookupColumnDetails { PropertyName = "TermDescriptorId", LookupTypeName = "TermDescriptor"} },
+ };
+
+ Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
+ {
+ get { return _idPropertyByLookupProperty; }
+ }
+
+ // Provide primary key information
+ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
+ {
+ // Get parent key values
+ var keyValues = (CourseTranscript as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ // Add current key values
+ keyValues.Add("CourseIdentificationSystemDescriptorId", CourseIdentificationSystemDescriptorId);
+
+ return keyValues;
+ }
+
+ #region Overrides for Equals() and GetHashCode()
+ public override bool Equals(object obj)
+ {
+ var compareTo = obj as IHasPrimaryKeyValues;
+
+ if (ReferenceEquals(this, compareTo))
+ return true;
+
+ if (compareTo == null)
+ return false;
+
+ var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var thoseKeys = compareTo.GetPrimaryKeyValues();
+
+ foreach (DictionaryEntry entry in theseKeys)
+ {
+ if (entry.Value is string)
+ {
+ if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!entry.Value.Equals(thoseKeys[entry.Key]))
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public override int GetHashCode()
+ {
+ var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ if (keyValues.Count == 0)
+ return base.GetHashCode();
+
+ var hashCode = new HashCode();
+
+ foreach (DictionaryEntry entry in keyValues)
+ {
+ if (entry.Value is string)
+ {
+ hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
+ }
+ else
+ {
+ hashCode.Add(entry.Value);
+ }
+ }
+
+ return hashCode.ToHashCode();
+ }
+ #endregion
+ bool ISynchronizable.Synchronize(object target)
+ {
+ return this.SynchronizeTo((Entities.Common.EdFi.ICourseTranscriptAlternativeCourseIdentificationCode)target);
+ }
+
+ void IMappable.Map(object target)
+ {
+ this.MapTo((Entities.Common.EdFi.ICourseTranscriptAlternativeCourseIdentificationCode) target, null);
+ }
+
+ void IChildEntity.SetParent(object value)
+ {
+ CourseTranscript = (CourseTranscript) value;
+ }
+ }
+// disable warnings for inheritance from classes marked Obsolete within this generated code only
+#pragma warning disable 612, 618
+
+ ///
+ /// A class which represents the edfi.CourseTranscriptCreditCategory table of the CourseTranscript aggregate in the ODS database.
+ ///
+ [Serializable, Schema("edfi")]
+ [ExcludeFromCodeCoverage]
+ public class CourseTranscriptCreditCategory : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.ICourseTranscriptCreditCategory, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ {
+ public virtual void SuspendReferenceAssignmentCheck() { }
+
+ public CourseTranscriptCreditCategory()
+ {
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ }
+// restore warnings for inheritance from classes marked Obsolete
+#pragma warning restore 612, 618
+
+ // =============================================================
+ // Primary Key
+ // -------------------------------------------------------------
+ [DomainSignature, JsonIgnore, IgnoreDataMember]
+ public virtual CourseTranscript CourseTranscript { get; set; }
+
+ Entities.Common.EdFi.ICourseTranscript ICourseTranscriptCreditCategory.CourseTranscript
+ {
+ get { return CourseTranscript; }
+ set { CourseTranscript = (CourseTranscript) value; }
+ }
+
+ [DomainSignature, RequiredWithNonDefault]
+ public virtual int CreditCategoryDescriptorId
+ {
+ get
+ {
+ if (_creditCategoryDescriptorId == default(int))
+ _creditCategoryDescriptorId = GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("CreditCategoryDescriptor", _creditCategoryDescriptor);
+
+ return _creditCategoryDescriptorId;
+ }
+ set
+ {
+ _creditCategoryDescriptorId = value;
+ _creditCategoryDescriptor = null;
+ }
+ }
+
+ private int _creditCategoryDescriptorId;
+ private string _creditCategoryDescriptor;
+
+ public virtual string CreditCategoryDescriptor
+ {
+ get
+ {
+ if (_creditCategoryDescriptor == null)
+ _creditCategoryDescriptor = GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("CreditCategoryDescriptor", _creditCategoryDescriptorId);
+
+ return _creditCategoryDescriptor;
+ }
+ set
+ {
+ _creditCategoryDescriptor = value;
+ _creditCategoryDescriptorId = default(int);
+ }
+ }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Inherited Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // One-to-one relationships
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Extensions
+ // -------------------------------------------------------------
+ private IDictionary _extensions;
+
+ [ValidateExtensions]
+ public IDictionary Extensions
+ {
+ get => _extensions;
+ set
+ {
+ // If the _extensions is null, this is being assigned from the constructor
+ // for the first time and no special handling is required
+ if (_extensions != null)
+ {
+ // For extensions that have already been initialized by the extensions factory,
+ // we need to copy any "implicit" extension object entries over to the incoming
+ // value dictionary being assigned by NHibernate because it won't have them,
+ // but they must be there for correct handling of extensions for the API.
+ foreach (var key in _extensions.Keys)
+ {
+ if (!value.Contains(key))
+ {
+ value[key] = _extensions[key];
+ }
+ }
+ }
+
+ _extensions = value;
+ }
+ }
+
+ [ValidateAggregateExtensions(typeof(CourseTranscriptCreditCategory))]
+ public IDictionary AggregateExtensions { get; set; }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Reference Data
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ //=============================================================
+ // Collections
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // Provide lookup property map
+ private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
+ {
+ { "CourseAttemptResultDescriptor", new LookupColumnDetails { PropertyName = "CourseAttemptResultDescriptorId", LookupTypeName = "CourseAttemptResultDescriptor"} },
+ { "CreditCategoryDescriptor", new LookupColumnDetails { PropertyName = "CreditCategoryDescriptorId", LookupTypeName = "CreditCategoryDescriptor"} },
+ { "TermDescriptor", new LookupColumnDetails { PropertyName = "TermDescriptorId", LookupTypeName = "TermDescriptor"} },
+ };
+
+ Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
+ {
+ get { return _idPropertyByLookupProperty; }
+ }
+
+ // Provide primary key information
+ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
+ {
+ // Get parent key values
+ var keyValues = (CourseTranscript as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ // Add current key values
+ keyValues.Add("CreditCategoryDescriptorId", CreditCategoryDescriptorId);
+
+ return keyValues;
+ }
+
+ #region Overrides for Equals() and GetHashCode()
+ public override bool Equals(object obj)
+ {
+ var compareTo = obj as IHasPrimaryKeyValues;
+
+ if (ReferenceEquals(this, compareTo))
+ return true;
+
+ if (compareTo == null)
+ return false;
+
+ var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var thoseKeys = compareTo.GetPrimaryKeyValues();
+
+ foreach (DictionaryEntry entry in theseKeys)
+ {
+ if (entry.Value is string)
+ {
+ if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!entry.Value.Equals(thoseKeys[entry.Key]))
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public override int GetHashCode()
+ {
+ var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ if (keyValues.Count == 0)
+ return base.GetHashCode();
+
+ var hashCode = new HashCode();
+
+ foreach (DictionaryEntry entry in keyValues)
+ {
+ if (entry.Value is string)
+ {
+ hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
+ }
+ else
+ {
+ hashCode.Add(entry.Value);
+ }
+ }
+
+ return hashCode.ToHashCode();
+ }
+ #endregion
+ bool ISynchronizable.Synchronize(object target)
+ {
+ return this.SynchronizeTo((Entities.Common.EdFi.ICourseTranscriptCreditCategory)target);
+ }
+
+ void IMappable.Map(object target)
+ {
+ this.MapTo((Entities.Common.EdFi.ICourseTranscriptCreditCategory) target, null);
+ }
+
+ void IChildEntity.SetParent(object value)
+ {
+ CourseTranscript = (CourseTranscript) value;
+ }
+ }
+// disable warnings for inheritance from classes marked Obsolete within this generated code only
+#pragma warning disable 612, 618
+
+ ///
+ /// A class which represents the edfi.CourseTranscriptEarnedAdditionalCredits table of the CourseTranscript aggregate in the ODS database.
+ ///
+ [Serializable, Schema("edfi")]
+ [ExcludeFromCodeCoverage]
+ public class CourseTranscriptEarnedAdditionalCredits : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.ICourseTranscriptEarnedAdditionalCredits, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ {
+ public virtual void SuspendReferenceAssignmentCheck() { }
+
+ public CourseTranscriptEarnedAdditionalCredits()
+ {
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ }
+// restore warnings for inheritance from classes marked Obsolete
+#pragma warning restore 612, 618
+
+ // =============================================================
+ // Primary Key
+ // -------------------------------------------------------------
+ [DomainSignature, JsonIgnore, IgnoreDataMember]
+ public virtual CourseTranscript CourseTranscript { get; set; }
+
+ Entities.Common.EdFi.ICourseTranscript ICourseTranscriptEarnedAdditionalCredits.CourseTranscript
+ {
+ get { return CourseTranscript; }
+ set { CourseTranscript = (CourseTranscript) value; }
+ }
+
+ [DomainSignature, RequiredWithNonDefault]
+ public virtual int AdditionalCreditTypeDescriptorId
+ {
+ get
+ {
+ if (_additionalCreditTypeDescriptorId == default(int))
+ _additionalCreditTypeDescriptorId = GeneratedArtifactStaticDependencies.DescriptorResolver.GetDescriptorId("AdditionalCreditTypeDescriptor", _additionalCreditTypeDescriptor);
+
+ return _additionalCreditTypeDescriptorId;
+ }
+ set
+ {
+ _additionalCreditTypeDescriptorId = value;
+ _additionalCreditTypeDescriptor = null;
+ }
+ }
+
+ private int _additionalCreditTypeDescriptorId;
+ private string _additionalCreditTypeDescriptor;
+
+ public virtual string AdditionalCreditTypeDescriptor
+ {
+ get
+ {
+ if (_additionalCreditTypeDescriptor == null)
+ _additionalCreditTypeDescriptor = GeneratedArtifactStaticDependencies.DescriptorResolver.GetUri("AdditionalCreditTypeDescriptor", _additionalCreditTypeDescriptorId);
+
+ return _additionalCreditTypeDescriptor;
+ }
+ set
+ {
+ _additionalCreditTypeDescriptor = value;
+ _additionalCreditTypeDescriptorId = default(int);
+ }
+ }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Inherited Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Properties
+ // -------------------------------------------------------------
+ [Range(typeof(decimal), "0", "999999.999")]
+ public virtual decimal Credits { get; set; }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // One-to-one relationships
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Extensions
+ // -------------------------------------------------------------
+ private IDictionary _extensions;
+
+ [ValidateExtensions]
+ public IDictionary Extensions
+ {
+ get => _extensions;
+ set
+ {
+ // If the _extensions is null, this is being assigned from the constructor
+ // for the first time and no special handling is required
+ if (_extensions != null)
+ {
+ // For extensions that have already been initialized by the extensions factory,
+ // we need to copy any "implicit" extension object entries over to the incoming
+ // value dictionary being assigned by NHibernate because it won't have them,
+ // but they must be there for correct handling of extensions for the API.
+ foreach (var key in _extensions.Keys)
+ {
+ if (!value.Contains(key))
+ {
+ value[key] = _extensions[key];
+ }
+ }
+ }
+
+ _extensions = value;
+ }
+ }
+
+ [ValidateAggregateExtensions(typeof(CourseTranscriptEarnedAdditionalCredits))]
public IDictionary AggregateExtensions { get; set; }
// -------------------------------------------------------------
@@ -27950,8 +28580,8 @@ public IDictionary Extensions
// Provide lookup property map
private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
{
+ { "AdditionalCreditTypeDescriptor", new LookupColumnDetails { PropertyName = "AdditionalCreditTypeDescriptorId", LookupTypeName = "AdditionalCreditTypeDescriptor"} },
{ "CourseAttemptResultDescriptor", new LookupColumnDetails { PropertyName = "CourseAttemptResultDescriptorId", LookupTypeName = "CourseAttemptResultDescriptor"} },
- { "CourseIdentificationSystemDescriptor", new LookupColumnDetails { PropertyName = "CourseIdentificationSystemDescriptorId", LookupTypeName = "CourseIdentificationSystemDescriptor"} },
{ "TermDescriptor", new LookupColumnDetails { PropertyName = "TermDescriptorId", LookupTypeName = "TermDescriptor"} },
};
@@ -27967,7 +28597,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = (CourseTranscript as IHasPrimaryKeyValues).GetPrimaryKeyValues();
// Add current key values
- keyValues.Add("CourseIdentificationSystemDescriptorId", CourseIdentificationSystemDescriptorId);
+ keyValues.Add("AdditionalCreditTypeDescriptorId", AdditionalCreditTypeDescriptorId);
return keyValues;
}
@@ -28031,12 +28661,12 @@ public override int GetHashCode()
#endregion
bool ISynchronizable.Synchronize(object target)
{
- return this.SynchronizeTo((Entities.Common.EdFi.ICourseTranscriptAlternativeCourseIdentificationCode)target);
+ return this.SynchronizeTo((Entities.Common.EdFi.ICourseTranscriptEarnedAdditionalCredits)target);
}
void IMappable.Map(object target)
{
- this.MapTo((Entities.Common.EdFi.ICourseTranscriptAlternativeCourseIdentificationCode) target, null);
+ this.MapTo((Entities.Common.EdFi.ICourseTranscriptEarnedAdditionalCredits) target, null);
}
void IChildEntity.SetParent(object value)
@@ -28048,19 +28678,19 @@ void IChildEntity.SetParent(object value)
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.CourseTranscriptCreditCategory table of the CourseTranscript aggregate in the ODS database.
+ /// A class which represents the edfi.CourseTranscriptPartialCourseTranscriptAwards table of the CourseTranscript aggregate in the ODS database.
///
[Serializable, Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class CourseTranscriptCreditCategory : EntityWithCompositeKey, IChildEntity,
- Entities.Common.EdFi.ICourseTranscriptCreditCategory, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ public class CourseTranscriptPartialCourseTranscriptAwards : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.ICourseTranscriptPartialCourseTranscriptAwards, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
public virtual void SuspendReferenceAssignmentCheck() { }
- public CourseTranscriptCreditCategory()
+ public CourseTranscriptPartialCourseTranscriptAwards()
{
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary