redox 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +9 -0
 - data/lib/redox.rb +3 -0
 - data/lib/redox/models/financial.rb +1 -4
 - data/lib/redox/models/model.rb +67 -26
 - data/lib/redox/models/ordering_provider.rb +15 -0
 - data/lib/redox/models/patient/demographics.rb +1 -1
 - data/lib/redox/models/patient/identifier.rb +1 -1
 - data/lib/redox/models/patient/p_c_p.rb +1 -5
 - data/lib/redox/models/provider.rb +21 -0
 - data/lib/redox/models/transaction.rb +13 -4
 - data/lib/redox/request/provider.rb +12 -0
 - data/lib/redox/version.rb +1 -1
 - metadata +5 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e2c926b510dc2e56b85369003ee89caf82292929308a18775df049e4a57e1d95
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 9799c173cb24daa74f3dfe02eefb3f8c2a456557dafa819fb7ca2760621a3b4e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 1499bf55b2c53f0a0dafc2d68d3b420bc5a0a0760d4258103360d32526b32e4f418a59fddb50afb3feb80ac45a979045b943018d24a717129e7db072c7233faf
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 2b2eeebee1f5a35c028cee6c77f582e0dff10734cec40ce620fdc02617c01daf42f73d62e4960ec7a7b77ed4290f733c3fb0ce46f408566f826fa86f1d71a970
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. 
     | 
|
| 
       4 
4 
     | 
    
         
             
            The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
         
     | 
| 
       5 
5 
     | 
    
         
             
            and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
            ## [1.4.0] - 2020-10-13
         
     | 
| 
      
 8 
     | 
    
         
            +
            ### Added
         
     | 
| 
      
 9 
     | 
    
         
            +
            - AbstractModel that does not add top level key
         
     | 
| 
      
 10 
     | 
    
         
            +
            - OrderingProvider that is the base for PCP
         
     | 
| 
      
 11 
     | 
    
         
            +
            - Provider model
         
     | 
| 
      
 12 
     | 
    
         
            +
            - Provider#query
         
     | 
| 
      
 13 
     | 
    
         
            +
            - Created new method that can add helpers dynamically from response
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       7 
15 
     | 
    
         
             
            ## [1.3.1] - 2020-10-02
         
     | 
| 
       8 
16 
     | 
    
         
             
            ### Added
         
     | 
| 
       9 
17 
     | 
    
         
             
            - Transaction#as\_json
         
     | 
| 
         @@ -113,6 +121,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. 
     | 
|
| 
       113 
121 
     | 
    
         
             
            ### Added
         
     | 
| 
       114 
122 
     | 
    
         
             
            - Initial Release
         
     | 
| 
       115 
123 
     | 
    
         | 
| 
      
 124 
     | 
    
         
            +
            [1.4.0]: https://github.com/WeInfuse/redox/compare/v1.3.1...v1.4.0
         
     | 
| 
       116 
125 
     | 
    
         
             
            [1.3.1]: https://github.com/WeInfuse/redox/compare/v1.3.0...v1.3.1
         
     | 
| 
       117 
126 
     | 
    
         
             
            [1.3.0]: https://github.com/WeInfuse/redox/compare/v1.2.0...v1.3.0
         
     | 
| 
       118 
127 
     | 
    
         
             
            [1.2.0]: https://github.com/WeInfuse/redox/compare/v1.1.1...v1.2.0
         
     | 
    
        data/lib/redox.rb
    CHANGED
    
    | 
         @@ -6,7 +6,9 @@ require 'redox/connection' 
     | 
|
| 
       6 
6 
     | 
    
         
             
            require 'redox/authentication'
         
     | 
| 
       7 
7 
     | 
    
         
             
            require 'redox/models/model'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require 'redox/models/meta'
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'redox/models/ordering_provider'
         
     | 
| 
       9 
10 
     | 
    
         
             
            require 'redox/models/patient'
         
     | 
| 
      
 11 
     | 
    
         
            +
            require 'redox/models/provider'
         
     | 
| 
       10 
12 
     | 
    
         
             
            require 'redox/models/visit'
         
     | 
| 
       11 
13 
     | 
    
         
             
            require 'redox/models/transaction'
         
     | 
| 
       12 
14 
     | 
    
         
             
            require 'redox/models/financial'
         
     | 
| 
         @@ -19,6 +21,7 @@ require 'redox/request/request' 
     | 
