AAMVA VIZ Barcode Comparison Verifier#

Defined under the namespace Scandit.Datacapture.Id

ComparisonCheckResult#

Added in version 6.12.0

The result of a comparison done by AamvaVizBarcodeComparisonVerifier of a single piece of data from an AAMVA-compliant personal identification document.

Passed#

Added in version 6.12.0

The compared data matches. In some instances the check may permit minor data divergence, to compensate, for example, for a single character misread by OCR.

Failed#

Added in version 6.12.0

Some suspicious differences detected. This doesn’t automatically mean that the document is fraudulent, but such document should be inspected more carefully.

Skipped#

Added in version 6.12.0

The data necessary to perform the check is missing and thus it is skipped.

ComparisonCheck#
interface ComparisonCheck<T>

Added in version 6.12.0

A comparison done by AamvaVizBarcodeComparisonVerifier of a single piece of data from an AAMVA-compliant personal identification document.

checkResult#
readonly checkResult: ComparisonCheckResult

Added in version 6.12.0

Whether any suspicious divergence in data is detected.

resultDescription#
readonly resultDescription: string

Added in version 6.12.0

The human-readable result of the comparison.

aamvaBarcodeValue#
readonly aamvaBarcodeValue: T | null

Added in version 6.12.0

The piece of data extracted from the barcode present at the back side of an AAMVA-compliant personal identification document.

vizValue#
readonly vizValue: T | null

Added in version 6.12.0

The piece of data extracted from the human-readable front side of an AAMVA-compliant personal identification document.

AamvaVizBarcodeComparisonResult#
class AamvaVizBarcodeComparisonResult

Added in version 6.12.0

The result of an AAMVA-compliant personal identification document verification conducted by AamvaVizBarcodeComparisonVerifier.

checksPassed#
get checksPassed(): boolean

Added in version 6.12.0

Whether all the checks conducted by the verifier passed. Only the check that were run count, so true is returned even if some of the checks were skipped.

issuingCountryIsoMatch#
get issuingCountryIsoMatch(): ComparisonCheck<string>

Added in version 6.12.0

Whether the issuing countries extracted from both sources of the data are the same.

issuingJurisdictionIsoMatch#
get issuingJurisdictionIsoMatch(): ComparisonCheck<string>

Added in version 6.12.0

Whether the issuing jurisdictions (for example: an issuing state, territory or federal district for USA, or an issuing province or territory for Canada) extracted from both sources of the data are the same.

documentNumbersMatch#
get documentNumbersMatch(): ComparisonCheck<string>

Added in version 6.12.0

Whether the document numbers extracted from both sources of the data match. This check may permit minor data divergence, to compensate, for example, for a single character misread by OCR.

fullNamesMatch#
get fullNamesMatch(): ComparisonCheck<string>

Added in version 6.12.0

Whether the holder’s full names extracted from both sources of the data match. This check may permit minor data divergence, to compensate, for example, for a single character misread by OCR.

datesOfBirthMatch#
get datesOfBirthMatch(): ComparisonCheck<DateResult>

Added in version 6.12.0

Whether the holder’s dates of birth extracted from both sources of the data are the same.

datesOfExpiryMatch#
get datesOfExpiryMatch(): ComparisonCheck<DateResult>

Added in version 6.12.0

Whether the document’s dates of expiry extracted from both sources of the data are the same.

datesOfIssueMatch#
get datesOfIssueMatch(): ComparisonCheck<DateResult>

Added in version 6.12.0

Whether the document’s dates of issue extracted from both sources of the data are the same.

resultDescription#
get resultDescription(): string

Added in version 6.12.0

The human-readable result of the verification.

AamvaVizBarcodeComparisonVerifier#
class AamvaVizBarcodeComparisonVerifier

Added in version 6.12.0

Verifies an AAMVA-compliant personal identification document by comparing the human-readable data from its front side with the data encoded in the barcode, and signals any suspicious differences.

The verifier may permit minor data divergence, to compensate, for example, for a single character misread by OCR. Thus, while it automatically detects many fraudulent documents, a failed check does not necessary mean that the document is invalid. It is up to the user to subject such documents to additional scrutiny.

The verification may be conducted for AAMVA-compliant personal identification documents in the front & back scanning mode. Initialize IdCapture with the following settings:

Then proceed to capture the front side & the back side of a document as usual. After you capture the back side and receive the combined result for both sides, you may run the verifier as follows:

const listener = {
  didCaptureId: (idCapture, session) => {
    let capturedId = session.newlyCapturedId;
    if (!capturedId || !capturedId.viz) {
      return;
    }
    let viz = capturedId.viz;
    if (viz.capturedSides == SupportedSides.FrontAndBack) {
        let verifier = AamvaVizBarcodeComparisonVerifier.create();
        verifier.verify(capturedId).then(
            result => // Process the result
        );
    }
  }
};

The result allows you to query both the overall result of the verification and the results of individual checks. See AamvaVizBarcodeComparisonResult for details.

create()#
static create(): AamvaVizBarcodeComparisonVerifier

Added in version 6.12.0

Creates a new instance of this verifier.

verify(capturedId)#
verify(capturedId: CapturedId): Promise<AamvaVizBarcodeComparisonResult>

Added in version 6.12.0

Compares the human-readable data from the front side of the document with the data encoded in the barcode, and signals any suspicious differences.