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,40 @@
1
+ archetype
2
+ adl-test-entry.archetype_slot.v1
3
+
4
+ concept
5
+ [at0000]
6
+
7
+ language
8
+ original_language = <[ISO_639-1::en]>
9
+
10
+ definition
11
+ Entry[at0000] matches { -- Encounter
12
+ content matches {
13
+ allow_archetype SECTION [at0001] occurrences matches {0..1} matches {
14
+ include
15
+ domain_concept matches {/blood_pressure.v1/}
16
+ exclude
17
+ domain_concept matches {/blood_pressure.v2/}
18
+ domain_concept matches {/.*/}
19
+ }
20
+ }
21
+ }
22
+
23
+
24
+ ontology
25
+ primary_language = <"en">
26
+ languages_available = <"en", ...>
27
+ term_definitions = <
28
+ ["en"] = <
29
+ items = <
30
+ ["at0000"] = <
31
+ text = <"test composition">;
32
+ description = <"test composition">
33
+ >
34
+ ["at0001"] = <
35
+ text = <"slot">;
36
+ description = <"slot">
37
+ >
38
+ >
39
+ >
40
+ >
@@ -0,0 +1,37 @@
1
+ archetype
2
+ adl-test-entry.archetype_slot.v1
3
+
4
+ concept
5
+ [at0000]
6
+
7
+ language
8
+ original_language = <[ISO_639-1::en]>
9
+
10
+ definition
11
+ Entry[at0000] matches { -- Encounter
12
+ content matches {
13
+ allow_archetype SECTION [at0001] occurrences matches {0..1} matches {
14
+ include
15
+ archetype_id/value matches {/openEHR-EHR-CLUSTER\.device\.v1/}
16
+ }
17
+ }
18
+ }
19
+
20
+
21
+ ontology
22
+ primary_language = <"en">
23
+ languages_available = <"en", ...>
24
+ term_definitions = <
25
+ ["en"] = <
26
+ items = <
27
+ ["at0000"] = <
28
+ text = <"test composition">;
29
+ description = <"test composition">
30
+ >
31
+ ["at0001"] = <
32
+ text = <"slot">;
33
+ description = <"slot">
34
+ >
35
+ >
36
+ >
37
+ >
@@ -0,0 +1,29 @@
1
+ archetype (adl_version=1.4)
2
+ adl-test-ENTRY.archetype_uncommonkeys.v1
3
+
4
+ concept
5
+ [at0000] -- test
6
+
7
+ language
8
+ original_language = <[ISO_639-1::en]>
9
+
10
+ definition
11
+ ENTRY[at0000] matches {*}
12
+
13
+ ontology
14
+ primary_language = <"en">
15
+ languages_available = <"en", ...>
16
+
17
+ term_definitions = <
18
+ ["en"] = <
19
+ items = <
20
+ ["at0000"] = <
21
+ text = <"test text">;
22
+ description = <"test description">
23
+ anotherkey = <"another key value">
24
+ status = <"status value">
25
+ revision = <"revision value">
26
+ >
27
+ >
28
+ >
29
+ >
@@ -0,0 +1,272 @@
1
+ archetype
2
+ adl-test-ENTRY.basic_types.v1
3
+
4
+ concept
5
+ [at0000] -- basic data types test 1
6
+
7
+ language
8
+ original_language = <[ISO_639-1::en]>
9
+
10
+ definition
11
+ ENTRY[at0000] matches {
12
+ string_attributes matches {
13
+ LIST matches {
14
+ string_attr1 matches {"something"}
15
+ string_attr2 matches {/this|that|something else/}
16
+ string_attr3 matches {/cardio.*/}
17
+ string_attr4 matches {^mg|mg/ml|mg/g^}
18
+ string_attr5 matches {"apple","pear"}
19
+
20
+ -- with assumed values
21
+ string_attr6 matches {"something"; "nothing"}
22
+ string_attr7 matches {/this|that|something else/; "those"}
23
+ string_attr8 matches {/cardio.*/; "cardio.txt"}
24
+ string_attr9 matches {^mg|mg/ml|mg/g^; "mg"}
25
+ string_attr10 matches {"apple","pear"; "orange"}
26
+ }
27
+ }
28
+ boolean_attributes matches {
29
+ LIST matches {
30
+ boolean_attr1 matches {True}
31
+ boolean_attr2 matches {False}
32
+ boolean_attr3 matches {True, False}
33
+
34
+ -- with assumed values
35
+ boolean_attr4 matches {True; False}
36
+ boolean_attr5 matches {False; True}
37
+ boolean_attr6 matches {True, False; True}
38
+ }
39
+ }
40
+ integer_attributes matches {
41
+ LIST matches {
42
+ integer_attr1 matches {55}
43
+ integer_attr2 matches {10, 20, 30}
44
+ integer_attr3 matches {|0..100|}
45
+ integer_attr4 matches {|>10|}
46
+ integer_attr5 matches {|<10|}
47
+ integer_attr6 matches {|>=10|}
48
+ integer_attr7 matches {|<=10|}
49
+ integer_attr8 matches {|-10..-5|}
50
+ -- integer_attr9 matches {|100 +/-2|} -- not yet supported
51
+
52
+ -- with assumed values
53
+ integer_attr10 matches {55; 50}
54
+ integer_attr11 matches {10, 20, 30; 20}
55
+ integer_attr12 matches {|0..100|; 50}
56
+ integer_attr13 matches {|>10|; 20}
57
+ integer_attr14 matches {|<10|; 5}
58
+ integer_attr15 matches {|>=10|; 12}
59
+ integer_attr16 matches {|<=10|; 8}
60
+ integer_attr17 matches {|-10..-5|; -7}
61
+
62
+ -- single value as interval
63
+ integer_attr18 matches {|100|}
64
+
65
+ -- non-inclusive interval
66
+ integer_attr19 matches {|>0..100|}
67
+ integer_attr20 matches {|0..<100|}
68
+ integer_attr21 matches {|>0..<100|}
69
+
70
+ }
71
+ }
72
+ real_attributes matches {
73
+ LIST matches {
74
+ real_attr1 matches {100.0}
75
+ real_attr2 matches {10.0, 20.0, 30.0}
76
+ real_attr3 matches {|0.0..100.0|}
77
+ real_attr4 matches {|>10.0|}
78
+ real_attr5 matches {|<10.0|}
79
+ real_attr6 matches {|>=10.0|}
80
+ real_attr7 matches {|<=10.0|}
81
+ real_attr8 matches {|-10.0..-5.0|}
82
+ -- real_attr9 matches {|80.0 +/-12.0|} -- not yet supported
83
+
84
+ -- with assumed value
85
+ real_attr10 matches {100.0; 80.0}
86
+ real_attr11 matches {10.0, 20.0, 30.0; 20.0}
87
+ real_attr12 matches {|0.0..100.0|; 60.0}
88
+ real_attr13 matches {|>10.0|; 30.0}
89
+ real_attr14 matches {|<10.0|; 2.0}
90
+ real_attr15 matches {|>=10.0|; 10.0}
91
+ real_attr16 matches {|<=10.0|; 9.0}
92
+ real_attr17 matches {|-10.0..-5.0|; -8.0}
93
+
94
+ -- single value as interval
95
+ real_attr18 matches {|100.0|}
96
+
97
+ -- non-inclusive interval
98
+ real_attr19 matches {|>0.0..100.0|}
99
+ real_attr20 matches {|0.0..<100.0|}
100
+ real_attr21 matches {|>0.0..<100.0|}
101
+ }
102
+ }
103
+ date_attributes matches {
104
+ LIST matches {
105
+ date_attr1 matches {yyyy-mm-dd}
106
+ date_attr2 matches {yyyy-??-??}
107
+ date_attr3 matches {yyyy-mm-??}
108
+ date_attr4 matches {yyyy-??-XX}
109
+ date_attr5 matches {1983-12-25}
110
+ date_attr6 matches {2000-01-01}
111
+
112
+ date_attr7 matches {|2004-09-20..2004-10-20|}
113
+ date_attr8 matches {|< 2004-09-20|}
114
+ date_attr9 matches {|<= 2004-09-20|}
115
+ date_attr10 matches {|> 2004-09-20|}
116
+ date_attr11 matches {|>= 2004-09-20|}
117
+
118
+ date_attr12 matches {2001-12-25, ...} -- Not currently in ADL syntax
119
+
120
+ -- with assumed values
121
+ date_attr13 matches {yyyy-mm-dd; 2000-01-01}
122
+ date_attr14 matches {yyyy-??-??; 2001-01-01}
123
+ date_attr15 matches {yyyy-mm-??; 2002-01-01}
124
+ date_attr16 matches {yyyy-??-XX; 2003-01-01}
125
+ date_attr17 matches {1983-12-25; 2004-01-01}
126
+ date_attr18 matches {2000-01-01; 2005-01-01}
127
+
128
+ date_attr19 matches {|2004-09-20..2004-10-20|; 2004-09-30}
129
+ date_attr20 matches {|< 2004-09-20|; 2004-09-01}
130
+ date_attr21 matches {|<= 2004-09-20|; 2003-09-20}
131
+ date_attr22 matches {|> 2004-09-20|; 2005-01-02}
132
+ date_attr23 matches {|>= 2004-09-20|; 2005-10-30}
133
+
134
+ -- single value as interval
135
+ date_attr24 matches {|2004-09-20|}
136
+
137
+ date_attr25 matches {1995-03}
138
+ }
139
+ }
140
+ time_attributes matches {
141
+ LIST matches {
142
+ time_attr1 matches {hh:mm:ss}
143
+ time_attr2 matches {hh:mm:XX}
144
+ time_attr3 matches {hh:??:XX}
145
+ time_attr4 matches {hh:??:??}
146
+ time_attr5 matches {22:00:05}
147
+ time_attr6 matches {00:00:59}
148
+
149
+ time_attr7 matches {12:35}
150
+ time_attr8 matches {12:35:45,666}
151
+ time_attr9 matches {12:35:45-0700}
152
+ time_attr10 matches {12:35:45+0800}
153
+ time_attr11 matches {12:35:45,999-0700}
154
+ time_attr12 matches {12:35:45,000+0800}
155
+ time_attr13 matches {12:35:45,000Z}
156
+ time_attr14 matches {12:35:45,995-0700}
157
+ time_attr15 matches {12:35:45,001+0800}
158
+
159
+ time_attr16 matches {|12:35..16:35|}
160
+ time_attr17 matches {|< 12:35|}
161
+ time_attr18 matches {|<= 12:35|}
162
+ time_attr19 matches {|> 12:35|}
163
+ time_attr20 matches {|>= 12:35|}
164
+
165
+ -- with assumed values
166
+ time_attr21 matches {hh:mm:ss; 10:00:00}
167
+ time_attr22 matches {hh:mm:XX; 10:00:00}
168
+ time_attr23 matches {hh:??:XX; 10:00:00}
169
+ time_attr24 matches {hh:??:??; 10:00:00}
170
+ time_attr25 matches {22:00:05; 10:00:00}
171
+ time_attr26 matches {00:00:59; 10:00:00}
172
+
173
+ time_attr27 matches {12:35; 10:00:00}
174
+ time_attr28 matches {12:35:45,666; 10:00:00}
175
+ time_attr29 matches {12:35:45-0700; 10:00:00}
176
+ time_attr30 matches {12:35:45+0800; 10:00:00}
177
+ time_attr31 matches {12:35:45,999-0700; 10:00:00}
178
+ time_attr32 matches {12:35:45,000+0800; 10:00:00}
179
+ time_attr33 matches {12:35:45,000Z; 10:00:00}
180
+ time_attr34 matches {12:35:45,995-0700; 10:00:00}
181
+ time_attr35 matches {12:35:45,001+0800; 10:00:00}
182
+
183
+ time_attr36 matches {|12:35..16:35|; 10:00:00}
184
+ time_attr37 matches {|< 12:35|; 10:00:00}
185
+ time_attr38 matches {|<= 12:35|; 10:00:00}
186
+ time_attr39 matches {|> 12:35|; 10:00:00}
187
+ time_attr40 matches {|>= 12:35|; 10:00:00}
188
+
189
+ -- single value as interval
190
+ time_attr41 matches {|12:35|}
191
+
192
+ -- time_attr7 matches {64:02:25, ...} -- Not currently in ADL syntax
193
+
194
+ time_attr6 matches {00:00:59,0}
195
+ }
196
+ }
197
+ date_time_attributes matches {
198
+ LIST matches {
199
+ date_time_attr1 matches {yyyy-mm-dd hh:mm:ss}
200
+ date_time_attr2 matches {yyyy-mm-dd hh:mm:??}
201
+ date_time_attr3 matches {yyyy-mm-dd hh:mm:XX}
202
+ date_time_attr4 matches {yyyy-mm-dd hh:??:XX}
203
+ date_time_attr5 matches {yyyy-??-?? ??:??:??}
204
+ date_time_attr6 matches {1983-12-25T22:00:05}
205
+ date_time_attr7 matches {2000-01-01T00:00:59}
206
+
207
+ date_time_attr8 matches {2000-01-01T00:00:59}
208
+ date_time_attr9 matches {2000-01-01T00:00:59,105}
209
+ date_time_attr10 matches {2000-01-01T00:00:59Z}
210
+ date_time_attr11 matches {2000-01-01T00:00:59+1200}
211
+ date_time_attr12 matches {2000-01-01T00:00:59,500Z}
212
+ date_time_attr13 matches {2000-01-01T00:00:59,500+1200}
213
+ date_time_attr14 matches {2000-01-01T00:00:59,000Z}
214
+ date_time_attr15 matches {2000-01-01T00:00:59,000+1200}
215
+
216
+ date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|}
217
+ date_time_attr17 matches {|< 2000-01-01T00:00:00|}
218
+ date_time_attr18 matches {|<= 2000-01-01T00:00:00|}
219
+ date_time_attr19 matches {|> 2000-01-01T00:00:00|}
220
+ date_time_attr20 matches {|>= 2000-01-01T00:00:00|}
221
+
222
+ -- date_time_attr8 matches {2000-12-25T00:00:59, ...} -- Not currently in ADL syntax
223
+
224
+ -- with assumed values
225
+ date_time_attr1 matches {yyyy-mm-dd hh:mm:ss; 2006-03-31T01:12:00}
226
+ date_time_attr2 matches {yyyy-mm-dd hh:mm:??; 2006-03-31T01:12:00}
227
+ date_time_attr3 matches {yyyy-mm-dd hh:mm:XX; 2006-03-31T01:12:00}
228
+ date_time_attr4 matches {yyyy-mm-dd hh:??:XX; 2006-03-31T01:12:00}
229
+ date_time_attr5 matches {yyyy-??-?? ??:??:??; 2006-03-31T01:12:00}
230
+ date_time_attr6 matches {1983-12-25T22:00:05; 2006-03-31T01:12:00}
231
+ date_time_attr7 matches {2000-01-01T00:00:59; 2006-03-31T01:12:00}
232
+
233
+ date_time_attr8 matches {2000-01-01T00:00:59,000; 2006-03-31T01:12:00}
234
+ date_time_attr9 matches {2000-01-01T00:00:59,105; 2006-03-31T01:12:00}
235
+ date_time_attr10 matches {2000-01-01T00:00:59Z; 2006-03-31T01:12:00}
236
+ date_time_attr11 matches {2000-01-01T00:00:59+1200; 2006-03-31T01:12:00}
237
+ date_time_attr12 matches {2000-01-01T00:00:59,500Z; 2006-03-31T01:12:00}
238
+ date_time_attr13 matches {2000-01-01T00:00:59,500+1200; 2006-03-31T01:12:00}
239
+ date_time_attr14 matches {2000-01-01T00:00:59,000Z; 2006-03-31T01:12:00}
240
+ date_time_attr15 matches {2000-01-01T00:00:59,000+1200; 2006-03-31T01:12:00}
241
+
242
+ date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|; 2006-03-31T01:12:00}
243
+ date_time_attr17 matches {|< 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
244
+ date_time_attr18 matches {|<= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
245
+ date_time_attr19 matches {|> 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
246
+ date_time_attr20 matches {|>= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
247
+
248
+ -- newly supported pattern with "T" in the middle
249
+ date_time_attr21 matches {yyyy-??-??T??:??:??}
250
+
251
+ -- single value as interval
252
+ date_time_attr22 matches {|2000-01-01T00:00:00|}
253
+
254
+ --time_attr6 matches {|00:00:59,0|}
255
+ }
256
+ }
257
+ }
258
+ ontology
259
+ primary_language = <"en">
260
+ languages_available = <"en", ...>
261
+ terminologies_available = <"adl_test", ...>
262
+
263
+ term_definitions = <
264
+ ["en"] = <
265
+ items = <
266
+ ["at0000"] = <
267
+ text = <"test entry">;
268
+ description = <"test entry">
269
+ >
270
+ >
271
+ >
272
+ >
@@ -0,0 +1,77 @@
1
+ archetype
2
+ adl-test-ENTRY.c_code_phrase.v1
3
+
4
+ concept
5
+ [at0000]
6
+
7
+ language
8
+ original_language = <[ISO_639-1::en]>
9
+
10
+ definition
11
+ ENTRY[at0000] matches {
12
+ types matches {
13
+ LIST[at0001] matches {
14
+ items cardinality matches {0..*} matches {
15
+ ELEMENT[at10002] matches { -- code_phrase
16
+ value matches {
17
+ [icd10::
18
+ F43.00, -- acute stress reaction, mild
19
+ F43.01, -- acute stress reaction, moderate
20
+ F32.02] -- acute stress reaction, severe
21
+ }
22
+ }
23
+ ELEMENT[at10003] matches { -- code_phrase
24
+ value matches {
25
+ [local::
26
+ at1311, -- Colo-colonic anastomosis
27
+ at1312, -- Ileo-colonic anastomosis
28
+ at1313, -- Colo-anal anastomosis
29
+ at1314, -- Ileo-anal anastomosis
30
+ at1315] -- Colostomy
31
+ }
32
+ }
33
+ ELEMENT[at10004] matches { -- code_phrase
34
+ value matches {
35
+ [icd10::] -- empty code list
36
+ }
37
+ }
38
+ ELEMENT[at10005] matches { -- with assumed value
39
+ value matches {
40
+ [icd10::
41
+ F43.00, -- acute stress reaction, mild
42
+ F43.01, -- acute stress reaction, moderate
43
+ F32.02; -- acute stress reaction, severe
44
+ F43.00] -- assumed value
45
+ }
46
+ }
47
+ ELEMENT[at10006] matches { -- code_phrase
48
+ value matches {
49
+ [openehr::431] -- single code
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ ontology
58
+ primary_language = <"en">
59
+ languages_available = <"en", ...>
60
+ term_definitions = <
61
+ ["en"] = <
62
+ items = <
63
+ ["at0000"] = <
64
+ text = <"domain types test">
65
+ description = <"domain types test">
66
+ >
67
+ ["at0001"] = <
68
+ text = <"items">
69
+ description = <"items">
70
+ >
71
+ ["at0002"] = <
72
+ text = <"*">
73
+ description = <"*">
74
+ >
75
+ >
76
+ >
77
+ >