Class RemoteTerminologyServiceValidationSupport

  • All Implemented Interfaces:
    ca.uhn.fhir.context.support.IValidationSupport

    public class RemoteTerminologyServiceValidationSupport
    extends BaseValidationSupport
    implements ca.uhn.fhir.context.support.IValidationSupport
    This class is an implementation of IValidationSupport that fetches validation codes from a remote FHIR based terminology server. It will invoke the FHIR ValueSet/$validate-code operation in order to validate codes.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface ca.uhn.fhir.context.support.IValidationSupport

        ca.uhn.fhir.context.support.IValidationSupport.BaseConceptProperty, ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult, ca.uhn.fhir.context.support.IValidationSupport.CodingConceptProperty, ca.uhn.fhir.context.support.IValidationSupport.ConceptDesignation, ca.uhn.fhir.context.support.IValidationSupport.IssueSeverity, ca.uhn.fhir.context.support.IValidationSupport.LookupCodeResult, ca.uhn.fhir.context.support.IValidationSupport.StringConceptProperty, ca.uhn.fhir.context.support.IValidationSupport.ValueSetExpansionOutcome
    • Field Summary

      • Fields inherited from interface ca.uhn.fhir.context.support.IValidationSupport

        URL_PREFIX_VALUE_SET
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addClientInterceptor​(Object theClientInterceptor)
      Adds an interceptor that will be registered to all clients.
      org.hl7.fhir.instance.model.api.IBaseResource fetchCodeSystem​(String theSystem)  
      org.hl7.fhir.instance.model.api.IBaseResource fetchValueSet​(String theValueSetUrl)  
      protected ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult invokeRemoteValidateCode​(String theCodeSystem, String theCode, String theDisplay, String theValueSetUrl, org.hl7.fhir.instance.model.api.IBaseResource theValueSet)  
      boolean isCodeSystemSupported​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, String theSystem)  
      boolean isValueSetSupported​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, String theValueSetUrl)  
      void setBaseUrl​(String theBaseUrl)
      Sets the FHIR Terminology Server base URL
      ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult validateCode​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, ca.uhn.fhir.context.support.ConceptValidationOptions theOptions, String theCodeSystem, String theCode, String theDisplay, String theValueSetUrl)  
      ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult validateCodeInValueSet​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, ca.uhn.fhir.context.support.ConceptValidationOptions theOptions, String theCodeSystem, String theCode, String theDisplay, org.hl7.fhir.instance.model.api.IBaseResource theValueSet)  
      • Methods inherited from interface ca.uhn.fhir.context.support.IValidationSupport

        expandValueSet, fetchAllConformanceResources, fetchAllStructureDefinitions, fetchResource, fetchStructureDefinition, generateSnapshot, getFhirContext, invalidateCaches, lookupCode
    • Constructor Detail

      • RemoteTerminologyServiceValidationSupport

        public RemoteTerminologyServiceValidationSupport​(ca.uhn.fhir.context.FhirContext theFhirContext)
        Constructor
        Parameters:
        theFhirContext - The FhirContext object to use
    • Method Detail

      • validateCode

        public ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult validateCode​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext,
                                                                                                ca.uhn.fhir.context.support.ConceptValidationOptions theOptions,
                                                                                                String theCodeSystem,
                                                                                                String theCode,
                                                                                                String theDisplay,
                                                                                                String theValueSetUrl)
        Specified by:
        validateCode in interface ca.uhn.fhir.context.support.IValidationSupport
      • validateCodeInValueSet

        public ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult validateCodeInValueSet​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext,
                                                                                                          ca.uhn.fhir.context.support.ConceptValidationOptions theOptions,
                                                                                                          String theCodeSystem,
                                                                                                          String theCode,
                                                                                                          String theDisplay,
                                                                                                          @Nonnull
                                                                                                          org.hl7.fhir.instance.model.api.IBaseResource theValueSet)
        Specified by:
        validateCodeInValueSet in interface ca.uhn.fhir.context.support.IValidationSupport
      • fetchCodeSystem

        public org.hl7.fhir.instance.model.api.IBaseResource fetchCodeSystem​(String theSystem)
        Specified by:
        fetchCodeSystem in interface ca.uhn.fhir.context.support.IValidationSupport
      • fetchValueSet

        public org.hl7.fhir.instance.model.api.IBaseResource fetchValueSet​(String theValueSetUrl)
        Specified by:
        fetchValueSet in interface ca.uhn.fhir.context.support.IValidationSupport
      • isCodeSystemSupported

        public boolean isCodeSystemSupported​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext,
                                             String theSystem)
        Specified by:
        isCodeSystemSupported in interface ca.uhn.fhir.context.support.IValidationSupport
      • isValueSetSupported

        public boolean isValueSetSupported​(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext,
                                           String theValueSetUrl)
        Specified by:
        isValueSetSupported in interface ca.uhn.fhir.context.support.IValidationSupport
      • invokeRemoteValidateCode

        protected ca.uhn.fhir.context.support.IValidationSupport.CodeValidationResult invokeRemoteValidateCode​(String theCodeSystem,
                                                                                                               String theCode,
                                                                                                               String theDisplay,
                                                                                                               String theValueSetUrl,
                                                                                                               org.hl7.fhir.instance.model.api.IBaseResource theValueSet)
      • setBaseUrl

        public void setBaseUrl​(String theBaseUrl)
        Sets the FHIR Terminology Server base URL
        Parameters:
        theBaseUrl - The base URL, e.g. "https://hapi.fhir.org/baseR4"
      • addClientInterceptor

        public void addClientInterceptor​(@Nonnull
                                         Object theClientInterceptor)
        Adds an interceptor that will be registered to all clients.

        Note that this method is not thread-safe and should only be called prior to this module being used.

        Parameters:
        theClientInterceptor - The interceptor (must not be null)