QMS API 1.0.0 Data Dictionary

This document serves as a data dictionary for QMS API 1.0.0 formats.

It is written for both prospective and new system integrators, consultants and other technical professionals interested in integrating with QMS.

Definitions

The following terms are referred to in this document.

TermDefinition
Client, ClientsOrganizations requesting military search orders
EndpointWeb service or HTTP receiver that is exposed by an organization to receive inbound data
QBOAcronym for Quandis Business Objects. Generally refers to any module or component that has been created by Quandis.


QMS Endpoints

The following endpoints are exposed by QMS for military search events:

PurposeQMS Endpoint
Order Placementhttps://uatscra.quandis.net/Military/Military.ashx/Search
Order Pickup (Polling)https://uatscra.quandis.net/Military/Military.ashx/Pop
Order Request Validationhttps://uatscra.quandis.net/Military/Military.ashx/Validate


Field Descriptions

Field Legend

FieldDescription
Data ElementName descriptor of field
TypeEnumerated. See Field Type
SizeField length
ReqEnumerated. See Required Type
NotesDescription of field

Field Types

TypeDescription
ANAlpha Numeric
AAlpha
NNumeric
DDate. All dates follow format YYYY-MM-DD
BBoolean
EEnumerated. See corresponding enumeration
NodeNode
AttributeAttribute

Required Types

TypeDescription
YAlways required
NAlways optional
COConditionally optional


Request Formats

API Request Format

Standard API search requests are composed as HTTP POST requests with an XML payload.

Description
Endpointhttps://uatscra.quandis.net/Military/Military.ashx/Search
HeaderX-ApiKey QMS-Generated GUID
PayloadXML SCRARequest payload. See below for format.

Sample API Request





API Request Options

All order options can be configured to a default setting from the QMS Web Portal. This allows requests to be more succinct by only including options you wish to override from your default preference. Omitted API options from the request XML will default to the profile setting. For a list of all permutation options and use-cases, see: Permutation Features

Data ElementsTypeSizeReqNotes
SCRARequestNodeYContainer for order request
OptionsNodeYRoot node for order options
NamePermutateANNUsed to set permutation model. See Name Permutate
ValidatePermutationCountBNPermutation option. Enables permutation restrictions per contact.
MaxPermutationCountNNPermutation option. The number of permutations permitted per contact.
TransposeBNPermutation option. Will transpose multipart names
MixedCaseSplitBNPermutation option. Will detect and split up mixed case names for additional permutations.
ForceHyphenBNAdds Hyphens as name separators when generating permutations
ToggleMiddleNameBNIncludes permutations with and without middle name when generating permutations and middle name provided
MiddleNameParseENPermutation option. Will apply middle name and/or initial to alias or permutated names.
ForceHypenBNPermutation option. Will inject a hyphen in split names as additional permutations.
ProductTypeANNProduct format. See Product Type
ProductDeliveryANNProduct delivery method. See Product Delivery
UserDefinedNodeNParent node for user defined options
OptionNodeYParent node for user defined key value pair
NameAN50YUser defined option name
ValueAN255YUser defined option value
ContactsNodeYParent node for contacts being searched
ContactItemNodeYRoot node for Contact
ContactIDAN255NUnique value for borrower from originating system
ContactTypeENEnumerated. See Contact Type
FirstNameAN255COFirst name of contact
MiddleNameAN50COMiddle name of contact
LastNameA255YLastName of contact
USSSNN9OSocial Security Number. Value can be 4 or 9 digits.
BirthDateDOBirth date of party. Used as alternate to USSSN. If USSSN is provided omit BirthDate.
DateofInterestD*NActive Duty Status Date. If omitted, default will be today’s date. DateTimeOffset and Zulu time are also acceptable.
AddressAN100COAddress of contact
CityAN100COCity of contact
StateE2COEnumerated: State of contact represented by two digit state code.
PostalCodeAN10COPostalCode of party
UserDefinedNodeNParent node for user defined options of contact
OptionNodeYParent node for user defined key value pair
NameAN50YUser defined option name
ValueAN255YUser defined option value

