1

I am new to JSON Schema, and am trying to validate JSON based on the HL7-FHIR schemas. Data I think should be invalid (and that the official Java-based validator says are invalid) shows up as valid.

For example, {"dog": "food"} should be invalid, because when I run the validator, I get:

> java -jar org.hl7.fhir.validator.jar bad.json -defn definitions.json.zip
    .. load FHIR from definitions.json.zip
    .. connect to tx server @ http://tx.fhir.org/r3 
     (vnull-null)
    .. validate
*FAILURE* validating bad.json:  error:1 warn:0 info:0
Fatal @ $ (line 1, col2) : Unable to find resourceType property

But if I paste the fhir.schema.json file from here into a JSON Schema validator like the one here, and evaluate {"dog": "food"}, it's valid.

It's valid even if I supply a resourceType, which I thought might cause the restrictions to kick in. It's also valid if I copy an example I expect to be valid—say, this Practitioner example—and change some of the types (set name to be a string rather than an array, for example).

I'm not sure if I'm running into a problem with the HL7-FHIR JSON Schema in particular or with JSON Schemas in general. I believe my question is different than this one because it appears that we're up to release 3.0, and so the schema I'm using is updated.

Ethan Kent
  • 381
  • 1
  • 4
  • 20
  • 1
    I'm pretty new to JSON Schema myself but from the HL7 meeting that just happened in Madrid, I know that the schema is not that mature - so I'd err on the side that it's not right. I haven't looked into it yet properly though so that's just a guess! – Vadim Peretokin May 23 '17 at 06:57

0 Answers0