Package com.ibm.fhir.cql.engine.retrieve
Class SearchParameterFHIRRetrieveProvider
- java.lang.Object
-
- org.opencds.cqf.cql.engine.retrieve.TerminologyAwareRetrieveProvider
-
- com.ibm.fhir.cql.engine.retrieve.SearchParameterFHIRRetrieveProvider
-
- All Implemented Interfaces:
org.opencds.cqf.cql.engine.retrieve.RetrieveProvider
- Direct Known Subclasses:
RestFHIRRetrieveProvider,ServerFHIRRetrieveProvider
public abstract class SearchParameterFHIRRetrieveProvider extends org.opencds.cqf.cql.engine.retrieve.TerminologyAwareRetrieveProviderProvide support for CQL Engine RetrieveProvider implementations that wish to build retrieve support on top of query parameters defined in the FHIR REST API specification.
-
-
Constructor Summary
Constructors Constructor Description SearchParameterFHIRRetrieveProvider(SearchParameterResolver searchParameterResolver)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.Iterable<java.lang.Object>executeQueries(java.lang.String resourceType, java.util.List<SearchParameterMap> queries)protected SearchParameterMapgetBaseMap(org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> templateParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> contextParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter> dateRangeParam)protected java.util.List<IQueryParameterOr<?>>getCodeParams(java.lang.String name, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet)protected org.apache.commons.lang3.tuple.Pair<java.lang.String,java.util.List<IQueryParameterOr<?>>>getCodeParams(java.lang.String resourceType, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet)protected org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter>getContextParam(java.lang.String resourceType, java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue)protected org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter>getDateRangeParam(java.lang.String resourceType, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange)intgetMaxCodesPerQuery()protected java.lang.StringgetModifiedName(java.lang.String name, IQueryParameter param)Given a query parameter name and contents, transmute the name into something that includes all the appropriate modifiers.java.lang.IntegergetPageSize()protected org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter>getTemplateParam(java.lang.String resourceType, java.lang.String templateId)protected java.util.List<SearchParameterMap>innerSetupQueries(java.lang.String resourceType, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> templateParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> contextParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter> dateRangeParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,java.util.List<IQueryParameterOr<?>>> codeParams)java.lang.Iterable<java.lang.Object>retrieve(java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue, java.lang.String dataType, java.lang.String templateId, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange)voidsetMaxCodesPerQuery(int value)voidsetPageSize(java.lang.Integer value)protected java.util.List<SearchParameterMap>setupQueries(java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue, java.lang.String resourceType, java.lang.String templateId, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange)
-
-
-
Constructor Detail
-
SearchParameterFHIRRetrieveProvider
public SearchParameterFHIRRetrieveProvider(SearchParameterResolver searchParameterResolver)
-
-
Method Detail
-
setPageSize
public void setPageSize(java.lang.Integer value)
-
getPageSize
public java.lang.Integer getPageSize()
-
setMaxCodesPerQuery
public void setMaxCodesPerQuery(int value)
-
getMaxCodesPerQuery
public int getMaxCodesPerQuery()
-
executeQueries
protected abstract java.lang.Iterable<java.lang.Object> executeQueries(java.lang.String resourceType, java.util.List<SearchParameterMap> queries) throws java.lang.Exception- Throws:
java.lang.Exception
-
retrieve
public java.lang.Iterable<java.lang.Object> retrieve(java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue, java.lang.String dataType, java.lang.String templateId, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange)
-
setupQueries
protected java.util.List<SearchParameterMap> setupQueries(java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue, java.lang.String resourceType, java.lang.String templateId, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange) throws java.lang.Exception
- Throws:
java.lang.Exception
-
innerSetupQueries
protected java.util.List<SearchParameterMap> innerSetupQueries(java.lang.String resourceType, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> templateParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> contextParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter> dateRangeParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,java.util.List<IQueryParameterOr<?>>> codeParams) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getTemplateParam
protected org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> getTemplateParam(java.lang.String resourceType, java.lang.String templateId)
-
getContextParam
protected org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> getContextParam(java.lang.String resourceType, java.lang.String context, java.lang.String contextPath, java.lang.Object contextValue) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getDateRangeParam
protected org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter> getDateRangeParam(java.lang.String resourceType, java.lang.String datePath, java.lang.String dateLowPath, java.lang.String dateHighPath, org.opencds.cqf.cql.engine.runtime.Interval dateRange) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getCodeParams
protected org.apache.commons.lang3.tuple.Pair<java.lang.String,java.util.List<IQueryParameterOr<?>>> getCodeParams(java.lang.String resourceType, java.lang.String codePath, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getCodeParams
protected java.util.List<IQueryParameterOr<?>> getCodeParams(java.lang.String name, java.lang.Iterable<org.opencds.cqf.cql.engine.runtime.Code> codes, java.lang.String valueSet)
-
getBaseMap
protected SearchParameterMap getBaseMap(org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> templateParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,IQueryParameter> contextParam, org.apache.commons.lang3.tuple.Pair<java.lang.String,DateRangeParameter> dateRangeParam) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getModifiedName
protected java.lang.String getModifiedName(java.lang.String name, IQueryParameter param)Given a query parameter name and contents, transmute the name into something that includes all the appropriate modifiers.- Parameters:
name- query parameter nameparam- query parameter contents- Returns:
- query parameter name with appropriate modifiers appended
-
-