PowerSchool SIS Tennessee

Student Academic Records

Resource overview

  • Ed-Fi endpoint: /data/v3/studentAcademicRecords

  • Published view/entity: Student Academic Records

  • Purpose: The cumulative record of academic achievement for a student

  • Source query: StudentAcademicRecord

  • Dependencies: No resource dependency is declared.

studentAcademicRecord

This educational resource represents the cumulative record of academic achievement for a student, and functions as the header record for the student courseTranscript resource. A record is published for each school year indicating the cumulative credits for the student.

Primary PowerSchool Source Data

  • [Students]

  • [S_TN_STU_X]

Selection Criteria

Records are published if the following criteria are met:

  • The student was published in the Student category.

  • StudentUniqueId must be populated in PowerSchool.

  • The student must not be excluded from state reporting.

  • The section at the school where the grade was recorded must not be excluded from state reporting

  • The stored grades record must not be excluded from transcripts.

  • The course must have a valid state course code.

  • If the stored grades SectionId is greater than 0, the record is the most recent for the section, student, and store code based on DateStored.

Note: The publishing logic is updated to allow publishing a Student Academic Record in the current school year, for students without stored grades. However, the record is published only if Document Completion Type and Document Completion Date are populated for the student in the Student Information page. Also, the student must have an active current-year enrollment (including no-show enrollments) and meets standard framework criteria (e.g. not part of a school excluded from state reporting)

Resource Output

Data Element (Ed-Fi target)

Data View Column Name

Submission

[Table]Field (PowerSchool Source)

Business Rules

Comments

educationOrganizationReference.educationOrganizationId

SubEduOrgID

Y

Staging rule: studentAcademicRecords

CST_PUBWORKFLOW.formatLEASchoolID(p_profileid, p_schoolid)

Required by the production resource definition when the resource is published.

JSON type: string. Query alias: SubEduOrgID.

schoolYearTypeReference.schoolYear

SchoolYear

Y

[CST_PUBPUBLISHED_TMP]COMPOSITEKEYS

Required by the production resource definition when the resource is published.

JSON type: number. Query alias: SchoolYear.

studentReference.studentUniqueId

StudentUID

Y

[Students]DCID;

Transformation: EDFI_TN_LIB.getStudentUniqueId(p_profileid, s.dcid)

Required by the production resource definition when the resource is published.

JSON type: string. Query alias: StudentUID.

termDescriptor

Term_DX

Y

[CST_PUBPUBLISHED_TMP]COMPOSITEKEYS

Required by the production resource definition when the resource is published.

JSON type: string. Query alias: Term_DX.

cumulativeEarnedCredits

CumulativeEarnedCredits

Conditional

Publishing framework or supporting query

Query alias: CumulativeEarnedCredits

Submit when the source alias is populated and the parent structure is applicable.

JSON type: number. Query alias: CumulativeEarnedCredits.

cumulativeAttemptedCredits

CumulativeAttemptedCredits

Conditional

Publishing framework or supporting query

Query alias: CumulativeAttemptedCredits

Submit when the source alias is populated and the parent structure is applicable.

JSON type: number. Query alias: CumulativeAttemptedCredits.

sessionEarnedCredits

SessionEarnedCredits

Conditional

Publishing framework or supporting query

Query alias: SessionEarnedCredits

Submit when the source alias is populated and the parent structure is applicable.

JSON type: number. Query alias: SessionEarnedCredits.

sessionAttemptedCredits

SessionAttemptedCredits

Conditional

Publishing framework or supporting query

Query alias: SessionAttemptedCredits

Submit when the source alias is populated and the parent structure is applicable.

JSON type: number. Query alias: SessionAttemptedCredits.

classRanking.classRank

ClassRank

Y

[CST_PUBPUBLISHED_TMP]RUNTIMEPROP_3

Required by the production resource definition when the resource is published.

JSON type: number. Query alias: ClassRank.

classRanking.totalNumberInClass

TotalNumberInClass

Y

[CST_PUBPUBLISHED_TMP]RUNTIMEPROP_3

Required by the production resource definition when the resource is published.

JSON type: number. Query alias: TotalNumberInClass.

classRanking.percentageRanking

PercentageRanking

Conditional

[CST_PUBPUBLISHED_TMP]RUNTIMEPROP_3;

Transformation: case when to_number(regexp_substr(ppt.RUNTIMEPROP_3, '[^\|]+', 1, 2)) > 0 then round((100 - 100 * to_number(regexp_substr(ppt.RUNTIMEPROP_3, '[^\|]+', 1, 1)) / to_number(regexp_substr(ppt.RUNTIMEPROP_3, '[^\|]+', 1, 2))), 2) else null end

Submit when the source alias is populated and the parent structure is applicable.

JSON type: number. Query alias: PercentageRanking.

classRanking.classRankingDate

ClassRankingDate

Conditional

[CST_PUBPUBLISHED_TMP]RUNTIMEPROP_3

Submit when the source alias is populated and the parent structure is applicable.

JSON type: datetime. Query alias: ClassRankingDate.

diplomas[].diplomaTypeDescriptor

diplomaType_DX

Y

[S_TN_STU_X]Completion;

Transformation: case when sx.completion = '2' then '1' when sx.completion in('1','3','5','6','7','8','11','12','13') then sx.completion end

Required by the production resource definition when the resource is published.

JSON type: string. Query alias: diplomaType_DX.

diplomas[].diplomaAwardDate

diplomaAwardDate

Y

[S_TN_STU_X]CompletionDate; [CST_PUBPUBLISHED_TMP]RUNTIMEPROPDATE_1; [CST_PUBPUBLISHED_TMP]RUNTIMEPROPDATE_2;

Transformation: CASE WHEN sx.completiondate IS NOT NULL AND ( (sx.completiondate >= ppt.RUNTIMEPROPDATE_1 AND (ppt.RUNTIMEPROPDATE_2 IS NULL OR sx.completiondate < ppt.RUNTIMEPROPDATE_2)) OR sx.completiondate < ppt.RUNTIMEPROPDATE_1 ) THEN TO_CHAR(sx.completiondate, 'YYYY-MM-DD') END

Required by the production resource definition when the resource is published.

JSON type: datetime. Query alias: diplomaAwardDate.