Two files (one ado; one do) attached, which checks a variable containing South African id numbers for validity using the Luhn algorithm.
The actual implementation of the alogrithm is my own (and very parsimonious!) - but the surrounding code is built off the original suggestion provided here (https://www.stata.com/statalist/arch.../msg00300.html) by Nick Cox and modified as the pnrcheck.ado by N Orsini.