Class CareGapsOperation
- java.lang.Object
-
- org.linuxforhealth.fhir.server.spi.operation.AbstractOperation
-
- org.linuxforhealth.fhir.operation.cqf.AbstractMeasureOperation
-
- org.linuxforhealth.fhir.operation.cqf.CareGapsOperation
-
- All Implemented Interfaces:
FHIROperation
public class CareGapsOperation extends AbstractMeasureOperation
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PARAM_IN_SUBJECT
static java.lang.String
PARAM_IN_TOPIC
static java.lang.String
PARAM_OUT_RETURN
-
Fields inherited from class org.linuxforhealth.fhir.operation.cqf.AbstractMeasureOperation
CQL_PARAM_MEASUREMENT_PERIOD, PARAM_IN_PERIOD_END, PARAM_IN_PERIOD_START
-
Fields inherited from class org.linuxforhealth.fhir.server.spi.operation.AbstractOperation
definition
-
-
Constructor Summary
Constructors Constructor Description CareGapsOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected OperationDefinition
buildOperationDefinition()
protected Parameters
doInvoke(FHIROperationContext operationContext, java.lang.Class<? extends Resource> resourceType, java.lang.String logicalId, java.lang.String versionId, Parameters parameters, FHIRResourceHelpers resourceHelper, SearchHelper searchHelper)
This is the method that concrete subclasses must implement to perform the operation logic.protected Bundle
processAllMeasures(FHIRBundleCursor cursor, java.lang.String subject, java.time.ZoneOffset zoneOffset, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, FHIRResourceHelpers resourceHelper, org.opencds.cqf.cql.engine.terminology.TerminologyProvider termProvider, java.util.Map<java.lang.String,org.opencds.cqf.cql.engine.data.DataProvider> dataProviders)
Evaluate all of the measures matching the specified care gap topic.-
Methods inherited from class org.linuxforhealth.fhir.operation.cqf.AbstractMeasureOperation
doMeasureEvaluation, getMeasurementPeriod, getRetrieveProvider, getTerminologyProvider, getZoneOffset
-
Methods inherited from class org.linuxforhealth.fhir.server.spi.operation.AbstractOperation
buildExceptionWithIssue, buildExceptionWithIssue, countParameters, findOpDefParameter, getDefinition, getName, getParameter, getParameterDefinitions, getParameters, getResourceTypeNames, invoke, isAbstractResourceTypesDisallowed, isAdditionalMethodAllowed, validateInputParameters, validateOperationContext, validateOutputParameters, validateParameters
-
-
-
-
Field Detail
-
PARAM_IN_TOPIC
public static final java.lang.String PARAM_IN_TOPIC
- See Also:
- Constant Field Values
-
PARAM_IN_SUBJECT
public static final java.lang.String PARAM_IN_SUBJECT
- See Also:
- Constant Field Values
-
PARAM_OUT_RETURN
public static final java.lang.String PARAM_OUT_RETURN
- See Also:
- Constant Field Values
-
-
Method Detail
-
buildOperationDefinition
protected OperationDefinition buildOperationDefinition()
- Specified by:
buildOperationDefinition
in classAbstractOperation
-
doInvoke
protected Parameters doInvoke(FHIROperationContext operationContext, java.lang.Class<? extends Resource> resourceType, java.lang.String logicalId, java.lang.String versionId, Parameters parameters, FHIRResourceHelpers resourceHelper, SearchHelper searchHelper) throws FHIROperationException
Description copied from class:AbstractOperation
This is the method that concrete subclasses must implement to perform the operation logic.- Specified by:
doInvoke
in classAbstractOperation
- Returns:
- the Parameters object to return or null if there is no response Parameters object to return
- Throws:
FHIROperationException
-
processAllMeasures
protected Bundle processAllMeasures(FHIRBundleCursor cursor, java.lang.String subject, java.time.ZoneOffset zoneOffset, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, FHIRResourceHelpers resourceHelper, org.opencds.cqf.cql.engine.terminology.TerminologyProvider termProvider, java.util.Map<java.lang.String,org.opencds.cqf.cql.engine.data.DataProvider> dataProviders) throws FHIROperationException
Evaluate all of the measures matching the specified care gap topic. The measure reports are bundled together and returned as a result.- Parameters:
cursor
- Provides an iterator over the Measure resources that match the topicsubject
- Subject for which the measures will be evaluated (e.g. Patient ID)zoneOffset
- Timezone offset to be used by the CQL engine for date operationsmeasurementPeriod
- Measurement Period provided as input to all measuresresourceHelper
- Provides data access operationstermProvider
- Terminology ProviderdataProviders
- Data Providers- Returns:
- Bundle containing a MeasureReport resource for each evaluated measure.
- Throws:
FHIROperationException
-
-