|
| 
       19 
21 
     | 
    
         
             
            require 'redox/request/financial'
         
     | 
| 
       20 
22 
     | 
    
         
             
            require 'redox/request/patient_admin'
         
     | 
| 
       21 
23 
     | 
    
         
             
            require 'redox/request/patient_search'
         
     | 
| 
      
 24 
     | 
    
         
            +
            require 'redox/request/provider'
         
     | 
| 
       22 
25 
     | 
    
         | 
| 
       23 
26 
     | 
    
         
             
            module Redox
         
     | 
| 
       24 
27 
     | 
    
         
             
              class Configuration
         
     | 
| 
         @@ -1,9 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Redox
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Models
         
     | 
| 
       3 
     | 
    
         
            -
                class Financial <  
     | 
| 
       4 
     | 
    
         
            -
                  include Hashie::Extensions::IgnoreUndeclared
         
     | 
| 
       5 
     | 
    
         
            -
                  include Hashie::Extensions::IndifferentAccess
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
                class Financial < AbstractModel
         
     | 
| 
       7 
4 
     | 
    
         
             
                  property :Visit, required: false, from: :visit, default: Redox::Models::Visit.new
         
     | 
| 
       8 
5 
     | 
    
         
             
                  property :Patient, required: false, from: :patient, default: Redox::Models::Patient.new
         
     | 
| 
       9 
6 
     | 
    
         
             
                  property :Transactions, required: false, from: :transactions, default: []
         
     | 
    
        data/lib/redox/models/model.rb
    CHANGED
    
    | 
         @@ -8,10 +8,12 @@ module Redox 
     | 
|
| 
       8 
8 
     | 
    
         
             
                  end
         
     | 
| 
       9 
9 
     | 
    
         
             
                end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                class  
     | 
| 
      
 11 
     | 
    
         
            +
                class AbstractModel < Hashie::Trash
         
     | 
| 
       12 
12 
     | 
    
         
             
                  include Hashie::Extensions::IgnoreUndeclared
         
     | 
| 
       13 
13 
     | 
    
         
             
                  include Hashie::Extensions::IndifferentAccess
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
                  HIGH_LEVEL_KEYS = %w[Meta Patient Visit PotentialMatches]
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       15 
17 
     | 
    
         
             
                  property :Meta, from: :meta, required: false
         
     | 
| 
       16 
18 
     | 
    
         
             
                  property :Patient, from: :patient, required: false
         
     | 
| 
       17 
19 
     | 
    
         
             
                  property :Visit, from: :visit, required: false
         
     | 
| 
         @@ -24,6 +26,70 @@ module Redox 
     | 
|
| 
       24 
26 
     | 
    
         
             
                  alias_method :visit, :Visit
         
     | 
| 
       25 
27 
     | 
    
         
             
                  alias_method :meta, :Meta
         
     | 
| 
       26 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
                  def to_json(args = {})
         
     | 
| 
      
 30 
     | 
    
         
            +
                    return self.to_h.to_json
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  def insurances
         
     | 
| 
      
 34 
     | 
    
         
            +
                    (self.patient&.insurances || []) + (self.visit&.insurances || [])
         
     | 
| 
      
 35 
     | 
    
         
            +
                  end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                  def self.from_response(response)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    model = Model.new
         
     | 
| 
      
 39 
     | 
    
         
            +
                    model.response = response
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                    HIGH_LEVEL_KEYS.each do |k|
         
     | 
| 
      
 42 
     | 
    
         
            +
                      begin
         
     | 
| 
      
 43 
     | 
    
         
            +
                        model.send("#{k}=", Module.const_get("Redox::Models::#{k}").new(response[k])) if response[k]
         
     | 
| 
      
 44 
     | 
    
         
            +
                      rescue
         
     | 
| 
      
 45 
     | 
    
         
            +
                      end
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                    return model
         
     | 
| 
      
 49 
     | 
    
         
            +
                  end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  def self.from_response_inflected(response)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    model = self.from_response(response)
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                    if (model.response.ok?)
         
     | 
| 
      
 55 
     | 
    
         
            +
                      data = model.response.parsed_response
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                      if data.respond_to?(:keys)
         
     | 
| 
      
 58 
     | 
    
         
            +
                        model_class = nil
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                        if model.meta&.data_model
         
     | 
