Interface IWorkerContext

All Known Implementing Classes:
BaseWorkerContext, HapiWorkerContext, SimpleWorkerContext

public interface IWorkerContext
This is the standard interface used for access to underlying FHIR services through the tools and utilities provided by the reference implementation. The functionality it provides is - get access to parsers, validators, narrative builders etc (you can't create these directly because they need access to the right context for their information) - find resources that the tools need to carry out their tasks - provide access to terminology services they need. (typically, these terminology service requests are just passed through to the local implementation's terminology service)
Author:
Grahame
  • Method Details

    • getVersion

      Get the versions of the definitions loaded in context
      Returns:
    • getParser

      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)
      Parameters:
      type -
      Returns:
    • getParser

      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
      Parameters:
      type -
      Returns:
    • newJsonParser

      Get a JSON parser
      Returns:
    • newXmlParser

      Get an XML parser
      Returns:
    • getNarrativeGenerator

      Get a generator that can generate narrative for the instance
      Returns:
      a prepared generator
    • newValidator

      IResourceValidator newValidator() throws org.hl7.fhir.exceptions.FHIRException
      Get a validator that can check whether a resource is valid
      Returns:
      a prepared generator
      Throws:
      org.hl7.fhir.exceptions.FHIRException
    • fetchResource

      <T extends Resource> T fetchResource(Class<T> class_, String uri)
      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
      Parameters:
      resource -
      Reference -
      Returns:
      Throws:
      org.hl7.fhir.exceptions.FHIRException
      Exception
    • fetchResourceWithException

      <T extends Resource> T fetchResourceWithException(Class<T> class_, String uri) throws org.hl7.fhir.exceptions.FHIRException
      Throws:
      org.hl7.fhir.exceptions.FHIRException
    • hasResource

      <T extends Resource> boolean hasResource(Class<T> class_, String uri)
      find whether a resource is available. Implementations of the interface can assume that if hasResource ruturns true, the resource will usually be fetched subsequently
      Parameters:
      class_ -
      uri -
      Returns:
    • getResourceNames

    • getResourceNamesAsSet

    • getTypeNames

    • allStructures

    • allConformanceResources

    • getExpansionProfile

    • setExpansionProfile

    • fetchCodeSystem

      Find the code system definition for the nominated system uri. return null if there isn't one (then the tool might try supportsSystem)
      Parameters:
      system -
      Returns:
    • supportsSystem

      boolean supportsSystem(String system) throws org.hl7.fhir.exceptions.TerminologyServiceException
      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
      Parameters:
      system -
      Returns:
      Throws:
      Exception
      org.hl7.fhir.exceptions.TerminologyServiceException
    • findMapsForSource

      find concept maps for a source
      Parameters:
      url -
      Returns:
    • expandVS

      ValueSetExpander.ValueSetExpansionOutcome expandVS(ValueSet source, boolean cacheOk, boolean heiarchical)
      ValueSet Expansion - see $expand
      Parameters:
      source -
      Returns:
    • expandVS

      ValueSet.ValueSetExpansionComponent expandVS(ValueSet.ConceptSetComponent inc, boolean heiarchical) throws org.hl7.fhir.exceptions.TerminologyServiceException
      Value set expanion inside the internal expansion engine - used for references to supported system (see "supportsSystem") for which there is no value set.
      Parameters:
      inc -
      Returns:
      Throws:
      org.hl7.fhir.exceptions.FHIRException
      org.hl7.fhir.exceptions.TerminologyServiceException
    • getLocale

    • setLocale

      void setLocale(Locale locale)
    • formatMessage

      String formatMessage(String theMessage, Object... theMessageArguments)
    • setValidationMessageLanguage

    • validateCode

      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
      Parameters:
      system -
      code -
      display -
      Returns:
    • validateCode

      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
      Parameters:
      system -
      code -
      display -
      Returns:
    • validateCode

    • validateCode

    • validateCode

      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
      Parameters:
      system -
      code -
      display -
      Returns:
    • getAbbreviation

      returns the recommended tla for the type
      Parameters:
      name -
      Returns:
    • typeTails

    • oid2Uri

    • hasCache

      boolean hasCache()
    • setLogger

    • isNoTerminologyServer

    • fetchTypeDefinition