Package org.hl7.fhir.r4.hapi.ctx
Class HapiWorkerContext
java.lang.Object
org.hl7.fhir.utilities.i18n.I18nBase
org.hl7.fhir.r4.hapi.ctx.HapiWorkerContext
- All Implemented Interfaces:
IWorkerContext
public final class HapiWorkerContext
extends org.hl7.fhir.utilities.i18n.I18nBase
implements IWorkerContext
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hl7.fhir.r4.context.IWorkerContext
IWorkerContext.ILoggingService, IWorkerContext.ValidationResult
-
Field Summary
Fields inherited from class org.hl7.fhir.utilities.i18n.I18nBase
KEY_DELIMITER, locale, PLURAL_SUFFIX
-
Constructor Summary
ConstructorDescriptionHapiWorkerContext
(ca.uhn.fhir.context.FhirContext theCtx, ca.uhn.fhir.context.support.IValidationSupport theValidationSupport) -
Method Summary
Modifier and TypeMethodDescriptionvoid
cacheResource
(Resource theRes) cache a resource for later retrieval using fetchResource.static ca.uhn.fhir.context.support.ConceptValidationOptions
convertConceptValidationOptions
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions) expandVS
(ElementDefinition.ElementDefinitionBindingComponent theBinding, boolean theCacheOk, boolean theHierarchical) ValueSet Expansion - see $expand, but resolves the binding firstexpandVS
(ValueSet.ConceptSetComponent theInc, boolean theHierarchical) Value set expanion inside the internal expansion engine - used for references to supported system (see "supportsSystem") for which there is no value set.ValueSet Expansion - see $expandfetchCodeSystem
(String theSystem) Find the code system definition for the nominated system uri.<T extends Resource>
TfetchResource
(Class<T> theClass, String theUri) Find an identified resource.<T extends Resource>
TfetchResource
(Class<T> theClass, String theUri, String theVersion) fetchResourceById
(String theType, String theUri) Variation of fetchResource when you have a string type, and don't need the right class The URI can have one of 3 formats: - a full URL e.g.<T extends Resource>
TfetchResourceWithException
(Class<T> theClass, String theUri) fetchTypeDefinition
(String theTypeName) findMapsForSource
(String theUrl) find concept maps for a sourcevoid
getAbbreviation
(String theName) returns the recommended tla for the typegetLinkForUrl
(String corePath, String url) getNarrativeGenerator
(String thePrefix, String theBasePath) Get a generator that can generate narrative for the instanceGet a parser to read/write instances.getParser
(ParserType theType) Get a parser to read/write instances.getTransform
(String url) org.fhir.ucum.UcumService
Get the versions of the definitions loaded in contextboolean
hasCache()
<T extends Resource>
booleanhasResource
(Class<T> theClass_, String theUri) find whether a resource is available.boolean
boolean
isPrimitiveType
(String theType) Get a JSON parserGet a validator that can check whether a resource is validGet an XML parservoid
setExpansionProfile
(Parameters theExpParameters) void
setLogger
(IWorkerContext.ILoggingService theLogger) void
setOverrideVersionNs
(String value) void
setUcumService
(org.fhir.ucum.UcumService ucumService) boolean
supportsSystem
(String theSystem) True if the underlying terminology service provider will do expansion and code validation for the terminology.org.hl7.fhir.utilities.TranslationServices
validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay) Validation of a code - consult the terminology service to see whether it is known.validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay, ValueSet theVs) Validation of a code - consult the terminology service to see whether it is known.validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay, ValueSet.ConceptSetComponent theVsi) Validation of a code - consult the terminology service to see whether it is known.validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String code, ValueSet vs) validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, CodeableConcept theCode, ValueSet theVs) validateCode
(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, Coding theCode, ValueSet theVs) Methods inherited from class org.hl7.fhir.utilities.i18n.I18nBase
formatMessage, formatMessagePlural, getLocale, getMessagesSourceFileName, getPluralKey, getPluralKeys, getPluralSuffixes, getRootKeyFromPlural, isWarnAboutMissingMessages, messageKeyExistsForLocale, setLocale, setPluralRules, setValidationMessageLanguage, setWarnAboutMissingMessages, typeOfString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hl7.fhir.r4.context.IWorkerContext
formatMessage, formatMessagePlural, getLocale, setLocale, setValidationMessageLanguage
-
Constructor Details
-
HapiWorkerContext
public HapiWorkerContext(ca.uhn.fhir.context.FhirContext theCtx, ca.uhn.fhir.context.support.IValidationSupport theValidationSupport)
-
-
Method Details
-
allStructures
- Specified by:
allStructures
in interfaceIWorkerContext
-
getStructures
- Specified by:
getStructures
in interfaceIWorkerContext
-
fetchCodeSystem
Description copied from interface:IWorkerContext
Find the code system definition for the nominated system uri. return null if there isn't one (then the tool might try supportsSystem)- Specified by:
fetchCodeSystem
in interfaceIWorkerContext
- Parameters:
theSystem
-- Returns:
-
findMapsForSource
Description copied from interface:IWorkerContext
find concept maps for a source- Specified by:
findMapsForSource
in interfaceIWorkerContext
- Parameters:
theUrl
-- Returns:
-
getAbbreviation
Description copied from interface:IWorkerContext
returns the recommended tla for the type- Specified by:
getAbbreviation
in interfaceIWorkerContext
- Parameters:
theName
-- Returns:
-
getNarrativeGenerator
Description copied from interface:IWorkerContext
Get a generator that can generate narrative for the instance- Specified by:
getNarrativeGenerator
in interfaceIWorkerContext
- Returns:
- a prepared generator
-
getParser
Description copied from interface:IWorkerContext
Get a parser to read/write instances. Use the defined type (will be extended as further types are added, though the only currently anticipate type is RDF) XML/JSON - the standard renderers XHTML - render the narrative only (generate it if necessary)- Specified by:
getParser
in interfaceIWorkerContext
- Parameters:
theType
-- Returns:
-
getParser
Description copied from interface:IWorkerContext
Get a parser to read/write instances. Determine the type from the stated type. Supported value for type: - the recommended MIME types - variants of application/xml and application/json - _format values xml, json- Specified by:
getParser
in interfaceIWorkerContext
- Parameters:
theType
-- Returns:
-
getResourceNames
- Specified by:
getResourceNames
in interfaceIWorkerContext
-
newJsonParser
Description copied from interface:IWorkerContext
Get a JSON parser- Specified by:
newJsonParser
in interfaceIWorkerContext
- Returns:
-
newValidator
Description copied from interface:IWorkerContext
Get a validator that can check whether a resource is valid- Specified by:
newValidator
in interfaceIWorkerContext
- Returns:
- a prepared generator
-
newXmlParser
Description copied from interface:IWorkerContext
Get an XML parser- Specified by:
newXmlParser
in interfaceIWorkerContext
- Returns:
-
oid2Uri
- Specified by:
oid2Uri
in interfaceIWorkerContext
-
supportsSystem
Description copied from interface:IWorkerContext
True if the underlying terminology service provider will do expansion and code validation for the terminology. Corresponds to the extension http://hl7.org/fhir/StructureDefinition/capabilitystatement-supported-system in the Conformance resource- Specified by:
supportsSystem
in interfaceIWorkerContext
- Parameters:
theSystem
-- Returns:
-
typeTails
- Specified by:
typeTails
in interfaceIWorkerContext
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, CodeableConcept theCode, ValueSet theVs) - Specified by:
validateCode
in interfaceIWorkerContext
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, Coding theCode, ValueSet theVs) - Specified by:
validateCode
in interfaceIWorkerContext
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay) Description copied from interface:IWorkerContext
Validation of a code - consult the terminology service to see whether it is known. If known, return a description of it note: always return a result, with either an error or a code description corresponds to 2 terminology service calls: $validate-code and $lookup- Specified by:
validateCode
in interfaceIWorkerContext
- Parameters:
theSystem
-theCode
-theDisplay
-- Returns:
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay, ValueSet.ConceptSetComponent theVsi) Description copied from interface:IWorkerContext
Validation of a code - consult the terminology service to see whether it is known. If known, return a description of it Also, check whether it's in the provided value set fragment (for supported systems with no value set definition) note: always return a result, with either an error or a code description, or both (e.g. known code, but not in the value set) corresponds to 2 terminology service calls: $validate-code and $lookup- Specified by:
validateCode
in interfaceIWorkerContext
- Parameters:
theSystem
-theCode
-theDisplay
-- Returns:
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String theSystem, String theCode, String theDisplay, ValueSet theVs) Description copied from interface:IWorkerContext
Validation of a code - consult the terminology service to see whether it is known. If known, return a description of it Also, check whether it's in the provided value set note: always return a result, with either an error or a code description, or both (e.g. known code, but not in the value set) corresponds to 2 terminology service calls: $validate-code and $lookup- Specified by:
validateCode
in interfaceIWorkerContext
- Parameters:
theSystem
-theCode
-theDisplay
-- Returns:
-
validateCode
public IWorkerContext.ValidationResult validateCode(org.hl7.fhir.utilities.validation.ValidationOptions theOptions, String code, ValueSet vs) - Specified by:
validateCode
in interfaceIWorkerContext
-
allConformanceResources
- Specified by:
allConformanceResources
in interfaceIWorkerContext
-
generateSnapshot
- Specified by:
generateSnapshot
in interfaceIWorkerContext
- Throws:
org.hl7.fhir.exceptions.FHIRException
-
getExpansionParameters
- Specified by:
getExpansionParameters
in interfaceIWorkerContext
-
setExpansionProfile
- Specified by:
setExpansionProfile
in interfaceIWorkerContext
-
hasCache
- Specified by:
hasCache
in interfaceIWorkerContext
-
expandVS
public ValueSetExpander.ValueSetExpansionOutcome expandVS(ValueSet theSource, boolean theCacheOk, boolean theHierarchical) Description copied from interface:IWorkerContext
ValueSet Expansion - see $expand- Specified by:
expandVS
in interfaceIWorkerContext
- Parameters:
theSource
-- Returns:
-
expandVS
public ValueSetExpander.ValueSetExpansionOutcome expandVS(ValueSet.ConceptSetComponent theInc, boolean theHierarchical) throws org.hl7.fhir.exceptions.TerminologyServiceException Description copied from interface:IWorkerContext
Value set expanion inside the internal expansion engine - used for references to supported system (see "supportsSystem") for which there is no value set.- Specified by:
expandVS
in interfaceIWorkerContext
- Parameters:
theInc
-- Returns:
- Throws:
org.hl7.fhir.exceptions.TerminologyServiceException
-
getLogger
- Specified by:
getLogger
in interfaceIWorkerContext
-
setLogger
- Specified by:
setLogger
in interfaceIWorkerContext
-
getVersion
Description copied from interface:IWorkerContext
Get the versions of the definitions loaded in context- Specified by:
getVersion
in interfaceIWorkerContext
- Returns:
-
getUcumService
- Specified by:
getUcumService
in interfaceIWorkerContext
-
setUcumService
- Specified by:
setUcumService
in interfaceIWorkerContext
-
isNoTerminologyServer
- Specified by:
isNoTerminologyServer
in interfaceIWorkerContext
-
translator
- Specified by:
translator
in interfaceIWorkerContext
-
listTransforms
- Specified by:
listTransforms
in interfaceIWorkerContext
-
getTransform
- Specified by:
getTransform
in interfaceIWorkerContext
-
getOverrideVersionNs
- Specified by:
getOverrideVersionNs
in interfaceIWorkerContext
-
setOverrideVersionNs
- Specified by:
setOverrideVersionNs
in interfaceIWorkerContext
-
fetchTypeDefinition
- Specified by:
fetchTypeDefinition
in interfaceIWorkerContext
-
getLinkForUrl
- Specified by:
getLinkForUrl
in interfaceIWorkerContext
-
getTypeNames
- Specified by:
getTypeNames
in interfaceIWorkerContext
-
fetchResource
Description copied from interface:IWorkerContext
Find an identified resource. The most common use of this is to access the the standard conformance resources that are part of the standard - structure definitions, value sets, concept maps, etc. Also, the narrative generator uses this, and may access any kind of resource The URI is called speculatively for things that might exist, so not finding a matching resouce, return null, not an error The URI can have one of 3 formats: - a full URL e.g. http://acme.org/fhir/ValueSet/[id] - a relative URL e.g. ValueSet/[id] - a logical id e.g. [id] It's an error if the second form doesn't agree with class_. It's an error if class_ is null for the last form- Specified by:
fetchResource
in interfaceIWorkerContext
- Returns:
-
fetchResource
- Specified by:
fetchResource
in interfaceIWorkerContext
-
fetchResourceWithException
public <T extends Resource> T fetchResourceWithException(Class<T> theClass, String theUri) throws org.hl7.fhir.exceptions.FHIRException - Specified by:
fetchResourceWithException
in interfaceIWorkerContext
- Throws:
org.hl7.fhir.exceptions.FHIRException
-
fetchResourceById
Description copied from interface:IWorkerContext
Variation of fetchResource when you have a string type, and don't need the right class The URI can have one of 3 formats: - a full URL e.g. http://acme.org/fhir/ValueSet/[id] - a relative URL e.g. ValueSet/[id] - a logical id e.g. [id] if type == null, the URI can't be a simple logical id- Specified by:
fetchResourceById
in interfaceIWorkerContext
- Parameters:
theType
-theUri
-- Returns:
-
hasResource
Description copied from interface:IWorkerContext
find whether a resource is available. Implementations of the interface can assume that if hasResource ruturns true, the resource will usually be fetched subsequently- Specified by:
hasResource
in interfaceIWorkerContext
- Parameters:
theClass_
-theUri
-- Returns:
-
cacheResource
Description copied from interface:IWorkerContext
cache a resource for later retrieval using fetchResource. Note that various context implementations will have their own ways of loading rseources, and not all need implement cacheResource- Specified by:
cacheResource
in interfaceIWorkerContext
- Parameters:
theRes
-- Throws:
org.hl7.fhir.exceptions.FHIRException
-
getResourceNamesAsSet
- Specified by:
getResourceNamesAsSet
in interfaceIWorkerContext
-
expandVS
public ValueSetExpander.ValueSetExpansionOutcome expandVS(ElementDefinition.ElementDefinitionBindingComponent theBinding, boolean theCacheOk, boolean theHierarchical) throws org.hl7.fhir.exceptions.FHIRException Description copied from interface:IWorkerContext
ValueSet Expansion - see $expand, but resolves the binding first- Specified by:
expandVS
in interfaceIWorkerContext
- Returns:
- Throws:
org.hl7.fhir.exceptions.FHIRException
-
convertConceptValidationOptions
public static ca.uhn.fhir.context.support.ConceptValidationOptions convertConceptValidationOptions(org.hl7.fhir.utilities.validation.ValidationOptions theOptions) -
isPrimitiveType
- Specified by:
isPrimitiveType
in interfaceIWorkerContext
-