class OpenEHR::Parser::ADLParser
Public Class Methods
new(filename)
click to toggle source
Calls superclass method
OpenEHR::Parser::Base::new
# File lib/openehr/parser/adl_parser.rb, line 12 def initialize(filename) super end
Public Instance Methods
parse()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 16 def parse archetype end
Private Instance Methods
adl_grammar_parser()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 22 def adl_grammar_parser @adl_grammar_parser ||= ADLGrammarParser.new end
adl_version()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 58 def adl_version parsed_data.adl_version end
archetype()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 82 def archetype OpenEHR::AM::Archetype::Archetype.new(:archetype_id => archetype_id, :adl_version => adl_version, :uid => uid, :concept => concept, :original_language => original_language, :translations => translations, :description => description, :definition => definition, :ontology => ontology) end
archetype_id()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 39 def archetype_id OpenEHR::RM::Support::Identification::ArchetypeID.new(:value => parsed_data.archetype_id) end
concept()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 66 def concept parsed_data.concept end
definition()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 78 def definition parsed_data.definition end
description()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 70 def description parsed_data.description end
ontology()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 43 def ontology parsed_data.ontology end
original_language()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 47 def original_language original_language = nil if parsed_data.original_language original_language = parsed_data.original_language else terminology_id = OpenEHR::RM::Support::Identification::TerminologyID.new(:value => 'ISO639-1') original_language = OpenEHR::RM::DataTypes::Text::CodePhrase.new(:terminology_id => terminology_id, :code_string => ontology.primary_language) end original_language end
parsed_data()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 26 def parsed_data filestream = File.open(@filename, 'rb:bom|utf-8') @parsed_data ||= adl_grammar_parser.parse(filestream.read.scrub) filestream.close unless @parsed_data puts adl_grammar_parser.failure_reason puts adl_grammar_parser.failure_line puts adl_grammar_parser.failure_column raise ParseError, 'Invalid ADL' end @parsed_data end
translations()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 74 def translations parsed_data.translations end
uid()
click to toggle source
# File lib/openehr/parser/adl_parser.rb, line 62 def uid OpenEHR::RM::Support::Identification::HierObjectID.new(value: parsed_data.uid) if parsed_data.uid end