Ed-Fi Certification is part of the Ed-Fi Partner Program, which is currently running in pilot mode. If you have any questions regarding the Ed-Fi Partner program, please send those to firstname.lastname@example.org.
To receive this certification, a product must be able to use the Ed-Fi ODS Data Collection APIs v2.0 (the APIs aligned with Data Standard v2.0) to create and manage a defined set of API resources. The table below shows the Ed-Fi ODS / API Resources that the product is expected to exercise and the operations expected on that resource.
Please note that this certification is for an API version (v2.0) and that version may not correspond to the Ed-Fi Operational Data Store version. This certification is for the APIs that align with Ed-Fi Data Standard v2.0.
Preparing for Certification
- Documentation. API requirements and documentation for each of the API resources can be viewed at http://apidocs.ed-fi.org or are available by downloading the Ed-Fi ODS / API code, then installing and running the Swagger documentation.
- Dependencies. The Ed-Fi Unifying Data Model is highly normalized and the Ed-Fi Data Collection API resources enforce a high degree of relational integrity. As a result, resource creation often requires that the resource reference other existing entities. The graph at the right shows these dependencies.
- Setting up a test environment. We recommend setting up a regular test environment using the Ed-Fi ODS / API v2.0 application as a precursor to certification testing, which will occur against sandbox supplied by the Ed-Fi Alliance. The ODS / API includes a Sandbox Administration Portal that can be used to install a basic test sandboxes that includes a number of the initial dependencies (see graph at right), including Descriptors, EducationOrganizations, and Programs.
De-select "Populate with Sample Data" in the Sandbox Administration Portal to get access to the "minimal" template. The actual certification tests use this same minimal Ed-Fi ODS / API test sandbox data set to supply the necessary dependencies.
Ed-Fi UDM Dependency Graph (click to open)
For each API resource field, the test cases and the required/optional status of each field is provided in a tabular form, along with the sample data to be used in testing. Note that if a field is only required when an optional sub-API resource is submitted, the optional/required status is given as REQUIRED* to indicate the conditional status.
|Ed-Fi ODS / API Resource||Operations|
|School||Create, Update, Delete|
|Create, Update, Delete|
|Program||Create, Update, Delete|
|Student||Create, Update, Delete|
|Parent||Create, Update, Delete|
|StudentParentAssociation||Create, Update, Delete|
|StudentSchoolAssociation||Create, Update, Delete|
|StudentSectionAssociation||Create, Update, Delete|
|StudentEducationOrganizationAssociation||Create, Update, Delete|
|GraduationPlan||Create, Update, Delete|
|StudentProgramAssociation||Create, Update, Delete|
|StudentSpecialEducationProgramAssociation||Create, Update, Delete|
|StudentTitleIPartAProgramAssociation||Create, Update, Delete|
|CalendarDate||Create, Update, Delete|
|GradingPeriod||Create, Update, Delete|
|Session||Create, Update, Delete|
|Course Offering||Create, Update, Delete|
|StudentSchoolAttendanceEvent||Create, Update, Delete|
|Section||Create, Update, Delete|
|StudentSectionAttendanceEvent||Create, Update, Delete|
|DisciplineIncident||Create, Update, Delete|
|StudentDisciplineIncidentAssociation||Create, Update, Delete|
|DisciplineAction||Create, Update, Delete|
|Create, Update, Delete|
|ClassPeriod||Create, Update, Delete|
|Cohort||Create, Update, Delete|
|StudentCohortAssociation||Create, Update, Delete|
|StaffCohortAssociation||Create, Update, Delete|
|Staff||Create, Update, Delete|
|StaffEducationOrganizationAssignmentAssociation||Create, Update, Delete|
|StaffSchoolAssociation||Create, Update, Delete|
|StaffSectionAssociation||Create, Update, Delete|
|Grade||Create, Update, Delete|
|StudentAcademicRecord||Create, Update, Delete|
|CourseTranscript||Create, Update, Delete|
Sample Test Cases
The following is an example of elements from an actual test plan. This information is only provided to provide a clearer sense of a product test session activity. Note that some elements of this test refer to items created in previous tests (e.g., the schools referenced).
In the actual tests, the state of the API resources will be verified on an actual Ed-Fi ODS / API by inspecting the ODS database or API resource following each test.
In general, testers can use data they prefer, but for some tests, specific data will be provided and testers asked to use that data.
The Student Enrollment interchange describes student enrollments in schools and in sections. Below each required operation is the Ed-Fi ODS / API Resource exercised.
1. Add a graduation plan
2. Enroll a student in a high school
3. Enroll a student in a high school second semester
4. Dual enroll a student in high school and vocational high school
5. Enroll a student in a middle school on the first day
6. Enroll a student in an elementary school
7. Withdraw a student
8. Re-enroll the withdrawn student to verify the ExitWithdrawDate is less than the EntryDate of a subsequent record at the same school for the same student
9. Create a student section association
10. Create a student section association at the high school
11. Create a student section association at the vocational high school
12. Create a student section association at the high school to show a student taking a course that is not at his enrolled school
13. Create a student section association at the middle school
14. Create a student section association for a student at the elementary school
15. Create a student section association for a student to withdraw from one course
16. Create a student section association for a student to enroll in the same course in a different section at the high school in the middle of the semester
17. Create a student section association for a student to enroll in new course in second semester at the middle school
18. Create a student section association for a student in a year round class at the elementary school