<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp1 (http://www.altova.com) by Tim Buchholz (Minnesota Judicial Branch) -->
<!--
	Modification History 
	Date				Version	Rev			Change
	07/29/20098	3:1			1				Initial version published

-->
<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="1">
	<xs:include schemaLocation="CourtXML_3.xsd"/>
	<xs:attributeGroup name="PartySearchMessageAttributes">
		<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="PartySearchRequest">
		<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" type="PersonDriverLicenseIDType"/>
							<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">
											<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="PartyBirthDateThrough" type="xs:date" minOccurs="0"/>
										<xs:element name="PartyDeathDate" type="xs:date" minOccurs="0"/>
										<xs:element name="PartyDeathDateThrough" 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" maxOccurs="unbounded">
								<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="IncludeCases" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Used to specify the criteria for selecting cases, that the matching parties are associated to, for inclusion in reply</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 or in this case category.  </xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:choice>
										<xs:element name="CaseCategoryText" type="CaseCategoryCodeTextType" nillable="true" maxOccurs="unbounded">
											<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" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Include matching cases that have this case type.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:choice>
								</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:annotation>
												<xs:documentation>Include matching cases that are at this location.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</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:choice>
										<xs:element name="PartyBaseCaseAssociationText" type="BaseConnectionCodeTextType" nillable="true" 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" 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:choice>
								</xs:complexType>
							</xs:element>
							<xs:choice minOccurs="0">
								<xs:element name="IncludeInactiveIndicator" type="xs:boolean">
									<xs:annotation>
										<xs:documentation>Specifies whether the service should include matches for cases that are inactive.  By default they are not included.</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="ExcludeClosedIndicator" type="xs:boolean">
									<xs:annotation>
										<xs:documentation>Specifies whether the service should restrict the cases returned to those that are not closed.</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="CaseStatuses">
									<xs:annotation>
										<xs:documentation>Only include cases that are currently in one of these status.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="CaseStatusText" type="CaseStatusTypeCodeTextType" nillable="true" maxOccurs="unbounded">
												<xs:annotation>
													<xs:documentation>Include matching cases that have this status</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:choice>
						</xs:sequence>
						<xs:attribute name="restrictsPartyMatchesIndicator" type="xs:boolean" use="required">
							<xs:annotation>
								<xs:documentation>If true the reply message will only include parties that had cases that match the specified criteria.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="PartySearchMessageAttributes"/>
			<xs:attribute name="partyMatchLimit" type="xs:positiveInteger">
				<xs:annotation>
					<xs:documentation>Optionally limit the number of parties that will be returned to a number that is less than the service limit.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="PartySearchReply">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="PartyMatch" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Represents parties that matched the requests selection 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 if cases were requested.</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:element name="OtherAgencyNumber" type="OtherAgencyNumberType" minOccurs="0" maxOccurs="unbounded"/>
									</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="PartySearchMessageAttributes"/>
			<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="partyMatchLimitExceededIndicator" type="xs:boolean" use="required">
				<xs:annotation>
					<xs:documentation>If true more matching parties existed that weren't included in the reply.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
