Class FhirValidator

java.lang.Object
ca.uhn.fhir.validation.FhirValidator

public class FhirValidator extends Object
Resource validator, which checks resources for compliance against various validation schemes (schemas, schematrons, profiles, etc.)

To obtain a resource validator, call FhirContext.newValidator()

Thread safety note: This class is thread safe, so you may register or unregister validator modules at any time. Individual modules are not guaranteed to be thread safe however. Reconfigure them with caution.

  • Constructor Details

  • Method Details

    • isValidateAgainstStandardSchema

      Should the validator validate the resource against the base schema (the schema provided with the FHIR distribution itself)
    • setValidateAgainstStandardSchema

      public FhirValidator setValidateAgainstStandardSchema(boolean theValidateAgainstStandardSchema)
      Should the validator validate the resource against the base schema (the schema provided with the FHIR distribution itself)
      Returns:
      Returns a referens to this for method chaining
    • isValidateAgainstStandardSchematron

      Should the validator validate the resource against the base schema (the schema provided with the FHIR distribution itself)
    • setValidateAgainstStandardSchematron

      public FhirValidator setValidateAgainstStandardSchematron(boolean theValidateAgainstStandardSchematron)
      Should the validator validate the resource against the base schematron (the schematron provided with the FHIR distribution itself)
      Returns:
      Returns a referens to this for method chaining
    • registerValidatorModule

      Add a new validator module to this validator. You may register as many modules as you like at any time.
      Parameters:
      theValidator - The validator module. Must not be null.
      Returns:
      Returns a reference to this for easy method chaining.
    • unregisterValidatorModule

      public void unregisterValidatorModule(IValidatorModule theValidator)
      Removes a validator module from this validator. You may register as many modules as you like, and remove them at any time.
      Parameters:
      theValidator - The validator module. Must not be null.
    • validateWithResult

      Validates a resource instance returning a ValidationResult which contains the results.
      Parameters:
      theResource - the resource to validate
      Returns:
      the results of validation
      Since:
      0.7
    • validateWithResult

      Validates a resource instance returning a ValidationResult which contains the results.
      Parameters:
      theResource - the resource to validate
      Returns:
      the results of validation
      Since:
      1.1
    • validateWithResult

      public ValidationResult validateWithResult(String theResource, ValidationOptions theOptions)
      Validates a resource instance returning a ValidationResult which contains the results.
      Parameters:
      theResource - the resource to validate
      theOptions - Optionally provides options to the validator
      Returns:
      the results of validation
      Since:
      4.0.0
    • validateWithResult

      Validates a resource instance returning a ValidationResult which contains the results.
      Parameters:
      theResource - the resource to validate
      theOptions - Optionally provides options to the validator
      Returns:
      the results of validation
      Since:
      4.0.0
    • setInterceptorBroadcaster

      public void setInterceptorBroadcaster(IInterceptorBroadcaster theInterceptorBraodcaster)
      Optionally supplies an interceptor broadcaster that will be used to invoke validation related Pointcut events
      Since:
      5.5.0
    • setExecutorService

      public FhirValidator setExecutorService(ExecutorService theExecutorService)
    • isConcurrentBundleValidation

      public boolean isConcurrentBundleValidation()
      If this is true, bundles will be validated in parallel threads. The bundle structure itself will not be validated, only the resources in its entries.
    • setConcurrentBundleValidation

      public FhirValidator setConcurrentBundleValidation(boolean theConcurrentBundleValidation)
      If this is true, bundles will be validated in parallel threads. The bundle structure itself will not be validated, only the resources in its entries.
    • isSkipContainedReferenceValidation

      If this is true, any resource that has contained resources will first be deep-copied and then the contained resources remove from the copy and this copy without contained resources will be validated.
    • setSkipContainedReferenceValidation

      public FhirValidator setSkipContainedReferenceValidation(boolean theSkipContainedReferenceValidation)
      If this is true, any resource that has contained resources will first be deep-copied and then the contained resources remove from the copy and this copy without contained resources will be validated.