Blue Button Model Definition and Validation
This library defines a JSON Blue Button health data model. All parsers in blue-button library generate data that follow this model. The schema can be found here or programmatically here. The implementation uses z-schema.
- Node.js (v14.19+) and NPM
- Grunt.js
# Install dependencies
npm i
# Install grunt
npm i -g grunt
# Test
grunt
var fs = require('fs');
var bb = require('@amida-tech/blue-button');
bar bbm = require('@amida-tech/blue-button-model');
var xmlString = fs.readFileSync('CCD_1.xml', 'utf-8');
var record = bb.parseString(xmlString);
var valid = bbm.validator.validateDocumentModel(record);
if (!valid) {
var error = bbm.validator.getLastError();
console.log(error);
}
Primary method to validate Blue Button JSON documents.
Arguments
document
- JSON health data document.- returns -
true
orfalse
.
Validates individual components in Blue Button documents such as sections and entries.
Arguments
obj
- Component in the JSON health data document.schemaName
- Type ofobj
. You can useid
property of any schema avaiable in the list.- returns -
true
orfalse
.
If validation fails this method returns the details of the errors. The error object is actually an array of errors and directly provided by the underlying library z-schema.
Provides the list of schemas that are used in the model. The list includes section schemas, entry schemas and common component schemas. Full document schema is also available with id document_model
.
Arguments
expandCommon
- If this is falsy, common component (such as address, time, etc.) schemas are provided in an array.- returns - List of schemas.
Similar to list but provides a map of schema ids (name) to schemas. If expandCommon
is falsy, the array of common component schemas are provided with common_models
key.
Licensed under Apache 2.0.