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.Contextcontextstatic java.lang.StringEXT_DAVINCI_POPULATION_REFERENCEprotected java.util.function.Function<ResourceT,java.lang.String>getIdprotected MeasureTmeasureprotected org.opencds.cqf.cql.engine.runtime.IntervalmeasurementPeriodprotected java.lang.StringpackageNameprotected java.lang.StringsubjectOrPractitionerIdstatic java.lang.StringURL_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 voidaddContained(MeasureReportT report, ResourceT resource)protected abstract voidaddEvaluatedResource(MeasureReportT report, ResourceT resource)protected abstract voidaddExtension(ReferenceT resource, ExtensionT extension)protected abstract voidaddPopulationReport(MeasureReportT report, MeasureReportGroupComponentT reportGroup, MeasureGroupPopulationComponentT populationCriteria, int populationCount, java.lang.Iterable<SubjectT> subjectPopulation)protected abstract voidaddReportGroup(MeasureReportT report, MeasureReportGroupComponentT group)protected abstract CodingTcreateCoding(java.lang.String text)protected abstract ExtensionTcreateCodingExtension(java.lang.String url, java.lang.String codeSystem, java.lang.String code)protected abstract ListEntryTcreateListEntry(ReferenceT reference)protected abstract ListResourceTcreateListResource(java.util.Collection<ListEntryT> entries)protected abstract MeasureReportTcreateMeasureReport(java.lang.String status, MeasureReportType type, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, java.util.List<SubjectT> subjects)protected abstract ResourceTcreatePatientObservation(MeasureT measure, java.lang.String populationId, CodingT coding)protected abstract ResourceTcreatePopulationObservation(MeasureT measure, java.lang.String populationId, CodingT coding, java.lang.Integer value)protected abstract ReferenceTcreateReference(java.lang.String resourceId)protected abstract MeasureReportGroupComponentTcreateReportGroup(java.lang.String id)MeasureReportTevaluate(MeasureReportType type)protected MeasureReportTevaluatePatientListMeasure()protected MeasureReportTevaluatePatientMeasure()MeasureReportTevaluatePopulationMeasure()protected MeasureReportTevaluateSubjectListMeasure()protected abstract java.lang.StringgetCodingCode(CodingT coding)protected abstract java.lang.StringgetCriteriaExpression(MeasureGroupPopulationComponentT mgpc)protected abstract CodingTgetExtensionCoding(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.StringgetGroupId(MeasureGroupComponentT group)protected abstract MeasureScoringgetMeasureScoring()protected abstract java.lang.Iterable<MeasureGroupPopulationComponentT>getPopulation(MeasureGroupComponentT mgc)protected abstract MeasurePopulationTypegetPopulationType(MeasureGroupPopulationComponentT mgpc)protected abstract CodingTgetSDECoding(MeasureSupplementalDataComponentT sdeItem)protected abstract java.lang.StringgetSDEExpression(MeasureSupplementalDataComponentT sdeItem)protected abstract java.util.List<MeasureSupplementalDataComponentT>getSupplementalData(MeasureT measure)protected abstract booleanisCoding(java.lang.Object obj)protected abstract voidsetEvaluatedResources(MeasureReportT report, java.util.Collection<ReferenceT> evaluatedResources)protected abstract voidsetGroupScore(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()
-
-