Skip to content

MSI1110 (Mod 11 + Mod 10)

MSI1110 combines Mod 11 and Mod 10 checksums for maximum error detection. This hybrid approach offers the strongest error detection of all MSI variants by leveraging the strengths of both algorithms.

Basic Usage

ts
import { barcode } from '@stacksjs/qrx'

barcode('#barcode', '1234', { format: 'MSI1110' }) // Result: 123430

[!NOTE] Image needed: Basic MSI1110 barcode example

Combined Checksum Calculation

The checksum calculation happens in two stages:

  1. Mod 11 check digit calculation

    • Apply weights (2,3,4,5,6,7) right to left
    • Calculate first check digit using Mod 11
  2. Mod 10 check digit calculation

    • Add Mod 11 check digit to data
    • Apply Mod 10 algorithm
    • Calculate final check digit

Example:

Data: 1234
Mod 11 Check Digit:
  Step 1: Weights (5,4,3,2) → (1×5) + (2×4) + (3×3) + (4×2) = 30
  Step 2: 30 mod 11 = 8
  Step 3: 11 - 8 = 3
  Intermediate: 12343

Mod 10 Check Digit:
  Step 1: 1 2 3 4 3 → (1)(2×2)(3)(4×2)(3)
  Step 2: 1 4 3 8 3
  Step 3: Sum = 19
  Step 4: Final check digit = 0
Final Result: 123430

Advanced Options

ts
import { barcode } from '@stacksjs/qrx'

barcode('#barcode', '1234', {
  format: 'MSI1110',
  width: 2,
  height: 100,
  displayValue: true,
  fontSize: 20,
  font: 'monospace',
  textAlign: 'center',
  textPosition: 'bottom',
  textMargin: 2,
  background: '#ffffff',
  lineColor: '#000000'
})

Error Detection

ts
import { barcode } from '@stacksjs/qrx'

barcode('#barcode', '1234', {
  format: 'MSI1110',
  valid: (valid) => {
    if (!valid) {
      console.error('Invalid MSI1110 input')
      // Handle invalid input
    }
  }
})

Common Applications

  1. High-Security Environments

    • Pharmaceutical tracking
    • Medical supplies
    • Secure inventory
  2. Critical Systems

    • Financial documents
    • Security labels
    • Regulatory compliance

[!NOTE] Image needed: Real-world application examples

Best Practices

  1. Input Validation

    • Verify numeric-only input
    • Check maximum length
    • Validate both checksums
  2. Implementation

    • Test scanner compatibility
    • Verify both algorithms
    • Maintain adequate quiet zones
  3. When to Use MSI1110

    • Highest security needs
    • Critical error detection
    • Regulatory requirements

Comparison with Other MSI Variants

FeatureMSI1110MSI10MSI11MSI1010
Check Digits2112
AlgorithmMod 11+10Mod 10Mod 11Mod 10×2
Error DetectionBestBasicGoodBetter
Data LengthLongerShorterShorterLonger

[!NOTE] Image needed: Visual comparison of variants

Error Detection Capabilities

MSI1110 can detect:

  • All single digit errors
  • All transposition errors
  • Most double digit errors
  • Most random errors
  • Sequential errors
  • Substitution errors

Migration Path

ts
// Upgrading from simpler variants
barcode('#barcode', '1234', { format: 'MSI10' })    // Basic
barcode('#barcode', '1234', { format: 'MSI11' })    // Better
barcode('#barcode', '1234', { format: 'MSI1010' })  // Enhanced
barcode('#barcode', '1234', { format: 'MSI1110' })  // Maximum

// Alternative for space-constrained applications
barcode('#barcode', '1234', { format: 'MSI11' })    // Single check, good detection

Technical Notes

  1. Validation Process

    • Two-step verification
    • Different algorithms
    • Maximum detection capability
  2. Scanner Requirements

    • Must support dual checksums
    • Configuration verification
    • Testing recommended
  3. Space Considerations

    • Two additional digits
    • Longer than single-check variants
    • Quiet zone requirements

[!NOTE] Image needed: Technical diagram showing combined check digit calculation

Released under the MIT License.