health-data-standards 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|