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,146 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-joint.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1.1] -- Examination of a named joint
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"A generic cluster for recording findings on physical examination.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of a named joint
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9.1] matches { -- Joint
30
+ value matches {
31
+ DV_TEXT matches {*}
32
+ }
33
+ }
34
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
35
+ items cardinality matches {0..*; unordered} matches {
36
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
37
+ value matches {
38
+ DV_TEXT matches {*}
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
49
+ items cardinality matches {0..*; unordered} matches {
50
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
51
+ include
52
+ archetype_id/value matches {/palpation\.v1draft/}
53
+ archetype_id/value matches {/inspection\.v1draft/}
54
+ archetype_id/value matches {/move-joint\.v1draft/}
55
+ exclude
56
+ archetype_id/value matches {/.*/}
57
+ }
58
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
59
+ items cardinality matches {0..*; unordered} matches {
60
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
61
+ include
62
+ archetype_id/value matches {/dimensions\.v1/}
63
+ archetype_id/value matches {/size\.v1draft/}
64
+ }
65
+ }
66
+ }
67
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
68
+ items cardinality matches {0..*; unordered} matches {
69
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
70
+ include
71
+ archetype_id/value matches {/exam\.v1/}
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
78
+ value matches {
79
+ DV_MULTIMEDIA matches {
80
+ media_type matches {
81
+ [openEHR::
82
+ 426,
83
+ 427,
84
+ 429]
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+
92
+ ontology
93
+ term_definitions = <
94
+ ["en"] = <
95
+ items = <
96
+ ["at0.1"] = <
97
+ description = <"Information about the size of the object for examination">
98
+ text = <"Size">
99
+ >
100
+ ["at0.9"] = <
101
+ description = <"The object of examination">
102
+ text = <"Object">
103
+ >
104
+ ["at0.9.1"] = <
105
+ description = <"The joint examined">
106
+ text = <"Joint">
107
+ >
108
+ ["at0000"] = <
109
+ description = <"Generic examination cluster for describing a finding on physical examination">
110
+ text = <"Examination">
111
+ >
112
+ ["at0000.1"] = <
113
+ description = <"Generic examination cluster for describing a finding on physical examination">
114
+ text = <"Examination of a named body part">
115
+ >
116
+ ["at0000.1.1"] = <
117
+ description = <"Generic examination cluster for describing findings relating to a joint on physical examination">
118
+ text = <"Examination of a named joint">
119
+ >
120
+ ["at0002"] = <
121
+ description = <"Textural description of the part examined">
122
+ text = <"Clinical description">
123
+ >
124
+ ["at0003"] = <
125
+ description = <"More focused examination findings">
126
+ text = <"Detail">
127
+ >
128
+ ["at0004"] = <
129
+ description = <"A group of statements about the normality of the examination">
130
+ text = <"Normal statements">
131
+ >
132
+ ["at0005"] = <
133
+ description = <"A specific statement of normality">
134
+ text = <"Normal statement">
135
+ >
136
+ ["at0006"] = <
137
+ description = <"Drawing or image of the area examined">
138
+ text = <"Image">
139
+ >
140
+ ["at0008"] = <
141
+ description = <"Clinical findings">
142
+ text = <"Findings">
143
+ >
144
+ >
145
+ >
146
+ >
@@ -0,0 +1,176 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1.1] -- Examination of lymph nodes
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"For recording findings on physical examination of lymph nodes">
18
+ use = <"">
19
+ keywords = <"examination", "physical", "lymph", "nodes">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"OrganisationDraft">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of lymph nodes
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9.1] matches { -- Lymph node group
30
+ value matches {
31
+ DV_TEXT matches {*}
32
+ }
33
+ }
34
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
35
+ items cardinality matches {0..*; unordered} matches {
36
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
37
+ value matches {
38
+ DV_TEXT matches {*}
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
49
+ items cardinality matches {0..*; unordered} matches {
50
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
51
+ include
52
+ archetype_id/value matches {/palpation\.v1draft/}
53
+ archetype_id/value matches {/inspection\.v1draft/}
54
+ exclude
55
+ archetype_id/value matches {/.*/}
56
+ }
57
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
58
+ items cardinality matches {0..*; unordered} matches {
59
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
60
+ include
61
+ archetype_id/value matches {/size\.v1draft/}
62
+ }
63
+ }
64
+ }
65
+ CLUSTER[at0003.0.1] occurrences matches {0..1} matches { -- Individual nodes
66
+ items cardinality matches {0..*; unordered} matches {
67
+ CLUSTER[at0.0.12] occurrences matches {0..1} matches { -- Node
68
+ items cardinality matches {1..*; unordered} matches {
69
+ ELEMENT[at0.0.11] occurrences matches {0..1} matches { -- Node name
70
+ value matches {
71
+ DV_TEXT matches {*}
72
+ }
73
+ }
74
+ ELEMENT[at0.0.13] occurrences matches {0..1} matches { -- Description
75
+ value matches {
76
+ DV_TEXT matches {*}
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
86
+ value matches {
87
+ DV_MULTIMEDIA matches {
88
+ media_type matches {
89
+ [openEHR::
90
+ 426,
91
+ 427,
92
+ 429]
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ ontology
101
+ term_definitions = <
102
+ ["en"] = <
103
+ items = <
104
+ ["at0.0.10"] = <
105
+ description = <"All major lymph nodes">
106
+ text = <"Lymph nodes">
107
+ >
108
+ ["at0.0.11"] = <
109
+ description = <"The name of the node">
110
+ text = <"Node name">
111
+ comment = <"SNOMED Lymphnode">
112
+ >
113
+ ["at0.0.12"] = <
114
+ description = <"Group of findings relating to an individual node">
115
+ text = <"Node">
116
+ >
117
+ ["at0.0.13"] = <
118
+ description = <"Description of individual node">
119
+ text = <"Description">
120
+ >
121
+ ["at0.1"] = <
122
+ description = <"Information about the size of the object for examination">
123
+ text = <"Size">
124
+ >
125
+ ["at0.9"] = <
126
+ description = <"The object of examination">
127
+ text = <"Object">
128
+ >
129
+ ["at0.9.1"] = <
130
+ description = <"The group of nodes examined">
131
+ text = <"Lymph node group">
132
+ comment = <"SNOMED query LymphnodeGroup">
133
+ >
134
+ ["at0000"] = <
135
+ description = <"Generic examination cluster for describing a finding on physical examination">
136
+ text = <"Examination">
137
+ >
138
+ ["at0000.1"] = <
139
+ description = <"Generic examination cluster for describing a finding on physical examination">
140
+ text = <"Examination of a named body part">
141
+ >
142
+ ["at0000.1.1"] = <
143
+ description = <"For recording the findings on physical examination of lymph nodes">
144
+ text = <"Examination of lymph nodes">
145
+ >
146
+ ["at0002"] = <
147
+ description = <"Textural description of the part examined">
148
+ text = <"Clinical description">
149
+ >
150
+ ["at0003"] = <
151
+ description = <"More focused examination findings">
152
+ text = <"Detail">
153
+ >
154
+ ["at0003.0.1"] = <
155
+ description = <"More focused examination findings on each node">
156
+ text = <"Individual nodes">
157
+ >
158
+ ["at0004"] = <
159
+ description = <"A group of statements about the normality of the examination">
160
+ text = <"Normal statements">
161
+ >
162
+ ["at0005"] = <
163
+ description = <"A specific statement of normality">
164
+ text = <"Normal statement">
165
+ >
166
+ ["at0006"] = <
167
+ description = <"Drawing or image of the area examined">
168
+ text = <"Image">
169
+ >
170
+ ["at0008"] = <
171
+ description = <"Clinical findings">
172
+ text = <"Findings">
173
+ >
174
+ >
175
+ >
176
+ >
@@ -0,0 +1,221 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-mass.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of a named mass
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"A generic cluster for recording findings on physical examination of the findings when examining a pathological mass occupying lesion which might be a swelling, lump or mass.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of a mass lesion
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9] matches { -- Object
30
+ value matches {
31
+ DV_CODED_TEXT matches {
32
+ defining_code matches {
33
+ [local::
34
+ at0.0.1, -- Mass
35
+ at0.0.2, -- Lump
36
+ at0.0.3] -- Swelling
37
+ }
38
+ }
39
+ }
40
+ }
41
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
42
+ items cardinality matches {0..*; unordered} matches {
43
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ }
49
+ }
50
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
51
+ value matches {
52
+ DV_TEXT matches {*}
53
+ }
54
+ }
55
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
56
+ items cardinality matches {0..*; unordered} matches {
57
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
58
+ include
59
+ archetype_id/value matches {/palpation\.v1draft/}
60
+ archetype_id/value matches {/inspection\.v1draft/}
61
+ }
62
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
63
+ items cardinality matches {0..*; unordered} matches {
64
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
65
+ include
66
+ archetype_id/value matches {/dimensions\.v1/}
67
+ archetype_id/value matches {/size\.v1draft/}
68
+ }
69
+ }
70
+ }
71
+ ELEMENT[at0.0.4] occurrences matches {0..1} matches { -- Location
72
+ value matches {
73
+ DV_TEXT matches {*}
74
+ }
75
+ }
76
+ ELEMENT[at0.0.5] occurrences matches {0..1} matches { -- Arising from
77
+ value matches {
78
+ DV_TEXT matches {*}
79
+ }
80
+ }
81
+ ELEMENT[at0.0.6] occurrences matches {0..1} matches { -- Mobility
82
+ value matches {
83
+ DV_CODED_TEXT matches {
84
+ defining_code matches {
85
+ [local::
86
+ at0.0.7, -- Highly mobile
87
+ at0.0.8, -- Mobile
88
+ at0.0.9, -- Fixed
89
+ at0.0.10] -- Adherent
90
+ }
91
+ }
92
+ }
93
+ }
94
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
95
+ include
96
+ archetype_id/value matches {/palpation\.v1draft/}
97
+ archetype_id/value matches {/auscultation\.v1draft/}
98
+ archetype_id/value matches {/inspection\.v1draft/}
99
+ exclude
100
+ archetype_id/value matches {/.*/}
101
+ }
102
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
103
+ items cardinality matches {0..*; unordered} matches {
104
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
105
+ include
106
+ archetype_id/value matches {/exam\.v1/}
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
113
+ value matches {
114
+ DV_MULTIMEDIA matches {
115
+ media_type matches {
116
+ [openEHR::
117
+ 426,
118
+ 427,
119
+ 429]
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ ontology
128
+ term_definitions = <
129
+ ["en"] = <
130
+ items = <
131
+ ["at0.0.1"] = <
132
+ description = <"The object is a mass lesion">
133
+ text = <"Mass">
134
+ >
135
+ ["at0.0.10"] = <
136
+ description = <"The mass merges with surrounding structures">
137
+ text = <"Adherent">
138
+ >
139
+ ["at0.0.2"] = <
140
+ description = <"The object is a lump">
141
+ text = <"Lump">
142
+ >
143
+ ["at0.0.3"] = <
144
+ description = <"The object of examination is a swelling">
145
+ text = <"Swelling">
146
+ >
147
+ ["at0.0.4"] = <
148
+ description = <"The location of the mass">
149
+ text = <"Location">
150
+ >
151
+ ["at0.0.5"] = <
152
+ description = <"The organ or body structure from which the lesion is arising">
153
+ text = <"Arising from">
154
+ >
155
+ ["at0.0.6"] = <
156
+ description = <"The mobility of the mass lesion">
157
+ text = <"Mobility">
158
+ >
159
+ ["at0.0.7"] = <
160
+ description = <"The mass lesion is apparently untethered to surrounding structures">
161
+ text = <"Highly mobile">
162
+ >
163
+ ["at0.0.8"] = <
164
+ description = <"The mass is tethered but moves freely">
165
+ text = <"Mobile">
166
+ >
167
+ ["at0.0.9"] = <
168
+ description = <"The mass is fixed to surrounding structures">
169
+ text = <"Fixed">
170
+ >
171
+ ["at0.1"] = <
172
+ description = <"Information about the size of the object for examination">
173
+ text = <"Size">
174
+ >
175
+ ["at0.9"] = <
176
+ description = <"The object of examination">
177
+ text = <"Object">
178
+ >
179
+ ["at0000"] = <
180
+ description = <"Generic examination cluster for describing a finding on physical examination">
181
+ text = <"Examination">
182
+ >
183
+ ["at0000.1"] = <
184
+ description = <"For describing findings on physical examination relating to a mass">
185
+ text = <"Examination of a named mass">
186
+ >
187
+ ["at0000.1.1"] = <
188
+ description = <"Generic examination cluster for describing the findings on physical examination of a mass, lump or swelling">
189
+ text = <"Examination of a mass lesion">
190
+ >
191
+ ["at0001"] = <
192
+ description = <"The object of the examination">
193
+ text = <"Object">
194
+ >
195
+ ["at0002"] = <
196
+ description = <"Textural description of the part examined">
197
+ text = <"Clinical description">
198
+ >
199
+ ["at0003"] = <
200
+ description = <"More focused examination findings">
201
+ text = <"Detail">
202
+ >
203
+ ["at0004"] = <
204
+ description = <"A group of statements about the normality of the examination">
205
+ text = <"Normal statements">
206
+ >
207
+ ["at0005"] = <
208
+ description = <"A specific statement of normality">
209
+ text = <"Normal statement">
210
+ >
211
+ ["at0006"] = <
212
+ description = <"Drawing or image of the area examined">
213
+ text = <"Image">
214
+ >
215
+ ["at0008"] = <
216
+ description = <"Clinical findings">
217
+ text = <"Findings">
218
+ >
219
+ >
220
+ >
221
+ >