| 
      
 61 
     | 
    
         
            +
                          model_class = "Redox::Models::#{model.meta.data_model}"
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                          begin
         
     | 
| 
      
 64 
     | 
    
         
            +
                            model_class = Object.const_get(model_class)
         
     | 
| 
      
 65 
     | 
    
         
            +
                          rescue NameError
         
     | 
| 
      
 66 
     | 
    
         
            +
                            model_class = nil
         
     | 
| 
      
 67 
     | 
    
         
            +
                          end
         
     | 
| 
      
 68 
     | 
    
         
            +
                        end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                        data.keys.each do |key|
         
     | 
| 
      
 71 
     | 
    
         
            +
                          next if HIGH_LEVEL_KEYS.include?(key.to_s)
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                          helper_name = key.to_s.downcase.to_sym
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                          if model_class.nil?
         
     | 
| 
      
 76 
     | 
    
         
            +
                            model.define_singleton_method(helper_name) { data[key] }
         
     | 
| 
      
 77 
     | 
    
         
            +
                          else
         
     | 
| 
      
 78 
     | 
    
         
            +
                            if data[key].is_a?(Array)
         
     | 
| 
      
 79 
     | 
    
         
            +
                              model.define_singleton_method(helper_name) { data[key].map {|obj| model_class.new(obj) } }
         
     | 
| 
      
 80 
     | 
    
         
            +
                            else
         
     | 
| 
      
 81 
     | 
    
         
            +
                              model.define_singleton_method(helper_name) { model_class.new(data[key]) }
         
     | 
| 
      
 82 
     | 
    
         
            +
                            end
         
     | 
| 
      
 83 
     | 
    
         
            +
                          end
         
     | 
| 
      
 84 
     | 
    
         
            +
                        end
         
     | 
| 
      
 85 
     | 
    
         
            +
                      end
         
     | 
| 
      
 86 
     | 
    
         
            +
                    end
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                    return model
         
     | 
| 
      
 89 
     | 
    
         
            +
                  end
         
     | 
| 
      
 90 
     | 
    
         
            +
                end
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                class Model < AbstractModel
         
     | 
| 
       27 
93 
     | 
    
         
             
                  def initialize(data = {})
         
     | 
| 
       28 
94 
     | 
    
         
             
                    if data.is_a?(Hash)
         
     | 
| 
       29 
95 
     | 
    
         
             
                      if data.include?(key)
         
     | 
| 
         @@ -40,32 +106,7 @@ module Redox 
     | 
|
| 
       40 
106 
     | 
    
         
             
                    return { key => super.to_h }
         
     | 
| 
       41 
107 
     | 
    
         
             
                  end
         
     | 
| 
       42 
108 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
                  def to_json(args = {})
         
     | 
| 
       44 
     | 
    
         
            -
                    return self.to_h.to_json
         
     | 
| 
       45 
     | 
    
         
            -
                  end
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
                  def insurances
         
     | 
| 
       48 
     | 
    
         
            -
                    (self.patient&.insurances || []) + (self.visit&.insurances || [])
         
     | 
| 
       49 
     | 
    
         
            -
                  end
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
                  class << self
         
     | 
| 
       52 
     | 
    
         
            -
                    def from_response(response)
         
     | 
| 
       53 
     | 
    
         
            -
                      model = Model.new
         
     | 
| 
       54 
     | 
    
         
            -
                      model.response = response
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
                      %w[Meta Patient Visit PotentialMatches].each do |k|
         
     | 
| 
       57 
     | 
    
         
            -
                        begin
         
     | 
| 
       58 
     | 
    
         
            -
                          model.send("#{k}=", Module.const_get("Redox::Models::#{k}").new(response[k])) if response[k]
         
     | 
| 
       59 
     | 
    
         
            -
                        rescue
         
     | 
| 
       60 
     | 
    
         
            -
                        end
         
     | 
| 
       61 
     | 
    
         
            -
                      end
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
                      return model
         
     | 
| 
       64 
     | 
    
         
            -
                    end
         
     | 
| 
       65 
     | 
    
         
            -
                  end
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
109 
     | 
    
         
             
                  private
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
110 
     | 
    
         
             
                  def key
         
     | 
| 
       70 
111 
     | 
    
         
             
                    return self.class.to_s.split('::').last.to_s
         
     | 
| 
       71 
112 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Redox
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class OrderingProvider < AbstractModel
         
     | 
