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,6 @@
1
+ <outboundRelationship typeCode="SUBJ">
2
+ <subsetCode code="SOURCE"/>
3
+ <observationReference classCode="OBS" moodCode="EVN">
4
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= source_criteria_id %>"/>
5
+ </observationReference>
6
+ </outboundRelationship>
@@ -0,0 +1,7 @@
1
+ <outboundRelationship typeCode="SUBJ">
2
+ <localVariableName controlInformationRoot="<%= type %>" controlInformationExtension="<%= id %>"/>
3
+ <subsetCode code="SPECIFIC"/>
4
+ <observationReference classCode="OBS" moodCode="EVN">
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= source_criteria_id %>"/>
6
+ </observationReference>
7
+ </outboundRelationship>
@@ -0,0 +1,8 @@
1
+ <excerpt typeCode="XCRPT">
2
+ <subsetCode code="<%= subset.type %>"/>
3
+ <<%= element_name_prefix(criteria) %>Criteria moodCode="EVN" classCode="<%= reference_type_name(criteria.id) %>">
4
+ <%- if subset.value -%>
5
+ <%= xml_for_value(subset.value, 'repeatNumber') %>
6
+ <%- end -%>
7
+ </<%= element_name_prefix(criteria) %>Criteria>
8
+ </excerpt>
@@ -0,0 +1,26 @@
1
+ <entry typeCode="DRIV">
2
+ <substanceAdministrationCriteria moodCode="EVN" classCode="SBADM"<%= " actionNegationInd='true'" if criteria.negation %>>
3
+ <%= xml_for_template(criteria, is_source_data_criteria) %>
4
+ <id>
5
+ <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
+ </id>
7
+ <%= xml_for_description(criteria) %>
8
+ <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
9
+ <%= xml_for_effective_time(criteria) %>
10
+ <%= xml_for_reason(criteria) %>
11
+ <participation typeCode="CSM">
12
+ <role classCode="THER">
13
+ <%= xml_for_code(criteria, 'code', false) %>
14
+ </role>
15
+ </participation>
16
+ <definition>
17
+ <substanceAdministrationReference moodCode="EVN" classCode="SBADM">
18
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
19
+ </substanceAdministrationReference>
20
+ </definition>
21
+ <%= xml_for_temporal_references(criteria) %>
22
+ <%= xml_for_fields(criteria) %>
23
+ <%= xml_for_derivation(criteria) %>
24
+ <%= xml_for_subsets(criteria) %>
25
+ </substanceAdministrationCriteria>
26
+ </entry>
@@ -0,0 +1,26 @@
1
+ <entry typeCode="DRIV">
2
+ <supplyCriteria moodCode="EVN" classCode="SPLY"<%= " actionNegationInd='true'" if criteria.negation %>>
3
+ <%= xml_for_template(criteria, is_source_data_criteria) %>
4
+ <id>
5
+ <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
+ </id>
7
+ <%= xml_for_description(criteria) %>
8
+ <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
9
+ <%= xml_for_effective_time(criteria) %>
10
+ <%= xml_for_reason(criteria) %>
11
+ <participation typeCode="PRD">
12
+ <role classCode="THER">
13
+ <%= xml_for_code(criteria, 'code', false) %>
14
+ </role>
15
+ </participation>
16
+ <definition>
17
+ <supplyReference moodCode="EVN" classCode="SPLY">
18
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
19
+ </supplyReference>
20
+ </definition>
21
+ <%= xml_for_temporal_references(criteria) %>
22
+ <%= xml_for_fields(criteria) %>
23
+ <%= xml_for_derivation(criteria) %>
24
+ <%= xml_for_subsets(criteria) %>
25
+ </supplyCriteria>
26
+ </entry>
@@ -0,0 +1,5 @@
1
+ <templateId>
2
+ <%- templates.each do |template| -%>
3
+ <item root="<%= template[:id] %>" identifierName="<%= template[:title] %> template"/>
4
+ <%- end -%>
5
+ </templateId>
@@ -0,0 +1,6 @@
1
+ <temporallyRelatedInformation typeCode="<%= relationship.type %>">
2
+ <%- if relationship.range -%>
3
+ <%= xml_for_value(relationship.range, 'pauseQuantity') %>
4
+ <%- end -%>
5
+ <%= xml_for_reference(relationship.reference) %>
6
+ </temporallyRelatedInformation>
@@ -0,0 +1,24 @@
1
+ <%- if value.class==HQMF::Range -%>
2
+ <<%= name %> xsi:type="<%= value.type %>">
3
+ <%= xml_for_value(value.low, 'low', false) if value.low -%>
4
+ <%= xml_for_value(value.high, 'high', false) if value.high -%>
5
+ </<%= name %>>
6
+ <%- elsif value.class==HQMF::Coded -%>
7
+ <%- if value.code_list_id -%>
8
+ <<%= name %> xsi:type="<%= value.type %>" valueSet="<%= value.code_list_id %>">
9
+ <%- else -%>
10
+ <<%= name %> xsi:type="<%= value.type %>" codeSystem="<%= value.system %>" code="<%= value.code %>">
11
+ <%- end -%>
12
+ <displayName value="<%= value.title %>"/>
13
+ </<%= name %>>
14
+ <%- elsif value.class==HQMF::Value -%>
15
+ <%- if value.derived? -%>
16
+ <<%= name %> nullFlavor="DER">
17
+ <expression value="<%= value.expression %>"/>
18
+ </<%= name %>>
19
+ <%- else -%>
20
+ <<%= name %> <%= "xsi:type=\"#{value.type}\"" if include_type %> value="<%= value.value %>"<%= " unit=\"#{value.unit}\"" if value.unit %>/>
21
+ <%- end -%>
22
+ <%- elsif value.class==HQMF::AnyValue -%>
23
+ <<%= name %> xsi:type="ANY" nullFlavor="NI"/>
24
+ <%- end -%>
@@ -0,0 +1,12 @@
1
+ <entry typeCode="DRIV">
2
+ <observationCriteria moodCode="EVN" classCode="OBS">
3
+ <%= xml_for_template(criteria, is_source_data_criteria) %>
4
+ <id>
5
+ <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
+ </id>
7
+ <%= xml_for_description(criteria) %>
8
+ <%= xml_for_code(criteria) %>
9
+ <%= xml_for_effective_time(criteria) %>
10
+ <%= xml_for_value(criteria.value) %>
11
+ </observationCriteria>
12
+ </entry>
@@ -0,0 +1,35 @@
1
+ module HQMF
2
+
3
+ class Attribute
4
+ include HQMF::Conversion::Utilities
5
+ attr_reader :id,:code,:value,:unit,:name
6
+ # @param [String] id
7
+ # @param [String] code
8
+ # @param [String] value
9
+ # @param [String] unit
10
+ # @param [String] name
11
+ def initialize(id,code,value,unit,name)
12
+ @id = id
13
+ @code = code
14
+ @value = value
15
+ @unit = unit
16
+ @name = name
17
+ end
18
+
19
+ def self.from_json(json)
20
+ id = json["id"] if json["id"]
21
+ code = json["code"] if json["code"]
22
+ value = json["value"] if json["value"]
23
+ unit = json["unit"] if json["unit"]
24
+ name = json["name"] if json["name"]
25
+
26
+ HQMF::Attribute.new(id,code,value,unit,name)
27
+ end
28
+
29
+ def to_json
30
+ json = build_hash(self, [:id,:code,:value,:unit,:name])
31
+ json
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,1123 @@
1
+ {
2
+ "derived":{
3
+ "title":"derived data criteria",
4
+ "category":"derived",
5
+ "definition":"derived",
6
+ "status":"",
7
+ "sub_category":"",
8
+ "hard_status":false,
9
+ "patient_api_function":"",
10
+ "standard_category":"",
11
+ "qds_data_type":"",
12
+ "not_supported":false},
13
+ "variable":{
14
+ "title":"variable data criteria",
15
+ "category":"variable",
16
+ "definition":"variable",
17
+ "status":"",
18
+ "sub_category":"",
19
+ "hard_status":false,
20
+ "patient_api_function":"",
21
+ "standard_category":"",
22
+ "qds_data_type":"",
23
+ "not_supported":false},
24
+ "MeasurePeriod":{
25
+ "title":"the measurement period",
26
+ "category":"measurement_period",
27
+ "definition":"MeasurePeriod",
28
+ "status":"",
29
+ "sub_category":"",
30
+ "hard_status":false,
31
+ "patient_api_function":"",
32
+ "standard_category":"",
33
+ "qds_data_type":"",
34
+ "not_supported":false},
35
+ "patient_characteristic":{
36
+ "title":"patient characteristic",
37
+ "category":"characteristic",
38
+ "definition":"patient_characteristic",
39
+ "status":"",
40
+ "sub_category":"",
41
+ "hard_status":false,
42
+ "patient_api_function":"allProblems",
43
+ "standard_category":"individual_characteristic",
44
+ "qds_data_type":"individual_characteristic",
45
+ "not_supported":false},
46
+ "patient_characteristic_birthdate":{
47
+ "title":"patient characteristic, birthdate",
48
+ "category":"characteristic",
49
+ "definition":"patient_characteristic_birthdate",
50
+ "status":"",
51
+ "sub_category":"birthdate",
52
+ "hard_status":false,
53
+ "patient_api_function":"",
54
+ "property":"birthtime",
55
+ "standard_category":"individual_characteristic",
56
+ "qds_data_type":"individual_characteristic",
57
+ "not_supported":false},
58
+ "patient_characteristic_age":{
59
+ "title":"patient characteristic, age",
60
+ "category":"characteristic",
61
+ "definition":"patient_characteristic_age",
62
+ "status":"",
63
+ "sub_category":"age",
64
+ "hard_status":false,
65
+ "patient_api_function":"",
66
+ "property":"age",
67
+ "standard_category":"individual_characteristic",
68
+ "qds_data_type":"individual_characteristic",
69
+ "not_supported":false},
70
+ "patient_characteristic_marital_status":{
71
+ "title":"patient characteristic, marital status",
72
+ "category":"characteristic",
73
+ "definition":"patient_characteristic_marital_status",
74
+ "status":"",
75
+ "sub_category":"marital_status",
76
+ "hard_status":false,
77
+ "patient_api_function":"",
78
+ "property":"maritalStatus",
79
+ "standard_category":"individual_characteristic",
80
+ "qds_data_type":"individual_characteristic",
81
+ "not_supported":false},
82
+ "patient_characteristic_languages":{
83
+ "title":"patient characteristic, languages",
84
+ "category":"characteristic",
85
+ "definition":"patient_characteristic_languages",
86
+ "status":"",
87
+ "sub_category":"languages",
88
+ "hard_status":false,
89
+ "patient_api_function":"",
90
+ "property":"languages",
91
+ "standard_category":"individual_characteristic",
92
+ "qds_data_type":"individual_characteristic",
93
+ "not_supported":false},
94
+ "patient_characteristic_clinical_trial_participant":{
95
+ "title":"patient characteristic, clinical trial participant",
96
+ "category":"characteristic",
97
+ "definition":"patient_characteristic_clinical_trial_participant",
98
+ "status":"",
99
+ "sub_category":"clinical_trial_participant",
100
+ "hard_status":false,
101
+ "patient_api_function":"",
102
+ "property":"clinicalTrialParticipant",
103
+ "standard_category":"individual_characteristic",
104
+ "qds_data_type":"individual_characteristic",
105
+ "not_supported":false},
106
+ "patient_characteristic_gender":{
107
+ "title":"patient characteristic, gender",
108
+ "category":"characteristic",
109
+ "definition":"patient_characteristic_gender",
110
+ "status":"",
111
+ "sub_category":"gender",
112
+ "hard_status":false,
113
+ "patient_api_function":"",
114
+ "property":"gender",
115
+ "standard_category":"individual_characteristic",
116
+ "qds_data_type":"individual_characteristic",
117
+ "not_supported":false},
118
+ "patient_characteristic_ethnicity":{
119
+ "title":"patient characteristic, ethnicity",
120
+ "category":"characteristic",
121
+ "definition":"patient_characteristic_ethnicity",
122
+ "status":"",
123
+ "sub_category":"ethnicity",
124
+ "hard_status":false,
125
+ "patient_api_function":"",
126
+ "property":"ethnicity",
127
+ "standard_category":"individual_characteristic",
128
+ "qds_data_type":"individual_characteristic",
129
+ "not_supported":true},
130
+ "patient_characteristic_expired":{
131
+ "title":"patient characteristic, expired",
132
+ "category":"characteristic",
133
+ "definition":"patient_characteristic_expired",
134
+ "status":"",
135
+ "sub_category":"expired",
136
+ "hard_status":false,
137
+ "patient_api_function":"",
138
+ "property":"expired",
139
+ "standard_category":"individual_characteristic",
140
+ "qds_data_type":"individual_characteristic",
141
+ "not_supported":false},
142
+ "patient_characteristic_payer":{
143
+ "title":"patient characteristic, payer",
144
+ "category":"characteristic",
145
+ "definition":"patient_characteristic_payer",
146
+ "status":"",
147
+ "sub_category":"payer",
148
+ "hard_status":false,
149
+ "patient_api_function":"",
150
+ "property":"payer",
151
+ "standard_category":"individual_characteristic",
152
+ "qds_data_type":"individual_characteristic",
153
+ "not_supported":true},
154
+ "patient_characteristic_race":{
155
+ "title":"patient characteristic, race",
156
+ "category":"characteristic",
157
+ "definition":"patient_characteristic_race",
158
+ "status":"",
159
+ "sub_category":"race",
160
+ "hard_status":false,
161
+ "patient_api_function":"",
162
+ "property":"race",
163
+ "standard_category":"individual_characteristic",
164
+ "qds_data_type":"individual_characteristic",
165
+ "not_supported":false},
166
+ "encounter":{
167
+ "title":"encounter",
168
+ "category":"encounters",
169
+ "definition":"encounter",
170
+ "status":"",
171
+ "sub_category":"",
172
+ "hard_status":false,
173
+ "patient_api_function":"encounters",
174
+ "standard_category":"encounter",
175
+ "qds_data_type":"encounter",
176
+ "not_supported":false},
177
+ "encounter_active":{
178
+ "title":"encounter, active",
179
+ "category":"encounters",
180
+ "definition":"encounter",
181
+ "status":"active",
182
+ "sub_category":"",
183
+ "hard_status":true,
184
+ "patient_api_function":"encounters",
185
+ "standard_category":"encounter",
186
+ "qds_data_type":"encounter",
187
+ "not_supported":false},
188
+ "encounter_performed":{
189
+ "title":"encounter, performed",
190
+ "category":"encounters",
191
+ "definition":"encounter",
192
+ "status":"performed",
193
+ "sub_category":"",
194
+ "hard_status":false,
195
+ "patient_api_function":"encounters",
196
+ "standard_category":"encounter",
197
+ "qds_data_type":"encounter",
198
+ "not_supported":false},
199
+ "encounter_ordered":{
200
+ "title":"encounter, order",
201
+ "category":"encounters",
202
+ "definition":"encounter",
203
+ "status":"ordered",
204
+ "sub_category":"",
205
+ "hard_status":true,
206
+ "patient_api_function":"encounters",
207
+ "standard_category":"encounter",
208
+ "qds_data_type":"encounter",
209
+ "not_supported":false},
210
+ "encounter_recommended":{
211
+ "title":"encounter, recommended",
212
+ "category":"encounters",
213
+ "definition":"encounter",
214
+ "status":"recommended",
215
+ "sub_category":"",
216
+ "hard_status":true,
217
+ "patient_api_function":"encounters",
218
+ "standard_category":"encounter",
219
+ "qds_data_type":"encounter",
220
+ "not_supported":false},
221
+ "procedure":{
222
+ "title":"procedure",
223
+ "category":"procedures",
224
+ "definition":"procedure",
225
+ "status":"",
226
+ "sub_category":"",
227
+ "hard_status":false,
228
+ "patient_api_function":"allProcedures",
229
+ "standard_category":"procedure",
230
+ "qds_data_type":"procedure_performed",
231
+ "not_supported":false},
232
+ "procedure_performed":{
233
+ "title":"procedure, performed",
234
+ "category":"procedures",
235
+ "definition":"procedure",
236
+ "status":"performed",
237
+ "sub_category":"",
238
+ "hard_status":false,
239
+ "patient_api_function":"allProcedures",
240
+ "standard_category":"procedure",
241
+ "qds_data_type":"procedure_performed",
242
+ "not_supported":false},
243
+ "procedure_ordered":{
244
+ "title":"procedure, order",
245
+ "category":"procedures",
246
+ "definition":"procedure",
247
+ "status":"ordered",
248
+ "sub_category":"",
249
+ "hard_status":true,
250
+ "patient_api_function":"allProcedures",
251
+ "standard_category":"procedure",
252
+ "qds_data_type":"procedure_performed",
253
+ "not_supported":false},
254
+ "procedure_result":{
255
+ "title":"procedure, result",
256
+ "category":"procedures",
257
+ "definition":"procedure_result",
258
+ "status":"",
259
+ "sub_category":"result",
260
+ "hard_status":false,
261
+ "patient_api_function":"procedureResults",
262
+ "standard_category":"procedure",
263
+ "qds_data_type":"procedure_result",
264
+ "not_supported":false},
265
+ "procedure_adverse_event":{
266
+ "title":"procedure, adverse event",
267
+ "category":"procedures",
268
+ "definition":"procedure_adverse_event",
269
+ "status":"",
270
+ "sub_category":"adverse_event",
271
+ "hard_status":false,
272
+ "patient_api_function":"allergies",
273
+ "standard_category":"procedure",
274
+ "qds_data_type":"procedure_adverse_event",
275
+ "not_supported":false},
276
+ "procedure_intolerance":{
277
+ "title":"procedure, intolerance",
278
+ "category":"procedures",
279
+ "definition":"procedure_intolerance",
280
+ "status":"",
281
+ "sub_category":"intolerance",
282
+ "hard_status":false,
283
+ "patient_api_function":"allergies",
284
+ "standard_category":"procedure",
285
+ "qds_data_type":"procedure_intolerance",
286
+ "not_supported":false},
287
+ "procedure_recommended":{
288
+ "title":"procedure, recommended",
289
+ "category":"procedures",
290
+ "definition":"procedure",
291
+ "status":"recommended",
292
+ "sub_category":"",
293
+ "hard_status":true,
294
+ "patient_api_function":"allProcedures",
295
+ "standard_category":"procedure",
296
+ "qds_data_type":"procedure_performed",
297
+ "not_supported":false},
298
+ "diagnosis":{
299
+ "title":"diagnosis",
300
+ "category":"conditions",
301
+ "definition":"diagnosis",
302
+ "status":"",
303
+ "sub_category":"",
304
+ "hard_status":false,
305
+ "patient_api_function":"allProblems",
306
+ "standard_category":"diagnosis_condition_problem",
307
+ "qds_data_type":"diagnosis_active",
308
+ "not_supported":false},
309
+ "diagnosis_active":{
310
+ "title":"diagnosis, active",
311
+ "category":"conditions",
312
+ "definition":"diagnosis",
313
+ "status":"active",
314
+ "sub_category":"",
315
+ "hard_status":false,
316
+ "patient_api_function":"allProblems",
317
+ "standard_category":"diagnosis_condition_problem",
318
+ "qds_data_type":"diagnosis_active",
319
+ "not_supported":false},
320
+ "diagnosis_resolved":{
321
+ "title":"diagnosis, resolved",
322
+ "category":"conditions",
323
+ "definition":"diagnosis",
324
+ "status":"resolved",
325
+ "sub_category":"",
326
+ "hard_status":true,
327
+ "patient_api_function":"allProblems",
328
+ "standard_category":"diagnosis_condition_problem",
329
+ "qds_data_type":"diagnosis_resolved",
330
+ "not_supported":false},
331
+ "diagnosis_family_history":{
332
+ "title":"diagnosis, family history",
333
+ "category":"conditions",
334
+ "definition":"diagnosis",
335
+ "status":"family_history",
336
+ "sub_category":"family_history",
337
+ "hard_status":true,
338
+ "patient_api_function":"allProblems",
339
+ "standard_category":"diagnosis_condition_problem",
340
+ "qds_data_type":"diagnosis_active",
341
+ "not_supported":false},
342
+ "diagnosis_inactive":{
343
+ "title":"diagnosis, inactive",
344
+ "category":"conditions",
345
+ "definition":"diagnosis",
346
+ "status":"inactive",
347
+ "sub_category":"",
348
+ "hard_status":true,
349
+ "patient_api_function":"allProblems",
350
+ "standard_category":"diagnosis_condition_problem",
351
+ "qds_data_type":"diagnosis_inactive",
352
+ "not_supported":false},
353
+ "diagnosis_risk_of":{
354
+ "title":"diagnosis, risk of",
355
+ "category":"conditions",
356
+ "definition":"diagnosis_risk_of",
357
+ "status":"",
358
+ "sub_category":"risk_of",
359
+ "hard_status":false,
360
+ "patient_api_function":"allProblems",
361
+ "standard_category":"diagnosis_condition_problem",
362
+ "qds_data_type":"diagnosis_active",
363
+ "not_supported":true},
364
+ "diagnostic_study":{
365
+ "title":"diagnostic study",
366
+ "category":"diagnostic_studies",
367
+ "definition":"diagnostic_study",
368
+ "status":"",
369
+ "sub_category":"",
370
+ "hard_status":false,
371
+ "patient_api_function":"allProcedures",
372
+ "standard_category":"diagnostic_study",
373
+ "qds_data_type":"diagnostic_study_performed",
374
+ "not_supported":false},
375
+ "diagnostic_study_performed":{
376
+ "title":"diagnostic study, performed",
377
+ "category":"diagnostic_studies",
378
+ "definition":"diagnostic_study",
379
+ "status":"performed",
380
+ "sub_category":"",
381
+ "hard_status":false,
382
+ "patient_api_function":"allProcedures",
383
+ "standard_category":"diagnostic_study",
384
+ "qds_data_type":"diagnostic_study_performed",
385
+ "not_supported":false},
386
+ "diagnostic_study_result":{
387
+ "title":"diagnostic study, result",
388
+ "category":"diagnostic_studies",
389
+ "definition":"diagnostic_study_result",
390
+ "status":"",
391
+ "sub_category":"result",
392
+ "hard_status":false,
393
+ "patient_api_function":"procedureResults",
394
+ "standard_category":"diagnostic_study",
395
+ "qds_data_type":"diagnostic_study_result",
396
+ "not_supported":false},
397
+ "diagnostic_study_adverse_event":{
398
+ "title":"diagnostic study, adverse event",
399
+ "category":"diagnostic_studies",
400
+ "definition":"diagnostic_study_adverse_event",
401
+ "status":"",
402
+ "sub_category":"adverse_event",
403
+ "hard_status":false,
404
+ "patient_api_function":"allergies",
405
+ "standard_category":"allergy",
406
+ "qds_data_type":"allergy",
407
+ "not_supported":false},
408
+ "diagnostic_study_intolerance":{
409
+ "title":"diagnostic study, intolerance",
410
+ "category":"diagnostic_studies",
411
+ "definition":"diagnostic_study_intolerance",
412
+ "status":"",
413
+ "sub_category":"intolerance",
414
+ "hard_status":false,
415
+ "patient_api_function":"allergies",
416
+ "standard_category":"allergy",
417
+ "qds_data_type":"allergy",
418
+ "not_supported":false},
419
+ "diagnostic_study_ordered":{
420
+ "title":"diagnostic study, order",
421
+ "category":"diagnostic_studies",
422
+ "definition":"diagnostic_study",
423
+ "status":"ordered",
424
+ "sub_category":"",
425
+ "hard_status":true,
426
+ "patient_api_function":"allProcedures",
427
+ "standard_category":"diagnostic_study",
428
+ "qds_data_type":"diagnostic_study_performed",
429
+ "not_supported":false},
430
+ "medication":{
431
+ "title":"medication",
432
+ "category":"medications",
433
+ "definition":"medication",
434
+ "status":"",
435
+ "sub_category":"",
436
+ "hard_status":false,
437
+ "patient_api_function":"allMedications",
438
+ "standard_category":"medication",
439
+ "qds_data_type":"medication_active",
440
+ "not_supported":false},
441
+ "medication_dispensed":{
442
+ "title":"medication, dispensed",
443
+ "category":"medications",
444
+ "definition":"medication",
445
+ "status":"dispensed",
446
+ "sub_category":"",
447
+ "hard_status":true,
448
+ "patient_api_function":"allMedications",
449
+ "standard_category":"medication",
450
+ "qds_data_type":"medication_dispensed",
451
+ "not_supported":false},
452
+ "medication_ordered":{
453
+ "title":"medication, order",
454
+ "category":"medications",
455
+ "definition":"medication",
456
+ "status":"ordered",
457
+ "sub_category":"",
458
+ "hard_status":true,
459
+ "patient_api_function":"allMedications",
460
+ "standard_category":"medication",
461
+ "qds_data_type":"medication_order",
462
+ "not_supported":false},
463
+ "medication_active":{
464
+ "title":"medication, active",
465
+ "category":"medications",
466
+ "definition":"medication",
467
+ "status":"active",
468
+ "sub_category":"",
469
+ "hard_status":false,
470
+ "patient_api_function":"allMedications",
471
+ "standard_category":"medication",
472
+ "qds_data_type":"medication_active",
473
+ "not_supported":false},
474
+ "medication_administered":{
475
+ "title":"medication, administered",
476
+ "category":"medications",
477
+ "definition":"medication",
478
+ "status":"administered",
479
+ "sub_category":"",
480
+ "hard_status":true,
481
+ "patient_api_function":"allMedications",
482
+ "standard_category":"medication",
483
+ "qds_data_type":"medication_administered",
484
+ "not_supported":false},
485
+ "medication_discharge": {
486
+ "title":"medication, discharge",
487
+ "category":"medications",
488
+ "definition":"medication_discharge",
489
+ "status":"discharge",
490
+ "sub_category":"discharge",
491
+ "hard_status":true,
492
+ "patient_api_function":"allMedications",
493
+ "standard_category":"medication",
494
+ "qds_data_type":"medication_discharge",
495
+ "not_supported":false},
496
+ "medication_adverse_effects":{
497
+ "title":"medication, adverse effects",
498
+ "category":"medications",
499
+ "definition":"medication_adverse_effects",
500
+ "status":"",
501
+ "sub_category":"adverse_effects",
502
+ "hard_status":false,
503
+ "patient_api_function":"allergies",
504
+ "standard_category":"allergy",
505
+ "qds_data_type":"allergy",
506
+ "not_supported":false},
507
+ "medication_allergy":{
508
+ "title":"medication, allergy",
509
+ "category":"medications",
510
+ "definition":"medication_allergy",
511
+ "status":"",
512
+ "sub_category":"allergy",
513
+ "hard_status":false,
514
+ "patient_api_function":"allergies",
515
+ "standard_category":"allergy",
516
+ "qds_data_type":"allergy",
517
+ "not_supported":false},
518
+ "medication_intolerance":{
519
+ "title":"medication, intolerance",
520
+ "category":"medications",
521
+ "definition":"medication_intolerance",
522
+ "status":"",
523
+ "sub_category":"intolerance",
524
+ "hard_status":false,
525
+ "patient_api_function":"allergies",
526
+ "standard_category":"allergy",
527
+ "qds_data_type":"allergy",
528
+ "not_supported":false},
529
+ "physical_exam":{
530
+ "title":"physical exam, finding",
531
+ "category":"physical_exams",
532
+ "definition":"physical_exam",
533
+ "status":"",
534
+ "sub_category":"",
535
+ "hard_status":false,
536
+ "patient_api_function":"procedureResults",
537
+ "standard_category":"physical_exam",
538
+ "qds_data_type":"physical_exam",
539
+ "not_supported":false},
540
+ "physical_exam_ordered":{
541
+ "title":"physical exam, order",
542
+ "category":"physical_exams",
543
+ "definition":"physical_exam",
544
+ "status":"ordered",
545
+ "sub_category":"",
546
+ "hard_status":true,
547
+ "patient_api_function":"procedureResults",
548
+ "standard_category":"physical_exam",
549
+ "qds_data_type":"physical_exam",
550
+ "not_supported":false},
551
+ "physical_exam_performed":{
552
+ "title":"physical exam, performed",
553
+ "category":"physical_exams",
554
+ "definition":"physical_exam",
555
+ "status":"performed",
556
+ "sub_category":"",
557
+ "hard_status":false,
558
+ "patient_api_function":"procedureResults",
559
+ "standard_category":"physical_exam",
560
+ "qds_data_type":"physical_exam",
561
+ "not_supported":false},
562
+ "physical_exam_recommended":{
563
+ "title":"physical exam, recommended",
564
+ "category":"physical_exams",
565
+ "definition":"physical_exam",
566
+ "status":"recommended",
567
+ "sub_category":"",
568
+ "hard_status":true,
569
+ "patient_api_function":"procedureResults",
570
+ "standard_category":"physical_exam",
571
+ "qds_data_type":"physical_exam",
572
+ "not_supported":false},
573
+ "laboratory_test":{
574
+ "title":"laboratory test, result",
575
+ "category":"laboratory_tests",
576
+ "definition":"laboratory_test",
577
+ "status":"",
578
+ "sub_category":"",
579
+ "hard_status":false,
580
+ "patient_api_function":"laboratoryTests",
581
+ "standard_category":"laboratory_test",
582
+ "qds_data_type":"laboratory_test",
583
+ "not_supported":false},
584
+ "laboratory_test_performed":{
585
+ "title":"laboratory test, performed",
586
+ "category":"laboratory_tests",
587
+ "definition":"laboratory_test",
588
+ "status":"performed",
589
+ "sub_category":"",
590
+ "hard_status":false,
591
+ "patient_api_function":"laboratoryTests",
592
+ "standard_category":"laboratory_test",
593
+ "qds_data_type":"laboratory_test",
594
+ "not_supported":false},
595
+ "laboratory_test_adverse_event":{
596
+ "title":"laboratory test, adverse event",
597
+ "category":"laboratory_tests",
598
+ "definition":"laboratory_test_adverse_event",
599
+ "status":"",
600
+ "sub_category":"adverse_event",
601
+ "hard_status":false,
602
+ "patient_api_function":"allergies",
603
+ "standard_category":"allergy",
604
+ "qds_data_type":"allergy",
605
+ "not_supported":false},
606
+ "laboratory_test_intolerance":{
607
+ "title":"laboratory test, intolerance",
608
+ "category":"laboratory_tests",
609
+ "definition":"laboratory_test_intolerance",
610
+ "status":"",
611
+ "sub_category":"intolerance",
612
+ "hard_status":false,
613
+ "patient_api_function":"allergies",
614
+ "standard_category":"allergy",
615
+ "qds_data_type":"allergy",
616
+ "not_supported":false},
617
+ "laboratory_test_ordered":{
618
+ "title":"laboratory test, order",
619
+ "category":"laboratory_tests",
620
+ "definition":"laboratory_test",
621
+ "status":"ordered",
622
+ "sub_category":"",
623
+ "hard_status":true,
624
+ "patient_api_function":"laboratoryTests",
625
+ "standard_category":"laboratory_test",
626
+ "qds_data_type":"laboratory_test",
627
+ "not_supported":false},
628
+ "laboratory_test_recommended":{
629
+ "title":"laboratory test, recommended",
630
+ "category":"laboratory_tests",
631
+ "definition":"laboratory_test",
632
+ "status":"recommended",
633
+ "sub_category":"",
634
+ "hard_status":true,
635
+ "patient_api_function":"laboratoryTests",
636
+ "standard_category":"laboratory_test",
637
+ "qds_data_type":"laboratory_test",
638
+ "not_supported":false},
639
+ "care_goal":{
640
+ "title":"care goal",
641
+ "category":"care_goals",
642
+ "definition":"care_goal",
643
+ "status":"",
644
+ "sub_category":"",
645
+ "hard_status":false,
646
+ "patient_api_function":"careGoals",
647
+ "standard_category":"care_goal",
648
+ "qds_data_type":"care_goal",
649
+ "not_supported":false},
650
+ "communication_from_patient_to_provider":{
651
+ "title":"communication, from patient to provider",
652
+ "category":"communications",
653
+ "definition":"communication_from_patient_to_provider",
654
+ "status":"",
655
+ "sub_category":"from_patient_to_provider",
656
+ "hard_status":false,
657
+ "patient_api_function":"procedures",
658
+ "standard_category":"communication",
659
+ "qds_data_type":"communication",
660
+ "not_supported":false},
661
+ "communication_from_provider_to_patient":{
662
+ "title":"communication, from provider to patient",
663
+ "category":"communications",
664
+ "definition":"communication_from_provider_to_patient",
665
+ "status":"",
666
+ "sub_category":"from_provider_to_patient",
667
+ "hard_status":false,
668
+ "patient_api_function":"procedures",
669
+ "standard_category":"communication",
670
+ "qds_data_type":"communication",
671
+ "not_supported":false},
672
+ "communication_from_provider_to_provider":{
673
+ "title":"communication, from provider to provider",
674
+ "category":"communications",
675
+ "definition":"communication_from_provider_to_provider",
676
+ "status":"",
677
+ "sub_category":"from_provider_to_provider",
678
+ "hard_status":false,
679
+ "patient_api_function":"procedures",
680
+ "standard_category":"communication",
681
+ "qds_data_type":"communication",
682
+ "not_supported":false},
683
+ "device":{
684
+ "title":"device",
685
+ "category":"devices",
686
+ "definition":"device",
687
+ "status":"",
688
+ "sub_category":"",
689
+ "hard_status":false,
690
+ "patient_api_function":"allDevices",
691
+ "standard_category":"device",
692
+ "qds_data_type":"device_applied",
693
+ "not_supported":false},
694
+ "device_applied":{
695
+ "title":"device, applied",
696
+ "category":"devices",
697
+ "definition":"device",
698
+ "status":"applied",
699
+ "sub_category":"",
700
+ "hard_status":true,
701
+ "patient_api_function":"allDevices",
702
+ "standard_category":"device",
703
+ "qds_data_type":"device_applied",
704
+ "not_supported":false},
705
+ "device_adverse_event":{
706
+ "title":"device, adverse event",
707
+ "category":"devices",
708
+ "definition":"device_adverse_event",
709
+ "status":"",
710
+ "sub_category":"adverse_event",
711
+ "hard_status":false,
712
+ "patient_api_function":"allergies",
713
+ "standard_category":"allergy",
714
+ "qds_data_type":"allergy",
715
+ "not_supported":false},
716
+ "device_allergy":{
717
+ "title":"device, allergy",
718
+ "category":"devices",
719
+ "definition":"device_allergy",
720
+ "status":"",
721
+ "sub_category":"allergy",
722
+ "hard_status":false,
723
+ "patient_api_function":"allergies",
724
+ "standard_category":"allergy",
725
+ "qds_data_type":"allergy",
726
+ "not_supported":false},
727
+ "device_intolerance":{
728
+ "title":"device, intolerance",
729
+ "category":"devices",
730
+ "definition":"device_intolerance",
731
+ "status":"",
732
+ "sub_category":"intolerance",
733
+ "hard_status":false,
734
+ "patient_api_function":"allergies",
735
+ "standard_category":"allergy",
736
+ "qds_data_type":"allergy",
737
+ "not_supported":false},
738
+ "device_ordered":{
739
+ "title":"device, order",
740
+ "category":"devices",
741
+ "definition":"device",
742
+ "status":"ordered",
743
+ "sub_category":"",
744
+ "hard_status":true,
745
+ "patient_api_function":"allDevices",
746
+ "standard_category":"device",
747
+ "qds_data_type":"device_applied",
748
+ "not_supported":false},
749
+ "device_recommended":{
750
+ "title":"device, recommended",
751
+ "category":"devices",
752
+ "definition":"device",
753
+ "status":"recommended",
754
+ "sub_category":"",
755
+ "hard_status":true,
756
+ "patient_api_function":"allDevices",
757
+ "standard_category":"device",
758
+ "qds_data_type":"device_applied",
759
+ "not_supported":false},
760
+ "substance":{
761
+ "title":"substance",
762
+ "category":"substances",
763
+ "definition":"substance",
764
+ "status":"",
765
+ "sub_category":"",
766
+ "hard_status":false,
767
+ "patient_api_function":"allMedications",
768
+ "standard_category":"medication",
769
+ "qds_data_type":"medication_administered",
770
+ "not_supported":false},
771
+ "substance_administered":{
772
+ "title":"substance, administered",
773
+ "category":"substances",
774
+ "definition":"substance",
775
+ "status":"administered",
776
+ "sub_category":"",
777
+ "hard_status":true,
778
+ "patient_api_function":"allMedications",
779
+ "standard_category":"medication",
780
+ "qds_data_type":"medication_administered",
781
+ "not_supported":false},
782
+ "substance_ordered":{
783
+ "title":"substance, order",
784
+ "category":"substances",
785
+ "definition":"substance",
786
+ "status":"ordered",
787
+ "sub_category":"",
788
+ "hard_status":true,
789
+ "patient_api_function":"allMedications",
790
+ "standard_category":"medication",
791
+ "qds_data_type":"medication_order",
792
+ "not_supported":false},
793
+ "substance_adverse_event":{
794
+ "title":"substance, adverse event",
795
+ "category":"substances",
796
+ "definition":"substance_adverse_event",
797
+ "status":"",
798
+ "sub_category":"adverse_event",
799
+ "hard_status":false,
800
+ "patient_api_function":"allergies",
801
+ "standard_category":"allergy",
802
+ "qds_data_type":"allergy",
803
+ "not_supported":false},
804
+ "substance_intolerance":{
805
+ "title":"substance, intolerance",
806
+ "category":"substances",
807
+ "definition":"substance_intolerance",
808
+ "status":"",
809
+ "sub_category":"intolerance",
810
+ "hard_status":false,
811
+ "patient_api_function":"allergies",
812
+ "standard_category":"allergy",
813
+ "qds_data_type":"allergy",
814
+ "not_supported":false},
815
+ "substance_allergy":{
816
+ "title":"substance, allergy",
817
+ "category":"substances",
818
+ "definition":"substance_allergy",
819
+ "status":"",
820
+ "sub_category":"allergy",
821
+ "hard_status":false,
822
+ "patient_api_function":"allergies",
823
+ "standard_category":"allergy",
824
+ "qds_data_type":"allergy",
825
+ "not_supported":false},
826
+ "substance_recommended":{
827
+ "title":"substance, recommended",
828
+ "category":"substances",
829
+ "definition":"substance",
830
+ "status":"recommended",
831
+ "sub_category":"",
832
+ "hard_status":true,
833
+ "patient_api_function":"allMedications",
834
+ "standard_category":"medication",
835
+ "qds_data_type":"medication_order",
836
+ "not_supported":false},
837
+ "intervention":{
838
+ "title":"intervention",
839
+ "category":"interventions",
840
+ "definition":"intervention",
841
+ "status":"",
842
+ "sub_category":"",
843
+ "hard_status":false,
844
+ "patient_api_function":"allProcedures",
845
+ "standard_category":"procedure",
846
+ "qds_data_type":"procedure_performed",
847
+ "not_supported":false},
848
+ "intervention_adverse_event":{
849
+ "title":"intervention, adverse event",
850
+ "category":"interventions",
851
+ "definition":"intervention_adverse_event",
852
+ "status":"",
853
+ "sub_category":"adverse_event",
854
+ "hard_status":false,
855
+ "patient_api_function":"allergies",
856
+ "standard_category":"allergy",
857
+ "qds_data_type":"allergy",
858
+ "not_supported":false},
859
+ "intervention_intolerance":{
860
+ "title":"intervention, intolerance",
861
+ "category":"interventions",
862
+ "definition":"intervention_intolerance",
863
+ "status":"",
864
+ "sub_category":"intolerance",
865
+ "hard_status":false,
866
+ "patient_api_function":"allergies",
867
+ "standard_category":"allergy",
868
+ "qds_data_type":"allergy",
869
+ "not_supported":false},
870
+ "intervention_ordered":{
871
+ "title":"intervention, order",
872
+ "category":"interventions",
873
+ "definition":"intervention",
874
+ "status":"ordered",
875
+ "sub_category":"",
876
+ "hard_status":true,
877
+ "patient_api_function":"allProcedures",
878
+ "standard_category":"procedure",
879
+ "qds_data_type":"procedure_performed",
880
+ "not_supported":false},
881
+ "intervention_performed":{
882
+ "title":"intervention, performed",
883
+ "category":"interventions",
884
+ "definition":"intervention",
885
+ "status":"performed",
886
+ "sub_category":"",
887
+ "hard_status":false,
888
+ "patient_api_function":"allProcedures",
889
+ "standard_category":"procedure",
890
+ "qds_data_type":"procedure_performed",
891
+ "not_supported":false},
892
+ "intervention_result":{
893
+ "title":"intervention, result",
894
+ "category":"interventions",
895
+ "definition":"intervention_result",
896
+ "status":"",
897
+ "sub_category":"result",
898
+ "hard_status":false,
899
+ "patient_api_function":"procedureResults",
900
+ "standard_category":"procedure",
901
+ "qds_data_type":"procedure_result",
902
+ "not_supported":false},
903
+ "intervention_recommended":{
904
+ "title":"intervention, recommended",
905
+ "category":"interventions",
906
+ "definition":"intervention",
907
+ "status":"recommended",
908
+ "sub_category":"",
909
+ "hard_status":true,
910
+ "patient_api_function":"allProcedures",
911
+ "standard_category":"procedure",
912
+ "qds_data_type":"procedure_performed",
913
+ "not_supported":false},
914
+ "symptom":{
915
+ "title":"symptom",
916
+ "category":"symptoms",
917
+ "definition":"symptom",
918
+ "status":"",
919
+ "sub_category":"",
920
+ "hard_status":false,
921
+ "patient_api_function":"allProblems",
922
+ "standard_category":"symptom",
923
+ "qds_data_type":"symptom",
924
+ "not_supported":false},
925
+ "symptom_active":{
926
+ "title":"symptom, active",
927
+ "category":"symptoms",
928
+ "definition":"symptom",
929
+ "status":"active",
930
+ "sub_category":"",
931
+ "hard_status":false,
932
+ "patient_api_function":"allProblems",
933
+ "standard_category":"symptom",
934
+ "qds_data_type":"symptom",
935
+ "not_supported":false},
936
+ "symptom_assessed":{
937
+ "title":"symptom, assessed",
938
+ "category":"symptoms",
939
+ "definition":"symptom",
940
+ "status":"assessed",
941
+ "sub_category":"",
942
+ "hard_status":true,
943
+ "patient_api_function":"allProblems",
944
+ "standard_category":"symptom",
945
+ "qds_data_type":"symptom",
946
+ "not_supported":false},
947
+ "symptom_inactive":{
948
+ "title":"symptom, inactive",
949
+ "category":"symptoms",
950
+ "definition":"symptom",
951
+ "status":"inactive",
952
+ "sub_category":"",
953
+ "hard_status":true,
954
+ "patient_api_function":"allProblems",
955
+ "standard_category":"symptom",
956
+ "qds_data_type":"symptom",
957
+ "not_supported":false},
958
+ "symptom_resolved":{
959
+ "title":"symptom, resolved",
960
+ "category":"symptoms",
961
+ "definition":"symptom",
962
+ "status":"resolved",
963
+ "sub_category":"",
964
+ "hard_status":true,
965
+ "patient_api_function":"allProblems",
966
+ "standard_category":"symptom",
967
+ "qds_data_type":"symptom",
968
+ "not_supported":false},
969
+ "functional_status":{
970
+ "title":"functional status",
971
+ "category":"functional_statuses",
972
+ "definition":"functional_status",
973
+ "status":"",
974
+ "sub_category":"",
975
+ "hard_status":false,
976
+ "patient_api_function":"procedureResults",
977
+ "standard_category":"procedure",
978
+ "qds_data_type":"procedure_result",
979
+ "not_supported":false},
980
+ "functional_status_performed":{
981
+ "title":"functional status, performed",
982
+ "category":"functional_statuses",
983
+ "definition":"functional_status",
984
+ "status":"performed",
985
+ "sub_category":"",
986
+ "hard_status":false,
987
+ "patient_api_function":"procedureResults",
988
+ "standard_category":"procedure",
989
+ "qds_data_type":"procedure_result",
990
+ "not_supported":false},
991
+ "functional_status_ordered":{
992
+ "title":"functional status, order",
993
+ "category":"functional_statuses",
994
+ "definition":"functional_status",
995
+ "status":"ordered",
996
+ "sub_category":"",
997
+ "hard_status":true,
998
+ "patient_api_function":"procedureResults",
999
+ "standard_category":"procedure",
1000
+ "qds_data_type":"procedure_result",
1001
+ "not_supported":false},
1002
+ "functional_status_recommended":{
1003
+ "title":"functional status, recommended",
1004
+ "category":"functional_statuses",
1005
+ "definition":"functional_status",
1006
+ "status":"recommended",
1007
+ "sub_category":"",
1008
+ "hard_status":true,
1009
+ "patient_api_function":"procedureResults",
1010
+ "standard_category":"procedure",
1011
+ "qds_data_type":"procedure_result",
1012
+ "not_supported":false},
1013
+ "functional_status_result":{
1014
+ "title":"functional status, result",
1015
+ "category":"functional_statuses",
1016
+ "definition":"functional_status_result",
1017
+ "status":"",
1018
+ "sub_category":"result",
1019
+ "hard_status":false,
1020
+ "patient_api_function":"procedureResults",
1021
+ "standard_category":"procedure",
1022
+ "qds_data_type":"procedure_result",
1023
+ "not_supported":false},
1024
+ "risk_category_assessment":{
1025
+ "title":"risk category / assessment",
1026
+ "category":"risk_category_assessments",
1027
+ "definition":"risk_category_assessment",
1028
+ "status":"",
1029
+ "sub_category":"",
1030
+ "hard_status":false,
1031
+ "patient_api_function":"procedures",
1032
+ "standard_category":"risk_category_assessment",
1033
+ "qds_data_type":"risk_category_assessment",
1034
+ "not_supported":false},
1035
+ "provider_care_experience":{
1036
+ "title":"provider care experience",
1037
+ "category":"provider_care_experiences",
1038
+ "definition":"provider_care_experience",
1039
+ "status":"",
1040
+ "sub_category":"",
1041
+ "hard_status":false,
1042
+ "patient_api_function":"",
1043
+ "standard_category":"",
1044
+ "qds_data_type":"",
1045
+ "not_supported":true},
1046
+ "patient_care_experience":{
1047
+ "title":"patient care experience",
1048
+ "category":"patient_care_experiences",
1049
+ "definition":"patient_care_experience",
1050
+ "status":"",
1051
+ "sub_category":"",
1052
+ "hard_status":false,
1053
+ "patient_api_function":"",
1054
+ "standard_category":"",
1055
+ "qds_data_type":"",
1056
+ "not_supported":true},
1057
+ "preference_provider":{
1058
+ "title":"provider preference",
1059
+ "category":"preferences",
1060
+ "definition":"preference_provider",
1061
+ "status":"",
1062
+ "sub_category":"provider",
1063
+ "hard_status":false,
1064
+ "patient_api_function":"",
1065
+ "standard_category":"",
1066
+ "qds_data_type":"",
1067
+ "not_supported":true},
1068
+ "preference_patient":{
1069
+ "title":"patient preference",
1070
+ "category":"preferences",
1071
+ "definition":"preference_patient",
1072
+ "status":"",
1073
+ "sub_category":"patient",
1074
+ "hard_status":false,
1075
+ "patient_api_function":"",
1076
+ "standard_category":"",
1077
+ "qds_data_type":"",
1078
+ "not_supported":true},
1079
+ "system_characteristic":{
1080
+ "title":"system characteristic",
1081
+ "category":"system_characteristics",
1082
+ "definition":"system_characteristic",
1083
+ "status":"",
1084
+ "sub_category":"",
1085
+ "hard_status":false,
1086
+ "patient_api_function":"",
1087
+ "standard_category":"",
1088
+ "qds_data_type":"",
1089
+ "not_supported":true},
1090
+ "provider_characteristic":{
1091
+ "title":"provider characteristic",
1092
+ "category":"provider_characteristics",
1093
+ "definition":"provider_characteristic",
1094
+ "status":"",
1095
+ "sub_category":"",
1096
+ "hard_status":false,
1097
+ "patient_api_function":"",
1098
+ "standard_category":"",
1099
+ "qds_data_type":"",
1100
+ "not_supported":true},
1101
+ "transfer_from":{
1102
+ "title":"transfer, from",
1103
+ "category":"transfers",
1104
+ "definition":"transfer_from",
1105
+ "status":"",
1106
+ "sub_category":"from",
1107
+ "hard_status":false,
1108
+ "patient_api_function":"encounters",
1109
+ "standard_category":"",
1110
+ "qds_data_type":"",
1111
+ "not_supported":false},
1112
+ "transfer_to":{
1113
+ "title":"transfer, to",
1114
+ "category":"transfers",
1115
+ "definition":"transfer_to",
1116
+ "status":"",
1117
+ "sub_category":"to",
1118
+ "hard_status":false,
1119
+ "patient_api_function":"encounters",
1120
+ "standard_category":"",
1121
+ "qds_data_type":"",
1122
+ "not_supported":false}
1123
+ }