class OpenEHR::AM::Archetype::Ontology::ArchetypeOntology
Attributes
constraint_bindings[RW]
constraint_definitions[R]
languages_available[RW]
primary_language[RW]
specialisation_depth[RW]
term_attribute_names[RW]
term_bindings[RW]
term_definitions[R]
terminologies_available[RW]
Public Class Methods
new(args = { })
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 13 def initialize(args = { }) self.primary_language = args[:primary_language] self.languages_available = args[:languages_available] self.terminologies_available = args[:terminologies_available] self.specialisation_depth = args[:specialisation_depth] self.term_definitions = args[:term_definitions] if args[:constraint_definitions] self.constraint_definitions = args[:constraint_definitions] end self.term_bindings = args[:term_bindings] self.constraint_bindings = args[:constraint_bindings] end
Public Instance Methods
constraint_binding(args = {})
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 45 def constraint_binding(args = {}) return @constraint_bindings[args[:terminology]][args[:code]] end
constraint_codes()
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 37 def constraint_codes if @constraint_definitions.nil? return nil else code_set @constraint_definitions end end
constraint_definition(args = {})
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 53 def constraint_definition(args = {}) return @constraint_definitions[args[:lang]][args[:code]] end
constraint_definitions=(constraint_definitions)
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 49 def constraint_definitions=(constraint_definitions) @constraint_definitions = constraint_definitions end
has_language?(a_lang)
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 57 def has_language?(a_lang) return @term_definitions.has_key? a_lang end
has_terminology?(a_terminology)
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 61 def has_terminology?(a_terminology) if !@terminologies_available.nil? && (@terminologies_available.include? a_terminology) return true else return false end end
term_binding(args = { })
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 70 def term_binding(args = { }) return @term_bindings[args[:terminology]][args[:code]] end
term_codes()
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 33 def term_codes code_set @term_definitions end
term_definition(args = { })
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 74 def term_definition(args = { }) return @term_definitions[args[:lang]][args[:code]] end
term_definitions=(term_definitions)
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 26 def term_definitions=(term_definitions) if term_definitions.nil? raise ArgumentError, 'term_definitions is mandatory' end @term_definitions = term_definitions end
Protected Instance Methods
code_set(definitions)
click to toggle source
# File lib/openehr/am/archetype/ontology.rb, line 79 def code_set(definitions) codes = definitions.values.inject([]) do |codes, item| item.keys end codes.uniq end