PowerSchool SIS Ohio

Data Access Tag - Ohio Specific

PowerQuery-based Truancy DATs (Recommended)

Note: Legacy Java-based attendance DATs still function but are no longer supported or recommended. Use the PowerQuery-based attendance DATs below.

PowerQuery formatting rules

Formatting PowerQueries can be confusing. Use this quick guide:

Topic

Rule / Example

Where to put arguments

Append arguments at the end of the query as arg.<name>=<value>

Example: arg.endDate=10/01/2025

Date format

Use MM/DD/YYYY for date arguments

Limit returned fields

Immediately after the query name, add ;fields=field1,field2 (comma-separated)

Examples

;fields=presenthrs

;fields=student_number,presenthrs

endDate behavior (current year vs today)

Default endDate is end of current year. If today is earlier than that date, attendance totals only include data through today.

Present Hours (PowerQuery)

Purpose: Get the total amount of hours present for a student inside a date range

PowerQuery name: com.powerschool.usa_oh.students.present_hours

Arguments:

Argument

Required

Default

startDate

No

~(date.information;type=current_year_start;dateformat=yyyy-MM-dd)

endDate

No

~(date.information;type=current_year_end;dateformat=yyyy-MM-dd)

Returned data fields

Field

Description / Format

first_name

Student first name

middle_name

Student middle name

last_name

Student last name

student_number

Student number

presenthrs

Total present hours (decimal)

presenthrs_time

Total present hours (hh:mm)

Example

Returns

PowerQuery

All fields

All returned fields

^(*powerquery;query=com.powerschool.usa_oh.students.present_hours;arg.startDate=09/01/2025;arg.endDate=10/01/2025)

presenthrs_time only

presenthrs_time (hh:mm)

^(*powerquery;query=com.powerschool.usa_oh.students.present_hours;fields=presenthrs_time;arg.startDate=09/01/2025;arg.endDate=10/01/2025)

Medical Hours (PowerQuery)

Medical Hours - Get the total amount of medical hours for a student inside a date range

Powerquery Name - com.powerschool.usa_oh.students.medical_hours

Argument

Required

Default

startDate

No

~(date.information;type=current_year_start;dateformat=yyyy-MM-dd)

endDate

No

~(date.information;type=current_year_end;dateformat=yyyy-MM-dd)

Returned data fields

Field

Description / Format

first_name

Student first name

middle_name

Student middle name

last_name

Student last name

student_number

Student number

medicalhrs

Total medical hours (decimal)

medicalhrs_time

Total medical hours (hh:mm)

Examples

Example

Returns

PowerQuery

All fields

All returned fields

^(*powerquery;query=com.powerschool.usa_oh.students.medical_hours;arg.startDate=09/01/2025;arg.endDate=10/01/2025)

medicalhrs_time only

medicalhrs_time (hh:mm)

^(*powerquery;query=com.powerschool.usa_oh.students.medical_hours;fields=medicalhrs_time;arg.startDate=09/01/2025;arg.endDate=10/01/2025)

Absenteeism Hours & Percentage (PowerQuery)

Absenteeism Hours Totals - Get the various abscence hours total for a student based on user input

Powerquery Name - com.powerschool.usa_oh.students.truancy_hours

Arguments:

Argument

Required

Default / Valid options

startDate

No

~(date.information;type=current_year_start;dateformat=yyyy-MM-dd)

endDate

No

~(date.information;type=current_year_end;dateformat=yyyy-MM-dd)

type

Yes

excused_month, total_absence, unex_consecutive, unex_month, unex_year, total_hours, total_percentage

HB410

Yes

Y, N


Type options explained

Type

Description

HB410 parameter impact (if applicable)

excused_month

Total excused absence hours between the supplied dates.

If HB410=Y: excused + unexcused hours excluding medically-excused exempt hours for the current month.

total_absence

Total excused absence hours between the supplied dates.

If HB410=Y: excused + unexcused hours excluding medically-excused exempt hours for the current year.

unex_consecutive

Unexcused absences that are consecutive by day (not hour) minus any hours exempt from Truancy. Validate there are no breaks due to partial-day absences.

unex_month

Unexcused absence hours minus any hours exempt from Truancy for the current month.

unex_year

Unexcused absence hours minus any hours exempt from Truancy for the current year.

total_hours

Sums present, excused, and unexcused hours to return total possible hours for the provided dates.

total_percentage

Percentage of hours absent compared to the total possible hours.

Returned data fields

Field

Description / Format

first_name

Student first name

middle_name

Student middle name

last_name

Student last name

student_number

Student number

totals

