Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Removed text about extensions;

...

  1. Analyze the specific data requirements for the data interchange.
  2. Analyze the specific interchange transactions that are required.
  3. Map the data requirements to the Ed-Fi Unifying Data Model.
  4. Identify the Ed-Fi domain types and association types required for the interchange.
  5. If required, create a file of types extending the Ed-Fi Core, adding attributes to Core domain and association types, creating new domain and association types, and creating new simple and complex types as required for new attributes.
  6. Make sure that extended reference types exist for association references that will require the receiving system to lookup specific instances of education data instances. Furthermore, ensure that the receiving system is capable of performing the required lookups with the identifying data that will be provided.
  7. Create the interchange schema file(s) to match the various interchange transactions, referencing the Core or extended types required for the interchange.

...

For example, consider the interchange for students based on the Ed-Fi Core. The interchange for Student is composed from the complex type for the Student domain entity class, as shown below.

(Image to come)Image Added

InterchangeStudent

Code Block
languagexml
<?xml version=”1.0” encoding=”UTF-8”?>
<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:complexType>
			<xs:choice maxOccurs=”unbounded”>
				<xs:element name=”Student” type=”Student”/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
</xs:schema>

...

For example, consider a data interchange to load parent information and the familial relationship between the student and the parent. The interchange schema requires the Parent and StudentParentAssociation entities, as shown below.

(Image to come)Image Added

InterchangeParent

...

Code Block
languagexml
<xs:complexType name=”StudentParentAssociation”>
    . . .
	<xs:complexContent>
		<xs:extension base=”ComplexObjectType”>
			<xs:sequence>
				<xs:element name=”StudentReference” type=”StudentReferenceType”/>”StudentReferenceType”>
                . . .
				<xs:element name=”ParentReference” type=”ParentReferenceType”/>”ParentReferenceType”>
                . . .
				<xs:element name=”Relation” type=”RelationType” minOccurs=”0”/>”0”>
                . . .
				<xs:element name=”PrimaryContactStatus” type=”xs:boolean” minOccurs=”0”/>”0”>
                . . .
				<xs:element name=”LivesWith” type=”xs:boolean” minOccurs=”0”/>”0”>
                . . .
				<xs:element name=”EmergencyContactStatus” type=”xs:boolean” minOccurs=”0”/>”0”>
                . . .
				<xs:element name=”ContactPriority” type=”xs:int” minOccurs=”0”/>”0”>
                . . .
				<xs:element name=”ContactRestrictions” type=”ContactRestrictions” minOccurs=”0”/>”0”>
                . . .
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>