Package com.ibm.fhir.ecqm.r4
Class R4MeasureEvaluation<ST extends DomainResource>
- java.lang.Object
-
- com.ibm.fhir.ecqm.common.MeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST>
-
- com.ibm.fhir.ecqm.r4.R4MeasureEvaluation<ST>
-
- Type Parameters:
ST
- Model class for the subject type that will be evaluated (e.g. Patient)
public class R4MeasureEvaluation<ST extends DomainResource> extends MeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST>
Implementation of FHIR Quality Measure Evaluation logic on top of the IBM FHIR Server model.
-
-
Field Summary
-
Fields inherited from class com.ibm.fhir.ecqm.common.MeasureEvaluation
context, EXT_DAVINCI_POPULATION_REFERENCE, getId, measure, measurementPeriod, packageName, subjectOrPractitionerId, URL_CODESYSTEM_MEASURE_POPULATION
-
-
Constructor Summary
Constructors Constructor Description R4MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, Measure measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<DomainResource,String> getId)
R4MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, Measure measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<DomainResource,String> getId, String patientOrPractitionerId)
-
Method Summary
-
Methods inherited from class com.ibm.fhir.ecqm.common.MeasureEvaluation
evaluate, evaluatePatientListMeasure, evaluatePatientMeasure, evaluatePopulationMeasure, evaluateSubjectListMeasure
-
-
-
-
Constructor Detail
-
R4MeasureEvaluation
public R4MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, Measure measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<DomainResource,String> getId, String patientOrPractitionerId)
-
R4MeasureEvaluation
public R4MeasureEvaluation(org.opencds.cqf.cql.engine.execution.Context context, Measure measure, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, String packageName, Function<DomainResource,String> getId)
-
-
Method Detail
-
addPopulationReport
protected void addPopulationReport(MeasureReport.Builder report, MeasureReport.Group.Builder group, Measure.Group.Population populationCriteria, int populationCount, Iterable<ST> subjectPopulation)
- Specified by:
addPopulationReport
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
addReportGroup
protected void addReportGroup(MeasureReport.Builder report, MeasureReport.Group.Builder group)
- Specified by:
addReportGroup
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createMeasureReport
protected MeasureReport.Builder createMeasureReport(String status, MeasureReportType type, org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod, List<ST> subjects)
- Specified by:
createMeasureReport
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createReportGroup
protected MeasureReport.Group.Builder createReportGroup(String id)
- Specified by:
createReportGroup
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getCriteriaExpression
protected String getCriteriaExpression(Measure.Group.Population population)
- Specified by:
getCriteriaExpression
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getGroup
protected Iterable<Measure.Group> getGroup()
- Specified by:
getGroup
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getGroupId
protected String getGroupId(Measure.Group group)
- Specified by:
getGroupId
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getMeasureScoring
protected MeasureScoring getMeasureScoring()
- Specified by:
getMeasureScoring
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getPopulation
protected Iterable<Measure.Group.Population> getPopulation(Measure.Group mgc)
- Specified by:
getPopulation
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getPopulationType
protected MeasurePopulationType getPopulationType(Measure.Group.Population population)
- Specified by:
getPopulationType
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
setGroupScore
protected void setGroupScore(MeasureReport.Group.Builder group, Double score)
- Specified by:
setGroupScore
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getSDEExpression
protected String getSDEExpression(Measure.SupplementalData sdeItem)
- Specified by:
getSDEExpression
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getSupplementalData
protected List<Measure.SupplementalData> getSupplementalData(Measure measure)
- Specified by:
getSupplementalData
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getSDECoding
protected Coding getSDECoding(Measure.SupplementalData sdeItem)
- Specified by:
getSDECoding
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
isCoding
protected boolean isCoding(Object obj)
- Specified by:
isCoding
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createCoding
protected Coding createCoding(String text)
- Specified by:
createCoding
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getCodingCode
protected String getCodingCode(Coding coding)
- Specified by:
getCodingCode
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createPatientObservation
protected DomainResource createPatientObservation(Measure measure, String populationId, Coding coding)
- Specified by:
createPatientObservation
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createPopulationObservation
protected DomainResource createPopulationObservation(Measure measure, String populationId, Coding coding, Integer value)
- Specified by:
createPopulationObservation
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createMeasureInfoExtension
protected Extension createMeasureInfoExtension(MeasureInfo measureInfo)
-
addEvaluatedResource
protected void addEvaluatedResource(MeasureReport.Builder report, DomainResource resource)
- Specified by:
addEvaluatedResource
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
addContained
protected void addContained(MeasureReport.Builder report, DomainResource resource)
- Specified by:
addContained
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
getExtensionCoding
protected Coding getExtensionCoding(ST patient, String coreCategory, String sdeCode)
Description copied from class:MeasureEvaluation
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" } } ] }- Specified by:
getExtensionCoding
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createCodingExtension
protected Extension createCodingExtension(String url, String codeSystem, String code)
- Specified by:
createCodingExtension
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createReference
protected Reference.Builder createReference(String resourceId)
- Specified by:
createReference
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createListResource
protected List createListResource(Collection<List.Entry> entries)
- Specified by:
createListResource
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
createListEntry
protected List.Entry createListEntry(Reference.Builder reference)
- Specified by:
createListEntry
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
addExtension
protected void addExtension(Reference.Builder reference, Extension extension)
- Specified by:
addExtension
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
setEvaluatedResources
protected void setEvaluatedResources(MeasureReport.Builder report, Collection<Reference.Builder> evaluatedResources)
- Specified by:
setEvaluatedResources
in classMeasureEvaluation<Object,Measure,Measure.Group,Measure.Group.Population,Measure.SupplementalData,MeasureReport.Builder,MeasureReport.Group.Builder,MeasureReport.Group.Population.Builder,Coding,Extension,Reference.Builder,List,List.Entry,DomainResource,ST extends DomainResource>
-
-