health-data-standards 2.2.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. data/Gemfile +5 -0
  2. data/lib/health-data-standards.rb +55 -12
  3. data/lib/health-data-standards/export/c32.rb +7 -6
  4. data/lib/health-data-standards/export/cat_1.rb +18 -0
  5. data/lib/health-data-standards/export/ccda.rb +8 -8
  6. data/lib/health-data-standards/export/green_c32/entry.rb +8 -5
  7. data/lib/health-data-standards/export/green_c32/export_generator.rb +1 -1
  8. data/lib/health-data-standards/export/green_c32/record.rb +10 -7
  9. data/lib/health-data-standards/export/hdata/metadata.rb +7 -6
  10. data/lib/health-data-standards/export/helper/cat1_view_helper.rb +133 -0
  11. data/lib/health-data-standards/export/helper/gc32_view_helper.rb +39 -0
  12. data/lib/health-data-standards/export/helper/html_view_helper.rb +23 -0
  13. data/lib/health-data-standards/export/html.rb +22 -10
  14. data/lib/health-data-standards/export/qrda/entry_template_resolver.rb +31 -0
  15. data/lib/health-data-standards/export/qrda/hqmf-qrda-oids.json +638 -0
  16. data/lib/health-data-standards/export/rendering_context.rb +37 -3
  17. data/lib/health-data-standards/export/template_helper.rb +20 -23
  18. data/lib/health-data-standards/export/view_helper.rb +8 -42
  19. data/lib/health-data-standards/import/bundle/importer.rb +148 -0
  20. data/lib/health-data-standards/import/c32/care_goal_importer.rb +14 -26
  21. data/lib/health-data-standards/import/c32/condition_importer.rb +12 -51
  22. data/lib/health-data-standards/import/c32/immunization_importer.rb +9 -27
  23. data/lib/health-data-standards/import/c32/insurance_provider_importer.rb +24 -21
  24. data/lib/health-data-standards/import/c32/patient_importer.rb +27 -34
  25. data/lib/health-data-standards/import/cat1/diagnosis_active_importer.rb +19 -0
  26. data/lib/health-data-standards/import/cat1/diagnosis_inactive_importer.rb +19 -0
  27. data/lib/health-data-standards/import/cat1/diagnostic_study_order_importer.rb +24 -0
  28. data/lib/health-data-standards/import/cat1/encounter_order_importer.rb +24 -0
  29. data/lib/health-data-standards/import/cat1/entry_package.rb +25 -0
  30. data/lib/health-data-standards/import/cat1/gestational_age_importer.rb +42 -0
  31. data/lib/health-data-standards/import/cat1/lab_order_importer.rb +24 -0
  32. data/lib/health-data-standards/import/cat1/medication_dispensed_importer.rb +13 -0
  33. data/lib/health-data-standards/import/cat1/patient_importer.rb +104 -0
  34. data/lib/health-data-standards/import/cat1/procedure_intolerance_importer.rb +13 -0
  35. data/lib/health-data-standards/import/cat1/procedure_order_importer.rb +38 -0
  36. data/lib/health-data-standards/import/cat1/tobacco_use_importer.rb +19 -0
  37. data/lib/health-data-standards/import/ccda/allergy_importer.rb +2 -8
  38. data/lib/health-data-standards/import/ccda/care_goal_importer.rb +1 -1
  39. data/lib/health-data-standards/import/ccda/condition_importer.rb +2 -3
  40. data/lib/health-data-standards/import/ccda/encounter_importer.rb +2 -5
  41. data/lib/health-data-standards/import/ccda/immunization_importer.rb +1 -3
  42. data/lib/health-data-standards/import/ccda/insurance_provider_importer.rb +1 -1
  43. data/lib/health-data-standards/import/ccda/medical_equipment_importer.rb +2 -4
  44. data/lib/health-data-standards/import/ccda/medication_importer.rb +2 -4
  45. data/lib/health-data-standards/import/ccda/patient_importer.rb +1 -1
  46. data/lib/health-data-standards/import/ccda/procedure_importer.rb +2 -6
  47. data/lib/health-data-standards/import/ccda/result_importer.rb +2 -5
  48. data/lib/health-data-standards/import/ccda/vital_sign_importer.rb +2 -3
  49. data/lib/health-data-standards/import/cda/allergy_importer.rb +32 -0
  50. data/lib/health-data-standards/import/cda/condition_importer.rb +51 -0
  51. data/lib/health-data-standards/import/{c32 → cda}/encounter_importer.rb +9 -35
  52. data/lib/health-data-standards/import/cda/entry_finder.rb +22 -0
  53. data/lib/health-data-standards/import/{c32 → cda}/locatable_import_utils.rb +2 -3
  54. data/lib/health-data-standards/import/cda/medical_equipment_importer.rb +24 -0
  55. data/lib/health-data-standards/import/{c32 → cda}/medication_importer.rb +13 -15
  56. data/lib/health-data-standards/import/cda/narrative_reference_handler.rb +35 -0
  57. data/lib/health-data-standards/import/{c32 → cda}/organization_importer.rb +1 -1
  58. data/lib/health-data-standards/import/cda/procedure_importer.rb +35 -0
  59. data/lib/health-data-standards/import/{c32 → cda}/provider_importer.rb +4 -8
  60. data/lib/health-data-standards/import/cda/result_importer.rb +31 -0
  61. data/lib/health-data-standards/import/{c32 → cda}/section_importer.rb +26 -48
  62. data/lib/health-data-standards/import/{c32 → cda}/vital_sign_importer.rb +2 -3
  63. data/lib/health-data-standards/import/green_c32/section_importer.rb +8 -6
  64. data/lib/health-data-standards/import/provider_import_utils.rb +2 -2
  65. data/lib/health-data-standards/models/address.rb +1 -1
  66. data/lib/health-data-standards/models/condition.rb +7 -6
  67. data/lib/health-data-standards/models/cqm/bundle.rb +45 -0
  68. data/lib/health-data-standards/models/cqm/measure.rb +36 -0
  69. data/lib/health-data-standards/models/guarantor.rb +1 -0
  70. data/lib/health-data-standards/models/insurance_provider.rb +2 -0
  71. data/lib/health-data-standards/models/order_information.rb +2 -0
  72. data/lib/health-data-standards/models/record.rb +6 -5
  73. data/lib/health-data-standards/models/svs/value_set.rb +1 -1
  74. data/lib/health-data-standards/railtie.rb +11 -0
  75. data/lib/health-data-standards/tasks/bundle.rake +107 -0
  76. data/lib/health-data-standards/util/code_system_helper.rb +9 -1
  77. data/lib/hqmf-generator/attribute.xml.erb +11 -0
  78. data/lib/hqmf-generator/characteristic_criteria.xml.erb +21 -0
  79. data/lib/hqmf-generator/code.xml.erb +13 -0
  80. data/lib/hqmf-generator/condition_criteria.xml.erb +22 -0
  81. data/lib/hqmf-generator/derivation.xml.erb +6 -0
  82. data/lib/hqmf-generator/description.xml.erb +1 -0
  83. data/lib/hqmf-generator/document.xml.erb +63 -0
  84. data/lib/hqmf-generator/effective_time.xml.erb +4 -0
  85. data/lib/hqmf-generator/encounter_criteria.xml.erb +21 -0
  86. data/lib/hqmf-generator/field.xml.erb +28 -0
  87. data/lib/hqmf-generator/hqmf-generator.rb +292 -0
  88. data/lib/hqmf-generator/observation_criteria.xml.erb +25 -0
  89. data/lib/hqmf-generator/population_criteria.xml.erb +23 -0
  90. data/lib/hqmf-generator/precondition.xml.erb +14 -0
  91. data/lib/hqmf-generator/procedure_criteria.xml.erb +22 -0
  92. data/lib/hqmf-generator/reason.xml.erb +3 -0
  93. data/lib/hqmf-generator/reference.xml.erb +3 -0
  94. data/lib/hqmf-generator/source.xml.erb +6 -0
  95. data/lib/hqmf-generator/specific_occurrence.xml.erb +7 -0
  96. data/lib/hqmf-generator/subset.xml.erb +8 -0
  97. data/lib/hqmf-generator/substance_criteria.xml.erb +26 -0
  98. data/lib/hqmf-generator/supply_criteria.xml.erb +26 -0
  99. data/lib/hqmf-generator/template_id.xml.erb +5 -0
  100. data/lib/hqmf-generator/temporal_relationship.xml.erb +6 -0
  101. data/lib/hqmf-generator/value.xml.erb +24 -0
  102. data/lib/hqmf-generator/variable_criteria.xml.erb +12 -0
  103. data/lib/hqmf-model/attribute.rb +35 -0
  104. data/lib/hqmf-model/data_criteria.json +1123 -0
  105. data/lib/hqmf-model/data_criteria.rb +344 -0
  106. data/lib/hqmf-model/document.rb +178 -0
  107. data/lib/hqmf-model/population_criteria.rb +96 -0
  108. data/lib/hqmf-model/precondition.rb +91 -0
  109. data/lib/hqmf-model/types.rb +319 -0
  110. data/lib/hqmf-model/utilities.rb +52 -0
  111. data/lib/hqmf-parser.rb +56 -0
  112. data/lib/hqmf-parser/1.0/attribute.rb +68 -0
  113. data/lib/hqmf-parser/1.0/comparison.rb +34 -0
  114. data/lib/hqmf-parser/1.0/data_criteria.rb +92 -0
  115. data/lib/hqmf-parser/1.0/data_criteria_oid_xpath.json +91 -0
  116. data/lib/hqmf-parser/1.0/document.rb +203 -0
  117. data/lib/hqmf-parser/1.0/expression.rb +58 -0
  118. data/lib/hqmf-parser/1.0/observation.rb +61 -0
  119. data/lib/hqmf-parser/1.0/population_criteria.rb +75 -0
  120. data/lib/hqmf-parser/1.0/precondition.rb +89 -0
  121. data/lib/hqmf-parser/1.0/range.rb +65 -0
  122. data/lib/hqmf-parser/1.0/restriction.rb +160 -0
  123. data/lib/hqmf-parser/1.0/utilities.rb +41 -0
  124. data/lib/hqmf-parser/2.0/data_criteria.rb +319 -0
  125. data/lib/hqmf-parser/2.0/document.rb +165 -0
  126. data/lib/hqmf-parser/2.0/population_criteria.rb +53 -0
  127. data/lib/hqmf-parser/2.0/precondition.rb +44 -0
  128. data/lib/hqmf-parser/2.0/types.rb +223 -0
  129. data/lib/hqmf-parser/2.0/utilities.rb +30 -0
  130. data/lib/hqmf-parser/converter/pass1/data_criteria_converter.rb +252 -0
  131. data/lib/hqmf-parser/converter/pass1/document_converter.rb +185 -0
  132. data/lib/hqmf-parser/converter/pass1/population_criteria_converter.rb +165 -0
  133. data/lib/hqmf-parser/converter/pass1/precondition_converter.rb +173 -0
  134. data/lib/hqmf-parser/converter/pass1/precondition_extractor.rb +188 -0
  135. data/lib/hqmf-parser/converter/pass1/simple_data_criteria.rb +26 -0
  136. data/lib/hqmf-parser/converter/pass1/simple_operator.rb +89 -0
  137. data/lib/hqmf-parser/converter/pass1/simple_population_criteria.rb +10 -0
  138. data/lib/hqmf-parser/converter/pass1/simple_precondition.rb +51 -0
  139. data/lib/hqmf-parser/converter/pass1/simple_restriction.rb +64 -0
  140. data/lib/hqmf-parser/converter/pass2/comparison_converter.rb +112 -0
  141. data/lib/hqmf-parser/converter/pass2/operator_converter.rb +102 -0
  142. data/lib/hqmf-parser/parser.rb +54 -0
  143. data/lib/hqmf-parser/value_sets/value_set_parser.rb +241 -0
  144. data/lib/util/counter.rb +20 -0
  145. data/templates/{_allergies.c32.erb → c32/_allergies.c32.erb} +0 -0
  146. data/templates/{_allergies_no_current.c32.erb → c32/_allergies_no_current.c32.erb} +0 -0
  147. data/templates/{_care_goals.c32.erb → c32/_care_goals.c32.erb} +0 -0
  148. data/templates/{_code_with_reference.c32.erb → c32/_code_with_reference.c32.erb} +0 -0
  149. data/templates/{_conditions.c32.erb → c32/_conditions.c32.erb} +0 -0
  150. data/templates/{_conditions_no_current.c32.erb → c32/_conditions_no_current.c32.erb} +0 -0
  151. data/templates/{_encounters.c32.erb → c32/_encounters.c32.erb} +0 -0
  152. data/templates/{_immunizations.c32.erb → c32/_immunizations.c32.erb} +0 -0
  153. data/templates/{_medical_equipment.c32.erb → c32/_medical_equipment.c32.erb} +0 -0
  154. data/templates/{_medications.c32.erb → c32/_medications.c32.erb} +0 -0
  155. data/templates/{_medications_no_current.c32.erb → c32/_medications_no_current.c32.erb} +0 -0
  156. data/templates/{_narrative_block.c32.erb → c32/_narrative_block.c32.erb} +0 -0
  157. data/templates/{_procedures.c32.erb → c32/_procedures.c32.erb} +0 -0
  158. data/templates/{_results.c32.erb → c32/_results.c32.erb} +0 -0
  159. data/templates/{_social_history.c32.erb → c32/_social_history.c32.erb} +0 -0
  160. data/templates/{_vital_signs.c32.erb → c32/_vital_signs.c32.erb} +0 -0
  161. data/templates/{show.c32.erb → c32/show.c32.erb} +0 -0
  162. data/templates/cat1/_2.16.840.1.113883.10.20.22.4.85.cat1.erb +18 -0
  163. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.1.cat1.erb +14 -0
  164. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.101.cat1.erb +25 -0
  165. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.103.cat1.erb +12 -0
  166. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.105.cat1.erb +60 -0
  167. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.11.cat1.erb +41 -0
  168. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.12.cat1.erb +50 -0
  169. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.13.cat1.erb +37 -0
  170. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.14.cat1.erb +35 -0
  171. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.17.cat1.erb +22 -0
  172. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.18.cat1.erb +21 -0
  173. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.2.cat1.erb +28 -0
  174. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.20.cat1.erb +20 -0
  175. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.22.cat1.erb +21 -0
  176. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.23.cat1.erb +71 -0
  177. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.28.cat1.erb +20 -0
  178. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.3.cat1.erb +24 -0
  179. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.31.cat1.erb +20 -0
  180. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.32.cat1.erb +15 -0
  181. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.34.cat1.erb +58 -0
  182. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.37.cat1.erb +20 -0
  183. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.38.cat1.erb +16 -0
  184. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.4.cat1.erb +27 -0
  185. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.40.cat1.erb +17 -0
  186. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.41.cat1.erb +38 -0
  187. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.42.cat1.erb +38 -0
  188. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.43.cat1.erb +24 -0
  189. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.44.cat1.erb +24 -0
  190. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.45.cat1.erb +26 -0
  191. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.46.cat1.erb +30 -0
  192. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.47.cat1.erb +26 -0
  193. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.51.cat1.erb +13 -0
  194. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.54.cat1.erb +16 -0
  195. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.55.cat1.erb +10 -0
  196. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.57.cat1.erb +19 -0
  197. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.59.cat1.erb +17 -0
  198. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.62.cat1.erb +36 -0
  199. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.63.cat1.erb +23 -0
  200. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.64.cat1.erb +29 -0
  201. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.66.cat1.erb +34 -0
  202. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.69.cat1.erb +23 -0
  203. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.7.cat1.erb +30 -0
  204. data/templates/cat1/_2.16.840.1.113883.10.20.24.3.76.cat1.erb +32 -0
  205. data/templates/cat1/_measures.cat1.erb +66 -0
  206. data/templates/cat1/_medication_details.cat1.erb +9 -0
  207. data/templates/cat1/_ordinality.cat1.erb +4 -0
  208. data/templates/cat1/_patient_data.cat1.erb +14 -0
  209. data/templates/cat1/_reason.cat1.erb +16 -0
  210. data/templates/cat1/_record_target.cat1.erb +39 -0
  211. data/templates/cat1/_reporting_parameters.cat1.erb +24 -0
  212. data/templates/cat1/_result_value.cat1.erb +16 -0
  213. data/templates/cat1/show.cat1.erb +125 -0
  214. data/templates/{_address.gc32.erb → gc32/_address.gc32.erb} +1 -1
  215. data/templates/gc32/_advance_directive.gc32.erb +5 -0
  216. data/templates/gc32/_allergy.gc32.erb +12 -0
  217. data/templates/{_care_goal.gc32.erb → gc32/_care_goal.gc32.erb} +1 -1
  218. data/templates/gc32/_condition.gc32.erb +10 -0
  219. data/templates/gc32/_encounter.gc32.erb +28 -0
  220. data/templates/gc32/_entry.gc32.erb +3 -0
  221. data/templates/gc32/_entry_attributes.gc32.erb +10 -0
  222. data/templates/gc32/_immunization.gc32.erb +9 -0
  223. data/templates/gc32/_insurance_provider.gc32.erb +28 -0
  224. data/templates/gc32/_medical_equipment.gc32.erb +6 -0
  225. data/templates/gc32/_medication.gc32.erb +91 -0
  226. data/templates/{_name.gc32.erb → gc32/_name.gc32.erb} +0 -0
  227. data/templates/gc32/_organization.gc32.erb +10 -0
  228. data/templates/gc32/_person_attributes.gc32.erb +7 -0
  229. data/templates/gc32/_procedure.gc32.erb +9 -0
  230. data/templates/gc32/_provider.gc32.erb +9 -0
  231. data/templates/gc32/_result.gc32.erb +12 -0
  232. data/templates/gc32/_social_history.gc32.erb +6 -0
  233. data/templates/{_support.gc32.erb → gc32/_support.gc32.erb} +4 -3
  234. data/templates/gc32/_telecom.gc32.erb +1 -0
  235. data/templates/gc32/_vital_sign.gc32.erb +4 -0
  236. data/templates/{record.gc32.erb → gc32/record.gc32.erb} +26 -10
  237. data/templates/html/_entries_by_encounter.html.erb +2 -2
  238. data/templates/html/_entries_by_section.html.erb +1 -1
  239. data/templates/html/_entry.html.erb +16 -21
  240. data/templates/html/_header.html.erb +1 -1
  241. data/templates/html/_section.html.erb +1 -1
  242. data/templates/html/show.html.erb +23 -2
  243. data/templates/metadata.hdata.erb +3 -3
  244. metadata +282 -54
  245. data/lib/health-data-standards/import/c32/allergy_importer.rb +0 -47
  246. data/lib/health-data-standards/import/c32/medical_equipment_importer.rb +0 -45
  247. data/lib/health-data-standards/import/c32/procedure_importer.rb +0 -62
  248. data/lib/health-data-standards/import/c32/result_importer.rb +0 -56
  249. data/templates/_advance_directive.gc32.erb +0 -8
  250. data/templates/_allergy.gc32.erb +0 -23
  251. data/templates/_condition.gc32.erb +0 -9
  252. data/templates/_encounter.gc32.erb +0 -26
  253. data/templates/_entry.gc32.erb +0 -14
  254. data/templates/_immunization.gc32.erb +0 -11
  255. data/templates/_insurance_provider.gc32.erb +0 -0
  256. data/templates/_medical_equipment.gc32.erb +0 -7
  257. data/templates/_medication.gc32.erb +0 -72
  258. data/templates/_organization.gc32.erb +0 -10
  259. data/templates/_procedure.gc32.erb +0 -10
  260. data/templates/_provider.gc32.erb +0 -19
  261. data/templates/_result.gc32.erb +0 -16
  262. data/templates/_social_history.gc32.erb +0 -8
  263. data/templates/_telecom.gc32.erb +0 -1
  264. data/templates/_vital_sign.gc32.erb +0 -7