| 
      
 4 
     | 
    
         
            +
                  property :ID, required: false, from: :id
         
     | 
| 
      
 5 
     | 
    
         
            +
                  property :IDType, required: false, from: :id_type
         
     | 
| 
      
 6 
     | 
    
         
            +
                  property :FirstName, required: false, from: :first_name
         
     | 
| 
      
 7 
     | 
    
         
            +
                  property :LastName, required: false, from: :last_name
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  alias_method :first_name, :FirstName
         
     | 
| 
      
 10 
     | 
    
         
            +
                  alias_method :last_name, :LastName
         
     | 
| 
      
 11 
     | 
    
         
            +
                  alias_method :id, :ID
         
     | 
| 
      
 12 
     | 
    
         
            +
                  alias_method :id_type, :IDType
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Redox
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Models
         
     | 
| 
       3 
     | 
    
         
            -
                class Demographics <  
     | 
| 
      
 3 
     | 
    
         
            +
                class Demographics < AbstractModel
         
     | 
| 
       4 
4 
     | 
    
         
             
                  property :FirstName, required: false, from: :first_name
         
     | 
| 
       5 
5 
     | 
    
         
             
                  property :MiddleName, required: false, from: :middle_name
         
     | 
| 
       6 
6 
     | 
    
         
             
                  property :LastName, required: false, from: :last_name
         
     | 
| 
         @@ -1,13 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Redox
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Models
         
     | 
| 
       3 
     | 
    
         
            -
                class PCP <  
     | 
| 
      
 3 
     | 
    
         
            +
                class PCP < OrderingProvider
         
     | 
| 
       4 
4 
     | 
    
         
             
                  property :NPI, from: :npi
         
     | 
| 
       5 
     | 
    
         
            -
                  property :FirstName, required: false, from: :first_name
         
     | 
| 
       6 
     | 
    
         
            -
                  property :LastName, required: false, from: :last_name
         
     | 
| 
       7 
5 
     | 
    
         | 
| 
       8 
6 
     | 
    
         
             
                  alias_method :npi, :NPI
         
     | 
| 
       9 
     | 
    
         
            -
                  alias_method :first_name, :FirstName
         
     | 
| 
       10 
     | 
    
         
            -
                  alias_method :last_name, :LastName
         
     | 
| 
       11 
7 
     | 
    
         
             
                end
         
     | 
| 
       12 
8 
     | 
    
         
             
              end
         
     | 
| 
       13 
9 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Redox
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class Provider < Model
         
     | 
| 
      
 4 
     | 
    
         
            +
                  property :Identifiers, from: :identifiers, required: false, default: []
         
     | 
| 
      
 5 
     | 
    
         
            +
                  property :Demographics, from: :demographics, required: false
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  alias_method :identifiers, :Identifiers
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  def demographics
         
     | 
| 
      
 10 
     | 
    
         
            +
                    self[:Demographics] = Demographics.new(self[:Demographics]) unless self[:Demographics].is_a?(Redox::Models::Demographics)
         
     | 
| 
      
 11 
     | 
    
         
            +
                    self[:Demographics] ||= Demographics.new
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  def add_identifier(type: , value: )
         
     | 
| 
      
 15 
     | 
    
         
            +
                    self[:Identifiers] << Identifier.new({'ID' => value, 'IDType' => type})
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    return self
         
     | 
| 
      
 18 
     | 
    
         
            +
                  end
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,9 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Redox
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Models
         
     | 
| 
       3 
     | 
    
         
            -
                class Transaction <  
     | 
| 
       4 
     | 
    
         
            -
                  include Hashie::Extensions::IgnoreUndeclared
         
     | 
| 
       5 
     | 
    
         
            -
                  include Hashie::Extensions::IndifferentAccess
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
                class Transaction < AbstractModel
         
     | 
| 
       7 
4 
     | 
    
         
             
                  property :Chargeable, required: false, from: :chargeable, default: {}
         
     | 
| 
       8 
5 
     | 
    
         
             
                  property :DateTimeOfService, required: false, from: :start
         
     | 
| 
       9 
6 
     | 
    
         
             
                  property :Department, required: false, from: :department, default: {}
         
     | 
| 
         @@ -48,6 +45,18 @@ module Redox 
     | 
|
| 
       48 
45 
     | 
    
         
             
                    self
         
     | 
| 
       49 
46 
     | 
    
         
             
                  end
         
     | 
