health-data-standards 0.1.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.
@@ -0,0 +1,20 @@
1
+ <text>
2
+ <table border="1" width="100%">
3
+ <thead>
4
+ <tr>
5
+ <th>Description</th>
6
+ <th>Codes</th>
7
+ <th>Time</th>
8
+ </tr>
9
+ </thead>
10
+ <tbody>
11
+ <% entries.each_with_index do |entry, i| -%>
12
+ <tr>
13
+ <td ID="<%= section %>-desc-<%= i %>"><%= entry.description %></td>
14
+ <td ID="<%= section %>-code-<%= i %>"><%= entry.codes_to_s %></td>
15
+ <td><%= entry.times_to_s %></td>
16
+ </tr>
17
+ <%- end -%>
18
+ </tbody>
19
+ </table>
20
+ </text>
@@ -0,0 +1,29 @@
1
+ <component>
2
+ <!--Surgeries-->
3
+ <section>
4
+ <templateId root="2.16.840.1.113883.10.20.1.12" assigningAuthorityName="HL7 CCD"/>
5
+ <templateId root="2.16.840.1.113883.3.88.11.83.108" assigningAuthorityName="HITSP/C83"/>
6
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.12" assigningAuthorityName="IHE PCC"/>
7
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.11" assigningAuthorityName="IHE PCC"/>
8
+ <!--Surgeries section template-->
9
+ <code code="47519-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="List of surgeries"/>
10
+ <%== render :partial => 'narrative_block', :locals => {:entries => entries, :section => 'procedures'} %>
11
+ <% entries.each_with_index do |entry, i| -%>
12
+ <entry typeCode="DRIV">
13
+ <procedure classCode="PROC" moodCode="EVN">
14
+ <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
15
+ <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
16
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
17
+ <!-- Procedure activity template -->
18
+ <id root="<%= UUID.generate %>"/>
19
+ <%== render :partial => 'code_with_reference', :locals => {:entry => entry, :i => i, :section => 'procedures'} %>
20
+ <text>
21
+ <reference value="#procedures-desc-<%= i %>"/>
22
+ </text>
23
+ <statusCode code="completed"/>
24
+ <effectiveTime value="<%= Time.at(entry.time).utc.to_formatted_s(:number) %>"/>
25
+ </procedure>
26
+ </entry>
27
+ <% end -%>
28
+ </section>
29
+ </component>
@@ -0,0 +1,59 @@
1
+ <component>
2
+ <!--Diagnostic Results-->
3
+ <section>
4
+ <templateId root="2.16.840.1.113883.3.88.11.83.122" assigningAuthorityName="HITSP/C83"/>
5
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.28" assigningAuthorityName="IHE PCC"/>
6
+ <!--Diagnostic Results section template-->
7
+ <code code="30954-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Results"/>
8
+ <title>Diagnostic Results</title>
9
+ <%== render :partial => 'narrative_block', :locals => {:entries => entries, :section => 'results'} %>
10
+ <entry typeCode="DRIV">
11
+ <organizer classCode="BATTERY" moodCode="EVN">
12
+ <templateId root="2.16.840.1.113883.10.20.1.32"/>
13
+ <!--Result organizer template -->
14
+ <id root="<%= UUID.generate %>"/>
15
+ <code nullFlavor="NA"/>
16
+ <statusCode code="completed"/>
17
+ <effectiveTime value="<%= Time.now.utc.to_formatted_s(:number) %>"/>
18
+ <component>
19
+ <procedure classCode="PROC" moodCode="EVN">
20
+ <templateId root="2.16.840.1.113883.3.88.11.83.17" assigningAuthorityName="HITSP C83"/>
21
+ <templateId root="2.16.840.1.113883.10.20.1.29" assigningAuthorityName="CCD"/>
22
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.19" assigningAuthorityName="IHE PCC"/>
23
+ <id root="<%= UUID.generate %>"/>
24
+ <code nullFlavor="UNK">
25
+ <originalText><reference value="Unknown"/></originalText>
26
+ </code>
27
+ <text>
28
+ <reference value="Unknown"/>
29
+ </text>
30
+ <statusCode code="completed"/>
31
+ <effectiveTime nullFlavor="UNK"/>
32
+ </procedure>
33
+ </component>
34
+ <% entries.each_with_index do |entry, i| -%>
35
+ <component>
36
+ <observation classCode="OBS" moodCode="EVN">
37
+ <templateId root="2.16.840.1.113883.3.88.11.83.15.1" assigningAuthorityName="HITSP C83"/>
38
+ <templateId root="2.16.840.1.113883.10.20.1.31" assigningAuthorityName="CCD"/>
39
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName="IHE PCC"/>
40
+ <!-- Result observation template -->
41
+ <id root="<%= UUID.generate %>"/>
42
+ <%== code_display(entry) %>
43
+ <text>
44
+ <reference value="#results-desc-<%= i %>"/>
45
+ </text>
46
+ <statusCode code="completed"/>
47
+ <effectiveTime value="<%= Time.at(entry.time).utc.to_formatted_s(:number) %>"/>
48
+ <% if entry.value -%>
49
+ <value xsi:type="PQ" value="<%= entry.value["scalar"] %>" <% if entry.value["units"]-%>unit="<%= entry.value["units"] %>"<% end -%>/>
50
+ <% else -%>
51
+ <value xsi:type="PQ" nullFlavor="UNK"/>
52
+ <% end -%>
53
+ </observation>
54
+ </component>
55
+ <% end -%>
56
+ </organizer>
57
+ </entry>
58
+ </section>
59
+ </component>
@@ -0,0 +1,26 @@
1
+ <component>
2
+ <!--Social History - Not C32-->
3
+ <section>
4
+ <templateId root="2.16.840.1.113883.3.88.11.83.126" assigningAuthorityName="HITSP/C83"/>
5
+ <templateId root="2.16.840.1.113883.10.20.1.15" assigningAuthorityName="CCD"/>
6
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.16" assigningAuthorityName="IHE PCC"/>
7
+ <!-- Social history section template -->
8
+ <code code="29762-2" codeSystem="2.16.840.1.113883.6.1"/>
9
+ <title>Social History</title>
10
+ <%== render :partial => 'narrative_block', :locals => {:entries => entries, :section => 'social_history'} %>
11
+ <% entries.each_with_index do |entry, i| -%>
12
+ <entry typeCode="DRIV">
13
+ <observation classCode="OBS" moodCode="EVN">
14
+ <templateId root="2.16.840.1.113883.3.88.11.83.19" assigningAuthorityName="HITSP C83"/>
15
+ <templateId root="2.16.840.1.113883.10.20.1.33" assigningAuthorityName="CCD"/>
16
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.4" assigningAuthorityName="IHE PCC"/>
17
+ <!-- Social history observation template -->
18
+ <id root="<%= UUID.generate %>"/>
19
+ <%== code_display(entry) %>
20
+ <statusCode code="completed"/>
21
+ <effectiveTime value="<%= Time.at(entry.time).utc.to_formatted_s(:number) %>"/>
22
+ </observation>
23
+ </entry>
24
+ <% end -%>
25
+ </section>
26
+ </component>
@@ -0,0 +1,48 @@
1
+ <component>
2
+ <!--Vital Signs-->
3
+ <section>
4
+ <templateId root="2.16.840.1.113883.10.20.1.16" assigningAuthorityName="HL7 CCD"/>
5
+ <templateId root="2.16.840.1.113883.3.88.11.83.119" assigningAuthorityName="HITSP/C83"/>
6
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2" assigningAuthorityName="IHE PCC"/>
7
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.25" assigningAuthorityName="IHE PCC"/>
8
+ <!--Vital Signs section template-->
9
+ <code code="8716-3" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Vital signs"/>
10
+ <title>Vital Signs</title>
11
+ <%== render :partial => 'narrative_block', :locals => {:entries => entries, :section => 'vitals'} %>
12
+ <entry typeCode="DRIV">
13
+ <organizer classCode="CLUSTER" moodCode="EVN">
14
+ <templateId root="2.16.840.1.113883.10.20.1.32" assigningAuthorityName="CCD"/>
15
+ <templateId root="2.16.840.1.113883.10.20.1.35" assigningAuthorityName="CCD"/>
16
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.1" assigningAuthorityName="IHE PCC"/>
17
+ <!-- Vital signs organizer template -->
18
+ <id root="<%= UUID.generate %>"/>
19
+ <code code="46680005" codeSystem="2.16.840.1.113883.6.96" displayName="Vital signs" codeSystemName="SNOMED CT"/>
20
+ <statusCode code="completed"/>
21
+ <effectiveTime value="19991114"/>
22
+ <% entries.each_with_index do |entry, i| -%>
23
+ <component>
24
+ <observation classCode="OBS" moodCode="EVN">
25
+ <templateId root="2.16.840.1.113883.3.88.11.83.14" assigningAuthorityName="HITSP C83"/>
26
+ <templateId root="2.16.840.1.113883.10.20.1.31" assigningAuthorityName="CCD"/>
27
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.2" assigningAuthorityName="IHE PCC"/>
28
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName="IHE PCC"/>
29
+ <!-- Result observation template -->
30
+ <id root="<%= UUID.generate %>"/>
31
+ <%== code_display(entry) %>
32
+ <text>
33
+ <reference value="vitals-desc-<%= i %>"/>
34
+ </text>
35
+ <statusCode code="completed"/>
36
+ <effectiveTime value="<%= Time.at(entry.time).utc.to_formatted_s(:number) %>"/>
37
+ <% if entry.value -%>
38
+ <value xsi:type="PQ" value="<%= entry.value["scalar"] %>" <% if entry.value["units"]-%>unit="<%= entry.value["units"] %>"<% end -%>/>
39
+ <% else -%>
40
+ <value xsi:type="PQ" nullFlavor="UNK"/>
41
+ <% end -%>
42
+ </observation>
43
+ </component>
44
+ <% end -%>
45
+ </organizer>
46
+ </entry>
47
+ </section>
48
+ </component>
@@ -0,0 +1,103 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://xreg2.nist.gov:8080/hitspValidation/schema/cdar2c32/infrastructure/cda/C32_CDA.xsd">
3
+ <realmCode code="US"/>
4
+ <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
5
+ <templateId root="2.16.840.1.113883.3.27.1776" assigningAuthorityName="CDA/R2"/>
6
+ <templateId root="2.16.840.1.113883.10.20.3" assigningAuthorityName="HL7/CDT Header"/>
7
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.1.1" assigningAuthorityName="IHE/PCC"/>
8
+ <templateId root="2.16.840.1.113883.3.88.11.32.1" assigningAuthorityName="HITSP/C32"/>
9
+ <id root="2.16.840.1.113883.3.72" extension="HITSP_C32v2.5_Rev6_16Sections_Entries_MinimalErrors" assigningAuthorityName="NIST Healthcare Project"/>
10
+ <code code="34133-9" displayName="Summarization of episode note" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
11
+ <title>Cypress C32 Patient Test Record: <%= patient.first %> <%= patient.last %></title>
12
+ <effectiveTime value="<%= Time.now.utc.to_formatted_s(:number) %>"/>
13
+ <confidentialityCode code="N"/>
14
+ <languageCode code="nn-CC"/>
15
+ <recordTarget>
16
+ <patientRole>
17
+ <id root="Cypress" extension="<%= patient.id %>"/>
18
+ <addr use="HP">
19
+ <streetAddressLine>202 Burlington Rd.</streetAddressLine>
20
+ <city>Bedford</city>
21
+ <state>MA</state>
22
+ <postalCode>01730</postalCode>
23
+ </addr>
24
+ <telecom value="tel:+1-781-271-3000"/>
25
+ <patient>
26
+ <name>
27
+ <given><%= patient.first %></given>
28
+ <family><%= patient.last %></family>
29
+ </name>
30
+ <administrativeGenderCode code="<%= patient.gender %>" codeSystem="2.16.840.1.113883.5.1" codeSystemName="HL7 AdministrativeGender"/>
31
+ <birthTime value="<%= Time.at(patient.birthdate).utc.to_formatted_s(:number) %>"/>
32
+ <languageCommunication>
33
+ <templateId root="2.16.840.1.113883.3.88.11.83.2" assigningAuthorityName="HITSP/C83"/>
34
+ <templateId root="1.3.6.1.4.1.19376.1.5.3.1.2.1" assigningAuthorityName="IHE/PCC"/>
35
+ <languageCode code="en-US"/>
36
+ </languageCommunication>
37
+ </patient>
38
+ </patientRole>
39
+ </recordTarget>
40
+ <author>
41
+ <time value="<%= Time.now.utc.to_formatted_s(:number) %>"/>
42
+ <assignedAuthor>
43
+ <id/>
44
+ <addr/>
45
+ <telecom value="tel:+1-781-271-3000"/>
46
+ <assignedPerson>
47
+ <name>Auto Generated</name>
48
+ </assignedPerson>
49
+ </assignedAuthor>
50
+ </author>
51
+ <custodian>
52
+ <assignedCustodian>
53
+ <representedCustodianOrganization>
54
+ <id/>
55
+ <name>Cypress</name>
56
+ <telecom value="tel:+1-781-271-3000"/>
57
+ <addr>
58
+ <streetAddressLine>202 Burlington Rd.</streetAddressLine>
59
+ <city>Bedford</city>
60
+ <state>MA</state>
61
+ <postalCode>01730</postalCode>
62
+ </addr>
63
+ </representedCustodianOrganization>
64
+ </assignedCustodian>
65
+ </custodian>
66
+ <component>
67
+ <structuredBody>
68
+ <% if patient.allergies.present? -%>
69
+ <%== render :partial => 'allergies', :locals => {:entries => patient.allergies} %>
70
+ <% end -%>
71
+ <% if patient.medications.present? -%>
72
+ <%== render :partial => 'medications', :locals => {:entries => patient.medications} %>
73
+ <% end -%>
74
+ <% if patient.encounters.present? -%>
75
+ <%== render :partial => 'encounters', :locals => {:entries => patient.encounters} %>
76
+ <% end -%>
77
+ <% if patient.conditions.present? -%>
78
+ <%== render :partial => 'conditions', :locals => {:entries => patient.conditions} %>
79
+ <% end -%>
80
+ <% if patient.vital_signs.present? -%>
81
+ <%== render :partial => 'vital_signs', :locals => {:entries => patient.vital_signs} %>
82
+ <% end -%>
83
+ <% if patient.procedures.present? -%>
84
+ <%== render :partial => 'procedures', :locals => {:entries => patient.procedures} %>
85
+ <% end -%>
86
+ <% if patient.results.present? -%>
87
+ <%== render :partial => 'results', :locals => {:entries => patient.results} %>
88
+ <% end -%>
89
+ <% if patient.immunizations.present? -%>
90
+ <%== render :partial => 'immunizations', :locals => {:entries => patient.immunizations} %>
91
+ <% end -%>
92
+ <% if patient.care_goals.present? -%>
93
+ <%== render :partial => 'care_goals', :locals => {:entries => patient.care_goals} %>
94
+ <% end -%>
95
+ <% if patient.social_history.present? -%>
96
+ <%== render :partial => 'social_history', :locals => {:entries => patient.social_history} %>
97
+ <% end -%>
98
+ <% if patient.medical_equipment.present? -%>
99
+ <%== render :partial => 'medical_equipment', :locals => {:entries => patient.medical_equipment} %>
100
+ <% end -%>
101
+ </structuredBody>
102
+ </component>
103
+ </ClinicalDocument>
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: health-data-standards
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Andy Gregorowicz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-11-22 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: erubis
16
+ requirement: &70116647230460 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.6'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70116647230460
25
+ - !ruby/object:Gem::Dependency
26
+ name: mongoid
27
+ requirement: &70116647229520 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 2.2.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70116647229520
36
+ - !ruby/object:Gem::Dependency
37
+ name: uuid
38
+ requirement: &70116647228380 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 2.3.4
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70116647228380
47
+ - !ruby/object:Gem::Dependency
48
+ name: quality-measure-engine
49
+ requirement: &70116647227220 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70116647227220
58
+ - !ruby/object:Gem::Dependency
59
+ name: builder
60
+ requirement: &70116647226080 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 2.1.2
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70116647226080
69
+ description: A library for generating and consuming various healthcare related formats.
70
+ This includes HITSP C32, ASTM CCR and PQRI.
71
+ email: talk@projectpophealth.org
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - lib/health-data-standards/export/c32.rb
77
+ - lib/health-data-standards/export/ccr.rb
78
+ - lib/health-data-standards/export/rendering_context.rb
79
+ - lib/health-data-standards/export/template_helper.rb
80
+ - lib/health-data-standards/export/view_helper.rb
81
+ - lib/health-data-standards/models/entry.rb
82
+ - lib/health-data-standards/models/record.rb
83
+ - lib/health-data-standards.rb
84
+ - templates/_allergies.c32.erb
85
+ - templates/_care_goals.c32.erb
86
+ - templates/_code_with_reference.c32.erb
87
+ - templates/_conditions.c32.erb
88
+ - templates/_encounters.c32.erb
89
+ - templates/_immunizations.c32.erb
90
+ - templates/_medical_equipment.c32.erb
91
+ - templates/_medications.c32.erb
92
+ - templates/_narrative_block.c32.erb
93
+ - templates/_procedures.c32.erb
94
+ - templates/_results.c32.erb
95
+ - templates/_social_history.c32.erb
96
+ - templates/_vital_signs.c32.erb
97
+ - templates/show.c32.erb
98
+ - Gemfile
99
+ - README.md
100
+ - Rakefile
101
+ - VERSION
102
+ homepage: http://barrel.mitre.org/health-data-standards
103
+ licenses: []
104
+ post_install_message:
105
+ rdoc_options: []
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubyforge_project:
122
+ rubygems_version: 1.8.10
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: A library for generating and consuming various healthcare related formats.
126
+ test_files: []
127
+ has_rdoc: