npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

json-schema-resource-validation

v1.0.5

Published

Validation based on JSON schema

Downloads

34

Readme

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.