Total hours (decimal)

totals_time

Total hours (hh:mm)

Example

Returns

PowerQuery

All fields

All returned fields

^(*powerquery;query=com.powerschool.usa_oh.students.truancy_hours;arg.startDate=09/01/2025;arg.endDate=10/01/2025;arg.totals=excused_month;arg.HB410=N)

totals_time only

totals_time (hh:mm)

^(*powerquery;query=com.powerschool.usa_oh.students.truancy_hours;fields=totals_time;arg.startDate=09/01/2026;arg.endDate=10/01/2025;arg.type=total_absence;arg.HB410=N)

total_percent only

total_percentage

^(*powerquery;query=com.powerschool.usa_oh.students.truancy_hours;fields=totals_percentage;arg.startDate=09/01/2025;arg.endDate=10/01/2025;arg.totals=excused_month;arg.HB410=N)


HB410 Truancy and Chronic Absenteeism Data Access Tag

This functionality is only available to users with PowerSchool 12.0 (and above) installed. As of September 2025, PowerQueries are the supported method.

Medical Hours

Purpose: Get the total amount of medical hours for a student inside a date range

Use

Base Code

Object Reports

^(*compliance;dat.name=DAT_usa_oh_studentTruancy)

Custom Pages

~(*compliance;dat.name=DAT_usa_oh_studentTruancy)

Parameters

Purpose

Options

Default

dat.studentID

Defines the student.

student ID

Currently selected student or group of students. For object reports, this parameter is required or results are not always valid.

This is case sensitive. Verify you are using dat.studentId

dat.term

Defines a term to use as a date range.

A valid term abbreviation for the given school in the current year i.e. Q3

Any full-year term that contains a dash (20-21) will cause the code to break.

Not used by default.

Will override supplied dat.start_date and dat.end_date if supplied.

dat.school

Defines which school to be used for the term lookup.

A valid school IRN in your district i.e. 037945

Not used by default.

Required if using dat.term

dat.start_date

Define the start date for data.

Any date formatted string i.e. 07/01/2018

07/01 of the current school year

dat.end_date

Define the end date for data.

Any date formatted string i.e. 06/30/2019

06/30 of the current school year

dat.type

Define what type of data to display.

total or days

(See dat.columns for a list of columns that display based on dat.type selection.)

total

dat.headers

Define if headers should be included.

on, off

on

dat.display_type

Define how to display hours.

decimal, hours

hours

dat.render_type

Define the style of output to be text or HTML.

text, html

html

dat.out_of

Define if the out of value should be shown for approaching state limits; for example, 10 / 65.

on, off

on

dat.columns

Define what columns to show and their ordering.

dat.type = total the default is "total_month,total_year,unex_consecutive,unex_month,unex_year" but any combination of those columns in any order and with any omitted is considered valid

or

dat.type = days the default is "att_date,school,att_code,excused_status,hours_absent,hours_exempt" but any combination of those columns in any order and with any omitted is considered valid

The order in which the columns display can be changed.

all columns display based on dat.type selection

dat.calc_type

Defines whether to use the standard HB410 calculations or the FS calculations for attendance

FS, HB410

HB410

Sample code

Code

Results

^(*compliance;dat.name=DAT_usa_oh_studentTruancy;

dat.studentId=^(id);

dat.display_type=decimal;

dat.type=days;

dat.headers=off)

Absences for each day of absence will display as decimals with no headers displayed.

^(*compliance;dat.name=DAT_usa_oh_studentTruancy;

dat.studentId=^(id);

dat.start_date=10/01/2018;

dat.end_date=10/31/2018;

dat.display_type=hours)

Absence totals from 10/1/2018 through 10/31/2018 will be displayed as hours and minutes in these columns:

Total Month

Total Year

Total Unexcused Consecutive

Total Unexcused Month

Total Unexcused Year

^(*compliance;dat.name=DAT_usa_oh_studentTruancy;

dat.studentId=^(id);

dat.start_date=10/01/2018;

dat.end_date=10/31/2018;

dat.display_type=hours;

dat.type=days;

dat.columns=att_date,excused_status,hours_absent)

Absences for each day will display with date of absence, an excused or unexcused status and the number of hours absent.

The school information will not display as it is omitted in the dat.columns list.

^(*compliance;dat.name=DAT_usa_oh_studentTruancy;

dat.studentId=^(id);

dat.term=Q3;

dat.school=037945;

dat.out_of=off;

dat.headers=off;

dat.render_type=text;

dat.columns=total_year)

Absence total from the start of Quarter 3 to the end of Quarter 3 will be displayed as hours and minutes without the out of / and rendered as text for easy inclusion into form letters and object reports.