@@ -0,0 +1,12 @@
1
+ <result xmlns="urn:hl7-org:greencda:c32" id="<%= result.id %>">
2
+ <%== render partial: "entry_attributes", locals: {entry: result, code_sets: ["SNOMED-CT", "LOINC"]}%>
3
+ <% if result.values.first %>
4
+ <%== quantity_display result.values.first %>
5
+ <% end %>
6
+ <% if result.interpretation%>
7
+ <%= gc32_code_display(result, "tag_name" => "interpretation", "attribute" => "interpretation", 'preferred_code_sets' => ["HL7 Observation Interpretation"]) %>
8
+ <% end %>
9
+ <% if result.reference_range %>
10
+ <referenceRange><%= result.reference_range %></referenceRange>
11
+ <% end %>
12
+ </result>
@@ -0,0 +1,6 @@
1
+ <socialHistory xmlns="urn:hl7-org:greencda:c32" id="<%= social_history.id%>">
2
+ <%== render partial: "entry_attributes", locals: {entry: social_history, code_sets: ["SNOMED-CT"]}%>
3
+ <% if social_history.values.first %>
4
+ <%== quantity_display social_history.values.first %>
5
+ <% end %>
6
+ </socialHistory>
@@ -1,5 +1,7 @@
1
1
  <support xmlns="urn:hl7-org:greencda:c32">
