cql_qdm_patientapi 1.1.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/app/assets/javascripts/datatypes/adverseevent.js.coffee +2 -2
- data/app/assets/javascripts/datatypes/allergyintolerance.js.coffee +2 -2
- data/app/assets/javascripts/datatypes/assessment.js.coffee +9 -7
- data/app/assets/javascripts/datatypes/careexperience.js.coffee +1 -0
- data/app/assets/javascripts/datatypes/caregoal.js.coffee +1 -1
- data/app/assets/javascripts/datatypes/communication.js.coffee +6 -3
- data/app/assets/javascripts/datatypes/datatype.js.coffee +8 -2
- data/app/assets/javascripts/datatypes/device.js.coffee +10 -8
- data/app/assets/javascripts/datatypes/diagnosis.js.coffee +2 -2
- data/app/assets/javascripts/datatypes/diagnosticstudy.js.coffee +11 -9
- data/app/assets/javascripts/datatypes/encounter.js.coffee +10 -8
- data/app/assets/javascripts/datatypes/familyhistory.js.coffee +2 -1
- data/app/assets/javascripts/datatypes/immunization.js.coffee +16 -8
- data/app/assets/javascripts/datatypes/intervention.js.coffee +9 -7
- data/app/assets/javascripts/datatypes/laboratorytest.js.coffee +11 -9
- data/app/assets/javascripts/datatypes/medication.js.coffee +38 -22
- data/app/assets/javascripts/datatypes/physicalexam.js.coffee +14 -12
- data/app/assets/javascripts/datatypes/procedure.js.coffee +21 -19
- data/app/assets/javascripts/datatypes/substance.js.coffee +27 -16
- data/app/assets/javascripts/datatypes/symptom.js.coffee +1 -1
- data/app/assets/javascripts/types/component.js.coffee +2 -1
- data/app/assets/javascripts/types/id.js.coffee +1 -1
- data/app/assets/javascripts/utils/helpers.js.coffee +9 -5
- data/lib/cql_qdm_patientapi/version.rb +1 -1
- data/vendor/assets/javascripts/cql4browsers.js +32 -0
- metadata +3 -3
| @@ -12,7 +12,8 @@ class CQL_QDM.Component | |
| 12 12 | 
             
                @_result = CQL_QDM.Helpers.formatResult(component.result)
         | 
| 13 13 | 
             
                code = component?.code?.code
         | 
| 14 14 | 
             
                code_system = component?.code?.code_system
         | 
| 15 | 
            -
                 | 
| 15 | 
            +
                display = component?.result?.title
         | 
| 16 | 
            +
                @_code = new cql.Code(code, code_system, null, display || null)
         | 
| 16 17 |  | 
| 17 18 | 
             
              exec: (ctx) ->
         | 
| 18 19 | 
             
                @
         | 
| @@ -51,17 +51,21 @@ class CQL_QDM.Helpers | |
| 51 51 | 
             
                  else if input.codes?
         | 
| 52 52 | 
             
                    code_system = Object.keys(input.codes)?[0]
         | 
| 53 53 | 
             
                    code = input.codes[code_system]?[0]
         | 
| 54 | 
            -
                     | 
| 54 | 
            +
                    display = input.description
         | 
| 55 | 
            +
                    new cql.Code(code, code_system, null, display || null)
         | 
| 55 56 | 
             
                  else if input.code?
         | 
| 56 57 | 
             
                    code_system = input.code.code_system
         | 
| 57 58 | 
             
                    code = input.code.code
         | 
| 58 | 
            -
                     | 
| 59 | 
            +
                    display = input.description
         | 
| 60 | 
            +
                    new cql.Code(code, code_system, null, display || null)
         | 
| 59 61 | 
             
                  # Check that the scalar portion is a number and the units are a non-zero length string.
         | 
| 60 62 | 
             
                  else if (input.scalar?.match(/^[-+]?[0-9]*\.?[0-9]+$/) != null)
         | 
| 61 63 | 
             
                    if input.units.length > 0
         | 
| 62 64 | 
             
                      new cql.Quantity({unit: input.units , value: parseFloat(input.scalar)})
         | 
| 63 65 | 
             
                    else
         | 
| 64 66 | 
             
                      parseFloat(input.scalar)
         | 
| 67 | 
            +
                  else if input.scalar?
         | 
| 68 | 
            +
                      input.scalar
         | 
| 65 69 | 
             
                else
         | 
| 66 70 | 
             
                  null
         | 
| 67 71 |  | 
| @@ -73,7 +77,7 @@ class CQL_QDM.Helpers | |
| 73 77 | 
             
                if relatedToInput?
         | 
| 74 78 | 
             
                  for relatedTo in relatedToInput
         | 
| 75 79 | 
             
                    if relatedTo?
         | 
| 76 | 
            -
                      relatedToArray.push new CQL_QDM.Id(relatedTo.referenced_id)
         | 
| 80 | 
            +
                      relatedToArray.push new CQL_QDM.Id(relatedTo.referenced_id, null)
         | 
| 77 81 | 
             
                relatedToArray
         | 
| 78 82 |  | 
| 79 83 | 
             
              ###
         | 
