A "card validator" to evaluate CDS payloads.
The library takes, as input, a string representing the response from a CDS service and optional options to feed the jsonschema. It will return a promise that will either resolve
to a JSON object (the parsed payload) or reject
to an array of errors indicating what went wrong.
The module exports validators for CDS Service Responses (Cards) and CDS Discovery Responses.
// pick your poison
var validate = require('cds-validator').Card;
var validate = require('cds-validator').DiscoveryResponse;
var validate = require('cds-validator').ServiceRequest;
var options = {
propertyName: 'payload'
}
validate(jsonString, options).then(function(obj) {
// do something with the parsed payload
})
.catch(function(err) {
// an array of errors indicating what went wrong,
// where failing fields are called 'payload.<field name>' (default is 'instance.<field name>')
});
Thank you to Josh Mandel and Kevin Shekleton for the cds-hooks project, a JSON-based mechanism for EMR systems to provide decision support tools from within a clinician's workflow.