2
- <%= render partial: 'name', locals: {person: support}%>
2
+ <%== render partial: 'name', locals: {person: support}%>
3
+ <%== render partial: 'address', locals: {address: support.address} %>
4
+ <%== render partial: 'telecom', locals: {telecom: support.telecom} %>
3
5
  <% if support.mothers_maiden_name%>
4
6
  <mothersMaidenName><%= support.mothers_maiden_name %></mothersMaidenName>
5
7
  <% end %>
@@ -9,6 +11,5 @@
9
11
  <% if support.relationship %>
10
12
  <relationship><%= support.relationship %></relationship>
11
13
  <% end %>
12
- <%= render partial: 'address', locals: {address: support.address} %>
13
- <%= render partial: 'telecom', locals: {telecom: support.telecom} %>
14
+
14
15
  </support>
@@ -0,0 +1 @@
1
+ <telecom <% if telecom.use %>use="<%= telecom.use%>"<% end %> <% if telecom.value %>value="<%= telecom.value %>"<% end %> <% if telecom.preferred %>preferred="<%= telecom.preferred %>"<% end %> />
@@ -0,0 +1,4 @@
1
+ <vitalSign xmlns="urn:hl7-org:greencda:c32" id="<%= vital_sign.id %>">
2
+ <%== render partial: "entry_attributes", locals: {entry: vital_sign, code_sets: ["SNOMED-CT", "ICD-9-CM", "ICD-10-CM ","LOINC"]}%>
3
+ <%== quantity_display vital_sign.values.first %>
4
+ </vitalSign>
@@ -1,21 +1,32 @@
1
- <record>
2
- <patientInformation>
3
- <id><%= record.id%></id>
1
+ <record xmlns="urn:hl7-org:greencda:c32">
2
+ <patientInformation id="<%=record.medical_record_number%>">
4
3
  <name>