Graduation Pathways Data Access Tag

The following describes the use of the Ohio-specific Graduation Pathways Data Access Tag (DAT) on custom pages and object reports. Values are calculated in real time when the DAT tag is used.

This reference has been validated against the current GradPathwaysDAT.java implementation and includes both the original legacy pathway output and the newer permanent pathway output.

Use

Use

Base Code

Object Reports

^(*compliance;dat.name=DAT_usa_oh_gradPathways)

Custom Pages

~(*compliance;dat.name=DAT_usa_oh_gradPathways)

Parameters

Parameters

Purpose

Options

Default / Notes

dat.studentId

Defines the student.

Student ID

Defaults to the currently selected student (curStudentId). For object reports, this parameter should be supplied so the results are always valid. This parameter name is case-sensitive and must be dat.studentId.

dat.headers

Defines whether column headers should be included.

on, off

on

dat.render_type

Defines whether output is returned as text or HTML.

text, html

html

dat.pathway_type

Defines which Graduation Pathways model to use.

legacy, permanent

legacy

dat.out_of

Defines whether point columns should include the out-of value, for example 10 / 12.

on, off

on. Legacy mode only. This option affects only the legacy point columns listed in the Legacy pathway columns section.

dat.columns

Defines which columns are shown and the order in which they are displayed.

See the section-specific column lists below.

Defaults depend on dat.pathway_type and, for permanent mode, dat.pathway_section.

dat.pathway_section

Defines which permanent pathway section should be returned. Required when dat.pathway_type=permanent.

core_credits, competency, readiness, core_econ_req, core_arts_req

Not used in legacy mode.

dat.categories

Filters the categories returned for a permanent section.

See section-specific category lists below.

When omitted, all supported categories for the selected permanent section are returned. Applies only to core_credits, competency, and readiness.

dat.pathway_list_type

Filters permanent section rows to all rows, summary rows only, or detail rows only.

all, totals_only, data_only

all. Applies only to core_credits and competency.

dat.pathway_readiness_type

Filters readiness seals by seal type.

all, state, local

all. Applies only to readiness.

dat.pathway_readiness_progress_type

Filters readiness seals by progress state.

all, earned, partial, planned

all. Applies only to readiness.

Legacy Pathway Columns

When dat.pathway_type is omitted or set to legacy, the DAT returns the original multi-column Graduation Pathways summary.

All of the following columns are available for dat.columns and display in the order provided:

Column token

Description / Notes

stu_dcid


stu_id


stu_student_number


stu_lastfirst


stu_gradyear


stu_notesyes


stu_notes


ohio_m_ouf_of

Intentionally spelled exactly as shown; this is the token accepted by the code.

ohio_m_points

Affected by dat.out_of (on/off).

ohio_e_out_of


ohio_e_points

Affected by dat.out_of (on/off).

ohio_sc_out_of


ohio_sc_points

Affected by dat.out_of (on/off).

ohio_total_out_of


ohio_total_points

Affected by dat.out_of (on/off).

ohio_progress


transfer_req_out_of


transfer_req_points

Affected by dat.out_of (on/off).

transfer_taken_out_of


transfer_taken_points

Affected by dat.out_of (on/off).

transfer_total_out_of


transfer_total_points

Affected by dat.out_of (on/off).

transfer_progress


college_ac_eng_points


college_ac_m_points


college_ac_r_points


college_sa_m_points


college_sa_w_points


college_sa_r_points


college_progress


industry_workkey_points

Affected by dat.out_of (on/off).

industry_workkey_out_of


industry_num1_out_of


industry_num1_points

Affected by dat.out_of (on/off).

industry_num1_category

Category label (legacy mode).

industry_num2_out_of


industry_num2_points

Affected by dat.out_of (on/off).

industry_num2_category

Category label (legacy mode).

industry_num3_out_of


industry_num3_points

Affected by dat.out_of (on/off).

industry_num3_category

Category label (legacy mode).

industry_progress


override_progress


total_progress


Notes:

  • ohio_m_ouf_of is intentionally spelled exactly as shown above because that is the column token accepted by the code.

  • Columns that do not have an applicable value in legacy mode return N/A.

  • dat.out_of only affects the following legacy point columns:
    ohio_m_points, ohio_e_points, ohio_sc_points, ohio_total_points, transfer_req_points, transfer_taken_points, transfer_total_points, industry_workkey_points, industry_num1_points, industry_num2_points, and industry_num3_points.

Permanent Pathway Sections

When dat.pathway_type=permanent, dat.pathway_section is required.

