Biometric Identity Assurance Services (BIAS) SOAP Profile, Version 1.0

Working Draft 07

27 November 2008

Specification URIs:

This Version:

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0-wd-07.pdf

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0-wd-07.doc

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0-wd-07.html

Previous Version:

N/A

Latest Version:

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0.pdf

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0.doc 

http://docs.oasis-open.org/bias/soap-profile/v1.0/biasprofile-1.0.html 

Technical Committee:

OASIS Biometric Identity Assurance Services (BIAS) Integration TC

Chair(s):

Cathy Tilton, Daon

Editor(s):

TBD

Related Work:

This specification is related to:

·         ANSI INCITS 442-2008, Biometric Identity Assurance Services (BIAS)

Declared XML Namespace(s):

http://docs.oasis-open.org/bias/ns/bias-1.0/  

Abstract:

This document specifies a SOAP profile that implements the BIAS abstract operations specified in INCITS 442 as SOAP messages.

Status:

This document was last revised or approved by the OASIS BIAS TC on the above date. The level of approval is also listed above. Check the “Latest Version” or “Latest Approved Version” location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/bias/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/bias/ipr.php.

The non-normative errata page for this specification is located at http://www.oasis-open.org/committees/bias/.

Notices

Copyright © OASIS® 2008. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The names "OASIS", “BIAS” are trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.

 

Table of Contents

1        Introduction. 7

1.1 Purpose/Scope. 7

1.2 Overview. 7

1.3 Background. 7

1.4 Relationship to Other Standards. 7

1.5 Terminology. 8

1.6 References. 8

1.6.1 Normative References. 8

1.6.2 Non-Normative References. 9

2        Design Concepts and Architecture (non-normative) 10

2.1 Philosophy. 10

2.2 Context 10

2.3 Architecture. 10

3        Data model/data dictionary. 12

3.1 Documentation Conventions. 12

3.2 Common Elements. 12

3.2.1 ApplicationIdentifier 12

3.2.2 ApplicationUserIdentifier 13

3.2.3 BDB-info. 13

3.2.4 BIASBiometricDataType. 14

3.2.5 BIASFaultCode. 14

3.2.6 BIASFaultDetail 15

3.2.7 BIASIdentity. 15

3.2.8 BIASIDType. 15

3.2.9 BiographicDataItemType. 16

3.2.10 BiographicDataSetType. 16

3.2.11 BiographicDataType. 16

3.2.12 BiometricDataElementType. 17

3.2.13 BiometricDataListType. 17

3.2.14 BIR-info. 17

3.2.15 CandidateListType. 18

3.2.16 CandidateType. 18

3.2.17 CapabilityListType. 18

3.2.18 CapabilityName. 18

3.2.19 CapabilityType. 19

3.2.20 CBEFF_BIR_ListType. 20

3.2.21 CBEFF_BIR_Type. 20

3.2.22 CBEFF_XML_BIR_Type. 20

3.2.23 Classification. 21

3.2.24 ClassificationAlgorithmType. 21

3.2.25 ClassificationData. 21

3.2.26 EncounterListType. 21

3.2.27 FusionInformationListType. 21

3.2.28 FusionInformationType. 22

3.2.29 GenericRequestParameters. 22

3.2.30 IdentityModelType. 22

3.2.31 InformationType. 23

3.2.32 ListFilterType. 23

3.2.33 MatchType. 23

3.2.34 ProcessingOptionsType. 23

3.2.35 ProductID.. 23

3.2.36 QualityData. 24

3.2.37 ResponseStatus. 24

3.2.38 ReturnCode. 24

3.2.39 SB-info. 24

3.2.40 Score. 24

3.2.41 TokenType. 25

3.2.42 VendorIdentifier 25

3.2.43 Version. 25

3.2.44 VersionType. 25

3.3 BIAS Operations. 25

3.3.1 Primitive Operations. 25

3.3.2 Aggregate Operations. 61

4        Message structure and rules. 72

4.1 Purpose and constraints. 72

4.2 Message requirements. 73

4.3 Identifying operations. 74

4.3.1 Operation name element 74

4.3.2 WS-Addressing Action. 75

4.4 Security. 76

4.4.1 Use of SSL 3.0 or TLS 1.0. 76

4.4.2 Data Origin Authentication. 76

4.4.3 Message Integrity. 76

4.4.4 Message Confidentiality. 76

4.4.5 Security Considerations. 76

4.4.6 Security of Stored Data. 77

4.4.7 Key Management 77

4.5 Use with other WS* standards. 77

4.6 Tailoring. 77

5        Error handling. 78

6        Conformance. 79

A.      XML Schema. 80

B.      Use Cases (non-normative) 136

B.1 Verification Use Case. 136

B.2 Asynchronous Verification. 137

B.3 Primitive Verification. 138

B.4 Identification Use Case. 139

B.5 Biometric Enrollment 140

B.6 Primitive Enrollment 141

C.      Samples (non-normative) 142

C.1 Create Subject Request/Response Example. 142

C.2 Set Biographic Data Request/Response Example. 144

C.3 Set Biometric Data Request/Response Example. 145

D.      Acknowledgements. 147

E.      Revision History. 148

F.       Open Issues (temporary annex) 149


1      Introduction

1.1 Purpose/Scope

This Organization for the Advancement of Structured Information Standards (OASIS) Biometric Identity Assurance Services (BIAS) profile specifies how to use the eXtensible Markup Language (XML) defined in ANSI INCITS 442-2008 – Biometric Identity Assurance Services [INCITS-BIAS] to invoke Simple Object Access Protocol (SOAP) -based services that implement BIAS operations.  These SOAP-based services enable an application to invoke biometric identity assurance operations remotely in a Services Oriented Architecture (SOA) infrastructure.

Not included in the scope of BIAS is the incorporation of biometric authentication as an integral component of an authentication or security protocol.

1.2 Overview

In addition to this introduction, this standard includes the following:

·         Chapter 2 contains conformance requirements (TBD).

·         Chapter 3 presents the design concepts and architecture for invoking SOAP-based services that implement BIAS operations.

·         Chapter 4 presents the namespaces necessary to implement this profile, INCITS BIAS operations and data elements, and identifies relationships to external data definitions.

·         Chapter 5 presents the BIAS message structure, as well as rules and considerations for its application.

·         Chapter 6 presents information on error handling.

·         Appendices include the OASIS BIAS XML schema, sample Web Service Definition Language (WSDL) and WSDL templates, use cases, acknowledgements, and the revision history of this profile.

1.3 Background

In late 2005/early 2006, a gap was identified in the existing biometric standards portfolio with respect to biometric services.  The Biometric Identity Assurance Services standard proposal was for a collaborative effort between government and private industry to provide a services-based framework for delivering identity assurance capabilities, allowing for platform and application independence.  This standard proposal required the attention of two major technical disciplines: biometrics and service architectures.  The expertise of both disciplines was required to ensure the standard was technically sound, market relevant, and achieved widespread adoption.  The International Committee for Information Technology Standards (INCITS) M1 provided the standards leadership relevant to biometrics, defining the “taxonomy” of biometric operations and data elements.  OASIS provided the standards leadership relevant to service architectures with an initial focus on web services, defining the schema and protocol.

 

The driving requirements of the BIAS standard proposal were to provide the ability to remotely invoke biometric operations across an SOA infrastructure; to provide business level operations without constraining the application/business logic that implements those operations; to be as generic as possible – technology, framework, & application domain independent; and to provide basic capabilities that can be used to construct higher level, aggregate/composite operations.

1.4 Relationship to Other Standards

This OASIS BIAS profile comprises a companion standard to ANSI INCITS 442-2008 – Biometric Identity Assurance Services, which defines the BIAS requirements and taxonomy, specifying the identity assurance operations and the associated data elements. This OASIS BIAS profile specifies the design concepts and architecture, data model and data dictionary, message structure and rules, and error handling necessary to invoke SOAP-based services that implement BIAS operations.

Together, the BIAS standard and the BIAS profile provide an open framework for deploying and remotely invoking biometric-based identity assurance capabilities that can be readily accessed across an SOA infrastructure.

This relationship allows the leveraging of the biometrics and web services expertise of the two standards development organizations. Existing standards are available in both domains and many of these standards will provide the foundation and underlying capabilities upon which the biometric services depend.

1.5 Terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].

 

The following additional terms and definitions are used:

Note:  The terms and definitions specified in INCITS (InterNational Committee for Information Technology Standards) (Project 1823-D) also apply to this Standard.

 

BIAS

Biometric Identity Assurance Services

BIR

Biometric Information Record

ESB

Enterprise Service Bus

SOA

Service-Oriented Architecture

CBEFF

Common Biometric Exchange Formats Framework - data elements and BIR formats specified in ISO/IEC 19785-1

BIAS implementation

software entity that is capable of creating, processing, sending, and receiving BIAS messages

BIAS endpoint

runtime entity, identified by an endpoint IRI, capable of sending and receiving BIAS messages, and containing a running BIAS implementation

BIAS message

message that can be sent from a BIAS endpoint to another BIAS endpoint through a BIAS link channel

request BIAS message

BIAS message conveying a request for an action to be performed by the receiving BIAS endpoint

response BIAS message

BIAS message conveying a response to a prior request BIAS message

1.6 References

1.6.1 Normative References

[RFC2119]               S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.

 

[INCITS-BIAS]         ANSI INCITS 442-2008, Biometric Identity Assurance Services (BIAS), May 2008

                              http://www.incits.org

 

[SOAP11]               Simple Object Access Protocol (SOAP) 1.1, 8 May 2000
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

[WS-Addr]              Web Services Addressing (WS-Addressing), 10 Aug 2004 http://www.w3.org/Submission/ws-addressing/

[WS-I-Basic]           Basic Profile Version 1.1, 10 April 2006
http://www.ws-i.org/Profiles/BasicProfile-1.1-2006-04-10.html

[WS-I-Bind]             Web Services-Interoperability Organization (WS-I) Simple SOAP Binding Profile Version 1.0, 24 August 2004
http://www.ws-i.org/Profiles/SimpleSoapBindingProfile-1.0-2004-08-24.html

[WSDL11]               Web Services Description Language (WSDL) 1.1, 15 March 2001
http://www.w3.org/TR/2001/NOTE-wsdl-20010315

[XML 10]                 Extensible Markup Language (XML) 1.0, 16 August 2006
http://www.w3.org/TR/2006/REC-xml-20060816/

[XOP]                     XML-binary Optimized Packaging, W3C Recommendation, 25 January 2005
http://www.w3.org/TR/2005/REC-xop10-20050125/

1.6.2 Non-Normative References

[RFC2246]               T. Dierks & C. Allen, The TLS Protocol, Version 1.0, January 1999

http://www.ietf.org/rfc/rfc2246.txt

[RFC2617]               J. Franks, et al, HTTP Authentication: Basic and Digest Access Authentication, June 1999
http://www.ietf.org/rfc/rfc2617.txt

[RFC3280]               R. Housley, et al, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, April 2002
http://www.ietf.org/rfc/rfc3280.txt

[SAML]                   Security Assertion Markup Language (SAML), Oasis Standard, March 2005
http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

[SSL3]                    SSL 3.0 Specification
http://www.freesoft.org/CIE/Topics/ssl-draft/3-SPEC.HTM

[X509]                     X.509: Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks, ITU-T, August 2005

 

2      Design Concepts and Architecture (non-normative)

2.1 Philosophy

Rather than define a totally new and unique messaging protocol for biometric services, this specification instead defines a method for using existing biometric and Web services standards to exchange biometric data and perform biometric operations. 

2.2 Context

Today, biometric systems are being developed which collect, process, store and match biometric data for a variety of purposes.  In many cases, data and/or capabilities need to be shared between systems or systems serve a number of different client stakeholders.  As architectures move towards services-based frameworks, access to these biometric databases and services is via a Web services front-end.  However, lack of standardization in this area has led implementers to develop customized services for each system/application.

BIAS is intended to provide a common, yet flexible, Web services interface that can be used within both closed and open SOA systems.  Figure 1, below, depicts the context in which the BIAS messages will be implemented.

 

 

Figure 1.  BIAS Context

 

The clients (requesters) may use standard discovery mechanisms (i.e., UDDI directories) to discover the BIAS service provider (implementation) or, particularly in closed systems, the URI and WSDL for the service provider may be known a priori by the client BIAS application developer.

2.3 Architecture

BIAS Web services are intended to be used within systems employing a services framework, such as a services-oriented architecture (SOA) (although implementations are not limited to this environment).  As such, it is recognized that the clients may interact directly with the BIAS service provider or layers may exist between the client and the service provider, for example as an ESB or other application layer.

The BIAS Architecture as shown in Figure 2, in which:

·                     A Client request to the BIAS Web services may be triggered by a human interaction OR any proxy system such as an ESB.

·                     Client sends and receives SOAP messages that conform to the BIAS schemas

·                     The calls to the BIAS Implementation use OASIS Service Interfaces and Bindings (via WSDL)

·                     The BIAS implementation maps the service call to the appropriate internal API or set of APIs and returns data according to the service interface.

Note that services are represented as circles.

 

 

Figure 2. BIAS Architecture

 

At the heart of the BIAS messaging protocol are the concepts of BIAS messages, endpoints, and links.

BIAS implementation

A BIAS implementation is a software entity that is capable of creating, processing, sending, and receiving BIAS messages.  This standard does not define requirements for the BIAS implementation other than defining the messages and protocols used by the endpoints.

BIAS messages

A BIAS message is a one that can be sent from a BIAS endpoint to another BIAS endpoint over a TCP/IP link.

BIAS endpoints

A BIAS endpoint is a runtime entity, uniquely identified and accessed by an endpoint IRI, capable of sending and receiving BIAS messages.

Note that when not publicly and directly exposed, the endpoints for purposes of this specification are the BIAS service provider exposing BIAS services and the component that directly interacts with that service provider, e.g., the business application or ESB, rather than the ultimate end client requester.

3      Data model/data dictionary

This section describes the BIAS operations and the data elements contained therein. Common data elements are defined for use in one or more operations. These include common data types or return codes. The operations are listed alphabetically, with each operation containing a request and a response message.

BIAS operations and data elements are defined in ANSI INCITS 442-2008. The elements, complex types and simple types described for the BIAS messages belong to the following namespace: http://docs.oasis-open.org/bias/ns/bias-1.0/. See Appendix B for the XML schema.

3.1 Documentation Conventions

Each operation has a section describing the request and response messages and the input and output parameters. Additionally, each common element has a section describing its content. The input and output of each message and the comment elements are detailed in a table as described in the figure below. Each field that forms part of the input/output to the message is detailed in the table.

 

Header Name

Description

Values

Value Meaning

Field

The name of the field.

 

 

Type

The XML schema type of the field.

 

 

#

The cardinality of the field

1

One occurrence

0..1

Zero or one occurrence

0..*

Zero or more occurrences

1..*

One or more occurrences

?

Defines if the field must be present.

Y

Yes – is always required

N

No – is not always required, an optional field.

C

Conditional – requirement is dependent on system or message conditions.

Meaning

Gives a short description of the field’s use

 

 

Figure 3. BIAS Message Input/Output Dictionary Table Headings

Fields Hierarchy Explained:

To denote the field hierarchy the symbol  is used to denote the child-of relationship.

3.2 Common Elements

3.2.1 ApplicationIdentifier

Type:

string

Description:

Identifies an application.

Min Length:

1

Max Length:

255

3.2.2 ApplicationUserIdentifier

Type:

string

Description:

Identifies an application user or instance.

Min Length:

1

Max Length:

255

3.2.3 BDB-info

Field

Type

#

?

Meaning

BDB-info

 

 

 

For a description of each data element, see the referenced CBEFF standards in the CBEFF_XML_BIR_Type definition.

          challenge-response

string

0..1

N

          index

string

0..1

N

          format-owner

integer

1

Y

          format-type

integer

1

Y

          *security-Encryption-options

string

1

Y

          *creation-date

string

0..1

N

          *validity-period

string

0..1

N

          type

string

0..1

N

          subtype

string

0..1

N

          data-type

string

0..1

N

          product-owner

integer

1

Y

          product-type

integer

1

Y

          purpose

string

0..1

N

          quality

 

0..1

N

                   value

string

1

Y

                   algorithm-owner

string

0..1

N

                   algorithm-type

string

0..1

N

          device-owner

integer

0..1

N

          device-type

integer

0..1

N

3.2.4 BIASBiometricDataType

Field

Type

#

?

Meaning

BIASBiometricDataType

 

 

Y

Wraps the various BIAS biometric types.

The operations that use this type specify which elements are required.

          BIRList

CBEFF_BIR_ListType

0..1

N

A list of CBEFF-BIR elements.

          BIR

CBEFF_BIR_Type

0..1

N

Contains biometric information in either a non-XML or an XML representation.

          InputBIR

CBEFF_BIR_Type

0..1

N

Maps to specific INCITS BIAS elements as required by that specification.

          ReferenceBIR

CBEFF_BIR_Type

0..1

N

Maps to specific INCITS BIAS elements as required by that specification.

          BiometricDataList

BiometricDataListType

0..1

N

A list of biometric data elements.

3.2.5 BIASFaultCode

Type:

string

Description:

Error code referenced in a SOAP fault.

BIASFaultCode Enumeration Values

Value

Description

UNKNOWN_ERROR

The service failed for an unknown reason.

UNSUPPORTED_CAPABILITY

A requested capability is not supported by the service implementation.

INVALID_INPUT

The data in a service input parameter is invalid.

BIR_QUALITY_ERROR

Biometric sample quality is too poor for the service to succeed.

INVALID_BIR

The input BIR is empty or in an invalid or unrecognized format.

BIR_SIGNATURE_FAILURE

The service could not validate the signature, if used, on the input BIR.

BIR_DECRYPTION_FAILURE

The service could not decrypt an encrypted input BIR.

INVALID_ENCOUNTER_ID

The input encounter ID is empty or in an invalid format.

INVALID_SUBJECT_ID

The input subject ID is empty or in an invalid format.

UNKNOWN_SUBJECT

The subject referenced by the input subject ID does not exist.

UNKNOWN_GALLERY

The gallery referenced by the input gallery ID does not exist.

UNKNOWN_ENCOUNTER

The encounter referenced by the input encounter ID does not exist.

3.2.6 BIASFaultDetail

Field

Type

#

?

Meaning

BIASFaultDetail

 

 

Y

Defines the error information associated with a SOAP fault.

          BIASFaultType

BIASFaultCode

1

Y

References an error code.

          BIASFaultMessage

string

1

Y

Provides an explanation of the fault.

          BIASFaultDescription

string

0..1

N

Provides detailed information about a BIAS fault, such as trace details.

3.2.7 BIASIdentity

Field

Type

#

?

Meaning

BIASIdentity

 

 

Y

Defines a single element for encapsulating the data associated with an Identity. Includes the Identity's reference identifiers, biographic data, and biometric data.

The operations that use this type specify which elements are required.

          SubjectID

BIASIDType

0..1

C

A system unique identifier for a subject.

Required as input to many operations.

          IdentityClaim

BIASIDType

0..1

N

An identifier by which a subject is known to a particular gallery or population group.

          EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

          EncounterList

EncounterListType

0..1

N

A list of encounters associated with a subject.

          BiographicData

BiographicDataType

0..1

N

An Identity's biographic data.

          BiographicDataElements

BiographicDataType

0..1

N

An Identity's biographic data elements that are stored in the implementing system.

          BiometricData

