Generating ID on Registration
Create a new Business Rules File
/// <reference path="../.ref/js/santedb-bre.js" />
/// <reference path="../.ref/js/santedb-model.js" />
/// <reference path="../.ref/js/santedb.js" />
/**
* Elbonia MPI / SanteMPI Rules for Generating new ID
* --
*/
Write Generator Function
/**
* @summary Generates an Elbonia Health Card ID
*/
function generateElboniaId() {
// Use UUID RNG to get a random string
var source = SanteDBBre.NewGuid().replace(/[a-zA-Z\-]/ig, '').substring(0, 10);
// Pad to 10 digits
source = source.pad('0', 10);
// Convert to an array of digits
var key = "0123456789";
var seed = ("0" + source).split('')
.map(function (c) {
return key.indexOf(c);
}).reduce(function (a, v, i) {
return ((a + v) * 10) % 97;
});
// Generate check digit
seed *= 10; seed %= 97;
var checkDigit = (97 - seed + 1) % 97;
checkDigit += "";
// Return identifier
var retVal = source + checkDigit.pad('0', 2);
return retVal;
};Write Business Rule
Attach Business Rules to Triggers
Register the Identifier Generator
Last updated
Was this helpful?