json-schema-resource-validation
v1.0.5
Published
Validation based on JSON schema
Downloads
34
Maintainers
Readme
Validator of FHIR resources
for Node.js
Validates FHIR resources using a FHIR JSON schema. See hl7.org/fhir/validation.html for more information about FHIR validation.
This module uses Ajv JSON schema validator. json-schema-resource-validation provides good perfomance and it can be easily integrated into your based on FHIR Node Js project.
PLEASE NOTE:
This validation module works with draft-06 and draft-07 JSON schemas(draft-06 is recommended).
Using custom validation schemas(not the one presented on hl7.org/fhir/validation.html) is not recommended
Current version 1.0.3 works with FHIR v4.0.0 resources ONLY
Getting started
Firstly you need to instal npm package :
npm install json-schema-resource-validation
Creation of validation instance looks like this :
const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
Use of FHIR validator with object
type input parameter :
const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
const resourcePatient = {
"resourceType": "patient"
};
resourceValidation.validateResource('resourcePatient');
NOTE:
.validateResource()
has object
type input parameter or string
type input parameter(path to JSON file on your local machine)
* string
type input parameter: *
const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
resourceValidation.validateResource('/home/username/Resources/bundle.json');
If resource is valid .validateResource()
will return true
and false
if invalid.
If resource is invalid you can get log of validation errors it's stored in .log
property of validation instance.
Moreover:
You can output validation error log into console or log file by using additional input parameters for .validateResource()
.
Output into console:
const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
resourceValidation.validateResource('/home/username/Resources/patient.json', true);
Result:
Output into file:
const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
resourceValidation.validateResource('/home/username/Resources/claim.json', false, true);
Result:
How to configure resource validator
Resource validator can be configured via configuration file, which is located /path_to_your_project/node_modules/json-schema-resource-validation/lib/conf/Conf.json
Its content:
{
"pathToSchema": "/fhir-schemas/fhir.schema.json",
"schemaDraft": 6,
"showAllErrors": false,
"pathToLogDirectory": "./logs",
"logErrorsIntoFile": true,
"logErrorsIntoConsole": true
}
As you can see, log settings, validation schema, schema draft can be set via this file.
NOTE:
- By deffault validator outputs only one error of the whole error array
- You can output the whole array switching
showAllErrors
totrue
(for v1.0.3 it works only with additional property errors)
Command line interface
You can use resource validator via console. Just go to directory /path_to_your_project/node_modules/json-schema-resource-validation/
and type into your console .fhirvalidation -h
.