BIASBiometricDataType

0..1

N

An Identity's biometric data.

3.2.8 BIASIDType

Type:

string

Description:

A BIAS Identifier.

3.2.9 BiographicDataItemType

Field

Type

#

?

Meaning

BiographicDataItemType

 

 

Y

Defines a single biographic data element.

          Name

string

1

Y

The name of the biographic data item.

          Type

string

1

Y

The data type for the biographic data item.

          Value

string

0..1

N

The value assigned to the biographic data item.

3.2.10 BiographicDataSetType

Field

Type

#

?

Meaning

BiographicDataSetType

 

 

Y

Defines a set of biographic data that is formatted according to the specified format.

          unspecified

any

0..*

N

Biographic data formatted according to a specific format.

BiographicDataSetType Attributes

Name

Type

Use

Meaning

name

string

required

The name of the biographic data format. Use these names for common formats: EFTS, EBTS, NIEM, xNAL, HR-XML.

version

string

optional

The version of the biographic data format. Use these versions for common formats: (EFTS) 7.1, (EBTS) 1.2, (NIEM) 1.0 or 2.0, (xNAL) 2.0 or 3.0, (HR-XML) 2.5.

source

string

required

Reference to a URI describing the biographic data format. Use these sources for common formats: (EFTS) www.fbi.gov, (EBTS) www.biometrics.dod.mil, (NIEM) www.niem.gov, (xNAL) www.oasis-open.org, (HR-XML) www.hr-xml.org.

type

string

required

The biographic data format type. Use these types for common formats: (EFTS and EBTS) ASCII, (NIEM, xNAL, and HR-XML) XML.

3.2.11 BiographicDataType

Field

Type

#

?

Meaning

BiographicDataType

 

 

Y

Defines a set of biographic data elements, utilizing either the BiographicDataItemType to represent a list of elements or the BiographicDataSetType to represent a complete, formatted set of biographic information.

One of the following elements must be present.

          LastName

string

0..1

C

The last name of a subject.

          FirstName

string

0..1

C

The first name of a subject.

          BiographicDataItem

BiographicDataItemType

0..*

C

A single biographic data element.

          BiographicDataSet

BiographicDataSetType

0..1

C

A set of biographic data information.

3.2.12 BiometricDataElementType

Field

Type

#

?

Meaning

BiometricDataElementType

 

 

Y

Provides descriptive information about biometric data, such as the biometric type, subtype, and format, contained in the BDB of the CBEFF-BIR.

          BiometricType

hexBinary

1

Y

The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.

          BiometricTypeCount

positiveInteger

0..1

N

The number of biometric records having the biometric type recorded in the biometric type field.

          BiometricSubType

hexBinary

0..1

N

More specifically defines the type of biometric data stored in the biometric record, as defined by CBEFF.

          BDBFormatOwner

string

1

Y

Identifies the standards body, working group, industry consortium, or other CBEFF biometric organization that has defined the format for the biometric data.

          BDBFormatType

string

1

Y

Identifies the specific biometric data format specified by the CBEFF biometric organization recorded in the BDB Format Owner field.

3.2.13 BiometricDataListType

Field

Type

#

?

Meaning

BiometricDataListType

 

 

Y

A list of biometric data elements.

          BiometricDataElement

BiometricDataElementType

0..*

N

Data structure containing information about a biometric record.

3.2.14 BIR-info

Field

Type

#

?

Meaning

BIR-info

 

0..1

Y

For a description or definition of each data element, see the referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          creator

string

0..1

N

          index

string

0..1

N

          payload

anyType

0..1

N

          integrity-options

string

0..1

N

          creation-date

string

0..1

N

          validity-period

string

0..1

N

          patron-format-owner

string

0..1

N

          *patron-format-type

string

0..1

N

3.2.15 CandidateListType

Field

Type

#

?

Meaning

CandidateListType

 

 

Y

Defines a set of candidates, utilizing the CandidateType to represent each element in the set.

          Candidate

CandidateType

0..*

N

A single candidate.

3.2.16 CandidateType

Field

Type

#

?

Meaning

CandidateType

 

 

Y

Defines a single candidate as a possible match in response to a biometric identification request.

          Score

string

0..1

N

The match score.

          BiographicData

BiographicDataType

0..1

N

Biographic data associated with the candidate match.

          BIRList

CBEFF_BIR_ListType

1

Y

Biometric data associated with the candidate match.

CandidateType Attributes

Name

Type

Use

Meaning

Rank

integer

required

The rank of the candidate in relation to other candidates for the same biometric identification operation.

3.2.17 CapabilityListType

Field

Type

#

?

Meaning

CapabilityListType

 

 

Y

Defines a set of capabilities.

          Capability

CapabilityType

0..*

N

A single capability.

3.2.18 CapabilityName

Type:

string

Description:

A list of capability items.

CapabilityName Enumeration Values

Value

Description

AggregateInputDataOptional

A data element accepted as optional input by the implementing system for the aggregate services.

AggregateInputDataRequired

A data element required as input by the implementing system for the aggregate services.

AggregateProcessingOption

A processing option supported by the implementing system for the aggregate services.

AggregateReturnData

A data element returned by the implementing system for the aggregate services.

AggregateServiceDescription

Describes the processing logic of an aggregate service supported by the implementing system.

BiographicDataSet

Identifies a biographic data set supported by the implementing system.

CBEFFPatronFormat

A patron format supported by the implementing system.

ClassificationAlgorithmType

A classification algorithm type supported by the implementing system.

ConformanceClass

Identifies the conformance class of the BIAS implementation.

Gallery

A gallery or population group supported by the implementing system.

IdentityModel

Identifies whether the implementing system is person-centric or encounter-centric based.

QualityAlgorithm

A quality algorithm vendor and algorithm vendor product ID supported by the implementing system.

SupportedBiometric

A biometric type supported by the implementing system.

TransformOperation

A transform operation type supported by the implementing system.

3.2.19 CapabilityType

Field

Type

#

?

Meaning

CapabilityType

 

 

Y

Defines a single capability supported by an implementing system.

          CapabilityName

CapabilityName

1

Y

The name of the capability.

          CapabilityID

string

0..1

N

An identifier assigned to the capability by the implementing system.

          CapabilityDescription

string

0..1

N

A description of the capability.

          CapabilityValue

string

0..1

N

A value assigned to the capability.

          CapabilitySupportingValue

string

0..1

N

A secondary value supporting the capability.

3.2.20 CBEFF_BIR_ListType

Field

Type

#

?

Meaning

CBEFF_BIR_ListType

 

 

Y

A list of CBEFF-BIR elements.

          BIR

CBEFF_BIR_Type

0..*

N

CBEFF structure containing information about a biometric sample.

3.2.21 CBEFF_BIR_Type

Field

Type

#

?

Meaning

CBEFF_BIR_Type

 

 

Y

Represents biometric information, with either a non-XML or XML representation.

One of the following elements must be present.

          unspecified

any

0..1

C

Must be present if XML_BIR is not used.

          XML_BIR

CBEFF_XML_BIR_Type

0..1

C

Must be present if the unspecified element is not used.

3.2.22 CBEFF_XML_BIR_Type

Field

Type

#

?

Meaning

CBEFF_XML_BIR_Type

 

 

Y

An XML representation for biometric information. This schema represents CBEFF data elements from both the US (INCITS 398-2005 Revision 1) and International (ISO/IEC 19785-1:2006) versions of the CBEFF standard. The data elements in the two standards are fairly similar. However, a data element may have a different meaning and/or a different set of valid values based on which standard is used. The cbeff-version data element specifies whether the US or International version is being used. An additional data element, other, has been added to this schema to capture non-standard information and to allow for flexibility to any future changes in the existing CBEFF standards. For a description or definition of each data element, see the referenced CBEFF standards.

          patron-format-identifier

string

0..1

N

 

          version

Version

0..1

N

 

          cbeff-version

Version

0..1

N

 

          bir-info

BIR-info

0..1

N

 

          bdb-info

BDB-info

0..1

N

 

          sb-info

SB-info

0..1

N

 

          other

 

0..*

N

Used to capture non-standard information and to allow for flexibility to any future changes in the existing CBEFF standards.

                   unspecified

any

0..*

N

 

          BIR

base64Binary

1

Y

 

3.2.23 Classification

Type:

string

Description:

The result of a classification.

3.2.24 ClassificationAlgorithmType

Type:

string

Description:

Type of classification algorithm that was used to perform the classification.

3.2.25 ClassificationData

Field

Type

#

?

Meaning

ClassificationData

 

 

Y

Contains information on classification results and the algorithm used to determine the classification.

          Classification

Classification

1

Y

The result of the classification.

          ClassificationAlgorithmType

ClassificationAlgorithmType

1

Y

Identifies the type of classification algorithm that was used to perform the classification.

3.2.26 EncounterListType

Field

Type

#

?

Meaning

EncounterListType

 

 

Y

Defines a set of encounters.

          EncounterID

BIASIDType

0..*

N

The identifier of an encounter.

3.2.27 FusionInformationListType

Field

Type

#

?

Meaning

FusionInformationListType

 

 

Y

Contains at a minimum two sets of fusion input elements, as input to the PerformFusion operation.

          FusionElement

FusionInformationType

2..*

Y

A set of fusion information.

3.2.28 FusionInformationType

Field

Type

#

?

Meaning

FusionInformationType

 

 

Y

Represents the information necessary to perform a fusion operation.

          BiometricType

hexBinary

1

Y

The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.

          BiometricSubType

string

0..1

N

More specifically defines the type of biometric data stored in the biometric record.

          AlgorithmOwner

string

1

Y

The owner or vendor of the algorithm used to determine the score or decision.

          AlgorithmType

string

1

Y

The Algorithm Owner's identifier for the specific algorithm product and version used to determine the score or decision.

          Score

unsignedLong

0..1

C

The similarity score assigned by the matching algorithm.

Either a Score or a Decision element must be used.

          Decision

string

0..1

C

The match decision assigned by the matching algorithm.

Either a Score or a Decision element must be used.

3.2.29 GenericRequestParameters

Field

Type

#

?

Meaning

GenericRequestParameters

 

 

Y

Common request parameters that can be used to identify the requester.

          Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

          ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

          BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested.

3.2.30 IdentityModelType

Type:

string

Description:

Defines the requested or supported identity model.

IdentityModelType Enumeration Values

Value

Description

encounter

Designation for the encounter-centric model.

person

Designation for the person-centric model.

3.2.31 InformationType

Field

Type

#

?

Meaning

InformationType

 

 

Y

Allows for an unlimited number of data element types, and it does not specify nor require any particular data element.

          unspecified

any

0..*

N

 

3.2.32 ListFilterType

Field

Type

#

?

Meaning

ListFilterType

 

 

Y

Provides a method to filter the amount of information returned in a search of biometric data.

          BiometricTypeFilter

hexBinary

1..*

Y

Limits the returned information to a specific type of biometric, as defined by CBEFF.

          IncludeBiometricSubType

boolean

1

Y

A Boolean flag indicating if biometric subtype information should be returned.

3.2.33 MatchType

Type:

boolean

Description:

The result of a fusion method.

3.2.34 ProcessingOptionsType

Field

Type

#

?

Meaning

ProcessingOptionsType

 

 

Y

BIAS aggregate operations support the ability to include various processing options which direct and possibly control the business logic for that operation. The ProcessingOptionsType provides a method to represent those options. Processing options should be defined by the implementing system.

          Option

string

0..*

N

An option supported by the implementing system.

3.2.35 ProductID

Type:

string

Description:

The vendor's ID for a particular product.

3.2.36 QualityData

Field

Type

#

?

Meaning

QualityData

 

 

Y

Contains information about a biometric sample's quality and the algorithm used to compute the quality.

          QualityScore

Score

0..1

N

The quality of a biometric sample.

          AlgorithmVendor

VendorIdentifier

1

Y

The vendor of the quality algorithm used to determine the quality score.

          AlgorithmVendorProductID

ProductID

1

Y

The vendor's ID for the algorithm used to determine the quality.

          AlgorithmVersion

VersionType

0..1

N

The version of the algorithm used to determine the quality.

3.2.37 ResponseStatus

Field

Type

#

?

Meaning

ResponseStatus

 

 

Y

 

          Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

          Message

string

0..1

N

A short message corresponding to the return code.

3.2.38 ReturnCode

Type:

unsignedLong

Description:

Return value specifying success or other condition.

ReturnCode Enumeration Values

Value

Description

0

Success

3.2.39 SB-info

Field

Type

#

?

Meaning

SB-info

 

 

Y

For a description or definition of each data element, see the referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          format-owner

integer

1

Y

          format-type

integer

1

Y

3.2.40 Score

Type:

integer

Description:

Match result or quality score.

3.2.41 TokenType

Field

Type

#

?

Meaning

TokenType

 

 

Y

Defines a token that is returned for asynchronous processing.

          TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

          Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

3.2.42 VendorIdentifier

Type:

string

Description:

Identifies a vendor.

3.2.43 Version

Field

Type

#

?

Meaning

Version

 

 

Y

For a description or definition of each data element, see the referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          major

integer

1

Y

          minor

integer

1

Y

3.2.44 VersionType

Type:

string

Description:

The version of a component.

3.3 BIAS Operations

3.3.1 Primitive Operations

3.3.1.1 AddSubjectToGallery

AddSubjectToGalleryResponse

AddSubjectToGallery(AddSubjectToGalleryRequest addSubjectToGalleryRequest)

The AddSubjectToGallery operation registers a subject to a given gallery or population group. As an optional parameter, the value of the claim to identity by which the subject is known to the gallery may be specified. This claim to identity must be unique across the gallery. If no claim to identity is specified, the subject ID (assigned with the CreateSubject operation) will be used as the claim to identity. Additionally, in the encounter-centric model, the encounter ID associated with the subject’s biometrics that will be added to the gallery must be specified.

Input

Field

Type

#

?

Meaning

AddSubjectToGalleryRequest

 

 

Y

Register a subject to a given gallery or population group.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “AddSubjectToGallery”.

          GalleryID

BIASIDType

1

Y

The identifier of the gallery or population group to which the subject will be added.

          Identity

BIASIdentity

1

Y

The identity to add to the gallery.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   IdentityClaim

BIASIDType

0..1

N

An identifier by which a subject is known to a particular gallery or population group.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

Output

Field

Type

#

?

Meaning

AddSubjectToGalleryResponse

 

 

Y

The response to an AddSubjectToGallery operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.2 CheckQuality

CheckQualityResponse

CheckQuality(CheckQualityRequest checkQualityRequest)

The CheckQuality operation returns a quality score for a given biometric. The biometric input is provided in a CBEFF basic structure or CBEFF record, which in this specification is called a CBEFF-BIR. The algorithm vendor and algorithm vendor product ID may be optionally provided in order to request a particular algorithm’s use in calculating the biometric quality. If an algorithm vendor is provided then the algorithm vendor product ID is required. If no algorithm vendor is provided, the implementing system will provide the algorithm vendor and algorithm vendor product ID that were used to calculate the biometric quality as output parameters.

Input

Field

Type

#

?

Meaning

CheckQualityRequest

 

 

Y

Calculate a quality score for a given biometric.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “CheckQuality”.

          *BiometricData

BIASBiometricDataType

1

Y

Data structure containing a single biometric sample for which a quality score is to be determined.

                   BIR

CBEFF_BIR_Type

1

Y

The biometric sample.

          Quality

QualityData

0..1

N

Specifies a particular algorithm vendor and vender product ID.

                   AlgorithmVendor

VendorIdentifier

1

Y

The vendor of the quality algorithm used to determine the quality score.

                   AlgorithmVendorProductID

ProductID

1

Y

The vendor's ID for the algorithm used to determine the quality.

Output

Field

Type

#

?

Meaning

CheckQualityResponse

 

 

Y

The response to a CheckQuality operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          QualityInfo

QualityData

1

Y

Contains the quality information for the submitted biometric sample.

                   QualityScore

Score

0..1

N

The quality of a biometric sample.

                   AlgorithmVendor

VendorIdentifier

1

Y

The vendor of the quality algorithm used to determine the quality score.

                   AlgorithmVendorProductID

ProductID

1

Y

The vendor's ID for the algorithm used to determine the quality.

                   AlgorithmVersion

VersionType

1

Y

The version of the algorithm used to determine the quality.

3.3.1.3 ClassifyBiometricData

ClassifyBiometricDataResponse

ClassifyBiometricData(ClassifyBiometricDataRequest classifyBiometricDataRequest)

The ClassifyBiometricData operation attempts to classify a biometric sample. For example, a fingerprint biometric sample may be classified as a whorl, loop, or arch (or other classification classes and sub-classes).

To obtain the types of classification algorithms and classes, see the QueryCapabilities operation.

Input

Field

Type

#

?

Meaning

ClassifyBiometricDataRequest

 

 

Y

Classifies a biometric sample.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “ClassifyBiometricData”.

          *BiometricData

BIASBiometricDataType

1

Y

Data structure containing a single biometric sample for which the classification is to be determined.

                   BIR

CBEFF_BIR_Type

1

Y

The biometric sample.

Output

Field

Type

#

?

Meaning

ClassifyBiometricDataResponse

 

 

Y

The response to a ClassifyBiometricData operation, containing the classification of a biometric sample.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ClassificationData

ClassificationData

1

Y

Information on the results and type of classification performed.

                   Classification

Classification

1

Y

The result of the classification.

                   ClassificationAlgorithmType

ClassificationAlgorithmType

1

Y

Identifies the type of classification algorithm that was used to perform the classification.

3.3.1.4 CreateSubject

CreateSubjectResponse

CreateSubject(CreateSubjectRequest createSubjectRequest)

The CreateSubject operation creates a new subject record and associates a subject ID to that record. As an optional parameter, the subject ID may be specified by the caller. If no subject ID is specified, the CreateSubject operation will generate one.

Input

Field

Type

#

?

Meaning

CreateSubjectRequest

 

 

Y

 

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “CreateSubject”.

          Identity

BIASIdentity

0..1

N

 

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

Output

Field

Type

#

?

Meaning

CreateSubjectResponse

 

 

Y

The response to a CreateSubject operation, containing the subject ID of the new subject record.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

1

Y

 

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

3.3.1.5 DeleteBiographicData

DeleteBiographicDataResponse

DeleteBiographicData(DeleteBiographicDataRequest deleteBiographicDataRequest)

The DeleteBiographicData operation erases all of the biographic data associated with a given subject record. In the encounter-centric model the operation erases all of the biographic data associated with a given encounter, and therefore the encounter ID must be specified.

When deleting data, BIAS implementations may completely erase the information in order to prevent the ability to reconstruct a record in whole or in part, or they may track and record the deleted information for auditing and/or quality control purposes.

Input

Field

Type

#

?

Meaning

DeleteBiographicDataRequest

 

 

Y

Erase all of the biographic data associated with a given subject record or, in the encounter-centric model, with a given encounter.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “DeleteBiographicData”.

          Identity

BIASIdentity

1

Y

 

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

Output

Field

Type

#

?

Meaning

DeleteBiographicDataResponse

 

 

Y

The response to a DeleteBiographicData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.6 DeleteBiometricData

DeleteBiometricDataResponse

DeleteBiographicData(DeleteBiometricDataRequest deleteBiographicDataRequest)

The DeleteBiometricData operation erases all of the biometric data associated with a given subject record. In the encounter-centric model the operation erases all of the biometric data associated with a given encounter, and therefore the encounter ID must be specified.