5
4
  <title><%= record.title %></title>
6
5
  <givenName><%= record.first %></givenName>
7
6
  <familyName><%= record.last %></familyName>
8
7
  </name>
8
+ <% record.addresses.each do |address| %>
9
+ <%== render partial: "address", locals: {address: address} %>
10
+ <% end %>
11
+ <% record.telecoms.each do |tele| %>
12
+ <%== render partial: "telecom", locals: {telecom: tele} %>
13
+ <% end %>
9
14
  <gender code="<%= record.gender %>" codeSystem="2.16.840.1.113883.5.1" />
10
15
  <dateOfBirth><%= time_if_not_nil(record.birthdate) %></dateOfBirth>
16
+ <% if record.deathdate %>
11
17
  <dateOfDeath><%= time_if_not_nil(record.deathdate) %></dateOfDeath>
12
- <maritalStatus />
13
- <religiousAffiliation />
14
- <% if record.race %>
15
- <race code="<%=record.race['code']%>" codeSystem="2.16.840.1.113883.6.238" />
16
18
  <% end %>
17
- <% if record.ethnicity %>
18
- <ethnicity code="<%=record.ethnicity['code']%>" codeSystem="2.16.840.1.113883.6.238" />
19
+ <% if record.marital_status && record.marital_status[:code] %>
20
+ <maritalStatus code="<%=record.marital_status[:code] %>" codeSystem="2.16.840.1.113883.5.2" />
21
+ <% end %>
22
+ <% if record.religious_affiliation && record.religious_affiliation[:code] %>
23
+ <religiousAffiliation code="<%= record.religious_affiliation[:code] %>" codeSystem="2.16.840.1.113883.5.1076" />
24
+ <% end %>
25
+ <% if record.race && record.race[:code] %>
26
+ <race code="<%=record.race[:code]%>" codeSystem="2.16.840.1.113883.6.238" />
27
+ <% end %>
28
+ <% if record.ethnicity && record.race[:code] %>
29
+ <ethnicity code="<%=record.ethnicity[:code]%>" codeSystem="2.16.840.1.113883.6.238" />
19
30
  <% end %>
20
31
  <languagesSpoken>
21
32
  <% record.languages.each do |l| %>
@@ -33,6 +44,11 @@
33
44
  <%== render partial: "condition", locals: {condition: c} %>
34
45
  <% end %>
35
46
  </conditions>
47
+ <encounters>
48
+ <% record.encounters.each do |e| %>
49
+ <%== render partial: 'encounter', locals: {encounter: e} %>
50
+ <% end %>
51
+ </encounters>
36
52
  <immunizations>
37
53
  <% record.immunizations.each do |i| %>
38
54
  <%== render partial: "immunization", locals: {immunization: i} %>
@@ -40,7 +56,7 @@
40
56
  </immunizations>
41
57
  <insuranceProviders>
42
58
  <% record.insurance_providers.each do |ip| %>
43
- <%== render partial: "insurance_providers", locals: {insurance_provider: ip} %>
59
+ <%== render partial: "insurance_provider", locals: {insurance_provider: ip} %>
44
60
  <% end %>
45
61
  </insuranceProviders>
46
62
  <medicalEquipment>
@@ -43,9 +43,9 @@
43
43
  entries_by_section[decoded_section] << entry
44
44
  end if entries_by_encounter[encounter.hash]
45
45
  %>
46
- <%== render :partial => 'section', :locals => {entries: [encounter], section: :encounters, concept_map: concept_map} %>
46
+ <%== render :partial => 'section', :locals => {entries: [encounter], section: :encounters, code_map: code_map} %>
47
47
  <% entries_by_section.each do |section, entries| %>
48
- <%== render :partial => 'section', :locals => {entries: entries, section: section, concept_map: concept_map} %>
48
+ <%== render :partial => 'section', :locals => {entries: entries, section: section, code_map: code_map} %>
49
49
  <% end %>
50
50
  </div>
51
51
 
@@ -12,7 +12,7 @@
12
12
  end
13
13
  %>
14
14
  <% entries_by_section.each do |section, entries| %>
15
- <%== render :partial => 'section', :locals => {entries: entries, section: section, concept_map: concept_map} %>
15
+ <%== render :partial => 'section', :locals => {entries: entries, section: section, code_map: code_map} %>
16
16
  <% end %>
17
17
 
18
18
  </div>
@@ -4,26 +4,21 @@
4
4
  <td>
5
5
  <% entry.codes.each do |set, codes| %>
6
6
  <b>
7
- <% if concept_map %>
8
- <span onmouseover="showConcepts(event,'<%=entry.id%>_<%=set%>')" onmouseout="hideConcepts(event,'<%=entry.id%>_<%=set%>')" style="cursor: pointer;"><%=set %>: <%= codes.join(',') %></span>
7
+ <% if code_map %>
8
+ <%= set %>: <i><% codes.each do |code| %>
9
+ <span onmouseover="showCodes(event,'<%=entry.id%>_<%=set%>_<%=code.to_s%>')" onmouseout="hideCodes(event,'<%=entry.id%>_<%=set%>_<%=code.to_s%>')" style="cursor:pointer;"><%=code.to_s%></span>
10
+ <% end %>
11
+ </i>
9
12
  <% else %>
