PowerSchool SIS Oregon

Oregon Cumulative ADM Student File Technical Reference Overview and Processing Details

Oregon Cumulative ADM Student File Technical Reference

Overview

This section provides technical information about how the Oregon Cumulative ADM Student File processes data and generates output records. Most districts can validate report results using the information provided in the main report guide; however, this section may be useful when researching complex reporting questions or working with PowerSchool Support.

Topics covered include:

  • Record selection and row generation

  • Enrollment segmentation

  • Attendance calculations

  • Session day calculations

  • Instructional hours processing

  • Full Academic Year calculations

  • Temporary processing tables

  • Source tables and business rules


Report Processing Overview

The Oregon Cumulative ADM Student File is not generated directly from student tables. Instead, the report creates several intermediate work tables and calculated data sets that are used to build the final output.

The report performs the following major processing stages:

  1. Create school session-day totals.

  2. Build reportable enrollment segments.

  3. Generate ESL and PNP supplemental records.

  4. Generate instructional-hour records.

  5. Calculate attendance values.

  6. Calculate Full Academic Year indicators.

  7. Merge with Oregon First-55 student data.

  8. Generate final output rows.

Because records are generated in stages, a student may appear in multiple report rows and some fields are calculated rather than reported directly from stored database values.


Record Selection Processing

Current Enrollment Records

The report evaluates records from the STUDENTS table.

A student record is considered reportable when:

  • Entry Date is on or before the Report End Date.

  • Exit Date is after the Report Start Date.

  • State Exclude from Reporting is not enabled.

  • State Exclude Enrollment is not enabled.

  • The enrollment belongs to the selected school.

The report then limits the enrollment record to the reporting period.

Example

Student Enrollment:

Field

Value

Entry Date

08/15/2025

Exit Date

07/01/2026

Report Parameters:

Field

Value

Start Date

09/01/2025

End Date

06/30/2026

Result:

Output Field

Value

ADMEnrlDtTxt

09/01/2025

ADMEndDtTxt

06/30/2026


Reenrollment Records

The report independently evaluates records from REENROLLMENTS.

Each reportable reenrollment segment may produce a separate row in the output file.

A student who transfers between schools within the same district may therefore generate multiple ADM records.


Enrollment Overlap and Final Record Selection

The report initially evaluates current and historical enrollment records to determine whether they potentially overlap the reporting period.

A current or historical enrollment passes the initial date evaluation when:

  • The enrollment Exit Date is after the Report Start Date.

  • The enrollment Entry Date is on or before the Report End Date.

After identifying a potentially eligible enrollment, the report limits the enrollment segment to the selected reporting period.

The adjusted ADM Enrollment Date is the later of:

  • The enrollment Entry Date

  • The Report Start Date

The adjusted ADM End Date is the earlier of:

  • The enrollment Exit Date

  • The Report End Date

Before creating the final output, the report removes any enrollment segment whose adjusted ADM Enrollment Date is equal to its adjusted ADM End Date. This prevents a zero-day enrollment segment from being reported. This behavior is defined in OR_CUMADM.xml. [powerschoo...epoint.com]

Practical Effect

Although an enrollment with an Entry Date equal to the Report End Date passes the initial date evaluation, it does not appear in the final output. After the report limits the enrollment to the reporting period, the adjusted ADM Enrollment Date and ADM End Date are the same, so the record is removed.

From a district user’s perspective, the functional inclusion rule is:

  • The enrollment Entry Date must be before the Report End Date.

  • The enrollment Exit Date must be after the Report Start Date.

  • The student must have at least one reportable day within the reporting period.

Example

Student Entry Date

Report End Date

Adjusted ADM Enrollment Date

Adjusted ADM End Date

Final Result

10/01/2025

10/02/2025

10/01/2025

10/02/2025

Included

10/02/2025

10/02/2025

10/02/2025

10/02/2025

Not included

10/03/2025

10/02/2025

Not created

Not created

Not included

Support Note

The initial enrollment-selection logic permits an Entry Date that is equal to the Report End Date. However, the final output requires the adjusted enrollment dates to be different. The combined processing produces the functional behavior documented on Page 1: the Entry Date must be before the Report End Date for the student to appear in the final report.

Technical Logic Summary

For Support reference, the internal conditions can be documented in plain text as follows:

Initial enrollment evaluation:

Exit Date is greater than Report Start Date.

Entry Date is less than or equal to Report End Date.

Adjusted reporting segment:

