health-data-standards 3.3.0 → 3.4.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 +7 -0
- data/README.md +16 -0
- data/lib/health-data-standards.rb +3 -0
- data/lib/health-data-standards/export/helper/cat1_view_helper.rb +1 -1
- data/lib/health-data-standards/export/rendering_context.rb +4 -2
- data/lib/health-data-standards/export/template_helper.rb +9 -3
- data/lib/health-data-standards/import/bulk_record_importer.rb +88 -0
- data/lib/health-data-standards/import/cat1/diagnostic_study_order_importer.rb +1 -1
- data/lib/health-data-standards/import/cat1/encounter_performed_importer.rb +38 -0
- data/lib/health-data-standards/import/cat1/patient_importer.rb +4 -4
- data/lib/health-data-standards/import/cat1/procedure_order_importer.rb +2 -2
- data/lib/health-data-standards/import/cat1/procedure_performed_importer.rb +1 -0
- data/lib/health-data-standards/import/cda/allergy_importer.rb +0 -2
- data/lib/health-data-standards/import/cda/encounter_importer.rb +24 -1
- data/lib/health-data-standards/import/cda/medical_equipment_importer.rb +8 -1
- data/lib/health-data-standards/import/cda/medication_importer.rb +0 -4
- data/lib/health-data-standards/import/cda/procedure_importer.rb +23 -2
- data/lib/health-data-standards/import/cda/result_importer.rb +1 -0
- data/lib/health-data-standards/import/cda/section_importer.rb +2 -5
- data/lib/health-data-standards/import/green_c32/encounter_importer.rb +0 -1
- data/lib/health-data-standards/import/green_c32/medication_importer.rb +0 -1
- data/lib/health-data-standards/import/green_c32/section_importer.rb +1 -5
- data/lib/health-data-standards/import/provider_import_utils.rb +15 -1
- data/lib/health-data-standards/models/cqm/aggregate_objects.rb +63 -20
- data/lib/health-data-standards/models/cqm/query_cache.rb +3 -26
- data/lib/health-data-standards/models/encounter.rb +3 -2
- data/lib/health-data-standards/models/entry.rb +8 -1
- data/lib/health-data-standards/models/insurance_provider.rb +0 -4
- data/lib/health-data-standards/models/provider.rb +10 -0
- data/lib/health-data-standards/models/record.rb +31 -8
- data/lib/health-data-standards/models/transfer.rb +8 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.22.4.85.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.101.cat1.erb +6 -3
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.103.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.12.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.13.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.14.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.2.cat1.erb +1 -3
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.20.cat1.erb +6 -2
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.22.cat1.erb +1 -1
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.23.cat1.erb +21 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.28.cat1.erb +6 -2
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.31.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.32.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.34.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.40.cat1.erb +6 -2
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.46.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.54.cat1.erb +1 -0
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.57.cat1.erb +7 -2
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.59.cat1.erb +5 -1
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.66.cat1.erb +3 -3
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.69.cat1.erb +4 -2
- data/templates/cat1/_2.16.840.1.113883.10.20.24.3.7.cat1.erb +1 -1
- data/templates/cat3/_continuous_variable_value.cat3.erb +2 -2
- data/templates/cat3/_measure_data.cat3.erb +19 -19
- data/templates/cat3/_performance_rate.cat3.erb +2 -2
- data/templates/cat3/show.cat3.erb +7 -5
- data/templates/gc32/_advance_directive.gc32.erb +1 -1
- data/templates/gc32/_entry_attributes.gc32.erb +1 -1
- data/templates/gc32/_insurance_provider.gc32.erb +2 -2
- metadata +10 -29
@@ -4,9 +4,7 @@
|
|
4
4
|
<templateId root="2.16.840.1.113883.10.20.24.3.2"/>
|
5
5
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
6
6
|
<%== code_display(entry, 'value_set_map' => value_set_map, 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
7
|
-
<text>
|
8
|
-
<%= entry.description %>
|
9
|
-
</text>
|
7
|
+
<text><%= entry.description %></text>
|
10
8
|
<statusCode code="completed"/>
|
11
9
|
<effectiveTime>
|
12
10
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
@@ -1,3 +1,6 @@
|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
1
4
|
<entry>
|
2
5
|
<observation classCode="OBS" moodCode="EVN" <%== negation_indicator(entry) %>>
|
3
6
|
<!-- Consolidated Result Observation templateId (Implied Template) -->
|
@@ -14,7 +17,8 @@
|
|
14
17
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
15
18
|
<high <%= value_or_null_flavor(entry.end_time) %>/>
|
16
19
|
</effectiveTime>
|
17
|
-
<%== render(:partial => 'result_value', :locals => {:values => [
|
20
|
+
<%== render(:partial => 'result_value', :locals => {:values => [value], :result_oids=>result_oids}) %>
|
18
21
|
<%== render(:partial => 'reason', :locals => {:entry => entry, :reason_oids=>field_oids["REASON"]}) %>
|
19
22
|
</observation>
|
20
|
-
</entry>
|
23
|
+
</entry>
|
24
|
+
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<!-- Encounter order template -->
|
6
6
|
<templateId root="2.16.840.1.113883.10.20.24.3.22"/>
|
7
7
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
8
|
-
<%== code_display(entry, 'value_set_map' => value_set_map, 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
8
|
+
<%== code_display(entry, 'preferred_code_sets' => ['SNOMED-CT', 'ICD-9-CM', 'ICD-10-CM', 'CPT'], 'value_set_map' => value_set_map, 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
9
9
|
<text><%= entry.description %></text>
|
10
10
|
<statusCode code="new"/>
|
11
11
|
|
@@ -53,6 +53,27 @@
|
|
53
53
|
</participant>
|
54
54
|
<% end -%>
|
55
55
|
|
56
|
+
<% if entry.respond_to?(:transferFrom) && entry.transferFrom.present? -%>
|
57
|
+
<participant typeCode="ORG">
|
58
|
+
<time value="<%= entry.transferFrom.time %>"/>
|
59
|
+
<participantRole classCode="LOCE">
|
60
|
+
<templateId root="2.16.840.1.113883.10.20.24.3.81"/>
|
61
|
+
<%== code_display(entry.transferFrom, 'value_set_map' => value_set_map, 'preferred_code_sets' => ['SNOMED-CT', 'ICD-9-CM', 'ICD-10-CM', 'CPT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
62
|
+
</participantRole>
|
63
|
+
</participant>
|
64
|
+
<% end -%>
|
65
|
+
|
66
|
+
<% if entry.respond_to?(:transferTo) && entry.transferTo.present? -%>
|
67
|
+
<participant typeCode="DST">
|
68
|
+
<time value="<%= entry.transferTo.time %>"/>
|
69
|
+
<participantRole classCode="LOCE">
|
70
|
+
<!-- Transfer To (Destination) template -->
|
71
|
+
<templateId root="2.16.840.1.113883.10.20.24.3.82"/>
|
72
|
+
<%== code_display(entry.transferTo, 'value_set_map' => value_set_map, 'preferred_code_sets' => ['SNOMED-CT', 'ICD-9-CM', 'ICD-10-CM', 'CPT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
73
|
+
</participantRole>
|
74
|
+
</participant>
|
75
|
+
<% end -%>
|
76
|
+
|
56
77
|
<% if entry.reason.present? -%>
|
57
78
|
<entryRelationship typeCode="RSON">
|
58
79
|
<observation classCode="OBS" moodCode="EVN">
|
@@ -1,3 +1,6 @@
|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
1
4
|
<entry>
|
2
5
|
<observation classCode="OBS" moodCode="EVN">
|
3
6
|
<!-- Functional Status Result Observation (consolidation) template -->
|
@@ -15,6 +18,7 @@
|
|
15
18
|
</effectiveTime>
|
16
19
|
|
17
20
|
<!-- Result -->
|
18
|
-
<%== render(:partial => 'result_value', :locals => {:values => [
|
21
|
+
<%== render(:partial => 'result_value', :locals => {:values => [value], :result_oids=>result_oids}) %>
|
19
22
|
</observation>
|
20
|
-
</entry>
|
23
|
+
</entry>
|
24
|
+
<% end %>
|
@@ -6,6 +6,7 @@
|
|
6
6
|
<templateId root="2.16.840.1.113883.10.20.24.3.31"/>
|
7
7
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
8
8
|
<%== code_display(entry,'value_set_map' => value_set_map, 'preferred_code_sets' => ['LOINC', 'SNOMED-CT', 'ICD-9-CM', 'ICD-10-CM'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
9
|
+
<text><%= entry.description %></text>
|
9
10
|
<statusCode code="completed"/>
|
10
11
|
<effectiveTime>
|
11
12
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
@@ -5,6 +5,7 @@
|
|
5
5
|
<templateId root="2.16.840.1.113883.10.20.24.3.32"/>
|
6
6
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
7
7
|
<%== code_display(entry, 'value_set_map' => value_set_map, 'preferred_code_sets' => ['LOINC', 'SNOMED-CT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
8
|
+
<text><%= entry.description %></text>
|
8
9
|
<statusCode code="completed"/>
|
9
10
|
<effectiveTime>
|
10
11
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
@@ -18,6 +18,7 @@
|
|
18
18
|
<templateId root="2.16.840.1.113883.10.20.24.3.87"/>
|
19
19
|
<id root="<%= UUID.generate %>"/>
|
20
20
|
<%== code_display(entry, 'value_set_map' => value_set_map, 'preferred_code_sets' => ['LOINC', 'SNOMED-CT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
21
|
+
<text><%= entry.description %></text>
|
21
22
|
<statusCode code="completed"/>
|
22
23
|
<effectiveTime <%= value_or_null_flavor(entry.start_time) %>/>
|
23
24
|
<% ev = entry.values.first
|
@@ -1,3 +1,6 @@
|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
1
4
|
<entry>
|
2
5
|
<!--Laboratory test, result -->
|
3
6
|
<observation classCode="OBS" moodCode="EVN">
|
@@ -13,6 +16,7 @@
|
|
13
16
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
14
17
|
<high <%= value_or_null_flavor(entry.end_time) %>/>
|
15
18
|
</effectiveTime>
|
16
|
-
<%== render(:partial => 'result_value', :locals => {:values => [
|
19
|
+
<%== render(:partial => 'result_value', :locals => {:values => [value], :result_oids=>result_oids}) %>
|
17
20
|
</observation>
|
18
|
-
</entry>
|
21
|
+
</entry>
|
22
|
+
<% end %>
|
@@ -22,6 +22,7 @@
|
|
22
22
|
<participantRole classCode="MANU">
|
23
23
|
<playingEntity classCode="MMAT">
|
24
24
|
<%== code_display(entry,'value_set_map' => value_set_map, 'preferred_code_sets' => ['RxNorm', 'SNOMED-CT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
25
|
+
<text><%= entry.description %></text>
|
25
26
|
</playingEntity>
|
26
27
|
</participantRole>
|
27
28
|
</participant>
|
@@ -24,6 +24,7 @@
|
|
24
24
|
codeSystemName="HL7ActCode"/>
|
25
25
|
<statusCode code="completed"/>
|
26
26
|
<%== code_display(entry, 'tag_name' => 'value', 'preferred_code_sets' => ['SNOMED-CT', 'ICD-9-CM', 'ICD-10-CM'], 'extra_content' => "xsi:type=\"CD\"") %>
|
27
|
+
<text><%= entry.description %></text>
|
27
28
|
</observation>
|
28
29
|
</entryRelationship>
|
29
30
|
<% end -%>
|
@@ -1,3 +1,6 @@
|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
1
4
|
<entry>
|
2
5
|
<!-- Physical Exam Finding -->
|
3
6
|
<observation classCode="OBS" moodCode="EVN">
|
@@ -7,12 +10,14 @@
|
|
7
10
|
<templateId root="2.16.840.1.113883.10.20.24.3.57"/>
|
8
11
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
9
12
|
<%== code_display(entry, 'value_set_map' => value_set_map, 'preferred_code_sets' => ['LOINC', 'SNOMED-CT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
13
|
+
<text><%= entry.description %></text>
|
10
14
|
<statusCode code="completed"/>
|
11
15
|
|
12
16
|
<effectiveTime>
|
13
17
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
14
18
|
<high <%= value_or_null_flavor(entry.end_time) %>/>
|
15
19
|
</effectiveTime>
|
16
|
-
<%== render(:partial => 'result_value', :locals => {:values => [
|
20
|
+
<%== render(:partial => 'result_value', :locals => {:values => [value], :result_oids=>result_oids}) %>
|
17
21
|
</observation>
|
18
|
-
</entry>
|
22
|
+
</entry>
|
23
|
+
<% end %>
|
@@ -1,3 +1,6 @@
|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
1
4
|
<entry>
|
2
5
|
<observation classCode="OBS" moodCode="EVN" <%== negation_indicator(entry) %>>
|
3
6
|
<!-- Procedure Activity Procedure (Consolidation) template -->
|
@@ -12,6 +15,7 @@
|
|
12
15
|
<low <%= value_or_null_flavor(entry.start_time) %>/>
|
13
16
|
<high <%= value_or_null_flavor(entry.end_time) %>/>
|
14
17
|
</effectiveTime>
|
15
|
-
<%== render(:partial => 'result_value', :locals => {:values => [
|
18
|
+
<%== render(:partial => 'result_value', :locals => {:values => [value], :result_oids=>result_oids}) %>
|
16
19
|
</observation>
|
17
20
|
</entry>
|
21
|
+
<% end %>
|
@@ -1,5 +1,6 @@
|
|
1
|
-
<% vals = entry.values
|
2
|
-
vals.each do |value|
|
1
|
+
<% vals = entry.values.empty? ? [nil] : entry.values
|
2
|
+
vals.each do |value|
|
3
|
+
%>
|
3
4
|
<entry>
|
4
5
|
<observation classCode="OBS" moodCode="EVN" <%== negation_indicator(entry) %>>
|
5
6
|
<!-- Consolidation Assessment Scale Observation templateId -->
|
@@ -8,6 +9,7 @@
|
|
8
9
|
<templateId root="2.16.840.1.113883.10.20.24.3.69"/>
|
9
10
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
10
11
|
<%== code_display(entry, 'value_set_map' => value_set_map,'preferred_code_sets' => ['LOINC', 'SNOMED-CT'], 'extra_content' => "sdtc:valueSet=\"#{value_set_oid}\"") %>
|
12
|
+
<text><%= entry.description %></text>
|
11
13
|
<statusCode code="completed"/>
|
12
14
|
|
13
15
|
<effectiveTime>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<templateId root="2.16.840.1.113883.10.20.24.3.7"/>
|
7
7
|
<id root="1.3.6.1.4.1.115" extension="<%= entry.id %>"/>
|
8
8
|
<code code="360030002" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT" displayName="application of device"/>
|
9
|
-
<text
|
9
|
+
<text><%= entry.description %></text>
|
10
10
|
<statusCode code="completed"/>
|
11
11
|
|
12
12
|
<effectiveTime>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<originalText>Time Difference</originalText>
|
6
6
|
</code>
|
7
7
|
<statusCode code="completed"/>
|
8
|
-
<value xsi:type="PQ" value="<%= population.
|
8
|
+
<value xsi:type="PQ" value="<%= population.value %>" unit="min"/>
|
9
9
|
<methodCode code="MEDIAN"
|
10
10
|
displayName="Median"
|
11
11
|
codeSystem="2.16.840.1.113883.5.84"
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<reference typeCode="REFR">
|
14
14
|
<!-- reference to the relevant measure observation in the eMeasure -->
|
15
15
|
<externalObservation classCode="OBS" moodCode="EVN">
|
16
|
-
<id root="<%=
|
16
|
+
<id root="<%=population.id %>"/>
|
17
17
|
</externalObservation>
|
18
18
|
</reference>
|
19
19
|
</observation>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
<!-- MEASURE DATA REPORTING FOR <%=
|
2
|
+
<!-- MEASURE DATA REPORTING FOR <%= population.type %> <%= population.id %> -->
|
3
3
|
<observation classCode="OBS" moodCode="EVN">
|
4
4
|
<!-- Measure Data template -->
|
5
5
|
<templateId root="2.16.840.1.113883.10.20.27.3.5"/>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
displayName="Assertion"
|
9
9
|
codeSystemName="ActCode"/>
|
10
10
|
<statusCode code="completed"/>
|
11
|
-
<value xsi:type="CD" code="<%=
|
11
|
+
<value xsi:type="CD" code="<%= population.type %>"
|
12
12
|
codeSystem="2.16.840.1.113883.5.1063"
|
13
13
|
codeSystemName="ObservationValue"/>
|
14
14
|
<!-- Aggregate Count -->
|
@@ -19,16 +19,16 @@
|
|
19
19
|
displayName="rate aggregation"
|
20
20
|
codeSystem="2.16.840.1.113883.5.4"
|
21
21
|
codeSystemName="ActCode"/>
|
22
|
-
<value xsi:type="INT" value="<%=
|
22
|
+
<value xsi:type="INT" value="<%= population.value.round %>"/>
|
23
23
|
<methodCode code="COUNT"
|
24
24
|
displayName="Count"
|
25
25
|
codeSystem="2.16.840.1.113883.5.84"
|
26
26
|
codeSystemName="ObservationMethod"/>
|
27
27
|
</observation>
|
28
28
|
</entryRelationship>
|
29
|
-
<%
|
29
|
+
<% population.stratifications.each do |strat| -%>
|
30
30
|
|
31
|
-
<!-- Startification Reporting Template for <%=
|
31
|
+
<!-- Startification Reporting Template for <%= population.type %> <%= population.id %> Stratification <%= strat.id %> -->
|
32
32
|
|
33
33
|
<entryRelationship typeCode="COMP">
|
34
34
|
<observation classCode="OBS" moodCode="EVN">
|
@@ -48,14 +48,14 @@
|
|
48
48
|
displayName="rate aggregation"
|
49
49
|
codeSystem="2.16.840.1.113883.5.4"
|
50
50
|
codeSystemName="ActCode"/>
|
51
|
-
<value xsi:type="INT" value="<%= strat.
|
51
|
+
<value xsi:type="INT" value="<%= strat.value.round %>"/>
|
52
52
|
<methodCode code="COUNT"
|
53
53
|
displayName="Count"
|
54
54
|
codeSystem="2.16.840.1.113883.5.84"
|
55
55
|
codeSystemName="ObservationMethod"/>
|
56
56
|
</observation>
|
57
57
|
</entryRelationship>
|
58
|
-
<% if
|
58
|
+
<% if population.type == 'MSRPOPL' -%>
|
59
59
|
<%== render :partial => 'continuous_variable_value', :locals => {:population => strat} %>
|
60
60
|
<% end -%>
|
61
61
|
<reference typeCode="REFR">
|
@@ -66,12 +66,12 @@
|
|
66
66
|
</observation>
|
67
67
|
</entryRelationship>
|
68
68
|
<% end -%>
|
69
|
-
<% if
|
70
|
-
<% sex_supplimental_data =
|
69
|
+
<% if population.supplemental_data.present? -%>
|
70
|
+
<% sex_supplimental_data = population.supplemental_data["SEX"]
|
71
71
|
if sex_supplimental_data.present?
|
72
72
|
sex_supplimental_data.each do |sex, count| -%>
|
73
73
|
|
74
|
-
<!-- SEX Supplemental Data Reporting for <%=
|
74
|
+
<!-- SEX Supplemental Data Reporting for <%= population.type %> <%= population.id %> -->
|
75
75
|
|
76
76
|
<%== render :partial => 'supplemental_data', :locals => {:template_name => 'Sex Supplemental Data',
|
77
77
|
:template_id => '2.16.840.1.113883.10.20.27.3.6', :supplemental_data_code => '184100006',
|
@@ -79,11 +79,11 @@
|
|
79
79
|
:supplemental_data_value_code_system => '2.16.840.1.113883.5.1', :count => count} %>
|
80
80
|
<% end -%>
|
81
81
|
<% end -%>
|
82
|
-
<% ethnicity_supplimental_data =
|
82
|
+
<% ethnicity_supplimental_data = population.supplemental_data["ETHNICITY"]
|
83
83
|
if ethnicity_supplimental_data.present?
|
84
84
|
ethnicity_supplimental_data.each do |ethnicity, count| -%>
|
85
85
|
|
86
|
-
<!-- ETHNICITY Supplemental Data Reporting for <%=
|
86
|
+
<!-- ETHNICITY Supplemental Data Reporting for <%= population.type %> <%= population.id %> -->
|
87
87
|
|
88
88
|
<%== render :partial => 'supplemental_data', :locals => {:template_name => 'Ethnicity Supplemental Data',
|
89
89
|
:template_id => '2.16.840.1.113883.10.20.27.3.7', :supplemental_data_code => '364699009',
|
@@ -91,11 +91,11 @@
|
|
91
91
|
:supplemental_data_value_code_system => '2.16.840.1.113883.6.238', :count => count} %>
|
92
92
|
<% end -%>
|
93
93
|
<% end -%>
|
94
|
-
<% race_supplimental_data =
|
94
|
+
<% race_supplimental_data = population.supplemental_data["RACE"]
|
95
95
|
if race_supplimental_data.present?
|
96
96
|
race_supplimental_data.each do |race, count| -%>
|
97
97
|
|
98
|
-
<!-- RACE Supplemental Data Reporting for <%=
|
98
|
+
<!-- RACE Supplemental Data Reporting for <%= population.type %> <%= population.id %> -->
|
99
99
|
|
100
100
|
<%== render :partial => 'supplemental_data', :locals => {:template_name => 'Race Supplemental Data',
|
101
101
|
:template_id => '2.16.840.1.113883.10.20.27.3.8', :supplemental_data_code => '103579009',
|
@@ -103,11 +103,11 @@
|
|
103
103
|
:supplemental_data_value_code_system => '2.16.840.1.113883.6.238', :count => count} %>
|
104
104
|
<% end -%>
|
105
105
|
<% end -%>
|
106
|
-
<% payer_supplimental_data =
|
106
|
+
<% payer_supplimental_data = population.supplemental_data["PAYER"]
|
107
107
|
if payer_supplimental_data.present?
|
108
108
|
payer_supplimental_data.each do |payer, count| -%>
|
109
109
|
|
110
|
-
<!-- PAYER Supplemental Data Reporting for
|
110
|
+
<!-- PAYER Supplemental Data Reporting for<%= population.type %> <%= population.id %> -->
|
111
111
|
<%== render :partial => 'supplemental_data', :locals => {:template_name => 'Payer Supplemental Data',
|
112
112
|
:template_id => '2.16.840.1.113883.10.20.27.3.9', :supplemental_data_code => '48768-6',
|
113
113
|
:supplemental_data_code_system => '2.16.840.1.113883.6.1', :supplemental_data_value_code => payer,
|
@@ -115,12 +115,12 @@
|
|
115
115
|
<% end -%>
|
116
116
|
<% end -%>
|
117
117
|
<% end -%>
|
118
|
-
<% if
|
119
|
-
<%== render :partial => 'continuous_variable_value', :locals => {:population => aggregate_count}
|
118
|
+
<% if population.type == 'MSRPOPL' -%>
|
119
|
+
<%== render :partial => 'continuous_variable_value', :locals => {:population => aggregate_count.populations.find{|p| p.type == "OBSERV"}}%>
|
120
120
|
<% end -%>
|
121
121
|
<reference typeCode="REFR">
|
122
122
|
<externalObservation classCode="OBS" moodCode="EVN">
|
123
|
-
<id root="<%=
|
123
|
+
<id root="<%= population.id %>"/>
|
124
124
|
</externalObservation>
|
125
125
|
</reference>
|
126
126
|
</observation>
|
@@ -4,10 +4,10 @@
|
|
4
4
|
displayName="Performance Rate"
|
5
5
|
codeSystemName="2.16.840.1.113883.6.1"/>
|
6
6
|
<statusCode code="completed"/>
|
7
|
-
<value xsi:type="REAL" value="<%=
|
7
|
+
<value xsi:type="REAL" value="<%= population_group.performance_rate %>"/>
|
8
8
|
<reference typeCode="REFR">
|
9
9
|
<externalObservation classCode="OBS" moodCode="EVN">
|
10
|
-
<id root="<%=
|
10
|
+
<id root="<%= population_group.numerator.id %>"/>
|
11
11
|
<code code="NUMER" displayName="Numerator"
|
12
12
|
codeSystem="2.16.840.1.113883.5.1063"
|
13
13
|
codeSystemName="ObservationValue"/>
|
@@ -123,16 +123,18 @@ Measure Section
|
|
123
123
|
</reference>
|
124
124
|
|
125
125
|
<% result = results[measure['hqmf_id']]
|
126
|
-
unless result.is_cv?
|
126
|
+
unless result.is_cv?
|
127
|
+
result.population_groups.each do |pg|
|
127
128
|
-%>
|
128
129
|
<component>
|
129
|
-
<%== render :partial => 'performance_rate', :locals => {:
|
130
|
+
<%== render :partial => 'performance_rate', :locals => {:population_group => pg} %>
|
130
131
|
</component>
|
131
|
-
<% end
|
132
|
-
|
132
|
+
<% end
|
133
|
+
end -%>
|
134
|
+
<% result.populations.each do |pop|
|
133
135
|
unless pop.type == 'OBSERV' -%>
|
134
136
|
<component>
|
135
|
-
<%== render :partial => 'measure_data', :locals => {:aggregate_count => result, :
|
137
|
+
<%== render :partial => 'measure_data', :locals => {:aggregate_count => result, :population => pop} %>
|
136
138
|
</component>
|
137
139
|
<% end
|
138
140
|
end -%>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<advanceDirective xmlns="urn:hl7-org:greencda:c32">
|
2
2
|
<%== gc32_code_display advance_directive, 'preferred_code_sets' => ['SNOMED-CT'] %>
|
3
3
|
<%== gc32_effective_time(advance_directive)%>
|
4
|
-
<freeText><%= advance_directive.
|
4
|
+
<freeText><%= advance_directive.description %></freeText>
|
5
5
|
</advanceDirective>
|
@@ -6,5 +6,5 @@
|
|
6
6
|
<% if entry.status_code && !entry.status_code.empty? %>
|
7
7
|
<%== gc32_code_display entry, "tag_name" => "status", "attribute" => "status_code", 'preferred_code_sets' => ['SNOMED-CT', "HL7 ActStatus"] %>
|
8
8
|
<% end %>
|
9
|
-
<freeText><%=entry.
|
9
|
+
<freeText><%=entry.description %></freeText>
|
10
10
|
<%== gc32_effective_time(entry)%>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
</guarantor>
|
23
23
|
<% end %>
|
24
24
|
<healthPlanName><%=insurance_provider.name%></healthPlanName>
|
25
|
-
<% if insurance_provider.
|
26
|
-
<freeText><%= insurance_provider.
|
25
|
+
<% if insurance_provider.description%>
|
26
|
+
<freeText><%= insurance_provider.description%></freeText>
|
27
27
|
<% end %>
|
28
28
|
</insuranceProvider>
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: health-data-standards
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
5
|
-
prerelease:
|
4
|
+
version: 3.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Andy Gregorowicz
|
@@ -13,12 +12,11 @@ authors:
|
|
13
12
|
autorequire:
|
14
13
|
bindir: bin
|
15
14
|
cert_chain: []
|
16
|
-
date:
|
15
|
+
date: 2014-01-23 00:00:00.000000000 Z
|
17
16
|
dependencies:
|
18
17
|
- !ruby/object:Gem::Dependency
|
19
18
|
name: rest-client
|
20
19
|
requirement: !ruby/object:Gem::Requirement
|
21
|
-
none: false
|
22
20
|
requirements:
|
23
21
|
- - ~>
|
24
22
|
- !ruby/object:Gem::Version
|
@@ -26,7 +24,6 @@ dependencies:
|
|
26
24
|
type: :runtime
|
27
25
|
prerelease: false
|
28
26
|
version_requirements: !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
27
|
requirements:
|
31
28
|
- - ~>
|
32
29
|
- !ruby/object:Gem::Version
|
@@ -34,7 +31,6 @@ dependencies:
|
|
34
31
|
- !ruby/object:Gem::Dependency
|
35
32
|
name: erubis
|
36
33
|
requirement: !ruby/object:Gem::Requirement
|
37
|
-
none: false
|
38
34
|
requirements:
|
39
35
|
- - ~>
|
40
36
|
- !ruby/object:Gem::Version
|
@@ -42,7 +38,6 @@ dependencies:
|
|
42
38
|
type: :runtime
|
43
39
|
prerelease: false
|
44
40
|
version_requirements: !ruby/object:Gem::Requirement
|
45
|
-
none: false
|
46
41
|
requirements:
|
47
42
|
- - ~>
|
48
43
|
- !ruby/object:Gem::Version
|
@@ -50,7 +45,6 @@ dependencies:
|
|
50
45
|
- !ruby/object:Gem::Dependency
|
51
46
|
name: mongoid
|
52
47
|
requirement: !ruby/object:Gem::Requirement
|
53
|
-
none: false
|
54
48
|
requirements:
|
55
49
|
- - ~>
|
56
50
|
- !ruby/object:Gem::Version
|
@@ -58,7 +52,6 @@ dependencies:
|
|
58
52
|
type: :runtime
|
59
53
|
prerelease: false
|
60
54
|
version_requirements: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
55
|
requirements:
|
63
56
|
- - ~>
|
64
57
|
- !ruby/object:Gem::Version
|
@@ -66,7 +59,6 @@ dependencies:
|
|
66
59
|
- !ruby/object:Gem::Dependency
|
67
60
|
name: activesupport
|
68
61
|
requirement: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
62
|
requirements:
|
71
63
|
- - ~>
|
72
64
|
- !ruby/object:Gem::Version
|
@@ -74,7 +66,6 @@ dependencies:
|
|
74
66
|
type: :runtime
|
75
67
|
prerelease: false
|
76
68
|
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
69
|
requirements:
|
79
70
|
- - ~>
|
80
71
|
- !ruby/object:Gem::Version
|
@@ -82,7 +73,6 @@ dependencies:
|
|
82
73
|
- !ruby/object:Gem::Dependency
|
83
74
|
name: uuid
|
84
75
|
requirement: !ruby/object:Gem::Requirement
|
85
|
-
none: false
|
86
76
|
requirements:
|
87
77
|
- - ~>
|
88
78
|
- !ruby/object:Gem::Version
|
@@ -90,7 +80,6 @@ dependencies:
|
|
90
80
|
type: :runtime
|
91
81
|
prerelease: false
|
92
82
|
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
83
|
requirements:
|
95
84
|
- - ~>
|
96
85
|
- !ruby/object:Gem::Version
|
@@ -98,7 +87,6 @@ dependencies:
|
|
98
87
|
- !ruby/object:Gem::Dependency
|
99
88
|
name: builder
|
100
89
|
requirement: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
102
90
|
requirements:
|
103
91
|
- - ~>
|
104
92
|
- !ruby/object:Gem::Version
|
@@ -106,7 +94,6 @@ dependencies:
|
|
106
94
|
type: :runtime
|
107
95
|
prerelease: false
|
108
96
|
version_requirements: !ruby/object:Gem::Requirement
|
109
|
-
none: false
|
110
97
|
requirements:
|
111
98
|
- - ~>
|
112
99
|
- !ruby/object:Gem::Version
|
@@ -114,7 +101,6 @@ dependencies:
|
|
114
101
|
- !ruby/object:Gem::Dependency
|
115
102
|
name: nokogiri
|
116
103
|
requirement: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
104
|
requirements:
|
119
105
|
- - ~>
|
120
106
|
- !ruby/object:Gem::Version
|
@@ -122,7 +108,6 @@ dependencies:
|
|
122
108
|
type: :runtime
|
123
109
|
prerelease: false
|
124
110
|
version_requirements: !ruby/object:Gem::Requirement
|
125
|
-
none: false
|
126
111
|
requirements:
|
127
112
|
- - ~>
|
128
113
|
- !ruby/object:Gem::Version
|
@@ -130,7 +115,6 @@ dependencies:
|
|
130
115
|
- !ruby/object:Gem::Dependency
|
131
116
|
name: rubyzip
|
132
117
|
requirement: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
118
|
requirements:
|
135
119
|
- - '='
|
136
120
|
- !ruby/object:Gem::Version
|
@@ -138,7 +122,6 @@ dependencies:
|
|
138
122
|
type: :runtime
|
139
123
|
prerelease: false
|
140
124
|
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
125
|
requirements:
|
143
126
|
- - '='
|
144
127
|
- !ruby/object:Gem::Version
|
@@ -146,7 +129,6 @@ dependencies:
|
|
146
129
|
- !ruby/object:Gem::Dependency
|
147
130
|
name: log4r
|
148
131
|
requirement: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
132
|
requirements:
|
151
133
|
- - ~>
|
152
134
|
- !ruby/object:Gem::Version
|
@@ -154,7 +136,6 @@ dependencies:
|
|
154
136
|
type: :runtime
|
155
137
|
prerelease: false
|
156
138
|
version_requirements: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
139
|
requirements:
|
159
140
|
- - ~>
|
160
141
|
- !ruby/object:Gem::Version
|
@@ -162,7 +143,6 @@ dependencies:
|
|
162
143
|
- !ruby/object:Gem::Dependency
|
163
144
|
name: memoist
|
164
145
|
requirement: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
146
|
requirements:
|
167
147
|
- - ~>
|
168
148
|
- !ruby/object:Gem::Version
|
@@ -170,7 +150,6 @@ dependencies:
|
|
170
150
|
type: :runtime
|
171
151
|
prerelease: false
|
172
152
|
version_requirements: !ruby/object:Gem::Requirement
|
173
|
-
none: false
|
174
153
|
requirements:
|
175
154
|
- - ~>
|
176
155
|
- !ruby/object:Gem::Version
|
@@ -204,6 +183,7 @@ files:
|
|
204
183
|
- lib/health-data-standards/ext/node.rb
|
205
184
|
- lib/health-data-standards/ext/string.rb
|
206
185
|
- lib/health-data-standards/ext/symbol.rb
|
186
|
+
- lib/health-data-standards/import/bulk_record_importer.rb
|
207
187
|
- lib/health-data-standards/import/bundle/importer.rb
|
208
188
|
- lib/health-data-standards/import/c32/care_goal_importer.rb
|
209
189
|
- lib/health-data-standards/import/c32/condition_importer.rb
|
@@ -215,6 +195,7 @@ files:
|
|
215
195
|
- lib/health-data-standards/import/cat1/diagnostic_study_order_importer.rb
|
216
196
|
- lib/health-data-standards/import/cat1/ecog_status_importer.rb
|
217
197
|
- lib/health-data-standards/import/cat1/encounter_order_importer.rb
|
198
|
+
- lib/health-data-standards/import/cat1/encounter_performed_importer.rb
|
218
199
|
- lib/health-data-standards/import/cat1/entry_package.rb
|
219
200
|
- lib/health-data-standards/import/cat1/gestational_age_importer.rb
|
220
201
|
- lib/health-data-standards/import/cat1/insurance_provider_importer.rb
|
@@ -326,6 +307,7 @@ files:
|
|
326
307
|
- lib/health-data-standards/models/svs/value_set.rb
|
327
308
|
- lib/health-data-standards/models/telecom.rb
|
328
309
|
- lib/health-data-standards/models/thing_with_codes.rb
|
310
|
+
- lib/health-data-standards/models/transfer.rb
|
329
311
|
- lib/health-data-standards/models/treating_provider.rb
|
330
312
|
- lib/health-data-standards/models/vital_sign.rb
|
331
313
|
- lib/health-data-standards/railtie.rb
|
@@ -541,26 +523,25 @@ files:
|
|
541
523
|
homepage: https://github.com/projectcypress/health-data-standards
|
542
524
|
licenses:
|
543
525
|
- APL 2.0
|
526
|
+
metadata: {}
|
544
527
|
post_install_message:
|
545
528
|
rdoc_options: []
|
546
529
|
require_paths:
|
547
530
|
- lib
|
548
531
|
required_ruby_version: !ruby/object:Gem::Requirement
|
549
|
-
none: false
|
550
532
|
requirements:
|
551
|
-
- -
|
533
|
+
- - '>='
|
552
534
|
- !ruby/object:Gem::Version
|
553
535
|
version: '0'
|
554
536
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
555
|
-
none: false
|
556
537
|
requirements:
|
557
|
-
- -
|
538
|
+
- - '>='
|
558
539
|
- !ruby/object:Gem::Version
|
559
540
|
version: '0'
|
560
541
|
requirements: []
|
561
542
|
rubyforge_project:
|
562
|
-
rubygems_version:
|
543
|
+
rubygems_version: 2.0.6
|
563
544
|
signing_key:
|
564
|
-
specification_version:
|
545
|
+
specification_version: 4
|
565
546
|
summary: A library for generating and consuming various healthcare related formats.
|
566
547
|
test_files: []
|