When deleting data, BIAS implementations may completely erase the information in order to prevent the ability to reconstruct a record in whole or in part, or they may track and record the deleted information for auditing and/or quality control purposes.

Input

Field

Type

#

?

Meaning

DeleteBiometricDataRequest

 

 

Y

Erase all of the biometric data associated with a given subject record or, in the encounter-centric model, with a given encounter.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “DeleteBiometricData”.

          Identity

BIASIdentity

1

Y

 

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

Output

Field

Type

#

?

Meaning

DeleteBiometricDataResponse

 

 

Y

The response to a DeleteBiometricData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.7 DeleteSubject

DeleteSubjectResponse

DeleteSubject(DeleteSubjectRequest deleteSubjectRequest)

The DeleteSubject operation deletes an existing subject record and, in an encounter-centric model, any associated encounter information from the system. This operation also removes the subject from any registered galleries.

When deleting a subject, BIAS implementations may completely erase the subject information in order to prevent the ability to reconstruct a record or records in whole or in part, or they may track and record the deleted information for auditing and/or quality control purposes.

Input

Field

Type

#

?

Meaning

DeleteSubjectRequest

 

 

Y

Delete an existing subject record and, in an encounter-centric model, any associated encounter information.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

BIASIdentity

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “DeleteSubject”.

          Identity

BIASIdentity

1

Y

The identity of the subject to delete.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

Output

Field

Type

#

?

Meaning

DeleteSubjectResponse

 

 

Y

The response to a DeleteSubject operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.8 DeleteSubjectFromGallery

DeleteSubjectFromGalleryResponse

DeleteSubjectFromGallery(DeleteSubjectFromGalleryRequest deleteSubjectFromGalleryRequest)

The DeleteSubjectFromGallery operation removes the registration of a subject from a gallery or population group. The subject is identified by either the subject ID or the claim to identity that was specified in the AddSubjectToGallery operation.

Input

Field

Type

#

?

Meaning

DeleteSubjectFromGalleryRequest

 

 

Y

Remove the registration of a subject from a gallery or population group.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “DeleteSubjectFromGallery”.

          GalleryID

BIASIDType

1

Y

The identifier of the gallery or population group from which the subject will be deleted.

          Identity

BIASIdentity

1

Y

The identity to remove from the gallery.

                   SubjectID

BIASIDType

0..1

C

A system unique identifier for a subject.

Required if an Identity Claim is not provided.

                   IdentityClaim

BIASIDType

0..1

C

An identifier by which a subject is known to a particular gallery or population group.

Required if a Subject ID is not provided.

Output

Field

Type

#

?

Meaning

DeleteSubjectFromGalleryResponse

 

 

Y

The response to a DeleteSubjectFromGallery operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.9 GetIdentifySubjectResults

GetIdentifySubjectResultsResponse

GetIdentifySubjectResults(GetIdentifySubjectResultsRequest getIdentifySubjectResultsRequest)

The GetIdentifySubjectResults operation retrieves the identification results for the specified token. This opereation is used in conjunction with the IdentifySubject operation. If the IdentifySubject operation is implemented as an asynchronous service, the implementing system returns a token and the GetIdentifySubjectResults operation is used to poll for the results of the original IdentifySubject request.

Input

Field

Type

#

?

Meaning

GetIdentifySubjectResultsRequest

 

 

Y

Retrieve the identification results for a specified token, which was returned by the IdentifySubject operation.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “GetIdentifySubjectResults”.

          Token

TokenType

1

Y

A value used to retrieve the results of an IdentifySubject request.

                   TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

                   Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

Output

Field

Type

#

?

Meaning

GetIdentifySubjectResultsResponse

 

 

Y

The response to a GetIdentifySubjectResults operation, which includes a candidate list.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          CandidateList

CandidateListType

1

Y

A rank-ordered list of candidates that have a likelihood of matching the input biometric sample.

                   Candidate

CandidateType

0..*

N

A single candidate.

                             Score

string

0..1

N

The match score.

                             BiographicData

BiographicDataType

0..1

N

Biographic data associated with the candidate match.

                             BIRList

CBEFF_BIR_ListType

1

Y

Biometric data associated with the candidate match.

                                      BIR

CBEFF_BIR_Type

0..*

N

CBEFF structure containing information about a biometric sample.

3.3.1.10 IdentifySubject

IdentifySubjectResponse

IdentifySubject(IdentifySubjectRequest identifySubjectRequest)

The IdentifySubject operation performs an identification search against a given gallery for a given biometric, returning a rank-ordered candidate list of a given maximum size.

If the IdentifySubject operation is implemented as a synchronous service, the implementing system immediately processes the request and returns the results in the candidate list. If the IdentifySubject operation is implemented as an asynchronous service, the implementing system returns a token, which is an indication that the request is being handled asynchronously. In this case, the GetIdentifySubjectResults operation is used to poll for the results of the IdentifySubject request.

Input

Field

Type

#

?

Meaning

IdentifySubjectRequest

 

 

Y

Perform an identification search against a given gallery for a given biometric.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “IdentifySubject”.

          GalleryID

BIASIDType

1

Y

The identifier of the gallery or population group which will be searched.

          Identity

BIASIdentity

1

Y

Contains the BIR, a data structure containing the biometric sample for the search.

                   BiometricData

BIASBiometricDataType

1

Y

An Identity's biometric data.

                             BIR

CBEFF_BIR_Type

1

Y

Contains biometric information in either a non-XML or an XML representation.

          MaxListSize

integer

1

Y

The maximum size of the candidate list that should be returned.

Output

Field

Type

#

?

Meaning

 

IdentifySubjectResponse

 

 

Y

The response to an IdentifySubject operation, returning a rank-ordered candidate list.

 

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

 

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

 

                   Message

string

0..1

N

A short message corresponding to the return code.

 

          CandidateList

CandidateListType

0..1

C

A rank-ordered list of candidates that have a likelihood of matching the input biometric sample.

Returned with successful synchronous request processing.

 

                   Candidate

CandidateType

0..*

N

A single candidate.

                             Score

string

0..1

N

The match score.

                             BiographicData

BiographicDataType

0..1

N

Biographic data associated with the candidate match.

                             BIRList

CBEFF_BIR_ListType

1

Y

Biometric data associated with the candidate match.

                                      BIR

CBEFF_BIR_Type

0..*

N

CBEFF structure containing information about a biometric sample.

          Token

TokenType

0..1

C

A token used to retrieve the results of the IdentifySubject operation.

Returned with asynchronous request processing.

 

                   TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

 

                   Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

 

3.3.1.11 ListBiographicData

ListBiographicDataResponse

ListBiographicData(ListBiographicDataRequest listBiographicDataRequest)

The ListBiographicData operation lists the biographic data elements stored for a subject using the Biographic Data Elements output parameter. Note that no actual biographic data is returned by this operation (see the RetrieveBiographicInformation operation to obtain the biographic data). In the encounter-centric model, an encounter ID may be specified to indicate that only the biographic data elements stored for that encounter should be returned. If an encounter ID is not specified and encounter data exists for the subject, the operation returns the list of encounter IDs which contain biographic data using the Encounter List output parameter, and the Biographic Data Elements output parameter is empty.

Input

Field

Type

#

?

Meaning

ListBiographicDataRequest

 

 

Y

Lists the biographic data elements stored for a subject.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “ListBiographicData”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

Output

Field

Type

#

?

Meaning

ListBiographicDataResponse

 

 

Y

The response to a ListBiographicData request, containing a list of biographic data elements stored for a subject. In the encounter-centric model, the biographic data elements for a specific encounter are returned. If an encounter ID is not specified and encounter data exists for the subject, the list of encounter IDs which contain biographic data is returned.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

1

Y

Contains a list of biographic data elements associated with a subject or encounter; non-empty if the service was successful, biographic data exists, and either (a) the person-centric model is being used or (b) the encounter-centric model is being used and an encounter identifier was specified.

                   BiographicDataElements

BiographicDataType

0..1

C

An Identity's biographic data elements that are stored in the implementing system.

                             BiographicDataItem

BiographicDataItemType

0..*

N

A single biographic data element.

                                      Name

string

1

Y

The name of the biographic data item.

                                      Type

string

1

Y

The data type for the biographic data item.

                   EncounterList

EncounterListType

0..1

C

A list of encounter ID's associated with a subject and which contain biographic data; non-empty if the service was successful, biographic data exists, the encounter-centric model is being used, and an encounter identifier was not specified.

                             EncounterID

BIASIDType

0..*

N

The identifier of an encounter.

3.3.1.12 ListBiometricData

ListBiometricDataResponse

ListBiometricData(ListBiometricDataRequest listBiometricDataRequest)

The ListBiometricData operation lists the biometric data elements stored for a subject using the Biometric Data List output parameter. Note that no actual biometric data is returned by this operation (see the RetrieveBiometricInformation operation to obtain the biometric data). In the encounter-centric model, an encounter ID may be specified to indicate that only the biometric data elements stored for that encounter should be returned. If an encounter ID is not specified and encounter data exists for the subject, the operation returns the list of encounter IDs which contain biometric data using the Encounter List output parameter, and the Biometric Data List output parameter is empty.

An optional parameter may be used to indicate a filter on the list of returned data. Such a filter may indicate that only biometric types should be listed (e.g., face, finger, iris, etc.) or that only biometric subtypes for a particular biometric type should be listed (e.g., all fingerprints: left slap, right index, etc.). If a filter is not specified, all biometric type and biometric subtype information are listed (e.g., left index finger, right iris, face frontal, etc.).

Input

Field

Type

#

?

Meaning

ListBiometricDataRequest

 

 

Y

Lists the biometric data elements stored for a subject.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “ListBiometricData”.

 

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

          *ListFilterType

ListFilterType

0..1

N

Indicates what biometric information should be returned.

                   BiometricTypeFilter

hexBinary

1..*

Y

Limits the returned information to a specific type of biometric, as defined by CBEFF.

                   IncludeBiometricSubType

boolean

1

Y

A Boolean flag indicating if biometric subtype information should be returned.

Output

Field

Type

#

?

Meaning

ListBiometricDataResponse

 

 

Y

The response to a ListBiometricData operation, containing a list of biometric data elements stored for a subject. In the encounter-centric model, the biometric data elements for a specific encounter are returned. If an encounter ID is not specified and encounter data exists for the subject, the list of encounter IDs which contain biometric data is returned.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

0..1

N

Includes a list of biometric data elements associated with a subject or encounter or a list of encounter ID's associated with a subject and which contain biometric data.

                   BiometricData

BIASBiometricDataType

0..1

C

An Identity's biometric data.

                             BiometricDataList

BiometricDataListType

0..1

N

A list of biometric data elements.

                                      BiometricDataElement

BiometricDataElementType

1..*

Y

Data structure containing information about a biometric record.

                                                BiometricType

hexBinary

1

Y

The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.

                                                BiometricTypeCount

positiveInteger

0..1

N

The number of biometric records having the biometric type recorded in the biometric type field.

                                                BiometricSubType

hexBinary

0..1

N

More specifically defines the type of biometric data stored in the biometric record, as defined by CBEFF.

                                                BDBFormatOwner

string

1

Y

Identifies the standards body, working group, industry consortium, or other CBEFF biometric organization that has defined the format for the biometric data.

                                                BDBFormatType

string

1

Y

Identifies the specific biometric data format specified by the CBEFF biometric organization recorded in the BDB Format Owner field.

                   EncounterList

EncounterListType

0..1

C

A list of encounter ID's associated with a subject and which contain biometric data; non-empty if the service was successful, biometric data exists, the encounter-centric model is being used, and an encounter identifier was not specified.

                             EncounterID

BIASIDType

1..*

Y

The identifier of an encounter.

3.3.1.13 PerformFusion

PerformFusionResponse

PerformFusion(PerformFusionRequest performFusionRequest)

The PerformFusion operation accepts either match score or match decision information and creates a fused match result. The FusionInformationListType, through the FusionInformationType, provides specific elements for match score input and match decision input. The fusion method and processes are left to the implementing system.

Input

Field

Type

#

?

Meaning

PerformFusionRequest

 

 

Y

Accepts either match score or match decision information and creates a fused match result.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “PerformFusion”.

          FusionInput

FusionInformationListType

1

Y

Score or decision input information to the fusion method.

                   FusionElement

FusionInformationType

2..*

Y

A set of fusion information.

                             BiometricType

hexBinary

1

Y

The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.

                             BiometricSubType

string

0..1

N

More specifically defines the type of biometric data stored in the biometric record.

                             AlgorithmOwner

string

1

Y

The owner or vendor of the algorithm used to determine the score or decision.

                             AlgorithmType

string

1

Y

The Algorithm Owner's identifier for the specific algorithm product and version used to determine the score or decision.

                             Score

unsignedLong

0..1

C

The similarity score assigned by the matching algorithm.

Either a Score or a Decision element must be used.

                             Decision

string

0..1

C

The match decision assigned by the matching algorithm.

Either a Score or a Decision element must be used.

Output

Field

Type

#

?

Meaning

PerformFusionResponse

 

 

Y

The response to the PerformFusion operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Match

MatchType

1

1

Indicates the result of the fusion method.

3.3.1.14 QueryCapabilities

QueryCapabilitiesResponse

QueryCapabilities(QueryCapabilitiesRequest queryCapabilitiesRequest)

The QueryCapabilities operation returns a list of the capabilities, options, galleries, etc. that are supported by the BIAS implementation. Refer to Annex A in the INCITS BIAS standard for conformance requirements regarding which capability names an implementation must use in the QueryCapabilities operation.

Input

Field

Type

#

?

Meaning

QueryCapabilitiesRequest

 

 

Y

Returns a list of the capabilities, options, galleries, etc. that are supported by the BIAS implementation.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “QueryCapabilities”.

Output

Field

Type

#

?

Meaning

QueryCapabilitiesResponse

 

 

Y

The response to a QueryCapabilities operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          CapabilityList

CapabilityListType

1

Y

A list of capabilities supported by the BIAS implementation.

                   Capability

CapabilityType

0..*

N

A single capability.

                             CapabilityName

CapabilityName

1

Y

The name of the capability.

                             CapabilityID

string

0..1

N

An identifier assigned to the capability by the implementing system.

                             CapabilityDescription

string

0..1

N

A description of the capability.

                             CapabilityValue

string

0..1

N

A value assigned to the capability.

                             CapabilitySupportingValue

string

0..1

N

A secondary value supporting the capability.

3.3.1.15 RetrieveBiographicInformation

RetrieveBiographicInformationResponse

RetrieveBiographicInformation(RetrieveBiographicInformationRequest retreiveBiographicInfoRequest)

The RetrieveBiographicInformation operation retrieves the biographic data associated with a subject ID. In the encounter-centric model, the encounter ID may be specified and the operation will return the biographic data associated with that encounter. If the encounter ID is not specified in the encounter-centric model, the operation returns the biographic information associated with the most recent encounter.

Input

Field

Type

#

?

Meaning

RetrieveBiographicInformationRequest

 

 

Y

Retrieves the biographic data associated with a subject ID.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “RetrieveBiographicInformation”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

Output

Field

Type

#

?

Meaning

RetrieveBiographicInformationResponse

 

 

Y

The response to a RetrieveBiographicInformation operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

1

Y

Includes the set of biographic data associated with a subject.

                   BiographicData

BiographicDataType

1

Y

An Identity's biographic data.

One of the following elements must be present.

                             LastName

string

0..1

C

The last name of a subject.

                             FirstName

string

0..1

C

The first name of a subject.

                             BiographicDataItem

BiographicDataItemType

0..*

C

A single biographic data element.

                             BiographicDataSet

BiographicDataSetType

0..1

C

A set of biographic data information.

3.3.1.16 RetrieveBiometricInformation

RetrieveBiometricInformationResponse

RetrieveBiometricInformation(RetrieveBiometricInformationRequest retrieveBiometricInformationRequest)

The RetrieveBiometricInformation operation retrieves the biometric data associated with a subject ID. In the encounter-centric model, the encounter ID may be specified and the operation will return the biometric data associated with that encounter. If the encounter ID is not specified in the encounter-centric model, the operation returns the biometric information associated with the most recent encounter. The operation provides an optional input parameter to specify that only biometric data of a certain type should be retrieved.

Input

Field

Type

#

?

Meaning

RetrieveBiometricInformationRequest

 

 

Y

Retrieves the biometric data associated with a subject ID.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “RetrieveBiometricInformation”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

          BiometricType

string

0..1

N

The type of biological or behavioral data to retrieve.

Output

Field

Type

#

?

Meaning

RetrieveBiometricInformationResponse

 

 

Y

The response to a RetrieveBiometricInformation operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

1

Y

Includes the biometric data associated with a subject.

                   BiometricData

BIASBiometricDataType

1

Y

An Identity's biometric data.

                             BIRList

CBEFF_BIR_ListType

1

Y

A list of CBEFF-BIR elements.

                                      BIR

CBEFF_BIR_Type

0..*

N

CBEFF structure containing information about a biometric sample.

3.3.1.17 SetBiographicData

SetBiographicDataResponse

SetBiographicData(SetBiographicDataRequest setBiographicDataRequest)

The SetBiographicData operation associates biographic data to a given subject record. The Identity Model parameter in the request indicates whether the biographic information should replace any existing biographic information (person-centric model) or if a new encounter should be created and associated with the subject (encounter-centric model). For encounter-centric models, the encounter ID may be specified by the caller in order to link biographic and biometric information (assuming biometric information was previously associated using the SetBiometricData operation). If the encounter ID is omitted for the encounter-centric model, the operation returns a system-assigned encounter ID.

Input

Field

Type

#

?

Meaning

SetBiographicDataRequest

 

 

Y

Associates biographic data to a given subject record.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

 

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “SetBiographicData”.

 

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biographic data to store.

 

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

 

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

 

                   BiographicData

BiographicDataType

1

Y

An Identity's biographic data.

One of the following elements must be present.

 

                             LastName

string

0..1

C

The last name of a subject.

 

                             FirstName

string

0..1

C

The first name of a subject.

 

                             BiographicDataItem

BiographicDataItemType

0..*

C

A single biographic data element.

 

                             BiographicDataSet

BiographicDataSetType

0..1

C

A set of biographic data information.

 

          IdentityModel

IdentityModelType

1

Y

Indicates a person-centric or encounter-centric model.

 

Output

Field

Type

#

?

Meaning

SetBiographicDataResponse

 

 

Y

The response to a SetBiographicData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

0..1

C

In an encounter-centric model, identifies the encounter ID assigned to a new encounter.

                   EncounterID

BIASIDType

1

Y

The identifier of an encounter associated with the subject.

3.3.1.18 SetBiometricData

SetBiometricDataResponse

SetBiometricData(SetBiometricDataRequest setBiometricDataRequest)

The SetBiometricData operation associates biometric data to a given subject record. The Identity Model parameter in the request indicates whether the biometric information should replace any existing biometric information (person-centric model) or if a new encounter should be created and associated with the subject (encounter-centric model). For encounter-centric models, the encounter ID may be specified by the caller in order to link biographic and biometric information (assuming biographic information was previously associated using the SetBiographicData operation). If the encounter ID is omitted for the encounter-centric model, the operation returns a system-assigned encounter ID.

Input

Field

Type

#

?

Meaning

SetBiometricDataRequest

 

 

Y

Associates biometric data to a given subject record.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “SetBiometricData”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biometric data to store.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

N

The identifier of an encounter associated with the subject.

                   BiometricData

