...
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.
...
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.
Student Assessment Model (click to enlarge)
Enrollment Model (click to enlarge)
Graduation Model (click to enlarge)
Student Academic Record Model (click to enlarge)
Student Identification and Demographics Model (click to enlarge)
...
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, the Ed-Fi Core is extended by creating a new enumeration and adding an attribute to the StudentAcademicRecord. When extending the Ed-Fi Core, all of the restricted and extended types, as well as new types, are encapsulated in a new extended core EXTENSION-Ed-Fi-Extended-Core.xsd, which includes the Ed-Fi-Core.xsd.
The EXTENSION-Ed-Fi-Extended-Core.xsd file is created as follows:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<!-- (c)2015 Ed-Fi Alliance, LLC. All Rights Reserved. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ed-fi.org/0200" targetNamespace="http://ed-fi.org/0200" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Ed-Fi-Core.xsd"/>
. . .
</xs:schema> |
The new enumeration type is created in the EXTENSION-Ed-Fi-Extended-Core.xsd file, as follows:
Code Block | ||
---|---|---|
| ||
. . .
<xs:annotation>
<xs:documentation>===== Enumerations =====</xs:documentation>
</xs:annotation>
<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:annotation>
<xs:documentation>===== Domain Entities =====</xs:documentation>
</xs:annotation>
<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>
. . . |
The completed EXTENSION-Ed-Fi-Extended-Core.xsd file follows:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<!-- (c)2015 Ed-Fi Alliance, LLC. All Rights Reserved. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ed-fi.org/0200" targetNamespace="http://ed-fi.org/0200" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Ed-Fi-Core.xsd"/>
<xs:annotation>
<xs:documentation>===== Ed-Fi 2.0 Extensions =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Domain Entities =====</xs:documentation>
</xs:annotation>
<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>
<xs:annotation>
<xs:documentation>===== Enumerations =====</xs:documentation>
</xs:annotation>
<xs:simpleType name="EXTENSION-SubmissionCertificationType">
<xs:restriction base="xs:token">
<xs:enumeration value="Official"/>
<xs:enumeration value="Unofficial"/>
</xs:restriction>
</xs:simpleType>
</xs:schema> |
...
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 EXTENSION- Ed-Fi-Extended-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:
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <!-- (c)2015 Ed-Fi Alliance, LLC. All Rights Reserved. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ed-fi.org/0200" targetNamespace="http://ed-fi.org/0200" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="EXTENSION-Ed-Fi-Extended-Core.xsd"/> <xs:element name="InterchangeHSGeneratedStudentTranscript"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Student" type="Student"/> <xs:element name="StudentSchoolAssociation" type="StudentSchoolAssociation"/> <xs:element name="StudentAcademicRecord" type="EXTENSION-StudentAcademicRecordExtensionStudentAcademicRecord"/> <xs:element name="CourseTranscript" type="CourseTranscript"/> <xs:element name="ReportCard" type="ReportCard"/> <xs:element name="Grade" type="Grade"/> <xs:element name="StudentSectionAssociation" type="StudentSectionAssociation"/> <xs:element name="Section" type="Section"/> <xs:element name="Course" type="Course"/> <xs:element name="StudentAssessment" type="StudentAssessment"/> <xs:element name="School" type="School"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema> |