10
- <%=set %>: <%= codes.join(',') %>
13
+ <%= set %>: <%= codes.join(',') %>
11
14
  <% end %>
12
15
  </b>
13
- <br/>
14
- <% if concept_map %>
15
- <%
16
- matches = []
17
- codes.each do |code|
18
- matches.concat(concept_map[set][code].values) if concept_map[set][code]
19
- end
20
- %>
21
- <ul id="<%=entry.id%>_<%=set%>" style="display: none; position: absolute; background: #EEE; padding: 10px; padding-left: 30px; width: 600px; z-index: 3000;">
22
- <% matches.each do |concept_match| %>
23
- <li><%= concept_match[:concept].titleize %> (<%= concept_match[:oid]%>)</li>
24
- <% end %>
25
- </ul>
16
+ <% if code_map %>
17
+ <% codes.each do |code| %>
18
+ <span id="<%=entry.id%>_<%=set%>_<%=code.to_s%>" style="display: none; position: absolute; background: #EEE; padding: 10px; paddint-left: 30px; width: 200px; overflow: auto; z-index: 3000;"> <% description = code_map[set][code] if (code_map && code_map[set]) %><%= description %> </span>
19
+ <% end %>
26
20
  <% end %>
21
+ <br/>
27
22
  <% end %>
28
23
  </td>
29
24
  <td><%= entry.times_to_s('present') %></td>
@@ -34,9 +29,9 @@
34
29
  <% units = value.try(:units) if(value.respond_to?(:units)) %>
35
30
  <%= value.try(:scalar) %> <%= units %><br/>
36
31
  <% elsif value.respond_to? :codes %>
37
- <% value.codes.each do |system, vals| %>
38
- <%= system %>: <%= vals.join(',') %>
39
- <% end %>
32
+ <% value.codes.each do |system, vals| %>
33
+ <%= system %>: <%= vals.join(',') %>
34
+ <% end %>
40
35
  <%= (value.description ? "(#{value.description})" : '')%>
41
36
  <br/>
42
37
  <% else %>
@@ -46,7 +41,7 @@
46
41
  </td>
47
42
  <td>
48
43
  <%
49
- (entry.attributes.keys.reject {|key| ['codes', 'time', 'description', 'mood_code', 'values', '_id', '_type', 'start_time', 'end_time', 'status_code', 'negationInd', 'oid'].include? key}).each do |field|
44
+ (entry.attributes.keys.reject {|key| ['codes', 'time', 'description', 'mood_code', 'values', '_id', '_type', 'start_time', 'end_time', 'status_code', 'negationInd', 'oid'].include? key}).sort.each do |field|
50
45
  field_value = convert_field_to_hash(field, entry.attributes[field])
51
46
 
52
47
  %>
@@ -54,7 +49,7 @@
54
49
  <dl>
55
50
  <% if field_value.is_a? Hash %>
56
51
  <dt><b><%= field.titleize %>:</b></dt>
57
- <% field_value.keys.each do |fieldkey| %>
52
+ <% field_value.keys.sort.reverse.each do |fieldkey| %>
58
53
  <dd><%= fieldkey %>: <i><%= field_value[fieldkey] %></i></dd>
59
54
  <% end %>
60
55
  <% else %>
@@ -21,7 +21,7 @@
21
21
  <tr>
22
22
  <td bgcolor="#3399ff"><span class="td_label">Insurance Providers</span></td>
23
23
  <td>
24
- <%= (patient.insurance_providers.map {|provider| provider.name }).join(", ") %>
24
+ <%=(patient.insurance_providers.map {|provider| provider.name }).join(", ") %>
25
25
  </td>
26
26
  <td bgcolor="#3399ff"><span class="td_label">Patient IDs</span></td>
27
27
  <td><%= patient.id %> Cypress</td>
@@ -13,7 +13,7 @@
13
13
  </thead>
14
14
  <tbody>
15
15
  <% (entries.sort { |left,right| left.as_point_in_time <=> right.as_point_in_time }).each do |entry| %>
16
- <%== render :partial => 'entry', :locals => {:entry => entry, concept_map: concept_map} %>
16
+ <%== render :partial => 'entry', :locals => {:entry => entry, code_map: code_map} %>
17
17
  <% end %>
18
18
  </tbody>
19
19
  </table>
@@ -108,12 +108,33 @@
108
108
  var concepts = document.getElementById(id);
109
109
  concepts.style.display = 'none';
110
110
  }
111
+ function showCodes(event, id) {
112
+ //var left = ev.clientX + document.documentElement.scrollLeft;
113
+ //var top = ev.clientY + document.documentElement.scrollTop;
114
+
115
+ // Calculate pageX/Y if missing and clientX/Y available
116
+ if ( event.pageX == null && event.clientX != null ) {
117
+ var doc = document.documentElement, body = document.body;
118
+ event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
119
+ event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
120
+ }
121
+ var left = event.pageX;
122
+ var top = event.pageY;
123
+ var codes = document.getElementById(id);
124
+ codes.style.display = 'block';
125
+ codes.style.left = left + 'px';
126
+ codes.style.top = top + 'px';
127
+ }
128
+ function hideCodes(ev, id) {
129
+ var codes = document.getElementById(id);
130
+ codes.style.display = 'none';
131
+ }
111
132
  </script>
112
133
  <div>
113
134
  <h3><a href="#" onclick="toggle('table_by_encounter');" id="toggle_button">View By Encounter</a></h3>
114
135
  </div>
115
- <%== render :partial => 'entries_by_section', :locals => {patient: patient, concept_map: concept_map} %>
116
- <%== render :partial => 'entries_by_encounter', :locals => {patient: patient, concept_map: concept_map} %>
136
+ <%== render :partial => 'entries_by_section', :locals => {patient: patient, code_map: code_map} %>
137
+ <%== render :partial => 'entries_by_encounter', :locals => {patient: patient, code_map: code_map} %>
117
138
 
118
139
  <br /><br />
119
140
  <br /><br />
@@ -2,7 +2,7 @@
2
2
  <MediaType>application/xml</MediaType>
3
3
  <MediaType>application/json</MediaType>
4
4
  <% metadata.pedigrees.each do |pedigree| %>
5
- <%= render :partial => "pedigree", locals: {pedigree: pedigree}%>
5
+ <%== render :partial => "pedigree", locals: {pedigree: pedigree}%>
6
6
  <% end %>
7
7
  <Title><%= entry.id %></Title>
8
8
  <LinkedDocuments>
@@ -18,7 +18,7 @@
18
18
  <% metadata.modified_dates.each do |md| %>
19
19
  <ModifiedInfo>
20
20
  <ChangeDateTime><%= md.timestamp %></ChangeDateTime>
21
- <%= render :partial => "pedigree", locals: {pedigree: md.pedigree}%>
21
+ <%== render :partial => "pedigree", locals: {pedigree: md.pedigree}%>
22
22
  </ModifiedInfo>
23
23
  <% end %>
24
24
  </Modified>
@@ -26,7 +26,7 @@
26
26
  <% metadata.copied_dates.each do |cd| %>
27
27
  <CopiedInfo>