| 
       50 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
                  def add_ordering_provider(**kwargs)
         
     | 
| 
      
 49 
     | 
    
         
            +
                    self[:OrderingProviders] ||= []
         
     | 
| 
      
 50 
     | 
    
         
            +
                    self[:OrderingProviders] << OrderingProvider.new(kwargs)
         
     | 
| 
      
 51 
     | 
    
         
            +
                    self
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                  def add_performer(**kwargs)
         
     | 
| 
      
 55 
     | 
    
         
            +
                    self[:Performers] ||= []
         
     | 
| 
      
 56 
     | 
    
         
            +
                    self[:Performers] << OrderingProvider.new(kwargs)
         
     | 
| 
      
 57 
     | 
    
         
            +
                    self
         
     | 
| 
      
 58 
     | 
    
         
            +
                  end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
       51 
60 
     | 
    
         
             
                  def to_h
         
     | 
| 
       52 
61 
     | 
    
         
             
                    result = super.to_h
         
     | 
| 
       53 
62 
     | 
    
         | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Redox
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Request
         
     | 
| 
      
 3 
     | 
    
         
            +
                class Provider
         
     | 
| 
      
 4 
     | 
    
         
            +
                  QUERY_META = Redox::Models::Meta.new(EventType: 'ProviderQuery', DataModel: 'Provider')
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  def self.query(provider, meta: Redox::Models::Meta.new)
         
     | 
| 
      
 7 
     | 
    
         
            +
                    meta = QUERY_META.merge(meta)
         
     | 
| 
      
 8 
     | 
    
         
            +
                    return Redox::Models::Model.from_response_inflected((RedoxClient.connection.request(body: Redox::Request.build_body(provider, meta))))
         
     | 
| 
      
 9 
     | 
    
         
            +
                  end
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/redox/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: redox
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.4.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Alexander Clark
         
     | 
| 
         @@ -10,7 +10,7 @@ authors: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            autorequire:
         
     | 
| 
       11 
11 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date: 2020-10- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2020-10-13 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: httparty
         
     | 
| 
         @@ -150,18 +150,21 @@ files: 
     | 
|
| 
       150 
150 
     | 
    
         
             
            - lib/redox/models/financial.rb
         
     | 
| 
       151 
151 
     | 
    
         
             
            - lib/redox/models/meta.rb
         
     | 
| 
       152 
152 
     | 
    
         
             
            - lib/redox/models/model.rb
         
     | 
| 
      
 153 
     | 
    
         
            +
            - lib/redox/models/ordering_provider.rb
         
     | 
| 
       153 
154 
     | 
    
         
             
            - lib/redox/models/patient.rb
         
     | 
| 
       154 
155 
     | 
    
         
             
            - lib/redox/models/patient/demographics.rb
         
     | 
| 
       155 
156 
     | 
    
         
             
            - lib/redox/models/patient/identifier.rb
         
     | 
| 
       156 
157 
     | 
    
         
             
            - lib/redox/models/patient/insurance.rb
         
     | 
| 
       157 
158 
     | 
    
         
             
            - lib/redox/models/patient/p_c_p.rb
         
     | 
| 
       158 
159 
     | 
    
         
             
            - lib/redox/models/potential_matches.rb
         
     | 
| 
      
 160 
     | 
    
         
            +
            - lib/redox/models/provider.rb
         
     | 
| 
       159 
161 
     | 
    
         
             
            - lib/redox/models/transaction.rb
         
     | 
| 
       160 
162 
     | 
    
         
             
            - lib/redox/models/visit.rb
         
     | 
| 
       161 
163 
     | 
    
         
             
            - lib/redox/redox_exception.rb
         
     | 
| 
       162 
164 
     | 
    
         
             
            - lib/redox/request/financial.rb
         
     | 
| 
       163 
165 
     | 
    
         
             
            - lib/redox/request/patient_admin.rb
         
     | 
| 
       164 
166 
     | 
    
         
             
            - lib/redox/request/patient_search.rb
         
     | 
| 
      
 167 
     | 
    
         
            +
            - lib/redox/request/provider.rb
         
     | 
| 
       165 
168 
     | 
    
         
             
            - lib/redox/request/request.rb
         
     | 
| 
       166 
169 
     | 
    
         
             
            - lib/redox/version.rb
         
     | 
| 
       167 
170 
     | 
    
         
             
            - redox.gemspec
         
     |