Adjusted Entry Date equals the later of the enrollment Entry Date and Report Start Date.

Adjusted End Date equals the earlier of the enrollment Exit Date and Report End Date.

Final output validation:

Adjusted Entry Date must not equal Adjusted End Date.


Session Day Processing

Purpose

Session Days determine the ADMSessDays value reported for ADM records.

Source Tables

Table

Purpose

CALENDAR_DAY

Calendar configuration

TERMS

School term boundaries

Processing Logic

The report creates a temporary session-day table containing:

Generated Value

Description

SESSION_DAYS

Total instructional days

A

Track A session days

B

Track B session days

C

Track C session days

D

Track D session days

E

Track E session days

F

Track F session days

Only days that:

  • Fall within valid school terms

  • Fall within the reporting period

  • Are marked In Session

are counted.


Multi-Track Calendars

When a student is assigned to a track schedule, the report uses track-specific session-day values rather than total session days.

Example:

Track

Session Days Used

A

Track A total

B

Track B total

C

Track C total

D

Track D total

E

Track E total

F

Track F total


Attendance Processing

Attendance Conversion Methods

The report supports two attendance calculation methods.

Method 1: ADA/ADM Attendance

Source Table:

  • PS_ADAADM_DEFAULTS_ALL

This method uses stored attendance conversion values.

Generated values:

  • ADMPrsntDays

  • ADMAbsntDays


Method 2: Day-Part Attendance

Source Tables:

  • ATT_DAYPART_CURYEAR

  • ATT_DAYPART_PREVYEAR

  • ATTENDANCE_CONVERSION_ITEMS

The report converts:

  • Minutes

  • Periods

  • Day-parts

into attendance values using district attendance conversion rules.

Generated values:

  • ADMPrsntDays

  • ADMAbsntDays


Attendance Date Boundaries

Attendance is only included when:

  • Attendance Date is greater than or equal to the enrollment start date.

  • Attendance Date is less than the enrollment end date.

  • Attendance Date falls within the report date range.

This prevents attendance from being counted outside the reportable enrollment segment.


Program Record Generation

Primary ADM Records

All reportable students generate a primary ADM record.

Program Type:

01

unless modified by additional processing.


ESL Records

Source:

SPENROLLMENTS

Generated Program Type:

02

A supplemental ESL record is generated when a qualifying ESL enrollment overlaps a reportable enrollment segment.


PNP Records

Source:

SPENROLLMENTS

Generated Program Type:

03

A supplemental PNP record is generated when a qualifying PNP enrollment overlaps a reportable enrollment segment.


Instructional Hour Processing

Purpose

Instructional-hour values may generate additional report rows beyond the student's primary ADM record.

Source Fields

Field

InstrctHrs_LargeGroup

InstrctHrs_CaseMngmnt

InstrctHrs_InterGroup

InstrctHrs_SmallGroup

InstrctHrs_EmpMinors

InstrctHrs_SharedTime

InstrctHrs_Tutorial

InstrctHrs_Expanded

InstrctHrs_NotExpanded

Generated Program Types

Program Type

Description

04

Large Group

05

Case Management

06

Intergroup

07

Small Group

08

Employed Minors

09

Shared Time

10

Tutorial

11

Expanded

12

Not Expanded

Each instructional-hour category may generate an additional output row.


Instructional Hour Record Behavior

Instructional-hour records differ from standard ADM records.

The report intentionally suppresses:

  • Session Days

  • Present Days

  • Absent Days

FTE is reported as:

0

for instructional-hour rows.


Full Academic Year Processing

Purpose

The report generates two Full Academic Year indicators:

  • FullAcdmYrSchlFg

  • FullAcdmYrDistFg

Calculation Logic

The report compares:

  • Student membership dates

  • Available instructional days

  • Enrollment duration

A student who attends for at least half of the eligible instructional period reports:

Y

Students who do not meet that threshold report:

N

These values are calculated during report execution and are not stored in PowerSchool.


Row Generation Logic

Why a Student May Have Multiple Rows

A student can generate multiple rows when:

  • Multiple enrollment segments exist.

  • ESL participation exists.

  • PNP participation exists.

  • Instructional-hour values exist.

Example

Record Type

Program Type

Primary ADM Record

01

ESL Record

02

PNP Record

03

Tutorial Record

10

In this example, four report rows are expected.


Temporary Processing Tables

School Session Days Table

Purpose:

