health-data-standards 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: