<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="DegreeAuditReply">
		<xs:annotation>
			<xs:documentation>The DegreeAuditReply is the XML document sent from a degree audit software containing the completed degree audit or transfer evaluation report.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Envelope" type="EnvelopeType">
					<xs:annotation>
						<xs:documentation>The Envelope is the transmittal information for the DegreeAuditReply.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="DegreeAuditControl" type="DegreeAuditControlType">
					<xs:annotation>
						<xs:documentation>Describes the parameters used to create the report</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="DegreeAuditResult" type="DegreeAuditResultType" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Describes the results of the degree audit processing.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="AcademicProgramType">
		<xs:sequence>
			<xs:element name="ProgramType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the type of the program being described.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCode" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the program.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the name of the program.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramDeclaredDegreeDate" type="xs:date" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the declared date of program completion.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCatalogYear" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the catalog year of the program.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramComplete" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains an indicator signifying that the program requirements are complete.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCompleteDate" type="xs:date" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the date that the program requirements have been evaluated as complete</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramInProgress" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains an indicator signifying that the program is not yet complete</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AcademicSubProgram" type="AcademicSubProgramType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes the concentration of study information for the program.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DegreeAuditReport" type="DegreeAuditReportType">
				<xs:annotation>
					<xs:documentation>Describes the details of the degree audit report compiled for the student.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AcademicSubProgramType">
		<xs:sequence>
			<xs:element name="Institution" type="EntityIDType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Describes the institution from which the degree program concentration is offered.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the type of the concentration being described.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCode" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the concentration.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the name of the concentration.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCatalogYear" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the catalog year of the concentration.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramComplete" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains an indicator signifying that the concentration requirements are complete.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramCompleteDate" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the date that the concentration requirements have been evaluated as complete</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ProgramInProgress" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains an indicator signifying that the program is not yet complete</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DegreeAuditControlType">
		<xs:sequence>
			<xs:element name="BatchId" type="xs:integer">
				<xs:annotation>
					<xs:documentation>Contains the Batch_Id of the request document number.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DegreeAuditRequestor" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the userid of the person initiating the request</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ViewSecurityIdentification" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the degree audit software secure identification code</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AuditRunDate" type="xs:date" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Date which the Degree Audit Process completed.  If Not supplied OSS will apply the date the Reply is received. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AuditRunTime" type="xs:time" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the time which the degree audit process completed. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Error" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Describes any errors encountered while processing the request.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ErrorCode" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains degree audit software generated error code</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ErrorMessage" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains degree audit software generated error message</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Trace" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a detailed run-time log of request processing for debugging information</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DegreeAuditReportType">
		<xs:sequence>
			<xs:element name="Report" type="ReportType">
				<xs:annotation>
					<xs:documentation>Describes the actual report compiled by the degree audit software</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GPA" type="GPAType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes the GPA information for the student if the request was for the calculation of GPAs</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReportType">
		<xs:sequence>
			<xs:element name="ReportType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the format of the report.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DegreeAuditBody" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the actual report.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="StyleSheet" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the XML Style Sheet for the report.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EntityIDType">
		<xs:sequence>
			<xs:element name="EntityIDCodeQualifier" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the code set used for describing entities.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EntityIDCode" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the indentifying code for the entity.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EntityIDCodeGroup" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a subdivision of the EntityIDCode.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EnvelopeType">
		<xs:sequence>
			<xs:element name="RequestType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Describes the DegreeAuditReply as either a valid request (PROD) or a sample document for interface testing (TEST).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TransactionType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Describes the type of DegreeAuditReply contained in the body of the XML document. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TransactionSubType" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Optionally describes the content to a more detailed level such as Degree Audit Request, Transfer Evaluation, Grade Calculation Request.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DocumentNumber" type="xs:integer">
				<xs:annotation>
					<xs:documentation>Contains  the OSS generated Batch ID for tracking purposes.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PartyId" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the Institution Name of the party initiating the request.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="GPAType">
		<xs:sequence>
			<xs:element name="SessionID" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the term in which the GPA was calculated.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TimeFrame" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the timeframe over which the GPA is relevant</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GPACategory" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the type of GPA calculated.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AttemptedCreditPoints" type="xs:decimal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the total achievable credit hours for the GPA type.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EarnedCreditPoints" type="xs:decimal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the total earned credit hours for the GPA type.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CalculatedGPA" type="xs:decimal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the calculated GPA.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GPACreditPoint" type="xs:decimal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the total GPA credit hours for the GPA type.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GPAQualityPoints" type="xs:decimal" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains the total GPA quality points for the GPA type.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PersonType">
		<xs:sequence>
			<xs:element name="PersonID">
				<xs:annotation>
					<xs:documentation>Describes the details of the person ID code that is being passed.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PersonIdCodeQualifier" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains a value indicating the type of PersonIdCode being passed.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="PersonIdCode" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains the value of the Person ID</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PersonName">
				<xs:annotation>
					<xs:documentation>Describes the name details for the student. There can be one or more NameTypes for a PersonID</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="NameType" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Contains a value indicating the type of PersonName being passed.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NameTitle" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Contains the title of the person.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NameFirst" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains the first name of the person.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NameMiddle" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Contains the middle name of the person.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NameLast" type="xs:string">
							<xs:annotation>
								<xs:documentation>Contains the surname of the person.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="NameSuffix" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Contains the suffix of the person.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DegreeAuditResultType">
		<xs:sequence>
			<xs:element name="Person" type="PersonType">
				<xs:annotation>
					<xs:documentation>Describes the person details of the student such as Person ID, Name, and Address.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DegreeProgram" type="DegreeProgramType">
				<xs:annotation>
					<xs:documentation>Describes the degree program information against which the degree audit or transfer evaluation was performed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TransferArticulationResult" type="TransferArticulationResultType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Describes the results of the Transfer Articulation processing.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DegreeProgramType">
		<xs:sequence>
			<xs:element name="Institution" type="EntityIDType">
				<xs:annotation>
					<xs:documentation>Describes the institution from which the degree program is offered. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AcademicProgram" type="AcademicProgramType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes the degree program details for the program the report was run against.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TransferArticulationResultType">
		<xs:sequence>
			<xs:annotation>
				<xs:documentation>Describes the institution from which the degree program is offered. </xs:documentation>
			</xs:annotation>
			<xs:element name="EvaluatedGroup" type="EvaluatedGroupType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EvaluatedGroupType">
		<xs:sequence>
			<xs:element name="Evalgrp" type="xs:string">
				<xs:annotation>
					<xs:documentation>Describes Eval Group. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Evallock" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Evaluation Locked?. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SourceTargetCourses" type="SourceTargetCourseType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes Source and Target Courses. </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SourceTargetCourseType">
		<xs:sequence>
			<xs:element name="SourceCourse" type="CourseType">
				<xs:annotation>
					<xs:documentation>Describes the institution from which the degree program is offered. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TargetCourse" type="CourseType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Describes the receiving Institution's Course  </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CourseType">
		<xs:sequence>
			<xs:element name="CourseInstitution" type="EntityIDType"/>
			<xs:element name="CourseSubject">
				<xs:annotation>
					<xs:documentation>Subject Abbreviation</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseNum" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contains the subject code for the course.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseYearTerm" type="xs:string">
				<xs:annotation>
					<xs:documentation>Catalog Year Term</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseTermStartDate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Course Term Start Date</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseTermEndDate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Course Term End Date</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseAcadCreditType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Whether Semester or Quarter, ACTC</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseTitle" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Course Title</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CourseGrade" type="xs:string" minOccurs="0"/>
			<xs:element name="CourseGpaPts" type="xs:string" minOccurs="0"/>
			<xs:element name="CourseRegisteredCredit" type="xs:string" minOccurs="0"/>
			<xs:element name="CourseEarnedCredit" type="xs:string" minOccurs="0"/>
			<xs:element name="CourseGpaHrs" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>

