<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by Tim Buchholz (Minnesota Judicial Branch) -->
<!--
 Copyright © 2006, 2007, 2009, 2010 by the State of Minnesota
	State Court Administrator’s Office
	All Rights Reserved
-->
<!--
	Modification History 
	Date				Version	Rev			Change
	01/08/2007	3:1			1				See the CourtXML 3 Change Log.doc for changes from version 2.0.0.
	03/09/2007	3:1			2				Added caseNumberKey to CaseMatch.
	03/30/2007	3:1			3				Eliminated the use of restrictions of complex types.   This should not change any existing messages.
	04/20/2007	3:1			4				Removed an additional Restriction (PersonNameSearchType).   Did not change the message formats.
	05/04/2007	3:1			5				Removed an additional Restriction (GroupID Selection).   Did not change the message formats.
	05/25/2007	3:1			6				Removed the default of 100 on the CaseMatchLimit restriction
	06/22/2007	3:1			7				Removed an additional Restrictions (PersonOtherID Selection, PartyMatch/Group and CaseMatch/Group).   Did not change the message formats.
	07/02/2007	3:1			8				Removed name type attribute from partyname.
	12/4/2007		3:1			9				Removed fixed value for the schemaVersion attribute because it causes problems with webservices.

-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.courts.state.mn.us/CourtXML/3" targetNamespace="http://www.courts.state.mn.us/CourtXML/3" elementFormDefault="qualified" attributeFormDefault="unqualified" version="6">
	<xs:include schemaLocation="CourtXML_3_NoEnum.xsd"/>
	<xs:attributeGroup name="CaseSearchByPartyMessageAttributes">
		<xs:attribute name="schemaVersion" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Specifies the version of the schema that this message should be validated against.   For this schema the value should be 3:1.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="messageProducedDateTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Date and time when this message was produced.  This value is included on all outbound messages and not required on inbound messages.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="CaseSearchByPartyRequest">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Selection">
					<xs:annotation>
						<xs:documentation>Specify identifying party information to be used to search for cases on.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice>
							<xs:element name="PersonDriverLicenseID">
								<xs:complexType>
									<xs:complexContent>
										<xs:restriction base="PersonDriverLicenseIDType">
											<xs:sequence>
												<xs:element name="ID" type="ID1to30Type"/>
												<xs:element name="IDJurisdictionCode" type="DriverLicenseStateType"/>
											</xs:sequence>
										</xs:restriction>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="PersonFBIID" type="PersonFBIIDType"/>
							<xs:element name="PersonSSNID" type="PersonSSNIDType"/>
							<xs:element name="PersonStateID" type="PersonStateIDType"/>
							<xs:element name="PersonOtherID">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ID" type="ID1to30Type"/>
										<xs:element name="IDTypeCodeText" type="PersonOtherIDTypeCodeType"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="PersonID" type="PersonIDType"/>
							<xs:element name="PersonNameBirthAndDeathDate">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PersonGivenName" type="PersonGivenNameType" minOccurs="0">
											<xs:annotation>
												<xs:documentation>First name.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="PersonMiddleName" type="PersonMiddleNameType" minOccurs="0"/>
										<xs:element name="PersonSurName" type="PersonSurNameType">
											<xs:annotation>
												<xs:documentation>Last name.  If an idividual has only one name, i.e., no first or middle name, the single name goes into PersonSurName. In MNCIS, that name will be formatted as a nickname.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="PartyBirthDate" type="xs:date" minOccurs="0"/>
										<xs:element name="PartyDeathDate" type="xs:date" minOccurs="0"/>
									</xs:sequence>
									<xs:attribute name="useSoundexIndicator" type="xs:boolean"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="BusinessName">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="BusinessNameType">
											<xs:attribute name="useSoundexIndicator" type="xs:boolean"/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="PartyKey" type="IntegrationIDType">
								<xs:annotation>
									<xs:documentation>Numeric (system) identifier assigned to party.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="GroupID">
								<xs:annotation>
									<xs:documentation>Currently unavailable for search.  Will result in error if specified.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ID" type="ID1to7Type"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:complexType>
				</xs:element>
				<xs:element name="Restriction" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Specify information to restrict the list of cases that matched the selection criteria.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="CaseTypes" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Only include matching cases that are one of these case types and/or in this case category.  Note: you can include both a case category and 1 or mor case types or just a case category or just one or more case types.  If omitted the results will not be restricted by case type.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="CaseCategoryText" type="CaseCategoryCodeTextType" nillable="true" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Include matching cases that are in this category.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CaseTypeText" type="CaseTypeCodeTextType" nillable="true" minOccurs="0" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Include matching cases that have this case type.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="CaseLocations" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Only include matching cases that are from one of these court locations.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="CaseLocationText" type="CourtLocationCodeTextType" nillable="true" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="PartyCaseAssociations" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Only include matching cases where the party has one of these base associations or specific associations to the case.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyBaseCaseAssociationText" type="BaseConnectionCodeTextType" nillable="true" minOccurs="0" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Include cases where the matching party has this base associations to the case.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="PartyCaseAssociationText" type="ExtendedPartyConnectionTypeCodeTextType" nillable="true" minOccurs="0" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Include cases where the matching party has this associations to the case</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="IncludeInactiveIndicator" type="xs:boolean" default="false" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Specifies whether the service should return matches for cases that are inactive (not open).  By default they are not included.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="CaseMatchLimit" type="xs:int" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Allows the requestor to specify a limit to the number of cases that could be returned that is less than the maximum.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="CaseSearchByPartyMessageAttributes"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="CaseSearchByPartyReply">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="PartyMatch" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Represents parties that matched the requests selection criteria, that had cases that passed the restriction criteria.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Group" type="GroupType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="PartyName" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="PartyNameBaseType">
											<xs:attribute name="currentNameIndicator" type="xs:boolean" use="required"/>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="PartyBirthDate" type="xs:date" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="PartyDeathDate" type="xs:date" minOccurs="0"/>
							<xs:element name="PersonAssignedIDDetails" type="PersonAssignedIDDetailsType" minOccurs="0"/>
							<xs:element name="ActiveWarrantCount" type="xs:int"/>
							<xs:element name="CaseMatch" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Represents cases that passed the restriction criteria</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyCaseAssociationText" type="ExtendedPartyConnectionTypeCodeTextType">
											<xs:annotation>
												<xs:documentation>Parties specific association with this case.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="PartyBaseCaseAssociationText" type="BaseConnectionCodeTextType">
											<xs:annotation>
												<xs:documentation>Parties general high level association with this case.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="CourtFileNumber" type="CourtFileNumberType"/>
										<xs:element name="CaseCountyNumber" type="CountyNumberType"/>
										<xs:element name="CaseLocationText" type="CourtLocationCodeTextType"/>
										<xs:element name="BaseCaseTypeText" type="BaseCaseTypeTextType"/>
										<xs:element name="CaseCategoryText" type="CaseCategoryCodeTextType"/>
										<xs:element name="CaseTitle" type="xs:string" minOccurs="0"/>
										<xs:element name="CaseTypeText" type="CaseTypeCodeTextType"/>
										<xs:element name="CaseSubTypeText" type="CaseSubTypeCodeTextType" minOccurs="0"/>
										<xs:element name="CaseFiledDateTime" type="xs:dateTime"/>
										<xs:element name="CaseIsConfidential" type="xs:boolean"/>
										<xs:element name="CaseIsSealed" type="xs:boolean"/>
										<xs:element name="CaseIsRestricted" type="xs:boolean" minOccurs="0"/>
										<xs:element name="Group" type="GroupType" minOccurs="0"/>
										<xs:element name="CaseStatus">
											<xs:annotation>
												<xs:documentation>The current case status</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:complexContent>
													<xs:extension base="CourtCaseStatusType">
														<xs:attribute name="currentStatusIndicator" type="xs:boolean" fixed="true"/>
													</xs:extension>
												</xs:complexContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="caseNumberKey" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>Contains the cases file number with all dashes removed.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="caseKey" type="xs:positiveInteger" use="required">
										<xs:annotation>
											<xs:documentation>Numeric system identifier for case.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="partyKey" type="xs:positiveInteger" use="required">
							<xs:annotation>
								<xs:documentation>Numeric (system) identifier assigned to party.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="CaseSearchByPartyMessageAttributes"/>
			<xs:attribute name="partyMatchCount" type="xs:int" use="required">
				<xs:annotation>
					<xs:documentation>The number of parties included in the results.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="caseMatchCount" type="xs:int" use="required">
				<xs:annotation>
					<xs:documentation>The number of cases included in the results.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="caseMatchLimitExceededIndicator" type="xs:boolean" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
