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,57 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+ include OpenEHR::AssumedLibraryTypes
3
+
4
+ describe ISO8601Timezone do
5
+ before(:each) do
6
+ @iso8601timezone = ISO8601Timezone.new('+0900')
7
+ end
8
+
9
+ it 'should be an instance of ISO8601Timezone' do
10
+ @iso8601timezone.should be_an_instance_of ISO8601Timezone
11
+ end
12
+
13
+ it 'sign should be +1' do
14
+ @iso8601timezone.sign.should == +1
15
+ end
16
+
17
+ it 'hour should be 9' do
18
+ @iso8601timezone.hour.should == 9
19
+ end
20
+
21
+ it 'minute should be 0' do
22
+ @iso8601timezone.minute.should == 0
23
+ end
24
+
25
+ it 'should be +0900 as string' do
26
+ @iso8601timezone.as_string.should == '+0900'
27
+ end
28
+
29
+ it 'should not be gmt' do
30
+ @iso8601timezone.is_gmt?.should_not be_true
31
+ end
32
+
33
+ it 'should raise ArgumentError with invalid format' do
34
+ lambda {
35
+ ISO8601Timezone.new('ABCDE')
36
+ }.should raise_error ArgumentError
37
+ end
38
+
39
+ it 'should allow - sign' do
40
+ @iso8601timezone = ISO8601Timezone.new('-5000')
41
+ @iso8601timezone.as_string.should == '-5000'
42
+ end
43
+
44
+ describe 'GMT' do
45
+ before(:each) do
46
+ @iso8601timezone = ISO8601Timezone.new('Z')
47
+ end
48
+
49
+ it 'should racognize UTC as Z' do
50
+ @iso8601timezone.as_string.should == '+0000'
51
+ end
52
+
53
+ it 'should be gmt(almost)' do
54
+ @iso8601timezone.is_gmt?.should be_true
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,136 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+ include OpenEHR::AssumedLibraryTypes
3
+
4
+ describe TimeDefinitions do
5
+ describe 'year behavior' do
6
+ it 'should more than zero in openEHR specification' do
7
+ TimeDefinitions.should be_valid_year 0
8
+ end
9
+
10
+ it '-1 should not be valid year' do
11
+ TimeDefinitions.should_not be_valid_year -1
12
+ end
13
+
14
+ it 'nil year should be invaild' do
15
+ TimeDefinitions.should_not be_valid_year nil
16
+ end
17
+ end
18
+
19
+
20
+ describe 'month behavior' do
21
+ (1..12).each do |month|
22
+ it "should valid #{month}" do
23
+ TimeDefinitions.should be_valid_month month
24
+ end
25
+ end
26
+
27
+ it '0th month should be invalid' do
28
+ TimeDefinitions.should_not be_valid_month 0
29
+ end
30
+
31
+ it '13th month should be invalid' do
32
+ TimeDefinitions.should_not be_valid_month 13
33
+ end
34
+ end
35
+
36
+ describe 'day behavior' do
37
+ it '0 day should not be valid day' do
38
+ TimeDefinitions.should_not be_valid_day(1,2,0)
39
+ end
40
+
41
+ it '32 day should not be valid day' do
42
+ TimeDefinitions.should_not be_valid_day(1,2,32)
43
+ end
44
+
45
+ it 'should be valid 2009-09-19' do
46
+ TimeDefinitions.should be_valid_day(2009,9,19)
47
+ end
48
+
49
+ it 'should be invalid 2009 nil 19' do
50
+ TimeDefinitions.should_not be_valid_day(2009, nil,19)
51
+ end
52
+
53
+ it 'should be invalid nil 09 19' do
54
+ TimeDefinitions.should_not be_valid_day(nil, 9, 19)
55
+ end
56
+
57
+ it 'should be valid 2009 09' do
58
+ TimeDefinitions.should be_valid_day(2009,9,nil)
59
+ end
60
+ end
61
+
62
+ describe 'hour behavior' do
63
+ it 'should be valid hour 0,0,0' do
64
+ TimeDefinitions.should be_valid_hour(0,0,0)
65
+ end
66
+
67
+ it 'should be valid hour 12,59,59' do
68
+ TimeDefinitions.should be_valid_hour(12,59,59)
69
+ end
70
+
71
+ it 'should not be valid hour 12,60,59' do
72
+ TimeDefinitions.should_not be_valid_hour(12,60,59)
73
+ end
74
+
75
+ it 'should not be valid hour 12,59,60' do
76
+ TimeDefinitions.should_not be_valid_hour(12,59,60)
77
+ end
78
+
79
+ it 'should be valid hour 24,0,0' do
80
+ TimeDefinitions.should be_valid_hour(24,0,0)
81
+ end
82
+
83
+ it 'should not be valid hour 24,0,1' do
84
+ TimeDefinitions.should_not be_valid_hour(24,0,1)
85
+ end
86
+
87
+
88
+ it 'should be vaild hour 12,1' do
89
+ TimeDefinitions.should be_valid_hour(12,1)
90
+ end
91
+
92
+ it 'should not be valid hour 12,nil,1' do
93
+ TimeDefinitions.should be_valid_hour(12,nil,1)
94
+ end
95
+
96
+ it 'should be valid hour 12' do
97
+ TimeDefinitions.should be_valid_hour(12)
98
+ end
99
+ end
100
+
101
+ describe 'minute limit' do
102
+ it 'should be more than 0' do
103
+ TimeDefinitions.should be_valid_minute 0
104
+ end
105
+
106
+ it 'should be not less than 0' do
107
+ TimeDefinitions.should_not be_valid_minute -1
108
+ end
109
+
110
+ it 'should less than 60' do
111
+ TimeDefinitions.should be_valid_minute 59
112
+ end
113
+
114
+ it 'should not valid minute 60' do
115
+ TimeDefinitions.should_not be_valid_minute 60
116
+ end
117
+ end
118
+
119
+ describe 'second limit' do
120
+ it 'should be more than 0' do
121
+ TimeDefinitions.should be_valid_second 0
122
+ end
123
+
124
+ it 'should be not less than 0' do
125
+ TimeDefinitions.should_not be_valid_second -1
126
+ end
127
+
128
+ it 'should less than 60' do
129
+ TimeDefinitions.should be_valid_second 59
130
+ end
131
+
132
+ it 'should not valid minute 60' do
133
+ TimeDefinitions.should_not be_valid_second 60
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,42 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+ include OpenEHR::AssumedLibraryTypes
3
+
4
+ describe Timezone do
5
+ before(:each) do
6
+ @timezone = Timezone.new('+0930')
7
+ end
8
+
9
+ it 'hour is 9' do
10
+ @timezone.hour.should be 9
11
+ end
12
+
13
+ it 'minute is 30' do
14
+ @timezone.minute.should be 30
15
+ end
16
+
17
+ it 'minutes is alias of minute' do
18
+ @timezone.minutes.should be @timezone.minute
19
+ end
20
+
21
+ it 'hours is alias of hour' do
22
+ @timezone.hours.should be @timezone.hour
23
+ end
24
+
25
+ it '+0930 as string' do
26
+ @timezone.to_s.should == '+0930'
27
+ end
28
+
29
+ describe 'Z timezone' do
30
+ before(:each) do
31
+ @timezone = Timezone.new('Z')
32
+ end
33
+
34
+ it 'hour is 0' do
35
+ @timezone.hour.should be 0
36
+ end
37
+
38
+ it 'minute is 0' do
39
+ @timezone.minute.should be 0
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,88 @@
1
+ archetype (adl_version=1.4)
2
+ adl-test-ENTRY.assumed_types.v1
3
+
4
+ concept
5
+ [at0000] -- test entry
6
+ language
7
+ original_language = <[ISO_639-1::en]>
8
+ description
9
+ original_author = <
10
+ ["name"] = <"Thomas Beale">
11
+ >
12
+ details = <
13
+ ["en"] = <
14
+ language = <[ISO_639-1::en]>
15
+ purpose = <"test assumed types">
16
+ keywords = <"ADL", "assumed types", "test">
17
+ copyright = <"copyright (c) 2004 The openEHR Foundation">
18
+ >
19
+ >
20
+ lifecycle_state = <"draft">
21
+
22
+ definition
23
+ ENTRY[at0000] matches { -- test entry
24
+ string_attr1 matches {"something", "something else"; "something else"}
25
+ string_attr2 matches {/this|that|something else/; "this"}
26
+ string_attr3 matches {/cardio.*/; "cardiology examination"}
27
+ boolean_attr1 matches {True}
28
+ boolean_attr2 matches {False}
29
+ boolean_attr3 matches {True, False; True}
30
+ integer_attr1 matches {|55|}
31
+ integer_attr2 matches {10, 20, 30; 10}
32
+ integer_attr3 matches {|0..100|; 10}
33
+ integer_attr4 matches {|>10|; 11}
34
+ integer_attr5 matches {|<10|; 9}
35
+ integer_attr6 matches {|>=10|; 10}
36
+ integer_attr7 matches {|<=10|; 5}
37
+ integer_attr8 matches {|-10..-5|; -8}
38
+ integer_attr9 matches {|10|}
39
+ real_attr1 matches {|100.0|}
40
+ real_attr2 matches {10.0, 20.0, 30.0; 20.0}
41
+ real_attr3 matches {|0.0..100.0|; 20.4}
42
+ real_attr4 matches {|>=10.0|; 20.0}
43
+ real_attr5 matches {|<=10.0|; 9.5}
44
+ real_attr6 matches {|>=10.0|; 20.3}
45
+ real_attr7 matches {|<=10.0|; 8.0}
46
+ real_attr8 matches {|-10.0..-5.0|; -9.8}
47
+ real_attr9 matches {|10.0|}
48
+ date_attr1 matches {yyyy-mm-dd; 1995-03-17}
49
+ date_attr2 matches {yyyy-??-??; 1995-03-17}
50
+ date_attr3 matches {yyyy-mm-??; 1995-03-17}
51
+ date_attr4 matches {yyyy-??-XX; 1995-03}
52
+ date_attr5 matches {|1983-12-25|}
53
+ date_attr6 matches {|2000-01-01|}
54
+ time_attr1 matches {hh:mm:ss; 12:01:30}
55
+ time_attr2 matches {hh:mm:XX; 12:01}
56
+ time_attr3 matches {hh:??:XX; 12:00}
57
+ time_attr4 matches {hh:??:??; 12:00}
58
+ time_attr5 matches {|22:00:05,0|}
59
+ time_attr6 matches {|00:00:59,0|}
60
+ time_attr7 matches {|00:00:59,0|}
61
+ date_time_attr1 matches {yyyy-mm-ddThh:mm:ss; 1995-03-17T12:01:30}
62
+ date_time_attr2 matches {yyyy-mm-ddThh:mm:??; 1995-03-17T12:01}
63
+ date_time_attr3 matches {yyyy-mm-ddThh:mm:XX; 1995-03-17T12:01}
64
+ date_time_attr4 matches {yyyy-mm-ddThh:??:XX; 1995-03-17T12:01}
65
+ date_time_attr5 matches {yyyy-??-??T??:??:??; 1995-03-17T12:01}
66
+ date_time_attr6 matches {|1983-12-25T22:00:05,0|}
67
+ date_time_attr7 matches {|2000-01-01T00:00:59,0|}
68
+ date_time_attr8 matches {|2000-01-01T00:00:59,0|}
69
+ duration_attr1 matches {|PT0S|}
70
+ duration_attr2 matches {|P1D|}
71
+ duration_attr3 matches {|PT2H5M|}
72
+ duration_attr4 matches {|PT1H55M|}
73
+ duration_attr5 matches {|<=PT1H|; PT30M}
74
+ duration_attr6 matches {|PT1H30M|}
75
+ }
76
+
77
+ ontology
78
+ terminologies_available = <"adl_test", ...>
79
+ term_definitions = <
80
+ ["en"] = <
81
+ items = <
82
+ ["at0000"] = <
83
+ description = <"test entry">
84
+ text = <"test entry">
85
+ >
86
+ >
87
+ >
88
+ >
@@ -0,0 +1,143 @@
1
+ archetype (adl_version=1.4)
2
+ adl-test-ENTRY.basic_types.v1
3
+
4
+ concept
5
+ [at0000] -- test entry
6
+ language
7
+ original_language = <[ISO_639-1::en]>
8
+ description
9
+ original_author = <
10
+ ["name"] = <"Thomas Beale">
11
+ >
12
+ details = <
13
+ ["en"] = <
14
+ language = <[ISO_639-1::en]>
15
+ purpose = <"test structure">
16
+ keywords = <"ADL", "test">
17
+ copyright = <"copyright (c) 2004 The openEHR Foundation">
18
+ >
19
+ >
20
+ lifecycle_state = <"draft">
21
+
22
+ definition
23
+ ENTRY[at0000] matches { -- test entry
24
+ string_attr1 matches {"something"}
25
+ string_attr2 matches {/this|that|something else/}
26
+ string_attr3 matches {/cardio.*/}
27
+ string_attr4 matches {*}
28
+ string_attr5 matches {"and", "something", "else"}
29
+ boolean_attr1 matches {True}
30
+ boolean_attr2 matches {False}
31
+ boolean_attr3 matches {True, False}
32
+ boolean_attr4 matches {*}
33
+ integer_attr1 matches {|55|}
34
+ integer_attr2 matches {10, 20, 30}
35
+ integer_attr3 matches {|0..100|}
36
+ integer_attr3a matches {|>0..100|}
37
+ integer_attr3b matches {|0..<100|}
38
+ integer_attr3c matches {|>0..<100|}
39
+ integer_attr4 matches {|>10|}
40
+ integer_attr5 matches {|<10|}
41
+ integer_attr6 matches {|>=10|}
42
+ integer_attr7 matches {|<=10|}
43
+ integer_attr8 matches {|-10..-5|}
44
+ integer_attr9 matches {|10|}
45
+ integer_attr10 matches {*}
46
+ real_attr1 matches {|100.0|}
47
+ real_attr2 matches {10.0, 20.0, 30.0}
48
+ real_attr3 matches {|0.0..100.0|}
49
+ real_attr3a matches {|>0.0..100.0|}
50
+ real_attr3b matches {|0.0..<100.0|}
51
+ real_attr3c matches {|>0.0..<100.0|}
52
+ real_attr4 matches {|>=10.0|}
53
+ real_attr5 matches {|<=10.0|}
54
+ real_attr6 matches {|>=10.0|}
55
+ real_attr7 matches {|<=10.0|}
56
+ real_attr8 matches {|-10.0..-5.0|}
57
+ real_attr9 matches {|10.0|}
58
+ real_attr10 matches {*}
59
+ date_attr1 matches {yyyy-mm-dd}
60
+ date_attr2 matches {yyyy-??-??}
61
+ date_attr3 matches {yyyy-mm-??}
62
+ date_attr4 matches {yyyy-??-XX}
63
+ date_attr5 matches {|1983-12-25|}
64
+ date_attr6 matches {|2000-01-01|}
65
+ date_attr7 matches {|2000-01-01|}
66
+ date_attr8 matches {|2000-01-01..2000-02-01|}
67
+ date_attr8a matches {|>2000-01-01..2000-02-01|}
68
+ date_attr8b matches {|2000-01-01..<2000-02-01|}
69
+ date_attr8c matches {|>2000-01-01..<2000-02-01|}
70
+ time_attr1 matches {hh:mm:ss}
71
+ time_attr2 matches {hh:mm:??}
72
+ time_attr3 matches {hh:mm:XX}
73
+ time_attr4 matches {hh:??:??}
74
+ time_attr5 matches {hh:??:XX}
75
+ time_attr6 matches {|22:00:05,0|}
76
+ time_attr7 matches {|00:00:59,0|}
77
+ time_attr8 matches {|00:00:59,0|}
78
+ time_attr9 matches {|01:00:00..02:00:00|}
79
+ time_attr9a matches {|>01:00:00..02:00:00|}
80
+ time_attr9b matches {|01:00:00..<02:00:00|}
81
+ time_attr9c matches {|>01:00:00..<02:00:00|}
82
+ date_time_attr1 matches {yyyy-mm-ddThh:mm:ss}
83
+ date_time_attr2 matches {yyyy-mm-ddThh:mm:??}
84
+ date_time_attr3 matches {yyyy-mm-ddThh:mm:XX}
85
+ date_time_attr4 matches {yyyy-mm-ddThh:??:??}
86
+ date_time_attr5 matches {yyyy-mm-ddThh:??:XX}
87
+ date_time_attr6 matches {yyyy-??-??T??:??:??}
88
+ date_time_attr7a matches {|1983-12-25T22:00:05,0|}
89
+ date_time_attr7b matches {|2000-01-01T00:00:59,0|}
90
+ date_time_attr7c matches {|2000-01-01T00:00:59,0|}
91
+ date_time_attr9a matches {|2000-01-01T01:00:00..2000-01-01T02:00:00|}
92
+ date_time_attr9b matches {|>2000-01-01T01:00:00..2000-01-01T02:00:00|}
93
+ date_time_attr9c matches {|2000-01-01T01:00:00..<2000-01-01T02:00:00|}
94
+ date_time_attr9d matches {|>2000-01-01T01:00:00..<2000-01-01T02:00:00|}
95
+ duration_attr1 matches {Pw}
96
+ duration_attr2 matches {Pmw}
97
+ duration_attr3 matches {PWD}
98
+ duration_attr3a matches {PD}
99
+ duration_attr4 matches {Pym}
100
+ duration_attr5 matches {PdThms}
101
+ duration_attr6 matches {PTs}
102
+ duration_attr7 matches {PThm}
103
+ duration_attr8 matches {|PT0S|}
104
+ duration_attr8a matches {|PT0.004S|}
105
+ duration_attr9 matches {|P1D|}
106
+ duration_attr10 matches {|P38W..P39W4D|}
107
+ duration_attr10a matches {|>P38W..P39W4D|}
108
+ duration_attr10b matches {|P38W..<P39W4D|}
109
+ duration_attr10c matches {|>P38W..<P39W4D|}
110
+ duration_attr11 matches {|PT2H5M|}
111
+ duration_attr12 matches {|PT1H55M|}
112
+ duration_attr13 matches {|<=PT1H|}
113
+ duration_attr14 matches {|PT1H30M|}
114
+ duration_attr101 matches {Pw/|PT0S|}
115
+ duration_attr102 matches {Pmw/|PT0S|}
116
+ duration_attr103 matches {PWD/|PT0S|}
117
+ duration_attr103a matches {PD/|PT0S|}
118
+ duration_attr104 matches {Pym/|PT0S|}
119
+ duration_attr105 matches {PdThms/|PT0S|}
120
+ duration_attr106 matches {PTs/|PT0S|}
121
+ duration_attr107 matches {PThm/|PT0S|}
122
+ duration_attr201 matches {Pw/|P38W..P39W4D|}
123
+ duration_attr202 matches {Pmw/|P38W..P39W4D|}
124
+ duration_attr203 matches {PWD/|P38W..P39W4D|}
125
+ duration_attr203a matches {PD/|P38W..P39W4D|}
126
+ duration_attr204 matches {Pym/|P38W..P39W4D|}
127
+ duration_attr205 matches {PdThms/|P38W..P39W4D|}
128
+ duration_attr206 matches {PTs/|P38W..P39W4D|}
129
+ duration_attr207 matches {PThm/|P38W..P39W4D|}
130
+ }
131
+
132
+ ontology
133
+ terminologies_available = <"adl_test", ...>
134
+ term_definitions = <
135
+ ["en"] = <
136
+ items = <
137
+ ["at0000"] = <
138
+ description = <"test entry">
139
+ text = <"test entry">
140
+ >
141
+ >
142
+ >
143
+ >