28
28
  <ChangeDateTime><%= cd.timestamp %></ChangeDateTime>
29
- <%= render :partial => "pedigree", locals: {pedigree: cd.pedigree}%>
29
+ <%== render :partial => "pedigree", locals: {pedigree: cd.pedigree}%>
30
30
  </CopiedInfo>
31
31
  <% end %>
32
32
  </Copied>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: health-data-standards
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 3.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2012-12-20 00:00:00.000000000 Z
16
+ date: 2013-02-27 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rest-client
@@ -54,7 +54,7 @@ dependencies:
54
54
  requirements:
55
55
  - - ~>
56
56
  - !ruby/object:Gem::Version
57
- version: 3.0.14
57
+ version: 3.1.0
58
58
  type: :runtime
59
59
  prerelease: false
60
60
  version_requirements: !ruby/object:Gem::Requirement
@@ -62,7 +62,7 @@ dependencies:
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: 3.0.14
65
+ version: 3.1.0
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: activesupport
68
68
  requirement: !ruby/object:Gem::Requirement
@@ -127,6 +127,86 @@ dependencies:
127
127
  - - ~>
128
128
  - !ruby/object:Gem::Version
129
129
  version: 1.5.5
130
+ - !ruby/object:Gem::Dependency
131
+ name: rubyzip
132
+ requirement: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: spreadsheet
148
+ requirement: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - '='
152
+ - !ruby/object:Gem::Version
153
+ version: 0.6.8
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - '='
160
+ - !ruby/object:Gem::Version
161
+ version: 0.6.8
162
+ - !ruby/object:Gem::Dependency
163
+ name: google-spreadsheet-ruby
164
+ requirement: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - '='
168
+ - !ruby/object:Gem::Version
169
+ version: 0.1.8
170
+ type: :runtime
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - '='
176
+ - !ruby/object:Gem::Version
177
+ version: 0.1.8
178
+ - !ruby/object:Gem::Dependency
179
+ name: roo
180
+ requirement: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - '='
184
+ - !ruby/object:Gem::Version
185
+ version: 1.10.1
186
+ type: :runtime
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - '='
192
+ - !ruby/object:Gem::Version
193
+ version: 1.10.1
194
+ - !ruby/object:Gem::Dependency
195
+ name: log4r
196
+ requirement: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ~>
200
+ - !ruby/object:Gem::Version
201
+ version: 1.1.10
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ version: 1.1.10
130
210
  description: A library for generating and consuming various healthcare related formats.
131
211
  This includes HITSP C32, ASTM CCR and PQRI.
132
212
  email: talk@projectpophealth.org
@@ -135,6 +215,7 @@ extensions: []
135
215
  extra_rdoc_files: []
136
216
  files:
137
217
  - lib/health-data-standards/export/c32.rb
218
+ - lib/health-data-standards/export/cat_1.rb
138
219
  - lib/health-data-standards/export/ccda.rb
139
220
  - lib/health-data-standards/export/ccr.rb
140
221
  - lib/health-data-standards/export/csv.rb
@@ -142,28 +223,34 @@ files:
142
223
  - lib/health-data-standards/export/green_c32/export_generator.rb
143
224
  - lib/health-data-standards/export/green_c32/record.rb
144
225
  - lib/health-data-standards/export/hdata/metadata.rb
226
+ - lib/health-data-standards/export/helper/cat1_view_helper.rb
227
+ - lib/health-data-standards/export/helper/gc32_view_helper.rb
228
+ - lib/health-data-standards/export/helper/html_view_helper.rb
145
229
  - lib/health-data-standards/export/html.rb
230
+ - lib/health-data-standards/export/qrda/entry_template_resolver.rb
146
231
  - lib/health-data-standards/export/rendering_context.rb
147
232
  - lib/health-data-standards/export/template_helper.rb
148
233
  - lib/health-data-standards/export/view_helper.rb
149
234
  - lib/health-data-standards/ext/string.rb
150
235
  - lib/health-data-standards/ext/symbol.rb
151
- - lib/health-data-standards/import/c32/allergy_importer.rb
236
+ - lib/health-data-standards/import/bundle/importer.rb
152
237
  - lib/health-data-standards/import/c32/care_goal_importer.rb
153
238
  - lib/health-data-standards/import/c32/condition_importer.rb
154
- - lib/health-data-standards/import/c32/encounter_importer.rb
155
239
  - lib/health-data-standards/import/c32/immunization_importer.rb
156
240
  - lib/health-data-standards/import/c32/insurance_provider_importer.rb
157
- - lib/health-data-standards/import/c32/locatable_import_utils.rb
158
- - lib/health-data-standards/import/c32/medical_equipment_importer.rb
159
- - lib/health-data-standards/import/c32/medication_importer.rb
160
- - lib/health-data-standards/import/c32/organization_importer.rb
161
241
  - lib/health-data-standards/import/c32/patient_importer.rb
162
- - lib/health-data-standards/import/c32/procedure_importer.rb
163
- - lib/health-data-standards/import/c32/provider_importer.rb
164
- - lib/health-data-standards/import/c32/result_importer.rb
165
- - lib/health-data-standards/import/c32/section_importer.rb
166
- - lib/health-data-standards/import/c32/vital_sign_importer.rb
242
+ - lib/health-data-standards/import/cat1/diagnosis_active_importer.rb
243
+ - lib/health-data-standards/import/cat1/diagnosis_inactive_importer.rb
244
+ - lib/health-data-standards/import/cat1/diagnostic_study_order_importer.rb
245
+ - lib/health-data-standards/import/cat1/encounter_order_importer.rb
246
+ - lib/health-data-standards/import/cat1/entry_package.rb
247
+ - lib/health-data-standards/import/cat1/gestational_age_importer.rb
248
+ - lib/health-data-standards/import/cat1/lab_order_importer.rb
249
+ - lib/health-data-standards/import/cat1/medication_dispensed_importer.rb
250
+ - lib/health-data-standards/import/cat1/patient_importer.rb
251
+ - lib/health-data-standards/import/cat1/procedure_intolerance_importer.rb
252
+ - lib/health-data-standards/import/cat1/procedure_order_importer.rb
253
+ - lib/health-data-standards/import/cat1/tobacco_use_importer.rb
167
254
  - lib/health-data-standards/import/ccda/allergy_importer.rb
168
255
  - lib/health-data-standards/import/ccda/care_goal_importer.rb
169
256
  - lib/health-data-standards/import/ccda/condition_importer.rb
@@ -182,6 +269,20 @@ files:
182
269
  - lib/health-data-standards/import/ccr/result_importer.rb
183
270
  - lib/health-data-standards/import/ccr/section_importer.rb
184
271
  - lib/health-data-standards/import/ccr/simple_importer.rb
