Class: Renalware::Pathology::CurrentObservationSet

Inherits:
ApplicationRecord
  • Object
show all
Defined in:
app/models/renalware/pathology/current_observation_set.rb

Overview

We maintain current observations for each patient in their #current_observation_set. CurrentObservationSet#values is a hash (stored as jsonb) where the OBX code is the key and the result value and observation date are themselves a hash. So values looks like this {

"HGB": {
  "result": 123,
  observed_at: "2017-12-12 12:12:12"
},
"CRE": {
  ...
}

} and always contains the very latest pathology result for any code. We store all incoming OBX codes, not just a restricted list. Legacy data might only contain a subset of codes, so #values should not be relied on to cover current observations for the patients entire history, just key ones. When displaying or using a patient’s current_observation_set the consuming code must filter out the codes it wants.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.null_values_hashObject



38
39
40
# File 'app/models/renalware/pathology/current_observation_set.rb', line 38

def self.null_values_hash
  HashWithIndifferentAccess.new.extend(ObservationSetMethods)
end

Instance Method Details

#values_for_codes(codes) ⇒ Object



33
34
35
36
# File 'app/models/renalware/pathology/current_observation_set.rb', line 33

def values_for_codes(codes)
  codes = Array(codes)
  values.select{ |code, _| codes.include?(code) }
end