Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 graduatedStudent 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 RemovedImage Added

Student Assessment Model (click to enlarge)

 


Image RemovedImage Added

Enrollment Model (click to enlarge)


Image RemovedImage Added

 Graduation Model (click to enlarge)

 

Image RemovedImage Added

Student Academic Record Model (click to enlarge)

 

 

Image RemovedImage Added

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
StudentAcademicRecord
ReportCard
Grade
StudentSectionAssociation
Section
Course

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
StudentAcademicRecord

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
languagexml
<?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
languagexml
. . .
	<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
languagexml
. . .
	<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
languagexml
<?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
languagexml
<?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>