Core Credits

Use dat.pathway_section=core_credits to return permanent pathway core credit rows.

Supported dat.columns values:

Column token

Included in default order?

Default order (1–8)

category

Yes

1

progress

Yes

2

course_number

Yes

3

course_name

Yes

4

core_area

Yes

5

earned

Yes

6

in_progress

Yes

7

required

Yes

8

Supported dat.categories values:

Category

english

health

math

pe

science

social_studies

electives

dat.pathway_list_type behavior:

Value

Meaning

Rows returned

all

Returns both summary and detail rows

Summary + detail

totals_only

Returns summary rows only

Summary only

data_only

Returns course detail rows only

Detail only

Permanent section null values render as blank output rather than N/A.

Competency

Use dat.pathway_section=competency to return permanent pathway competency rows.

Supported dat.columns values:

Column token

Included in default order?

Default order (1–5)

category

Yes

1

section

Yes

2

attribute

Yes

3

score

Yes

4

progress

Yes

5


Supported dat.categories values:

Category

ge

alternative

ccp

military

career

dat.pathway_list_type behavior:

Value

Meaning

Rows returned

all

Returns both header and detail rows

Header + detail

totals_only

Returns header rows only

Header only

data_only

Returns non-header detail rows only

Detail only

Permanent section null values render as blank output rather than N/A.

Readiness

Use dat.pathway_section=readiness to return permanent pathway readiness seal rows.

Supported dat.columns values:

Column token

Included in default order?

Default order (1–3)

name

Yes

1

type

Yes

2

progress

Yes

3

Supported dat.categories values:

Category

military

technology

industry_credential

citizenship

ohio_means_jobs

biliteracy

college-ready

science

honors_diploma

community_service

student_engagement

fine_and_performing_arts

Additional readiness filters:

Filter

Options / Value

dat.pathway_readiness_type

all, state, local

dat.pathway_readiness_progress_type

all, earned, partial, planned

Permanent section null values render as blank output rather than N/A.

Core Economics and Financial Literacy Requirement

Use dat.pathway_section=core_econ_req to return a single value:

  • Met

  • Not Met

This section does not use dat.columns, dat.categories, dat.pathway_list_type, dat.pathway_readiness_type, or dat.pathway_readiness_progress_type.

Core Fine Arts Requirement

Use dat.pathway_section=core_arts_req to return a single value:

  • Met

  • Not Met

This section does not use dat.columns, dat.categories, dat.pathway_list_type, dat.pathway_readiness_type, or dat.pathway_readiness_progress_type.

Sample Code

Example

Code

Results

Legacy default HTML table

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id))

Returns all legacy Graduation Pathways columns as an HTML table with headers.

Legacy text summary without headers

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.headers=off; dat.render_type=text; dat.columns=ohio_total_points, ohio_progress, transfer_total_points, transfer_progress, college_progress, industry_num1_points, industry_progress, total_progress)

Returns selected legacy progress and points columns as text without headers.

Legacy text summary without out-of values

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.out_of=off; dat.headers=off; dat.render_type=text; dat.columns=ohio_total_points, ohio_progress, transfer_total_points, transfer_progress, college_progress, industry_num1_points, industry_progress, total_progress)

Returns selected legacy progress and points columns as text without headers and without the out-of values.

Permanent core credits

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=core_credits)

Returns permanent pathway core credit rows as an HTML table using the default core credit columns.

Permanent core credits totals only

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=core_credits; dat.pathway_list_type=totals_only; dat.columns=category, progress, earned, in_progress, required; dat.categories=english, math, science)

Returns permanent pathway core credit summary rows only for English, Math, and Science.

Permanent competency data only

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=competency; dat.pathway_list_type=data_only; dat.columns=category, section, attribute, score, progress; dat.categories=ge, ccp, career)

Returns permanent pathway competency detail rows only for the selected competency categories.

Permanent readiness, state seals earned only

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=readiness; dat.pathway_readiness_type=state; dat.pathway_readiness_progress_type=earned; dat.columns=name, type, progress)

Returns earned state readiness seals only.

Permanent core economics and financial literacy requirement

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=core_econ_req; dat.render_type=text; dat.headers=off)

Returns Met or Not Met for the CORE Economics and Financial Literacy Requirement.

Permanent core fine arts requirement

^(*compliance;dat.name=DAT_usa_oh_gradPathways; dat.studentId=^(id); dat.pathway_type=permanent; dat.pathway_section=core_arts_req; dat.render_type=text; dat.headers=off)

Returns Met or Not Met for the CORE Fine Arts Requirement.