openehr 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. data/.document +5 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +23 -0
  5. data/Guardfile +12 -0
  6. data/History.txt +36 -0
  7. data/PostInstall.txt +9 -0
  8. data/README.rdoc +82 -0
  9. data/Rakefile +44 -0
  10. data/VERSION +1 -0
  11. data/doc/openehr_terminology.xml +2700 -0
  12. data/lib/openehr.rb +11 -0
  13. data/lib/openehr/am.rb +8 -0
  14. data/lib/openehr/am/archetype.rb +133 -0
  15. data/lib/openehr/am/archetype/assertion.rb +190 -0
  16. data/lib/openehr/am/archetype/constraint_model.rb +328 -0
  17. data/lib/openehr/am/archetype/constraint_model/primitive.rb +327 -0
  18. data/lib/openehr/am/archetype/ontology.rb +126 -0
  19. data/lib/openehr/am/openehr_profile.rb +9 -0
  20. data/lib/openehr/am/openehr_profile/data_types.rb +13 -0
  21. data/lib/openehr/am/openehr_profile/data_types/basic.rb +114 -0
  22. data/lib/openehr/am/openehr_profile/data_types/quantity.rb +67 -0
  23. data/lib/openehr/am/openehr_profile/data_types/text.rb +22 -0
  24. data/lib/openehr/assumed_library_types.rb +691 -0
  25. data/lib/openehr/parser.rb +23 -0
  26. data/lib/openehr/parser/adl.rb +57 -0
  27. data/lib/openehr/parser/adl_grammar.tt +245 -0
  28. data/lib/openehr/parser/adl_parser.rb +52 -0
  29. data/lib/openehr/parser/cadl_grammar.tt +1527 -0
  30. data/lib/openehr/parser/cadl_node.rb +44 -0
  31. data/lib/openehr/parser/dadl.rb +13 -0
  32. data/lib/openehr/parser/dadl_grammar.tt +358 -0
  33. data/lib/openehr/parser/exception.rb +68 -0
  34. data/lib/openehr/parser/shared_token_grammar.tt +1229 -0
  35. data/lib/openehr/parser/validator.rb +19 -0
  36. data/lib/openehr/parser/xml_perser.rb +13 -0
  37. data/lib/openehr/rm.rb +15 -0
  38. data/lib/openehr/rm/common.rb +14 -0
  39. data/lib/openehr/rm/common/archetyped.rb +182 -0
  40. data/lib/openehr/rm/common/change_control.rb +332 -0
  41. data/lib/openehr/rm/common/directory.rb +29 -0
  42. data/lib/openehr/rm/common/generic.rb +216 -0
  43. data/lib/openehr/rm/common/resource.rb +154 -0
  44. data/lib/openehr/rm/composition.rb +103 -0
  45. data/lib/openehr/rm/composition/content.rb +22 -0
  46. data/lib/openehr/rm/composition/content/entry.rb +253 -0
  47. data/lib/openehr/rm/composition/content/navigation.rb +31 -0
  48. data/lib/openehr/rm/data_structures.rb +25 -0
  49. data/lib/openehr/rm/data_structures/history.rb +117 -0
  50. data/lib/openehr/rm/data_structures/item_structure.rb +218 -0
  51. data/lib/openehr/rm/data_structures/item_structure/representation.rb +63 -0
  52. data/lib/openehr/rm/data_types.rb +14 -0
  53. data/lib/openehr/rm/data_types/basic.rb +108 -0
  54. data/lib/openehr/rm/data_types/charset.lst +818 -0
  55. data/lib/openehr/rm/data_types/charset_extract.rb +24 -0
  56. data/lib/openehr/rm/data_types/encapsulated.rb +98 -0
  57. data/lib/openehr/rm/data_types/quantity.rb +402 -0
  58. data/lib/openehr/rm/data_types/quantity/date_time.rb +256 -0
  59. data/lib/openehr/rm/data_types/text.rb +169 -0
  60. data/lib/openehr/rm/data_types/time_specification.rb +75 -0
  61. data/lib/openehr/rm/data_types/uri.rb +83 -0
  62. data/lib/openehr/rm/demographic.rb +269 -0
  63. data/lib/openehr/rm/ehr.rb +162 -0
  64. data/lib/openehr/rm/integration.rb +27 -0
  65. data/lib/openehr/rm/security.rb +12 -0
  66. data/lib/openehr/rm/support.rb +14 -0
  67. data/lib/openehr/rm/support/definition.rb +15 -0
  68. data/lib/openehr/rm/support/identification.rb +412 -0
  69. data/lib/openehr/rm/support/measurement.rb +17 -0
  70. data/lib/openehr/rm/support/terminology.rb +135 -0
  71. data/lib/openehr/serializer.rb +272 -0
  72. data/lib/openehr/terminology.rb +7 -0
  73. data/lib/openehr/terminology/open_ehr_terminology.rb +41 -0
  74. data/lib/openehr/writer.rb +12 -0
  75. data/openehr.gemspec +472 -0
  76. data/spec/lib/openehr/am/archetype/archetype_spec.rb +103 -0
  77. data/spec/lib/openehr/am/archetype/assertion/assertion_spec.rb +60 -0
  78. data/spec/lib/openehr/am/archetype/assertion/assertion_variable_spec.rb +30 -0
  79. data/spec/lib/openehr/am/archetype/assertion/expr_binary_operator.rb +40 -0
  80. data/spec/lib/openehr/am/archetype/assertion/expr_item_spec.rb +28 -0
  81. data/spec/lib/openehr/am/archetype/assertion/expr_leaf_spec.rb +34 -0
  82. data/spec/lib/openehr/am/archetype/assertion/expr_operator_spec.rb +25 -0
  83. data/spec/lib/openehr/am/archetype/assertion/expr_unary_operator_spec.rb +26 -0
  84. data/spec/lib/openehr/am/archetype/assertion/operator_kind_spec.rb +114 -0
  85. data/spec/lib/openehr/am/archetype/constraint_model/archetype_constraint_spec.rb +56 -0
  86. data/spec/lib/openehr/am/archetype/constraint_model/archetype_internal_ref_spec.rb +36 -0
  87. data/spec/lib/openehr/am/archetype/constraint_model/archetype_slot_spec.rb +61 -0
  88. data/spec/lib/openehr/am/archetype/constraint_model/c_attribute_spec.rb +59 -0
  89. data/spec/lib/openehr/am/archetype/constraint_model/c_complex_object_spec.rb +39 -0
  90. data/spec/lib/openehr/am/archetype/constraint_model/c_defined_object_spec.rb +53 -0
  91. data/spec/lib/openehr/am/archetype/constraint_model/c_domain_type_spec.rb +25 -0
  92. data/spec/lib/openehr/am/archetype/constraint_model/c_multiple_attribute_spec.rb +23 -0
  93. data/spec/lib/openehr/am/archetype/constraint_model/c_object_spec.rb +61 -0
  94. data/spec/lib/openehr/am/archetype/constraint_model/c_primitive_object_spec.rb +33 -0
  95. data/spec/lib/openehr/am/archetype/constraint_model/c_reference_object_spec.rb +17 -0
  96. data/spec/lib/openehr/am/archetype/constraint_model/c_single_attribute_spec.rb +22 -0
  97. data/spec/lib/openehr/am/archetype/constraint_model/cardinality_spec.rb +68 -0
  98. data/spec/lib/openehr/am/archetype/constraint_model/constraint_ref_spec.rb +29 -0
  99. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_boolean_spec.rb +57 -0
  100. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_date_spec.rb +52 -0
  101. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_date_time_spec.rb +136 -0
  102. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_duration_spec.rb +41 -0
  103. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_integer_spec.rb +67 -0
  104. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_primitive_spec.rb +41 -0
  105. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_real_spec.rb +19 -0
  106. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_string_spec.rb +73 -0
  107. data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_time_spec.rb +104 -0
  108. data/spec/lib/openehr/am/archetype/ontology/archetype_ontology_spec.rb +97 -0
  109. data/spec/lib/openehr/am/archetype/ontology/archetype_term_spec.rb +43 -0
  110. data/spec/lib/openehr/am/archetype/validity_kind_spec.rb +42 -0
  111. data/spec/lib/openehr/am/openehr_profile/data_types/basic/c_dv_state_spec.rb +34 -0
  112. data/spec/lib/openehr/am/openehr_profile/data_types/basic/non_terminal_state_spec.rb +36 -0
  113. data/spec/lib/openehr/am/openehr_profile/data_types/basic/state_machine_spec.rb +34 -0
  114. data/spec/lib/openehr/am/openehr_profile/data_types/basic/state_spec.rb +26 -0
  115. data/spec/lib/openehr/am/openehr_profile/data_types/basic/terminal_state_spec.rb +18 -0
  116. data/spec/lib/openehr/am/openehr_profile/data_types/basic/transition_spec.rb +62 -0
  117. data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_dv_ordinal_spec.rb +41 -0
  118. data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_dv_quantity_spec.rb +50 -0
  119. data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_quantity_item_spec.rb +46 -0
  120. data/spec/lib/openehr/am/openehr_profile/data_types/text/c_code_phrase_spec.rb +34 -0
  121. data/spec/lib/openehr/assumed_library_types/interval_spec.rb +145 -0
  122. data/spec/lib/openehr/assumed_library_types/iso8601_date_spec.rb +236 -0
  123. data/spec/lib/openehr/assumed_library_types/iso8601_date_time_spec.rb +47 -0
  124. data/spec/lib/openehr/assumed_library_types/iso8601_duration_spec.rb +150 -0
  125. data/spec/lib/openehr/assumed_library_types/iso8601_time_spec.rb +234 -0
  126. data/spec/lib/openehr/assumed_library_types/iso8601_timezone_spec.rb +57 -0
  127. data/spec/lib/openehr/assumed_library_types/time_definitions_spec.rb +136 -0
  128. data/spec/lib/openehr/assumed_library_types/timezone_spec.rb +42 -0
  129. data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.assumed_types.v1.adl +88 -0
  130. data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.basic_types.v1.adl +143 -0
  131. data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.basic_types_fail.v1.adl +50 -0
  132. data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.most_minimal.v1.adl +27 -0
  133. data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.structure_test1.v1.adl +46 -0
  134. data/spec/lib/openehr/parser/adl14/adl-test-SOME_TYPE.generic_type_basic.draft.adl +56 -0
  135. data/spec/lib/openehr/parser/adl14/adl-test-SOME_TYPE.generic_type_use_node.draft.adl +63 -0
  136. data/spec/lib/openehr/parser/adl14/adl-test-car.paths.test.adl +80 -0
  137. data/spec/lib/openehr/parser/adl14/adl-test-car.use_node.test.adl +87 -0
  138. data/spec/lib/openehr/parser/adl14/adl-test-composition.dv_coded_text.test.adl +29 -0
  139. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_bindings.test.adl +47 -0
  140. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_desc_missing_purpose.test.adl +45 -0
  141. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_description.test.adl +61 -0
  142. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_description2.test.adl +45 -0
  143. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_identification.test.adl +26 -0
  144. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_internal_ref.test.adl +36 -0
  145. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_internal_ref2.test.adl +36 -0
  146. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language.test.adl +47 -0
  147. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language_no_accreditation.test.adl +38 -0
  148. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language_order_of_translation_details.test.adl +40 -0
  149. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_ontology.test.adl +25 -0
  150. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_slot.test.adl +40 -0
  151. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_slot.test2.adl +37 -0
  152. data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_uncommonkeys.test.adl +29 -0
  153. data/spec/lib/openehr/parser/adl14/adl-test-entry.basic_types.test.adl +272 -0
  154. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_code_phrase.test.adl +77 -0
  155. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_ordinal.test.adl +66 -0
  156. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_empty.test.adl +46 -0
  157. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full.test.adl +64 -0
  158. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full2.test.adl +64 -0
  159. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full3.test.adl +64 -0
  160. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_item_units_only.test.adl +55 -0
  161. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_list.test.adl +58 -0
  162. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_property.test.adl +47 -0
  163. data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_reversed.test.adl +59 -0
  164. data/spec/lib/openehr/parser/adl14/adl-test-entry.constraint_binding.test.adl +37 -0
  165. data/spec/lib/openehr/parser/adl14/adl-test-entry.constraint_ref.test.adl +43 -0
  166. data/spec/lib/openehr/parser/adl14/adl-test-entry.datetime.test.adl +183 -0
  167. data/spec/lib/openehr/parser/adl14/adl-test-entry.domain_types.test.adl +97 -0
  168. data/spec/lib/openehr/parser/adl14/adl-test-entry.durations.test.adl +109 -0
  169. data/spec/lib/openehr/parser/adl14/adl-test-entry.empty_other_contributors.test.adl +42 -0
  170. data/spec/lib/openehr/parser/adl14/adl-test-entry.missing_language.test.adl +23 -0
  171. data/spec/lib/openehr/parser/adl14/adl-test-entry.mixed_node_types.draft.adl +61 -0
  172. data/spec/lib/openehr/parser/adl14/adl-test-entry.most_minimal.test.adl +23 -0
  173. data/spec/lib/openehr/parser/adl14/adl-test-entry.multi_language.test.adl +52 -0
  174. data/spec/lib/openehr/parser/adl14/adl-test-entry.special_string.test.adl +88 -0
  175. data/spec/lib/openehr/parser/adl14/adl-test-entry.structure_test1.test.adl +45 -0
  176. data/spec/lib/openehr/parser/adl14/adl-test-entry.structure_test2.test.adl +45 -0
  177. data/spec/lib/openehr/parser/adl14/adl-test-entry.term_binding.test.adl +37 -0
  178. data/spec/lib/openehr/parser/adl14/adl-test-entry.term_binding2.test.adl +32 -0
  179. data/spec/lib/openehr/parser/adl14/adl-test-entry.testtranslations.test.adl +83 -0
  180. data/spec/lib/openehr/parser/adl14/adl-test-entry.translations_author_language.test.adl +34 -0
  181. data/spec/lib/openehr/parser/adl14/adl-test-entry.translations_language_author.test.adl +34 -0
  182. data/spec/lib/openehr/parser/adl14/adl-test-entry.unicode_BOM_support.test.adl +41 -0
  183. data/spec/lib/openehr/parser/adl14/adl-test-entry.unicode_support.test.adl +41 -0
  184. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ACTION.imaging.v1.adl +275 -0
  185. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ACTION.referral.v1.adl +351 -0
  186. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl +765 -0
  187. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.auscultation.v1.adl +48 -0
  188. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl +134 -0
  189. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.dimensions.v1.adl +241 -0
  190. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl +321 -0
  191. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-chest.v1.adl +379 -0
  192. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-fetus.v1.adl +577 -0
  193. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl +146 -0
  194. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl +176 -0
  195. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl +221 -0
  196. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic.v1.adl +139 -0
  197. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl +116 -0
  198. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl +420 -0
  199. data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-uterus.v1.adl +293 -0
  200. data/spec/lib/openehr/parser/adl14/openEHR-EHR-COMPOSITION.discharge.v1draft.adl +53 -0
  201. data/spec/lib/openehr/parser/adl14/openEHR-EHR-COMPOSITION.encounter.v1draft.adl +45 -0
  202. data/spec/lib/openehr/parser/adl14/openEHR-EHR-EVALUATION.adverse.v1.adl +411 -0
  203. data/spec/lib/openehr/parser/adl14/openEHR-EHR-EVALUATION.columna_vertebral.v1.adl +85 -0
  204. data/spec/lib/openehr/parser/adl14/openEHR-EHR-INSTRUCTION.medication.v1.adl +88 -0
  205. data/spec/lib/openehr/parser/adl14/openEHR-EHR-INSTRUCTION.referral.v1.adl +84 -0
  206. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl +492 -0
  207. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl +94 -0
  208. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.imaging.v1.adl +127 -0
  209. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl +457 -0
  210. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.medication.v1.adl +869 -0
  211. data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.referral.v1.adl +494 -0
  212. data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.apgar.v1.adl +545 -0
  213. data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl +673 -0
  214. data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl +166 -0
  215. data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.lab_test.v1.adl +376 -0
  216. data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.testassumedvalue.v1.adl +99 -0
  217. data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.findings.v1.adl +47 -0
  218. data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.reason_for_encounter.v1.adl +51 -0
  219. data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.summary.v1.adl +52 -0
  220. data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.vital_signs.v1.adl +54 -0
  221. data/spec/lib/openehr/parser/adl_archetype_internal_ref2_spec.rb +42 -0
  222. data/spec/lib/openehr/parser/adl_archetype_internal_ref_spec.rb +125 -0
  223. data/spec/lib/openehr/parser/adl_archetype_internal_ref_with_generics_spec.rb +258 -0
  224. data/spec/lib/openehr/parser/adl_archetype_ontology_binding_spec.rb +98 -0
  225. data/spec/lib/openehr/parser/adl_archetype_ontology_spec.rb +42 -0
  226. data/spec/lib/openehr/parser/adl_archetype_slot_cluster_spec.rb +101 -0
  227. data/spec/lib/openehr/parser/adl_archetype_slot_spec.rb +193 -0
  228. data/spec/lib/openehr/parser/adl_archetype_uncommon_term_keys_spec.rb +25 -0
  229. data/spec/lib/openehr/parser/adl_description_spec.rb +164 -0
  230. data/spec/lib/openehr/parser/adl_identification_spec.rb +18 -0
  231. data/spec/lib/openehr/parser/adl_language_no_accreditation_spec.rb +66 -0
  232. data/spec/lib/openehr/parser/adl_language_order_spec.rb +68 -0
  233. data/spec/lib/openehr/parser/adl_language_spec.rb +119 -0
  234. data/spec/lib/openehr/parser/adl_language_translation_author_language_spec.rb +50 -0
  235. data/spec/lib/openehr/parser/adl_language_translation_language_author_spec.rb +46 -0
  236. data/spec/lib/openehr/parser/adl_parser_spec.rb +347 -0
  237. data/spec/lib/openehr/parser/adl_path_spec.rb +176 -0
  238. data/spec/lib/openehr/parser/base_spec.rb +19 -0
  239. data/spec/lib/openehr/parser/basic_generic_type_spec.rb +18 -0
  240. data/spec/lib/openehr/parser/basic_type_spec.rb +2922 -0
  241. data/spec/lib/openehr/parser/c_dv_quantity_any_allowed_spec.rb +34 -0
  242. data/spec/lib/openehr/parser/c_dv_quantity_shared_example_for_lacked_items_spec.rb +36 -0
  243. data/spec/lib/openehr/parser/c_dv_quantity_shared_example_spec.rb +146 -0
  244. data/spec/lib/openehr/parser/cdv_ordinal_parse_spec.rb +231 -0
  245. data/spec/lib/openehr/parser/code_phrase_spec.rb +96 -0
  246. data/spec/lib/openehr/parser/constraint_binding_spec.rb +26 -0
  247. data/spec/lib/openehr/parser/constraint_ref_spec.rb +32 -0
  248. data/spec/lib/openehr/parser/date_time_spec.rb +1953 -0
  249. data/spec/lib/openehr/parser/duration_spec.rb +475 -0
  250. data/spec/lib/openehr/parser/dv_coded_text_parse_spec.rb +27 -0
  251. data/spec/lib/openehr/parser/empty_other_contributors_spec.rb +19 -0
  252. data/spec/lib/openehr/parser/lab_test_parser_spec.rb +14 -0
  253. data/spec/lib/openehr/parser/missing_language_spec.rb +20 -0
  254. data/spec/lib/openehr/parser/missing_purpose_spec.rb +23 -0
  255. data/spec/lib/openehr/parser/mixed_node_types_spec.rb +16 -0
  256. data/spec/lib/openehr/parser/most_minimal_adl_spec.rb +19 -0
  257. data/spec/lib/openehr/parser/multi_language_spec.rb +58 -0
  258. data/spec/lib/openehr/parser/parser_spec_helper.rb +7 -0
  259. data/spec/lib/openehr/parser/path_based_terminology_binding_spec.rb +30 -0
  260. data/spec/lib/openehr/parser/special_string_spec.rb +20 -0
  261. data/spec/lib/openehr/parser/structure_comment_spec.rb +21 -0
  262. data/spec/lib/openehr/parser/structure_nested_comments_spec.rb +22 -0
  263. data/spec/lib/openehr/parser/structure_spec.rb +202 -0
  264. data/spec/lib/openehr/parser/term_binding_spec.rb +54 -0
  265. data/spec/lib/openehr/parser/unicode_bom_spec.rb +17 -0
  266. data/spec/lib/openehr/parser/unicode_support_spec.rb +46 -0
  267. data/spec/lib/openehr/rm/common/archetyped/archetyped_spec.rb +50 -0
  268. data/spec/lib/openehr/rm/common/archetyped/feeder_audit_details_spec.rb +60 -0
  269. data/spec/lib/openehr/rm/common/archetyped/feeder_audit_spec.rb +51 -0
  270. data/spec/lib/openehr/rm/common/archetyped/link_spec.rb +42 -0
  271. data/spec/lib/openehr/rm/common/archetyped/locatable_spec.rb +89 -0
  272. data/spec/lib/openehr/rm/common/archetyped/pathable_spec.rb +42 -0
  273. data/spec/lib/openehr/rm/common/change_control/contribution_spec.rb +56 -0
  274. data/spec/lib/openehr/rm/common/change_control/imported_version_spec.rb +62 -0
  275. data/spec/lib/openehr/rm/common/change_control/original_version_spec.rb +71 -0
  276. data/spec/lib/openehr/rm/common/change_control/version_spec.rb +91 -0
  277. data/spec/lib/openehr/rm/common/change_control/versioned_object_spec.rb +284 -0
  278. data/spec/lib/openehr/rm/common/directory/folder_spec.rb +26 -0
  279. data/spec/lib/openehr/rm/common/generic/attestation_spec.rb +62 -0
  280. data/spec/lib/openehr/rm/common/generic/audit_details_spec.rb +51 -0
  281. data/spec/lib/openehr/rm/common/generic/participation_spec.rb +36 -0
  282. data/spec/lib/openehr/rm/common/generic/party_identified_spec.rb +64 -0
  283. data/spec/lib/openehr/rm/common/generic/party_proxy_spec.rb +18 -0
  284. data/spec/lib/openehr/rm/common/generic/party_related_spec.rb +24 -0
  285. data/spec/lib/openehr/rm/common/generic/revision_history_item_spec.rb +43 -0
  286. data/spec/lib/openehr/rm/common/generic/revision_history_spec.rb +45 -0
  287. data/spec/lib/openehr/rm/common/resource/authored_resource_spec.rb +68 -0
  288. data/spec/lib/openehr/rm/common/resource/resource_description_item_spec.rb +105 -0
  289. data/spec/lib/openehr/rm/common/resource/resource_description_spec.rb +74 -0
  290. data/spec/lib/openehr/rm/common/resource/translation_details_spec.rb +35 -0
  291. data/spec/lib/openehr/rm/composition/composition_spec.rb +92 -0
  292. data/spec/lib/openehr/rm/composition/content/content_item_spec.rb +14 -0
  293. data/spec/lib/openehr/rm/composition/content/entry/action_spec.rb +69 -0
  294. data/spec/lib/openehr/rm/composition/content/entry/activity_spec.rb +61 -0
  295. data/spec/lib/openehr/rm/composition/content/entry/admin_entry_spec.rb +38 -0
  296. data/spec/lib/openehr/rm/composition/content/entry/care_entry_spec.rb +37 -0
  297. data/spec/lib/openehr/rm/composition/content/entry/entry_spec.rb +98 -0
  298. data/spec/lib/openehr/rm/composition/content/entry/evaluation_spec.rb +37 -0
  299. data/spec/lib/openehr/rm/composition/content/entry/instruction_details_spec.rb +51 -0
  300. data/spec/lib/openehr/rm/composition/content/entry/instruction_spec.rb +62 -0
  301. data/spec/lib/openehr/rm/composition/content/entry/ism_transition_spec.rb +46 -0
  302. data/spec/lib/openehr/rm/composition/content/entry/observation_spec.rb +45 -0
  303. data/spec/lib/openehr/rm/composition/content/navigation/section_spec.rb +32 -0
  304. data/spec/lib/openehr/rm/composition/event_context_spec.rb +88 -0
  305. data/spec/lib/openehr/rm/data_structures/data_structure_spec.rb +21 -0
  306. data/spec/lib/openehr/rm/data_structures/history/event_spec.rb +44 -0
  307. data/spec/lib/openehr/rm/data_structures/history/history_spec.rb +67 -0
  308. data/spec/lib/openehr/rm/data_structures/history/interval_event_spec.rb +43 -0
  309. data/spec/lib/openehr/rm/data_structures/item_structure/item_list_spec.rb +53 -0
  310. data/spec/lib/openehr/rm/data_structures/item_structure/item_single_spec.rb +29 -0
  311. data/spec/lib/openehr/rm/data_structures/item_structure/item_table_spec.rb +147 -0
  312. data/spec/lib/openehr/rm/data_structures/item_structure/item_tree_spec.rb +48 -0
  313. data/spec/lib/openehr/rm/data_structures/item_structure/representation/cluster_spec.rb +26 -0
  314. data/spec/lib/openehr/rm/data_structures/item_structure/representation/element_spec.rb +22 -0
  315. data/spec/lib/openehr/rm/data_types/basic/data_value_spec.rb +17 -0
  316. data/spec/lib/openehr/rm/data_types/basic/dv_boolean_spec.rb +29 -0
  317. data/spec/lib/openehr/rm/data_types/basic/dv_identifier_spec.rb +108 -0
  318. data/spec/lib/openehr/rm/data_types/basic/dv_state_spec.rb +44 -0
  319. data/spec/lib/openehr/rm/data_types/encapsulated/dv_encapsulated_spec.rb +42 -0
  320. data/spec/lib/openehr/rm/data_types/encapsulated/dv_multimedia_spec.rb +79 -0
  321. data/spec/lib/openehr/rm/data_types/encapsulated/dv_parsable_spec.rb +34 -0
  322. data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_date_spec.rb +64 -0
  323. data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_date_time_spec.rb +26 -0
  324. data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_duration_spec.rb +44 -0
  325. data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_temporal_spec.rb +25 -0
  326. data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_time_spec.rb +41 -0
  327. data/spec/lib/openehr/rm/data_types/quantity/dv_absolute_quantity_spec.rb +35 -0
  328. data/spec/lib/openehr/rm/data_types/quantity/dv_amount_spec.rb +105 -0
  329. data/spec/lib/openehr/rm/data_types/quantity/dv_count_spec.rb +12 -0
  330. data/spec/lib/openehr/rm/data_types/quantity/dv_interval_spec.rb +17 -0
  331. data/spec/lib/openehr/rm/data_types/quantity/dv_ordered_spec.rb +60 -0
  332. data/spec/lib/openehr/rm/data_types/quantity/dv_ordinal_spec.rb +74 -0
  333. data/spec/lib/openehr/rm/data_types/quantity/dv_proportion_spec.rb +162 -0
  334. data/spec/lib/openehr/rm/data_types/quantity/dv_quantified_spec.rb +36 -0
  335. data/spec/lib/openehr/rm/data_types/quantity/dv_quantity_spec.rb +78 -0
  336. data/spec/lib/openehr/rm/data_types/quantity/proportion_kind_spec.rb +24 -0
  337. data/spec/lib/openehr/rm/data_types/quantity/reference_range_spec.rb +43 -0
  338. data/spec/lib/openehr/rm/data_types/text/code_phrase_spec.rb +23 -0
  339. data/spec/lib/openehr/rm/data_types/text/dv_paragraph_spec.rb +13 -0
  340. data/spec/lib/openehr/rm/data_types/text/dv_text_spec.rb +79 -0
  341. data/spec/lib/openehr/rm/data_types/text/term_mapping_spec.rb +59 -0
  342. data/spec/lib/openehr/rm/data_types/uri/dv_ehr_uri_spec.rb +21 -0
  343. data/spec/lib/openehr/rm/data_types/uri/dv_uri_spec.rb +36 -0
  344. data/spec/lib/openehr/rm/demographic/actor_spec.rb +79 -0
  345. data/spec/lib/openehr/rm/demographic/address_spec.rb +33 -0
  346. data/spec/lib/openehr/rm/demographic/capability_spec.rb +37 -0
  347. data/spec/lib/openehr/rm/demographic/contact_spec.rb +45 -0
  348. data/spec/lib/openehr/rm/demographic/party_identity_spec.rb +32 -0
  349. data/spec/lib/openehr/rm/demographic/party_relationship_spec.rb +84 -0
  350. data/spec/lib/openehr/rm/demographic/party_spec.rb +131 -0
  351. data/spec/lib/openehr/rm/demographic/role_spec.rb +58 -0
  352. data/spec/lib/openehr/rm/ehr/ehr_access_spec.rb +33 -0
  353. data/spec/lib/openehr/rm/ehr/ehr_spec.rb +139 -0
  354. data/spec/lib/openehr/rm/ehr/ehr_status_spec.rb +52 -0
  355. data/spec/lib/openehr/rm/ehr/versioned_composition_spec.rb +33 -0
  356. data/spec/lib/openehr/rm/integration/generic_entry_spec.rb +31 -0
  357. data/spec/lib/openehr/rm/support/identification/access_group_ref_spec.rb +19 -0
  358. data/spec/lib/openehr/rm/support/identification/archetype_id_spec.rb +152 -0
  359. data/spec/lib/openehr/rm/support/identification/generic_id_spec.rb +33 -0
  360. data/spec/lib/openehr/rm/support/identification/hier_object_id_spec.rb +12 -0
  361. data/spec/lib/openehr/rm/support/identification/internet_id_spec.rb +12 -0
  362. data/spec/lib/openehr/rm/support/identification/iso_oid_spec.rb +12 -0
  363. data/spec/lib/openehr/rm/support/identification/locatable_ref_spec.rb +34 -0
  364. data/spec/lib/openehr/rm/support/identification/object_id_spec.rb +24 -0
  365. data/spec/lib/openehr/rm/support/identification/object_ref_spec.rb +33 -0
  366. data/spec/lib/openehr/rm/support/identification/object_version_id_spec.rb +59 -0
  367. data/spec/lib/openehr/rm/support/identification/party_ref_spec.rb +29 -0
  368. data/spec/lib/openehr/rm/support/identification/template_id_spec.rb +12 -0
  369. data/spec/lib/openehr/rm/support/identification/terminology_id_spec.rb +33 -0
  370. data/spec/lib/openehr/rm/support/identification/uid_based_id_spec.rb +50 -0
  371. data/spec/lib/openehr/rm/support/identification/uid_spec.rb +29 -0
  372. data/spec/lib/openehr/rm/support/identification/version_tree_id_spec.rb +104 -0
  373. data/spec/lib/openehr/rm/support/measurement_service_spec.rb +7 -0
  374. data/spec/lib/openehr/rm/support/terminology_service_spec.rb +24 -0
  375. data/spec/lib/openehr/serializer/adl-test-entry.most_minimal.test.adl +20 -0
  376. data/spec/lib/openehr/serializer/adl_serializer_spec.rb +47 -0
  377. data/spec/lib/openehr/serializer/openEHR-EHR-SECTION.test.v1.adl +38 -0
  378. data/spec/lib/openehr/serializer/openEHR-EHR-SECTION.test.v1.xml +58 -0
  379. data/spec/lib/openehr/serializer/sample_archetype_spec.rb +44 -0
  380. data/spec/lib/openehr/serializer/xml_serializer_spec.rb +49 -0
  381. data/spec/lib/openehr/terminology/open_ehr_terminology_spec.rb +40 -0
  382. data/spec/spec.opts +6 -0
  383. data/spec/spec_helper.rb +58 -0
  384. metadata +631 -0
