...
To illustrate how one would apply the Ed-Fi Data Model for information exchange, consider how one would use the Ed-Fi Core XML Schema to develop an interchange for a student transcript interchange from a high school to a post-secondary institution.
Step 1: Analyze the Specific Data Requirements for the Data Interchange.
...
- Student identification and contact information
- Standard No Child Left Behind (NCLB) demographics, omitting any details on disabilities
- K–12 enrollment history indicating the various schools attended
- Academic record showing semester and final grades and credits earned for each secondary course taken
- Scores for the yearly state standardized tests (summary scores only)
- Yearly and final credits earned and grade point average (GPA)
- Graduation plan and date graduated
- Student transcript interchange indicating whether it is an official or unofficial submission
Step 2: Analyze the Specific Interchange Transactions that Are Required.
...
Referring to the Ed-Fi UML models, the desired information is reflected in the Assessment, Enrollment, Graduation, Student Academic Record, and Student Identification and Demographics models, as shown in the next set of figures.
(Image to Come)
Student Assessment Model (
...
click to
...
enlarge)
Enrollment Model (
...
click to
...
enlarge)
Graduation Model
...
(Image click to Comeenlarge)
Student Academic Record Model
...
(Image click to Comeenlarge)
Student Identification and Demographics Model (click to enlarge)
Step 4: Identify the Ed-Fi Domain and Association Types Required for the Interchange.
...
Domain Required Information | Ed-Fi Entities and Associations |
Student identification and contact information | Student |
Standard NCLB demographics, omitting any details on disabilities | Student |
K–12 enrollment history indicating the various schools attended | StudentSchoolAssociation |
Academic record showing semester and final grades and credits earned for each secondary course taken | CourseTranscript |
Scores for the yearly state standardized tests (summary scores only) | StudentAssessment |
Yearly and final credits earned and grade point average (GPA) | StudentAcademicRecord |
Graduation plan and date graduated | StudentSchoolAssociation |
Student transcript interchange should indicate whether it is an official or unofficial submission | <Not in Ed-Fi Core, requires extension> |
Step 5: Extend the Ed-Fi Core, If Required.
The Ed-Fi Unifying Data Model maps to all of the data required, except whether the submission is official or unofficial. For this, a new enumeration type is created, as follows:
Code Block | ||
---|---|---|
| ||
<xs:simpleType name=”EXTENSION-SubmissionCertificationType”>
<xs:restriction base=”xs:token”>
<xs:enumeration value=”Official”/>
<xs:enumeration value=”Unofficial”/>
</xs:restriction>
</xs:simpleType> |
Using this new type, the StudentAcademicRecord is extended as follows:
Code Block | ||
---|---|---|
| ||
<xs:complexType name=”EXTENSION-StudentAcademicRecordExtension”>
<xs:complexContent>
<xs:extension base=”StudentAcademicRecord”>
<xs:sequence>
<xs:element name=”SubmissionCertification” type=”EXTENSION-SubmissionCertificationType”/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType> |
...
Step 5: Validate Extended Reference Types for External References.
The student transcript interchange is meant to be stand-alone, not requiring that the receiving system have any preloaded information. Thus any extended reference types used must have all of the information necessary for the receiving system.
...
- SchoolReference only includes the SchoolId. Since the enrollment data needs at least the school name, and perhaps city, it is necessary to include the School entity in the interchange.
- The GradingPeriodReference includes the GradingPeriod, BeginDate, EducationOrganizationReference, which includes the EducationOrganizationId; no additional information needed.
- Section reference for ProgramReference is optional and is not needed for the interchange.
- Course references for LearningStandardReference and LearningObjectiveReference are optional and are not needed for the interchange. The EducationOrganizationReference include the EducationOrganizationId; no additional information is needed.
- AssessmentReference includes AssessmentTitle, AcademicSubject, AssessedGradeLevel, and Version that are required to identify and label the test assessment. There is no need to include the Assessment entity.
Step
...
6: Create the Interchange Schema File(s)
With the required entities and associations identified, the interchange schema file, EXTENSION-InterchangeHSGeneratedStudentTranscript-Extension.xsd, is created, including the Ed-Fi-Core.xsd. As described earlier, an element is created for the interchange with an unbounded OR for each of the required complex types, as depicted below:
(Image to Come)
Interchange Schema diagram
...
Code Block | ||
---|---|---|
| ||
<?xml version=”1"1.0”0" encoding=”UTF"UTF-8”8"?> <!-- (c)2015 Ed-Fi Alliance, LLC. All Rights Reserved. --> <xs:schema xmlns:xs=”http"http://www.w3.org/2001/XMLSchema”XMLSchema" xmlns=”http"http://ed-fi.org/0200”0200" targetNamespace=”http"http://ed-fi.org/0200”0200" elementFormDefault=”qualified”"qualified" attributeFormDefault=”unqualified”>"unqualified"> <xs:include schemaLocation=”Ed"Ed-Fi-Core.xsd”xsd"/> <xs:element name=”InterchangeHSGeneratedStudentTranscript”>"InterchangeHSGeneratedStudentTranscript"> <xs:complexType> <xs:choice maxOccurs=”unbounded”>"unbounded"> <xs:element name=”Student”"Student" type=”Student” minOccurs=”0” maxOccurs=”unbounded”"Student"/> <xs:element name=”StudentSchoolAssociation”"StudentSchoolAssociation" type=”StudentSchoolAssociation” minOccurs=”0” maxOccurs=”unbounded”"StudentSchoolAssociation"/> <xs:element name=”StudentAcademicRecord”"StudentAcademicRecord" type=”EXTENSION-StudentAcademicRecordExtension” minOccurs=”0” maxOccurs=”unbounded”"StudentAcademicRecord"/> <xs:element name=”CourseTranscript”"CourseTranscript" type=”CourseTranscript” minOccurs=”0” maxOccurs=”unbounded”"CourseTranscript"/> <xs:element name=”ReportCard”"ReportCard" type=”ReportCard” minOccurs=”0” maxOccurs=”unbounded”"ReportCard"/> <xs:element name=”Grade”"Grade" type=”Grade” minOccurs=”0” maxOccurs=”unbounded”"Grade"/> <xs:element name=”StudentSectionAssociation”"StudentSectionAssociation" type=”StudentSectionAssociation” minOccurs=”0” maxOccurs=”unbounded”"StudentSectionAssociation"/> <xs:element name=”Section”"Section" type=”Section” minOccurs=”0” maxOccurs=”unbounded”"Section"/> <xs:element name=”Course”"Course" type=”Course” minOccurs=”0” maxOccurs=”unbounded”"Course"/> <xs:element name=”StudentAssessment”"StudentAssessment" type=”StudentAssessment” minOccurs=”0” maxOccurs=”unbounded”"StudentAssessment"/> <xs:element name=”School”"School" type=”School” minOccurs=”0” maxOccurs=”unbounded”"School"/> </xs:choice> </xs:complexType> </xs:element> <xs:complexType name=”EXTENSION-StudentAcademicRecordEExtension”> <xs:complexContent> <xs:extension base=”StudentAcademicRecord”> <xs:sequence> <xs:element name=”SubmissionCertification” type=”EXTENSION-SubmissionCertification”/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:simpleType name=”EXTENSION-SubmissionCertificationType”> <xs:annotation> <xs:documentation>The indication of whether the submission is official or not. </xs:documentation> </xs:annotation> <xs:restriction base=”xs:token”> <xs:enumeration value=”Official”/> <xs:enumeration value=”Unofficial”/> </xs:restriction> </xs:simpleType> </xs:schema>schema> |