Skip to content
Blue Button Model Validation
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.jsbeautifyrc
.jshintrc
.travis.yml
Gruntfile.js
LICENSE
README.md
RELEASENOTES.md
index.js
package.json

README.md

blue-button-model

Blue Button Model Definition and Validation

NPM

Build Status Coverage Status Dependency Status

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.

Usage

var fs = require('fs');
var bb = require('blue-button');
bar bbm = require('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);
}

API

validator.validateDocumentModel(document)

Primary method to validate Blue Button JSON documents.

Arguments

  • document - JSON health data document.
  • returns - true or false.

validator.validate(obj, schemaName)

Validates individual components in Blue Button documents such as sections and entries.

Arguments

  • obj - Component in the JSON health data document.
  • schemaName - Type of obj. You can use id property of any schema avaiable in the list.
  • returns - true or false.

validator.getLastError()

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.

### schemas.list(expandCommon)

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.

schemas.map(expandCommon)

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.

License

Licensed under Apache 2.0.

You can’t perform that action at this time.