Package com.ibm.fhir.ecqm.common
Class MeasureEvaluation<BaseT,MeasureT extends BaseT,MeasureGroupComponentT extends BaseT,MeasureGroupPopulationComponentT extends BaseT,MeasureSupplementalDataComponentT extends BaseT,MeasureReportT extends BaseT,MeasureReportGroupComponentT extends BaseT,MeasureReportGroupPopulationComponentT extends BaseT,CodingT extends BaseT,ExtensionT extends BaseT,ReferenceT extends BaseT,ListResourceT extends ResourceT,ListEntryT extends BaseT,ResourceT,SubjectT extends ResourceT>
- java.lang.Object
-
- com.ibm.fhir.ecqm.common.MeasureEvaluation<BaseT,MeasureT,MeasureGroupComponentT,MeasureGroupPopulationComponentT,MeasureSupplementalDataComponentT,MeasureReportT,MeasureReportGroupComponentT,MeasureReportGroupPopulationComponentT,CodingT,ExtensionT,ReferenceT,ListResourceT,ListEntryT,ResourceT,SubjectT>
-
- Direct Known Subclasses:
R4MeasureEvaluation
public abstract class MeasureEvaluation<BaseT,MeasureT extends BaseT,MeasureGroupComponentT extends BaseT,MeasureGroupPopulationComponentT extends BaseT,MeasureSupplementalDataComponentT extends BaseT,MeasureReportT extends BaseT,MeasureReportGroupComponentT extends BaseT,MeasureReportGroupPopulationComponentT extends BaseT,CodingT extends BaseT,ExtensionT extends BaseT,ReferenceT extends BaseT,ListResourceT extends ResourceT,ListEntryT extends BaseT,ResourceT,SubjectT extends ResourceT> extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected org.opencds.cqf.cql.engine.execution.Context
context
static String
EXT_DAVINCI_POPULATION_REFERENCE
protected Function<ResourceT,String>
getId
protected MeasureT
measure
protected org.opencds.cqf.cql.engine.runtime.Interval
measurementPeriod
protected String
packageName
protected String
subjectOrPractitionerId
static String
URL_CODESYSTEM_MEASURE_POPULATION
-
Constructor Summary
Constructors Constructor Description MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, MeasureT measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<ResourceT,String> getId)
MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, MeasureT measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<ResourceT,String> getId, String patientOrPractitionerId)
-
Method Summary
-
-
-
Field Detail
-
URL_CODESYSTEM_MEASURE_POPULATION
public static final String URL_CODESYSTEM_MEASURE_POPULATION
- See Also:
- Constant Field Values
-
EXT_DAVINCI_POPULATION_REFERENCE
public static final String EXT_DAVINCI_POPULATION_REFERENCE
- See Also:
- Constant Field Values
-
context
protected org.opencds.cqf.cql.engine.execution.Context context
-
subjectOrPractitionerId
protected String subjectOrPractitionerId
-
measurementPeriod
protected org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod
-
packageName
protected String packageName
-
-
Method Detail
-
getMeasureScoring
protected abstract MeasureScoring getMeasureScoring()
-
getCriteriaExpression
protected abstract String getCriteriaExpression(MeasureGroupPopulationComponentT mgpc)
-
setGroupScore
protected abstract void setGroupScore(MeasureReportGroupComponentT mrgc, Double score)
-
getPopulationType
protected abstract MeasurePopulationType getPopulationType(MeasureGroupPopulationComponentT mgpc)
-
getGroup
protected abstract Iterable<MeasureGroupComponentT> getGroup()
-
getPopulation
protected abstract Iterable<MeasureGroupPopulationComponentT> getPopulation(MeasureGroupComponentT mgc)
-
addPopulationReport
protected abstract void addPopulationReport(MeasureReportT report, MeasureReportGroupComponentT reportGroup, MeasureGroupPopulationComponentT populationCriteria, int populationCount, Iterable<SubjectT> subjectPopulation)
-
createMeasureReport
protected abstract MeasureReportT createMeasureReport(String status, MeasureReportType type, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, List<SubjectT> subjects)
-
createReportGroup
protected abstract MeasureReportGroupComponentT createReportGroup(String id)
-
getGroupId
protected abstract String getGroupId(MeasureGroupComponentT group)
-
addReportGroup
protected abstract void addReportGroup(MeasureReportT report, MeasureReportGroupComponentT group)
-
getSupplementalData
protected abstract List<MeasureSupplementalDataComponentT> getSupplementalData(MeasureT measure)
-
getSDEExpression
protected abstract String getSDEExpression(MeasureSupplementalDataComponentT sdeItem)
-
getSDECoding
protected abstract CodingT getSDECoding(MeasureSupplementalDataComponentT sdeItem)
-
isCoding
protected abstract boolean isCoding(Object obj)
-
createPatientObservation
protected abstract ResourceT createPatientObservation(MeasureT measure, String populationId, CodingT coding)
-
createPopulationObservation
protected abstract ResourceT createPopulationObservation(MeasureT measure, String populationId, CodingT coding, Integer value)
-
addEvaluatedResource
protected abstract void addEvaluatedResource(MeasureReportT report, ResourceT resource)
-
addContained
protected abstract void addContained(MeasureReportT report, ResourceT resource)
-
getExtensionCoding
protected abstract CodingT getExtensionCoding(SubjectT patient, String category, String code)
Retrieve the coding from an extension that that looks like the following... { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", "extension": [ { "url": "ombCategory", "valueCoding": { "system": "urn:oid:2.16.840.1.113883.6.238", "code": "2054-5", "display": "Black or African American" } } ] }
-
createCodingExtension
protected abstract ExtensionT createCodingExtension(String url, String codeSystem, String code)
-
createReference
protected abstract ReferenceT createReference(String resourceId)
-
createListResource
protected abstract ListResourceT createListResource(Collection<ListEntryT> entries)
-
createListEntry
protected abstract ListEntryT createListEntry(ReferenceT reference)
-
addExtension
protected abstract void addExtension(ReferenceT resource, ExtensionT extension)
-
setEvaluatedResources
protected abstract void setEvaluatedResources(MeasureReportT report, Collection<ReferenceT> evaluatedResources)
-
evaluate
public MeasureReportT evaluate(MeasureReportType type)
-
evaluatePatientMeasure
protected MeasureReportT evaluatePatientMeasure()
-
evaluateSubjectListMeasure
protected MeasureReportT evaluateSubjectListMeasure()
-
evaluatePatientListMeasure
protected MeasureReportT evaluatePatientListMeasure()
-
evaluatePopulationMeasure
public MeasureReportT evaluatePopulationMeasure()
-
-