json-schema-resource-validation

1.0.5 • Public • Published

Validator of FHIR resources

for Node.js

Build Status

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 trueand 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:

image

Output into file:

const ResourceValidation = require('json-schema-resource-validation');
const resourceValidation = new ResourceValidation();
resourceValidation.validateResource('/home/username/Resources/claim.json', false, true);

Result:

image

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 to true(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.

Package Sidebar

Install

npm i json-schema-resource-validation

Weekly Downloads

9

Version

1.0.5

License

ISC

Unpacked Size

34.3 MB

Total Files

39

Last publish

Collaborators

  • victorgus