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,59 @@
1
+ archetype
2
+ adl-test-ENTRY.c_dv_quantity.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[at10005] matches { -- c_quantity
16
+ value matches {
17
+ C_DV_QUANTITY <
18
+ list = <
19
+ ["1"] = <
20
+ units = <"yr">
21
+ magnitude = <|0.0..200.0|>
22
+ precision = <|2|>
23
+ >
24
+ ["2"] = <
25
+ units = <"mth">
26
+ magnitude = <|1.0..36.0|>
27
+ precision = <|2|>
28
+ >
29
+ >
30
+ property = <[openehr::128]>
31
+ >
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ ontology
40
+ primary_language = <"en">
41
+ languages_available = <"en", ...>
42
+ term_definitions = <
43
+ ["en"] = <
44
+ items = <
45
+ ["at0000"] = <
46
+ text = <"domain types test">
47
+ description = <"domain types test">
48
+ >
49
+ ["at0001"] = <
50
+ text = <"items">
51
+ description = <"items">
52
+ >
53
+ ["at10005"] = <
54
+ text = <"c_quantity">
55
+ description = <"c_quantity node">
56
+ >
57
+ >
58
+ >
59
+ >
@@ -0,0 +1,37 @@
1
+ archetype
2
+ adl-test-ENTRY.constraint_binding.v1
3
+ concept
4
+ [at0000] -- empty definition test
5
+
6
+ language
7
+ original_language = <[ISO_639-1::en]>
8
+
9
+ definition
10
+ ENTRY[at0000] matches {*}
11
+
12
+ ontology
13
+ primary_language = <"en">
14
+ languages_available = <"en", ...>
15
+
16
+ term_definitions = <
17
+ ["en"] = <
18
+ items = <
19
+ ["at0000"] = <
20
+ text = <"most minimal">;
21
+ description = <"most minimal">
22
+ >
23
+ >
24
+ >
25
+ >
26
+ constraint_binding = <
27
+ ["SNOMED_CT"] = <
28
+ items = <
29
+ ["ac0001"] = <http://terminology.org?terminology_id=snomed_ct&&has_relation=102002;with_target=128004>
30
+ >
31
+ >
32
+ ["ICD10"] = <
33
+ items = <
34
+ ["ac0001"] = <http://terminology.org?terminology_id=icd10&&has_relation=a2;with_target=b19>
35
+ >
36
+ >
37
+ >
@@ -0,0 +1,43 @@
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
+ content matches {
13
+ LIST[at0001] matches {
14
+ items cardinality matches {0..*} matches {
15
+ ELEMENT[at0002] matches {
16
+ value matches {
17
+ DV_CODED_TEXT matches {
18
+ defining_code matches {[ac0001]}
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
26
+
27
+ ontology
28
+ primary_language = <"en">
29
+ languages_available = <"en", ...>
30
+ term_definitions = <
31
+ ["en"] = <
32
+ items = <
33
+ ["at0000"] = <
34
+ text = <"test">
35
+ description = <"desc">
36
+ >
37
+ ["at0001"] = <
38
+ text = <"text">
39
+ description = <"desc">
40
+ >
41
+ >
42
+ >
43
+ >
@@ -0,0 +1,183 @@
1
+ archetype
2
+ adl-test-ENTRY.test.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
+ date_attributes matches {
13
+ LIST matches {
14
+ date_attr1 matches {yyyy-mm-dd}
15
+ date_attr2 matches {yyyy-??-??}
16
+ date_attr3 matches {yyyy-mm-??}
17
+ date_attr4 matches {yyyy-??-XX}
18
+ date_attr5 matches {1983-12-25}
19
+ date_attr6 matches {2000-01-01}
20
+
21
+ date_attr7 matches {|2004-09-20..2004-10-20|}
22
+ date_attr8 matches {|< 2004-09-20|}
23
+ date_attr9 matches {|<= 2004-09-20|}
24
+ date_attr10 matches {|> 2004-09-20|}
25
+ date_attr11 matches {|>= 2004-09-20|}
26
+
27
+ -- date_attr12 matches {2001-12-25, ...} -- Not currently in ADL syntax
28
+
29
+ -- with assumed values
30
+ date_attr13 matches {yyyy-mm-dd; 2000-01-01}
31
+ date_attr14 matches {yyyy-??-??; 2001-01-01}
32
+ date_attr15 matches {yyyy-mm-??; 2002-01-01}
33
+ date_attr16 matches {yyyy-??-XX; 2003-01-01}
34
+ date_attr17 matches {1983-12-25; 2004-01-01}
35
+ date_attr18 matches {2000-01-01; 2005-01-01}
36
+
37
+ date_attr19 matches {|2004-09-20..2004-10-20|; 2004-09-30}
38
+ date_attr20 matches {|< 2004-09-20|; 2004-09-01}
39
+ date_attr21 matches {|<= 2004-09-20|; 2003-09-20}
40
+ date_attr22 matches {|> 2004-09-20|; 2005-01-02}
41
+ date_attr23 matches {|>= 2004-09-20|; 2005-10-30}
42
+
43
+ -- single value as interval
44
+ date_attr24 matches {|2004-09-20|}
45
+ }
46
+ }
47
+ time_attributes matches {
48
+ LIST matches {
49
+ time_attr1 matches {hh:mm:ss}
50
+ time_attr2 matches {hh:mm:XX}
51
+ time_attr3 matches {hh:??:XX}
52
+ time_attr4 matches {hh:??:??}
53
+ time_attr5 matches {22:00:05}
54
+ time_attr6 matches {00:00:59}
55
+
56
+ time_attr7 matches {12:35}
57
+ time_attr8 matches {12:35:45,666}
58
+ time_attr9 matches {12:35:45-0700}
59
+ time_attr10 matches {12:35:45+0800}
60
+ time_attr11 matches {12:35:45,999-0700}
61
+ time_attr12 matches {12:35:45,000+0800}
62
+ time_attr13 matches {12:35:45,000Z}
63
+ time_attr14 matches {12:35:45,995-0700}
64
+ time_attr15 matches {12:35:45,001+0800}
65
+
66
+ time_attr16 matches {|12:35..16:35|}
67
+ time_attr17 matches {|< 12:35|}
68
+ time_attr18 matches {|<= 12:35|}
69
+ time_attr19 matches {|> 12:35|}
70
+ time_attr20 matches {|>= 12:35|}
71
+
72
+ -- with assumed values
73
+ time_attr21 matches {hh:mm:ss; 10:00:00}
74
+ time_attr22 matches {hh:mm:XX; 10:00:00}
75
+ time_attr23 matches {hh:??:XX; 10:00:00}
76
+ time_attr24 matches {hh:??:??; 10:00:00}
77
+ time_attr25 matches {22:00:05; 10:00:00}
78
+ time_attr26 matches {00:00:59; 10:00:00}
79
+
80
+ time_attr27 matches {12:35; 10:00:00}
81
+ time_attr28 matches {12:35:45,666; 10:00:00}
82
+ time_attr29 matches {12:35:45-0700; 10:00:00}
83
+ time_attr30 matches {12:35:45+0800; 10:00:00}
84
+ time_attr31 matches {12:35:45,999-0700; 10:00:00}
85
+ time_attr32 matches {12:35:45,000+0800; 10:00:00}
86
+ time_attr33 matches {12:35:45,000Z; 10:00:00}
87
+ time_attr34 matches {12:35:45,995-0700; 10:00:00}
88
+ time_attr35 matches {12:35:45,001+0800; 10:00:00}
89
+
90
+ time_attr36 matches {|12:35..16:35|; 10:00:00}
91
+ time_attr37 matches {|< 12:35|; 10:00:00}
92
+ time_attr38 matches {|<= 12:35|; 10:00:00}
93
+ time_attr39 matches {|> 12:35|; 10:00:00}
94
+ time_attr40 matches {|>= 12:35|; 10:00:00}
95
+
96
+ -- single value as interval
97
+ time_attr41 matches {|12:35|}
98
+
99
+ -- time_attr7 matches {64:02:25, ...} -- Not currently in ADL syntax
100
+
101
+ time_attr6 matches {00:00:59,0}
102
+ }
103
+ }
104
+ date_time_attributes matches {
105
+ LIST matches {
106
+ date_time_attr1 matches {yyyy-mm-dd hh:mm:ss}
107
+ date_time_attr2 matches {yyyy-mm-dd hh:mm:??}
108
+ date_time_attr3 matches {yyyy-mm-dd hh:mm:XX}
109
+ date_time_attr4 matches {yyyy-mm-dd hh:??:XX}
110
+ date_time_attr5 matches {yyyy-??-?? ??:??:??}
111
+ date_time_attr6 matches {1983-12-25T22:00:05}
112
+ date_time_attr7 matches {2000-01-01T00:00:59}
113
+
114
+ date_time_attr8 matches {2000-01-01T00:00:59}
115
+ date_time_attr9 matches {2000-01-01T00:00:59,105}
116
+ date_time_attr10 matches {2000-01-01T00:00:59Z}
117
+ date_time_attr11 matches {2000-01-01T00:00:59+1200}
118
+ date_time_attr12 matches {2000-01-01T00:00:59,500Z}
119
+ date_time_attr13 matches {2000-01-01T00:00:59,500+1200}
120
+ date_time_attr14 matches {2000-01-01T00:00:59,000Z}
121
+ date_time_attr15 matches {2000-01-01T00:00:59,000+1200}
122
+
123
+ date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|}
124
+ date_time_attr17 matches {|< 2000-01-01T00:00:00|}
125
+ date_time_attr18 matches {|<= 2000-01-01T00:00:00|}
126
+ date_time_attr19 matches {|> 2000-01-01T00:00:00|}
127
+ date_time_attr20 matches {|>= 2000-01-01T00:00:00|}
128
+
129
+ -- date_time_attr8 matches {2000-12-25T00:00:59, ...} -- Not currently in ADL syntax
130
+
131
+ -- with assumed values
132
+ date_time_attr1 matches {yyyy-mm-dd hh:mm:ss; 2006-03-31T01:12:00}
133
+ date_time_attr2 matches {yyyy-mm-dd hh:mm:??; 2006-03-31T01:12:00}
134
+ date_time_attr3 matches {yyyy-mm-dd hh:mm:XX; 2006-03-31T01:12:00}
135
+ date_time_attr4 matches {yyyy-mm-dd hh:??:XX; 2006-03-31T01:12:00}
136
+ date_time_attr5 matches {yyyy-??-?? ??:??:??; 2006-03-31T01:12:00}
137
+ date_time_attr6 matches {1983-12-25T22:00:05; 2006-03-31T01:12:00}
138
+ date_time_attr7 matches {2000-01-01T00:00:59; 2006-03-31T01:12:00}
139
+
140
+ date_time_attr8 matches {2000-01-01T00:00:59,000; 2006-03-31T01:12:00}
141
+ date_time_attr9 matches {2000-01-01T00:00:59,105; 2006-03-31T01:12:00}
142
+ date_time_attr10 matches {2000-01-01T00:00:59Z; 2006-03-31T01:12:00}
143
+ date_time_attr11 matches {2000-01-01T00:00:59+1200; 2006-03-31T01:12:00}
144
+ date_time_attr12 matches {2000-01-01T00:00:59,500Z; 2006-03-31T01:12:00}
145
+ date_time_attr13 matches {2000-01-01T00:00:59,500+1200; 2006-03-31T01:12:00}
146
+ date_time_attr14 matches {2000-01-01T00:00:59,000Z; 2006-03-31T01:12:00}
147
+ date_time_attr15 matches {2000-01-01T00:00:59,000+1200; 2006-03-31T01:12:00}
148
+
149
+ date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|; 2006-03-31T01:12:00}
150
+ date_time_attr17 matches {|< 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
151
+ date_time_attr18 matches {|<= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
152
+ date_time_attr19 matches {|> 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
153
+ date_time_attr20 matches {|>= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
154
+
155
+ -- newly supported pattern with "T" in the middle
156
+ date_time_attr21 matches {yyyy-??-??T??:??:??}
157
+
158
+ -- single value as interval
159
+ date_time_attr22 matches {|2000-01-01T00:00:00|}
160
+
161
+ -- datetime without specified seconds
162
+ date_time_attr23 matches {1995-03-17T12:01}
163
+
164
+ -- datetime without specified minute or seconds
165
+ date_time_attr23 matches {1995-03-17T12}
166
+ }
167
+ }
168
+ }
169
+ ontology
170
+ primary_language = <"en">
171
+ languages_available = <"en", ...>
172
+ terminologies_available = <"adl_test", ...>
173
+
174
+ term_definitions = <
175
+ ["en"] = <
176
+ items = <
177
+ ["at0000"] = <
178
+ text = <"test entry">;
179
+ description = <"test entry">
180
+ >
181
+ >
182
+ >
183
+ >
@@ -0,0 +1,97 @@
1
+ archetype
2
+ adl-test-ENTRY.domain_types.test
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[at10001] matches { -- ordinal
16
+ value matches {
17
+ 0|[local::at0003.0], -- capsule
18
+ 1|[local::at0003.1], -- powder
19
+ 2|[local::at0003.2], -- tablet
20
+ 3|[local::at0003.3], -- solution
21
+ 4|[local::at0003.4] -- suspension
22
+ }
23
+ }
24
+ ELEMENT[at10002] matches { -- coded_text
25
+ value matches {
26
+ [local::
27
+ at2001.0, -- initial
28
+ at2001.1, -- wait
29
+ at2001.2] -- completed
30
+ }
31
+ }
32
+
33
+ -- not a domain type
34
+ -- here for testing C_QUANTITY parsing
35
+
36
+ ELEMENT[at10006] matches { -- count
37
+ value matches {
38
+ COUNT matches {
39
+ magnitude matches {|0..100|}
40
+ }
41
+ }
42
+ }
43
+
44
+ -- not a domain type
45
+ -- here for verifying a bug fix
46
+
47
+ ELEMENT[at10006] matches { -- count
48
+ value matches {
49
+ COUNT matches {*}
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
+ ["at0003.0"] = <
76
+ text = <"capsule">
77
+ description = <"">
78
+ >
79
+ ["at0003.1"] = <
80
+ text = <"powder">
81
+ description = <"">
82
+ >
83
+ ["at0003.2"] = <
84
+ text = <"tablet">
85
+ description = <"">
86
+ >
87
+ ["at0003.3"] = <
88
+ text = <"solution">
89
+ description = <"">
90
+ >
91
+ ["at0003.4"] = <
92
+ text = <"suspension">
93
+ description = <"">
94
+ >
95
+ >
96
+ >
97
+ >
@@ -0,0 +1,109 @@
1
+ archetype
2
+ adl-test-ENTRY.test.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
+ types matches {
13
+ LIST[at0001] matches {
14
+ items cardinality matches {0..*} matches {
15
+ ELEMENT[at1001] matches { -- duration
16
+ value matches {PT0s}
17
+ }
18
+ ELEMENT[at1002] matches { -- duration
19
+ value matches {P1d}
20
+ }
21
+ ELEMENT[at1003] matches { -- duration
22
+ value matches {PT2h5m0s}
23
+ }
24
+ ELEMENT[at1004] matches { -- duration
25
+ value matches {|PT1h55m0s..PT2h5m0s|}
26
+ }
27
+ ELEMENT[at1005] matches { -- duration
28
+ value matches {|<=PT1h|}
29
+ }
30
+ ELEMENT[at1006] matches { -- duration
31
+ value matches {P1DT1H2M3S}
32
+ }
33
+ ELEMENT[at1007] matches { -- duration
34
+ value matches {P1W2DT1H2M3S}
35
+ }
36
+ ELEMENT[at1008] matches { -- duration
37
+ value matches {P3M1W2DT1H2M3S}
38
+ }
39
+ ELEMENT[at1009] matches { -- duration pattern
40
+ value matches {PDTH}
41
+ }
42
+ ELEMENT[at1010] matches { -- duration interval
43
+ value matches {|PT10M|}
44
+ }
45
+ ELEMENT[at1011] matches { -- duration ISO8601 pattern
46
+ value matches {PYMWDTHMS}
47
+ }
48
+ ELEMENT[at1011] matches { -- duration with fractional seconds
49
+ value matches {|PT0.004s|}
50
+ }
51
+ ELEMENT[at1012] matches { -- duration with fractional seconds
52
+ value matches {|PT10.01s|}
53
+ }
54
+ ELEMENT[at1013] matches { -- duration with fractional seconds
55
+ value matches {|PT1.1s|}
56
+ }
57
+ -- matches {PT30s, PT45s, PT1m0s, PT2m0s} -- Not currently in ADL syntax
58
+ -- matches {|P1d +/PT4h|}
59
+ }
60
+ }
61
+
62
+ LIST[at0002] matches {
63
+ items cardinality matches {0..*} matches {
64
+ ELEMENT[at1001] matches { -- duration with assumed values
65
+ value matches {PT0s; P1d}
66
+ }
67
+ ELEMENT[at1002] matches { -- duration with assumed values
68
+ value matches {P1d; P1d}
69
+ }
70
+ ELEMENT[at1003] matches { -- duration with assumed values
71
+ value matches {PT2h5m0s; P1d}
72
+ }
73
+ ELEMENT[at1004] matches { -- duration with assumed values
74
+ value matches {|PT1h55m0s..PT2h5m0s|; P1d}
75
+ }
76
+ ELEMENT[at1005] matches { -- duration with assumed values
77
+ value matches {|<=PT1h|; P1d}
78
+ }
79
+ ELEMENT[at1006] matches { -- duration
80
+
81
+ value matches {PDTH; P1d}
82
+ }
83
+
84
+ ELEMENT[at1010] matches { -- duration interval
85
+ value matches {|PT10M|; PT12M}
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ ontology
92
+ primary_language = <"en">
93
+ languages_available = <"en", ...>
94
+ terminologies_available = <"adl_test", ...>
95
+
96
+ term_definitions = <
97
+ ["en"] = <
98
+ items = <
99
+ ["at0000"] = <
100
+ text = <"test entry">;
101
+ description = <"test entry">
102
+ >
103
+ ["at0001"] = <
104
+ text = <"test list">;
105
+ description = <"test list">
106
+ >
107
+ >
108
+ >
109
+ >