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 java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected org.opencds.cqf.cql.engine.execution.Context
context
static java.lang.String
EXT_DAVINCI_POPULATION_REFERENCE
protected java.util.function.Function<ResourceT,java.lang.String>
getId
protected MeasureT
measure
protected org.opencds.cqf.cql.engine.runtime.Interval
measurementPeriod
protected java.lang.String
packageName
protected java.lang.String
subjectOrPractitionerId
static java.lang.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, java.lang.String packageName, java.util.function.Function<ResourceT,java.lang.String> getId)
MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, MeasureT measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.lang.String packageName, java.util.function.Function<ResourceT,java.lang.String> getId, java.lang.String patientOrPractitionerId)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
addContained(MeasureReportT report, ResourceT resource)
protected abstract void
addEvaluatedResource(MeasureReportT report, ResourceT resource)
protected abstract void
addExtension(ReferenceT resource, ExtensionT extension)
protected abstract void
addPopulationReport(MeasureReportT report, MeasureReportGroupComponentT reportGroup, MeasureGroupPopulationComponentT populationCriteria, int populationCount, java.lang.Iterable<SubjectT> subjectPopulation)
protected abstract void
addReportGroup(MeasureReportT report, MeasureReportGroupComponentT group)
protected abstract CodingT
createCoding(java.lang.String text)
protected abstract ExtensionT
createCodingExtension(java.lang.String url, java.lang.String codeSystem, java.lang.String code)
protected abstract ListEntryT
createListEntry(ReferenceT reference)
protected abstract ListResourceT
createListResource(java.util.Collection<ListEntryT> entries)
protected abstract MeasureReportT
createMeasureReport(java.lang.String status, MeasureReportType type, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.util.List<SubjectT> subjects)
protected abstract ResourceT
createPatientObservation(MeasureT measure, java.lang.String populationId, CodingT coding)
protected abstract ResourceT
createPopulationObservation(MeasureT measure, java.lang.String populationId, CodingT coding, java.lang.Integer value)
protected abstract ReferenceT
createReference(java.lang.String resourceId)
protected abstract MeasureReportGroupComponentT
createReportGroup(java.lang.String id)
MeasureReportT
evaluate(MeasureReportType type)
protected MeasureReportT
evaluatePatientListMeasure()
protected MeasureReportT
evaluatePatientMeasure()
MeasureReportT
evaluatePopulationMeasure()
protected MeasureReportT
evaluateSubjectListMeasure()
protected abstract java.lang.String
getCodingCode(CodingT coding)
protected abstract java.lang.String
getCriteriaExpression(MeasureGroupPopulationComponentT mgpc)
protected abstract CodingT
getExtensionCoding(SubjectT patient, java.lang.String category, java.lang.String code)
Retrieve the coding from an extension that that looks like the following...protected abstract java.lang.Iterable<MeasureGroupComponentT>
getGroup()
protected abstract java.lang.String
getGroupId(MeasureGroupComponentT group)
protected abstract MeasureScoring
getMeasureScoring()
protected abstract java.lang.Iterable<MeasureGroupPopulationComponentT>
getPopulation(MeasureGroupComponentT mgc)
protected abstract MeasurePopulationType
getPopulationType(MeasureGroupPopulationComponentT mgpc)
protected abstract CodingT
getSDECoding(MeasureSupplementalDataComponentT sdeItem)
protected abstract java.lang.String
getSDEExpression(MeasureSupplementalDataComponentT sdeItem)
protected abstract java.util.List<MeasureSupplementalDataComponentT>
getSupplementalData(MeasureT measure)
protected abstract boolean
isCoding(java.lang.Object obj)
protected abstract void
setEvaluatedResources(MeasureReportT report, java.util.Collection<ReferenceT> evaluatedResources)
protected abstract void
setGroupScore(MeasureReportGroupComponentT mrgc, java.lang.Double score)
-
-
-
Field Detail
-
URL_CODESYSTEM_MEASURE_POPULATION
public static final java.lang.String URL_CODESYSTEM_MEASURE_POPULATION
- See Also:
- Constant Field Values
-
EXT_DAVINCI_POPULATION_REFERENCE
public static final java.lang.String EXT_DAVINCI_POPULATION_REFERENCE
- See Also:
- Constant Field Values
-
context
protected org.opencds.cqf.cql.engine.execution.Context context
-
subjectOrPractitionerId
protected java.lang.String subjectOrPractitionerId
-
measurementPeriod
protected org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod
-
packageName
protected java.lang.String packageName
-
getId
protected java.util.function.Function<ResourceT,java.lang.String> getId
-
-
Constructor Detail
-
MeasureEvaluation
public MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, MeasureT measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.lang.String packageName, java.util.function.Function<ResourceT,java.lang.String> getId)
-
MeasureEvaluation
public MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, MeasureT measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.lang.String packageName, java.util.function.Function<ResourceT,java.lang.String> getId, java.lang.String patientOrPractitionerId)
-
-
Method Detail
-
getMeasureScoring
protected abstract MeasureScoring getMeasureScoring()
-
getCriteriaExpression
protected abstract java.lang.String getCriteriaExpression(MeasureGroupPopulationComponentT mgpc)
-
setGroupScore
protected abstract void setGroupScore(MeasureReportGroupComponentT mrgc, java.lang.Double score)
-
getPopulationType
protected abstract MeasurePopulationType getPopulationType(MeasureGroupPopulationComponentT mgpc)
-
getGroup
protected abstract java.lang.Iterable<MeasureGroupComponentT> getGroup()
-
getPopulation
protected abstract java.lang.Iterable<MeasureGroupPopulationComponentT> getPopulation(MeasureGroupComponentT mgc)
-
addPopulationReport
protected abstract void addPopulationReport(MeasureReportT report, MeasureReportGroupComponentT reportGroup, MeasureGroupPopulationComponentT populationCriteria, int populationCount, java.lang.Iterable<SubjectT> subjectPopulation)
-
createMeasureReport
protected abstract MeasureReportT createMeasureReport(java.lang.String status, MeasureReportType type, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.util.List<SubjectT> subjects)
-
createReportGroup
protected abstract MeasureReportGroupComponentT createReportGroup(java.lang.String id)
-
getGroupId
protected abstract java.lang.String getGroupId(MeasureGroupComponentT group)
-
addReportGroup
protected abstract void addReportGroup(MeasureReportT report, MeasureReportGroupComponentT group)
-
getSupplementalData
protected abstract java.util.List<MeasureSupplementalDataComponentT> getSupplementalData(MeasureT measure)
-
getSDEExpression
protected abstract java.lang.String getSDEExpression(MeasureSupplementalDataComponentT sdeItem)
-
getSDECoding
protected abstract CodingT getSDECoding(MeasureSupplementalDataComponentT sdeItem)
-
isCoding
protected abstract boolean isCoding(java.lang.Object obj)
-
createCoding
protected abstract CodingT createCoding(java.lang.String text)
-
getCodingCode
protected abstract java.lang.String getCodingCode(CodingT coding)
-
createPatientObservation
protected abstract ResourceT createPatientObservation(MeasureT measure, java.lang.String populationId, CodingT coding)
-
createPopulationObservation
protected abstract ResourceT createPopulationObservation(MeasureT measure, java.lang.String populationId, CodingT coding, java.lang.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, java.lang.String category, java.lang.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(java.lang.String url, java.lang.String codeSystem, java.lang.String code)
-
createReference
protected abstract ReferenceT createReference(java.lang.String resourceId)
-
createListResource
protected abstract ListResourceT createListResource(java.util.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, java.util.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()
-
-