Special UserDefined Options

Data ElementsTypeSizeReqNotes
SourceReferenceNumberANYCase Key or Equivalent Identifier
ExternalReferenceANNSystem Identifier
APIImagePackageANNCustom Image Package Identifier
PermutationPackageANNCustom Permutation Package Identifier

Order Request Acknowledgement

Data ElementsTypeSizeReqNotes
ImportCollectionNodeYParent container of acknowledgement
ImportFileIDAttribute, NNQuandis unique order identifier
StatusAttribute, EYOrder processing status. Enumerations: Error, Pre Validation, Validation Error
SuccessEYUsed to indicate order has been successfully received. Enumerated: True, False
ExceptionsNodeNParent container for order processing exceptions. Exceptions are present during processing errors
ExceptionNodeYParent container for individual order exceptions
TypeAN255YException type
SeverityANEYException severity. Enumerations: Error, Warning
MessageANTYException message


Pickup Response and Product Notification

Pickup Response

Data ElementsTypeSizeReqNotes
MessagesNodeYParent container
AvailableCountAttributeYCount of available messages
ExceptionANCOOptional tag rendering errors encountered. Tag is only rendered in the case of an error
MessageNodeCORendered when a message is available
IDAttributeYUnique identifier for message represented as a GUID
ExceptionANCOOptional tag rendering errors encountered during messages construction. Tag is only rendered in the event of an error.
SCRAResponseNodeYParent container of product data. See Product Data definition

Product Notification

The Product Notification is used in the product notification/pickup model.

Data ElementsTypeSizeReqNotes
PickupsNodeYParent container for Pickups
PickupNodeYParent node for individual pickup
ReadyDateDateYDate resource available for pickup
ResourceUrnANNURN for resource. Urn can be accessed using HTTP GET


Enumerations

Product Type

EnumerationDescription
API 1.0.0Standard API Format
StandardStandard MS Excel Format
CustomCustom product format

Product Delivery

EnumerationDescription
DeliverSubmit product data to endpoint
PickupEnable product for client pickup. No pickup notification will be sent and polling model must be utilized
NotificationPickupNotification is transmitted to client endpoint containing product resource for pickup. Client must invoke product method and to download product
CustomCustom delivery method. Utilized for specialized connectors

Name Permutate

EnumerationDescription
ParsePermutateParses contact with name parsing model and will generate applicable permutations based on permutation options.

Screenshot Mask

EnumerationDescription
*****Mask the first five digits of the USSSN on the SCRA submission screenshot with ‘*****’
NoneDo not mask the SSN on the SCRA submission screenshot.

MiddleNameParse

EnumerationDescription
NoneOption turned off.
ShareInsert new contact for every unique middle name. Always use the original alias middle name (even if initial). Shares all middle names across all original aliases and primary.
ShareMergeShare middle name across contacts. Merge middle names where full middle name takes priority over middle initial.
AppendMiddleInitialInserts new contact with middle initial when middle name is provided.
AppendMiddleInitialAllInserts new contact with middle initial on ALL permutations/aliases when middle name is provided.

Contact Type

EnumerationDescription
1Primary Borrower
2Secondary Borrower
3Tertiary Borrower
4Borrower position 4
5Borrower position 5
6Borrower position 6
7Borrower position 7
8Borrower position 8
9Borrower position 9

Contact Template

EnumerationDescription
OriginalContact submitted with order
AliasAlias generated by order
Parsed OriginalContact submitted with order that was parsed and generated aliases
Parsed AliasAlias generated from parsing original contact
PermutationName variation generated by permutation engine
Skiptrace AliasAlias generated from performing skiptrace
Skiptrace OriginalContact skiptrace was performed on

Active Duty Branch

Enumeration
Army National Guard
Army Active Duty
Army Temporary
Army Reserve
Army Unknown
Army
Coast Guard Active Duty
Coast Guard Reserve
Coast Guard
National Guard
Air Force Active Duty
Air Force Temporary
Air Force Reserve
Air Force
Public Health
Marine Corps Active Duty
Marine Corps Temporary
Marine Corps Reserve
Marine Corps Unknown
Marine Corps
Navy Active Duty
Navy Temporary
Navy Reserve
Navy Unknown
Navy
Oceanic And Atmospheric