272
+ - lib/health-data-standards/import/cda/allergy_importer.rb
273
+ - lib/health-data-standards/import/cda/condition_importer.rb
274
+ - lib/health-data-standards/import/cda/encounter_importer.rb
275
+ - lib/health-data-standards/import/cda/entry_finder.rb
276
+ - lib/health-data-standards/import/cda/locatable_import_utils.rb
277
+ - lib/health-data-standards/import/cda/medical_equipment_importer.rb
278
+ - lib/health-data-standards/import/cda/medication_importer.rb
279
+ - lib/health-data-standards/import/cda/narrative_reference_handler.rb
280
+ - lib/health-data-standards/import/cda/organization_importer.rb
281
+ - lib/health-data-standards/import/cda/procedure_importer.rb
282
+ - lib/health-data-standards/import/cda/provider_importer.rb
283
+ - lib/health-data-standards/import/cda/result_importer.rb
284
+ - lib/health-data-standards/import/cda/section_importer.rb
285
+ - lib/health-data-standards/import/cda/vital_sign_importer.rb
185
286
  - lib/health-data-standards/import/green_c32/advance_directive_importer.rb
186
287
  - lib/health-data-standards/import/green_c32/allergy_importer.rb
187
288
  - lib/health-data-standards/import/green_c32/care_goal_importer.rb
@@ -203,6 +304,8 @@ files:
203
304
  - lib/health-data-standards/models/allergy.rb
204
305
  - lib/health-data-standards/models/coded_result_value.rb
205
306
  - lib/health-data-standards/models/condition.rb
307
+ - lib/health-data-standards/models/cqm/bundle.rb
308
+ - lib/health-data-standards/models/cqm/measure.rb
206
309
  - lib/health-data-standards/models/encounter.rb
207
310
  - lib/health-data-standards/models/entry.rb
208
311
  - lib/health-data-standards/models/facility.rb
@@ -236,48 +339,123 @@ files:
236
339
  - lib/health-data-standards/models/thing_with_codes.rb
237
340
  - lib/health-data-standards/models/treating_provider.rb
238
341
  - lib/health-data-standards/models/vital_sign.rb
342
+ - lib/health-data-standards/railtie.rb
239
343
  - lib/health-data-standards/util/code_system_helper.rb
240
344
  - lib/health-data-standards/util/hl7_helper.rb
241
345
  - lib/health-data-standards/util/hqmf_template_helper.rb
242
346
  - lib/health-data-standards/util/vs_api.rb
243
347
  - lib/health-data-standards.rb
244
- - templates/_address.gc32.erb
245
- - templates/_advance_directive.gc32.erb
246
- - templates/_allergies.c32.erb
247
- - templates/_allergies_no_current.c32.erb
248
- - templates/_allergy.gc32.erb
249
- - templates/_care_goal.gc32.erb
250
- - templates/_care_goals.c32.erb
251
- - templates/_code_with_reference.c32.erb
252
- - templates/_condition.gc32.erb
253
- - templates/_conditions.c32.erb
254
- - templates/_conditions_no_current.c32.erb
255
- - templates/_encounter.gc32.erb
256
- - templates/_encounters.c32.erb
257
- - templates/_entry.gc32.erb
258
- - templates/_immunization.gc32.erb
259
- - templates/_immunizations.c32.erb
260
- - templates/_insurance_provider.gc32.erb
261
- - templates/_medical_equipment.c32.erb
262
- - templates/_medical_equipment.gc32.erb
263
- - templates/_medication.gc32.erb
264
- - templates/_medications.c32.erb
265
- - templates/_medications_no_current.c32.erb
266
- - templates/_name.gc32.erb
267
- - templates/_narrative_block.c32.erb
268
- - templates/_organization.gc32.erb
348
+ - lib/hqmf-generator/hqmf-generator.rb
349
+ - lib/hqmf-model/attribute.rb
350
+ - lib/hqmf-model/data_criteria.rb
351
+ - lib/hqmf-model/document.rb
352
+ - lib/hqmf-model/population_criteria.rb
353
+ - lib/hqmf-model/precondition.rb
354
+ - lib/hqmf-model/types.rb
355
+ - lib/hqmf-model/utilities.rb
356
+ - lib/hqmf-parser/1.0/attribute.rb
357
+ - lib/hqmf-parser/1.0/comparison.rb
358
+ - lib/hqmf-parser/1.0/data_criteria.rb
359
+ - lib/hqmf-parser/1.0/document.rb
360
+ - lib/hqmf-parser/1.0/expression.rb
361
+ - lib/hqmf-parser/1.0/observation.rb
362
+ - lib/hqmf-parser/1.0/population_criteria.rb
363
+ - lib/hqmf-parser/1.0/precondition.rb
364
+ - lib/hqmf-parser/1.0/range.rb
365
+ - lib/hqmf-parser/1.0/restriction.rb
366
+ - lib/hqmf-parser/1.0/utilities.rb
367
+ - lib/hqmf-parser/2.0/data_criteria.rb
368
+ - lib/hqmf-parser/2.0/document.rb
369
+ - lib/hqmf-parser/2.0/population_criteria.rb
370
+ - lib/hqmf-parser/2.0/precondition.rb
371
+ - lib/hqmf-parser/2.0/types.rb
372
+ - lib/hqmf-parser/2.0/utilities.rb
373
+ - lib/hqmf-parser/converter/pass1/data_criteria_converter.rb
374
+ - lib/hqmf-parser/converter/pass1/document_converter.rb
375
+ - lib/hqmf-parser/converter/pass1/population_criteria_converter.rb
376
+ - lib/hqmf-parser/converter/pass1/precondition_converter.rb
377
+ - lib/hqmf-parser/converter/pass1/precondition_extractor.rb
378
+ - lib/hqmf-parser/converter/pass1/simple_data_criteria.rb
379
+ - lib/hqmf-parser/converter/pass1/simple_operator.rb
380
+ - lib/hqmf-parser/converter/pass1/simple_population_criteria.rb
381
+ - lib/hqmf-parser/converter/pass1/simple_precondition.rb
382
+ - lib/hqmf-parser/converter/pass1/simple_restriction.rb
383
+ - lib/hqmf-parser/converter/pass2/comparison_converter.rb
384
+ - lib/hqmf-parser/converter/pass2/operator_converter.rb
385
+ - lib/hqmf-parser/parser.rb
386
+ - lib/hqmf-parser/value_sets/value_set_parser.rb
387
+ - lib/hqmf-parser.rb
388
+ - lib/util/counter.rb
269
389
  - templates/_pedigree.hdata.erb
