Module: Lab::ResultSerializer
- Defined in:
- app/serializers/lab/result_serializer.rb
Overview
Serialize a Lab order result
Class Method Summary collapse
Class Method Details
.read_value(measure) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'app/serializers/lab/result_serializer.rb', line 26 def self.read_value(measure) %w[value_numeric value_coded value_boolean value_text].each do |field| value = measure.send(field) if measure.respond_to?(field) return [value, field.split('_')[1]] if value end [nil, 'unknown'] end |
.serialize(result) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/serializers/lab/result_serializer.rb', line 7 def self.serialize(result) result.children.map do |measure| value, value_type = read_value(measure) concept_name = ConceptName.find_by_concept_id(measure.concept_id) { id: measure.obs_id, indicator: { concept_id: concept_name&.concept_id, name: concept_name&.name }, date: measure.obs_datetime, value: value, value_type: value_type, value_modifier: measure.value_modifier } end end |