Class: OpenehrRails::Rm::Contribution

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/openehr_rails/rm/contribution.rb

Overview

Change-set audit record (openEHR CONTRIBUTION + AUDIT_DETAILS flattened): who committed which kind of change, when.

Constant Summary collapse

CHANGE_TYPES =
{
  'creation' => '249',
  'amendment' => '250',
  'modification' => '251',
  'deleted' => '523'
}.freeze

Class Method Summary collapse

Class Method Details

.record!(change_type, ehr: nil, description: nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/openehr_rails/rm/contribution.rb', line 27

def self.record!(change_type, ehr: nil, description: nil)
  create!(
    uid: SecureRandom.uuid,
    ehr: ehr,
    system_id: OpenehrRails.system_id,
    committer_name: OpenehrRails.default_composer_name,
    time_committed: Time.current,
    change_type_value: change_type,
    change_type_code: CHANGE_TYPES.fetch(change_type),
    description: description
  )
end