270
- - templates/_procedure.gc32.erb
271
- - templates/_procedures.c32.erb
272
- - templates/_provider.gc32.erb
273
- - templates/_result.gc32.erb
274
- - templates/_results.c32.erb
275
- - templates/_social_history.c32.erb
276
- - templates/_social_history.gc32.erb
277
- - templates/_support.gc32.erb
278
- - templates/_telecom.gc32.erb
279
- - templates/_vital_sign.gc32.erb
280
- - templates/_vital_signs.c32.erb
390
+ - templates/c32/_allergies.c32.erb
391
+ - templates/c32/_allergies_no_current.c32.erb
392
+ - templates/c32/_care_goals.c32.erb
393
+ - templates/c32/_code_with_reference.c32.erb
394
+ - templates/c32/_conditions.c32.erb
395
+ - templates/c32/_conditions_no_current.c32.erb
396
+ - templates/c32/_encounters.c32.erb
397
+ - templates/c32/_immunizations.c32.erb
398
+ - templates/c32/_medical_equipment.c32.erb
399
+ - templates/c32/_medications.c32.erb
400
+ - templates/c32/_medications_no_current.c32.erb
401
+ - templates/c32/_narrative_block.c32.erb
402
+ - templates/c32/_procedures.c32.erb
403
+ - templates/c32/_results.c32.erb
404
+ - templates/c32/_social_history.c32.erb
405
+ - templates/c32/_vital_signs.c32.erb
406
+ - templates/c32/show.c32.erb
407
+ - templates/cat1/_2.16.840.1.113883.10.20.22.4.85.cat1.erb
408
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.1.cat1.erb
409
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.101.cat1.erb
410
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.103.cat1.erb
411
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.105.cat1.erb
412
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.11.cat1.erb
413
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.12.cat1.erb
414
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.13.cat1.erb
415
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.14.cat1.erb
416
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.17.cat1.erb
417
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.18.cat1.erb
418
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.2.cat1.erb
419
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.20.cat1.erb
420
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.22.cat1.erb
421
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.23.cat1.erb
422
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.28.cat1.erb
423
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.3.cat1.erb
424
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.31.cat1.erb
425
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.32.cat1.erb
426
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.34.cat1.erb
427
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.37.cat1.erb
428
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.38.cat1.erb
429
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.4.cat1.erb
430
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.40.cat1.erb
431
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.41.cat1.erb
432
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.42.cat1.erb
433
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.43.cat1.erb
434
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.44.cat1.erb
435
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.45.cat1.erb
436
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.46.cat1.erb
437
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.47.cat1.erb
438
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.51.cat1.erb
439
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.54.cat1.erb
440
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.55.cat1.erb
441
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.57.cat1.erb
442
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.59.cat1.erb
443
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.62.cat1.erb
444
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.63.cat1.erb
445
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.64.cat1.erb
446
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.66.cat1.erb
447
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.69.cat1.erb
448
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.7.cat1.erb
449
+ - templates/cat1/_2.16.840.1.113883.10.20.24.3.76.cat1.erb
450
+ - templates/cat1/_measures.cat1.erb
451
+ - templates/cat1/_medication_details.cat1.erb
452
+ - templates/cat1/_ordinality.cat1.erb
453
+ - templates/cat1/_patient_data.cat1.erb
454
+ - templates/cat1/_reason.cat1.erb
455
+ - templates/cat1/_record_target.cat1.erb
456
+ - templates/cat1/_reporting_parameters.cat1.erb
457
+ - templates/cat1/_result_value.cat1.erb
458
+ - templates/cat1/show.cat1.erb
281
459
  - templates/ccda/_allergies.ccda.erb
282
460
  - templates/ccda/_allergies_no_current.ccda.erb
283
461
  - templates/ccda/_care_goals.ccda.erb
@@ -297,6 +475,29 @@ files:
297
475
  - templates/ccda/_social_history.ccda.erb
298
476
  - templates/ccda/_vital_signs.ccda.erb
299
477
  - templates/ccda/show.ccda.erb
478
+ - templates/gc32/_address.gc32.erb
479
+ - templates/gc32/_advance_directive.gc32.erb
480
+ - templates/gc32/_allergy.gc32.erb
481
+ - templates/gc32/_care_goal.gc32.erb
482
+ - templates/gc32/_condition.gc32.erb
483
+ - templates/gc32/_encounter.gc32.erb
484
+ - templates/gc32/_entry.gc32.erb
485
+ - templates/gc32/_entry_attributes.gc32.erb
486
+ - templates/gc32/_immunization.gc32.erb
487
+ - templates/gc32/_insurance_provider.gc32.erb
488
+ - templates/gc32/_medical_equipment.gc32.erb
489
+ - templates/gc32/_medication.gc32.erb
490
+ - templates/gc32/_name.gc32.erb
491
+ - templates/gc32/_organization.gc32.erb
492
+ - templates/gc32/_person_attributes.gc32.erb
493
+ - templates/gc32/_procedure.gc32.erb
494
+ - templates/gc32/_provider.gc32.erb
495
+ - templates/gc32/_result.gc32.erb
496
+ - templates/gc32/_social_history.gc32.erb
497
+ - templates/gc32/_support.gc32.erb
498
+ - templates/gc32/_telecom.gc32.erb
499
+ - templates/gc32/_vital_sign.gc32.erb
500
+ - templates/gc32/record.gc32.erb
300
501
  - templates/html/_entries_by_encounter.html.erb
301
502
  - templates/html/_entries_by_section.html.erb
302
503
  - templates/html/_entry.html.erb
@@ -304,13 +505,40 @@ files:
304
505
  - templates/html/_section.html.erb
305
506
  - templates/html/show.html.erb
306
507
  - templates/metadata.hdata.erb
307
- - templates/record.gc32.erb
308
- - templates/show.c32.erb
508
+ - lib/health-data-standards/export/qrda/hqmf-qrda-oids.json
509
+ - lib/health-data-standards/util/hqmf_template_oid_map.json
510
+ - lib/hqmf-model/data_criteria.json
511
+ - lib/hqmf-parser/1.0/data_criteria_oid_xpath.json
512
+ - lib/hqmf-generator/attribute.xml.erb
513
+ - lib/hqmf-generator/characteristic_criteria.xml.erb
514
+ - lib/hqmf-generator/code.xml.erb
515
+ - lib/hqmf-generator/condition_criteria.xml.erb
516
+ - lib/hqmf-generator/derivation.xml.erb
517
+ - lib/hqmf-generator/description.xml.erb
518
+ - lib/hqmf-generator/document.xml.erb
519
+ - lib/hqmf-generator/effective_time.xml.erb
520
+ - lib/hqmf-generator/encounter_criteria.xml.erb
521
+ - lib/hqmf-generator/field.xml.erb
522
+ - lib/hqmf-generator/observation_criteria.xml.erb
523
+ - lib/hqmf-generator/population_criteria.xml.erb
524
+ - lib/hqmf-generator/precondition.xml.erb
525
+ - lib/hqmf-generator/procedure_criteria.xml.erb
526
+ - lib/hqmf-generator/reason.xml.erb
527
+ - lib/hqmf-generator/reference.xml.erb
528
+ - lib/hqmf-generator/source.xml.erb
529
+ - lib/hqmf-generator/specific_occurrence.xml.erb
530
+ - lib/hqmf-generator/subset.xml.erb
531
+ - lib/hqmf-generator/substance_criteria.xml.erb
532
+ - lib/hqmf-generator/supply_criteria.xml.erb
533
+ - lib/hqmf-generator/template_id.xml.erb
534
+ - lib/hqmf-generator/temporal_relationship.xml.erb
535
+ - lib/hqmf-generator/value.xml.erb
536
+ - lib/hqmf-generator/variable_criteria.xml.erb
537
+ - lib/health-data-standards/tasks/bundle.rake
309
538
  - Gemfile
310
539
  - README.md
311
540
  - Rakefile
312
541
  - VERSION
313
- - ./lib/health-data-standards/util/hqmf_template_oid_map.json
314
542
  homepage: https://github.com/projectcypress/health-data-standards
315
543
  licenses: []
316
544
  post_install_message: