MeasureAuthoringTool / health-data-standards

https://rubygems.org/gems/health-data-standards
Apache License 2.0
94 stars 93 forks source link

extract supplemental data elements from hqmf #574

Closed lukoktonos closed 6 years ago

lukoktonos commented 6 years ago

This PR adds support for parsing Supplemental Data Elements, which will be used in Hybrid measures.

V3_IG_CQL_HQMF_R1_STU2_2017JUL_Vol1 Section 5.9: Supplemental Data Elements

Hybrid measure found at : https://gitlab.mitre.org/bonnie/internal-documentation/wikis/cql-measures-for-testing

In bonnie, load hybrid measure and do bonnie.mainView._view.measure.get('populations').first().get('supplemental_data_elements') to see what is passed back to bonnie.

extract_populations_and_criteria was partially refactored in order to avoid too much duplication when modifying it for the child module HQMF2CQL. I believe a full refactor would be too much effort for this task and have too many risks associated with it currently.

Pull requests into Health Data Standards require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.

Submitter:

Branch Coverage
master_bonnie 6979 / 7703 LOC (90.6%) covered.
2696 / 7801 LOC (34.56%) covered.
sde_parsing 7016 / 7740 LOC (90.65%) covered.

Note: Coverage report was fixed in this PR so a single complete coverage report is now created.

Cypress Reviewer:

Name: @okeefm

Bonnie Reviewer 1:

Name: @holmesie

Bonnie Reviewer 2:

Name: @mayerm94

holmesie commented 6 years ago

Also seeing this error:

HQMF2CQLTest
  test_2                                                          PASS (0.14s)
  test_supplemental_data_element_parsing                         ERROR (0.00s)
Errno::ENOENT:         Errno::ENOENT: No such file or directory @ rb_sysopen - test/fixtures/hqmf/cql/CCDELookback_v5_4_eCQM.xml
            /home/travis/build/projectcypress/health-data-standards/test/unit/hqmf/cql/hqmf_cql_test.rb:37:in `initialize'
            /home/travis/build/projectcypress/health-data-standards/test/unit/hqmf/cql/hqmf_cql_test.rb:37:in `open'
            /home/travis/build/projectcypress/health-data-standards/test/unit/hqmf/cql/hqmf_cql_test.rb:37:in `test_supplemental_data_element_parsing'