SCRA Status

EnumerationDescription
Active DutySubject is currently active
DischargedSubject is located and contains a discharge date
Not FoundSubject could not be found based on criteria. This is considered a no-hit.
Unable To ProcessSubject was unable to be searched. This is generally due to a missing fields, permutation violation or a Skiptrace no-hit condition.
UndeterminedMultiple records were located by DoD and they could not definitively identify status. Additional information can be found in Description tag.
Undetermined – ErrorThere was an issue with the input data resulting in an error processing the record

Description

EnumerationDescription
Scored from child searchesParent contact status reflects a rollup of “best” status from permutations
Contact Lookup No HitSkiptrace search returned no hits
Missing required field(s)Search was missing necessary fields to perform a search
Invalid SSNSSN provided was invalid
Invalid DateDate of Interest was invalid
Multiple RecordsMultiple records were found
Invalid Date of BirthDate of Birth was invalid
Invalid First NameFirst name was invalid
Invalid Customer IDCustomer ID provided was invalid
SSN MismatchSSN does match SSN DMDC searched upon
SSN, Date of Birth, Last Name, and First NameMatched based on fields indicated
SSN, Date of Birth, and Last Name Matched based on fields indicated
SSN, Last Name, and First Name Matched based on fields indicated
SSN and Last Name Matched based on fields indicated
Last Name and Date of Birth Matched based on fields indicated
No MatchNo Match
Insufficient information to perform a match

Document

EnumerationDescription
Military CertificateSCRA certificate(s) which may contain additional pages depending on search options specified


Product Data

Product Data

Data ElementsTypeSizeReqNotes
SCRAResponseNodeYParent container for SCRA response
ImportFileIDAttributeYQuandis unique order identifier
OriginalAttributeYCount of original subjects submitted for searching
PermutationsAttributeYCount of permutations created from search Count of permutations created from search
AliasesAttributeYCount of aliases generated from search
SkiptraceAliasesAttributeYCount of aliases generated from skiptrace lookup
SourceReferenceNumberAttributeYClient source reference number
ContactsNodeYList of subjects that were searched
ContactNodeYRoot node of individual search result
ContactIDANNUnique value for borrower from originating system
TemplateEYEnumerated: See Enumerations: Contact Template
PrefixA5OPrefix name of alias
FirstNameA50YFirst name of alias
MiddleNameA50OMiddle name of alias
LastNameA50OLast name of alias
AgeN3OAge of alias
AddressAN100OAddress of alias
CityAN100OCity of alias
StateE2OEnumerated: State of alias represented by two digit state code.
PostalCodeAN10OPostalCode of alias
USSSN4N4YLast 4 SSN of alias
BirthDateAN10OBirth date of alias
ValidDateAN10ODate when alias was first reported at address
ValidEndAN10ODate when alias was last reported at address
ActiveDutyResultNodeParent container for active duty search result
ResultIDAN50YDOD CertificateID
StatusEYEnumerated. See SCRA Status
BranchEOEnumerated: See Active Duty Branch
EffectiveDOEnlistment Date
ExpiresDODischarge Date
VerifiedDateDYSearch Date
DateOfInterestDYActive Duty Status Date
DescriptionANOAdditional information returned by DOD
DocumentsNodeYCollection container for documents
DocumentNodeYRoot node for image
NameAN50YImage name. This name corresponds to the document entry in the Documents node. Documents match on the value indicated in the Name node.
TypeEYType of image. Enumerated: see Document
ContactNodeNNested Contact that was generated and searched as a result of skiptrace, parse or permutation
DocumentsNodeYCollection container for documents. This is the designated section for document content
DocumentNodeYRoot node for image
DocumentIDAN255Unique identifier for document
NameAN50YImage name
TypeEYType of image. Enumerated: see Document
ContentANYBase64 encoded document content


Batch Requests

Excel Uploads and File Exchange