BIASBiometricDataType

1

Y

An Identity's biometric data.

                             BIRList

CBEFF_BIR_ListType

1

Y

A list of CBEFF-BIR elements.

                                      BIR

CBEFF_BIR_Type

1..*

Y

CBEFF structure containing information about a biometric sample.

          IdentityModel

IdentityModelType

1

Y

Indicates a person-centric or encounter-centric model.

Output

Field

Type

#

?

Meaning

SetBiometricDataResponse

 

 

Y

The response to a SetBiometricData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Identity

BIASIdentity

0..1

C

In an encounter-centric model, identifies the encounter ID assigned to a new encounter.

                   EncounterID

BIASIDType

1

Y

The identifier of an encounter associated with the subject.

3.3.1.19 TransformBiometricData

TransformBiometricDataResponse

TransformBiometricData(TransformBiometricDataRequest transformBiometricDataRequest)

The TransformBiometricData operation transforms or processes a given biometric in one format into a new target format.

Input

Field

Type

#

?

Meaning

TransformBiometricDataRequest

 

 

Y

Transforms or processes a given biometric in one format into a new target format.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “TransformBiometricData”.

          InputBIR

CBEFF_BIR_Type

1

Y

Data structure containing the biometric information to be transformed.

          TransformOperation

unsignedLong

1

Y

Value indicating the type of transformation to perform.

Output

Field

Type

#

?

Meaning

TransformBiometricDataResponse

 

 

Y

The response to a TransformBiometricData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          OutputBIR

CBEFF_BIR_Type

0..1

N

Data structure containing the new, transformed biometric information.

3.3.1.20 UpdateBiographicData

UpdateBiographicDataResponse

UpdateBiographicData(UpdateBiographicDataRequest updateBiographicDataRequest)

The UpdateBiographicData operation updates the biographic data for an existing subject record. The operation replaces any existing biographic data with the new biographic data. In the encounter-centric model, the encounter ID must be specified.

Input

Field

Type

#

?

Meaning

UpdateBiographicDataRequest

 

 

Y

Updates the biographic data for a given subject record.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “UpdateBiographicData”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biographic data to update.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

                   BiographicData

BiographicDataType

1

Y

An Identity's biographic data.

One of the following elements must be present.

                             LastName

string

0..1

C

The last name of a subject.

                             FirstName

string

0..1

C

The first name of a subject.

                             BiographicDataItem

BiographicDataItemType

0..*

C

A single biographic data element.

                             BiographicDataSet

BiographicDataSetType

0..1

C

A set of biographic data information.

Output

Field

Type

#

?

Meaning

UpdateBiographicDataResponse

 

 

Y

The response to an UpdateBiographicData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.21 UpdateBiometricData

UpdateBiometricDataResponse

UpdateBiometricData(UpdateBiometricDataRequest updateBiometricDataRequest)

The UpdateBiometricData operation updates the biometric data for an existing subject record. The operation includes an optional parameter indicating if the new biometric sample should be merged with the existing biometric sample. If this parameter is set to “False” or is not used in the request, the operation replaces the existing biometric sample with the new biometric sample. In the encounter-centric model, the encounter ID must be specified.

Input

Field

Type

#

?

Meaning

UpdateBiometricDataRequest

 

 

Y

Updates a single biometric sample for a given subject record.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “UpdateBiometricData”.

          Identity

BIASIdentity

1

Y

Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biometric data to update.

                   SubjectID

BIASIDType

1

Y

A system unique identifier for a subject.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required for encounter-centric models.

                   BiometricData

BIASBiometricDataType

1

Y

An Identity's biometric data.

                             BIR

CBEFF_BIR_Type

1

Y

Contains biometric information in either a non-XML or an XML representation.

          Merge

boolean

0..1

N

Value indicating if the input biometric sample should be merged with any existing biometric information.

Output

Field

Type

#

?

Meaning

UpdateBiometricDataResponse

 

 

Y

The response to an UpdateBiometricData operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

3.3.1.22 VerifySubject

VerifySubjectResponse

VerifySubject(VerifySubjectRequest verifySubjectRequest)

The VerifySubject operation performs a 1:1 verification match between a given biometric and either a claim to identity in a given gallery or another given biometric. As such either the Identity Claim or Reference BIR input parameters are required.

Input

Field

Type

#

?

Meaning

VerifySubjectRequest

 

 

Y

Performs a 1:1 verification match between a given biometric and either a claim to identity in a given gallery or another given biometric.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

BIASIdentity

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “VerifySubject”.

          GalleryID

BIASIDType

0..1

C

The identifier of the gallery or population group of which the subject must be a member.

Required if an Identity Claim is provided.

          Identity

BIASIdentity

1

Y

Includes the identifying information and/or input and reference biometric samples.

                   IdentityClaim

BIASIDType

0..1

C

An identifier by which a subject is known to a particular gallery or population group.

Required if a Reference BIR is not provided.

                   BiometricData

BIASBiometricDataType

1

Y

An Identity's biometric data.

                             InputBIR

CBEFF_BIR_Type

1

Y

Maps to specific INCITS BIAS elements as required by that specification.

                             ReferenceBIR

CBEFF_BIR_Type

0..1

C

Maps to specific INCITS BIAS elements as required by that specification.

Required if an Identity Claim is not provided.

Output

Field

Type

#

?

Meaning

VerifySubjectResponse

 

 

Y

The response to a VerifySubject operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          Match

boolean

0..1

N

Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.

          Score

Score

0..1

N

The score if the biometric information matched.

3.3.2 Aggregate Operations

3.3.2.1 Enroll

EnrollResponse

Enroll(EnrollRequest enrollRequest)

The Enroll operation adds a new subject or, in an encounter-centric model, a new encounter to the system. This may be accomplished in a number of different ways according to system requirements and/or resources. If the Enroll operation is implemented as a synchronous service, the implementing system immediately processes the request and returns the results in the Return Data parameter. If the Enroll operation is implemented as an asynchronous service, the implementing system returns a token in the Return Data parameter, which is an indication that the request is being handled asynchronously. In this case, the GetEnrollResults operation is used to poll for the results of the Enroll request.

Input

Field

Type

#

?

Meaning

EnrollRequest

 

 

Y

Adds a new subject or, in an encounter-centric model, a new encounter to the system.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “Enroll”.

          ProcessingOptions

ProcessingOptionsType

1

Y

Options that guide how the aggregate service request is processed.

                   Option

string

0..*

N

An option supported by the implementing system.

          InputData

InformationType

1

Y

Contains the input data for the operation, as required by the implementing system.

Output

Field

Type

#

?

Meaning

EnrollResponse

 

 

Y

The response to an Enroll operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

3.3.2.2 GetEnrollResults

GetEnrollResultsResponse

GetEnrollResults(GetEnrollResultsRequest getEnrollResultsRequest)

The GetEnrollResults operation retrieves the enrollment results for the specified token. This operation is used in conjunction with the Enroll operation. If the Enroll operation is implemented as an asynchronous service, the implementing system returns a token and the GetEnrollResults operation is used to poll for the results of the original Enroll request.

Input

Field

Type

#

?

Meaning

GetEnrollResultsRequest

 

 

Y

Retrieves the enrollment results for the specified token.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “GetEnrollResults”.

          Token

TokenType

1

Y

A value used to retrieve the results of the Enroll request.

                   TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

                   Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

Output

Field

Type

#

?

Meaning

GetEnrollResultsResponse

 

 

Y

The response to a GetEnrollResults operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

3.3.2.3 GetIdentifyResults

GetIdentifyResultsResponse

GetIdentifyResults(GetIdentifyResultsRequest getIdentifyResultsRequest)

The GetIdentifyResults operation retrieves the identification results for the specified token. This operation is used in conjunction with the Identify operation. If the Identify operation is implemented as an asynchronous service, the implementing system returns a token and the GetIdentifyResults operation is used to poll for the results of the original Identify request.

Input

Field

Type

#

?

Meaning

GetIdentifyResultsRequest

 

 

Y

Retrieves the identification results for the specified token

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “GetIdentifyResults”.

          Token

TokenType

1

Y

A value used to retrieve the results of the Identify request.

                   TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

                   Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

Output

Field

Type

#

?

Meaning

GetIdentifyResultsResponse

 

 

Y

The response to a GetIdentifyResults operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

3.3.2.4 GetVerifyResults

GetVerifyResultsResponse

GetVerifyResult(GetVerifyResultsRequest getVerifyResultsRequest)

The GetVerifyResults operation retrieves the verification results for the specified token. This operation is used in conjunction with the Verify operation. If the Verify operation is implemented as an asynchronous service, the implementing system returns a token and the GetVerifyResults operation is used to poll for the results of the original Verify request.

Input

Field

Type

#

?

Meaning

GetVerifyResultsRequest

 

 

Y

Retrieves the verification results for the specified token

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “GetVerifyResults”.

          Token

TokenType

1

Y

A value used to retrieve the results of the Verify request.

                   TokenValue

string

1

Y

A value returned by the implementing system that is used to retrieve the results to an operation at a later time.

                    Expiration

date

1

Y

A date and time at which point the token expires and the operation results are no longer guaranteed to be available.

Output

Field

Type

#

?

Meaning

GetVerifyResultsResponse

 

 

Y

The response to a GetVerifyResults operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

          Match

boolean

0..1

N

Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.

          Score

Score

0..1

N

The score if the biometric information matched.

3.3.2.5 Identify

IdentifyResponse

Identify(IdentifyRequest identifyRequest)

The Identify operation performs an identification function according to system requirements and/or resources. If the Identify operation is implemented as a synchronous service, the implementing system immediately processes the request and returns the results in the Return Data parameter. If the Identify operation is implemented as an asynchronous service, the implementing system returns a token in the Return Data parameter, which is an indication that the request is being handled asynchronously. In this case, the GetIdentifyResults operation is used to poll for the results of the Identify request.

Input

Field

Type

#

?

Meaning

IdentifyRequest

 

 

Y

Performs an identification function.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “Identify”.

          ProcessingOptions

ProcessingOptionsType

1

Y

Options that guide how the aggregate service request is processed.

                   Option

string

0..*

N

An option supported by the implementing system.

          InputData

InformationType

1

Y

Contains the input data for the aggregate services.

Output

Field

Type

#

?

Meaning

IdentifyResponse

 

 

Y

The response to an Identify operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

3.3.2.6 RetrieveInformation

RetrieveInformationResponse

RetrieveInformation(RetrieveInformationRequest retrieveInformationRequest)

The RetrieveInformation operation retrieves requested information about a subject, or in an encounter-centric model about an encounter. In a person-centric model, this operation may be used to retrieve both biographic and biometric information for a subject record. In an encounter-centric model, this operation may be used to retrieve biographic and/or biometric information for either a single encounter or all encounters. Either a subject ID or encounter ID must be specified.

Input

Field

Type

#

?

Meaning

RetrieveInformationRequest

 

 

Y

Retrieves requested information about a subject or encounter.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “RetrieveInformation”.

          ProcessingOptions

ProcessingOptionsType

1

Y

Options that guide how the aggregate service request is processed, and may identify what type(s) of information should be returned.

                   Option

string

0..*

N

An option supported by the implementing system.

          Identity

BIASIdentity

1

Y

Includes the identifier of the subject or encounter.

                    SubjectID

BIASIDType

0..1

C

A system unique identifier for a subject.

Required if an Encounter ID is not provided.

                   EncounterID

BIASIDType

0..1

C

The identifier of an encounter associated with the subject.

Required if a Subject ID is not provided.

Output

Field

Type

#

?

Meaning

RetrieveInformationResponse

 

 

Y

Response to a RetrieveInformation operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

3.3.2.7 Verify

VerifyResponse

Verify(VerifyRequest verifyRequest)

The Verify operation performs a 1:1 verification function according to system requirements and/or resources. Either the Identity Claim or Reference BIR input parameters are required. If the Verify operation is implemented as a synchronous service, the implementing system immediately processes the request and returns the results in the Return Data parameter. If the Verify operation is implemented as an asynchronous service, the implementing system returns a token in the Return Data parameter, which is an indication that the request is being handled asynchronously. In this case, the GetVerifyResults operation is used to poll for the results of the Verify request.

Input

Field

Type

#

?

Meaning

VerifyRequest

 

 

Y

Performs a 1:1 verification function.

          GenericRequestParameters

GenericRequestParameters

0..1

N

Common request parameters that can be used to identify the requester.

                   Application

ApplicationIdentifier

0..1

N

Identifies the requesting application.

                   ApplicationUser

ApplicationUserIdentifier

0..1

N

Identifies the user or instance of the requesting application.

                   BIASOperationName

string

0..1

N

Identifies the BIAS operation that is being requested: “Verify”.

          ProcessingOptions

ProcessingOptionsType

1

Y

Options that guide how the aggregate service request is processed.

                   Option

string

0..*

N

An option supported by the implementing system.

          InputData

InformationType

1

Y

Contains the input data for the aggregate services.

          Identity

BIASIdentity

1

Y

Includes either the Identity Claim or Reference BIR.

                   IdentityClaim

BIASIDType

0..1

C

An identifier by which a subject is known to a particular gallery or population group.

Required if a Reference BIR is not provided.

                   BiometricData

BIASBiometricDataType

0..1

N

An Identity's biometric data.

                             ReferenceBIR

CBEFF_BIR_Type

0..1

C

Maps to specific INCITS BIAS elements as required by that specification.

Required if an Identity Claim is not provided.

          GalleryID

BIASIDType

0..1

C

The identifier of the gallery or population group of which the subject must be a member.

Required if an Identity Claim is provided.

Output

Field

Type

#

?

Meaning

VerifyResponse

 

 

Y

The response to a Verify operation.

          ResponseStatus

ResponseStatus

1

Y

Returned status for the operation.

                   Return

ReturnCode

1

Y

The return code indicates the return status of the operation.

                   Message

string

0..1

N

A short message corresponding to the return code.

          ReturnData

InformationType

0..1

N

Contains the output data for the response.

          Match

boolean

0..1

N

Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.

          Score

Score

0..1

N

The score if the biometric information matched.

 

4      Message structure and rules

BIAS operations and data elements are defined in XML in the INCITS 422 BIAS standard. This OASIS standard further specifies the full XML schema (see Appendix B) and specifies how this XML is packaged and exchanged as SOAP messages.

SOAP 1.1 messages consist of three elements: an envelope, header data, and a message body.  BIAS request-response protocol elements MUST be enclosed within the SOAP message body.  The general structure of the BIAS SOAP message is shown in Figure 4, below. The data model for BIAS is addressed in Chapter 4.

Figure 4. BIAS SOAP Structure

 

Biometric data, regardless of native format, is carried as a binary structure. As such, options exist on how this data is carried within the SOAP structure. It can be carried as embedded Base-64 objects or [XOP] can be used – this standard allows for either method.

4.1 Purpose and constraints

This document defines a SOAP profile describing how the XML elements defined in INCITS 442 are to be used as the payload of a SOAP message and the rules for structuring and exchanging such a messages.  Philosophical tenets include:

·         SOAP messages will carry BIAS XML payloads.

·         SOAP messages will follow WS-I and will deviate only when absolutely necessary.

·         Message structures and interchanges will be kept as simple as possible – “nice to have” features will be addressed in future revisions.

·         XML schemas will be produced based on INCITS 442.

·         BIAS will support a broad range of application domains.

·         BIAS will allow for a variety of biometric and biographic data formats to be used

·         Only the SOAP messaging will be defined – no message protocols or client/server agents will be defined.

·         Basic usage/formatting rules (beyond WS-I) will be defined.

·         Existing biometric and Web services standards will be leveraged wherever possible.

·         Sample WSDL and use cases will be provided as an aid in implementation.

·         Use of basic SOAP will allow all other compatible WS* standards (and discovery mechanisms) to be used in conjunction with BIAS messaging.

·         BIAS will support both secure (i.e., using existing security mechanisms such as WS-Security, SAML, etc,) and non-secure implementations.

·         Generic biometric operations will be defined – use of biometrics within a Web services authentication protocol is not addressed.

·         OASIS namespace rules will be followed, though some external schemas may also be referenced.

4.2 Message requirements

BIAS SOAP messages MUST conform to [WS-I-Basic] and [WS-I-Bind].  A single BIAS SOAP message MUST contain only one BIAS service request (or single BIAS service response).  Binary components of BIAS messages are already Base-64 encoded and therefore do not need to be conveyed as SOAP attachments.

The system model used for BIAS conversations over SOAP is a simple request-response model.  BIAS comprises both synchronous and asynchronous operations, with the majority being of the former type. Asynchronous operations are implemented through message pairs. That is, there are separate messages to request the operation and to request the results of the operation. These have been defined for those operations that are likely to take significant time to complete. For example, an identify operation may be implemented as either a synchronous or asynchronous service as follows:

 

Figure 5. Example of Synchronous and Asynchronous BIAS Operations

 

The basic process for using SOAP for BIAS operations is:

  1. A system entity acting as a BIAS requester transmits a BIAS request element within the body of a SOAP message to a system entity acting as a BIAS responder. The BIAS requester MUST NOT include more than one BIAS request per SOAP message or include any additional XML elements in the SOAP body.
  2. The BIAS responder MUST return either a BIAS response element within the body of another SOAP message or generate a SOAP fault. The BIAS responder MUST NOT include more than one BIAS response per SOAP message or include any additional XML elements in the SOAP body. If a BIAS responder cannot, for some reason, process a BIAS request, it MUST generate a SOAP fault.  (SOAP 1.1 faults and fault codes are discussed in [SOAP11] Section 4.1.)
  3. On receiving a BIAS response in a SOAP message, the BIAS requester MUST NOT send a fault code or other error messages to the BIAS responder. Since the format for the message interchange is a simple request-response pattern, adding additional items such as error conditions would needlessly complicate the protocol.

SOAP 1.1 also defines an optional data encoding system. This system is not used within the BIAS SOAP binding. This means that BIAS messages can be transported using SOAP without re-encoding from the "standard" BIAS schema to one based on the SOAP encoding.

NOTE: [SOAP11] references an early draft of the XML Schema specification including an obsolete namespace. BIAS requesters SHOULD generate SOAP documents referencing only the final XML schema namespace. BIAS responders MUST be able to process both the XML schema namespace used in [SOAP11] as well as the final XML schema namespace.

4.3 Identifying operations

Receivers of BIAS SOAP messages require a method of easily identifying the operation being requested (or response being provided).  This should be possible without the receiver needing to infer it from the sum of the elements provided within the body of the SOAP message.  The BIAS SOAP profile allows for two methods of identifying BIAS operations:

4.3.1 Operation name element

The BIAS message sender (requester) will include within the body of the BIAS SOAP message an XML element <BIASOperationName>.  The receiver (service provider) can search for this tag within a received BIAS SOAP message to determine what operation is being requested.  There is no requirement related ot the ordering of this element within the message, though it is recommended that it be included early in the message to aid in human readability.  This same approach would be used in response messages.

An example of this method for the CreateSubject operation is shown below:

 

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

    <soap:Body>

<tns:CreateSubjectRequest                             xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:GenericRequestParameters>

                  <tns:Application>BIAS Application</tns:Application>

                  <tns:ApplicationUser>BIAS User</tns:ApplicationUser>

                  <tns:BIASOperationName>CreateSubject</tns:BIASOperationName>

               </tns:GenericRequestParameters>

               <tns:Identity>

                   <tns:SubjectID>123456789</tns:SubjectID>

               </tns:Identity>

          </tns:CreateSubjectRequest>

      </soap:Body>

