Ignore:
Timestamp:
Apr 23, 2010, 12:00:31 AM (14 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed archetype ontology bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/open_ehr/am/archetype/ontology.rb

    r403 r411  
    44      module Ontology
    55        class ArchetypeOntology
    6           attr_accessor :constraint_codes, :specialisation_depth
    7           attr_accessor :term_attribute_names, :term_codes
    8           attr_reader :terminologies_available
     6          attr_accessor :constraint_definitions, :specialisation_depth
     7          attr_accessor :term_attribute_names, :term_bindings
     8          attr_reader :terminologies_available, :term_definitions
    99
    1010          def initialize(args = { })
    11             self.terminologies_available = args[:terminologies_available]
    1211            self.specialisation_depth = args[:specialisation_depth]
    13             self.term_codes = args[:term_codes]
    14             self.constraint_codes = args[:constraint_codes]
    15             self.term_attribute_names = args[:term_attribute_names]
     12            self.term_definitions = args[:term_definitions]
     13            self.constraint_definitions = args[:constraint_definitions]
     14            self.term_bindings = args[:term_bindings]
    1615          end
    1716
    18           def terminologies_available=(terminologies_available)
    19             if terminologies_available.nil?
    20               raise ArgumentError, 'terminologies_available is mandatory'
     17          # def terminologies_available=(terminologies_available)
     18          #   if terminologies_available.nil?
     19          #     raise ArgumentError, 'terminologies_available is mandatory'
     20          #   end
     21          #   @terminologies_available = terminologies_available
     22          # end
     23
     24          def term_definitions=(term_definitions)
     25            if term_definitions.nil?
     26              raise ArgumentError, 'term_definitions is mandatory'
    2127            end
    22             @terminologies_available = terminologies_available
     28            @term_definitions = term_definitions
     29          end
     30
     31          def term_codes
     32            return @term_definitions.values.collect {|value|
     33              value.collect {|term| term.code}}.flatten.uniq
     34          end
     35
     36          def constraint_codes
     37            if @constraint_definitions.nil?
     38              return nil
     39            else
     40              return @constraint_definitions.values.collect {|value|
     41                value.collect {|term| term.code}}.flatten.uniq
     42            end
    2343          end
    2444
Note: See TracChangeset for help on using the changeset viewer.