cqm-reports 4.1.5 → 4.1.6
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/lib/html-export/qdm-patient/qdm_patient.rb +1 -1
- data/lib/qrda-export/catI-r5/_header.mustache +14 -8
- data/lib/qrda-export/catI-r5/qrda1_r5.rb +7 -2
- data/lib/qrda-export/helper/cat1_view_helper.rb +1 -1
- data/lib/qrda-import/base-importers/section_importer.rb +5 -5
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: efcfad7887472c241b0ffe9023f2ec6f81939bfb36c39122d1709ff1ded59863
|
|
4
|
+
data.tar.gz: fa28e9ad1bfd43e9291195514cf5fb7e0e2d89e949815c7ada233fa59a6a21a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 92fe0a0c7c505a2e0131b6b58d9496ed0ca3cff7db904b34f59abc975d50c0b9389b53c12c5833c71679178676e8e9b0597cf09891b0a4314106b368102d0e81
|
|
7
|
+
data.tar.gz: c09988ba8ee0d8e2fafd32391fee2597b66c5da931c7f50b4035590afe9b7265f5eb5ead9cca7de01172a3ca460d94c8f2d13d4037def410b91670b086889bd0
|
|
@@ -131,7 +131,7 @@ class QdmPatient < Mustache
|
|
|
131
131
|
|
|
132
132
|
# Checks to see if the result is a DateTime value, String, or Numeric
|
|
133
133
|
begin
|
|
134
|
-
DateTime.
|
|
134
|
+
DateTime.iso8601(self['result'])
|
|
135
135
|
rescue ArgumentError, TypeError
|
|
136
136
|
# If the value is not numeric, just print out the result
|
|
137
137
|
self['result'].is_a?(Numeric) ? trimed_value(self['result']) : self['result']
|
|
@@ -8,14 +8,20 @@
|
|
|
8
8
|
<!-- QDM-based QRDA templateId -->
|
|
9
9
|
<templateId root="2.16.840.1.113883.10.20.24.1.2" extension="2021-08-01"/>
|
|
10
10
|
<!-- CMS QRDA templateId -->
|
|
11
|
-
{{#
|
|
12
|
-
<!-- QRDA Category I Report - CMS (
|
|
13
|
-
<templateId root="2.16.840.1.113883.10.20.24.1.3" extension="
|
|
14
|
-
{{/
|
|
15
|
-
{{^
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
{{#ry2027_submission?}}
|
|
12
|
+
<!-- QRDA Category I Report - CMS (V10) -->
|
|
13
|
+
<templateId root="2.16.840.1.113883.10.20.24.1.3" extension="2026-05-01"/>
|
|
14
|
+
{{/ry2027_submission?}}
|
|
15
|
+
{{^ry2027_submission?}}
|
|
16
|
+
{{#ry2026_submission?}}
|
|
17
|
+
<!-- QRDA Category I Report - CMS (V9) -->
|
|
18
|
+
<templateId root="2.16.840.1.113883.10.20.24.1.3" extension="2025-03-01"/>
|
|
19
|
+
{{/ry2026_submission?}}
|
|
20
|
+
{{^ry2026_submission?}}
|
|
21
|
+
<!-- QRDA Category I Report - CMS (V8) -->
|
|
22
|
+
<templateId root="2.16.840.1.113883.10.20.24.1.3" extension="2022-02-01"/>
|
|
23
|
+
{{/ry2026_submission?}}
|
|
24
|
+
{{/ry2027_submission?}}
|
|
19
25
|
<!-- This is the globally unique identifier for this QRDA document -->
|
|
20
26
|
<id root="{{random_id}}"/>
|
|
21
27
|
<!-- QRDA document type code -->
|
|
@@ -21,14 +21,19 @@ class Qrda1R5 < Mustache
|
|
|
21
21
|
@performance_period_end = options[:end_time]
|
|
22
22
|
@submission_program = options[:submission_program]
|
|
23
23
|
@ry2026_submission = options[:ry2026_submission]
|
|
24
|
+
@ry2027_submission = options[:ry2027_submission]
|
|
24
25
|
@medicare_beneficiary_identifier = options[:medicare_beneficiary_identifier]
|
|
25
26
|
@hicn = options[:hicn]
|
|
26
27
|
@authoring_system = options[:authoring_system]
|
|
27
28
|
end
|
|
28
29
|
|
|
29
|
-
# use
|
|
30
|
+
# use 2027 template ids if 2027 submission is specified as true, or if it unspecified
|
|
31
|
+
def ry2027_submission?
|
|
32
|
+
@ry2027_submission || @ry2027_submission.nil?
|
|
33
|
+
end
|
|
34
|
+
|
|
30
35
|
def ry2026_submission?
|
|
31
|
-
@ry2026_submission
|
|
36
|
+
@ry2026_submission
|
|
32
37
|
end
|
|
33
38
|
|
|
34
39
|
def authoring_system
|
|
@@ -72,7 +72,7 @@ module Qrda
|
|
|
72
72
|
result_value_as_string(self['result'])
|
|
73
73
|
elsif self['result'].is_a? String
|
|
74
74
|
begin
|
|
75
|
-
DateTime.
|
|
75
|
+
DateTime.iso8601 self['result']
|
|
76
76
|
"<value xsi:type=\"TS\" #{value_or_null_flavor(self['result'])}/>"
|
|
77
77
|
rescue StandardError
|
|
78
78
|
"<value xsi:type=\"ST\">#{self['result']}</value>"
|
|
@@ -173,11 +173,11 @@ module QRDA
|
|
|
173
173
|
def extract_frequency_in_hours(parent_element, frequency_xpath)
|
|
174
174
|
# Need to go get low, high and institutionspecified
|
|
175
175
|
low = parent_element.at_xpath("#{frequency_xpath}/@value").value.to_i if parent_element.at_xpath("#{frequency_xpath}/@value")
|
|
176
|
-
low = parent_element.at_xpath("#{frequency_xpath}/cda:
|
|
176
|
+
low = parent_element.at_xpath("#{frequency_xpath}/cda:low/@value").value.to_i if parent_element.at_xpath("#{frequency_xpath}/cda:low/@value")
|
|
177
177
|
unit = parent_element.at_xpath("#{frequency_xpath}/@unit").value if parent_element.at_xpath("#{frequency_xpath}/@unit")
|
|
178
|
-
unit = parent_element.at_xpath("#{frequency_xpath}/cda:
|
|
179
|
-
high = parent_element.at_xpath("#{frequency_xpath}/cda:
|
|
180
|
-
institution_specified = parent_element.at_xpath(
|
|
178
|
+
unit = parent_element.at_xpath("#{frequency_xpath}/cda:low/@unit").value if parent_element.at_xpath("#{frequency_xpath}/cda:low/@unit")
|
|
179
|
+
high = parent_element.at_xpath("#{frequency_xpath}/cda:high/@value").value.to_i if parent_element.at_xpath("#{frequency_xpath}/cda:high/@value")
|
|
180
|
+
institution_specified = parent_element.at_xpath(frequency_xpath.to_s)&.parent&.at_xpath('@institutionSpecified')&.value == 'true'
|
|
181
181
|
# Expected units are H (hours) and D (days)
|
|
182
182
|
if unit && unit.upcase == 'D'
|
|
183
183
|
low = low * 24 if low
|
|
@@ -217,7 +217,7 @@ module QRDA
|
|
|
217
217
|
qrda_type = @entry_class.to_s.split("::")[1]
|
|
218
218
|
@warnings << ValidationError.new(message: "Value with string type found. When possible, it's best practice to use a coded value or scalar. Located in element with QRDA type: #{qrda_type} #{id_str}",
|
|
219
219
|
location: value_element.path)
|
|
220
|
-
return value_element.text
|
|
220
|
+
return Regexp.escape(value_element.text)
|
|
221
221
|
end
|
|
222
222
|
end
|
|
223
223
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cqm-reports
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.1.
|
|
4
|
+
version: 4.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- The MITRE Corporation
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-06-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cqm-models
|