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,139 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of a named body part
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] matches { -- Examination of a named body part
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9] matches { -- Object
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 {/auscultation\.v1draft/}
54
+ archetype_id/value matches {/inspection\.v1draft/}
55
+ archetype_id/value matches {/percussion\.v1draft/}
56
+ exclude
57
+ archetype_id/value matches {/.*/}
58
+ }
59
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
60
+ items cardinality matches {0..*; unordered} matches {
61
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
62
+ include
63
+ archetype_id/value matches {/dimensions\.v1/}
64
+ archetype_id/value matches {/size\.v1draft/}
65
+ }
66
+ }
67
+ }
68
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
69
+ items cardinality matches {0..*; unordered} matches {
70
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
71
+ include
72
+ archetype_id/value matches {/exam-generic\.v1/}
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
79
+ value matches {
80
+ DV_MULTIMEDIA matches {
81
+ media_type matches {
82
+ [openEHR::
83
+ 426,
84
+ 427,
85
+ 429]
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+
93
+ ontology
94
+ term_definitions = <
95
+ ["en"] = <
96
+ items = <
97
+ ["at0.1"] = <
98
+ description = <"Information about the size of the object for examination">
99
+ text = <"Size">
100
+ >
101
+ ["at0.9"] = <
102
+ description = <"The object of examination">
103
+ text = <"Object">
104
+ >
105
+ ["at0000"] = <
106
+ description = <"Generic examination cluster for describing a finding on physical examination">
107
+ text = <"Examination">
108
+ >
109
+ ["at0000.1"] = <
110
+ description = <"Generic examination cluster for describing a finding on physical examination">
111
+ text = <"Examination of a named body part">
112
+ >
113
+ ["at0002"] = <
114
+ description = <"Textural description of the part examined">
115
+ text = <"Clinical description">
116
+ >
117
+ ["at0003"] = <
118
+ description = <"More focused examination findings">
119
+ text = <"Detail">
120
+ >
121
+ ["at0004"] = <
122
+ description = <"A group of statements about the normality of the examination">
123
+ text = <"Normal statements">
124
+ >
125
+ ["at0005"] = <
126
+ description = <"A specific statement of normality">
127
+ text = <"Normal statement">
128
+ >
129
+ ["at0006"] = <
130
+ description = <"Drawing or image of the area examined">
131
+ text = <"Image">
132
+ >
133
+ ["at0008"] = <
134
+ description = <"Clinical findings">
135
+ text = <"Findings">
136
+ >
137
+ >
138
+ >
139
+ >
@@ -0,0 +1,116 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-nervous_system.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of nervous system
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 nervous system.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1] matches { -- Examination of nervous system
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
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
46
+ include
47
+ archetype_id/value matches {/cranial_nerves\.v1draft/}
48
+ archetype_id/value matches {/coordination\.v1draft/}
49
+ archetype_id/value matches {/balance\.v1draft/}
50
+ archetype_id/value matches {/gait\.v1draft/}
51
+ archetype_id/value matches {/move\.v1/}
52
+ }
53
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
54
+ items cardinality matches {0..*; unordered} matches {
55
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
56
+ include
57
+ archetype_id/value matches {/exam-generic\.v1/}
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
64
+ value matches {
65
+ DV_MULTIMEDIA matches {
66
+ media_type matches {
67
+ [openEHR::
68
+ 426,
69
+ 427,
70
+ 429]
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ ontology
79
+ term_definitions = <
80
+ ["en"] = <
81
+ items = <
82
+ ["at0000"] = <
83
+ description = <"Basic examination cluster for describing findings on physical examination when there is no named focus of examination">
84
+ text = <"Examination">
85
+ >
86
+ ["at0000.1"] = <
87
+ description = <"Basic examination cluster for describing findings on physical examination of the nervous system">
88
+ text = <"Examination of nervous system">
89
+ >
90
+ ["at0002"] = <
91
+ description = <"Textural description of the part examined">
92
+ text = <"Clinical description">
93
+ >
94
+ ["at0003"] = <
95
+ description = <"More focused examination findings">
96
+ text = <"Detail">
97
+ >
98
+ ["at0004"] = <
99
+ description = <"A group of statements about the normality of the examination">
100
+ text = <"Normal statements">
101
+ >
102
+ ["at0005"] = <
103
+ description = <"A specific statement of normality">
104
+ text = <"Normal statement">
105
+ >
106
+ ["at0006"] = <
107
+ description = <"Drawing or image of the area examined">
108
+ text = <"Image">
109
+ >
110
+ ["at0008"] = <
111
+ description = <"Clinical findings">
112
+ text = <"Findings">
113
+ >
114
+ >
115
+ >
116
+ >
@@ -0,0 +1,420 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-uterine_cervix.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of the cervix
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 cluster for recording findings regarding the uterine cervix on physical examination.">
18
+ use = <"">
19
+ keywords = <"examination", "physical", "cervix", "uterine">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1] matches { -- Examination of the cervix
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.8] occurrences matches {0..1} matches { -- Position
46
+ value matches {
47
+ DV_CODED_TEXT matches {
48
+ defining_code matches {
49
+ [local::
50
+ at0.9, -- Central
51
+ at0.10, -- To the right
52
+ at0.11, -- To the left
53
+ at0.12, -- Anterior
54
+ at0.13] -- Posterior
55
+ }
56
+ }
57
+ }
58
+ }
59
+ ELEMENT[at0.36] occurrences matches {0..1} matches { -- Consistency
60
+ value matches {
61
+ DV_CODED_TEXT matches {
62
+ defining_code matches {
63
+ [local::
64
+ at0.37, -- Soft
65
+ at0.38] -- Firm
66
+ }
67
+ }
68
+ }
69
+ }
70
+ CLUSTER[at0007] occurrences matches {0..1} matches { -- Size
71
+ items cardinality matches {0..*; unordered} matches {
72
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
73
+ include
74
+ archetype_id/value matches {/dimensions\.v1/}
75
+ }
76
+ }
77
+ }
78
+ CLUSTER[at0.48] occurrences matches {0..1} matches { -- Labour-specific findings
79
+ items cardinality matches {0..*; unordered} matches {
80
+ ELEMENT[at0.14] occurrences matches {0..1} matches { -- Effacement
81
+ value matches {
82
+ 0|[local::at0.15], -- Uneffaced
83
+ 5|[local::at0.26], -- Ripe
84
+ 10|[local::at0.16], -- 10% effaced
85
+ 20|[local::at0.17], -- 20% effaced
86
+ 30|[local::at0.18], -- 30% effaced
87
+ 40|[local::at0.19], -- 40% effaced
88
+ 50|[local::at0.20], -- Partially (50%) effaced
89
+ 60|[local::at0.21], -- 60% effaced
90
+ 70|[local::at0.22], -- 70% effaced
91
+ 80|[local::at0.23], -- 80% effaced
92
+ 90|[local::at0.24], -- 90% effaced
93
+ 100|[local::at0.25] -- Fully effaced
94
+ }
95
+ }
96
+ ELEMENT[at0.40] occurrences matches {0..1} matches { -- Thickness
97
+ value matches {
98
+ DV_CODED_TEXT matches {
99
+ defining_code matches {
100
+ [local::
101
+ at0.41, -- Thick
102
+ at0.42, -- Thin
103
+ at0.43, -- Paper-thin
104
+ at0.44] -- Oedematous
105
+ }
106
+ }
107
+ }
108
+ }
109
+ ELEMENT[at0.45] occurrences matches {0..1} matches { -- Application to presenting part
110
+ value matches {
111
+ DV_CODED_TEXT matches {
112
+ defining_code matches {
113
+ [local::
114
+ at0.46, -- Loosely applied
115
+ at0.47] -- Tightly applied
116
+ }
117
+ }
118
+ }
119
+ }
120
+ CLUSTER[at0.27] occurrences matches {0..2} matches { -- Cervical os
121
+ items cardinality matches {0..*; unordered} matches {
122
+ ELEMENT[at0.32] occurrences matches {0..1} matches { -- Site
123
+ value matches {
124
+ DV_CODED_TEXT matches {
125
+ defining_code matches {
126
+ [local::
127
+ at0.33, -- External os
128
+ at0.34] -- Internal os
129
+ }
130
+ }
131
+ }
132
+ }
133
+ CLUSTER[at0.31] occurrences matches {0..1} matches { -- Dilation
134
+ items cardinality matches {0..*; unordered} matches {
135
+ ELEMENT[at0.28] occurrences matches {0..1} matches { -- Estimate
136
+ value matches {
137
+ C_DV_QUANTITY <
138
+ property = <[openehr::122]>
139
+ list = <
140
+ ["1"] = <
141
+ units = <"cm">
142
+ magnitude = <|0.0..10.0|>
143
+ precision = <|1|>
144
+ >
145
+ >
146
+ >
147
+ }
148
+ }
149
+ ELEMENT[at0.35] occurrences matches {0..1} matches { -- Number of finger tips admitted
150
+ value matches {
151
+ DV_COUNT matches {*}
152
+ }
153
+ }
154
+ }
155
+ }
156
+ ELEMENT[at0.29] occurrences matches {0..1} matches { -- Findings
157
+ value matches {
158
+ DV_TEXT matches {*}
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
166
+ include
167
+ archetype_id/value matches {/palpation\.v1draft/}
168
+ archetype_id/value matches {/inspection\.v1draft/}
169
+ exclude
170
+ archetype_id/value matches {/.*/}
171
+ }
172
+ CLUSTER[at0.30] occurrences matches {0..1} matches { -- Vaginal fluid
173
+ items cardinality matches {0..*; unordered} matches {
174
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
175
+ include
176
+ archetype_id/value matches {/fluid\.v1/}
177
+ }
178
+ }
179
+ }
180
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
181
+ items cardinality matches {0..*; unordered} matches {
182
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
183
+ include
184
+ archetype_id/value matches {/exam\.v1/}
185
+ archetype_id/value matches {/exam-fetus\.v1/}
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
192
+ value matches {
193
+ DV_MULTIMEDIA matches {
194
+ media_type matches {
195
+ [openEHR::
196
+ 426,
197
+ 427,
198
+ 429]
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+
206
+ ontology
207
+ term_definitions = <
208
+ ["en"] = <
209
+ items = <
210
+ ["at0.1"] = <
211
+ description = <"Information about the size of the object for examination">
212
+ text = <"Size">
213
+ >
214
+ ["at0.10"] = <
215
+ description = <"The cervix is deviated to the right">
216
+ text = <"To the right">
217
+ >
218
+ ["at0.11"] = <
219
+ description = <"The cervix is deviated to the left">
220
+ text = <"To the left">
221
+ >
222
+ ["at0.12"] = <
223
+ description = <"The cervix is anterior near the pubis">
224
+ text = <"Anterior">
225
+ >
226
+ ["at0.13"] = <
227
+ description = <"The cervix is at the back near the sacrum">
228
+ text = <"Posterior">
229
+ >
230
+ ["at0.14"] = <
231
+ description = <"The effacement of the uterine cervix in late pregnancy or labour.">
232
+ text = <"Effacement">
233
+ >
234
+ ["at0.15"] = <
235
+ description = <"The cervix has not changed its form">
236
+ text = <"Uneffaced">
237
+ >
238
+ ["at0.16"] = <
239
+ description = <"The cervix is effaced to about 10%">
240
+ text = <"10% effaced">
241
+ >
242
+ ["at0.17"] = <
243
+ description = <"The cervix is effaced to about 20%">
244
+ text = <"20% effaced">
245
+ >
246
+ ["at0.18"] = <
247
+ description = <"The cervix is effaced to about 30%">
248
+ text = <"30% effaced">
249
+ >
250
+ ["at0.19"] = <
251
+ description = <"The cervix is effaced to about 40%">
252
+ text = <"40% effaced">
253
+ >
254
+ ["at0.20"] = <
255
+ description = <"The cervix is partially effaced to about 50%">
256
+ text = <"Partially (50%) effaced">
257
+ >
258
+ ["at0.21"] = <
259
+ description = <"The cervix is effaced to about 60%">
260
+ text = <"60% effaced">
261
+ >
262
+ ["at0.22"] = <
263
+ description = <"The cervix is effaced to about 70%">
264
+ text = <"70% effaced">
265
+ >
266
+ ["at0.23"] = <
267
+ description = <"The cervix is effaced to about 80%">
268
+ text = <"80% effaced">
269
+ >
270
+ ["at0.24"] = <
271
+ description = <"The cervix is effaced to about 90%">
272
+ text = <"90% effaced">
273
+ >
274
+ ["at0.25"] = <
275
+ description = <"The cervix is fully effaced to 100%">
276
+ text = <"Fully effaced">
277
+ >
278
+ ["at0.26"] = <
279
+ description = <"The cervix is ripe and beginning to efface">
280
+ text = <"Ripe">
281
+ >
282
+ ["at0.27"] = <
283
+ description = <"The outlet of the uterus">
284
+ text = <"Cervical os">
285
+ >
286
+ ["at0.28"] = <
287
+ description = <"The dilation of the os">
288
+ text = <"Estimate">
289
+ >
290
+ ["at0.29"] = <
291
+ description = <"Findings about the cervical os">
292
+ text = <"Findings">
293
+ >
294
+ ["at0.30"] = <
295
+ description = <"Vaginal loss or discharge">
296
+ text = <"Vaginal fluid">
297
+ >
298
+ ["at0.31"] = <
299
+ description = <"Dilation of cervix">
300
+ text = <"Dilation">
301
+ >
302
+ ["at0.32"] = <
303
+ description = <"Identify part of cervix which is being examined">
304
+ text = <"Site">
305
+ >
306
+ ["at0.33"] = <
307
+ description = <"External opening of the cervix to the vagina">
308
+ text = <"External os">
309
+ >
310
+ ["at0.34"] = <
311
+ description = <"Internal opening of the cervix to the uterus">
312
+ text = <"Internal os">
313
+ >
314
+ ["at0.35"] = <
315
+ description = <"Number of finger tips that are able to be admitted into the internal or external os">
316
+ text = <"Number of finger tips admitted">
317
+ >
318
+ ["at0.36"] = <
319
+ description = <"Consistency of cervix">
320
+ text = <"Consistency">
321
+ >
322
+ ["at0.37"] = <
323
+ description = <"Soft">
324
+ text = <"Soft">
325
+ >
326
+ ["at0.38"] = <
327
+ description = <"Firm">
328
+ text = <"Firm">
329
+ >
330
+ ["at0.39"] = <
331
+ description = <"Length of cervix">
332
+ text = <"Length">
333
+ >
334
+ ["at0.40"] = <
335
+ description = <"Cervical thickness">
336
+ text = <"Thickness">
337
+ >
338
+ ["at0.41"] = <
339
+ description = <"Thick">
340
+ text = <"Thick">
341
+ >
342
+ ["at0.42"] = <
343
+ description = <"Thin">
344
+ text = <"Thin">
345
+ >
346
+ ["at0.43"] = <
347
+ description = <"Very thin">
348
+ text = <"Paper-thin">
349
+ >
350
+ ["at0.44"] = <
351
+ description = <"Thickened and swollen">
352
+ text = <"Oedematous">
353
+ >
354
+ ["at0.45"] = <
355
+ description = <"Application of cervix to fetal presenting part">
356
+ text = <"Application to presenting part">
357
+ >
358
+ ["at0.46"] = <
359
+ description = <"Not moulded to presenting part">
360
+ text = <"Loosely applied">
361
+ >
362
+ ["at0.47"] = <
363
+ description = <"Moulded to presenting part">
364
+ text = <"Tightly applied">
365
+ >
366
+ ["at0.48"] = <
367
+ description = <"*">
368
+ text = <"Labour-specific findings">
369
+ >
370
+ ["at0.8"] = <
371
+ description = <"The position in relation to the normal anatomical position">
372
+ text = <"Position">
373
+ >
374
+ ["at0.9"] = <
375
+ description = <"The cervix is central and in the normal position">
376
+ text = <"Central">
377
+ >
378
+ ["at0000"] = <
379
+ description = <"Generic examination cluster for describing a finding on physical examination">
380
+ text = <"Examination">
381
+ >
382
+ ["at0000.1"] = <
383
+ description = <"Examination findings on physical examination of the uterine cervix">
384
+ text = <"Examination of the cervix">
385
+ >
386
+ ["at0001"] = <
387
+ description = <"The object of the examination">
388
+ text = <"Object">
389
+ >
390
+ ["at0002"] = <
391
+ description = <"Textural description of the part examined">
392
+ text = <"Clinical description">
393
+ >
394
+ ["at0003"] = <
395
+ description = <"More focused examination findings">
396
+ text = <"Detail">
397
+ >
398
+ ["at0004"] = <
399
+ description = <"A group of statements about the normality of the examination">
400
+ text = <"Normal statements">
401
+ >
402
+ ["at0005"] = <
403
+ description = <"A specific statement of normality">
404
+ text = <"Normal statement">
405
+ >
406
+ ["at0006"] = <
407
+ description = <"Drawing or image of the area examined">
408
+ text = <"Image">
409
+ >
410
+ ["at0007"] = <
411
+ description = <"Information about the size of the object for examination">
412
+ text = <"Size">
413
+ >
414
+ ["at0008"] = <
415
+ description = <"Clinical findings">
416
+ text = <"Findings">
417
+ >
418
+ >
419
+ >
420
+ >