openehr 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,218 @@
1
+ # rm::data_structures::item_structure
2
+ # ItemStructure module
3
+ # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109346709572_859750_3810Report.html
4
+ # refs #54
5
+ $:.unshift(File.dirname(__FILE__))
6
+
7
+ require 'set'
8
+ #include OpenEHR::RM::DataStructures
9
+ module OpenEHR
10
+ module RM
11
+ module DataStructures
12
+ module ItemStructure
13
+
14
+ autoload :Representation, 'item_structure/representation'
15
+
16
+ class ItemStructure < DataStructure
17
+ end
18
+
19
+ class ItemSingle < ItemStructure
20
+ attr_reader :item
21
+
22
+ def initialize(args = {})
23
+ super(args)
24
+ self.item = args[:item]
25
+ end
26
+
27
+ def as_hierarchy
28
+ return @item
29
+ end
30
+
31
+ def item=(item)
32
+ raise ArgumentError, 'item is mandatory' if item.nil?
33
+ @item = item
34
+ end
35
+ end
36
+
37
+ class ItemList < ItemStructure
38
+ attr_accessor :items
39
+
40
+ def initialize(args = {})
41
+ super(args)
42
+ self.items = args[:items]
43
+ end
44
+
45
+ def item_count
46
+ unless @items.nil?
47
+ return @items.size
48
+ else
49
+ return 0
50
+ end
51
+ end
52
+
53
+ def names
54
+ return @items.collect{|item| item.name}
55
+ end
56
+
57
+ def named_item(a_name)
58
+ @items.each do |item|
59
+ return item if item.name.value == a_name
60
+ end
61
+ return nil
62
+ end
63
+
64
+ def ith_item(i)
65
+ raise ArgumentError, 'index invalid' if i <= 0
66
+ return @items[i - 1]
67
+ end
68
+
69
+ def as_hierarchy
70
+ return Cluster.new(:name => @name,
71
+ :archetype_node_id => @archetype_node_id,
72
+ :items => @items)
73
+ end
74
+ end
75
+
76
+ class ItemTable < ItemStructure
77
+ attr_accessor :rows
78
+
79
+ def initialize(args = {})
80
+ super(args)
81
+ self.rows = args[:rows]
82
+ end
83
+
84
+ def row_count
85
+ if @rows.nil?
86
+ return 0
87
+ else
88
+ return @rows.size
89
+ end
90
+ end
91
+
92
+ def column_count
93
+ if @rows.nil?
94
+ return 0
95
+ else
96
+ return @rows[0].items.count
97
+ end
98
+ end
99
+
100
+ def row_names
101
+ if @rows.nil?
102
+ return []
103
+ else
104
+ return @rows.collect{|r| r.name}
105
+ end
106
+ end
107
+
108
+ def column_names
109
+ if @rows.nil?
110
+ return []
111
+ else
112
+ return @rows[0].items.collect{|i| i.name}
113
+ end
114
+ end
115
+
116
+ def ith_row(i)
117
+ raise ArgumentError, 'invalid index' if i<=0 or i>@rows.size
118
+ return @rows[i - 1]
119
+ end
120
+
121
+ def has_row_with_name?(key)
122
+ raise ArgumentError, 'invalid argument' if key.nil? or key.empty?
123
+ @rows.each do |row|
124
+ return true if row.items[0].name.value == key
125
+ end
126
+ return false
127
+ end
128
+
129
+ def has_column_with_name?(key)
130
+ raise ArgumentError, 'invalid argument' if key.nil? or key.empty?
131
+ self.column_names.each do |name|
132
+ return true if name.value == key
133
+ end
134
+ return false
135
+ end
136
+
137
+ def named_row(key)
138
+ raise ArgumentError, 'invalid argument' unless has_row_with_name?(key)
139
+ @rows.each do |row|
140
+ return row if row.items[0].name.value == key
141
+ end
142
+ end
143
+
144
+ def has_row_with_key?(keys)
145
+ keys.each do |key|
146
+ @rows.each do |row|
147
+ return true if row.items[0].name.value == key
148
+ end
149
+ end
150
+ return false
151
+ end
152
+
153
+ def row_with_key(keys)
154
+ unless has_row_with_key?(keys)
155
+ raise ArgumentError, 'no row for key'
156
+ end
157
+ keys.each do |key|
158
+ @rows.each do |row|
159
+ return row if row.items[0].name.value == key
160
+ end
161
+ end
162
+ end
163
+
164
+ def element_at_cell_ij(i,j)
165
+ return @rows[i-1].items[j-1]
166
+ end
167
+
168
+ def element_at_named_cell(row_key, column_key)
169
+ i,j=0,0
170
+ @rows[0].items.each do |c|
171
+ break if c.name.value == column_key
172
+ i+=1
173
+ end
174
+ @rows.each do |row|
175
+ break if row.name.value == row_key
176
+ j+=1
177
+ end
178
+ return element_at_cell_ij(i,j)
179
+ end
180
+
181
+ def as_hierarchy
182
+ return @rows[0]
183
+ end
184
+ end
185
+
186
+ class ItemTree < ItemStructure
187
+ attr_accessor :items
188
+
189
+ def initialize(args ={ })
190
+ super(args)
191
+ self.items = args[:items]
192
+ end
193
+
194
+ def has_element_path?(path)
195
+ paths = [ ]
196
+ @items.each do |item|
197
+ paths << item.archetype_node_id
198
+ end
199
+ return paths.include? path
200
+ end
201
+
202
+ def element_at_path(path)
203
+ @items.each do |item|
204
+ return item if item.archetype_node_id == path
205
+ end
206
+ return nil
207
+ end
208
+
209
+ def as_hierarchy
210
+ return Cluster.new(:name => @name,
211
+ :archetype_node_id => @archetype_node_id,
212
+ :items => @items)
213
+ end
214
+ end
215
+ end # of ItemStructure
216
+ end # of DataStructures
217
+ end # of RM
218
+ end # of OpenEHR
@@ -0,0 +1,63 @@
1
+ # rm::data_structures::item_structure::representation
2
+ # representation module
3
+ # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109066789167_738055_2581Report.html
4
+ # refs #53
5
+ module OpenEHR
6
+ module RM
7
+ module DataStructures
8
+ module ItemStructure
9
+ module Representation
10
+ class Item < OpenEHR::RM::Common::Archetyped::Locatable
11
+ def initialize(args = {})
12
+ super(args)
13
+ end
14
+ end
15
+
16
+ class Element < Item
17
+ attr_accessor :value
18
+ attr_reader :null_flavor
19
+ def initialize(args = {})
20
+ super(args)
21
+ self.value = args[:value]
22
+ self.null_flavor= args[:null_flavor]
23
+ end
24
+
25
+ def null_flavor=(null_flavor)
26
+ sr = nil
27
+ if !null_flavor.nil? and
28
+ null_flavor.defining_code.terminology_id.name == 'openehr'
29
+ sr = Terminology.find(:first,
30
+ :conditions => "code = '#{null_flavor.defining_code.code_string}'")
31
+ end
32
+ if null_flavor.nil? or (!sr.nil? and sr.group == 'null flavours')
33
+ @null_flavor = null_flavor
34
+ else
35
+ raise ArgumentError, 'null_flavor is invalid'
36
+ end
37
+ end
38
+
39
+ def is_null?
40
+ return @value.nil?
41
+ end
42
+ end
43
+
44
+ class Cluster < Item
45
+ attr_reader :items
46
+
47
+ def initialize(args = {})
48
+ super(args)
49
+ self.items = args[:items]
50
+ end
51
+
52
+ def items=(items)
53
+ if !items.nil? and items.empty?
54
+ raise ArgumentError, 'items should not empty'
55
+ end
56
+ @items = items
57
+ end
58
+ end
59
+ end # of Representation
60
+ end # of ItemStructure
61
+ end # of DataStructures
62
+ end # of RM
63
+ end # of OpenEHR
@@ -0,0 +1,14 @@
1
+ $:.unshift(File.dirname(__FILE__))
2
+
3
+ module OpenEHR
4
+ module RM
5
+ module DataTypes
6
+ autoload :Basic, 'data_types/basic'
7
+ autoload :Encapsulated, 'data_types/encapsulated'
8
+ autoload :Quantity, 'data_types/quantity'
9
+ autoload :Text, 'data_types/text'
10
+ autoload :TimeSpecification, 'data_types/time_specification'
11
+ autoload :URI, 'data_types/uri'
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,108 @@
1
+ # This module is implemented from this UML:
2
+ # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067591791_562382_3151Report.html
3
+ # Ticket refs #52
4
+ module OpenEHR
5
+ module RM
6
+ module DataTypes
7
+ module Basic
8
+ module CanonicalFragment
9
+ end
10
+
11
+ class DataValue
12
+ include OpenEHR::RM::Support::Definition::BasicDefinition
13
+ attr_accessor :value
14
+ alias :v :value
15
+
16
+ def initialize(args = {})
17
+ self.value = args[:value]
18
+ end
19
+
20
+ def ==(other)
21
+ return self.value == other.value
22
+ end
23
+ end
24
+
25
+ class DvBoolean < DataValue
26
+ def initialize(args)
27
+ super(args)
28
+ end
29
+
30
+ def value=(value)
31
+ raise ArgumentError, "value must not be nil" if value.nil?
32
+ if value == true or value =~ /TRUE/i
33
+ @value = true
34
+ else
35
+ @value = false
36
+ end
37
+ end
38
+
39
+ def value?
40
+ @value == true
41
+ end
42
+ end # end of DvBoolean
43
+
44
+ class DvState < DataValue
45
+ attr_reader :is_terminal
46
+
47
+ def initialize(args)
48
+ super(args)
49
+ self.is_terminal = args[:is_terminal]
50
+ end
51
+
52
+ def value=(v)
53
+ raise ArgumentError, "value should not be nil" if v.nil?
54
+ @value = v
55
+ end
56
+
57
+ def is_terminal?
58
+ @is_terminal
59
+ end
60
+
61
+ def is_terminal=(s)
62
+ raise ArgumentError, "terminal should not be nil" if s.nil?
63
+ @is_terminal = s
64
+ end
65
+ end # end of DvState
66
+
67
+ class DvIdentifier < DataValue
68
+ attr_reader :issuer, :assigner, :id, :type
69
+
70
+ def initialize(args = {})
71
+ self.issuer = args[:issuer]
72
+ self.assigner = args[:assigner]
73
+ self.id = args[:id]
74
+ self.type = args[:type]
75
+ end
76
+
77
+ def issuer=(issuer)
78
+ if issuer.nil? or issuer.empty?
79
+ raise ArgumentError, 'issuer is mandatory'
80
+ end
81
+ @issuer = issuer
82
+ end
83
+
84
+ def assigner=(assigner)
85
+ if assigner.nil? or assigner.empty?
86
+ raise ArgumentError, 'assigner is mandatory'
87
+ end
88
+ @assigner = assigner
89
+ end
90
+
91
+ def id=(id)
92
+ if id.nil? or id.empty?
93
+ raise ArgumentError, 'id is manadtory'
94
+ end
95
+ @id = id
96
+ end
97
+
98
+ def type=(type)
99
+ if type.nil? or type.empty?
100
+ raise ArgumentError, 'type is mandatory'
101
+ end
102
+ @type = type
103
+ end
104
+ end #end of DvIdentifier
105
+ end # end of Basic
106
+ end # end of DataTypes
107
+ end # end of RM
108
+ end # end of OpenEHR
@@ -0,0 +1,818 @@
1
+ ANSI_X3.4-1968
2
+ iso-ir-6
3
+ ANSI_X3.4-1986
4
+ ISO_646.irv:1991
5
+ ASCII
6
+ ISO646-US
7
+ US-ASCII
8
+ us
9
+ IBM367
10
+ cp367
11
+ csASCII
12
+ ISO_8859-1:1987
13
+ iso-ir-100
14
+ ISO_8859-1
15
+ ISO-8859-1
16
+ latin1
17
+ l1
18
+ IBM819
19
+ CP819
20
+ csISOLatin1
21
+ ISO_8859-2:1987
22
+ iso-ir-101
23
+ ISO_8859-2
24
+ ISO-8859-2
25
+ latin2
26
+ l2
27
+ csISOLatin2
28
+ ISO_8859-3:1988
29
+ iso-ir-109
30
+ ISO_8859-3
31
+ ISO-8859-3
32
+ latin3
33
+ l3
34
+ csISOLatin3
35
+ ISO_8859-4:1988
36
+ iso-ir-110
37
+ ISO_8859-4
38
+ ISO-8859-4
39
+ latin4
40
+ l4
41
+ csISOLatin4
42
+ ISO_8859-5:1988
43
+ iso-ir-144
44
+ ISO_8859-5
45
+ ISO-8859-5
46
+ cyrillic
47
+ csISOLatinCyrillic
48
+ ISO_8859-6:1987
49
+ iso-ir-127
50
+ ISO_8859-6
51
+ ISO-8859-6
52
+ ECMA-114
53
+ ASMO-708
54
+ arabic
55
+ csISOLatinArabic
56
+ ISO_8859-7:1987
57
+ iso-ir-126
58
+ ISO_8859-7
59
+ ISO-8859-7
60
+ ELOT_928
61
+ ECMA-118
62
+ greek
63
+ greek8
64
+ csISOLatinGreek
65
+ ISO_8859-8:1988
66
+ iso-ir-138
67
+ ISO_8859-8
68
+ ISO-8859-8
69
+ hebrew
70
+ csISOLatinHebrew
71
+ ISO_8859-9:1989
72
+ iso-ir-148
73
+ ISO_8859-9
74
+ ISO-8859-9
75
+ latin5
76
+ l5
77
+ csISOLatin5
78
+ ISO-8859-10
79
+ iso-ir-157
80
+ l6
81
+ ISO_8859-10:1992
82
+ csISOLatin6
83
+ latin6
84
+ ISO_6937-2-add
85
+ iso-ir-142
86
+ csISOTextComm
87
+ JIS_X0201
88
+ X0201
89
+ csHalfWidthKatakana
90
+ JIS_Encoding
91
+ csJISEncoding
92
+ Shift_JIS
93
+ MS_Kanji
94
+ csShiftJIS
95
+ Extended_UNIX_Code_Packed_Format_for_Japanese
96
+ csEUCPkdFmtJapanese
97
+ EUC-JP
98
+ Extended_UNIX_Code_Fixed_Width_for_Japanese
99
+ csEUCFixWidJapanese
100
+ BS_4730
101
+ iso-ir-4
102
+ ISO646-GB
103
+ gb
104
+ uk
105
+ csISO4UnitedKingdom
106
+ SEN_850200_C
107
+ iso-ir-11
108
+ ISO646-SE2
109
+ se2
110
+ csISO11SwedishForNames
111
+ IT
112
+ iso-ir-15
113
+ ISO646-IT
114
+ csISO15Italian
115
+ ES
116
+ iso-ir-17
117
+ ISO646-ES
118
+ csISO17Spanish
119
+ DIN_66003
120
+ iso-ir-21
121
+ de
122
+ ISO646-DE
123
+ csISO21German
124
+ NS_4551-1
125
+ iso-ir-60
126
+ ISO646-NO
127
+ no
128
+ csISO60DanishNorwegian
129
+ csISO60Norwegian1
130
+ NF_Z_62-010
131
+ iso-ir-69
132
+ ISO646-FR
133
+ fr
134
+ csISO69French
135
+ ISO-10646-UTF-1
136
+ csISO10646UTF1
137
+ ISO_646.basic:1983
138
+ ref
139
+ csISO646basic1983
140
+ INVARIANT
141
+ csINVARIANT
142
+ ISO_646.irv:1983
143
+ iso-ir-2
144
+ irv
145
+ csISO2IntlRefVersion
146
+ NATS-SEFI
147
+ iso-ir-8-1
148
+ csNATSSEFI
149
+ NATS-SEFI-ADD
150
+ iso-ir-8-2
151
+ csNATSSEFIADD
152
+ NATS-DANO
153
+ iso-ir-9-1
154
+ csNATSDANO
155
+ NATS-DANO-ADD
156
+ iso-ir-9-2
157
+ csNATSDANOADD
158
+ SEN_850200_B
159
+ iso-ir-10
160
+ FI
161
+ ISO646-FI
162
+ ISO646-SE
163
+ se
164
+ csISO10Swedish
165
+ KS_C_5601-1987
166
+ iso-ir-149
167
+ KS_C_5601-1989
168
+ KSC_5601
169
+ korean
170
+ csKSC56011987
171
+ ISO-2022-KR
172
+ csISO2022KR
173
+ EUC-KR
174
+ csEUCKR
175
+ ISO-2022-JP
176
+ csISO2022JP
177
+ ISO-2022-JP-2
178
+ csISO2022JP2
179
+ JIS_C6220-1969-jp
180
+ JIS_C6220-1969
181
+ iso-ir-13
182
+ katakana
183
+ x0201-7
184
+ csISO13JISC6220jp
185
+ JIS_C6220-1969-ro
186
+ iso-ir-14
187
+ jp
188
+ ISO646-JP
189
+ csISO14JISC6220ro
190
+ PT
191
+ iso-ir-16
192
+ ISO646-PT
193
+ csISO16Portuguese
194
+ greek7-old
195
+ iso-ir-18
196
+ csISO18Greek7Old
197
+ latin-greek
198
+ iso-ir-19
199
+ csISO19LatinGreek
200
+ NF_Z_62-010_(1973)
201
+ iso-ir-25
202
+ ISO646-FR1
203
+ csISO25French
204
+ Latin-greek-1
205
+ iso-ir-27
206
+ csISO27LatinGreek1
207
+ ISO_5427
208
+ iso-ir-37
209
+ csISO5427Cyrillic
210
+ JIS_C6226-1978
211
+ iso-ir-42
212
+ csISO42JISC62261978
213
+ BS_viewdata
214
+ iso-ir-47
215
+ csISO47BSViewdata
216
+ INIS
217
+ iso-ir-49
218
+ csISO49INIS
219
+ INIS-8
220
+ iso-ir-50
221
+ csISO50INIS8
222
+ INIS-cyrillic
223
+ iso-ir-51
224
+ csISO51INISCyrillic
225
+ ISO_5427:1981
226
+ iso-ir-54
227
+ ISO5427Cyrillic1981
228
+ ISO_5428:1980
229
+ iso-ir-55
230
+ csISO5428Greek
231
+ GB_1988-80
232
+ iso-ir-57
233
+ cn
234
+ ISO646-CN
235
+ csISO57GB1988
236
+ GB_2312-80
237
+ iso-ir-58
238
+ chinese
239
+ csISO58GB231280
240
+ NS_4551-2
241
+ ISO646-NO2
242
+ iso-ir-61
243
+ no2
244
+ csISO61Norwegian2
245
+ videotex-suppl
246
+ iso-ir-70
247
+ csISO70VideotexSupp1
248
+ PT2
249
+ iso-ir-84
250
+ ISO646-PT2
251
+ csISO84Portuguese2
252
+ ES2
253
+ iso-ir-85
254
+ ISO646-ES2
255
+ csISO85Spanish2
256
+ MSZ_7795.3
257
+ iso-ir-86
258
+ ISO646-HU
259
+ hu
260
+ csISO86Hungarian
261
+ JIS_C6226-1983
262
+ iso-ir-87
263
+ x0208
264
+ JIS_X0208-1983
265
+ csISO87JISX0208
266
+ greek7
267
+ iso-ir-88
268
+ csISO88Greek7
269
+ ASMO_449
270
+ ISO_9036
271
+ arabic7
272
+ iso-ir-89
273
+ csISO89ASMO449
274
+ iso-ir-90
275
+ csISO90
276
+ JIS_C6229-1984-a
277
+ iso-ir-91
278
+ jp-ocr-a
279
+ csISO91JISC62291984a
280
+ JIS_C6229-1984-b
281
+ iso-ir-92
282
+ ISO646-JP-OCR-B
283
+ jp-ocr-b
284
+ csISO92JISC62991984b
285
+ JIS_C6229-1984-b-add
286
+ iso-ir-93
287
+ jp-ocr-b-add
288
+ csISO93JIS62291984badd
289
+ JIS_C6229-1984-hand
290
+ iso-ir-94
291
+ jp-ocr-hand
292
+ csISO94JIS62291984hand
293
+ JIS_C6229-1984-hand-add
294
+ iso-ir-95
295
+ jp-ocr-hand-add
296
+ csISO95JIS62291984handadd
297
+ JIS_C6229-1984-kana
298
+ iso-ir-96
299
+ csISO96JISC62291984kana
300
+ ISO_2033-1983
301
+ iso-ir-98
302
+ e13b
303
+ csISO2033
304
+ ANSI_X3.110-1983
305
+ iso-ir-99
306
+ CSA_T500-1983
307
+ NAPLPS
308
+ csISO99NAPLPS
309
+ T.61-7bit
310
+ iso-ir-102
311
+ csISO102T617bit
312
+ T.61-8bit
313
+ T.61
314
+ iso-ir-103
315
+ csISO103T618bit
316
+ ECMA-cyrillic
317
+ iso-ir-111
318
+ KOI8-E
319
+ csISO111ECMACyrillic
320
+ CSA_Z243.4-1985-1
321
+ iso-ir-121
322
+ ISO646-CA
323
+ csa7-1
324
+ ca
325
+ csISO121Canadian1
326
+ CSA_Z243.4-1985-2
327
+ iso-ir-122
328
+ ISO646-CA2
329
+ csa7-2
330
+ csISO122Canadian2
331
+ CSA_Z243.4-1985-gr
332
+ iso-ir-123
333
+ csISO123CSAZ24341985gr
334
+ ISO_8859-6-E
335
+ csISO88596E
336
+ ISO-8859-6-E
337
+ ISO_8859-6-I
338
+ csISO88596I
339
+ ISO-8859-6-I
340
+ T.101-G2
341
+ iso-ir-128
342
+ csISO128T101G2
343
+ ISO_8859-8-E
344
+ csISO88598E
345
+ ISO-8859-8-E
346
+ ISO_8859-8-I
347
+ csISO88598I
348
+ ISO-8859-8-I
349
+ CSN_369103
350
+ iso-ir-139
351
+ csISO139CSN369103
352
+ JUS_I.B1.002
353
+ iso-ir-141
354
+ ISO646-YU
355
+ js
356
+ yu
357
+ csISO141JUSIB1002
358
+ IEC_P27-1
359
+ iso-ir-143
360
+ csISO143IECP271
361
+ JUS_I.B1.003-serb
362
+ iso-ir-146
363
+ serbian
364
+ csISO146Serbian
365
+ JUS_I.B1.003-mac
366
+ macedonian
367
+ iso-ir-147
368
+ csISO147Macedonian
369
+ greek-ccitt
370
+ iso-ir-150
371
+ csISO150
372
+ csISO150GreekCCITT
373
+ NC_NC00-10:81
374
+ cuba
375
+ iso-ir-151
376
+ ISO646-CU
377
+ csISO151Cuba
378
+ ISO_6937-2-25
379
+ iso-ir-152
380
+ csISO6937Add
381
+ GOST_19768-74
382
+ ST_SEV_358-88
383
+ iso-ir-153
384
+ csISO153GOST1976874
385
+ ISO_8859-supp
386
+ iso-ir-154
387
+ latin1-2-5
388
+ csISO8859Supp
389
+ ISO_10367-box
390
+ iso-ir-155
391
+ csISO10367Box
392
+ latin-lap
393
+ lap
394
+ iso-ir-158
395
+ csISO158Lap
396
+ JIS_X0212-1990
397
+ x0212
398
+ iso-ir-159
399
+ csISO159JISX02121990
400
+ DS_2089
401
+ DS2089
402
+ ISO646-DK
403
+ dk
404
+ csISO646Danish
405
+ us-dk
406
+ csUSDK
407
+ dk-us
408
+ csDKUS
409
+ KSC5636
410
+ ISO646-KR
411
+ csKSC5636
412
+ UNICODE-1-1-UTF-7
413
+ csUnicode11UTF7
414
+ ISO-2022-CN
415
+ ISO-2022-CN-EXT
416
+ UTF-8
417
+ ISO-8859-13
418
+ ISO-8859-14
419
+ iso-ir-199
420
+ ISO_8859-14:1998
421
+ ISO_8859-14
422
+ latin8
423
+ iso-celtic
424
+ l8
425
+ ISO-8859-15
426
+ ISO_8859-15
427
+ Latin-9
428
+ ISO-8859-16
429
+ iso-ir-226
430
+ ISO_8859-16:2001
431
+ ISO_8859-16
432
+ latin10
433
+ l10
434
+ GBK
435
+ CP936
436
+ MS936
437
+ windows-936
438
+ GB18030
439
+ ISO-11548-1
440
+ ISO_11548-1
441
+ ISO_TR_11548-1
442
+ csISO115481
443
+ KZ-1048
444
+ STRK1048-2002
445
+ RK1048
446
+ csKZ1048
447
+ ISO-10646-UCS-2
448
+ csUnicode
449
+ ISO-10646-UCS-4
450
+ csUCS4
451
+ ISO-10646-UCS-Basic
452
+ csUnicodeASCII
453
+ ISO-10646-Unicode-Latin1
454
+ csUnicodeLatin1
455
+ ISO-10646
456
+ ISO-10646-J-1
457
+ ISO-Unicode-IBM-1261
458
+ csUnicodeIBM1261
459
+ ISO-Unicode-IBM-1268
460
+ csUnicodeIBM1268
461
+ ISO-Unicode-IBM-1276
462
+ csUnicodeIBM1276
463
+ ISO-Unicode-IBM-1264
464
+ csUnicodeIBM1264
465
+ ISO-Unicode-IBM-1265
466
+ csUnicodeIBM1265
467
+ UNICODE-1-1
468
+ csUnicode11
469
+ SCSU
470
+ UTF-7
471
+ UTF-16BE
472
+ UTF-16LE
473
+ UTF-16
474
+ CESU-8
475
+ csCESU-8
476
+ UTF-32
477
+ UTF-32BE
478
+ UTF-32LE
479
+ BOCU-1
480
+ csBOCU-1
481
+ ISO-8859-1-Windows-3.0-Latin-1
482
+ csWindows30Latin1
483
+ ISO-8859-1-Windows-3.1-Latin-1
484
+ csWindows31Latin1
485
+ ISO-8859-2-Windows-Latin-2
486
+ csWindows31Latin2
487
+ ISO-8859-9-Windows-Latin-5
488
+ csWindows31Latin5
489
+ hp-roman8
490
+ roman8
491
+ r8
492
+ csHPRoman8
493
+ Adobe-Standard-Encoding
494
+ csAdobeStandardEncoding
495
+ Ventura-US
496
+ csVenturaUS
497
+ Ventura-International
498
+ csVenturaInternational
499
+ DEC-MCS
500
+ dec
501
+ csDECMCS
502
+ IBM850
503
+ cp850
504
+ 850
505
+ csPC850Multilingual
506
+ PC8-Danish-Norwegian
507
+ csPC8DanishNorwegian
508
+ IBM862
509
+ cp862
510
+ 862
511
+ csPC862LatinHebrew
512
+ PC8-Turkish
513
+ csPC8Turkish
514
+ IBM-Symbols
515
+ csIBMSymbols
516
+ IBM-Thai
517
+ csIBMThai
518
+ HP-Legal
519
+ csHPLegal
520
+ HP-Pi-font
521
+ csHPPiFont
522
+ HP-Math8
523
+ csHPMath8
524
+ Adobe-Symbol-Encoding
525
+ csHPPSMath
526
+ HP-DeskTop
527
+ csHPDesktop
528
+ Ventura-Math
529
+ csVenturaMath
530
+ Microsoft-Publishing
531
+ csMicrosoftPublishing
532
+ Windows-31J
533
+ csWindows31J
534
+ GB2312
535
+ csGB2312
536
+ Big5
537
+ csBig5
538
+ macintosh
539
+ mac
540
+ csMacintosh
541
+ IBM037
542
+ cp037
543
+ ebcdic-cp-us
544
+ ebcdic-cp-ca
545
+ ebcdic-cp-wt
546
+ ebcdic-cp-nl
547
+ csIBM037
548
+ IBM038
549
+ EBCDIC-INT
550
+ cp038
551
+ csIBM038
552
+ IBM273
553
+ CP273
554
+ csIBM273
555
+ IBM274
556
+ EBCDIC-BE
557
+ CP274
558
+ csIBM274
559
+ IBM275
560
+ EBCDIC-BR
561
+ cp275
562
+ csIBM275
563
+ IBM277
564
+ EBCDIC-CP-DK
565
+ EBCDIC-CP-NO
566
+ csIBM277
567
+ IBM278
568
+ CP278
569
+ ebcdic-cp-fi
570
+ ebcdic-cp-se
571
+ csIBM278
572
+ IBM280
573
+ CP280
574
+ ebcdic-cp-it
575
+ csIBM280
576
+ IBM281
577
+ EBCDIC-JP-E
578
+ cp281
579
+ csIBM281
580
+ IBM284
581
+ CP284
582
+ ebcdic-cp-es
583
+ csIBM284
584
+ IBM285
585
+ CP285
586
+ ebcdic-cp-gb
587
+ csIBM285
588
+ IBM290
589
+ cp290
590
+ EBCDIC-JP-kana
591
+ csIBM290
592
+ IBM297
593
+ cp297
594
+ ebcdic-cp-fr
595
+ csIBM297
596
+ IBM420
597
+ cp420
598
+ ebcdic-cp-ar1
599
+ csIBM420
600
+ IBM423
601
+ cp423
602
+ ebcdic-cp-gr
603
+ csIBM423
604
+ IBM424
605
+ cp424
606
+ ebcdic-cp-he
607
+ csIBM424
608
+ IBM437
609
+ cp437
610
+ 437
611
+ csPC8CodePage437
612
+ IBM500
613
+ CP500
614
+ ebcdic-cp-be
615
+ ebcdic-cp-ch
616
+ csIBM500
617
+ IBM851
618
+ cp851
619
+ 851
620
+ csIBM851
621
+ IBM852
622
+ cp852
623
+ 852
624
+ csPCp852
625
+ IBM855
626
+ cp855
627
+ 855
628
+ csIBM855
629
+ IBM857
630
+ cp857
631
+ 857
632
+ csIBM857
633
+ IBM860
634
+ cp860
635
+ 860
636
+ csIBM860
637
+ IBM861
638
+ cp861
639
+ 861
640
+ cp-is
641
+ csIBM861
642
+ IBM863
643
+ cp863
644
+ 863
645
+ csIBM863
646
+ IBM864
647
+ cp864
648
+ csIBM864
649
+ IBM865
650
+ cp865
651
+ 865
652
+ csIBM865
653
+ IBM868
654
+ CP868
655
+ cp-ar
656
+ csIBM868
657
+ IBM869
658
+ cp869
659
+ 869
660
+ cp-gr
661
+ csIBM869
662
+ IBM870
663
+ CP870
664
+ ebcdic-cp-roece
665
+ ebcdic-cp-yu
666
+ csIBM870
667
+ IBM871
668
+ CP871
669
+ ebcdic-cp-is
670
+ csIBM871
671
+ IBM880
672
+ cp880
673
+ EBCDIC-Cyrillic
674
+ csIBM880
675
+ IBM891
676
+ cp891
677
+ csIBM891
678
+ IBM903
679
+ cp903
680
+ csIBM903
681
+ IBM904
682
+ cp904
683
+ 904
684
+ csIBBM904
685
+ IBM905
686
+ CP905
687
+ ebcdic-cp-tr
688
+ csIBM905
689
+ IBM918
690
+ CP918
691
+ ebcdic-cp-ar2
692
+ csIBM918
693
+ IBM1026
694
+ CP1026
695
+ csIBM1026
696
+ EBCDIC-AT-DE
697
+ csIBMEBCDICATDE
698
+ EBCDIC-AT-DE-A
699
+ csEBCDICATDEA
700
+ EBCDIC-CA-FR
701
+ csEBCDICCAFR
702
+ EBCDIC-DK-NO
703
+ csEBCDICDKNO
704
+ EBCDIC-DK-NO-A
705
+ csEBCDICDKNOA
706
+ EBCDIC-FI-SE
707
+ csEBCDICFISE
708
+ EBCDIC-FI-SE-A
709
+ csEBCDICFISEA
710
+ EBCDIC-FR
711
+ csEBCDICFR
712
+ EBCDIC-IT
713
+ csEBCDICIT
714
+ EBCDIC-PT
715
+ csEBCDICPT
716
+ EBCDIC-ES
717
+ csEBCDICES
718
+ EBCDIC-ES-A
719
+ csEBCDICESA
720
+ EBCDIC-ES-S
721
+ csEBCDICESS
722
+ EBCDIC-UK
723
+ csEBCDICUK
724
+ EBCDIC-US
725
+ csEBCDICUS
726
+ UNKNOWN-8BIT
727
+ csUnknown8BiT
728
+ MNEMONIC
729
+ csMnemonic
730
+ MNEM
731
+ csMnem
732
+ VISCII
733
+ csVISCII
734
+ VIQR
735
+ csVIQR
736
+ KOI8-R
737
+ csKOI8R
738
+ HZ-GB-2312
739
+ IBM866
740
+ cp866
741
+ 866
742
+ csIBM866
743
+ IBM775
744
+ cp775
745
+ csPC775Baltic
746
+ KOI8-U
747
+ IBM00858
748
+ CCSID00858
749
+ CP00858
750
+ PC-Multilingual-850+euro
751
+ IBM00924
752
+ CCSID00924
753
+ CP00924
754
+ ebcdic-Latin9--euro
755
+ IBM01140
756
+ CCSID01140
757
+ CP01140
758
+ ebcdic-us-37+euro
759
+ IBM01141
760
+ CCSID01141
761
+ CP01141
762
+ ebcdic-de-273+euro
763
+ IBM01142
764
+ CCSID01142
765
+ CP01142
766
+ ebcdic-dk-277+euro
767
+ ebcdic-no-277+euro
768
+ IBM01143
769
+ CCSID01143
770
+ CP01143
771
+ ebcdic-fi-278+euro
772
+ ebcdic-se-278+euro
773
+ IBM01144
774
+ CCSID01144
775
+ CP01144
776
+ ebcdic-it-280+euro
777
+ IBM01145
778
+ CCSID01145
779
+ CP01145
780
+ ebcdic-es-284+euro
781
+ IBM01146
782
+ CCSID01146
783
+ CP01146
784
+ ebcdic-gb-285+euro
785
+ IBM01147
786
+ CCSID01147
787
+ CP01147
788
+ ebcdic-fr-297+euro
789
+ IBM01148
790
+ CCSID01148
791
+ CP01148
792
+ ebcdic-international-500+euro
793
+ IBM01149
794
+ CCSID01149
795
+ CP01149
796
+ ebcdic-is-871+euro
797
+ Big5-HKSCS
798
+ IBM1047
799
+ IBM-1047
800
+ PTCP154
801
+ csPTCP154
802
+ PT154
803
+ CP154
804
+ Cyrillic-Asian
805
+ BRF
806
+ csBRF
807
+ TSCII
808
+ csTSCII
809
+ windows-1250
810
+ windows-1251
811
+ windows-1252
812
+ windows-1253
813
+ windows-1254
814
+ windows-1255
815
+ windows-1256
816
+ windows-1257
817
+ windows-1258
818
+ TIS-620