Class AbstractMeasureOperation

    • Constructor Detail

      • AbstractMeasureOperation

        public AbstractMeasureOperation()
    • Method Detail

      • getTerminologyProvider

        public org.opencds.cqf.cql.engine.terminology.TerminologyProvider getTerminologyProvider​(FHIRResourceHelpers resourceHelpers)
        Create the terminology provider that will be used to access terminology data during operation evaluation.
        Returns:
        Terminology Provider
      • getRetrieveProvider

        public org.opencds.cqf.cql.engine.retrieve.RetrieveProvider getRetrieveProvider​(FHIRResourceHelpers resourceHelper,
                                                                                        org.opencds.cqf.cql.engine.terminology.TerminologyProvider termProvider)
        Create the retrieve provider that will be used to perform data retrieval during the operation evaluation.
        Parameters:
        resourceHelper - FHIR Resource Helpers
        termProvider - Terminology Provider
        Returns:
        Retrieve provider configured as appropriate for the environment
      • doMeasureEvaluation

        public MeasureReport.Builder doMeasureEvaluation​(Measure measure,
                                                         ZoneOffset zoneOffset,
                                                         org.opencds.cqf.cql.engine.runtime.Interval measurementPeriod,
                                                         String subjectOrPractitionerId,
                                                         MeasureReportType reportType,
                                                         org.opencds.cqf.cql.engine.terminology.TerminologyProvider termProvider,
                                                         Map<String,​org.opencds.cqf.cql.engine.data.DataProvider> dataProviders)
      • getZoneOffset

        public ZoneOffset getZoneOffset​(ParameterMap paramMap)
        Return the ZoneOffset which will be used to interpret dates that do not have associated time zone information. This includes the periodStart, periodEnd, and those specified in the CQL that is evaluated, . The default implementation uses the zone offset of the server performing the evaluation.
        Parameters:
        paramMap - Operation input parameters
        Returns:
        timezone offset that will be applied to dates without TimeZone specified
      • getMeasurementPeriod

        public org.opencds.cqf.cql.engine.runtime.Interval getMeasurementPeriod​(ParameterMap paramMap,
                                                                                ZoneOffset zoneOffset)
        Construct the Measurement Period interval that will be passed to the CQL Engine and Measurement Report builder. The input parameters are FHIR date objects that do not contain timezone information. The start and end DateTime objects will be calculated based on the zoneOffset that is provided.
        Parameters:
        paramMap - Operation input parameters
        zoneOffset -
        Returns:
        Interval of DateTime values representing the measurement period.
      • createLibraryLoader

        protected org.opencds.cqf.cql.engine.execution.LibraryLoader createLibraryLoader​(List<Library> libraries)
        Create a library loader that will server up the CQL library content of the provided list of FHIR Library resources.
        Parameters:
        libraries - FHIR library resources
        Returns:
        LibraryLoader that will serve the CQL Libraries for the provided FHIR resources
      • loadCqlLibraries

        protected List<org.cqframework.cql.elm.execution.Library> loadCqlLibraries​(List<Library> libraries)
        Load the CQL Library content for each of the provided FHIR Library resources with translation as needed for Libraries with CQL attachments and no corresponding ELM attachment.
        Parameters:
        libraries - FHIR Libraries
        Returns:
        CQL Libraries