Class: OpenEHR::AM::Archetype::Ontology::ArchetypeOntology

Inherits:
Object
  • Object
show all
Defined in:
lib/open_ehr/am/archetype/ontology.rb

Direct Known Subclasses

ARCHETYPE_ONTOLOGY

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = { }) ⇒ ArchetypeOntology

Returns a new instance of ArchetypeOntology.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/open_ehr/am/archetype/ontology.rb', line 12

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

Instance Attribute Details

#constraint_bindingsObject

Returns the value of attribute constraint_bindings.



9
10
11
# File 'lib/open_ehr/am/archetype/ontology.rb', line 9

def constraint_bindings
  @constraint_bindings
end

#constraint_definitionsObject

Returns the value of attribute constraint_definitions.



10
11
12
# File 'lib/open_ehr/am/archetype/ontology.rb', line 10

def constraint_definitions
  @constraint_definitions
end

#languages_availableObject

Returns the value of attribute languages_available.



8
9
10
# File 'lib/open_ehr/am/archetype/ontology.rb', line 8

def languages_available
  @languages_available
end

#primary_languageObject

Returns the value of attribute primary_language.



6
7
8
# File 'lib/open_ehr/am/archetype/ontology.rb', line 6

def primary_language
  @primary_language
end

#specialisation_depthObject

Returns the value of attribute specialisation_depth.



6
7
8
# File 'lib/open_ehr/am/archetype/ontology.rb', line 6

def specialisation_depth
  @specialisation_depth
end

#term_attribute_namesObject

Returns the value of attribute term_attribute_names.



7
8
9
# File 'lib/open_ehr/am/archetype/ontology.rb', line 7

def term_attribute_names
  @term_attribute_names
end

#term_bindingsObject

Returns the value of attribute term_bindings.



7
8
9
# File 'lib/open_ehr/am/archetype/ontology.rb', line 7

def term_bindings
  @term_bindings
end

#term_definitionsObject

Returns the value of attribute term_definitions.



10
11
12
# File 'lib/open_ehr/am/archetype/ontology.rb', line 10

def term_definitions
  @term_definitions
end

#terminologies_availableObject

Returns the value of attribute terminologies_available.



8
9
10
# File 'lib/open_ehr/am/archetype/ontology.rb', line 8

def terminologies_available
  @terminologies_available
end

Instance Method Details

#constraint_binding(args = {}) ⇒ Object



44
45
46
# File 'lib/open_ehr/am/archetype/ontology.rb', line 44

def constraint_binding(args = {})
  return @constraint_bindings[args[:terminology]][args[:code]]
end

#constraint_codesObject



36
37
38
39
40
41
42
# File 'lib/open_ehr/am/archetype/ontology.rb', line 36

def constraint_codes
  if @constraint_definitions.nil?
    return nil
  else
    code_set @constraint_definitions
  end
end

#constraint_definition(args = {}) ⇒ Object



52
53
54
# File 'lib/open_ehr/am/archetype/ontology.rb', line 52

def constraint_definition(args = {})
  return @constraint_definitions[args[:lang]][args[:code]]
end

#has_language?(a_lang) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/open_ehr/am/archetype/ontology.rb', line 56

def has_language?(a_lang)
  return @term_definitions.has_key? a_lang
end

#has_terminology?(a_terminology) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
63
64
65
66
67
# File 'lib/open_ehr/am/archetype/ontology.rb', line 60

def has_terminology?(a_terminology)
  if !@terminologies_available.nil? &&
      (@terminologies_available.include? a_terminology)
    return true
  else
    return false
  end
end

#term_binding(args = { }) ⇒ Object



69
70
71
# File 'lib/open_ehr/am/archetype/ontology.rb', line 69

def term_binding(args = { })
  return @term_bindings[args[:terminology]][args[:code]]
end

#term_codesObject



32
33
34
# File 'lib/open_ehr/am/archetype/ontology.rb', line 32

def term_codes
  code_set @term_definitions
end

#term_definition(args = { }) ⇒ Object



73
74
75
# File 'lib/open_ehr/am/archetype/ontology.rb', line 73

def term_definition(args = { })
  return @term_definitions[args[:lang]][args[:code]]
end