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,379 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-chest.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of the chest
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"Sam Heard">
13
+ ["organisation"] = <"Ocean Informatics">
14
+ ["date"] = <"9/04/2007">
15
+ ["email"] = <"Sam.Heard@OceanInformatics.biz">
16
+ >
17
+ details = <
18
+ ["en"] = <
19
+ language = <[ISO_639-1::en]>
20
+ purpose = <"A cluster for recording findings on physical examination of the chest">
21
+ use = <"">
22
+ keywords = <"examination", "physical", "chest", "thorax", "lungs">
23
+ misuse = <"">
24
+ >
25
+ >
26
+ lifecycle_state = <"Initial">
27
+ other_contributors = <>
28
+
29
+ definition
30
+ CLUSTER[at0000.1] matches { -- Examination of the chest
31
+ items cardinality matches {0..*; unordered} matches {
32
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
33
+ items cardinality matches {0..*; unordered} matches {
34
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
35
+ value matches {
36
+ DV_TEXT matches {*}
37
+ }
38
+ }
39
+ }
40
+ }
41
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
42
+ value matches {
43
+ DV_TEXT matches {*}
44
+ }
45
+ }
46
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
47
+ items cardinality matches {0..*; unordered} matches {
48
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Chest wall
49
+ items cardinality matches {0..*; unordered} matches {
50
+ ELEMENT[at0.2] occurrences matches {0..1} matches { -- Description
51
+ value matches {
52
+ DV_CODED_TEXT matches {
53
+ defining_code matches {[local::]}
54
+ }
55
+ }
56
+ }
57
+ ELEMENT[at0.28] occurrences matches {0..1} matches { -- Shape
58
+ value matches {
59
+ DV_TEXT matches {*}
60
+ }
61
+ }
62
+ CLUSTER[at0.30] occurrences matches {0..1} matches { -- Heart - Apex beat
63
+ items cardinality matches {0..*; unordered} matches {
64
+ ELEMENT[at0.31] occurrences matches {0..1} matches { -- Visible
65
+ value matches {
66
+ DV_BOOLEAN matches {
67
+ value matches {True, False}
68
+ }
69
+ }
70
+ }
71
+ CLUSTER[at0.32] occurrences matches {0..1} matches { -- Palpation
72
+ items cardinality matches {0..*; unordered} matches {
73
+ ELEMENT[at0.33] occurrences matches {0..1} matches { -- Palpable
74
+ value matches {
75
+ DV_BOOLEAN matches {
76
+ value matches {True, False}
77
+ }
78
+ }
79
+ }
80
+ ELEMENT[at0.34] occurrences matches {0..1} matches { -- Maximal location
81
+ value matches {
82
+ DV_TEXT matches {*}
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
90
+ include
91
+ archetype_id/value matches {/palpation\.v1draft/}
92
+ archetype_id/value matches {/inspection\.v1draft/}
93
+ archetype_id/value matches {/auscultation-chest\.v1/}
94
+ }
95
+ }
96
+ }
97
+ CLUSTER[at0.3] occurrences matches {0..1} matches { -- Respiratory system
98
+ items cardinality matches {0..*; unordered} matches {
99
+ ELEMENT[at0.4] occurrences matches {0..1} matches { -- Trachea
100
+ value matches {
101
+ DV_CODED_TEXT matches {
102
+ defining_code matches {
103
+ [local::
104
+ at0.5, -- Midline
105
+ at0.6, -- Deviated to the left
106
+ at0.7] -- Deviated to the right
107
+ }
108
+ }
109
+ }
110
+ }
111
+ CLUSTER[at0.8] occurrences matches {0..1} matches { -- Breathing
112
+ items cardinality matches {0..*; unordered} matches {
113
+ ELEMENT[at0.19] occurrences matches {0..1} matches { -- Description
114
+ value matches {
115
+ DV_TEXT matches {*}
116
+ }
117
+ }
118
+ ELEMENT[at0.9] occurrences matches {0..1} matches { -- Type
119
+ value matches {
120
+ DV_CODED_TEXT matches {
121
+ defining_code matches {
122
+ [local::
123
+ at0.10, -- Diaphragmatic breathing
124
+ at0.11] -- Thoracic breathing
125
+ }
126
+ }
127
+ }
128
+ }
129
+ ELEMENT[at0.12] occurrences matches {0..1} matches { -- Effort
130
+ value matches {
131
+ 5|[local::at0.13], -- Normal breathing effort
132
+ 6|[local::at0.14], -- Mild increase in effort
133
+ 8|[local::at0.15], -- Moderate increased effort
134
+ 10|[local::at0.16] -- Major increased effort
135
+ }
136
+ }
137
+ CLUSTER[at0.17] occurrences matches {0..1} matches { -- Signs of increased effort
138
+ items cardinality matches {0..*; unordered} matches {
139
+ ELEMENT[at0.18] occurrences matches {0..*} matches { -- Sign
140
+ value matches {
141
+ DV_CODED_TEXT matches {
142
+ defining_code matches {
143
+ [local::
144
+ at0.25, -- Using accessory muscles
145
+ at0.20, -- Intercostal recession
146
+ at0.24, -- Subcostal recession
147
+ at0.23, -- Suprasternal recession
148
+ at0.21, -- Sternal recession
149
+ at0.22] -- Rib retraction
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ ELEMENT[at0.26] occurrences matches {0..1} matches { -- Paradoxical movement (flail chest)
157
+ value matches {
158
+ DV_BOOLEAN matches {
159
+ value matches {True, False}
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
168
+ items cardinality matches {0..*; unordered} matches {
169
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
170
+ include
171
+ archetype_id/value matches {/exam-generic\.v1/}
172
+ archetype_id/value matches {/auscultation-chest\.v1/}
173
+ archetype_id/value matches {/palpation\.v1/}
174
+ archetype_id/value matches {/inspection\.v1draft/}
175
+ archetype_id/value matches {/percussion\.v1/}
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ CLUSTER[at0.27] occurrences matches {0..1} matches { -- Lymph nodes
182
+ items cardinality matches {0..*; unordered} matches {
183
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
184
+ include
185
+ archetype_id/value matches {/exam-generic-lympnode\.v1/}
186
+ }
187
+ }
188
+ }
189
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
190
+ value matches {
191
+ DV_MULTIMEDIA matches {
192
+ media_type matches {
193
+ [openEHR::
194
+ 426,
195
+ 427,
196
+ 429]
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+
204
+ ontology
205
+ term_definitions = <
206
+ ["en"] = <
207
+ items = <
208
+ ["at0.1"] = <
209
+ description = <"Findings about the chest wall">
210
+ text = <"Chest wall">
211
+ >
212
+ ["at0.10"] = <
213
+ description = <"Breathing using the diaphragm and not the chest wall">
214
+ text = <"Diaphragmatic breathing">
215
+ >
216
+ ["at0.11"] = <
217
+ description = <"Breathing using expansion of the chest wall">
218
+ text = <"Thoracic breathing">
219
+ >
220
+ ["at0.12"] = <
221
+ description = <"Effort required for breathing">
222
+ text = <"Effort">
223
+ >
224
+ ["at0.13"] = <
225
+ description = <"Diaphragmatic breathing as at rest">
226
+ text = <"Normal breathing effort">
227
+ >
228
+ ["at0.14"] = <
229
+ description = <"Breathing using obvious chest expansion">
230
+ text = <"Mild increase in effort">
231
+ >
232
+ ["at0.15"] = <
233
+ description = <"Breathing with signs of abnormal breathing">
234
+ text = <"Moderate increased effort">
235
+ >
236
+ ["at0.16"] = <
237
+ description = <"Many signs of increased breathing effort">
238
+ text = <"Major increased effort">
239
+ >
240
+ ["at0.17"] = <
241
+ description = <"Signs of increased respiratory effort">
242
+ text = <"Signs of increased effort">
243
+ >
244
+ ["at0.18"] = <
245
+ description = <"Use of accessory respiratory muscles">
246
+ text = <"Sign">
247
+ >
248
+ ["at0.19"] = <
249
+ description = <"Description of breathing">
250
+ text = <"Description">
251
+ >
252
+ ["at0.2"] = <
253
+ description = <"The contour of the chest wall">
254
+ text = <"Description">
255
+ >
256
+ ["at0.20"] = <
257
+ description = <"Drawing in between the ribs on inspiration">
258
+ text = <"Intercostal recession">
259
+ >
260
+ ["at0.21"] = <
261
+ description = <"Drawing in of the sternum on inspiration">
262
+ text = <"Sternal recession">
263
+ >
264
+ ["at0.22"] = <
265
+ description = <"Indrawing of the chest wall on inspiration">
266
+ text = <"Rib retraction">
267
+ >
268
+ ["at0.23"] = <
269
+ description = <"Indrawing above the sternum on inspiration">
270
+ text = <"Suprasternal recession">
271
+ >
272
+ ["at0.24"] = <
273
+ description = <"Indrawing of the subcostal abdominal wall ">
274
+ text = <"Subcostal recession">
275
+ >
276
+ ["at0.25"] = <
277
+ description = <"Use of accessory respiratory muscles during inspiration">
278
+ text = <"Using accessory muscles">
279
+ >
280
+ ["at0.26"] = <
281
+ description = <"Any paradoxical movement of the chest wall during respiration">
282
+ text = <"Paradoxical movement (flail chest)">
283
+ >
284
+ ["at0.27"] = <
285
+ description = <"Lymphnodes">
286
+ text = <"Lymph nodes">
287
+ >
288
+ ["at0.28"] = <
289
+ description = <"The shape of the chest">
290
+ text = <"Shape">
291
+ comment = <"ChestShape SNOMED query">
292
+ >
293
+ ["at0.29"] = <
294
+ description = <"Pidgeon chest, with prominent lower sternum">
295
+ text = <"Pectus carinatum">
296
+ >
297
+ ["at0.3"] = <
298
+ description = <"Respiratory findings">
299
+ text = <"Respiratory system">
300
+ >
301
+ ["at0.30"] = <
302
+ description = <"*">
303
+ text = <"Heart - Apex beat">
304
+ >
305
+ ["at0.31"] = <
306
+ description = <"Apex beat is visible">
307
+ text = <"Visible">
308
+ >
309
+ ["at0.32"] = <
310
+ description = <"*">
311
+ text = <"Palpation">
312
+ >
313
+ ["at0.33"] = <
314
+ description = <"Apex beat is palpable">
315
+ text = <"Palpable">
316
+ >
317
+ ["at0.34"] = <
318
+ description = <"Site of maximal location of apex beat">
319
+ text = <"Maximal location">
320
+ >
321
+ ["at0.4"] = <
322
+ description = <"The position of the trachea">
323
+ text = <"Trachea">
324
+ >
325
+ ["at0.5"] = <
326
+ description = <"The trachea is in the midline position">
327
+ text = <"Midline">
328
+ >
329
+ ["at0.6"] = <
330
+ description = <"The trachea is deviated to the left">
331
+ text = <"Deviated to the left">
332
+ >
333
+ ["at0.7"] = <
334
+ description = <"The trachea is deviated to the right">
335
+ text = <"Deviated to the right">
336
+ >
337
+ ["at0.8"] = <
338
+ description = <"Findings about breathing">
339
+ text = <"Breathing">
340
+ >
341
+ ["at0.9"] = <
342
+ description = <"Type of breathing">
343
+ text = <"Type">
344
+ >
345
+ ["at0000"] = <
346
+ description = <"Basic examination cluster for describing findings on physical examination when there is no named focus of examination">
347
+ text = <"Examination">
348
+ >
349
+ ["at0000.1"] = <
350
+ description = <"For recording findings on physical examination of the chest wall and lungs">
351
+ text = <"Examination of the chest">
352
+ >
353
+ ["at0002"] = <
354
+ description = <"Textural description of the part examined">
355
+ text = <"Clinical description">
356
+ >
357
+ ["at0003"] = <
358
+ description = <"More focused examination findings">
359
+ text = <"Detail">
360
+ >
361
+ ["at0004"] = <
362
+ description = <"A group of statements about the normality of the examination">
363
+ text = <"Normal statements">
364
+ >
365
+ ["at0005"] = <
366
+ description = <"A specific statement of normality">
367
+ text = <"Normal statement">
368
+ >
369
+ ["at0006"] = <
370
+ description = <"Drawing or image of the area examined">
371
+ text = <"Image">
372
+ >
373
+ ["at0008"] = <
374
+ description = <"Clinical findings">
375
+ text = <"Findings">
376
+ >
377
+ >
378
+ >
379
+ >
@@ -0,0 +1,577 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-fetus.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of the fetus
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 relating to the fetus while in the uterus">
18
+ use = <"">
19
+ keywords = <"foetus", "fetal", "foetal">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1] matches { -- Examination of the fetus
28
+ items cardinality matches {0..*; unordered} matches {
29
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
30
+ items cardinality matches {0..*; unordered} matches {
31
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
32
+ value matches {
33
+ DV_TEXT matches {*}
34
+ }
35
+ }
36
+ }
37
+ }
38
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
39
+ value matches {
40
+ DV_TEXT matches {*}
41
+ }
42
+ }
43
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
44
+ items cardinality matches {0..*; unordered} matches {
45
+ ELEMENT[at0.4] occurrences matches {0..1} matches { -- Lie of the fetus
46
+ value matches {
47
+ DV_CODED_TEXT matches {
48
+ defining_code matches {
49
+ [local::
50
+ at0.5, -- Longitudinal
51
+ at0.6, -- Transverse
52
+ at0.7] -- Oblique
53
+ }
54
+ }
55
+ }
56
+ }
57
+ ELEMENT[at0.8] occurrences matches {0..1} matches { -- Presentation
58
+ value matches {
59
+ DV_CODED_TEXT matches {
60
+ defining_code matches {
61
+ [local::
62
+ at0.9, -- Cephalic
63
+ at0.10, -- Breech
64
+ at0.11, -- Full breech
65
+ at0.12, -- Extended breech
66
+ at0.13, -- Shoulder
67
+ at0.69, -- Footling breech
68
+ at0.70, -- Face
69
+ at0.71, -- Cord
70
+ at0.72] -- Compound
71
+ }
72
+ }
73
+ }
74
+ }
75
+ ELEMENT[at0.42] occurrences matches {0..1} matches { -- Position
76
+ value matches {
77
+ DV_CODED_TEXT matches {
78
+ defining_code matches {
79
+ [local::
80
+ at0.43, -- Right Occipito-transverse
81
+ at0.44, -- Right Occipito-anterior
82
+ at0.45, -- Right Occipito-posterior
83
+ at0.46, -- Occipito-anterior
84
+ at0.47, -- Occipito-posterior
85
+ at0.48, -- Left Occipito-transverse
86
+ at0.49, -- Left Occipito-anterior
87
+ at0.50, -- Left Occipito-posterior
88
+ at0.51, -- Right Sacro-transverse
89
+ at0.52, -- Right Sacro-anterior
90
+ at0.53, -- Right Sacro-posterior
91
+ at0.54, -- Sacro-Anterior
92
+ at0.55, -- Sacro-Posterior
93
+ at0.56, -- Left Sacro-transverse
94
+ at0.57, -- Left Sacro-anterior
95
+ at0.58, -- Left Sacro-posterior
96
+ at0.59, -- Right Mento-transverse
97
+ at0.60, -- Right Mento-anterior
98
+ at0.61, -- Right Mento-posterior
99
+ at0.62, -- Mento-Anterior
100
+ at0.63, -- Mento-Posterior
101
+ at0.64, -- Left Mento-transverse
102
+ at0.65, -- Left Mento-anterior
103
+ at0.61] -- Right Mento-posterior
104
+ }
105
+ }
106
+ }
107
+ }
108
+ ELEMENT[at0.32] occurrences matches {0..1} matches { -- Attitude
109
+ value matches {
110
+ DV_CODED_TEXT matches {
111
+ defining_code matches {
112
+ [local::
113
+ at0.33, -- Flexed
114
+ at0.34, -- Deflexed
115
+ at0.35] -- Extended
116
+ }
117
+ }
118
+ }
119
+ }
120
+ CLUSTER[at0.74] occurrences matches {0..1} matches { -- Engagement
121
+ items cardinality matches {0..*; unordered} matches {
122
+ ELEMENT[at0.22] occurrences matches {0..1} matches { -- Fifths
123
+ value matches {
124
+ DV_CODED_TEXT matches {
125
+ defining_code matches {
126
+ [local::
127
+ at0.23, -- Not engaged (0/5)
128
+ at0.24, -- 1/5
129
+ at0.25, -- 2/5
130
+ at0.26, -- 3/5
131
+ at0.27, -- 4/5
132
+ at0.28] -- Fully engaged (5/5)
133
+ }
134
+ }
135
+ }
136
+ }
137
+ ELEMENT[at0.75] occurrences matches {0..1} matches { -- Qualitative
138
+ value matches {
139
+ DV_CODED_TEXT matches {
140
+ defining_code matches {
141
+ [local::
142
+ at0.76, -- High and mobile
143
+ at0.77, -- At pelvic brim
144
+ at0.78] -- Engaged
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ ELEMENT[at0.14] occurrences matches {0..1} matches { -- Size relative to gestation
152
+ value matches {
153
+ DV_CODED_TEXT matches {
154
+ defining_code matches {
155
+ [local::
156
+ at0.15, -- Small for dates
157
+ at0.67, -- ? small for dates
158
+ at0.16, -- Normal
159
+ at0.68, -- ? large for dates
160
+ at0.17] -- Large for dates
161
+ }
162
+ }
163
+ }
164
+ }
165
+ ELEMENT[at0.29] occurrences matches {0..1} matches { -- Station
166
+ value matches {
167
+ C_DV_QUANTITY <
168
+ property = <[openehr::122]>
169
+ list = <
170
+ ["1"] = <
171
+ units = <"cm">
172
+ magnitude = <|-5.0..5.0|>
173
+ precision = <|0|>
174
+ >
175
+ >
176
+ >
177
+ }
178
+ }
179
+ ELEMENT[at0.18] occurrences matches {0..1} matches { -- Estimated fetal weight
180
+ value matches {
181
+ C_DV_QUANTITY <
182
+ property = <[openehr::124]>
183
+ list = <
184
+ ["1"] = <
185
+ units = <"kg">
186
+ magnitude = <|0.0..20.0|>
187
+ >
188
+ ["2"] = <
189
+ units = <"gm">
190
+ magnitude = <|0.0..20000.0|>
191
+ precision = <|0|>
192
+ >
193
+ >
194
+ >
195
+ }
196
+ }
197
+ CLUSTER[at0007] occurrences matches {0..1} matches { -- Size
198
+ items cardinality matches {0..*; unordered} matches {
199
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
200
+ include
201
+ archetype_id/value matches {/dimensions\.v1/}
202
+ archetype_id/value matches {/size\.v1draft/}
203
+ }
204
+ }
205
+ }
206
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
207
+ items cardinality matches {0..*; unordered} matches {
208
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
209
+ include
210
+ archetype_id/value matches {/exam\.v1/}
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
217
+ value matches {
218
+ DV_MULTIMEDIA matches {
219
+ media_type matches {
220
+ [openEHR::
221
+ 426,
222
+ 427,
223
+ 429]
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
230
+
231
+ ontology
232
+ term_definitions = <
233
+ ["en"] = <
234
+ items = <
235
+ ["at0.10"] = <
236
+ description = <"The breech is the presenting part">
237
+ text = <"Breech">
238
+ >
239
+ ["at0.11"] = <
240
+ description = <"The breech is presenting with the legs flexed">
241
+ text = <"Full breech">
242
+ >
243
+ ["at0.12"] = <
244
+ description = <"The breech is the presenting part with the leg(s) extended">
245
+ text = <"Extended breech">
246
+ >
247
+ ["at0.13"] = <
248
+ description = <"The shoulder is the presenting part">
249
+ text = <"Shoulder">
250
+ >
251
+ ["at0.14"] = <
252
+ description = <"The apparent size of the baby relative to normal for gestation">
253
+ text = <"Size relative to gestation">
254
+ >
255
+ ["at0.15"] = <
256
+ description = <"The size of the baby is smaller than expected for gestation">
257
+ text = <"Small for dates">
258
+ >
259
+ ["at0.16"] = <
260
+ description = <"The size of the baby is normal for gestation">
261
+ text = <"Normal">
262
+ >
263
+ ["at0.17"] = <
264
+ description = <"The size of the baby is larger than expected for gestation">
265
+ text = <"Large for dates">
266
+ >
267
+ ["at0.18"] = <
268
+ description = <"The estimated weight of the baby on examination">
269
+ text = <"Estimated fetal weight">
270
+ >
271
+ ["at0.19"] = <
272
+ description = <"The position of the head in relation to the pelvis">
273
+ text = <"Denominator">
274
+ >
275
+ ["at0.20"] = <
276
+ description = <"The occiput is anterior rotated to the anterior">
277
+ text = <"Left occipito-anterior">
278
+ >
279
+ ["at0.21"] = <
280
+ description = <"The occiput is at the back">
281
+ text = <"Occipito-posterior">
282
+ >
283
+ ["at0.22"] = <
284
+ description = <"The proportion of the presenting part which is felt above the pelvis">
285
+ text = <"Fifths">
286
+ >
287
+ ["at0.23"] = <
288
+ description = <"The head is not engaged in the pelvis">
289
+ text = <"Not engaged (0/5)">
290
+ >
291
+ ["at0.24"] = <
292
+ description = <"About 20% of the head is inside the pelvis">
293
+ text = <"1/5">
294
+ >
295
+ ["at0.25"] = <
296
+ description = <"About 40% of the head is inside the pelvis">
297
+ text = <"2/5">
298
+ >
299
+ ["at0.26"] = <
300
+ description = <"About 60% of the head is inside the pelvis">
301
+ text = <"3/5">
302
+ >
303
+ ["at0.27"] = <
304
+ description = <"About 80% of the head is inside the pelvis">
305
+ text = <"4/5">
306
+ >
307
+ ["at0.28"] = <
308
+ description = <"The head is inside the pelvis">
309
+ text = <"Fully engaged (5/5)">
310
+ >
311
+ ["at0.29"] = <
312
+ description = <"Posiiton relative to the ischial spines (minus is above, 0 is at the spines and plus is below)">
313
+ text = <"Station">
314
+ >
315
+ ["at0.30"] = <
316
+ description = <"The occiput is adjacent to the symphasis pubis">
317
+ text = <"Occipito-anterior">
318
+ >
319
+ ["at0.31"] = <
320
+ description = <"The occiput is anterior rotated to the right">
321
+ text = <"Right occipito-anterior">
322
+ >
323
+ ["at0.32"] = <
324
+ description = <"The degree of flexion of the body">
325
+ text = <"Attitude">
326
+ >
327
+ ["at0.33"] = <
328
+ description = <"The fetus is fully flexed">
329
+ text = <"Flexed">
330
+ >
331
+ ["at0.34"] = <
332
+ description = <"The fetus is not flexed">
333
+ text = <"Deflexed">
334
+ >
335
+ ["at0.35"] = <
336
+ description = <"The fetus is extended">
337
+ text = <"Extended">
338
+ >
339
+ ["at0.36"] = <
340
+ description = <"The occiput is on the left">
341
+ text = <"Left occipito-transverse">
342
+ >
343
+ ["at0.37"] = <
344
+ description = <"The occiput is on the right">
345
+ text = <"Right occipito-transverse">
346
+ >
347
+ ["at0.38"] = <
348
+ description = <"*">
349
+ text = <"Position">
350
+ >
351
+ ["at0.39"] = <
352
+ description = <"The occipital bone">
353
+ text = <"Occipito">
354
+ >
355
+ ["at0.4"] = <
356
+ description = <"The position of the fetus">
357
+ text = <"Lie of the fetus">
358
+ >
359
+ ["at0.40"] = <
360
+ description = <"The chin">
361
+ text = <"Mento">
362
+ >
363
+ ["at0.41"] = <
364
+ description = <"The sacral bone">
365
+ text = <"Sacro">
366
+ >
367
+ ["at0.42"] = <
368
+ description = <"The orientation of the denominator">
369
+ text = <"Position">
370
+ >
371
+ ["at0.43"] = <
372
+ description = <"The occiput is towards the right">
373
+ text = <"Right Occipito-transverse">
374
+ >
375
+ ["at0.44"] = <
376
+ description = <"The occiput is towards the right and anterior">
377
+ text = <"Right Occipito-anterior">
378
+ >
379
+ ["at0.45"] = <
380
+ description = <"The occiput is to the right and posterior">
381
+ text = <"Right Occipito-posterior">
382
+ >
383
+ ["at0.46"] = <
384
+ description = <"The occiput is towards the symphasis">
385
+ text = <"Occipito-anterior">
386
+ >
387
+ ["at0.47"] = <
388
+ description = <"The occiput is towards the sacrum">
389
+ text = <"Occipito-posterior">
390
+ >
391
+ ["at0.48"] = <
392
+ description = <"The occiput is towards the left">
393
+ text = <"Left Occipito-transverse">
394
+ >
395
+ ["at0.49"] = <
396
+ description = <"The occiput is to the left and symphasis">
397
+ text = <"Left Occipito-anterior">
398
+ >
399
+ ["at0.5"] = <
400
+ description = <"The lie is along the line of the mother's spine">
401
+ text = <"Longitudinal">
402
+ >
403
+ ["at0.50"] = <
404
+ description = <"The occiput is to the left and posterior">
405
+ text = <"Left Occipito-posterior">
406
+ >
407
+ ["at0.51"] = <
408
+ description = <"The fetal sacrum is towards the right">
409
+ text = <"Right Sacro-transverse">
410
+ >
411
+ ["at0.52"] = <
412
+ description = <"The fetal sacrum is towards the right and anterior">
413
+ text = <"Right Sacro-anterior">
414
+ >
415
+ ["at0.53"] = <
416
+ description = <"The fetal sacrum is to the right and posterior">
417
+ text = <"Right Sacro-posterior">
418
+ >
419
+ ["at0.54"] = <
420
+ description = <"The fetal sacrum is towards the symphasis">
421
+ text = <"Sacro-Anterior">
422
+ >
423
+ ["at0.55"] = <
424
+ description = <"The fetal sacrum is towards the sacrum">
425
+ text = <"Sacro-Posterior">
426
+ >
427
+ ["at0.56"] = <
428
+ description = <"The fetal sacrum is towards the left">
429
+ text = <"Left Sacro-transverse">
430
+ >
431
+ ["at0.57"] = <
432
+ description = <"The fetal sacrum is to the left and symphasis">
433
+ text = <"Left Sacro-anterior">
434
+ >
435
+ ["at0.58"] = <
436
+ description = <"The fetal sacrum is to the left and posterior">
437
+ text = <"Left Sacro-posterior">
438
+ >
439
+ ["at0.59"] = <
440
+ description = <"The fetal chin is towards the right">
441
+ text = <"Right Mento-transverse">
442
+ >
443
+ ["at0.6"] = <
444
+ description = <"The lie is perpendicular to the mother's spine">
445
+ text = <"Transverse">
446
+ >
447
+ ["at0.60"] = <
448
+ description = <"The fetal chin is towards the right and anterior">
449
+ text = <"Right Mento-anterior">
450
+ >
451
+ ["at0.61"] = <
452
+ description = <"The fetal chin is to the right and posterior">
453
+ text = <"Right Mento-posterior">
454
+ >
455
+ ["at0.62"] = <
456
+ description = <"The fetal chin is towards the symphasis">
457
+ text = <"Mento-Anterior">
458
+ >
459
+ ["at0.63"] = <
460
+ description = <"The fetal chin is towards the sacrum">
461
+ text = <"Mento-Posterior">
462
+ >
463
+ ["at0.64"] = <
464
+ description = <"The fetal chin is towards the left">
465
+ text = <"Left Mento-transverse">
466
+ >
467
+ ["at0.65"] = <
468
+ description = <"The fetal chin is to the left and symphasis">
469
+ text = <"Left Mento-anterior">
470
+ >
471
+ ["at0.66"] = <
472
+ description = <"The fetal chin is to the left and posterior">
473
+ text = <"Left Mento-posterior">
474
+ >
475
+ ["at0.67"] = <
476
+ description = <"Possibly small for this gestation">
477
+ text = <"? small for dates">
478
+ >
479
+ ["at0.68"] = <
480
+ description = <"Possibly larger than expected for this gestation">
481
+ text = <"? large for dates">
482
+ >
483
+ ["at0.69"] = <
484
+ description = <"A fetal foot is extended and presenting">
485
+ text = <"Footling breech">
486
+ >
487
+ ["at0.7"] = <
488
+ description = <"The lie is oblique to the mother's spine">
489
+ text = <"Oblique">
490
+ >
491
+ ["at0.70"] = <
492
+ description = <"The head is extended and the face is presenting">
493
+ text = <"Face">
494
+ >
495
+ ["at0.71"] = <
496
+ description = <"The umbilical cord is presenting">
497
+ text = <"Cord">
498
+ >
499
+ ["at0.72"] = <
500
+ description = <"There is a compound presentation">
501
+ text = <"Compound">
502
+ >
503
+ ["at0.73"] = <
504
+ description = <"*">
505
+ text = <"Station">
506
+ >
507
+ ["at0.74"] = <
508
+ description = <"Estimation of presenting part in relation to pelvic brim">
509
+ text = <"Engagement">
510
+ >
511
+ ["at0.75"] = <
512
+ description = <"Description of engagement of fetal head">
513
+ text = <"Qualitative">
514
+ >
515
+ ["at0.76"] = <
516
+ description = <"*">
517
+ text = <"High and mobile">
518
+ >
519
+ ["at0.77"] = <
520
+ description = <"*">
521
+ text = <"At pelvic brim">
522
+ >
523
+ ["at0.78"] = <
524
+ description = <"*">
525
+ text = <"Engaged">
526
+ >
527
+ ["at0.79"] = <
528
+ description = <"*">
529
+ text = <"Estimation">
530
+ >
531
+ ["at0.8"] = <
532
+ description = <"The presenting part of the fetus">
533
+ text = <"Presentation">
534
+ >
535
+ ["at0.9"] = <
536
+ description = <"The head is the presenting part">
537
+ text = <"Cephalic">
538
+ >
539
+ ["at0000"] = <
540
+ description = <"Generic examination cluster for describing a finding on physical examination">
541
+ text = <"Examination">
542
+ >
543
+ ["at0000.1"] = <
544
+ description = <"Examination cluster for describing a finding on physical examination of a fetus">
545
+ text = <"Examination of the fetus">
546
+ >
547
+ ["at0002"] = <
548
+ description = <"Textural description of the part examined">
549
+ text = <"Clinical description">
550
+ >
551
+ ["at0003"] = <
552
+ description = <"More focused examination findings">
553
+ text = <"Detail">
554
+ >
555
+ ["at0004"] = <
556
+ description = <"A group of statements about the normality of the examination">
557
+ text = <"Normal statements">
558
+ >
559
+ ["at0005"] = <
560
+ description = <"A specific statement of normality">
561
+ text = <"Normal statement">
562
+ >
563
+ ["at0006"] = <
564
+ description = <"Drawing or image of the area examined">
565
+ text = <"Image">
566
+ >
567
+ ["at0007"] = <
568
+ description = <"Information about the size of the object for examination">
569
+ text = <"Size">
570
+ >
571
+ ["at0008"] = <
572
+ description = <"Clinical findings">
573
+ text = <"Findings">
574
+ >
575
+ >
576
+ >
577
+ >