Class: OpenehrRails::Rm::RmObjectBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/openehr_rails/rm/rm_object_builder.rb

Overview

Builds a full OpenEHR::RM::Composition object from the stored graph, injecting config defaults for mandatory attributes not carried in OPT/stored data. The gem's own constructor validations (ArgumentError on missing mandatory attrs) become the RM-conformance check.

Constant Summary collapse

TYPE_CLASSES =

Map rm_type to the corresponding OpenEHR::RM class.

{
  'OBSERVATION' => OpenEHR::RM::Composition::Content::Entry::Observation,
  'EVALUATION' => OpenEHR::RM::Composition::Content::Entry::Evaluation,
  'ADMIN_ENTRY' => OpenEHR::RM::Composition::Content::Entry::AdminEntry,
  'HISTORY' => OpenEHR::RM::DataStructures::History::History,
  'POINT_EVENT' => OpenEHR::RM::DataStructures::History::PointEvent,
  'INTERVAL_EVENT' => OpenEHR::RM::DataStructures::History::IntervalEvent,
  'ITEM_TREE' => OpenEHR::RM::DataStructures::ItemStructure::ItemTree,
  'ITEM_LIST' => OpenEHR::RM::DataStructures::ItemStructure::ItemList,
  'CLUSTER' => OpenEHR::RM::DataStructures::ItemStructure::Representation::Cluster,
  'ELEMENT' => OpenEHR::RM::DataStructures::ItemStructure::Representation::Element
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(composition) ⇒ RmObjectBuilder

Returns a new instance of RmObjectBuilder.



27
28
29
# File 'lib/openehr_rails/rm/rm_object_builder.rb', line 27

def initialize(composition)
  @composition = composition
end

Instance Method Details

#callObject



31
32
33
# File 'lib/openehr_rails/rm/rm_object_builder.rb', line 31

def call
  build_composition
end