[4] | 1 |
|
---|
| 2 | module OpenEHR
|
---|
| 3 | module AM
|
---|
| 4 | module Archetype
|
---|
| 5 | module Constraint_Model
|
---|
[21] | 6 | class ARCHETYPE_CONSTRAINT
|
---|
[4] | 7 |
|
---|
| 8 | end
|
---|
[21] | 9 |
|
---|
[23] | 10 | class CARDINALITY
|
---|
[21] | 11 |
|
---|
| 12 | end
|
---|
| 13 |
|
---|
[23] | 14 | class C_OBJECT < ARCHETYPE_CONSTRAINT
|
---|
| 15 | attr_accessor :node_id, :occurrences, :rm_type_name
|
---|
| 16 |
|
---|
| 17 | def initialize(args = { })
|
---|
| 18 | @node_id = args[:node_id] if args[:node_id]
|
---|
| 19 | @occurrences = args[:occurrences] if args[:occurrences]
|
---|
| 20 | @rm_type_name = args[:rm_type_name] if args[:rm_type_name]
|
---|
| 21 | end
|
---|
| 22 | end
|
---|
| 23 |
|
---|
[21] | 24 | class C_ATTRIBUTE < ARCHETYPE_CONSTRAINT
|
---|
[23] | 25 | attr_accessor :rm_attribute_name, :existence, :children
|
---|
| 26 |
|
---|
| 27 | def initialize(args = { })
|
---|
| 28 | @rm_attribute_name = args[:rm_attribute_name] if args[:rm_attribute_name]
|
---|
| 29 | @existence = args[:existence] if args[:existence]
|
---|
| 30 | @children = args[:children] ? args[:children] : []
|
---|
| 31 |
|
---|
| 32 | end
|
---|
[21] | 33 | end
|
---|
| 34 |
|
---|
| 35 | class C_DEFINED_OBJECT < C_OBJECT
|
---|
[23] | 36 | attr_accessor :assumed_value
|
---|
[21] | 37 |
|
---|
[23] | 38 | def initialize(args = { })
|
---|
| 39 | @assumed_value = args[:assumed_value] if args[:assumed_value]
|
---|
| 40 | super
|
---|
| 41 | end
|
---|
[21] | 42 | end
|
---|
| 43 |
|
---|
| 44 | class C_PRIMITIVE_OBJECT < C_DEFINED_OBJECT
|
---|
[23] | 45 | attr_accessor :item
|
---|
[21] | 46 |
|
---|
[23] | 47 | def initialize(args = { })
|
---|
| 48 | @attributes = args[:item] if args[:item]
|
---|
| 49 | super
|
---|
| 50 | end
|
---|
[21] | 51 | end
|
---|
| 52 |
|
---|
| 53 | class C_COMPLEX_OBJECT < C_DEFINED_OBJECT
|
---|
| 54 | attr_accessor :attributes, :attributes_valid
|
---|
| 55 |
|
---|
[23] | 56 | def initialize(args = { })
|
---|
| 57 | @attributes = args[:attributes] ? args[:attributes] : []
|
---|
| 58 | super
|
---|
| 59 | end
|
---|
| 60 |
|
---|
| 61 | def self.create(args = { }, &block)
|
---|
| 62 | c_complex_object = new(args)
|
---|
| 63 | if block_given?
|
---|
| 64 | yield c_complex_object
|
---|
| 65 | end
|
---|
| 66 | return c_complex_object
|
---|
| 67 | end
|
---|
[21] | 68 | end
|
---|
| 69 |
|
---|
| 70 | class C_DOMAIN_TYPE < C_DEFINED_OBJECT
|
---|
| 71 |
|
---|
| 72 | end
|
---|
| 73 |
|
---|
| 74 | class C_REFERENCE_OBJECT < C_OBJECT
|
---|
| 75 |
|
---|
| 76 | end
|
---|
| 77 |
|
---|
| 78 | class ARCHETYPE_INTERNAL_REF < C_REFERENCE_OBJECT
|
---|
| 79 |
|
---|
| 80 | end
|
---|
| 81 |
|
---|
| 82 | class ARCHETYPE_SLOT < C_REFERENCE_OBJECT
|
---|
| 83 |
|
---|
| 84 | end
|
---|
| 85 |
|
---|
| 86 | class CONSTRAINT_REF < C_REFERENCE_OBJECT
|
---|
| 87 |
|
---|
| 88 | end
|
---|
| 89 |
|
---|
[23] | 90 | class C_SINGLE_ATTRIBUTE < C_ATTRIBUTE
|
---|
| 91 | attr_accessor :alternatives
|
---|
| 92 |
|
---|
| 93 | def initialize(args = { })
|
---|
| 94 | @alternatives = args[:alternatives] ? args[:alternatives] : []
|
---|
| 95 | super
|
---|
| 96 | end
|
---|
| 97 | end
|
---|
| 98 |
|
---|
| 99 | class C_MULTIPLE_ATTRIBUTE < C_ATTRIBUTE
|
---|
| 100 | attr_accessor :members, :cardinality
|
---|
| 101 |
|
---|
| 102 | def initialize(args = { })
|
---|
| 103 | @members = args[:members] ? args[:members] : []
|
---|
| 104 | @cardinality = args[:cardinality] if args[:cardinality]
|
---|
| 105 | super
|
---|
| 106 | end
|
---|
| 107 | end
|
---|
[4] | 108 | end
|
---|
| 109 | end
|
---|
| 110 | end
|
---|
| 111 | end
|
---|
| 112 |
|
---|