Class ExpressionProcessor

java.lang.Object
org.opencds.cqf.fhir.cr.common.ExpressionProcessor

public class ExpressionProcessor extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final String
     
    protected static final org.slf4j.Logger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <E extends org.hl7.fhir.instance.model.api.IBaseExtension<?, ?>>
    org.opencds.cqf.fhir.cql.CqfExpression
    getCqfExpression(IOperationRequest request, List<E> extensions, String extensionUrl)
    Returns a CqfExpression from a list of extensions filtered by the given url.
    org.opencds.cqf.fhir.cql.CqfExpression
    getCqfExpressionForElement(IOperationRequest request, org.hl7.fhir.instance.model.api.IBaseBackboneElement element)
    Returns a CqfExpression from a given element that contains an Expression element.
    List<org.hl7.fhir.instance.model.api.IBase>
    getExpressionResult(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression)
    Returns the results of a given CqfExpression
    List<org.hl7.fhir.instance.model.api.IBase>
    getExpressionResult(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression, org.hl7.fhir.instance.model.api.IBaseParameters parameters)
    Returns the results of a given CqfExpression with overridden parameters
    List<org.hl7.fhir.instance.model.api.IBase>
    getExpressionResultForItem(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression, String itemLinkId)
    Returns the results of a given CqfExpression for an item
    org.opencds.cqf.fhir.cql.CqfExpression
    getItemInitialExpression(IOperationRequest request, org.hl7.fhir.instance.model.api.IBaseBackboneElement item)
    Returns a CqfExpression for the initial expression of a given item with an SDC Initial Expression Extension "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      protected static final org.slf4j.Logger logger
    • EXCEPTION_MESSAGE_TEMPLATE

      protected static final String EXCEPTION_MESSAGE_TEMPLATE
      See Also:
  • Constructor Details

    • ExpressionProcessor

      public ExpressionProcessor()
  • Method Details

    • getExpressionResultForItem

      public List<org.hl7.fhir.instance.model.api.IBase> getExpressionResultForItem(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression, String itemLinkId) throws ResolveExpressionException
      Returns the results of a given CqfExpression for an item
      Parameters:
      request - operation request with parameters
      expression - CqfExpression to evaluate
      itemLinkId - link Id of the item
      Returns:
      Throws:
      ResolveExpressionException
    • getExpressionResult

      public List<org.hl7.fhir.instance.model.api.IBase> getExpressionResult(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression)
      Returns the results of a given CqfExpression
      Parameters:
      request - operation request with parameters
      expression - CqfExpression to evaluate
      Returns:
    • getExpressionResult

      public List<org.hl7.fhir.instance.model.api.IBase> getExpressionResult(IOperationRequest request, org.opencds.cqf.fhir.cql.CqfExpression expression, org.hl7.fhir.instance.model.api.IBaseParameters parameters)
      Returns the results of a given CqfExpression with overridden parameters
      Parameters:
      request - operation request with parameters
      expression - CqfExpression to evaluate
      parameters - the parameters to use in place of the request parameters
      Returns:
    • getCqfExpression

      public <E extends org.hl7.fhir.instance.model.api.IBaseExtension<?, ?>> org.opencds.cqf.fhir.cql.CqfExpression getCqfExpression(IOperationRequest request, List<E> extensions, String extensionUrl)
      Returns a CqfExpression from a list of extensions filtered by the given url. This is done against a list of extensions to support the lack of an Expression type in Dstu3.
      Parameters:
      request - operation request with parameters
      extensions - list of extensions to pull the CqfExpression from
      extensionUrl - the list of extensions will be filtered by this url
      Returns:
    • getCqfExpressionForElement

      public org.opencds.cqf.fhir.cql.CqfExpression getCqfExpressionForElement(IOperationRequest request, org.hl7.fhir.instance.model.api.IBaseBackboneElement element)
      Returns a CqfExpression from a given element that contains an Expression element.
      Parameters:
      request - operation request with parameters
      element - the element to pull the Expression element from
      Returns:
    • getItemInitialExpression

      public org.opencds.cqf.fhir.cql.CqfExpression getItemInitialExpression(IOperationRequest request, org.hl7.fhir.instance.model.api.IBaseBackboneElement item)
      Returns a CqfExpression for the initial expression of a given item with an SDC Initial Expression Extension "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression"
      Parameters:
      request - operation request with parameters
      item - the item
      Returns: