source: ruby/trunk/lib/models/rm/data_types/quantity.rb@ 120

Last change on this file since 120 was 120, checked in by KOBAYASHI, Shinji, 15 years ago

refs #36, #49

File size: 1.9 KB
Line 
1# This modules are implemented from the UML shown bellow
2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109599337877_94556_1510Report.html
3# Ticket refs #50
4module OpenEHR
5 module RM
6 module Data_Types
7 module Quantity
8 class DV_Ordered < OpenEHR::RM::Data_Types::Basic::Data_Value
9 include Comparable
10 attr_accessor :other_refference_ranges, :normal_range
11 attr_accessor :normal_status
12 def initialize(normal_range, other_reference_ranges,
13 normal_status = nil)
14 other_reference_ranges_validity(other_reference_ranges)
15 @normal_range = normal_range
16 @other_reference_ranges = other_reference_ranges
17 @normal_status = normal_status
18 end
19 def is_normal?
20 !normal_range.nil? or !normal_status.nil
21 end
22 def is_simple?
23 normal_status.nil? and other_refference_ranges.nil?
24 end
25 private
26 def other_reference_ranges_validity(other_reference_ranges)
27 if !other_reference_ranges.nil? or other_reference_ranges.is_empty?
28 raise ArgumentError, "Other reference ranges validity error"
29 end
30 end
31 end
32
33 class DV_Quantified < DV_Ordered
34 def magnitude
35 end
36 def valid_magnitude_status(s)
37 end
38 end
39
40 class DV_Ordinal < DV_Ordered
41 attr_reader :symbol, :value
42 def is_strictly_comparable_to?
43 end
44 def limits
45 end
46 end
47
48 class DV_Absolute_Quantity < DV_Quantified
49 attr_reader :accuracy
50
51 def add(a_diff)
52 end
53
54 def diff(other)
55 end
56
57 def subtract(a_diff)
58 end
59 end
60
61 autoload :Date_Time, "rm/data_types/quantity/date_time.rb"
62
63 end # of Quantity
64 end # of Data_Types
65 end # of RM
66end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.