QMS supports batch drops via File Exchange of Excel files and uploads via the QMS Web Portal.

Bulk Request Excel Template

HeaderDescriptionRequired
SourceReferenceNumberLoan Number associated with the borrowerYes
BorrowerIDUnique value for borrower from originating systemNo
BorrowerTypeIdentifies borrower place (Primary, Secondary, etc)No
LastNameBorrower’s Last NameYes
FirstNameBorrower’s First Name. Not required but strongly suggested.No
MiddleNameBorrower’s Middle NameNo
USSSNBorrower’s SSNConditional
BirthDateBorrower’s BirthDateConditional
AddressBorrower’s AddressConditional
CityBorrower’s CityConditional
StateBorrower’s StateConditional
PostalCodeBorrower’s Postal CodeConditional
DateOfInterestDate Of Interest to be searched for a given borrower. If not supplied, current date will be used.No


Batch Response

Product Template

Batch requests yield a corresponding Excel file based on our SCRA Standard Product File template. The product file is a single Excel workbook with three (3) tabs:

Product Summary Tab

The Product Summary tab provides a “rollup” view of the SCRA results. This view shows the “best” status generated from any permutation spawned from originating borrower.

HeaderDescription
ContactIDContactID as provided in the request file
LoanNumberLoan Number as provided in the request file
USSSN4Last 4 Digits of the Borrower’s USSSN
BirthDateBorrower’s BirthDate
FirstNameBorrower’s First Name
LastNameBorrower’s Last Name
AddressBorrower’s Address
CityBorrower’s City
StateBorrower’s State
PostalCodeBorrower’s Postal Code
ContactTypeBorrower’s ContactType
StatusBest scored “rollup” status factoring all permutated searches for a given borrower
DateOfInterestDate Of Interest used for the search
BranchBorrower’s military branch as returned by DMDC
EffectiveBorrower’s status start date
ExpiresBorrower’s status end date
VerifiedDateDate of search
DODReportIDCertificateID as returned by DMDC
ErrorErrors associated with a given borrower
MatchTypeMatch type according to provided datapoints

Product Detail Tab

The Product Detail tab displays a comprehensive view of all searches performed. This includes a detailed view of all QMS-generated permutations and their corresponding status.

Invalid Tab

The Invalid tab highlights any line items or borrowers that were unable to be searched due to missing datapoints or otherwise invalid data. It is advisable to review these contacts and resubmit for searching.


Monitoring Requests

Monitoring via Ad-Hoc Excel Uploads and File Exchange

Along with a monitoring API, QMS supports monitoring via batch file drops. This follows the Bucket Standard Request template.

Bucket Standard Request Template

HeaderDescriptionRequired
SourceReferenceNumberLoan Number associated with the borrowerYes
ActionThe bucket management action to be performed on this specific borrower.Yes
ContactIDIdentifying value generated from the originating systemNo
ContactTypeIdentifies borrower place (Primary, Secondary, etc)No
LastNameBorrower’s Last NameYes
FirstNameBorrower’s First Name. Not required but strongly suggested.No
MiddleNameBorrower’s Middle NameNo
USSSNBorrower’s SSNConditional
BirthDateBorrower’s BirthDateConditional
AddressBorrower’s AddressConditional
CityBorrower’s CityConditional
StateBorrower’s StateConditional
PostalCodeBorrower’s Postal CodeConditional
DateOfInterestDate Of Interest to be searched for a given borrower. If not supplied, current date will be used.No


Monitoring Response

Product Template

Monitoring requests generates a Bucket Product file after every scheduled run or “monitoring cycle”. The product file denotes any Deltas or changes observed comparing the current monitoring cycle to the previous. The product file is a single Excel workbook with three (3) tabs:

This product template matches the Batch Response template for Ad-Hoc bulk searches aside from a few key distinctions outlined below.

Description
Monitoring TypeMonitoring Type related to the searched party
FieldThe specific datapoint in which a change was observed.
PreviousValueThe value of the monitored datapoint during the previous search cycle
CurrentValueThe value of the monitored datapoint during the current search cycle