Changeset 21
- Timestamp:
- Apr 30, 2008, 8:34:43 PM (16 years ago)
- Location:
- ruby/trunk
- Files:
-
- 5 added
- 1 deleted
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/adl_parser/Rakefile
r19 r21 83 83 s.email = 'akimichi_tatsukawa@nifty.com' 84 84 s.test_files = FileList['tests/*_test.rb', '*.adl'] 85 candidates = Dir.glob("{bin, docs, lib, tests,ext}/**/*")85 candidates = Dir.glob("{bin,docs,lib,tests,ext}/**/*") 86 86 s.files = candidates.delete_if do |item| 87 87 item.include?(".svn") || item.include?("rdoc") 88 88 end 89 FileList['README', 'COPYING', 'Rakefile']89 s.files = FileList['README', 'COPYING', 'Rakefile'] 90 90 s.require_path = "lib" 91 91 s.has_rdoc = true -
ruby/trunk/adl_parser/lib/parser.rb
r20 r21 13 13 require 'lib/util.rb' 14 14 require 'lib/scanner.rb' 15 require 'lib/model.rb' 15 #require 'lib/model.rb' 16 require 'rubygems' 17 require 'am.rb' 16 18 $DEBUG = true 17 19 … … 25 27 class Parser < Racc::Parser 26 28 27 module_eval <<'..end lib/parser.y modeval..id 134a7f5a66', 'lib/parser.y', 73929 module_eval <<'..end lib/parser.y modeval..id0eaae3c06b', 'lib/parser.y', 758 28 30 29 31 @@log = Logger.new('log/parser.log','daily') … … 812 814 813 815 814 ..end lib/parser.y modeval..id 134a7f5a66816 ..end lib/parser.y modeval..id0eaae3c06b 815 817 816 818 ##### racc 1.4.5 generates ### … … 818 820 racc_reduce_table = [ 819 821 0, 0, :racc_error, 820 2, 95, :_reduce_ none,822 2, 95, :_reduce_1, 821 823 1, 95, :_reduce_none, 822 8, 96, :_reduce_ none,824 8, 96, :_reduce_3, 823 825 2, 97, :_reduce_none, 824 826 2, 97, :_reduce_none, … … 839 841 2, 100, :_reduce_none, 840 842 0, 101, :_reduce_none, 843 2, 101, :_reduce_22, 841 844 2, 101, :_reduce_none, 842 2, 10 1, :_reduce_none,845 2, 102, :_reduce_24, 843 846 2, 102, :_reduce_none, 844 2, 102, :_reduce_none,847 1, 110, :_reduce_26, 845 848 1, 110, :_reduce_none, 846 1, 110, :_reduce_none, 847 5, 111, :_reduce_none, 848 5, 111, :_reduce_none, 849 5, 111, :_reduce_28, 850 5, 111, :_reduce_29, 849 851 2, 113, :_reduce_none, 850 852 1, 115, :_reduce_31, … … 871 873 2, 132, :_reduce_none, 872 874 1, 127, :_reduce_none, 873 1, 133, :_reduce_ none,875 1, 133, :_reduce_54, 874 876 1, 133, :_reduce_none, 875 877 1, 133, :_reduce_none, … … 2012 2014 # reduce 0 omitted 2013 2015 2014 # reduce 1 omitted 2016 module_eval <<'.,.,', 'lib/parser.y', 32 2017 def _reduce_1( val, _values, result ) 2018 result = val[0] 2019 result 2020 end 2021 .,., 2015 2022 2016 2023 # reduce 2 omitted 2017 2024 2018 # reduce 3 omitted 2025 module_eval <<'.,.,', 'lib/parser.y', 41 2026 def _reduce_3( val, _values, result ) 2027 result = OpenEHR::AM::Archetype::ARCHETYPE.new( 2028 :description => val[4], 2029 :definition => val[5] 2030 ) 2031 result 2032 end 2033 .,., 2019 2034 2020 2035 # reduce 4 omitted … … 2048 2063 # reduce 18 omitted 2049 2064 2050 module_eval <<'.,.,', 'lib/parser.y', 7 42065 module_eval <<'.,.,', 'lib/parser.y', 76 2051 2066 def _reduce_19( val, _values, result ) 2052 2067 result = {:language => val[1]} … … 2059 2074 # reduce 21 omitted 2060 2075 2061 # reduce 22 omitted 2076 module_eval <<'.,.,', 'lib/parser.y', 87 2077 def _reduce_22( val, _values, result ) 2078 result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 2079 result 2080 end 2081 .,., 2062 2082 2063 2083 # reduce 23 omitted 2064 2084 2065 # reduce 24 omitted 2085 module_eval <<'.,.,', 'lib/parser.y', 95 2086 def _reduce_24( val, _values, result ) 2087 result = val[1] 2088 result 2089 end 2090 .,., 2066 2091 2067 2092 # reduce 25 omitted 2068 2093 2069 # reduce 26 omitted 2094 module_eval <<'.,.,', 'lib/parser.y', 103 2095 def _reduce_26( val, _values, result ) 2096 result = val[0] 2097 result 2098 end 2099 .,., 2070 2100 2071 2101 # reduce 27 omitted 2072 2102 2073 # reduce 28 omitted 2074 2075 # reduce 29 omitted 2103 module_eval <<'.,.,', 'lib/parser.y', 111 2104 def _reduce_28( val, _values, result ) 2105 result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new 2106 result 2107 end 2108 .,., 2109 2110 module_eval <<'.,.,', 'lib/parser.y', 115 2111 def _reduce_29( val, _values, result ) 2112 result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new 2113 result 2114 end 2115 .,., 2076 2116 2077 2117 # reduce 30 omitted 2078 2118 2079 module_eval <<'.,.,', 'lib/parser.y', 1 112119 module_eval <<'.,.,', 'lib/parser.y', 124 2080 2120 def _reduce_31( val, _values, result ) 2081 2121 result = {:c_complex_object_id => {:type_identifier => val[0]}} … … 2084 2124 .,., 2085 2125 2086 module_eval <<'.,.,', 'lib/parser.y', 1 152126 module_eval <<'.,.,', 'lib/parser.y', 128 2087 2127 def _reduce_32( val, _values, result ) 2088 2128 result = {:c_complex_object_id => {:type_identifier => val[0], :V_LOCAL_TERM_CODE_REF => val[1]}} … … 2133 2173 # reduce 53 omitted 2134 2174 2135 # reduce 54 omitted 2175 module_eval <<'.,.,', 'lib/parser.y', 177 2176 def _reduce_54( val, _values, result ) 2177 @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}") 2178 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Integer.new 2179 result 2180 end 2181 .,., 2136 2182 2137 2183 # reduce 55 omitted … … 2161 2207 # reduce 67 omitted 2162 2208 2163 module_eval <<'.,.,', 'lib/parser.y', 1862209 module_eval <<'.,.,', 'lib/parser.y', 203 2164 2210 def _reduce_68( val, _values, result ) 2165 2211 @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}") … … 2168 2214 .,., 2169 2215 2170 module_eval <<'.,.,', 'lib/parser.y', 1902216 module_eval <<'.,.,', 'lib/parser.y', 207 2171 2217 def _reduce_69( val, _values, result ) 2172 2218 @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") … … 2221 2267 # reduce 92 omitted 2222 2268 2223 module_eval <<'.,.,', 'lib/parser.y', 2 402269 module_eval <<'.,.,', 'lib/parser.y', 257 2224 2270 def _reduce_93( val, _values, result ) 2225 2271 @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}") … … 2228 2274 .,., 2229 2275 2230 module_eval <<'.,.,', 'lib/parser.y', 2 452276 module_eval <<'.,.,', 'lib/parser.y', 262 2231 2277 def _reduce_94( val, _values, result ) 2232 2278 @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}") … … 2251 2297 # reduce 102 omitted 2252 2298 2253 module_eval <<'.,.,', 'lib/parser.y', 2 622299 module_eval <<'.,.,', 'lib/parser.y', 279 2254 2300 def _reduce_103( val, _values, result ) 2255 2301 @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}") … … 2262 2308 # reduce 105 omitted 2263 2309 2264 module_eval <<'.,.,', 'lib/parser.y', 2 702310 module_eval <<'.,.,', 'lib/parser.y', 287 2265 2311 def _reduce_106( val, _values, result ) 2266 2312 @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}") … … 2269 2315 .,., 2270 2316 2271 module_eval <<'.,.,', 'lib/parser.y', 2 752317 module_eval <<'.,.,', 'lib/parser.y', 292 2272 2318 def _reduce_107( val, _values, result ) 2273 2319 @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}") … … 2290 2336 # reduce 114 omitted 2291 2337 2292 module_eval <<'.,.,', 'lib/parser.y', 2872338 module_eval <<'.,.,', 'lib/parser.y', 304 2293 2339 def _reduce_115( val, _values, result ) 2294 2340 @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[2]}> at #{@filename}:#{@lineno}") … … 2307 2353 # reduce 120 omitted 2308 2354 2309 module_eval <<'.,.,', 'lib/parser.y', 2962355 module_eval <<'.,.,', 'lib/parser.y', 313 2310 2356 def _reduce_121( val, _values, result ) 2311 2357 @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2314 2360 .,., 2315 2361 2316 module_eval <<'.,.,', 'lib/parser.y', 3 002362 module_eval <<'.,.,', 'lib/parser.y', 317 2317 2363 def _reduce_122( val, _values, result ) 2318 2364 @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2321 2367 .,., 2322 2368 2323 module_eval <<'.,.,', 'lib/parser.y', 3 042369 module_eval <<'.,.,', 'lib/parser.y', 321 2324 2370 def _reduce_123( val, _values, result ) 2325 2371 @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2328 2374 .,., 2329 2375 2330 module_eval <<'.,.,', 'lib/parser.y', 3 082376 module_eval <<'.,.,', 'lib/parser.y', 325 2331 2377 def _reduce_124( val, _values, result ) 2332 2378 @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2335 2381 .,., 2336 2382 2337 module_eval <<'.,.,', 'lib/parser.y', 3 122383 module_eval <<'.,.,', 'lib/parser.y', 329 2338 2384 def _reduce_125( val, _values, result ) 2339 2385 @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2342 2388 .,., 2343 2389 2344 module_eval <<'.,.,', 'lib/parser.y', 3 162390 module_eval <<'.,.,', 'lib/parser.y', 333 2345 2391 def _reduce_126( val, _values, result ) 2346 2392 @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2349 2395 .,., 2350 2396 2351 module_eval <<'.,.,', 'lib/parser.y', 3 202397 module_eval <<'.,.,', 'lib/parser.y', 337 2352 2398 def _reduce_127( val, _values, result ) 2353 2399 @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2356 2402 .,., 2357 2403 2358 module_eval <<'.,.,', 'lib/parser.y', 3 242404 module_eval <<'.,.,', 'lib/parser.y', 341 2359 2405 def _reduce_128( val, _values, result ) 2360 2406 @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2363 2409 .,., 2364 2410 2365 module_eval <<'.,.,', 'lib/parser.y', 3 282411 module_eval <<'.,.,', 'lib/parser.y', 345 2366 2412 def _reduce_129( val, _values, result ) 2367 2413 @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2370 2416 .,., 2371 2417 2372 module_eval <<'.,.,', 'lib/parser.y', 3 322418 module_eval <<'.,.,', 'lib/parser.y', 349 2373 2419 def _reduce_130( val, _values, result ) 2374 2420 @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}") … … 2407 2453 # reduce 145 omitted 2408 2454 2409 module_eval <<'.,.,', 'lib/parser.y', 3 532455 module_eval <<'.,.,', 'lib/parser.y', 370 2410 2456 def _reduce_146( val, _values, result ) 2411 2457 @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2414 2460 .,., 2415 2461 2416 module_eval <<'.,.,', 'lib/parser.y', 3 572462 module_eval <<'.,.,', 'lib/parser.y', 374 2417 2463 def _reduce_147( val, _values, result ) 2418 2464 @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}") … … 2421 2467 .,., 2422 2468 2423 module_eval <<'.,.,', 'lib/parser.y', 3 622469 module_eval <<'.,.,', 'lib/parser.y', 379 2424 2470 def _reduce_148( val, _values, result ) 2425 2471 @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}") … … 2590 2636 # reduce 229 omitted 2591 2637 2592 module_eval <<'.,.,', 'lib/parser.y', 4 732638 module_eval <<'.,.,', 'lib/parser.y', 490 2593 2639 def _reduce_230( val, _values, result ) 2594 2640 @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}") … … 2621 2667 # reduce 242 omitted 2622 2668 2623 module_eval <<'.,.,', 'lib/parser.y', 4922669 module_eval <<'.,.,', 'lib/parser.y', 509 2624 2670 def _reduce_243( val, _values, result ) 2625 2671 @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}") … … 2634 2680 # reduce 246 omitted 2635 2681 2636 module_eval <<'.,.,', 'lib/parser.y', 5 012682 module_eval <<'.,.,', 'lib/parser.y', 518 2637 2683 def _reduce_247( val, _values, result ) 2638 2684 @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}") … … 2721 2767 # reduce 287 omitted 2722 2768 2723 module_eval <<'.,.,', 'lib/parser.y', 5 702769 module_eval <<'.,.,', 'lib/parser.y', 587 2724 2770 def _reduce_288( val, _values, result ) 2725 2771 @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2728 2774 .,., 2729 2775 2730 module_eval <<'.,.,', 'lib/parser.y', 5 742776 module_eval <<'.,.,', 'lib/parser.y', 591 2731 2777 def _reduce_289( val, _values, result ) 2732 2778 @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") … … 2885 2931 # reduce 364 omitted 2886 2932 2887 module_eval <<'.,.,', 'lib/parser.y', 6942933 module_eval <<'.,.,', 'lib/parser.y', 711 2888 2934 def _reduce_365( val, _values, result ) 2889 2935 @in_interval = false … … 2909 2955 # reduce 373 omitted 2910 2956 2911 module_eval <<'.,.,', 'lib/parser.y', 7 162957 module_eval <<'.,.,', 'lib/parser.y', 733 2912 2958 def _reduce_374( val, _values, result ) 2913 2959 @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}") -
ruby/trunk/adl_parser/lib/parser.y
r20 r21 28 28 29 29 input: archetype EOF 30 { 31 result = val[0] 32 } 30 33 | error 31 34 32 archetype: arch_identification 33 arch_specialisation 34 arch_concept 35 arch_language 36 arch_description 37 arch_definition 38 arch_invariant 39 arch_ontology 35 archetype: arch_identification arch_specialisation arch_concept arch_language arch_description arch_definition arch_invariant arch_ontology 36 { 37 result = OpenEHR::AM::Archetype::ARCHETYPE.new( 38 :description => val[4], 39 :definition => val[5] 40 ) 41 } 40 42 41 43 … … 81 83 arch_description: #-- no meta-data ok 82 84 | SYM_DESCRIPTION dadl_section 83 | SYM_DESCRIPTION error 84 85 { 86 result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1]) 87 } 88 | SYM_DESCRIPTION error 89 85 90 #arch_definition: SYM_DEFINITION V_CADL_TEXT 86 91 # | SYM_DEFINITION error 87 92 arch_definition: SYM_DEFINITION cadl_section 93 { 94 result = val[1] 95 } 88 96 | SYM_DEFINITION error 89 97 … … 91 99 ### cADL section 92 100 cadl_section: c_complex_object 101 { 102 result = val[0] 103 } 93 104 | assertions 94 105 # | error … … 96 107 #c_complex_object: c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body SYM_END_CBLOCK 97 108 c_complex_object: c_complex_object_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi 109 { 110 result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new 111 } 98 112 | c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body SYM_END_CBLOCK 99 # | c_complex_object_head error SYM_END_CBLOCK 100 # { 101 # @adl_type.push(:cadl) 102 # yyerror 103 # } 113 { 114 result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new 115 } 116 # | c_complex_object_head error SYM_END_CBLOCK 104 117 # | c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body c_invariants SYM_END_CBLOCK 105 118 … … 159 172 160 173 c_primitive: c_integer 174 { 175 @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}") 176 result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Integer.new 177 } 161 178 | c_real 162 179 | c_date … … 731 748 require 'lib/util.rb' 732 749 require 'lib/scanner.rb' 733 require 'lib/model.rb' 750 #require 'lib/model.rb' 751 require 'rubygems' 752 require 'am.rb' 734 753 $DEBUG = true 735 754 -
ruby/trunk/adl_parser/tests/parser_test.rb
r20 r21 1 #$:.unshift File.join(File.dirname(__FILE__))2 3 1 require 'lib/parser.rb' 4 2 require 'test/unit' … … 16 14 laboratory_request = File.read('tests/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl') 17 15 assert_nothing_raised do 18 @parser.parse(laboratory_request, 'openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl') 16 result = @parser.parse(laboratory_request, 'openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl') 17 assert_instance_of OpenEHR::AM::Archetype::ARCHETYPE, result 18 assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION, result.description 19 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, result.definition 19 20 end 20 21 21 apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl')22 assert_nothing_raised do23 result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl')24 # assert_equal "", result25 end22 # apgar = File.read('tests/openEHR-EHR-OBSERVATION.apgar.v1.adl') 23 # assert_nothing_raised do 24 # result = @parser.parse(apgar, 'openEHR-EHR-OBSERVATION.apgar.v1.adl') 25 # # assert_equal "", result 26 # end 26 27 27 evaluation = File.read('tests/openEHR-EHR-EVALUATION.adverse.v1.adl') 28 assert_nothing_raised do 29 @parser.parse(evaluation, 'openEHR-EHR-EVALUATION.adverse.v1.adl') 30 end 28 # evaluation = File.read('tests/openEHR-EHR-EVALUATION.adverse.v1.adl') 29 # assert_nothing_raised do 30 # @parser.parse(evaluation, 'openEHR-EHR-EVALUATION.adverse.v1.adl') 31 # end 32 33 34 35 # referral = File.read('tests/openEHR-EHR-ITEM_TREE.referral.v1.adl') 36 # assert_nothing_raised do 37 # @parser.parse(referral, 'openEHR-EHR-ITEM_TREE.referral.v1.adl') 38 # end 39 40 # exam_fetus = File.read('tests/openEHR-EHR-CLUSTER.exam-fetus.v1.adl') 41 # assert_nothing_raised do 42 # @parser.parse(exam_fetus, 'openEHR-EHR-CLUSTER.exam-fetus.v1.adl') 43 # end 44 45 # exam_uterine_cervix = File.read('tests/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl') 46 # assert_nothing_raised do 47 # @parser.parse(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl') 48 # end 49 50 # imaging = File.read('tests/openEHR-EHR-ACTION.imaging.v1.adl') 51 # assert_nothing_raised do 52 # @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1.adl') 53 # end 54 55 # exam_nervous_system = File.read('tests/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl') 56 # assert_nothing_raised do 57 # @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl') 58 # end 59 # exam_generic = File.read('tests/openEHR-EHR-CLUSTER.exam-generic.v1.adl') 60 # assert_nothing_raised do 61 # @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1.adl') 62 # end 63 # exam_generic_mass = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl') 64 # assert_nothing_raised do 65 # @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl') 66 # end 67 # exam_generic_lymphnode = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl') 68 # assert_nothing_raised do 69 # @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl') 70 # end 71 # exam_generic_joint = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl') 72 # assert_nothing_raised do 73 # @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl') 74 # end 75 # exam_chest = File.read('tests/openEHR-EHR-CLUSTER.exam-chest.v1.adl') 76 # assert_nothing_raised do 77 # @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl') 78 # end 79 # exam_abdomen = File.read('tests/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl') 80 # assert_nothing_raised do 81 # @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl') 82 # end 83 # cluster_auscultation = File.read('tests/openEHR-EHR-CLUSTER.auscultation.v1.adl') 84 # assert_nothing_raised do 85 # @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl') 86 # end 87 # cluster_auscultation_chest = File.read('tests/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl') 88 # assert_nothing_raised do 89 # @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl') 90 # end 91 # vital_signs = File.read('tests/openEHR-EHR-SECTION.vital_signs.v1.adl') 92 # assert_nothing_raised do 93 # @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1') 94 # end 95 # summary = File.read('tests/openEHR-EHR-SECTION.summary.v1.adl') 96 # assert_nothing_raised do 97 # @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl') 98 # end 99 100 # findings = File.read('tests/openEHR-EHR-SECTION.findings.v1.adl') 101 # assert_nothing_raised do 102 # @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl') 103 # end 104 105 # reason_for_encounter = File.read('tests/openEHR-EHR-SECTION.reason_for_encounter.v1.adl') 106 # assert_nothing_raised do 107 # @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl') 108 # end 109 110 # imaging = File.read('tests/openEHR-EHR-ITEM_TREE.imaging.v1.adl') 111 # assert_nothing_raised do 112 # @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl') 113 # end 114 # instruction_referral = File.read('tests/openEHR-EHR-INSTRUCTION.referral.v1.adl') 115 # assert_nothing_raised do 116 # @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl') 117 # end 118 # instruction_medication = File.read('tests/openEHR-EHR-INSTRUCTION.medication.v1.adl') 119 # assert_nothing_raised do 120 # @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl') 121 # end 122 # action_referral = File.read('tests/openEHR-EHR-ACTION.referral.v1.adl') 123 # assert_nothing_raised do 124 # @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl') 125 # end 126 127 # dimensions_circumference = File.read('tests/openEHR-EHR-CLUSTER.dimensions.v1.adl') 128 # assert_nothing_raised do 129 # @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl') 130 # end 131 132 # discharge = File.read('tests/openEHR-EHR-COMPOSITION.discharge.v1draft.adl') 133 # assert_nothing_raised do 134 # @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl') 135 # end 136 137 # encounter = File.read('tests/openEHR-EHR-COMPOSITION.encounter.v1draft.adl') 138 # assert_nothing_raised do 139 # @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl') 140 # end 31 141 32 142 … … 35 145 # @parser.parse(medication, 'openEHR-EHR-ITEM_TREE.medication.v1.adl') 36 146 # end 37 38 referral = File.read('tests/openEHR-EHR-ITEM_TREE.referral.v1.adl')39 assert_nothing_raised do40 @parser.parse(referral, 'openEHR-EHR-ITEM_TREE.referral.v1.adl')41 end42 43 exam_fetus = File.read('tests/openEHR-EHR-CLUSTER.exam-fetus.v1.adl')44 assert_nothing_raised do45 @parser.parse(exam_fetus, 'openEHR-EHR-CLUSTER.exam-fetus.v1.adl')46 end47 48 exam_uterine_cervix = File.read('tests/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')49 assert_nothing_raised do50 @parser.parse(exam_uterine_cervix, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl')51 end52 53 imaging = File.read('tests/openEHR-EHR-ACTION.imaging.v1.adl')54 assert_nothing_raised do55 @parser.parse(imaging, 'openEHR-EHR-ACTION.imaging.v1.adl')56 end57 58 exam_nervous_system = File.read('tests/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')59 assert_nothing_raised do60 @parser.parse(exam_nervous_system, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl')61 end62 exam_generic = File.read('tests/openEHR-EHR-CLUSTER.exam-generic.v1.adl')63 assert_nothing_raised do64 @parser.parse(exam_generic, 'openEHR-EHR-CLUSTER.exam-generic.v1.adl')65 end66 exam_generic_mass = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')67 assert_nothing_raised do68 @parser.parse(exam_generic_mass, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl')69 end70 exam_generic_lymphnode = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')71 assert_nothing_raised do72 @parser.parse(exam_generic_lymphnode, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl')73 end74 exam_generic_joint = File.read('tests/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')75 assert_nothing_raised do76 @parser.parse(exam_generic_joint, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl')77 end78 exam_chest = File.read('tests/openEHR-EHR-CLUSTER.exam-chest.v1.adl')79 assert_nothing_raised do80 @parser.parse(exam_chest, 'openEHR-EHR-CLUSTER.exam-chest.v1.adl')81 end82 exam_abdomen = File.read('tests/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')83 assert_nothing_raised do84 @parser.parse(exam_abdomen, 'openEHR-EHR-CLUSTER.exam-abdomen.v1.adl')85 end86 cluster_auscultation = File.read('tests/openEHR-EHR-CLUSTER.auscultation.v1.adl')87 assert_nothing_raised do88 @parser.parse(cluster_auscultation, 'openEHR-EHR-CLUSTER.auscultation.v1.adl')89 end90 cluster_auscultation_chest = File.read('tests/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')91 assert_nothing_raised do92 @parser.parse(cluster_auscultation_chest, 'openEHR-EHR-CLUSTER.auscultation-chest.v1.adl')93 end94 vital_signs = File.read('tests/openEHR-EHR-SECTION.vital_signs.v1.adl')95 assert_nothing_raised do96 @parser.parse(vital_signs, 'openEHR-EHR-SECTION.vital_signs.v1')97 end98 summary = File.read('tests/openEHR-EHR-SECTION.summary.v1.adl')99 assert_nothing_raised do100 @parser.parse(summary, 'openEHR-EHR-SECTION.summary.v1.adl')101 end102 103 findings = File.read('tests/openEHR-EHR-SECTION.findings.v1.adl')104 assert_nothing_raised do105 @parser.parse(findings, 'openEHR-EHR-SECTION.findings.v1.adl')106 end107 108 reason_for_encounter = File.read('tests/openEHR-EHR-SECTION.reason_for_encounter.v1.adl')109 assert_nothing_raised do110 @parser.parse(reason_for_encounter, 'openEHR-EHR-SECTION.reason_for_encounter.v1.adl')111 end112 113 imaging = File.read('tests/openEHR-EHR-ITEM_TREE.imaging.v1.adl')114 assert_nothing_raised do115 @parser.parse(imaging, 'openEHR-EHR-ITEM_TREE.imaging.v1.adl')116 end117 instruction_referral = File.read('tests/openEHR-EHR-INSTRUCTION.referral.v1.adl')118 assert_nothing_raised do119 @parser.parse(instruction_referral, 'openEHR-EHR-INSTRUCTION.referral.v1.adl')120 end121 instruction_medication = File.read('tests/openEHR-EHR-INSTRUCTION.medication.v1.adl')122 assert_nothing_raised do123 @parser.parse(instruction_medication, 'openEHR-EHR-INSTRUCTION.medication.v1.adl')124 end125 action_referral = File.read('tests/openEHR-EHR-ACTION.referral.v1.adl')126 assert_nothing_raised do127 @parser.parse(action_referral, 'openEHR-EHR-ACTION.referral.v1.adl')128 end129 130 dimensions_circumference = File.read('tests/openEHR-EHR-CLUSTER.dimensions.v1.adl')131 assert_nothing_raised do132 @parser.parse(dimensions_circumference, 'openEHR-EHR-CLUSTER.dimensions.v1.adl')133 end134 135 discharge = File.read('tests/openEHR-EHR-COMPOSITION.discharge.v1draft.adl')136 assert_nothing_raised do137 @parser.parse(discharge, 'openEHR-EHR-COMPOSITION.discharge.v1draft.adl')138 end139 140 encounter = File.read('tests/openEHR-EHR-COMPOSITION.encounter.v1draft.adl')141 assert_nothing_raised do142 @parser.parse(encounter, 'openEHR-EHR-COMPOSITION.encounter.v1draft.adl')143 end144 145 146 147 end 147 148 end -
ruby/trunk/models/Rakefile
r4 r21 34 34 35 35 36 gem_spec = Gem::Specification.new do |s| 37 s.name = 'openehr_models' 38 s.author = 'Shinji KOBAYASHI, Akimichi TATSUKAWA' 39 s.version = '0.0.1' 40 s.summary = 'OpenEHR models' 41 s.email = 'openehr-jp@openehr.jp' 42 s.test_files = FileList['tests/test_*.rb', '*.adl'] 43 candidates = Dir.glob("{am,rm,docs,tests}/**/*") + FileList['COPYING', 'Rakefile','am.rb','assumed_library_types.rb','rm.rb'] 44 s.files = candidates.delete_if do |item| 45 item.include?(".svn") || item.include?("rdoc") 46 end 47 # s.files << FileList['COPYING', 'Rakefile','am.rb','assumed_library_types.rb','rm.rb'] 48 # s.require_paths += [".","am","rm"] 49 s.require_path = "." 50 # s.has_rdoc = true 51 # s.extra_rdoc_files = ["README"] 52 end 53 54 55 Rake::GemPackageTask.new(gem_spec) do |pkg| 56 pkg.need_zip = false 57 pkg.need_tar = false 58 end 59 60 #CLOBBER.include('rdoc') 61 #CLEAN.include('lib/*.output', 'log/*.log') 62 63 36 64 37 65 -
ruby/trunk/models/am.rb
r4 r21 17 17 module AM 18 18 module Archetype 19 autoload :A rchetype, "am/archetype/archetype.rb"19 autoload :ARCHETYPE, "am/archetype/archetype.rb" 20 20 autoload :Constraint_Model, "am/archetype/constraint_model/archetype_constraint.rb" 21 21 autoload :Ontology, "am/archetype/ontology.rb" 22 autoload :Archetype_Description, "am/archetype/archetype_description/archetype_description.rb" 22 23 module Archetype_Description 24 autoload :ARCHETYPE_DESCRIPTION, "am/archetype/archetype_description/archetype_description.rb" 25 end 26 23 27 module Constraint_Model 28 autoload :ARCHETYPE_CONSTRAINT, "am/archetype/constraint_model/archetype_constraint.rb" 24 29 autoload :Assertion, "am/archetype/constraint_model/assertion.rb" 25 30 autoload :Primitive, "am/archetype/constraint_model/primitive.rb" -
ruby/trunk/models/am/archetype/archetype.rb
r4 r21 9 9 CURRENT_ADL_VERSION = "2.0" 10 10 end 11 class Archetype < OpenEHR::RM::Common::Resource::Authored_Resource 11 12 class ARCHETYPE < OpenEHR::RM::Common::Resource::Authored_Resource 12 13 include ADL_Definition 13 14 attr_accessor :archetype_id, :concept_code, :is_controlled, :original_language, :parent_archtype_id, :uid … … 18 19 attr_accessor :revision_history, :translation 19 20 20 def initialize(parent_id, concept, 21 description, revision_history, is_controled, 22 definition, ontology, adl_version, 23 id = nil , original_language = nil, translation = nil) 21 def initialize(args = {}) 22 # def initialize(parent_id, concept, 23 # description, revision_history, is_controled, 24 # definition, ontology, adl_version, 25 # id = nil , original_language = nil, translation = nil) 24 26 # raise Exception.new("illegal argument error, id == nil") unless id 25 27 # raise Exception.new("illegal argument error, originalLanguage == nil") unless origina_language 26 28 27 29 # raise Exception.new("illegal argument error, translation == nil") unless translation 28 @adl_version = a dl_version29 @id = id30 @parent_id = parent_id31 @concept = concept32 @original_language = original_language33 @translation = translation34 @description = description35 @revision_history = revision_history36 @is_controled = is_controled37 @definition = definition38 @ontology = ontology30 @adl_version = args[:adl_version] if args[:adl_version] 31 @id = args[:id] ? args[:id] : nil 32 @parent_id = args[:parent_id] if args[:parent_id] 33 @concept = args[:concept] if args[:concept] 34 @original_language = args[:original_language] ? args[:original_language] : nil 35 @translation = args[:translation] ? args[:translation] : nil 36 @description = args[:description] if args[:description] 37 @revision_history = args[:revision_history] if args[:revision_history] 38 @is_controled = args[:is_controled] if args[:is_controled] 39 @definition = args[:definition] if args[:definition] 40 @ontology = args[:ontology] if args[:ontology] 39 41 # loadMaps(definition) 40 42 end -
ruby/trunk/models/am/archetype/archetype_description/archetype_description.rb
r4 r21 4 4 module Archetype 5 5 module Archetype_Description 6 class Archetype_Description 7 attr_accessor :archetype_package_uri, :lifecycle_state, :original_author, :other_contributors, :other_details 6 class ARCHETYPE_DESCRIPTION 7 attr_accessor :archetype_package_uri, :lifecycle_state, :original_author, :other_contributors, :other_details, :details 8 def initialize(args ={ }) 9 @details = args[:details] ? args[:details] : [] 10 end 8 11 end 9 12 -
ruby/trunk/models/am/archetype/constraint_model/archetype_constraint.rb
r4 r21 4 4 module Archetype 5 5 module Constraint_Model 6 class A rchetype_Constraint6 class ARCHETYPE_CONSTRAINT 7 7 8 8 end 9 10 class C_OBJECT < ARCHETYPE_CONSTRAINT 11 12 end 13 14 class C_ATTRIBUTE < ARCHETYPE_CONSTRAINT 15 16 end 17 18 class C_DEFINED_OBJECT < C_OBJECT 19 20 end 21 22 class C_PRIMITIVE_OBJECT < C_DEFINED_OBJECT 23 24 end 25 26 class C_COMPLEX_OBJECT < C_DEFINED_OBJECT 27 attr_accessor :attributes, :attributes_valid 28 29 end 30 31 class C_DOMAIN_TYPE < C_DEFINED_OBJECT 32 33 end 34 35 class C_REFERENCE_OBJECT < C_OBJECT 36 37 end 38 39 class ARCHETYPE_INTERNAL_REF < C_REFERENCE_OBJECT 40 41 end 42 43 class ARCHETYPE_SLOT < C_REFERENCE_OBJECT 44 45 end 46 47 class CONSTRAINT_REF < C_REFERENCE_OBJECT 48 49 end 50 9 51 end 10 52 end -
ruby/trunk/models/am/archetype/constraint_model/primitive.rb
r4 r21 3 3 module Archetype 4 4 module Constraint_Model 5 5 6 module Primitive 7 6 8 class C_Primitive 7 9 def assumed_value … … 18 20 end 19 21 end 22 20 23 class C_Boolean < C_Primitive 21 24 attr_accessor :assumed_value … … 50 53 end 51 54 end 55 52 56 private 57 53 58 def binary_consistency(true_valid, false_valid) 54 59 if !true_valid && !false_valid … … 57 62 end 58 63 end # of C_Boolean 64 59 65 class C_Integer < C_Primitive 60 66 -
ruby/trunk/models/assumed_library_types.rb
r4 r21 10 10 set_upper_included(upper_included) 11 11 end 12 12 13 def set_lower(lower) 13 14 check_lower_upper(lower, @upper) 14 15 end 16 15 17 def set_upper(upper) 16 18 check_lower_upper(@lower, upper) 17 19 end 20 18 21 def set_lower_included(lower_included) 19 22 if (lower == nil) && (lower_included != nil) … … 22 25 @lower_included = lower_included 23 26 end 27 24 28 def set_upper_included(upper_included) 25 29 @upper_included = upper_included … … 28 32 end 29 33 end 34 30 35 def has?(value) 31 36 if ((@lower < value) && (value < @upper) || … … 37 42 end 38 43 end 44 39 45 private 46 40 47 def check_lower_upper(lower, upper) 41 48 if (lower == nil) && (upper == nil) -
ruby/trunk/models/tests/test_archetype_model.rb
r4 r21 5 5 class ArchetypeModelTest < Test::Unit::TestCase 6 6 def setup 7 @archetype = OpenEHR::AM::Archetype::A rchetype.new(nil,nil,nil,nil,nil,nil,nil,nil)8 @archetype_description = OpenEHR::AM::Archetype::Archetype_Description::A rchetype_Description.new9 @archetype_constraint = OpenEHR::AM::Archetype::Constraint_Model::A rchetype_Constraint.new7 @archetype = OpenEHR::AM::Archetype::ARCHETYPE.new #(nil,nil,nil,nil,nil,nil,nil,nil) 8 @archetype_description = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new 9 @archetype_constraint = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_CONSTRAINT.new 10 10 @assertion = OpenEHR::AM::Archetype::Constraint_Model::Assertion::Assertion.new 11 11 @c_primitive = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Primitive.new … … 13 13 @c_integer = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Integer.new 14 14 @archetype_ontology = OpenEHR::AM::Archetype::Ontology::Archetype_Ontology.new 15 16 @archetype_constraint = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_CONSTRAINT.new 17 @c_object = OpenEHR::AM::Archetype::Constraint_Model::C_OBJECT.new 18 @c_defined_object = OpenEHR::AM::Archetype::Constraint_Model::C_DEFINED_OBJECT.new 19 @c_attribute = OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE.new 20 @c_primitive_object = OpenEHR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.new 21 @c_reference_object = OpenEHR::AM::Archetype::Constraint_Model::C_REFERENCE_OBJECT.new 22 @archetype_internal_ref = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.new 23 @archetype_slot = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.new 24 @constraint_ref = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.new 25 @c_domain_type = OpenEHR::AM::Archetype::Constraint_Model::C_DOMAIN_TYPE.new 26 @c_complex_object = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new 15 27 end 16 28 17 29 def test_init 18 30 assert_instance_of OpenEHR::AM::Archetype::Ontology::Archetype_Ontology, @archetype_ontology 19 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::A rchetype_Constraint, @archetype_constraint20 assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::A rchetype_Description, @archetype_description21 assert_instance_of OpenEHR::AM::Archetype::A rchetype, @archetype31 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_CONSTRAINT, @archetype_constraint 32 assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION, @archetype_description 33 assert_instance_of OpenEHR::AM::Archetype::ARCHETYPE, @archetype 22 34 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::Assertion::Assertion, @assertion 23 35 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Primitive, @c_primitive 24 36 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_Boolean, @c_boolean 37 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_CONSTRAINT, @archetype_constraint 38 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_OBJECT, @c_object 39 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_DEFINED_OBJECT, @c_defined_object 40 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE, @c_attribute 41 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT, @c_primitive_object 42 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_REFERENCE_OBJECT, @c_reference_object 43 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF, @archetype_internal_ref 44 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT, @archetype_slot 45 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF, @constraint_ref 46 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_DOMAIN_TYPE, @c_domain_type 47 assert_instance_of OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT, @c_complex_object 25 48 end 49 26 50 def test_primitive 27 51 assert @c_boolean.true_valid?
Note:
See TracChangeset
for help on using the changeset viewer.