@@ -0,0 +1,94 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-ITEM_TREE.follow_up.v1draft
3
+
4
+ concept
5
+ [at0000] -- Follow up details
6
+ language
7
+ original_language = <[ISO_639-1::en]>
8
+ description
9
+ original_author = <
10
+ ["name"] = <"unknown">
11
+ >
12
+ details = <
13
+ ["en"] = <
14
+ language = <[ISO_639-1::en]>
15
+ purpose = <"">
16
+ use = <"">
17
+ misuse = <"">
18
+ >
19
+ >
20
+ lifecycle_state = <"0">
21
+ other_contributors = <>
22
+
23
+ definition
24
+ ITEM_TREE[at0000] occurrences matches {0..*} matches { -- Follow up details
25
+ items cardinality matches {1..*; unordered} matches {
26
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Service
27
+ value matches {
28
+ DV_CODED_TEXT matches {
29
+ defining_code matches {[ac0001]} -- A named service
30
+ }
31
+ }
32
+ }
33
+ ELEMENT[at0004] occurrences matches {0..1} matches { -- Details
34
+ value matches {
35
+ DV_TEXT matches {*}
36
+ }
37
+ }
38
+ ELEMENT[at0003] occurrences matches {0..1} matches { -- Appointment date and time
39
+ value matches {
40
+ DV_DATE_TIME matches {
41
+ value matches {yyyy-mm-ddTHH:MM:SS}
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ ontology
49
+ terminologies_available = <"SNOMED-CT", ...>
50
+ term_definitions = <
51
+ ["en"] = <
52
+ items = <
53
+ ["at0000"] = <
54
+ description = <"Information about follow up">
55
+ text = <"Follow up details">
56
+ >
57
+ ["at0002"] = <
58
+ description = <"The name of a service">
59
+ text = <"Service">
60
+ >
61
+ ["at0003"] = <
62
+ description = <"The current active appointment date and time">
63
+ text = <"Appointment date and time">
64
+ >
65
+ ["at0004"] = <
66
+ description = <"Details of the service">
67
+ text = <"Details">
68
+ >
69
+ >
70
+ >
71
+ >
72
+ constraint_definitions = <
73
+ ["en"] = <
74
+ items = <
75
+ ["ac0001"] = <
76
+ description = <"A service or professional group who will provide the follow-up">
77
+ text = <"A named service">
78
+ >
79
+ >
80
+ >
81
+ >
82
+ term_binding = <
83
+ ["SNOMED-CT"] = <
84
+ items = <
85
+ >
86
+ >
87
+ >
88
+ constraint_binding = <
89
+ ["SNOMED-CT"] = <
90
+ items = <
91
+ ["ac0001"] = <http://openEHR.org/Services>
92
+ >
93
+ >
94
+ >
@@ -0,0 +1,127 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-ITEM_TREE.imaging.v1
3
+
4
+ concept
5
+ [at0000] -- Imaging data
6
+ language
7
+ original_language = <[ISO_639-1::en]>
8
+ description
9
+ original_author = <
10
+ ["name"] = <"Sam Heard">
11
+ ["organisation"] = <"Ocean Informatics">
12
+ ["date"] = <"9/01/2007">
13
+ ["email"] = <"sam.heard@oceaninformatics.biz">
14
+ >
15
+ details = <
16
+ ["en"] = <
17
+ language = <[ISO_639-1::en]>
18
+ purpose = <"Data for the description of the action or instruction related to imaging">
19
+ use = <"">
20
+ keywords = <"Xray", "scan", "MRI", "CT", "nuclear", "ultrasound">
21
+ misuse = <"">
22
+ >
23
+ >
24
+ lifecycle_state = <"AuthorDraft">
25
+ other_contributors = <>
26
+
27
+ definition
28
+ ITEM_TREE[at0001] occurrences matches {0..*} matches { -- Tree
29
+ items cardinality matches {0..*; ordered} matches {
30
+ CLUSTER[at0002] occurrences matches {0..1} matches { -- Clinical information
31
+ items cardinality matches {1; unordered} matches {
32
+ ELEMENT[at0003] matches { -- Findings
33
+ value matches {
34
+ DV_TEXT matches {*}
35
+ }
36
+ }
37
+ }
38
+ }
39
+ CLUSTER[at0004] occurrences matches {1..*} matches { -- Imaging
40
+ items cardinality matches {1..*; unordered} matches {
41
+ ELEMENT[at0005] matches { -- Imaging procedure
42
+ value matches {
43
+ DV_TEXT matches {*}
44
+ }
45
+ }
46
+ ELEMENT[at0007] occurrences matches {0..1} matches { -- Anatomical site
47
+ value matches {
48
+ DV_TEXT matches {*}
49
+ }
50
+ }
51
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Views
52
+ value matches {
53
+ DV_TEXT matches {*}
54
+ }
55
+ }
56
+ }
57
+ }
58
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Process
59
+ items cardinality matches {0..*; unordered} matches {
60
+ ELEMENT[at0009] occurrences matches {0..1} matches { -- Date of imaging
61
+ value matches {
62
+ DV_DATE_TIME matches {
63
+ value matches {yyyy-??-??T??:??:??}
64
+ }
65
+ }
66
+ }
67
+ ELEMENT[at0010] occurrences matches {0..1} matches { -- Location
68
+ value matches {
69
+ DV_TEXT matches {*}
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+
77
+ ontology
78
+ term_definitions = <
79
+ ["en"] = <
80
+ items = <
81
+ ["at0000"] = <
82
+ description = <"Data recorded about an imaging action or instruction">
83
+ text = <"Imaging data">
84
+ >
85
+ ["at0001"] = <
86
+ description = <"@ internal @">
87
+ text = <"Tree">
88
+ >
89
+ ["at0002"] = <
90
+ description = <"Clinical information relevant to the imaging investigation">
91
+ text = <"Clinical information">
92
+ >
93
+ ["at0003"] = <
94
+ description = <"Clinical findings relevant to the imaging investigation">
95
+ text = <"Findings">
96
+ >
97
+ ["at0004"] = <
98
+ description = <"Information about the imaging">
99
+ text = <"Imaging">
100
+ >
101
+ ["at0005"] = <
102
+ description = <"The type of imaging">
103
+ text = <"Imaging procedure">
104
+ >
105
+ ["at0006"] = <
106
+ description = <"The imaging views">
107
+ text = <"Views">
108
+ >
109
+ ["at0007"] = <
110
+ description = <"The anatomical site (or object) for imaging">
111
+ text = <"Anatomical site">
112
+ >
113
+ ["at0008"] = <
114
+ description = <"The process of the imaging investigation">
115
+ text = <"Process">
116
+ >
117
+ ["at0009"] = <
118
+ description = <"The date the imaging is to be or was carried out.">
119
+ text = <"Date of imaging">
120
+ >
121
+ ["at0010"] = <
122
+ description = <"The location where the imaging is to be or was carried out">
123
+ text = <"Location">
124
+ >
125
+ >
126
+ >
127
+ >
@@ -0,0 +1,457 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-ITEM_TREE.medication-formulation.v1
3
+ specialize
4
+ openEHR-EHR-ITEM_TREE.medication.v1
5
+
6
+ concept
7
+ [at0000.1] -- Medication description involving a formulation
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"Sam Heard">
13
+ ["organisation"] = <"Ocean Informatics">
14
+ ["date"] = <"12/03/2006">
15
+ ["email"] = <"sam.heard@oceaninformatics.biz">
16
+ >
17
+ details = <
18
+ ["en"] = <
19
+ language = <[ISO_639-1::en]>
20
+ purpose = <"Specifies the description of a formulation with more than one ingredient as part of an INSTRUCTION or ACTION recording. This will usually be in response to a medication order or prescription, but may be self administered or supplied by a pharmacy.">
21
+ use = <"For use with INSTRUCTION.medication and ACTION.medication to describe the formulation">
22
+ keywords = <"medication", "description", "formulation">
23
+ misuse = <"">
24
+ >
25
+ >
26
+ lifecycle_state = <"AuthorDraft">
27
+ other_contributors = <>
28
+
29
+ definition
30
+ ITEM_TREE[at0000.1] occurrences matches {0..*} matches { -- Medication description involving a formulation
31
+ items cardinality matches {0..*; ordered} matches {
32
+ ELEMENT[at0001.1] matches { -- Name of formulation
33
+ value matches {
34
+ DV_TEXT matches {*}
35
+ }
36
+ }
37
+ CLUSTER[at0.32] occurrences matches {0..1} matches { -- Ingredients
38
+ items cardinality matches {0..*; unordered} matches {
39
+ CLUSTER[at0.33] occurrences matches {1..*} matches { -- Ingredient
40
+ items cardinality matches {0..*; unordered} matches {
41
+ ELEMENT[at0.34] occurrences matches {0..1} matches { -- Name of ingredient
42
+ value matches {
43
+ DV_CODED_TEXT matches {
44
+ defining_code matches {[local::]}
45
+ }
46
+ }
47
+ }
48
+ ELEMENT[at0.35] occurrences matches {0..1} matches { -- Quantity
49
+ value matches {
50
+ C_DV_QUANTITY <
51
+ >
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Administration instructions
59
+ value matches {
60
+ DV_TEXT matches {*}
61
+ }
62
+ }
63
+ ELEMENT[at0003] occurrences matches {0..1} matches { -- Strength per dose unit
64
+ value matches {
65
+ C_DV_QUANTITY <
66
+ >
67
+ }
68
+ }
69
+ ELEMENT[at0004] occurrences matches {0..1} matches { -- Form
70
+ value matches {
71
+ DV_CODED_TEXT matches {
72
+ defining_code matches {[ac0000]} -- Any term that 'is_a' form of medication
73
+ }
74
+ }
75
+ }
76
+ ELEMENT[at0005] occurrences matches {0..1} matches { -- Dose
77
+ value matches {
78
+ DV_COUNT matches {
79
+ magnitude matches {|>=1|}
80
+ }
81
+ DV_INTERVAL<DV_COUNT> matches {
82
+ upper matches {
83
+ DV_COUNT matches {*}
84
+ }
85
+ lower matches {
86
+ DV_COUNT matches {
87
+ magnitude matches {|>=1|}
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ ELEMENT[at0006] occurrences matches {0..1} matches { -- Dose unit
94
+ value matches {
95
+ DV_CODED_TEXT matches {
96
+ defining_code matches {[ac0001]} -- any term that 'is a' Dose unit for this form
97
+ }
98
+ }
99
+ }
100
+ ELEMENT[at0007] occurrences matches {0..1} matches { -- Dose duration
101
+ value matches {
102
+ C_DV_QUANTITY <
103
+ >
104
+ }
105
+ }
106
+ ELEMENT[at0008] occurrences matches {0..1} matches { -- Route
107
+ value matches {
108
+ DV_CODED_TEXT matches {
109
+ defining_code matches {[ac0002]} -- Any term that 'is_a' route of administration
110
+ }
111
+ }
112
+ }
113
+ ELEMENT[at0009] occurrences matches {0..1} matches { -- Is long term
114
+ value matches {
115
+ DV_BOOLEAN matches {
116
+ value matches {True, False}
117
+ }
118
+ }
119
+ }
120
+ CLUSTER[at0010] occurrences matches {0..1} matches { -- Indications
121
+ items cardinality matches {0..*; unordered} matches {
122
+ ELEMENT[at0011] occurrences matches {0..*} matches { -- Indication
123
+ value matches {
124
+ DV_TEXT matches {*}
125
+ DV_URI matches {*}
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ELEMENT[at0012] occurrences matches {0..1} matches { -- Generic name
131
+ name matches {
132
+ DV_CODED_TEXT matches {
133
+ defining_code matches {[ac0003]} -- =Generic name OR Brand name
134
+ }
135
+ }
136
+ value matches {
137
+ DV_TEXT matches {*}
138
+ }
139
+ }
140
+ CLUSTER[at0013] occurrences matches {0..1} matches { -- Safety limits
141
+ items cardinality matches {1..4; ordered} matches {
142
+ ELEMENT[at0014] occurrences matches {0..1} matches { -- Maximum dose unit frequency
143
+ value matches {
144
+ C_DV_QUANTITY <
145
+ >
146
+ }
147
+ }
148
+ ELEMENT[at0015] occurrences matches {0..1} matches { -- Dosage per kg body weight
149
+ value matches {
150
+ DV_INTERVAL<DV_QUANTITY> matches {
151
+ upper matches {
152
+ C_DV_QUANTITY <
153
+ property = <[openehr::0]>
154
+ >
155
+ }
156
+ lower matches {
157
+ C_DV_QUANTITY <
158
+ property = <[openehr::0]>
159
+ >
160
+ }
161
+ }
162
+ }
163
+ }
164
+ ELEMENT[at0016] occurrences matches {0..1} matches { -- Minimum dose interval
165
+ value matches {
166
+ C_DV_QUANTITY <
167
+ >
168
+ }
169
+ }
170
+ ELEMENT[at0017] occurrences matches {0..1} matches { -- Maximum dose interval
171
+ value matches {
172
+ C_DV_QUANTITY <
173
+ >
174
+ }
175
+ }
176
+ }
177
+ }
178
+ CLUSTER[at0018] occurrences matches {0..1} matches { -- Administration information
179
+ items cardinality matches {0..*; unordered} matches {
180
+ ELEMENT[at0019] occurrences matches {0..1} matches { -- Date (time) of first administration
181
+ value matches {
182
+ DV_DATE_TIME matches {
183
+ value matches {yyyy-??-??T??:??:??}
184
+ }
185
+ }
186
+ }
187
+ ELEMENT[at0020] occurrences matches {0..1} matches { -- Batch number
188
+ value matches {
189
+ DV_TEXT matches {*}
190
+ }
191
+ }
192
+ ELEMENT[at0021] occurrences matches {0..1} matches { -- Site of administration
193
+ value matches {
194
+ DV_CODED_TEXT matches {
195
+ defining_code matches {[local::]}
196
+ }
197
+ }
198
+ }
199
+ ELEMENT[at0022] occurrences matches {0..1} matches { -- Sequence number
200
+ value matches {
201
+ DV_COUNT matches {*}
202
+ }
203
+ }
204
+ ELEMENT[at0032] occurrences matches {0..1} matches { -- Date (time) of last administration
205
+ value matches {
206
+ DV_DATE_TIME matches {
207
+ value matches {yyyy-??-??T??:??:??}
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ CLUSTER[at0023] occurrences matches {0..1} matches { -- Dispensing information
214
+ items cardinality matches {0..*; unordered} matches {
215
+ ELEMENT[at0024] occurrences matches {0..1} matches { -- Quantity to be dispensed
216
+ value matches {
217
+ C_DV_QUANTITY <
218
+ >
219
+ DV_COUNT matches {
220
+ magnitude matches {|>0|; 1}
221
+ }
222
+ DV_TEXT matches {*}
223
+ }
224
+ }
225
+ ELEMENT[at0025] occurrences matches {0..1} matches { -- Number of authorised repeat dispensing
226
+ value matches {
227
+ DV_COUNT matches {
228
+ magnitude matches {|>=0|}
229
+ }
230
+ }
231
+ }
232
+ ELEMENT[at0026] occurrences matches {0..1} matches { -- Dispensed product
233
+ value matches {
234
+ DV_TEXT matches {*}
235
+ }
236
+ }
237
+ ELEMENT[at0027] occurrences matches {0..1} matches { -- Brand substitution allowed
238
+ value matches {
239
+ DV_BOOLEAN matches {
240
+ value matches {True, False}
241
+ }
242
+ }
243
+ }
244
+ ELEMENT[at0028] occurrences matches {0..1} matches { -- Authority approval number
245
+ value matches {
246
+ DV_TEXT matches {*}
247
+ }
248
+ }
249
+ ELEMENT[at0029] occurrences matches {0..1} matches { -- Patient counselled on CMI
250
+ value matches {
251
+ DV_BOOLEAN matches {
252
+ value matches {True, False}
253
+ }
254
+ }
255
+ }
256
+ ELEMENT[at0030] occurrences matches {0..1} matches { -- Deferred supply
257
+ value matches {
258
+ DV_BOOLEAN matches {
259
+ value matches {True, False}
260
+ }
261
+ }
262
+ }
263
+ ELEMENT[at0031] occurrences matches {0..1} matches { -- Reason for deferred supply
264
+ value matches {
265
+ DV_TEXT matches {*}
266
+ }
267
+ }
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+ ontology
274
+ term_definitions = <
275
+ ["en"] = <
276
+ items = <
277
+ ["at0.32"] = <
278
+ description = <"Ingredients in the formulation">
279
+ text = <"Ingredients">
280
+ >
281
+ ["at0.33"] = <
282
+ description = <"An ingredient in a formulation">
283
+ text = <"Ingredient">
284
+ >
285
+ ["at0.34"] = <
286
+ description = <"The name of one ingredient used in the formulation - may be coded">
287
+ text = <"Name of ingredient">
288
+ >
289
+ ["at0.35"] = <
290
+ description = <"The quantity of the ingredient added to the formulation">
291
+ text = <"Quantity">
292
+ >
293
+ ["at0000"] = <
294
+ description = <"The description of a medication for recording as part of an ACTION or INSTRUCTION">
295
+ text = <"Medication description">
296
+ >
297
+ ["at0000.1"] = <
298
+ description = <"A recording of the details of the formulation as part of an ACTION or INSTRUCTION">
299
+ text = <"Medication description involving a formulation">
300
+ >
301
+ ["at0001"] = <
302
+ description = <"The name of the intervention - which may be coded">
303
+ text = <"Name of medication">
304
+ >
305
+ ["at0001.1"] = <
306
+ description = <"The name of the formulation - which may be coded">
307
+ text = <"Name of formulation">
308
+ >
309
+ ["at0002"] = <
310
+ description = <"Detailed instructions about how to administer this medication">
311
+ text = <"Administration instructions">
312
+ >
313
+ ["at0003"] = <
314
+ description = <"The strength of the medication">
315
+ text = <"Strength per dose unit">
316
+ >
317
+ ["at0004"] = <
318
+ description = <"The form of the medication">
319
+ text = <"Form">
320
+ >
321
+ ["at0005"] = <
322
+ description = <"The number of dose units to be taken at any time">
323
+ text = <"Dose">
324
+ >
325
+ ["at0006"] = <
326
+ description = <"The dose unit that is given for this type of medication">
327
+ text = <"Dose unit">
328
+ >
329
+ ["at0007"] = <
330
+ description = <"The time over which an individual dose is to be administered">
331
+ text = <"Dose duration">
332
+ >
333
+ ["at0008"] = <
334
+ description = <"The route of administration">
335
+ text = <"Route">
336
+ >
337
+ ["at0009"] = <
338
+ description = <"Included and set to true if this medication is to be used continuously or repeatedly over a significant period of time.">
339
+ text = <"Is long term">
340
+ >
341
+ ["at0010"] = <
342
+ description = <"Indications including related problems and diagnoses, abnormal test results etc">
343
+ text = <"Indications">
344
+ >
345
+ ["at0011"] = <
346
+ description = <"The indication for the intervention">
347
+ text = <"Indication">
348
+ >
349
+ ["at0012"] = <
350
+ description = <"The generic name of the drug which is an alternative name to the name of medication">
351
+ text = <"Generic name">
352
+ >
353
+ ["at0013"] = <
354
+ description = <"*">
355
+ text = <"Safety limits">
356
+ >
357
+ ["at0014"] = <
358
+ description = <"The maximum number of dose units to be taken in a particular time">
359
+ text = <"Maximum dose unit frequency">
360
+ >
361
+ ["at0015"] = <
362
+ description = <"The dose per kg of body weight">
363
+ text = <"Dosage per kg body weight">
364
+ >
365
+ ["at0016"] = <
366
+ description = <"The minimum safe interval between doses">
367
+ text = <"Minimum dose interval">
368
+ >
369
+ ["at0017"] = <
370
+ description = <"The maximum safe interval between doses">
371
+ text = <"Maximum dose interval">
372
+ >
373
+ ["at0018"] = <
374
+ description = <"Information relating to the administration of the medication order">
375
+ text = <"Administration information">
376
+ >
377
+ ["at0019"] = <
378
+ description = <"The date and time (if required) the medication is/was first administered">
379
+ text = <"Date (time) of first administration">
380
+ >
381
+ ["at0020"] = <
382
+ description = <"Manufacturer's identification number">
383
+ text = <"Batch number">
384
+ >
385
+ ["at0021"] = <
386
+ description = <"The site of administration e.g. outer thigh if intramuscular, via PEG if patient is nil orally">
387
+ text = <"Site of administration">
388
+ >
389
+ ["at0022"] = <
390
+ description = <"The dose number or sequence">
391
+ text = <"Sequence number">
392
+ >
393
+ ["at0023"] = <
394
+ description = <"Data relating to dispensing">
395
+ text = <"Dispensing information">
396
+ >
397
+ ["at0024"] = <
398
+ description = <"The total quantity to be dispensed">
399
+ text = <"Quantity to be dispensed">
400
+ >
401
+ ["at0025"] = <
402
+ description = <"The number of times this quantity of medication may be dispensed before a further prescription is required">
403
+ text = <"Number of authorised repeat dispensing">
404
+ >
405
+ ["at0026"] = <
406
+ description = <"The name of the product dispensed">
407
+ text = <"Dispensed product">
408
+ >
409
+ ["at0027"] = <
410
+ description = <"True if an alternative brand may be substituted when dispensing">
411
+ text = <"Brand substitution allowed">
412
+ >
413
+ ["at0028"] = <
414
+ description = <"*">
415
+ text = <"Authority approval number">
416
+ >
417
+ ["at0029"] = <
418
+ description = <"Dispenser counselled the patient with regard to the Consumer Medicines Information">
419
+ text = <"Patient counselled on CMI">
420
+ >
421
+ ["at0030"] = <
422
+ description = <"True if the supply of the medication has been deferred">
423
+ text = <"Deferred supply">
424
+ >
425
+ ["at0031"] = <
426
+ description = <"Information relating to the reason for deferred supply">
427
+ text = <"Reason for deferred supply">
428
+ >
429
+ ["at0032"] = <
430
+ description = <"The date and time (if required) the medication is to be administered for the last time">
431
+ text = <"Date (time) of last administration">
432
+ >
433
+ >
434
+ >
435
+ >
436
+ constraint_definitions = <
437
+ ["en"] = <
438
+ items = <
439
+ ["ac0000"] = <
440
+ description = <"Terms such as tablet, inhaler, liquid....">
441
+ text = <"Any term that 'is_a' form of medication">
442
+ >
443
+ ["ac0001"] = <
444
+ description = <"A set of terms that describes the dose units for medication - which allow the dose to be expressed as a number">
445
+ text = <"any term that 'is a' Dose unit for this form">
446
+ >
447
+ ["ac0002"] = <
448
+ description = <"The route by which the medication is administered">
449
+ text = <"Any term that 'is_a' route of administration">
450
+ >
451
+ ["ac0003"] = <
452
+ description = <"*">
453
+ text = <"=Generic name OR Brand name">
454
+ >
455
+ >
456
+ >
457
+ >