</soap:Envelope>

4.3.2 WS-Addressing Action

WS-Addressing [WS-Addr] provides a mechanism for including action information inside any SOAP message.  The information is in the SOAP Header.  The WS-Addressing ‘Action’ element is used to indicate the intent of the message.  The value is a URI identifying that intent; however, there are no restrictions on the format or specificity of the URI nor a requirement that it can be resolved.  Adoption of this option also requires that the WS-Addressing ‘To’, ‘ReplyTo’, and ‘MessageID’ elements are supplied, as they are mandatory elements in a request-reply message pattern as used within BIAS.  Response messages would also need to use WS-Addressing, requiring the ‘To’ (matching the ‘ReplyTo’ element in the request), ‘RelatesTo’ (matching the ‘MessageID’ element in the request), and ‘RelationshipType’ (default value to “wsa:Reply”) elements. 

Use of WS-Addressing is optional in this profile as is this method of using the ‘Action’ field for this purpose.  However, when BIAS is used within an environment using WS-Addressing, it is recommended that this approach for use of the ‘Action’ field to carry the BIAS operation name is employed, either alone or in combination with the BIASOperationName approach described in 5.3.1.

An example for a message request for the CreateSubject operation would look like the following:

 

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”

xmlns:wsa=”http://schemas.xmlsoap.org/ws/2004/08/addressing”>

      <soap:Header>

            <wsa:MessageID>some-ID</wsa:MessageID>

            <wsa:ReplyTo>

                  <wsa:Address>response-URI</wsa:Address>

            </wsa:ReplyTo>

            <wsa:To>destination-URI</wsa:To>

            <wsa:Action>CreateSubject</wsa:Action>

      </soap:Header>

      <soap:Body>

            <tns:CreateSubjectRequest

                              xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/” />

      </soap:Body>

</soap:Envelope>

 

4.4  Security

The end-points that exchange SOAP messages (or handle the contents of the BIAS operations) are expected to be protected and trusted such that message-level security mechanisms are not required.  The use of SSL (HTTPS) or VPN technology that provides end-point to end-point security should be sufficient.   Other mechanisms such as Signed XML or WSS could be implemented.

Unless stated otherwise, the following security statements apply to all BIAS bindings. 

4.4.1 Use of SSL 3.0 or TLS 1.0

Unless otherwise specified, in any BIAS binding’s use of SSL 3.0 [SSL3] or TLS1.0 [RFC2246], servers MUST authenticate clients using a X.509 v3 certificate [X509].  The client MUST establish server identity based on contents of the certificate (typically through examination of the certificate’s subject DN field, subjectAltName attribute, etc.).

Use of transport level security in the form of SSL or TLS is optional but highly recommended.  Use of these mechanisms alone may not be sufficient for end-to-end integrity and confidentiality, however (see 5.4.3 and 5.4.4 below).

4.4.2 Data Origin Authentication

Authentication of both the BIAS requester and the BIAS responder associated with a message is OPTIONAL and depends on the environment of use:  Authentication mechanisms available at the SOAP message exchange layer or from the underlying substrate protocol (for example, in many bindings the SSL/TLS or HTTP protocol) MAY be utilized to provide data origin authentication.

Transport authentication will not meet end-to-end origin authentication requirements in bindings where the BIAS SOAP message passes through an intermediary – in this case, message authentication is recommended.

Note that SAML [SAML] may be used as the mechanism for parties to authenticate to one another.

4.4.3 Message Integrity

Message integrity of both BIAS requests and BIAS responses is OPTIONAL and depends on the environment of use.  The security layer in the underlying substrate protocol or a mechanism at the SOAP message exchange layer MAY be used to ensure message integrity.

Transport integrity will not meet end-to-end integrity requirements in bindings where the BIAS SOAP message passes through an intermediary – in this case, message integrity is recommended.

4.4.4 Message Confidentiality

Message confidentiality of both BIAS requests and BIAS responses is OPTIONAL and depends on the environment of use.  The security layer in the underlying substrate protocol or a mechanism at the SOAP message exchange layer MAY be used to ensure message confidentiality.

Transport confidentiality will not meet end-to-end confidentiality requirements in bindings where the BIAS SOAP message passes through an intermediary.

4.4.5 Security Considerations

Before deployment, each combination of authentication, message integrity, and confidentiality mechanisms SHOULD be analyzed for vulnerability in the context of the specific protocol exchange and the deployment environment.

IETF RFC 2617 [RFC2617] describes possible attacks in the HTTP environment when basic or message digest authentication schemes are used.

Special care should be given to the impact of possible caching on security.

4.4.6 Security of Stored Data

This specification does not address security considerations for stored data.  It is the purview of the BIAS service provider to implement security mechanisms and protect data at rest as per their own security policies.

4.4.7 Key Management

This specification does not address key management considerations with respect to implementation of cryptographic security mechanisms (e.g., for authenticity, integrity, or confidentiality).

4.5 Use with other WS* standards

The intent of specifying SOAP bindings for BIAS messages is to enable the full range of existing Web services standards to be able to be applied. Some may be normative while others can be optionally applied (i.e., WS-Security). Still others may require additional profiling to be used in an interoperable manner (e.g., WS-Notification); this is left to a future revision. However, the intent is to avoid specifying anything in the first, base version that would preclude the use of such standards in the future.

4.6 Tailoring

This standard provides for a common method of implementing biometric Web services; however, it does not guaranteed interoperability in a specific application.  In some cases further tailoring or profiling of this standard may be required in order to further constrain the implementation options available.

5      Error handling

There are two levels of errors that can be returned in an error response: system and service errors. 

The INCITS BIAS standard defines the error condition codes for system-level errors.

Every Web service (operation) described in the BIAS WSDL may result in a fault message that will be returned in the response by the service provider in the event of an error. The fault message contains a FaultCode element as defined by the SOAP 1.1 specification (see section 4.2.5).  The fault message shall contain a Detail element in a common format, as described by the BIASFault element (see section 4.2.6).

The schema provided in Annex B defines “BIASFaultCode” and “BIASFaultDetail” types as well as “BIASFault”, “BIASFaultType”, “BIASFaultMessage” and “BIASFaultDescription” elements.

6      Conformance

Annex A specifies the conformance requirements for systems/components claiming conformance to this standard.

