FHIR Chat · FHIR Validator jar source code · implementers

Stream: implementers

Topic: FHIR Validator jar source code


view this post on Zulip Niranjan Kumar (Mar 05 2020 at 09:20):

Hi All , Can anyone point me to the source code of FHIR Validator jar . Jar works fine from command line but i want to use it in my java code to validate incoming FHIR resource.

view this post on Zulip Grahame Grieve (Mar 05 2020 at 09:49):

https://github.com/hapifhir/org.hl7.fhir.core. you want the class org.hl7.fhir.validation.ValidationEngine

view this post on Zulip Grahame Grieve (Mar 05 2020 at 09:50):

or maybe org.hl7.fhir.validation.NativeHostServices

view this post on Zulip Grahame Grieve (Mar 05 2020 at 09:50):

but you would be better to use it as hosted in HAPI

view this post on Zulip Niranjan Kumar (Mar 05 2020 at 09:59):

"but you would be better to use it as hosted in HAPI " means which one ? Are you trying to say use Hapi Fhir Validation ?

view this post on Zulip Grahame Grieve (Mar 05 2020 at 10:16):

I think that's generally a better idea. HAPI has more run time wrapping services

view this post on Zulip Niranjan Kumar (Mar 05 2020 at 13:14):

I tried using Profile Validator code stated at https://hapifhir.io/hapi-fhir/docs/validation/profile_validator.html but getting issues like this :
16:13| INFO | VersionUtil.java 72 | HAPI FHIR version 4.1.0 - Rev 03163c2cf5
16:13| INFO | FhirContext.java 174 | Creating new FHIR context for FHIR version [R4]
16:13| INFO | DefaultProfileValidationSupport.java 227 | Loading structure definitions from classpath: /org/hl7/fhir/r4/model/profile/profiles-resources.xml
16:13| INFO | DependencyLogImpl.java 75 | FHIR XML procesing will use StAX implementation 'Woodstox' version '5.1.0'
16:13| INFO | DefaultProfileValidationSupport.java 227 | Loading structure definitions from classpath: /org/hl7/fhir/r4/model/profile/profiles-types.xml
16:13| INFO | DefaultProfileValidationSupport.java 227 | Loading structure definitions from classpath: /org/hl7/fhir/r4/model/profile/profiles-others.xml
16:13| INFO | DefaultProfileValidationSupport.java 227 | Loading structure definitions from classpath: /org/hl7/fhir/r4/model/extension/extension-definitions.xml
16:13| ERROR | FhirInstanceValidator.java 222 | Failure during validation
java.lang.UnsupportedOperationException
at org.hl7.fhir.r4.hapi.ctx.HapiWorkerContext.generateSnapshot(HapiWorkerContext.java:242)
at org.hl7.fhir.r4.elementmodel.ParserBase.getDefinition(ParserBase.java:122)
at org.hl7.fhir.r4.elementmodel.JsonParser.parse(JsonParser.java:123)
at org.hl7.fhir.r4.validation.InstanceValidator.validate(InstanceValidator.java:539)
at org.hl7.fhir.r4.validation.InstanceValidator.validate(InstanceValidator.java:531)
at org.hl7.fhir.r4.hapi.validation.FhirInstanceValidator.validate(FhirInstanceValidator.java:220)
at org.hl7.fhir.r4.hapi.validation.FhirInstanceValidator.validate(FhirInstanceValidator.java:242)
at org.hl7.fhir.r4.hapi.validation.BaseValidatorBridge.doValidate(BaseValidatorBridge.java:20)
at org.hl7.fhir.r4.hapi.validation.BaseValidatorBridge.validateResource(BaseValidatorBridge.java:43)
at org.hl7.fhir.r4.hapi.validation.FhirInstanceValidator.validateResource(FhirInstanceValidator.java:33)
at ca.uhn.fhir.validation.FhirValidator.validateWithResult(FhirValidator.java:243)
at ca.uhn.fhir.validation.FhirValidator.validateWithResult(FhirValidator.java:198)

This is the code i have executed :

FhirContext ctx = FhirContext.forR4();
FhirValidator validator = ctx.newValidator();
FhirInstanceValidator instanceValidator = new FhirInstanceValidator();
validator.registerValidatorModule(instanceValidator);

String resourceText = ResourceStringProvider.getObservationResourceInStringContained(); //get resource json
ValidationResult result2 = validator.validateWithResult(resourceText);

System.out.println(result2.isSuccessful());

Am i missing something , any pointer to working example .

view this post on Zulip Grahame Grieve (Mar 05 2020 at 20:42):

probably a question for the #hapi stream


Last updated: Apr 12 2022 at 19:14 UTC