Changeset 158 for ruby/trunk/lib
- Timestamp:
- Jul 7, 2009, 3:10:48 AM (15 years ago)
- Location:
- ruby/trunk/lib/models
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/rm/common/change_control.rb
r119 r158 9 9 class Contribution 10 10 attr_reader :uid, :versions, :audit 11 11 12 def initialize(uid, versions, audit) 12 13 self.uid = uid … … 14 15 self.audit = audit 15 16 end 17 16 18 def uid=(uid) 17 19 if uid.nil? … … 20 22 @uid = uid 21 23 end 24 22 25 def versions=(versions) 23 26 unless versions.nil? … … 28 31 @versions = versions 29 32 end 33 30 34 def audit=(audit) 31 35 if audit.nil? … … 43 47 44 48 class Version 45 attr_reader :uid, :contribution, :commit_audit, :signature 46 attr_reader :attestations, :data 47 def initialize(uid, contribution, commit_audit, signature=nil, attestations=nil, data=nil) 48 self.uid = uid 49 self.contribution = contribution 50 self.commit_audit = commit_audit 51 end 52 def canonical_form 53 raise NotImplementedError, 'canonical form not implemented' 49 attr_reader :uid, :preceding_version_uid, :lifecycle_state, 50 :commit_audit, :contribution 51 attr_accessor :data, :signature 52 53 def initialize(args = { }) 54 self.uid = args[:uid] 55 self.preceding_version_uid = args[:preceding_version_uid] 56 self.data = args[:data] 57 self.lifcycle_state = args[:lifecycle_state] 58 self.commit_audit = args[:commit_audit] 59 self.contribution = args[:contribution] 60 self.signature = args[:signature] 54 61 end 55 62 56 63 def uid=(uid) 57 64 raise ArgumentError, "uid should not be nil" if uid.nil? 65 @uid = uid 66 end 67 68 def preceding_version_uid=(preceding_version_uid) 69 if (!preceding_version_uid.nil?) == @uid.version_tree_id.is_first? 70 raise ArgumentError, 'preceding version is invalid' 71 end 72 @preceding_version_uid = preceding_version_uid 73 end 74 75 def lifcycle_state=(lifecycle_state) 76 if lifecycle_state.nil? || 77 !%w[532 553 523].include?( 78 lifecycle_state.defining_code.code_string) 79 raise ArgumentError, 'invalid lifecycle_state' 80 end 81 @lifecycle_state = lifecycle_state 82 end 83 84 def commit_audit=(commit_audit) 85 if commit_audit.nil? 86 raise ArgumentError,'commit_audit is mandatory' 87 end 88 @commit_audit = commit_audit 58 89 end 59 90 60 91 def contribution=(contribution) 61 raise ArgumentError, "contribution should not be nil" if contribution.nil? or contribution.type == ''92 raise ArgumentError, "contribution should not be nil" if contribution.nil? or contribution.type.empty? 62 93 @contribution = contribution 63 94 end 64 95 65 def commit_audit=(commit_audit) 66 raise ArgumentError, "commit_audit should not be nil" if commit_audit.nil? 67 @commit_audit = commit_audit 96 def owner_id 97 return Hier_Object_ID.new(@uid.object_id.value) 68 98 end 69 99 70 100 def is_branch? 71 raise NotImplementedError, 'is_branch not implemented' 101 return @uid.is_branch? 102 end 103 104 def canonical_form 105 raise NotImplementedError, 'canonical form not implemented' 72 106 end 73 107 end … … 77 111 78 112 class Original_Version < Version 113 attr_reader :attestations 114 115 def initialize(args = { }) 116 super(args) 117 self.attestations = args[:attestations] 118 self.other_input_version_uids = args[:other_input_version_uids] 119 end 120 121 def attestations=(attestations) 122 if attestations.nil? || attestations.empty? 123 raise ArgumentError, 'attestations is mandatory' 124 end 125 @attestations = attestations 126 end 127 128 def other_input_version_uids=(other_input_version_uids) 129 if !other_input_version_uids.nil? && other_input_version_uids.empty? 130 raise ArgumentError, 'invaild other_input_version_uids' 131 end 132 @other_input_version_uids = other_input_version_uids 133 end 134 135 def is_merged? 136 137 end 79 138 end 80 81 139 end # of Change_Control 82 140 end # of Common -
ruby/trunk/lib/models/rm/support/identification.rb
r157 r158 94 94 attr_reader :name, :version_id 95 95 96 def initialize(name, version_id="") 97 self.name = name 98 self.version_id = version_id 96 def initialize(value) 97 super(value) 99 98 end 100 99 … … 115 114 else 116 115 @name = value 116 @version_id = '' 117 117 end 118 118 @value = value … … 209 209 end 210 210 @version_tree_id = version_tree_id 211 end 212 213 def is_branch? 214 return @version_tree_id.is_branch? 211 215 end 212 216 end -
ruby/trunk/lib/models/tests/rm/test_common.rb
r157 r158 7 7 include OpenEHR::RM::Common::Archetyped 8 8 include OpenEHR::RM::Common::Generic 9 include OpenEHR::RM::Common::Change_Control 9 10 include OpenEHR::RM::Support::Identification 10 11 include OpenEHR::RM::Data_Types::Basic … … 14 15 class RM_Common_Resource_Test < Test::Unit::TestCase 15 16 def setup 16 17 @authored_resource = OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE.new(:original_language => "ja", 17 18 :translations => "en", 18 19 :description => "test") … … 154 155 :identifier => identifiers)} 155 156 156 terminology_id = Terminology_ID.new('test ','0.04')157 terminology_id = Terminology_ID.new('test(0.04)') 157 158 code_phrase = Code_Phrase.new('self', terminology_id) 158 159 dv_coded_text = DV_Coded_Text.new('Seele',code_phrase) … … 171 172 :time => dv_interval)} 172 173 dv_date_time = DV_Date_Time.new('2009-07-04T18:56:00') 173 terminology_id = Terminology_ID.new('openehr ','1.0.2')174 terminology_id = Terminology_ID.new('openehr(1.0.2)') 174 175 code_phrase = Code_Phrase.new('249', terminology_id) 175 176 dv_coded_text = DV_Coded_Text.new('creation', code_phrase) … … 306 307 class RM_Common_Change_Control_Test < Test::Unit::TestCase 307 308 def setup 308 hier_object_id = OpenEHR::RM::Support::Identification::Hier_Object_ID.new('0.0.4') 309 object_id = OpenEHR::RM::Support::Identification::Object_ID.new("0.0.3") 310 object_ref = OpenEHR::RM::Support::Identification::Object_Ref.new('local', 'ANY', object_id) 311 versions = Set.new [object_ref] 312 # audit_detail = OpenEHR::RM::Generic::Audit_Detail.new() 313 # assert_nothing_raised(Exception){@version = OpenEHR::RM::Common::Change_Control::Version.new(hier_object_id, versions)} 314 # assert_nothing_raised(Exception){@contribution = OpenEHR::RM::Common::Change_Control::Contribution.new(hier_object_id, versions, audit_detail)} 315 end 316 def test_init 317 # assert_instace_of OpenEHR::RM::Common::Change_Control::Contribution @contribution 318 # assert_instace_of OpenEHR::RM::Common::Change_Control::Version @version 319 end 309 object_version_id1 = Object_Version_ID.new('ABC::DEF::2.2.3') 310 object_version_id2 = Object_Version_ID.new('GHI::JKL::4.5.6') 311 object_id = Object_ID.new('ehr://uniqueid1020') 312 dv_date_time = DV_Date_Time.new('2009-07-06T21:10:12') 313 party_ref = Party_Ref.new('unknown', 'ORGANISATION', object_id) 314 party_proxy = Party_Proxy.new(:external_ref => party_ref) 315 terminology_id = Terminology_ID.new('openehr(1.0.2)') 316 code_phrase = Code_Phrase.new('249', terminology_id) 317 dv_coded_text = DV_Coded_Text.new('creation', code_phrase) 318 audit_details = Audit_Details.new(:system_id => 'MAGI', 319 :committer => party_proxy, 320 :time_committed => dv_date_time, 321 :change_type => dv_coded_text) 322 code_phrase = Code_Phrase.new('532', terminology_id) 323 dv_coded_text = DV_Coded_Text.new('complete', code_phrase) 324 object_id = Object_ID.new('ehr://test_location') 325 object_ref = Object_Ref.new('local', 'PARTY', object_id) 326 hier_object_id = Hier_Object_ID.new('ABC') 327 assert_nothing_raised(Exception){ 328 @version = Version.new(:uid => object_version_id1, 329 :preceding_version_uid => object_version_id2, 330 :lifecycle_state => dv_coded_text, 331 :commit_audit => audit_details, 332 :contribution => object_ref, 333 :signature => 'test_version', 334 :data => 'data')} 335 object_version_id3 = Object_Version_ID.new('MNO::PQR::7.8.9') 336 object_version_id4 = Object_Version_ID.new('STU::VWX::1.2.3') 337 code_phrase = Code_Phrase.new('240', terminology_id) 338 dv_coded_text2 = DV_Coded_Text.new('signed', code_phrase) 339 attestation = Attestation.new(:system_id => 'NERV', 340 :committer => party_proxy, 341 :time_committed => dv_date_time, 342 :change_type => dv_coded_text, 343 :reason => DV_Text.new('signed')) 344 assert_nothing_raised(Exception){ 345 @original_version = Original_Version.new(:uid => object_version_id3, 346 :preceding_version_uid => object_version_id4, 347 :other_input_version_uids => Set[object_version_id1, object_version_id2], 348 :commit_audit => audit_details, 349 :contribution => object_ref, 350 :attestations => [attestation], 351 :data => 'data', 352 :lifecycle_state => dv_coded_text)} 353 end 354 355 def test_init 356 assert_instance_of OpenEHR::RM::Common::Change_Control::Version, @version 357 assert_instance_of Original_Version, @original_version 358 # assert_instance_of OpenEHR::RM::Common::Change_Control::Contribution @contribution 359 end 360 320 361 def test_version 321 end 362 assert_equal 'ABC::DEF::2.2.3', @version.uid.value 363 assert !@version.uid.version_tree_id.is_first? 364 assert_equal 'GHI::JKL::4.5.6', @version.preceding_version_uid.value 365 assert_equal '532', @version.lifecycle_state.defining_code.code_string 366 assert_equal 'MAGI', @version.commit_audit.system_id 367 assert_equal 'local', @version.contribution.namespace 368 assert_equal 'test_version', @version.signature 369 assert_equal 'ABC', @version.owner_id.value 370 assert_equal 'data', @version.data 371 assert @version.is_branch? 372 end 373 374 def test_original_version 375 assert_equal 'MNO::PQR::7.8.9', @original_version.uid.value 376 assert_equal 'NERV', @original_version.attestations[0].system_id 377 end 378 322 379 def test_contribution 323 380 # assert_equal @contribution.uid -
ruby/trunk/lib/models/tests/rm/test_data_types.rb
r153 r158 7 7 def setup 8 8 assert_nothing_raised(Exception){@dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")} 9 @terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('openEHR ','1.0.2')9 @terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('openEHR(1.0.2)') 10 10 @code_phrase = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('PROPOSED', @terminology_id) 11 11 @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("Blood examination", @code_phrase) … … 99 99 def setup 100 100 assert_nothing_raised(Exception){@dv_text = OpenEHR::RM::Data_Types::Text::DV_Text.new("valid value")} 101 @terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('ICD10' , '')101 @terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('ICD10') 102 102 103 103 assert_nothing_raised(Exception){@code_phrase = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('C92.0', @terminology_id)} … … 166 166 @dv_ordered = OpenEHR::RM::Data_Types::Quantity::DV_Ordered.new } 167 167 assert_nothing_raised(Exception){ 168 terminology = OpenEHR::RM::Support::Identification::Terminology_ID.new('urine' , '')168 terminology = OpenEHR::RM::Support::Identification::Terminology_ID.new('urine') 169 169 code_phrase = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('protein',terminology) 170 170 urinary_protein = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new('+', code_phrase) … … 214 214 assert @dv_ordered.is_simple? 215 215 assert_raise(NotImplementedError){@dv_ordered<=>1} 216 openehr_terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('openEHR' ,'')216 openehr_terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('openEHR') 217 217 normal_code = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('N', openehr_terminology_id) 218 218 assert_equal 'N', normal_code.code_string … … 232 232 assert_equal 'normal', @reference_range.meaning.value 233 233 assert_equal 1, @reference_range.range.lower.value 234 terminology = OpenEHR::RM::Support::Identification::Terminology_ID.new('urine' , '')234 terminology = OpenEHR::RM::Support::Identification::Terminology_ID.new('urine') 235 235 code_phrase = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('protein',terminology) 236 236 urinary_protein = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new('++', code_phrase) -
ruby/trunk/lib/models/tests/rm/test_support.rb
r157 r158 16 16 assert_nothing_raised(Exception){@object_ref = OpenEHR::RM::Support::Identification::Object_Ref.new('local', 'ANY', @object_id)} 17 17 assert_nothing_raised(Exception){@archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new("0.0.5", "biochemistry result_cholesterol", "entry", "ehr_rm", "openehr","cholesterol","0.0.3")} 18 assert_nothing_raised(Exception){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new( "ICD10",'2003')}18 assert_nothing_raised(Exception){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('ICD10(2003)')} 19 19 assert_nothing_raised(Exception){@generic_id = OpenEHR::RM::Support::Identification::Generic_ID.new("0.0.3", "openehr")} 20 20 assert_nothing_raised(Exception){@uid_based_id = OpenEHR::RM::Support::Identification::UID_Based_ID.new('rrip::0.0.3')} … … 155 155 assert_raise(ArgumentError){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('','02008')} 156 156 assert_raise(ArgumentError){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new("SNOMED", nil)} 157 assert_nothing_raised(Exception){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new("SNOMED" ,'')}157 assert_nothing_raised(Exception){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new("SNOMED")} 158 158 159 159 assert_equal "SNOMED", @terminology_id.name
Note:
See TracChangeset
for help on using the changeset viewer.