Class RemoteTerminologyServiceValidationSupport
java.lang.Object
org.hl7.fhir.common.hapi.validation.support.BaseValidationSupport
org.hl7.fhir.common.hapi.validation.support.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
Modifier and TypeClassDescriptionstatic interface
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.CodeValidationIssue, ca.uhn.fhir.context.support.IValidationSupport.CodeValidationIssueCode, ca.uhn.fhir.context.support.IValidationSupport.CodeValidationIssueCoding, ca.uhn.fhir.context.support.IValidationSupport.CodeValidationIssueDetails, 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.GroupConceptProperty, 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.TranslateCodeRequest, ca.uhn.fhir.context.support.IValidationSupport.ValueSetExpansionOutcome
-
Field Summary
Fields inherited from class org.hl7.fhir.common.hapi.validation.support.BaseValidationSupport
myCtx
Fields inherited from interface ca.uhn.fhir.context.support.IValidationSupport
TYPE_CODING, TYPE_GROUP, TYPE_STRING, URL_PREFIX_VALUE_SET
-
Constructor Summary
ConstructorDescriptionRemoteTerminologyServiceValidationSupport
(ca.uhn.fhir.context.FhirContext theFhirContext) ConstructorRemoteTerminologyServiceValidationSupport
(ca.uhn.fhir.context.FhirContext theFhirContext, String theBaseUrl) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addClientInterceptor
(Object theClientInterceptor) Adds an interceptor that will be registered to all clients.protected org.hl7.fhir.instance.model.api.IBaseParameters
buildValidateCodeInputParameters
(String theCodeSystem, String theCode, String theDisplay, String theValueSetUrl, org.hl7.fhir.instance.model.api.IBaseResource theValueSet) static Optional
<Collection<ca.uhn.fhir.context.support.IValidationSupport.CodeValidationIssue>> createCodeValidationIssues
(org.hl7.fhir.instance.model.api.IBaseOperationOutcome theOperationOutcome, ca.uhn.fhir.context.FhirVersionEnum theFhirVersion) Creates a list ofIValidationSupport.CodeValidationIssue
from the issues returned by the $validate-code operation.static ca.uhn.fhir.context.support.IValidationSupport.BaseConceptProperty
createConceptProperty
(String theName, org.hl7.fhir.instance.model.api.IBaseDatatype theValue) org.hl7.fhir.instance.model.api.IBaseResource
fetchCodeSystem
(String theSystem) org.hl7.fhir.instance.model.api.IBaseResource
fetchValueSet
(String theValueSetUrl) protected String
getErrorMessage
(String errorCode, Object... theParams) getName()
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) ca.uhn.fhir.context.support.IValidationSupport.LookupCodeResult
lookupCode
(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, ca.uhn.fhir.context.support.LookupCodeRequest theLookupCodeRequest) void
setBaseUrl
(String theBaseUrl) Sets the FHIR Terminology Server base URLca.uhn.fhir.context.support.TranslateConceptResults
translateConcept
(ca.uhn.fhir.context.support.IValidationSupport.TranslateCodeRequest theRequest) 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 class org.hl7.fhir.common.hapi.validation.support.BaseValidationSupport
getFhirContext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ca.uhn.fhir.context.support.IValidationSupport
expandValueSet, expandValueSet, fetchAllConformanceResources, fetchAllNonBaseStructureDefinitions, fetchAllSearchParameters, fetchAllStructureDefinitions, fetchBinary, fetchResource, fetchStructureDefinition, generateSnapshot, getFhirContext, invalidateCaches, isCodeableConceptValidationSuccessfulIfNotAllCodingsAreValid, isRemoteTerminologyServiceConfigured, lookupCode, lookupCode
-
Field Details
-
ERROR_CODE_UNKNOWN_CODE_IN_CODE_SYSTEM
- See Also:
-
ERROR_CODE_UNKNOWN_CODE_IN_VALUE_SET
- See Also:
-
-
Constructor Details
-
RemoteTerminologyServiceValidationSupport
Constructor- Parameters:
theFhirContext
- The FhirContext object to use
-
RemoteTerminologyServiceValidationSupport
public RemoteTerminologyServiceValidationSupport(ca.uhn.fhir.context.FhirContext theFhirContext, String theBaseUrl)
-
-
Method Details
-
getName
- Specified by:
getName
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
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 interfaceca.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 interfaceca.uhn.fhir.context.support.IValidationSupport
-
fetchCodeSystem
- Specified by:
fetchCodeSystem
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
lookupCode
public ca.uhn.fhir.context.support.IValidationSupport.LookupCodeResult lookupCode(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, @Nonnull ca.uhn.fhir.context.support.LookupCodeRequest theLookupCodeRequest) - Specified by:
lookupCode
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
getErrorMessage
-
createConceptProperty
public static ca.uhn.fhir.context.support.IValidationSupport.BaseConceptProperty createConceptProperty(String theName, org.hl7.fhir.instance.model.api.IBaseDatatype theValue) -
fetchValueSet
- Specified by:
fetchValueSet
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
isCodeSystemSupported
public boolean isCodeSystemSupported(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, String theSystem) - Specified by:
isCodeSystemSupported
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
isValueSetSupported
public boolean isValueSetSupported(ca.uhn.fhir.context.support.ValidationSupportContext theValidationSupportContext, String theValueSetUrl) - Specified by:
isValueSetSupported
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
translateConcept
public ca.uhn.fhir.context.support.TranslateConceptResults translateConcept(ca.uhn.fhir.context.support.IValidationSupport.TranslateCodeRequest theRequest) - Specified by:
translateConcept
in interfaceca.uhn.fhir.context.support.IValidationSupport
-
getBaseUrl
-
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) -
createCodeValidationIssues
public static Optional<Collection<ca.uhn.fhir.context.support.IValidationSupport.CodeValidationIssue>> createCodeValidationIssues(org.hl7.fhir.instance.model.api.IBaseOperationOutcome theOperationOutcome, ca.uhn.fhir.context.FhirVersionEnum theFhirVersion) Creates a list ofIValidationSupport.CodeValidationIssue
from the issues returned by the $validate-code operation. Please note that this method should only be used for Remote Terminology for now as it only translates issues text/message and assumes all other fields. When issues will be supported across all validators in hapi-fhir, a proper generic conversion method should be available and this method will be deleted.- Parameters:
theOperationOutcome
- the outcome of the $validate-code operationtheFhirVersion
- the FHIR version- Returns:
- the list of
IValidationSupport.CodeValidationIssue
-
buildValidateCodeInputParameters
protected org.hl7.fhir.instance.model.api.IBaseParameters buildValidateCodeInputParameters(String theCodeSystem, String theCode, String theDisplay, String theValueSetUrl, org.hl7.fhir.instance.model.api.IBaseResource theValueSet) -
setBaseUrl
Sets the FHIR Terminology Server base URL- Parameters:
theBaseUrl
- The base URL, e.g. "..."
-
addClientInterceptor
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)
-