| @@ -95,7 +99,7 @@ class CQL_QDM.Helpers | |
| 95 99 | 
             
                if diagnosesInput?
         | 
| 96 100 | 
             
                  for diagnosis in diagnosesInput.values
         | 
| 97 101 | 
             
                    if diagnosis?
         | 
| 98 | 
            -
                      diagnoses.push new cql.Code(diagnosis.code, diagnosis.code_system)
         | 
| 102 | 
            +
                      diagnoses.push new cql.Code(diagnosis.code, diagnosis.code_system, null, diagnosis.title || null)
         | 
| 99 103 | 
             
                if principalDiagnosisInput?
         | 
| 100 | 
            -
                  diagnoses.push new cql.Code(principalDiagnosisInput.code, principalDiagnosisInput.code_system)
         | 
| 104 | 
            +
                  diagnoses.push new cql.Code(principalDiagnosisInput.code, principalDiagnosisInput.code_system, null, principalDiagnosisInput.title || null)
         | 
| 101 105 | 
             
                diagnoses
         | 
| @@ -1251,6 +1251,19 @@ | |
| 1251 1251 | 
             
                  }
         | 
| 1252 1252 | 
             
                });
         | 
| 1253 1253 |  | 
| 1254 | 
            +
                Interval.prototype.copy = function() {
         | 
| 1255 | 
            +
                  var newHigh, newLow;
         | 
| 1256 | 
            +
                  newLow = this.low;
         | 
| 1257 | 
            +
                  newHigh = this.high;
         | 
| 1258 | 
            +
                  if (typeof this.low.copy === 'function') {
         | 
| 1259 | 
            +
                    newLow = this.low.copy();
         | 
| 1260 | 
            +
                  }
         | 
| 1261 | 
            +
                  if (typeof this.high.copy === 'function') {
         | 
| 1262 | 
            +
                    newHigh = this.high.copy();
         | 
| 1263 | 
            +
                  }
         | 
| 1264 | 
            +
                  return new Interval(newLow, newHigh, this.lowClosed, this.highClosed);
         | 
| 1265 | 
            +
                };
         | 
| 1266 | 
            +
             | 
| 1254 1267 | 
             
                Interval.prototype.contains = function(item, precision) {
         | 
| 1255 1268 | 
             
                  var closed;
         | 
| 1256 1269 | 
             
                  if (item instanceof Interval) {
         | 
| @@ -1699,6 +1712,19 @@ | |
| 1699 1712 | 
             
                  }
         | 
| 1700 1713 | 
             
                }
         | 
| 1701 1714 |  | 
| 1715 | 
            +
                Uncertainty.prototype.copy = function() {
         | 
| 1716 | 
            +
                  var newHigh, newLow;
         | 
| 1717 | 
            +
                  newLow = this.low;
         | 
| 1718 | 
            +
                  newHigh = this.high;
         | 
| 1719 | 
            +
                  if (typeof this.low.copy === 'function') {
         | 
| 1720 | 
            +
                    newLow = this.low.copy();
         | 
| 1721 | 
            +
                  }
         | 
| 1722 | 
            +
                  if (typeof this.high.copy === 'function') {
         | 
| 1723 | 
            +
                    newHigh = this.high.copy();
         | 
| 1724 | 
            +
                  }
         | 
| 1725 | 
            +
                  return new Uncertainty(newLow, newHigh);
         | 
| 1726 | 
            +
                };
         | 
| 1727 | 
            +
             | 
| 1702 1728 | 
             
                Uncertainty.prototype.isPoint = function() {
         | 
| 1703 1729 | 
             
                  var gte, lte;
         | 
| 1704 1730 | 
             
                  lte = function(a, b) {
         | 
| @@ -4286,6 +4312,12 @@ | |
| 4286 4312 | 
             
                    collapsedIntervals = [];
         | 
| 4287 4313 | 
             
                    a = intervals.shift();
         | 
| 4288 4314 | 
             
                    b = intervals.shift();
         | 
| 4315 | 
            +
                    if (typeof a.copy === 'function') {
         | 
| 4316 | 
            +
                      a = a.copy();
         | 
| 4317 | 
            +
                    }
         | 
| 4318 | 
            +
                    if (typeof b.copy === 'function') {
         | 
| 4319 | 
            +
                      b = b.copy();
         | 
| 4320 | 
            +
                    }
         | 
| 4289 4321 | 
             
                    while (b) {
         | 
| 4290 4322 | 
             
                      if (typeof b.low.sameOrBefore === 'function') {
         | 
| 4291 4323 | 
             
                        if (b.low.sameOrBefore(a.high)) {
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cql_qdm_patientapi
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - The MITRE Corporation
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2018- | 
| 11 | 
            +
            date: 2018-08-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rails
         | 
| @@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 131 131 | 
             
                  version: '0'
         | 
| 132 132 | 
             
            requirements: []
         | 
| 133 133 | 
             
            rubyforge_project: 
         | 
| 134 | 
            -
            rubygems_version: 2.6. | 
| 134 | 
            +
            rubygems_version: 2.6.12
         | 
| 135 135 | 
             
            signing_key: 
         | 
| 136 136 | 
             
            specification_version: 4
         | 
| 137 137 | 
             
            summary: QDM CQL execution engine and HDS patient model interface
         |