I scraped the reference tables from Wikipedia, then created a record ID for each VIM. I then used regex to pull out the check digit. Once I had that, I used Regex again to split the VIMs to rows on every character. Then is was a simple find and replace to transliterate the characters to numbers and some simple calculations.