Class: Renalware::Pathology::CurrentObservationSet
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Renalware::Pathology::CurrentObservationSet
- 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_hash ⇒ Object
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 |