{Ed note:  This section is included pending conclusion of an open action item on this subject.  See also http://docs.oasis-open.org/templates/TCHandbook/ConformanceGuidelines.html related to this clause.}

 


A.  XML Schema

<?xml version="1.0" encoding="UTF-8"?>

 

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://docs.oasis-open.org/bias/ns/bias-1.0/" targetNamespace="http://docs.oasis-open.org/bias/ns/bias-1.0/">

  <wsdl:types>

    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/bias/ns/bias-1.0/">

      <xsd:complexType name="AggregateRequestTemplate" abstract="true">

        <xsd:annotation>

          <xsd:documentation>Base template for BIAS aggregate service requests.</xsd:documentation>

        </xsd:annotation>

        <xsd:complexContent>

          <xsd:extension base="RequestTemplate">

            <xsd:sequence>

              <xsd:element name="ProcessingOptions" type="ProcessingOptionsType" minOccurs="1" maxOccurs="1">

                <xsd:annotation>

                  <xsd:documentation>Options that guide how the aggregate service request is processed.</xsd:documentation>

                </xsd:annotation>

              </xsd:element>

              <xsd:element name="InputData" type="InformationType" minOccurs="1" maxOccurs="1">

                <xsd:annotation>

                  <xsd:documentation>Contains the input data for the aggregate service request.</xsd:documentation>

                </xsd:annotation>

              </xsd:element>

            </xsd:sequence>

          </xsd:extension>

        </xsd:complexContent>

      </xsd:complexType>

      <xsd:complexType name="AggregateResponseTemplate" abstract="true">

        <xsd:annotation>

          <xsd:documentation>Base template for BIAS aggregate service responses.</xsd:documentation>

        </xsd:annotation>

        <xsd:complexContent>

          <xsd:extension base="tns:ResponseTemplate">

            <xsd:sequence>

              <xsd:element name="ReturnData" type="tns:InformationType" minOccurs="0" maxOccurs="1">

                <xsd:annotation>

                  <xsd:documentation>Contains the output data for the aggregate service response.</xsd:documentation>

                </xsd:annotation>

              </xsd:element>

            </xsd:sequence>

          </xsd:extension>

        </xsd:complexContent>

      </xsd:complexType>

      <xsd:simpleType name="ApplicationIdentifier">

        <xsd:annotation>

          <xsd:documentation>Identifies an application.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string">

          <xsd:minLength value="1" />

          <xsd:maxLength value="255" />

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:simpleType name="ApplicationUserIdentifier">

        <xsd:annotation>

          <xsd:documentation>Identifies an application user or instance.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string">

          <xsd:minLength value="1" />

          <xsd:maxLength value="255" />

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:complexType name="BDB-info">

        <xsd:annotation>

          <xsd:documentation>

            For a description or definition of each data element, see the

            referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="challenge-response" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="index" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="format-owner" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="format-type" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="security-Encyrption-options" type="xsd:string" minOccurs="1" maxOccurs="1" />

          <xsd:element name="creation-date" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="validity-period" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="type" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="subtype" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="data-type" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="product-owner" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="product-type" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="purpose" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="quality" minOccurs="0" maxOccurs="1">

            <xsd:complexType>

              <xsd:sequence>

                <xsd:element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" />

                <xsd:element name="algorithm-owner" type="xsd:string" minOccurs="0" maxOccurs="1" />

                <xsd:element name="algorithm-type" type="xsd:string" minOccurs="0" maxOccurs="1" />

              </xsd:sequence>

            </xsd:complexType>

          </xsd:element>

          <xsd:element name="device-owner" type="xsd:integer" minOccurs="0" maxOccurs="1" />

          <xsd:element name="device-type" type="xsd:integer" minOccurs="0" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="BIASBiometricDataType">

        <xsd:annotation>

          <xsd:documentation>Wraps the various BIAS biometric types.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BIRList" type="tns:CBEFF_BIR_ListType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A list of CBEFF-BIR elements.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BIR" type="tns:CBEFF_BIR_Type" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Contains biometric information in either a non-XML and an XML representation.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="InputBIR" type="tns:CBEFF_BIR_Type" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Maps to specific INCITS BIAS elements as required by that specification.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="ReferenceBIR" type="tns:CBEFF_BIR_Type" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Maps to specific INCITS BIAS elements as required by that specification.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiometricDataList" type="tns:BiometricDataListType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A list of biometric data elements.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="BIASFaultCode">

        <xsd:annotation>

          <xsd:documentation> </xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:unsignedLong">

          <xsd:enumeration value="UNKNOWN_ERROR">

            <xsd:annotation>

              <xsd:documentation>The service failed for an unknown reason.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="UNSUPPORTED_CAPABILITY">

            <xsd:annotation>

              <xsd:documentation>A requested capability is not supported by the service implementation.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="INVALID_INPUT">

            <xsd:annotation>

              <xsd:documentation>The data in a service input parameter is invalid.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="BIR_QUALITY_ERROR">

            <xsd:annotation>

              <xsd:documentation> Biometric sample quality is too poor for the service to succeed.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="INVALID_BIR">

            <xsd:annotation>

              <xsd:documentation> The input BIR is empty or in an invalid or unrecognized format.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="BIR_SIGNATURE_FAILURE">

            <xsd:annotation>

              <xsd:documentation> The service could not validate the signature, if used, on the input BIR.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="BIR_DECRYPTION_FAILURE">

            <xsd:annotation>

              <xsd:documentation> The service could not decrypt an encrypted input BIR.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="INVALID_ENCOUNTER_ID">

            <xsd:annotation>

              <xsd:documentation> The input encounter ID is empty or in an invalid format.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="INVALID_SUBJECT_ID">

            <xsd:annotation>

              <xsd:documentation> The input subject ID is empty or in an invalid format.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="UNKNOWN_SUBJECT">

            <xsd:annotation>

              <xsd:documentation> The subject referenced by the input subject ID does not exist.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="UNKNOWN_GALLERY">

            <xsd:annotation>

              <xsd:documentation> The gallery referenced by the input gallery ID does not exist.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="UNKNOWN_ENCOUNTER">

            <xsd:annotation>

              <xsd:documentation> The encounter referenced by the input encounter ID does not exist.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:complexType name="BIASFaultDetail">

        <xsd:annotation>

          <xsd:documentation>Defines the error information associated with a SOAP fault.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element minOccurs="1" maxOccurs="1" name="BIASFaultType" type="tns:BIASFaultCode">

            <xsd:annotation>

              <xsd:documentation>References an error code.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="1" maxOccurs="1" name="BIASFaultMessage" type="xsd:string">

            <xsd:annotation>

              <xsd:documentation>Provides an explanation of the fault.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element minOccurs="0" maxOccurs="1" name="BIASFaultDescription" type="xsd:string">

            <xsd:annotation>

              <xsd:documentation>Provides detailed information about a BIAS fault, such as trace details.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="BIASIdentity">

        <xsd:annotation>

          <xsd:documentation>

            Defines a single element for encapsulating the data associated

            with an Identity.  Includes the Identity's reference identifiers,

            biographic data, and biometric data.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="SubjectID" type="tns:BIASIDType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A system unique identifier for a subject.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="IdentityClaim" type="tns:BIASIDType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>An identifier by which a subject is known to a particular gallery or population group.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="EncounterID" type="tns:BIASIDType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The identifier of an encounter associated with the subject, required for encounter-centric models.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="EncounterList" type="tns:EncounterListType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A list of encounters associated with a subject.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiographicData" type="tns:BiographicDataType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>An Identity's biographic data.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiographicDataElements" type="tns:BiographicDataType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>An Identity's biographic data elements that are stored in the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiometricData" type="tns:BIASBiometricDataType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>An Identity's biometric data.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="BIASIDType">

        <xsd:annotation>

          <xsd:documentation>A BIAS identifier</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:complexType name="BiographicDataItemType">

        <xsd:annotation>

          <xsd:documentation>Defines a single biographic data element.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence maxOccurs="unbounded">

          <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The name of the biographic data item.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="Type" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The data type for the biographic data item.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="Value" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The value assigned to the biographic data item.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="BiographicDataSetType">

        <xsd:annotation>

          <xsd:documentation>Defines a set of biographic data that is formatted according to the specified format.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:any namespace="##any">

            <xsd:annotation>

              <xsd:documentation>Biographic data formatted according to a specific format.</xsd:documentation>

            </xsd:annotation>

          </xsd:any>

        </xsd:sequence>

        <xsd:attribute name="name" type="xsd:string" use="required">

          <xsd:annotation>

            <xsd:documentation>The name of the biographic data format. Use these names for common formats: EFTS, EBTS, NIEM, xNAL, HR-XML.</xsd:documentation>

          </xsd:annotation>

        </xsd:attribute>

        <xsd:attribute name="version" type="xsd:string" use="optional">

          <xsd:annotation>

            <xsd:documentation>The version of teh biographic data format. Use these versions for common formats: (EFTS) 7.1, (EBTS) 1.2, (NIEM) 1.0 or 2.0, (xNAL) 2.0 or 3.0, (HR-XML) 2.5.</xsd:documentation>

          </xsd:annotation>

        </xsd:attribute>

        <xsd:attribute name="source" type="xsd:string" use="required">

          <xsd:annotation>

            <xsd:documentation>Reference to a URI describing the biographic data format. Use these sources for common formats: (EFTS) www.fbi.gov, (EBTS) www.biometrics.dod.mil, (NIEM) www.niem.gov, (xNAL) www.oasis-open.org, (HR-XML) www.hr-xml.org.</xsd:documentation>

          </xsd:annotation>

        </xsd:attribute>

        <xsd:attribute name="type" type="xsd:string" use="required">

          <xsd:annotation>

            <xsd:documentation>The biographic data format type. Use these types for common formats: (EFTS and EBTS) ASCII, (NIEM, xNAL, and HR-XML) XML.</xsd:documentation>

          </xsd:annotation>

        </xsd:attribute>

      </xsd:complexType>

      <xsd:complexType name="BiographicDataType">

        <xsd:annotation>

          <xsd:documentation>

            Defines a set of biographic data elements, utilizing either the

            BiographicDataItemType to represent a list of elements or the

            BiographicDataSetType to represent a complete, formatted set of

            biographic information.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:choice maxOccurs="unbounded">

          <xsd:element name="LastName" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The last name of a subject.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="FirstName" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The first name of a subject.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiographicDataItem" type="tns:BiographicDataItemType" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>A single biographic data element.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiographicDataSet" type="tns:BiographicDataSetType" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A set of biographic data information.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:choice>

      </xsd:complexType>

      <xsd:complexType name="BiometricDataElementType">

        <xsd:annotation>

          <xsd:documentation>

            Provides descriptive information about biometric data, such as

            the biometric type, subtype, and format, contained in the BDB of

            the CBEFF-BIR.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BiometricType" type="xsd:hexBinary" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiometricTypeCount" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The number of biometric records having the biometric type recorded in the biometric type field.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiometricSubType" type="xsd:hexBinary" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>More specifically defines the type of biometric data stored in the biometric record, as defined by CBEFF.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BDBFormatOwner" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Identifies the standards body, working group, industry consortium, or other CBEFF biometric organization that has defined the format for the biometric data.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BDBFormatType" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Identifies the specific biometric data format specified by the CBEFF biometric organization recorded in the BDB Format Owner field.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="BiometricDataListType">

        <xsd:annotation>

          <xsd:documentation>A list of biometric data elements.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BiometricDataElement" type="tns:BiometricDataElementType" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>Data structure containing information about a biometric record.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="BIR-info">

        <xsd:annotation>

          <xsd:documentation>

            For a description or definition of each data element, see the

            referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="creator" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="index" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="payload" type="xsd:anyType" minOccurs="0" maxOccurs="1" />

          <xsd:element name="integrity-options" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="creation-date" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="validity-period" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="patron-format-owner" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="patron-format-type" type="xsd:string" minOccurs="0" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="CandidateListType">

        <xsd:annotation>

          <xsd:documentation>

            Defines a set of candidates, utilizing the Candidate Type to

            represent each element in the set.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Candidate" type="tns:CandidateType" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>A single candidate.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="CandidateType">

        <xsd:annotation>

          <xsd:documentation>

            Defines a single candidate as a possible match in response to a

            biometric identification request.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Score" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The match score.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiographicData" type="tns:BiographicDataType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Biographic data associated with the candidate match.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BIRList" type="tns:CBEFF_BIR_ListType" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Biometric data associated with the candidate match.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

        <xsd:attribute name="rank" type="xsd:integer" use="required">

          <xsd:annotation>

            <xsd:documentation>The rank of the candidate in relation to other candidates for the same biometric identification operation.</xsd:documentation>

          </xsd:annotation>

        </xsd:attribute>

      </xsd:complexType>

      <xsd:complexType name="CapabilityListType">

        <xsd:annotation>

          <xsd:documentation>Defines a set of capabilities.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Capability" type="tns:CapabilityType" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>A single capability.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="CapabilityName">

        <xsd:annotation>

          <xsd:documentation>A list of capability items.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string">

          <xsd:enumeration value="AggregateInputDataOptional">

            <xsd:annotation>

              <xsd:documentation>A data element accepted as optional input by the implementing system for the aggregate services.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="AggregateInputDataRequired">

            <xsd:annotation>

              <xsd:documentation>A data element required as input by the implementing system for the aggregate services.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="AggregateProcessingOption">

            <xsd:annotation>

              <xsd:documentation>A processing option supported by the implementing system for the aggregate services.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="AggregateReturnData">

            <xsd:annotation>

              <xsd:documentation>A data element returned by the implementing system for the aggregate services.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="AggregateServiceDescription">

            <xsd:annotation>

              <xsd:documentation>Describes the processing logic of an aggregate service supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="BiographicDataSet">

            <xsd:annotation>

              <xsd:documentation>Identifies a biographic data set supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="CBEFFPatronFormat">

            <xsd:annotation>

              <xsd:documentation>A patron format supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="ClassificationAlgorithmType">

            <xsd:annotation>

              <xsd:documentation>A classification algorithm type supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="ConformanceClass">

            <xsd:annotation>

              <xsd:documentation>Identifies the conformance class of the BIAS implementation.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="Gallery">

            <xsd:annotation>

              <xsd:documentation>A gallery or population group supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="IdentityModel">

            <xsd:annotation>

              <xsd:documentation>Identifies whether the implementing system is person-centric or encounter-centric based.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="QualityAlgorithm">

            <xsd:annotation>

              <xsd:documentation>A quality algorithm vendor and algorithm vendor product ID supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="SupportedBiometric">

            <xsd:annotation>

              <xsd:documentation>A biometric type supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

          <xsd:enumeration value="TransformOperation">

            <xsd:annotation>

              <xsd:documentation>A transform operation type supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:complexType name="CapabilityType">

        <xsd:annotation>

          <xsd:documentation>Defines a single capability supported by an implementing system.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="CapabilityName" type="tns:CapabilityName" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The name of the capability.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="CapabilityID" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>An identifier assigned to the capability by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="CapabilityDescription" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A description of the capability.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="CapabilityValue" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A value assigned to the capability.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="CapabilitySupportingValue" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A secondary value supporting the capability.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="CBEFF_BIR_ListType">

        <xsd:annotation>

          <xsd:documentation>A list of CBEFF-BIR elements.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BIR" type="tns:CBEFF_BIR_Type" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>CBEFF structure containing information about a biometric sample.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="CBEFF_BIR_Type">

        <xsd:annotation>

          <xsd:documentation>Represents biometric information, with either a non-XML or XML representation.</xsd:documentation>

        </xsd:annotation>

        <xsd:choice minOccurs="1" maxOccurs="1">

          <xsd:any namespace="##any" />

          <xsd:element name="XML_BIR" type="tns:CBEFF_XML_BIR_Type" />

        </xsd:choice>

      </xsd:complexType>

      <xsd:complexType name="CBEFF_XML_BIR_Type">

        <xsd:annotation>

          <xsd:documentation>

            An XML representation for biometric information. This schema

            represents CBEFF data elements from both the US

            (INCITS 398-2005 Revision 1) and International

            (ISO/IEC 19785-1:2006) versions of the CBEFF standard. The data

            elements in the two standards are fairly similar. However, a data

            element may have a different meaning and/or a different set of

            valid values based on which standard is used. The cbeff-version

            data element specifies whether the US or International version is

            being used. An additional data element, other, has been added to

            this schema to capture non-standard information and to allow for

            flexibility to any future changes in the existing CBEFF standards.

            For a description or definition of each data element, see the

            referenced CBEFF standards.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="patron-format-identifier" type="xsd:string" minOccurs="0" maxOccurs="1" />

          <xsd:element name="version" type="tns:Version" minOccurs="0" maxOccurs="1" />

          <xsd:element name="cbeff-version" type="tns:Version" minOccurs="0" maxOccurs="1" />

          <xsd:element name="bir-info" type="tns:BIR-info" minOccurs="0" maxOccurs="1" />

          <xsd:element name="bdb-info" type="tns:BDB-info" minOccurs="0" maxOccurs="1" />

          <xsd:element name="sb-info" type="tns:SB-info" minOccurs="0" maxOccurs="1" />

          <xsd:element name="other" minOccurs="0" maxOccurs="unbounded">

            <xsd:complexType>

              <xsd:sequence>

                <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

              </xsd:sequence>

            </xsd:complexType>

          </xsd:element>

          <xsd:element name="BIR" type="xsd:base64Binary" minOccurs="1" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="Classification">

        <xsd:annotation>

          <xsd:documentation>The result of a classification.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:simpleType name="ClassificationAlgorithmType">

        <xsd:annotation>

          <xsd:documentation>Type of classification algorithm that was used to perform the classification.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:complexType name="ClassificationData">

        <xsd:annotation>

          <xsd:documentation>Contains information on classification results and the algorithm used to determine the classification.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Classification" type="tns:Classification" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The result of the classification.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="ClassificationAlgorithmType" type="tns:ClassificationAlgorithmType" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Identifies the type of classification algorithm that was used to perform the classification.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="EncounterListType">

        <xsd:annotation>

          <xsd:documentation>Defines a set of encounters.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="EncounterID" type="tns:BIASIDType" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>The identifier of an encounter.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="FusionInformationListType">

        <xsd:annotation>

          <xsd:documentation>

            Contains at a minimum two sets of fusion input

            elements, as input to the PerformFusion request.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="FusionElement" type="tns:FusionInformationType" minOccurs="2" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>A set of fusion information.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="FusionInformationType">

        <xsd:annotation>

          <xsd:documentation>Represents the information necessary to perform a fusion operation.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BiometricType" type="xsd:hexBinary" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The type of biological or behavioral data stored in the biometric record, as defined by CBEFF.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="BiometricSubType" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>More specifically defines the type of biometric data stored in the biometric record.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="AlgorithmOwner" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The owner or vendor of the algorithm used to determine the score or decision.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="AlgorithmType" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The Algorithm Owner's identifier for the specific algorithm product and version used to determine the score or decision.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:choice minOccurs="1" maxOccurs="1">

            <xsd:element name="Score" type="xsd:unsignedLong">

              <xsd:annotation>

                <xsd:documentation>The similarity score assigned by the matching algorithm.</xsd:documentation>

              </xsd:annotation>

            </xsd:element>

            <xsd:element name="Decision" type="xsd:string">

              <xsd:annotation>

                <xsd:documentation>The match decision assigned by the matching algorithm.</xsd:documentation>

              </xsd:annotation>

            </xsd:element>

          </xsd:choice>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="GenericRequestParameters">

        <xsd:annotation>

          <xsd:documentation>Common request paramters that can be used to identify the requester.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Application" type="tns:ApplicationIdentifier" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Identifies the requesting application.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="ApplicationUser" type="tns:ApplicationUserIdentifier" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Identifers the user or instance of the requesting application.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name=”BIASOperationName” type=”xsd:string” minOccurs=”0” maxOccurs=”1”>

            <xsd:annotation>

              <xsd:documentation>Identifers the BIAS operation name that is being requested.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="IdentityModelType">

        <xsd:annotation>

          <xsd:documentation>Defines the requested or supported identity model.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string">

          <xsd:enumeration value="encounter" />

          <xsd:enumeration value="person" />

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:complexType name="InformationType">

        <xsd:annotation>

          <xsd:documentation>

            Allows for an unlimited number of data element types, and it does

            not specify nor require any particular data element.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="ListFilterType">

        <xsd:annotation>

          <xsd:documentation>

            Provides a method to filter the amount of information returned in

            a search of biometric data.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="BiometricTypeFilter" type="xsd:hexBinary" minOccurs="1" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>Limits the returned information to a specific type of biometric, as defined by CBEFF.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="IncludeBiometricSubtype" type="xsd:boolean" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A Boolean flag indicating if biometric subtype information should be returned.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="MatchType">

        <xsd:annotation>

          <xsd:documentation>The result of a fusion method.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:boolean" />

      </xsd:simpleType>

      <xsd:complexType name="ProcessingOptionsType">

        <xsd:annotation>

          <xsd:documentation>

            BIAS aggregate services support the ability to include various

            processing options which direct and possibly control the business

            logic for that service. The ProcessingOptionsType provides a

            method to represent those options. Processing options should be

            defined by the implementing system.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="Option" type="xsd:string" minOccurs="0" maxOccurs="unbounded">

            <xsd:annotation>

              <xsd:documentation>An option supported by the implementing system.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="ProductID">

        <xsd:annotation>

          <xsd:documentation>The vendor's ID for a particular product.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:complexType name="QualityData">

        <xsd:annotation>

          <xsd:documentation>Contains information about a biometric sample's quality and the algorithm used to compute the quality.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="QualityScore" type="tns:Score" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The quality of a biometric sample.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="AlgorithmVendor" type="tns:VendorIdentifier" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The vendor of the qualilty algorithm used to determine the quality score.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="AlgorithmVendorProductID" type="tns:ProductID" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The vendor's ID for the algorithm used to determine the quality.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="AlgorithmVersion" type="tns:VersionType" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The version of the algorithm used to determine the quality.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="RequestTemplate" abstract="true">

        <xsd:annotation>

          <xsd:documentation>Base template for BIAS primitive service requests.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="GenericRequestParameters" type="tns:GenericRequestParameters" minOccurs="0" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="ResponseStatus">

        <xsd:sequence>

          <xsd:element name="Return" type="tns:ReturnCode" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>The return code indicates the return status of the operation.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="Message" type="xsd:string" minOccurs="0" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A short message corresponding to the return code.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:complexType name="ResponseTemplate" abstract="true">

        <xsd:annotation>

          <xsd:documentation>Base template for BIAS responses.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="ResponseStatus" type="tns:ResponseStatus" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>Returned status for the operation.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="ReturnCode">

        <xsd:annotation>

          <xsd:documentation>BIAS Operation Return Codes</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:unsignedLong">

          <xsd:enumeration value="0">

            <xsd:annotation>

              <xsd:documentation>Success</xsd:documentation>

            </xsd:annotation>

          </xsd:enumeration>

        </xsd:restriction>

      </xsd:simpleType>

      <xsd:complexType name="SB-info">

        <xsd:annotation>

          <xsd:documentation>

            For a description or definition of each data element, see the

            referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="format-owner" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="format-type" type="xsd:integer" minOccurs="1" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="Score">

        <xsd:annotation>

          <xsd:documentation>Match result or quality score.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:integer" />

      </xsd:simpleType>

      <xsd:complexType name="TokenType">

        <xsd:annotation>

          <xsd:documentation>Defines a token that is returned for asynchronous processing.</xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="TokenValue" type="xsd:string" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A value returned by the implementing system that is used to retrieve the results to a service at a later time.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

          <xsd:element name="Expiration" type="xsd:date" minOccurs="1" maxOccurs="1">

            <xsd:annotation>

              <xsd:documentation>A date and time at which point the token expires and the service results are no longer guaranteed to be available.</xsd:documentation>

            </xsd:annotation>

          </xsd:element>

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="VendorIdentifier">

        <xsd:annotation>

          <xsd:documentation>Identifies a vendor.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:complexType name="Version">

        <xsd:annotation>

          <xsd:documentation>

            For a description or definition of each data element, see the

            referenced CBEFF standards in the CBEFF_XML_BIR_Type schema.

          </xsd:documentation>

        </xsd:annotation>

        <xsd:sequence>

          <xsd:element name="major" type="xsd:integer" minOccurs="1" maxOccurs="1" />

          <xsd:element name="minor" type="xsd:integer" minOccurs="1" maxOccurs="1" />

        </xsd:sequence>

      </xsd:complexType>

      <xsd:simpleType name="VersionType">

        <xsd:annotation>

          <xsd:documentation>The version of a component.</xsd:documentation>

        </xsd:annotation>

        <xsd:restriction base="xsd:string" />

      </xsd:simpleType>

      <xsd:element name="AddSubjectToGalleryRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Register a subject to a given gallery or population group.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="GalleryID" type="tns:BIASIDType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identifier of the gallery or population group to which the subject will be added.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identity to add to the gallery.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="AddSubjectToGalleryResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to an AddSubjectToGallery request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="CheckQualityRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Calculate a quality score for a given biometric.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="BiometricData" type="tns:BIASBiometricDataType"  minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Data structure containing a single biometric sample for which a quality score is to be determined.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Quality" type="tns:QualityData" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Specifies a particular algorithm vendor and vender product ID.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="CheckQualityResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a CheckQuality request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="QualityInfo" type="tns:QualityData" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Contains the quality information for the submitted biometric sample.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ClassifyBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Classifies a biometric sample.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="BiometricData" type="tns:BIASBiometricDataType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Data structure containing a single biometric sample for which the classification is to be determined.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ClassifyBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a ClassifyBiometricData request, containing

              the classification of a biometric sample.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="ClassificationData" type="tns:ClassificationData" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Information on the results and type of classification performed.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="CreateSubjectRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Create a new subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Subject ID of the identity to create.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="CreateSubjectResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a CreateSubject request, containing the subject

              ID of the new subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Contains the subject ID of the new subject record.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteBiographicDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Erase all of the biographic data associated with a given

              subject record or, in the encounter-centric model, with a

              given encounter.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Contains either the subject ID or encounter ID reference.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteBiographicDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a DeleteBiographicData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Erase all of the biometric data associated with a given

              subject record or, in the encounter-centric model, with a

              given encounter.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Contains either the subject ID or encounter ID reference.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a DeleteBiometricData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteSubjectRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Delete an existing subject record and, in an encounter-centric

              model, any associated encounter information.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Subject ID of the identity to delete.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteSubjectResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a DeleteSubject request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteSubjectFromGalleryRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Remove the registration of a subject from a gallery or

              population group.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="GalleryID" type="tns:BIASIDType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identifier of the gallery or population group from which the subject will be deleted.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identity to remove from the gallery.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="DeleteSubjectFromGalleryResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a DeleteSubjectFromGallery request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetIdentifySubjectResultsRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Retrieve the identification results for a specified token,

              which was returned by the Identify Subject service.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Token" type="tns:TokenType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A value used to retrieve the results of an IdentifySubject request.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetIdentifySubjectResultsResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a GetIdentifySubjectResults request, which includes a candidate list.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="CandidateList" type="tns:CandidateListType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A rank-ordered list of candidates that have a likelihood of matching the input biometric sample.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="IdentifySubjectRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Perform an identification search against a given gallery for

              a given biometric.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="GalleryID" type="tns:BIASIDType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identifier of the gallery or population group which will be searched.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Contains the BIR, a data structure containing the biometric sample for the search.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="MaxListSize" type="xsd:integer" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The maximum size of the candidate list that should be returned.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="IdentifySubjectResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to an IdentifySubject request, returning a

              rank-ordered candidate list.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:choice minOccurs="1" maxOccurs="1">

                <xsd:element name="CandidateList" type="tns:CandidateListType">

                  <xsd:annotation>

                    <xsd:documentation>A rank-ordered list of candidates that have a likelihood of matching the input biometric sample; returned with successful synchronous request processing.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Token" type="tns:TokenType">

                  <xsd:annotation>

                    <xsd:documentation>A token used to retrieve the results of the IdentifySubject request; returned with asynchronous request processing.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:choice>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ListBiographicDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Lists the biographic data elements stored for a subject.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ListBiographicDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a ListBiographicData request, containing a list

              of biographic data elements stored for a subject.  In the

              encounter-centric model, the biographic data elements for a

              specific encounter are returned.  If an encounter ID is not

              specified and encounter data exists for the subject, the list

              of encounter IDs which contain biographic data is returned.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>

                      Contains a list of biographic data elements associated with a

                      subject or encounter; non-empty if the service was

                      successful, biographic data exists, and either (a) the

                      person-centric model is being used or (b) the

                      encounter-centric model is being used and an encounter

                      identifier was specified.

                    </xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="EncounterList" type="tns:EncounterListType" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>

                      A list of encounter ID's associated with a subject and

                      which contain biographic data; non-empty if the service

                      was successful, biographic data exists, the

                      encounter-centric model is being used, and an encounter

                      identifier was not specified.

                    </xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ListBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Lists the biometric data elements stored for a subject. Note

              that no actual biometric data is returned by this service (see

              the RetrieveBiometricInformation service to obtain the biometric

              data).

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="ListFilter" type="tns:ListFilterType" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates what biometric information should be returned.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="ListBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a ListBiometricData request, containing a list

              of biometric data elements stored for a subject.  In the

              encounter-centric model, the biometric data elements for a

              specific encounter are returned.  If an encounter ID is not

              specified and encounter data exists for the subject, the list

              of encounter IDs which contain biometric data is returned.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity">

                  <xsd:annotation>

                    <xsd:documentation>

                      Includes a list of biometric data elements associated

                      with a subject or encounter or a list of encounter ID's

                      associated with a subject and which contain biometric

                      data.

                    </xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="PerformFusionRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Accepts either match score or match decision information and creates a fused match result.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="FusionInput" type="tns:FusionInformationListType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Score or decision input information to the fusion method.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="PerformFusionResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to the PerformFusion request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Match" type="tns:MatchType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates the result of the fusion method</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="QueryCapabilitiesRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Returns a list of the capabilities, options, galleries, etc.

              that are supported by the BIAS implementation.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="QueryCapabilitiesResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a QueryCapabilities request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="CapabilityList" type="tns:CapabilityListType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A list of capabilities supported by the BIAS implementation.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveBiographicInformationRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Retrieves the biographic data associated with a subject ID.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveBiographicInformationResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a RetrieveBiographicInformation request,

              containing the biographic data associated with a subject ID. In

              the encounter-centric model, the biographic data associated with

              a specified encounter is returned. If the encounter ID is not

              specified in the encounter-centric model, the biographic

              information associated with the most recent encounter is returned.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Includes the set of biographic data associated with a subject.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveBiometricInformationRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Retrieves the biometric data associated with a subject ID.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="BiometricType" type="xsd:string" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The type of biological or behavioral data to retrieve.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveBiometricInformationResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a RetrieveBiometricInformation request,

              containing the biometric data associated with a subject ID. In

              the encounter-centric model, the biometric data associated with

              a specified encounter is returned. If the encounter ID is not

              specified in the encounter-centric model, the biometric

              information associated with the most recent encounter is returned.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Includes the biometric data associated with a subject.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="SetBiographicDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Associates biographic data to a given subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biographic data to store.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="IdentityModel" type="tns:IdentityModelType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates a person-centric or encounter-centric model.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="SetBiographicDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a SetBiographicData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>In an encounter-centric model, identifies the encounter ID assigned to a new encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="SetBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Associates biometric data to a given subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biometric data to store.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="IdentityModel" type="tns:IdentityModelType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates a person-centric or encounter-centric model.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="SetBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a SetBiometricData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>In an encounter-centric model, identifies the encounter ID assigned to a new encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="TransformBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Transforms or processes a given biometric in one format into a new target format.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="InputBIR" type="tns:CBEFF_BIR_Type" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Data structure containing the biometric information to be transformed.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="TransformOperation" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Value indicating the type of transformation to perform.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="TransformBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a TransformBiometricData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="OutputBIR" type="tns:CBEFF_BIR_Type" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Data structure containing the new, transformed biometric information.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="UpdateBiographicDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Updates the biographic data for a given subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biographic data to update.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="UpdateBiographicDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to an UpdateBiographicData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="UpdateBiometricDataRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Updates a single biometric sample for a given subject record.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Identifies the subject or, in the encounter-centric model, a subject and an encounter, and includes the biometric data to update.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Merge" type="xsd:boolean" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Value indicating if the input biometric sample should be merged with any existing biometric information.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="UpdateBiometricDataResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to an UpdateBiometricData request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="VerifySubjectRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              Performs a 1:1 verification match between a given biometric and

              either a claim to identity in a given gallery or another given

              biometric.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="GalleryID" type="tns:BIASIDType" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identifier of the gallery or population group of which the subject must be a member.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Includes the identifying information and/or input and reference biometric samples.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="VerifySubjectResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The response to a VerifySubject request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:ResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Match" type="xsd:boolean" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Score" type="tns:Score" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The score if the biometric information matched.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="EnrollRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The Enroll aggregate service adds a new subject or, in an

              encounter-centric model, a new encounter to the system. This may

              be accomplished in a number of different ways according to

              system requirements and/or resources. If the Enroll aggregate

              service is implemented as a synchronous service, the

              implementing system immediately processes the request and

              returns the results in the ReturnData parameter. If the Enroll

              aggregate service is implemented as an asynchronous service, the

              implementing system returns a token in the ReturnData

              parameter, which is an indication that the request is being

              handled asynchronously. In this case, the GetEnrollResults

              service is used to poll for the results of the Enroll request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateRequestTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="EnrollResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to an Enroll request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetEnrollResultsRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The GetEnrollResults aggregate service retrieves the enrollment

              results for the specified token. This service is used in

              conjunction with the Enroll aggregate service. If the Enroll

              aggregate service is implemented as an asynchronous service, the

              implementing system returns a token, and the GetEnrollResults

              service is used to poll for the results of the original Enroll

              request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Token" type="tns:TokenType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A value used to retrieve the results of the Enroll request.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetEnrollResultsResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to a GetEnrollResults request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetIdentifyResultsRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The GetIdentifyResults aggregate service retrieves the

              identification results for the specified token. This service is

              used in conjunction with the Identify aggregate service. If the

              Identify aggregate service is implemented as an asynchronous

              service, the implementing system returns a token, and the

              GetIdentifyResults service is used to poll for the results of

              the original Identify request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Token" type="tns:TokenType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A value used to retrieve the results of the Identify request.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetIdentifyResultsResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to a GetIdentifyResults request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetVerifyResultsRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The GetVerifyResults aggregate service retrieves the verification

              results for the specified token. This service is used in

              conjunction with the Verify aggregate service. If the Verify

              aggregate service is implemented as an asynchronous service, the

              implementing system returns a token, and the GetVerifyResults

              service is used to poll for the results of the original Verify

              request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="Token" type="tns:TokenType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>A value used to retrieve the results of the Verify request.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="GetVerifyResultsResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to a GetVerifyResults request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Match" type="xsd:boolean" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Score" type="Score" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The score if the biometric information matched.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="IdentifyRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The Identify aggregate service performs an identification

              function according to system requirements and/or resources. If

              the Identify aggregate service is implemented as a synchronous

              service, the implementing system immediately processes the

              request and returns the results in the ReturnData parameter. If

              the Identify aggregate service is implemented as an asynchronous

              service, the implementing system returns a token in the

              ReturnData parameter, which is an indication that the request is

              being handled asynchronously. In this case, the

              GetIdentifyResults service is used to poll for the results of

              the Identify request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateRequestTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="IdentifyResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to an Identify request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveInformationRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The RetrieveInformation aggregate service retrieves requested

              information about a subject, or in an encounter-centric model

              about an encounter. In a person-centric model, this aggregate

              service may be used to retrieve both biographic and biometric

              information for a subject record. In an encounter-centric model,

              this aggregate service may be used to retrieve biographic and/or

              biometric information for either a single encounter or all

              encounters. Either a SubjectID or EncounterID must be specified

              in the Identify parameter.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:RequestTemplate">

              <xsd:sequence>

                <xsd:element name="ProcessingOptions" type="tns:ProcessingOptionsType" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Options that guide how the service request is processed, and may identify what type(s) of information should be returned.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Includes the identifier of the subject or encounter.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="RetrieveInformationResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to a RetrieveInformation request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate" />

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="VerifyRequest">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>

              The Verify aggregate service performs a 1:1 verification

              function according to system requirements and/or resources.

              Either the IdentityClaim or ReferenceBIR input data elements in

              the Identity parameter are required. If the Verify aggregate

              service is implemented as a synchronous service, the

              implementing system immediately processes the request and returns

              the results in the ReturnData parameter. If the Verify aggregate

              service is implemented as an asynchronous service, the

              implementing system returns a token in the ReturnData parameter,

              which is an indication that the request is being handled

              asynchronously. In this case, the GetVerifyResults service is

              used to poll for the results of the Verify request.

            </xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateRequestTemplate">

              <xsd:sequence>

                <xsd:element name="Identity" type="tns:BIASIdentity" minOccurs="1" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Includes either the IdentityClaim or ReferenceBIR.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="GalleryID" type="tns:BIASIDType" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The identifier of the gallery or population group of which the subject must be a member.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name="VerifyResponse">

        <xsd:complexType>

          <xsd:annotation>

            <xsd:documentation>The response to a Verify request.</xsd:documentation>

          </xsd:annotation>

          <xsd:complexContent>

            <xsd:extension base="tns:AggregateResponseTemplate">

              <xsd:sequence>

                <xsd:element name="Match" type="xsd:boolean" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>Indicates if the Input BIR matched either the biometric information associated with the Identity Claim or the Reference BIR.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

                <xsd:element name="Score" type="Score" minOccurs="0" maxOccurs="1">

                  <xsd:annotation>

                    <xsd:documentation>The score if the biometric information matched.</xsd:documentation>

                  </xsd:annotation>

                </xsd:element>

              </xsd:sequence>

            </xsd:extension>

          </xsd:complexContent>

        </xsd:complexType>

      </xsd:element>

      <xsd:element name=”BIASFault” type=”tns:BIASFaultDetail” />

    </xsd:schema>

  </wsdl:types>

  <wsdl:message name="AddSubjectToGalleryRequestMessage">

    <wsdl:part name="AddSubjectToGalleryRequest" element="AddSubjectToGalleryRequest" />

  </wsdl:message>

  <wsdl:message name="AddSubjectToGalleryResponseMessage">

    <wsdl:part name="AddSubjectToGalleryResponse" element="AddSubjectToGalleryResponse" />

  </wsdl:message>

  <wsdl:message name="CheckQualityRequestMessage">

    <wsdl:part name="CheckQualityRequest" element="CheckQualityRequest" />

  </wsdl:message>

  <wsdl:message name="CheckQualityResponseMessage">

    <wsdl:part name="CheckQualityResponse" element="CheckQualityResponse" />

  </wsdl:message>

  <wsdl:message name="ClassifyBiometricDataRequestMessage">

    <wsdl:part name="ClassifyBiometricDataRequest" element="ClassifyBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="ClassifyBiometricDataResponseMessage">

    <wsdl:part name="ClassifyBiometricDataResponse" element="ClassifyBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="CreateSubjectRequestMessage">

    <wsdl:part name="CreateSubjectRequest" element="CreateSubjectRequest" />

  </wsdl:message>

  <wsdl:message name="CreateSubjectResponseMessage">

    <wsdl:part name="CreateSubjectResponse" element="CreateSubjectResponse" />

  </wsdl:message>

  <wsdl:message name="DeleteBiographicDataRequestMessage">

    <wsdl:part name="DeleteBiographicDataRequest" element="DeleteBiographicDataRequest" />

  </wsdl:message>

  <wsdl:message name="DeleteBiographicDataResponseMessage">

    <wsdl:part name="DeleteBiographicDataResponse" element="DeleteBiographicDataResponse" />

  </wsdl:message>

  <wsdl:message name="DeleteBiometricDataRequestMessage">

    <wsdl:part name="DeleteBiometricDataRequest" element="DeleteBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="DeleteBiometricDataResponseMessage">

    <wsdl:part name="DeleteBiometricDataResponse" element="DeleteBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="DeleteSubjectRequestMessage">

    <wsdl:part name="DeleteSubjectRequest" element="DeleteSubjectRequest" />

  </wsdl:message>

  <wsdl:message name="DeleteSubjectResponseMessage">

    <wsdl:part name="DeleteSubjectResponse" element="DeleteSubjectResponse" />

  </wsdl:message>

  <wsdl:message name="DeleteSubjectFromGalleryRequestMessage">

    <wsdl:part name="DeleteSubjectFromGalleryRequest" element="DeleteSubjectFromGalleryRequest" />

  </wsdl:message>

  <wsdl:message name="DeleteSubjectFromGalleryResponseMessage">

    <wsdl:part name="DeleteSubjectFromGalleryResponse" element="DeleteSubjectFromGalleryResponse" />

  </wsdl:message>

  <wsdl:message name="GetIdentifySubjectResultsRequestMessage">

    <wsdl:part name="GetIdentifySubjectResultsRequest" element="GetIdentifySubjectResultsRequest" />

  </wsdl:message>

  <wsdl:message name="GetIdentifySubjectResultsResponseMessage">

    <wsdl:part name="GetIdentifySubjectResultsResponse" element="GetIdentifySubjectResultsResponse" />

  </wsdl:message>

  <wsdl:message name="IdentifySubjectRequestMessage">

    <wsdl:part name="IdentifySubjectRequest" element="IdentifySubjectRequest" />

  </wsdl:message>

  <wsdl:message name="IdentifySubjectResponseMessage">

    <wsdl:part name="IdentifySubjectResponse" element="IdentifySubjectResponse" />

  </wsdl:message>

  <wsdl:message name="ListBiographicDataRequestMessage">

    <wsdl:part name="ListBiographicDataRequest" element="ListBiographicDataRequest" />

  </wsdl:message>

  <wsdl:message name="ListBiographicDataResponseMessage">

    <wsdl:part name="ListBiographicDataResponse" element="ListBiographicDataResponse" />

  </wsdl:message>

  <wsdl:message name="ListBiometricDataRequestMessage">

    <wsdl:part name="ListBiometricDataRequest" element="ListBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="ListBiometricDataResponseMessage">

    <wsdl:part name="ListBiometricDataResponse" element="ListBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="PerformFusionRequestMessage">

    <wsdl:part name="PerformFusionRequest" element="PerformFusionRequest" />

  </wsdl:message>

  <wsdl:message name="PerformFusionResponseMessage">

    <wsdl:part name="PerformFusionResponse" element="PerformFusionResponse" />

  </wsdl:message>

  <wsdl:message name="QueryCapabilitiesRequestMessage">

    <wsdl:part name="QueryCapabilitiesRequest" element="QueryCapabilitiesRequest" />

  </wsdl:message>

  <wsdl:message name="QueryCapabilitiesResponseMessage">

    <wsdl:part name="QueryCapabilitiesResponse" element="QueryCapabilitiesResponse" />

  </wsdl:message>

  <wsdl:message name="RetrieveBiographicInformationRequestMessage">

    <wsdl:part name="RetrieveBiographicInformationRequest" element="RetrieveBiographicInformationRequest" />

  </wsdl:message>

  <wsdl:message name="RetrieveBiographicInformationResponseMessage">

    <wsdl:part name="RetrieveBiographicInformationResponse" element="RetrieveBiographicInformationResponse" />

  </wsdl:message>

  <wsdl:message name="RetrieveBiometricInformationRequestMessage">

    <wsdl:part name="RetrieveBiometricInformationRequest" element="RetrieveBiometricInformationRequest" />

  </wsdl:message>

  <wsdl:message name="RetrieveBiometricInformationResponseMessage">

    <wsdl:part name="RetrieveBiometricInformationResponse" element="RetrieveBiometricInformationResponse" />

  </wsdl:message>

  <wsdl:message name="SetBiographicDataRequestMessage">

    <wsdl:part name="SetBiographicDataRequest" element="SetBiographicDataRequest" />

  </wsdl:message>

  <wsdl:message name="SetBiographicDataResponseMessage">

    <wsdl:part name="SetBiographicDataResponse" element="SetBiographicDataResponse" />

  </wsdl:message>

  <wsdl:message name="SetBiometricDataRequestMessage">

    <wsdl:part name="SetBiometricDataRequest" element="SetBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="SetBiometricDataResponseMessage">

    <wsdl:part name="SetBiometricDataResponse" element="SetBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="TransformBiometricDataRequestMessage">

    <wsdl:part name="TransformBiometricDataRequest" element="TransformBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="TransformBiometricDataResponseMessage">

    <wsdl:part name="TransformBiometricDataResponse" element="TransformBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="UpdateBiographicDataRequestMessage">

    <wsdl:part name="UpdateBiographicDataRequest" element="UpdateBiographicDataRequest" />

  </wsdl:message>

  <wsdl:message name="UpdateBiographicDataResponseMessage">

    <wsdl:part name="UpdateBiographicDataResponse" element="UpdateBiographicDataResponse" />

  </wsdl:message>

  <wsdl:message name="UpdateBiometricDataRequestMessage">

    <wsdl:part name="UpdateBiometricDataRequest" element="UpdateBiometricDataRequest" />

  </wsdl:message>

  <wsdl:message name="UpdateBiometricDataResponseMessage">

    <wsdl:part name="UpdateBiometricDataResponse" element="UpdateBiometricDataResponse" />

  </wsdl:message>

  <wsdl:message name="VerifySubjectRequestMessage">

    <wsdl:part name="VerifySubjectRequest" element="VerifySubjectRequest" />

  </wsdl:message>

  <wsdl:message name="VerifySubjectResponseMessage">

    <wsdl:part name="VerifySubjectResponse" element="VerifySubjectResponse" />

  </wsdl:message>

  <wsdl:message name="EnrollRequestMessage">

    <wsdl:part name="EnrollRequest" element="EnrollRequest" />

  </wsdl:message>

  <wsdl:message name="EnrollResponseMessage">

    <wsdl:part name="EnrollResponse" element="EnrollResponse" />

  </wsdl:message>

  <wsdl:message name="GetEnrollResultsRequestMessage">

    <wsdl:part name="GetEnrollResultsRequest" element="GetEnrollResultsRequest" />

  </wsdl:message>

  <wsdl:message name="GetEnrollResultsResponseMessage">

    <wsdl:part name="GetEnrollResultsResponse" element="GetEnrollResultsResponse" />

  </wsdl:message>

  <wsdl:message name="GetIdentifyResultsRequestMessage">

    <wsdl:part name="GetIdentifyResultsRequest" element="GetIdentifyResultsRequest" />

  </wsdl:message>

  <wsdl:message name="GetIdentifyResultsResponseMessage">

    <wsdl:part name="GetIdentifyResultsResponse" element="GetIdentifyResultsResponse" />

  </wsdl:message>

  <wsdl:message name="GetVerifyResultsRequestMessage">

    <wsdl:part name="GetVerifyResultsRequest" element="GetVerifyResultsRequest" />

  </wsdl:message>

  <wsdl:message name="GetVerifyResultsResponseMessage">

    <wsdl:part name="GetVerifyResultsResponse" element="GetVerifyResultsResponse" />

  </wsdl:message>

  <wsdl:message name="IdentifyRequestMessage">

    <wsdl:part name="IdentifyRequest" element="IdentifyRequest" />

  </wsdl:message>

  <wsdl:message name="IdentifyResponseMessage">

    <wsdl:part name="IdentifyResponse" element="IdentifyResponse" />

  </wsdl:message>

  <wsdl:message name="RetrieveInformationRequestMessage">

    <wsdl:part name="RetrieveInformationRequest" element="RetrieveInformationRequest" />

  </wsdl:message>

  <wsdl:message name="RetrieveInformationResponseMessage">

    <wsdl:part name="RetrieveInformationResponse" element="RetrieveInformationResponse" />

  </wsdl:message>

  <wsdl:message name="VerifyRequestMessage">

    <wsdl:part name="VerifyRequest" element="VerifyRequest" />

  </wsdl:message>

  <wsdl:message name="VerifyResponseMessage">

    <wsdl:part name="VerifyResponse" element="VerifyResponse" />

  </wsdl:message>

  <wsdl:portType name="BIAS_v1">

    <wsdl:operation name="AddSubjectToGallery">

      <wsdl:input message="tns:AddSubjectToGalleryRequestMessage" name="AddSubjectToGalleryRequest" />

      <wsdl:output message="tns:AddSubjectToGalleryResponseMessage" name="AddSubjectToGalleryResponse" />

    </wsdl:operation>

    <wsdl:operation name="CheckQuality">

      <wsdl:input message="tns:CheckQualityRequestMessage" name="CheckQualityRequest" />

      <wsdl:output message="tns:CheckQualityResponseMessage" name="CheckQualityResponse" />

    </wsdl:operation>

    <wsdl:operation name="ClassifyBiometricData">

      <wsdl:input message="tns:ClassifyBiometricDataRequestMessage" name="ClassifyBiometricDataRequest" />

      <wsdl:output message="tns:ClassifyBiometricDataResponseMessage" name="ClassifyBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="CreateSubject">

      <wsdl:input message="tns:CreateSubjectRequestMessage" name="CreateSubjectRequest" />

      <wsdl:output message="tns:CreateSubjectResponseMessage" name="CreateSubjectResponse" />

    </wsdl:operation>

    <wsdl:operation name="DeleteBiographicData">

      <wsdl:input message="tns:DeleteBiographicDataRequestMessage" name="DeleteBiographicDataRequest" />

      <wsdl:output message="tns:DeleteBiographicDataResponseMessage" name="DeleteBiographicDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="DeleteBiometricData">

      <wsdl:input message="tns:DeleteBiometricDataRequestMessage" name="DeleteBiometricDataRequest" />

      <wsdl:output message="tns:DeleteBiometricDataResponseMessage" name="DeleteBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="DeleteSubject">

      <wsdl:input message="tns:DeleteSubjectRequestMessage" name="DeleteSubjectRequest" />

      <wsdl:output message="tns:DeleteSubjectResponseMessage" name="DeleteSubjectResponse" />

    </wsdl:operation>

    <wsdl:operation name="DeleteSubjectFromGallery">

      <wsdl:input message="tns:DeleteSubjectFromGalleryRequestMessage" name="DeleteSubjectFromGalleryRequest" />

      <wsdl:output message="tns:DeleteSubjectFromGalleryResponseMessage" name="DeleteSubjectFromGalleryResponse" />

    </wsdl:operation>

    <wsdl:operation name="GetIdentifySubjectResults">

      <wsdl:input message="tns:GetIdentifySubjectResultsRequestMessage" name="GetIdentifySubjectResultsRequest" />

      <wsdl:output message="tns:GetIdentifySubjectResultsResponseMessage" name="GetIdentifySubjectResultsResponse" />

    </wsdl:operation>

    <wsdl:operation name="IdentifySubject">

      <wsdl:input message="tns:IdentifySubjectRequestMessage" name="IdentifySubjectRequest" />

      <wsdl:output message="tns:IdentifySubjectResponseMessage" name="IdentifySubjectResponse" />

    </wsdl:operation>

    <wsdl:operation name="ListBiographicData">

      <wsdl:input message="tns:ListBiographicDataRequestMessage" name="ListBiographicDataRequest" />

      <wsdl:output message="tns:ListBiographicDataResponseMessage" name="ListBiographicDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="ListBiometricData">

      <wsdl:input message="tns:ListBiometricDataRequestMessage" name="ListBiometricDataRequest" />

      <wsdl:output message="tns:ListBiometricDataResponseMessage" name="ListBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="PerformFusion">

      <wsdl:input message="tns:PerformFusionRequestMessage" name="PerformFusionRequest" />

      <wsdl:output message="tns:PerformFusionResponseMessage" name="PerformFusionResponse" />

    </wsdl:operation>

    <wsdl:operation name="QueryCapabilities">

      <wsdl:input message="tns:QueryCapabilitiesRequestMessage" name="QueryCapabilitiesRequest" />

      <wsdl:output message="tns:QueryCapabilitiesResponseMessage" name="QueryCapabilitiesResponse" />

    </wsdl:operation>

    <wsdl:operation name="RetrieveBiographicInformation">

      <wsdl:input message="tns:RetrieveBiographicInformationRequestMessage" name="RetrieveBiographicInformationRequest" />

      <wsdl:output message="tns:RetrieveBiographicInformationResponseMessage" name="RetrieveBiographicInformationResponse" />

    </wsdl:operation>

    <wsdl:operation name="RetrieveBiometricInformation">

      <wsdl:input message="tns:RetrieveBiometricInformationRequestMessage" name="RetrieveBiometricInformationRequest" />

      <wsdl:output message="tns:RetrieveBiometricInformationResponseMessage" name="RetrieveBiometricInformationResponse" />

    </wsdl:operation>

    <wsdl:operation name="SetBiographicData">

      <wsdl:input message="tns:SetBiographicDataRequestMessage" name="SetBiographicDataRequest" />

      <wsdl:output message="tns:SetBiographicDataResponseMessage" name="SetBiographicDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="SetBiometricData">

      <wsdl:input message="tns:SetBiometricDataRequestMessage" name="SetBiometricDataRequest" />

      <wsdl:output message="tns:SetBiometricDataResponseMessage" name="SetBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="TransformBiometricData">

      <wsdl:input message="tns:TransformBiometricDataRequestMessage" name="TransformBiometricDataRequest" />

      <wsdl:output message="tns:TransformBiometricDataResponseMessage" name="TransformBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="UpdateBiographicData">

      <wsdl:input message="tns:UpdateBiographicDataRequestMessage" name="UpdateBiographicDataRequest" />

      <wsdl:output message="tns:UpdateBiographicDataResponseMessage" name="UpdateBiographicDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="UpdateBiometricData">

      <wsdl:input message="tns:UpdateBiometricDataRequestMessage" name="UpdateBiometricDataRequest" />

      <wsdl:output message="tns:UpdateBiometricDataResponseMessage" name="UpdateBiometricDataResponse" />

    </wsdl:operation>

    <wsdl:operation name="VerifySubject">

      <wsdl:input message="tns:VerifySubjectRequestMessage" name="VerifySubjectRequest" />

      <wsdl:output message="tns:VerifySubjectResponseMessage" name="VerifySubjectResponse" />

    </wsdl:operation>

    <wsdl:operation name="Enroll">

      <wsdl:input message="tns:EnrollRequestMessage" name="EnrollRequest" />

      <wsdl:output message="tns:EnrollResponseMessage" name="EnrollResponse" />

    </wsdl:operation>

    <wsdl:operation name="GetEnrollResults">

      <wsdl:input message="tns:GetEnrollResultsRequestMessage" name="GetEnrollResultsRequest" />

      <wsdl:output message="tns:GetEnrollResultsResponseMessage" name="GetEnrollResultsResponse" />

    </wsdl:operation>

    <wsdl:operation name="GetIdentifyResults">

      <wsdl:input message="tns:GetIdentifyResultsRequestMessage" name="GetIdentifyResultsRequest" />

      <wsdl:output message="tns:GetIdentifyResultsResponseMessage" name="GetIdentifyResultsResponse" />

    </wsdl:operation>

    <wsdl:operation name="GetVerifyResults">

      <wsdl:input message="tns:GetVerifyResultsRequestMessage" name="GetVerifyResultsRequest" />

      <wsdl:output message="tns:GetVerifyResultsResponseMessage" name="GetVerifyResultsResponse" />

    </wsdl:operation>

    <wsdl:operation name="Identify">

      <wsdl:input message="tns:IdentifyRequestMessage" name="IdentifyRequest" />

      <wsdl:output message="tns:IdentifyResponseMessage" name="IdentifyResponse" />

    </wsdl:operation>

    <wsdl:operation name="RetrieveInformation">

      <wsdl:input message="tns:RetrieveInformationRequestMessage" name="RetrieveInformationRequest" />

      <wsdl:output message="tns:RetrieveInformationResponseMessage" name="RetrieveInformationResponse" />

    </wsdl:operation>

    <wsdl:operation name="Verify">

      <wsdl:input message="tns:VerifyRequestMessage" name="VerifyRequest" />

      <wsdl:output message="tns:VerifyResponseMessage" name="VerifyResponse" />

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding type="tns:BIAS_v1" name="BIAS_v1HttpBinding">

    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

    <wsdl:operation name="AddSubjectToGallery">

      <soap:operation soapAction="AddSubjectToGallery" />

      <wsdl:input name="AddSubjectToGalleryRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="AddSubjectToGalleryResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="CheckQuality">

      <soap:operation soapAction="CheckQuality" />

      <wsdl:input name="CheckQualityRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="CheckQualityResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="ClassifyBiometricData">

      <soap:operation soapAction="ClassifyBiometricData" />

      <wsdl:input name="ClassifyBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="ClassifyBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="CreateSubject">

      <soap:operation soapAction="CreateSubject" />

      <wsdl:input name="CreateSubjectRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="CreateSubjectResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="DeleteBiographicData">

      <soap:operation soapAction="DeleteBiographicData" />

      <wsdl:input name="DeleteBiographicDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="DeleteBiographicDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="DeleteBiometricData">

      <soap:operation soapAction="DeleteBiometricData" />

      <wsdl:input name="DeleteBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="DeleteBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="DeleteSubject">

      <soap:operation soapAction="DeleteSubject" />

      <wsdl:input name="DeleteSubjectRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="DeleteSubjectResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="DeleteSubjectFromGallery">

      <soap:operation soapAction="DeleteSubjectFromGallery" />

      <wsdl:input name="DeleteSubjectFromGalleryRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="DeleteSubjectFromGalleryResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="GetIdentifySubjectResults">

      <soap:operation soapAction="GetIdentifySubjectResults" />

      <wsdl:input name="GetIdentifySubjectResultsRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="GetIdentifySubjectResultsResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="IdentifySubject">

      <soap:operation soapAction="IdentifySubject" />

      <wsdl:input name="IdentifySubjectRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="IdentifySubjectResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="ListBiographicData">

      <soap:operation soapAction="ListBiographicData" />

      <wsdl:input name="ListBiographicDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="ListBiographicDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="ListBiometricData">

      <soap:operation soapAction="ListBiometricData" />

      <wsdl:input name="ListBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="ListBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="PerformFusion">

      <soap:operation soapAction="PerformFusion" />

      <wsdl:input name="PerformFusionRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="PerformFusionResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="QueryCapabilities">

      <soap:operation soapAction="QueryCapabilities" />

      <wsdl:input name="QueryCapabilitiesRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="QueryCapabilitiesResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="RetrieveBiographicInformation">

      <soap:operation soapAction="RetrieveBiographicInformation" />

      <wsdl:input name="RetrieveBiographicInformationRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="RetrieveBiographicInformationResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="RetrieveBiometricInformation">

      <soap:operation soapAction="RetrieveBiometricInformation" />

      <wsdl:input name="RetrieveBiometricInformationRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="RetrieveBiometricInformationResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="SetBiographicData">

      <soap:operation soapAction="SetBiographicData" />

      <wsdl:input name="SetBiographicDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="SetBiographicDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="SetBiometricData">

      <soap:operation soapAction="SetBiometricData" />

      <wsdl:input name="SetBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="SetBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="TransformBiometricData">

      <soap:operation soapAction="TransformBiometricData" />

      <wsdl:input name="TransformBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="TransformBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="UpdateBiographicData">

      <soap:operation soapAction="UpdateBiographicData" />

      <wsdl:input name="UpdateBiographicDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="UpdateBiographicDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="UpdateBiometricData">

      <soap:operation soapAction="UpdateBiometricData" />

      <wsdl:input name="UpdateBiometricDataRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="UpdateBiometricDataResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="VerifySubject">

      <soap:operation soapAction="VerifySubject" />

      <wsdl:input name="VerifySubjectRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="VerifySubjectResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="Enroll">

      <soap:operation soapAction="Enroll" />

      <wsdl:input name="EnrollRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="EnrollResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="GetEnrollResults">

      <soap:operation soapAction="GetEnrollResults" />

      <wsdl:input name="GetEnrollResultsRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="GetEnrollResultsResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="GetIdentifyResults">

      <soap:operation soapAction="GetIdentifyResults" />

      <wsdl:input name="GetIdentifyResultsRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="GetIdentifyResultsResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="GetVerifyResults">

      <soap:operation soapAction="GetVerifyResults" />

      <wsdl:input name="GetVerifyResultsRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="GetVerifyResultsResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="Identify">

      <soap:operation soapAction="Identify" />

      <wsdl:input name="IdentifyRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="IdentifyResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="RetrieveInformation">

      <soap:operation soapAction="RetrieveInformation" />

      <wsdl:input name="RetrieveInformationRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="RetrieveInformationResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

    <wsdl:operation name="Verify">

      <soap:operation soapAction="Verify" />

      <wsdl:input name="VerifyRequest">

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output name="VerifyResponse">

        <soap:body use="literal" />

      </wsdl:output>

      <wsdl:fault name=”BIASFault”>

        <soap:fault name=”BIASFault” use=”literal” />

      </wsdl:fault>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="BIAS_v1">

    <wsdl:port name="BIAS_v1HttpBindingPort" binding="tns:BIAS_v1HttpBinding">

      <soap:address location="http://your_URL_to_your_BIAS_implementation" />

    </wsdl:port>

  </wsdl:service>

</wsdl:definitions>


 

B.  Use Cases (non-normative)

The intent of this annex is to provide operational sequence diagrams / flow charts that show how the higher level usage scenarios within [INCITS-BIAS] could be implemented using the BIAS SOAP profile.  The following use cases are given:

B.1 Verification Use Case

This use case uses the aggregate Verify operation in which a single request results in some set of operations (in this case, a series of primitive BIAS operations) being performed by the BIAS service provider.

 


B.2  Asynchronous Verification

In this use case, the requester issues two requests – the BIAS Verify request to initiate the operation followed by a BIAS GetVerifyResult request to retrieve the results of that operation.

 

 


B.3 Primitive Verification

In this use case, the verification operation is performed as a series of requests using the BIAS primitive operations.  In this case, the client rather than the service provider controls the workflow of the higher level operation.

 


B.4 Identification Use Case

This use case uses the aggregate Identify operation in which a single request results in some set of operations (in this case, a series of primitive BIAS operations) being performed by the BIAS service provider.

 

 


B.5 Biometric Enrollment

This use case uses the aggregate Enroll operation in which a single request results in some set of operations (in this case, a series of primitive BIAS operations) being performed by the BIAS service provider.

Here, if the result of the IdentifySubject is no matches found, then the subject is added to the gallery.  If a match had been found then other logic may have been applied (e.g., return candidate list, add encounter for existing subject, etc.).

 

 


B.6 Primitive Enrollment

In this use case, the enrollment operation is performed as a series of requests using the BIAS primitive operations.  In this case, the client rather than the service provider controls the workflow of the higher level operation.

 

C.  Samples (non-normative)

C.1 Create Subject Request/Response Example

INCITS BIAS Specification

<interface name="CreateSubject">

     <parameter name="SubjectID" type="xs:string" direction="inout" use=”optional” />

     <parameter name="Return" type="xs:unsignedLong" direction="out" />

</interface>

OASIS BIAS Examples

Simple Create Subject Request:

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “CreateSubject”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:CreateSubjectRequest

                        xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/” />

     </soap:Body>

</soap:Envelope>

Create Subject Request with SubjectID Parameter:

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “CreateSubject”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:CreateSubjectRequest xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:Identity>

                   <tns:SubjectID>123456789</tns:SubjectID>

              </tns:Identity>

          </tns:CreateSubjectRequest>

     </soap:Body>

</soap:Envelope>

Create Subject Request with Optional OASIS BIAS Content:

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “CreateSubject”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:CreateSubjectRequest xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:GenericRequestParameters>

                   <tns:Application>BIAS Application</tns:Application>

                   <tns:ApplicationUser>BIAS User</tns:ApplicationUser>

              </tns:GenericRequestParameters>

              <tns:Identity>

                   <tns:SubjectID>123456789</tns:SubjectID>

              </tns:Identity>

          </tns:CreateSubjectRequest>

     </soap:Body>

</soap:Envelope>

Simple Create Subject Response:

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:CreateSubjectResponse xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:ResponseStatus>

                   <tns:Return>0</tns:Return>

              </tns:ResponseStatus>

              <tns:Identity>

                   <tns:SubjectID>123456789</tns:SubjectID>

              </tns:Identity>

          </tns:CreateSubjectResponse>

     </soap:Body>

</soap:Envelope>

Create Subject Response with Optional OASIS BIAS Content:

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:CreateSubjectResponse xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:ResponseStatus>

                   <tns:Return>0</tns:Return>

                   <tns:Message>Subject ID 123456789 successfully created.</tns:Message>

              </tns:ResponseStatus>

              <tns:Identity>

                   <tns:SubjectID>123456789</tns:SubjectID>

              </tns:Identity>

          </tns:CreateSubjectResponse>

     </soap:Body>

</soap:Envelope>

 

C.2 Set Biographic Data Request/Response Example

INCITS BIAS Specification

<interface name="SetBiographicData">

     <parameter name="SubjectID" type="xs:string" direction="in" />

     <parameter name="IdentityModel" type="IdentityModelType" direction="in" />

     <parameter name="EncounterID" type="xs:string" direction="inout" use="optional" />

     <parameter name="BiographicData" type="BiographicDataType" direction="in" />

     <parameter name="Return" type="xs:unsignedLong" direction="out" />

</interface>

OASIS BIAS Examples

Set Biographic Data Request:

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “SetBiographicData”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:SetBiographicDataRequest

                        xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:Identity>

                   <tns:SubjectID>123456789></tns:SubjectID>

                   <tns:BiographicData>

                        <tns:BiographicDataItem>

                             <tns:Name>Last</tns:Name>

                             <tns:Type>string</tns:Type>

                             <tns:Value>Doe</tns:Value>

                        </tns:BiographicDataItem>

                   </tns:BiographicData>

              </tns:Identity>

              <tns:IdentityModel>person</tns:IdentityModel>

          </tns:SetBiographicDataRequest>

     </soap:Body>

</soap:Envelope>

Set Biographic Data Response:

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:SetBiographicDataResponse

                        xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:ResponseStatus>

                   <tns:Return>0</tns:Return>

              </tns:ResponseStatus>

          </tns:SetBiographicDataResponse>

     </soap:Body>

</soap:Envelope>

 

C.3 Set Biometric Data Request/Response Example

INCITS BIAS Specification

<interface name="SetBiometricData">

     <parameter name="SubjectID" type="xs:string" direction="in" />

     <parameter name="IdentityModel" type="IdentityModelType" direction="in" />

     <parameter name="EncounterID" type="xs:string" direction="inout" use="optional" />

     <parameter name="BIRList" type="CBEFF_BIR_ListType" direction="in" />

     <parameter name="Return" type="xs:unsignedLong" direction="out" />

</interface>

OASIS BIAS Examples

Set Biometric Data Request:

POST /bias HTTP/1.1

Host: www.acme.com

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

SOAPAction: “SetBiometricData”

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:SetBiometricDataRequest

                        xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:Identity>

                   <tns:SubjectID>123456789></tns:SubjectID>

                   <tns:BiometricData>

                        <tns:BIRList>

                             <tns:BIR>biometric data</tns:BIR>

                        </tns:BIRList>

                   </tns:BiometricData>

              </tns:Identity>

              <tns:IdentityModel>person</tns:IdentityModel>

          </tns:SetBiometricDataRequest>

     </soap:Body>

</soap:Envelope>

Set Biometric Data Response:

HTTP/1.1 200 OK

Content-Type: application/soap+xml; charset=”utf-8”

Content-Length: nnnn

<?xml version=”1.0”?>

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope”>

     <soap:Body>

          <tns:SetBiometricDataResponse

                        xmlns:tns=”http://docs.oasisopen.org/bias/bias1.0/”>

              <tns:ResponseStatus>

                   <tns:Return>0</tns:Return>

              </tns:ResponseStatus>

          </tns:SetBiometricDataResponse>

     </soap:Body>

</soap:Envelope>

D.  Acknowledgements

The following individuals have participated in the creation of this specification and are gratefully acknowledged:

Participants:

 

Name

Affiliation

Mr. Young Bang

Booz Allen Hamilton

Mr. Murty Gurajada *

Raining Data Corporation

Mr. Dale Hapeman

US Department of Defense

Dr. Charles Li

Raytheon

Mr. John Mayer-Splain

US Department of Homeland Security

Dr. Ross Michaels

NIST

Mr. Ash Parikh *

Raining Data Corporation

Mr. Matthew Swayze

Daon

Mr. Guy Swope

Raytheon

Mrs. Catherine Tilton

Daon

Mr. Alessandro Triglia

OSS Nokalva

Mr. Brad Wing *

US Department of Homeland Security

Mr. Michael Wittman

Raytheon

Mr. Gregory Zektser

Booz Allen Hamilton

 

* Though no longer members of the BIAS TC, these individuals contributed in the early stages of the development of this standard.

In addition, the inputs from the INCITS technical committee M1 are also gratefully appreciated.

E.  Revision History

 

Revision

Date

Editor

Changes Made

0.01

2008-05-23

TBD

Initial draft

0.02

2008-07-23

TBD

Inserted data dictionary

Added normative references

Updated sec 3 & 5 + Annex B

0.03

2008-08-19

TBD

WSDL updated

0.04

2008-09-11

TBD

Updated references

Added security requirements

Corrected Fig. 3

0.05

2008-09-29

TBD

SSL/TLS requirement clarified

Reordered material in 5.3 & App C/D

Updated references

2 new use cases added (App C)

Updated examples in App D

0.06

2008-11-17

TBD

Added BIAS operation name methods (new 5.3 + 4.2.27 & App B)

0.06a

2008-11-20

TBD

Updated references

0.07

2008-11-27

TBD

Revised fault structures and error handling

F.   Open Issues (temporary annex)

This annex is a temporary holding area for issues yet to be fully resolved.

 

¨       Document conformance requirements (Clause 2 & Annex A).

¨       Determine if our approach on fault and error handling is consistent with best practices.

¨       Determine if additional information is needed related to how to host, publish, and discover BIAS services.

¨       Determine if any additional requirements are needed with respect to the use of Signed XML or WSS (more specific than contained in 1st para of 5.4)?

¨       Consider looking at the SAML Security Considerations document for appropriate content/references.

¨       Determine if the operation name needs to be included in the Response as well as the Request message.

¨       Investigate how SOAP handles correlation of responses to a requests.  Is there anything specific we need to incorporate to facilitate this?  What are best practices in this regard?

¨       Add sample code in Annex D for each use case in Annex C.

¨       Do we need to include a non-normative reference to BioAPI (ISO/IEC 19784) as it is shown in Figure 2?

¨       Do we need to add entries for all acronyms found in the document, including common ones (e.g., URI, UDDI, SSL, TLS, HTTP, HTTPS, VPN, WSS, XML)?