Stores instructional-day totals used for ADMSessDays calculations.


Enrollment Work Table

Purpose:

Stores reportable enrollment segments after date filtering and exclusion processing.


Attendance Work Table

Purpose:

Stores calculated attendance totals.

Used for:

  • ADMPrsntDays

  • ADMAbsntDays


Instructional Hours Table

Purpose:

Stores generated instructional-hour records.

Used for:

  • ADMProgTypCd

  • ADMInstrctHrs


Full Academic Year Table

Purpose:

Stores calculated Full Academic Year indicators.

Used for:

  • FullAcdmYrSchlFg

  • FullAcdmYrDistFg


Special Business Rules

ADM End Date Code

When a student's Exit Date is on or after the Report End Date, the report always returns:

ADMEndDtCd = 1A

This behavior aligns with Oregon ADM reporting requirements.


Tuition Type

When no Tuition Type is entered, the report returns:

S


FTE Reporting

Purpose

FTE (Full-Time Equivalency) is derived from the student's Membership Share value and is reported on enrollment-based ADM records.

Reporting Rules

Program Type

FTE Reported

01 - Standard ADM

Membership Share

02 - ESL

Membership Share

03 - PNP

Membership Share

15 - Half-Day Kindergarten

Membership Share

04-12 - Instructional Hour Records

0

Processing Logic

The report stores the student's Membership Share value from the reportable enrollment segment and uses that value when generating standard ADM and supplemental program records.

As a result, ESL (Program Type 02) and PNP (Program Type 03) records typically report the same FTE value as the student's primary ADM record.

Instructional-hour records (Program Types 04-12) are generated separately and always report an FTE value of 0. This behavior is consistent with the report's instructional-hour processing design. [OR_CumADM_...port_Guide | Word], [OREGON CUM...ENT FILE 2 | Word]

Example

Program Type

Description

FTE

01

Standard ADM

1.0

02

ESL

1.0

03

PNP

1.0

10

Tutorial

0

In this example, the student generates four report rows. The Standard ADM, ESL, and PNP records report the student's Membership Share value, while the Tutorial instructional-hour record reports 0.

Troubleshooting

If FTE appears incorrect:

  • Verify the student's Membership Share value.

  • Verify the ADM Program Type being reported.

  • Determine whether the row is an enrollment-based record (01, 02, 03, or 15) or an instructional-hour record (04-12).

  • Review the student's enrollment dates and any generated supplemental program records.

Support Note

The report does not limit FTE reporting to Program Type 01. Supplemental program records, including ESL (02), PNP (03), and Half-Day Kindergarten (15), may also report the student's Membership Share value because they are generated from reportable enrollment segments rather than instructional-hour processing. Instructional-hour records (Program Types 04-12) always report an FTE value of 0.


Military Connected

Military Connected status is sourced from the current enrollment Oregon Cumulative ADM record.

Historical reenrollment records do not source a Military Connected value.


Half-Day Kindergarten

When:

  • Grade Level = Kindergarten

  • Half-Day Kindergarten Flag = Enabled

the report generates:

Program Type 15

instead of Program Type 01.


Primary Source Tables

Table

Purpose

STUDENTS

Current enrollment data

REENROLLMENTS

Historical enrollment data

S_OR_STU_CumADM_X

Current CumADM extension data

S_OR_REN_CumADM_X

Historical CumADM extension data

S_OR_STU_X

Current Oregon extension data

S_OR_REN_X

Historical Oregon extension data

SPENROLLMENTS

ESL and PNP participation

CALENDAR_DAY

Session day calculations

TERMS

School term boundaries

PS_ADAADM_DEFAULTS_ALL

ADA/ADM attendance calculations

ATT_DAYPART_CURYEAR

Current-year day-part attendance

ATT_DAYPART_PREVYEAR

Prior-year day-part attendance

ATTENDANCE_CONVERSION_ITEMS

Attendance conversion mappings


Recent Enhancements

PSSR-434022

ADM End Date Code processing was updated so that students whose Exit Date is on or after the Report End Date report 1A (Continuing Enrollment) rather than graduation or withdrawal codes. This change aligns report output with Oregon ADM reporting requirements. [OREGON CUM...ENT FILE 2 | Word], [OR_CumADM_...port_Guide | Word]

Troubleshooting Tip

When a student is expected to report a graduation code but reports 1A, compare the student's Exit Date to the Report End Date. If the Exit Date is on or after the Report End Date, the reported value is expected behavior.