redox 1.0.2 → 1.3.1
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 +32 -4
- data/lib/redox.rb +8 -0
- data/lib/redox/models/financial.rb +16 -0
- data/lib/redox/models/model.rb +18 -2
- data/lib/redox/models/patient.rb +3 -17
- data/lib/redox/models/potential_matches.rb +13 -0
- data/lib/redox/models/transaction.rb +66 -0
- data/lib/redox/models/visit.rb +53 -0
- data/lib/redox/request/financial.rb +12 -0
- data/lib/redox/request/patient_admin.rb +18 -0
- data/lib/redox/request/patient_search.rb +13 -0
- data/lib/redox/request/request.rb +9 -0
- data/lib/redox/version.rb +1 -1
- data/redox.gemspec +3 -3
- metadata +19 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 740cc0762bcf54c65c0767f1e6254aa304a193b493babdd5993859866911a7c2
         | 
| 4 | 
            +
              data.tar.gz: df1e7871ffde6efcd565255ea17ad05a5940fa951879e30db4e152c9c78679ae
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f49cff5f2b525ff29499104f008ca393d1676d8a0963fad72154f8a8bfd0cd807fafc9017606d7d3d45c4ed81e8598d06843096b731699f972ed3143e147ad37
         | 
| 7 | 
            +
              data.tar.gz: 3dd1d039480dc5573df999aa9f74f44e6a63acef237dc8257e4bdc22f073033d75b7be6b1d9617e26dcbac22e8f6d199f5d995e019bd73e3c866cde98c9acd62
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -4,11 +4,35 @@ 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. | 
| 7 | 
            +
            ## [1.3.1] - 2020-10-02
         | 
| 8 | 
            +
            ### Added
         | 
| 9 | 
            +
            - Transaction#as\_json
         | 
| 10 | 
            +
            - Visit#as\_json
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ## [1.3.0] - 2020-09-17
         | 
| 13 | 
            +
            ### Added 
         | 
| 14 | 
            +
            - Transaction model
         | 
| 15 | 
            +
            - Financial#create
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            ## [1.2.0] - 2020-07-30
         | 
| 18 | 
            +
            ### Added 
         | 
| 19 | 
            +
            - Visit model
         | 
| 20 | 
            +
            - Model#insurances helper for Patient.Insurances || Visit.Insurances
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            ## [1.1.1] - 2020-06-15
         | 
| 8 23 | 
             
            ### Changed
         | 
| 9 | 
            -
            -  | 
| 24 | 
            +
            - Bugfix with patient param in update
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            ## [1.1.0] - 2020-06-15
         | 
| 27 | 
            +
            ### Changed
         | 
| 28 | 
            +
            - Moving to Requst classes instead of mixing in logic to models (kept backwards compatibility)
         | 
| 29 | 
            +
            - Added potential matches to responses and implemented for patient search
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            =======
         | 
| 32 | 
            +
            ### Added
         | 
| 33 | 
            +
            - PotentialMatches class
         | 
| 10 34 |  | 
| 11 | 
            -
            ## [1.0.2] -  | 
| 35 | 
            +
            ## [1.0.2] - 2019-06-04
         | 
| 12 36 | 
             
            ### Changed
         | 
| 13 37 | 
             
            - Added Extensions to all Redox models
         | 
| 14 38 | 
             
            - Fixed warnings in gemspec
         | 
| @@ -89,7 +113,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. | |
| 89 113 | 
             
            ### Added
         | 
| 90 114 | 
             
            - Initial Release
         | 
| 91 115 |  | 
| 92 | 
            -
            [ | 
| 116 | 
            +
            [1.3.1]: https://github.com/WeInfuse/redox/compare/v1.3.0...v1.3.1
         | 
| 117 | 
            +
            [1.3.0]: https://github.com/WeInfuse/redox/compare/v1.2.0...v1.3.0
         | 
| 118 | 
            +
            [1.2.0]: https://github.com/WeInfuse/redox/compare/v1.1.1...v1.2.0
         | 
| 119 | 
            +
            [1.1.1]: https://github.com/WeInfuse/redox/compare/v1.1.0...v1.1.1
         | 
| 120 | 
            +
            [1.1.0]: https://github.com/WeInfuse/redox/compare/v1.0.2...v1.1.0
         | 
| 93 121 | 
             
            [1.0.2]: https://github.com/WeInfuse/redox/compare/v1.0.1...v1.0.2
         | 
| 94 122 | 
             
            [1.0.1]: https://github.com/WeInfuse/redox/compare/v1.0.0...v1.0.1
         | 
| 95 123 | 
             
            [1.0.0]: https://github.com/WeInfuse/redox/compare/v0.1.6...v1.0.0
         | 
    
        data/lib/redox.rb
    CHANGED
    
    | @@ -7,10 +7,18 @@ require 'redox/authentication' | |
| 7 7 | 
             
            require 'redox/models/model'
         | 
| 8 8 | 
             
            require 'redox/models/meta'
         | 
| 9 9 | 
             
            require 'redox/models/patient'
         | 
| 10 | 
            +
            require 'redox/models/visit'
         | 
| 11 | 
            +
            require 'redox/models/transaction'
         | 
| 12 | 
            +
            require 'redox/models/financial'
         | 
| 10 13 | 
             
            require 'redox/models/patient/demographics'
         | 
| 11 14 | 
             
            require 'redox/models/patient/identifier'
         | 
| 12 15 | 
             
            require 'redox/models/patient/insurance'
         | 
| 13 16 | 
             
            require 'redox/models/patient/p_c_p'
         | 
| 17 | 
            +
            require 'redox/models/potential_matches'
         | 
| 18 | 
            +
            require 'redox/request/request'
         | 
| 19 | 
            +
            require 'redox/request/financial'
         | 
| 20 | 
            +
            require 'redox/request/patient_admin'
         | 
| 21 | 
            +
            require 'redox/request/patient_search'
         | 
| 14 22 |  | 
| 15 23 | 
             
            module Redox
         | 
| 16 24 | 
             
              class Configuration
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Models
         | 
| 3 | 
            +
                class Financial < Hashie::Trash
         | 
| 4 | 
            +
                  include Hashie::Extensions::IgnoreUndeclared
         | 
| 5 | 
            +
                  include Hashie::Extensions::IndifferentAccess
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  property :Visit, required: false, from: :visit, default: Redox::Models::Visit.new
         | 
| 8 | 
            +
                  property :Patient, required: false, from: :patient, default: Redox::Models::Patient.new
         | 
| 9 | 
            +
                  property :Transactions, required: false, from: :transactions, default: []
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  alias_method :patient, :Patient
         | 
| 12 | 
            +
                  alias_method :visit, :Visit
         | 
| 13 | 
            +
                  alias_method :transactions, :Transactions
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
    
        data/lib/redox/models/model.rb
    CHANGED
    
    | @@ -1,15 +1,27 @@ | |
| 1 1 | 
             
            module Redox
         | 
| 2 2 | 
             
              module Models
         | 
| 3 | 
            +
                def self.format_datetime(d)
         | 
| 4 | 
            +
                  if d.respond_to?(:strftime)
         | 
| 5 | 
            +
                    d.strftime(Redox::Models::Meta::TO_DATETIME_FORMAT)
         | 
| 6 | 
            +
                  else
         | 
| 7 | 
            +
                    d
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 3 11 | 
             
                class Model < Hashie::Trash
         | 
| 4 12 | 
             
                  include Hashie::Extensions::IgnoreUndeclared
         | 
| 5 13 | 
             
                  include Hashie::Extensions::IndifferentAccess
         | 
| 6 14 |  | 
| 7 15 | 
             
                  property :Meta, from: :meta, required: false
         | 
| 8 16 | 
             
                  property :Patient, from: :patient, required: false
         | 
| 17 | 
            +
                  property :Visit, from: :visit, required: false
         | 
| 18 | 
            +
                  property :PotentialMatches, from: :potential_matches, required: false
         | 
| 9 19 | 
             
                  property :Extensions, from: :extensions, required: false
         | 
| 10 20 | 
             
                  property :response, required: false
         | 
| 11 21 |  | 
| 22 | 
            +
                  alias_method :potential_matches, :PotentialMatches
         | 
| 12 23 | 
             
                  alias_method :patient, :Patient
         | 
| 24 | 
            +
                  alias_method :visit, :Visit
         | 
| 13 25 | 
             
                  alias_method :meta, :Meta
         | 
| 14 26 |  | 
| 15 27 | 
             
                  def initialize(data = {})
         | 
| @@ -28,16 +40,20 @@ module Redox | |
| 28 40 | 
             
                    return { key => super.to_h }
         | 
| 29 41 | 
             
                  end
         | 
| 30 42 |  | 
| 31 | 
            -
                  def to_json
         | 
| 43 | 
            +
                  def to_json(args = {})
         | 
| 32 44 | 
             
                    return self.to_h.to_json
         | 
| 33 45 | 
             
                  end
         | 
| 34 46 |  | 
| 47 | 
            +
                  def insurances
         | 
| 48 | 
            +
                    (self.patient&.insurances || []) + (self.visit&.insurances || [])
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 35 51 | 
             
                  class << self
         | 
| 36 52 | 
             
                    def from_response(response)
         | 
| 37 53 | 
             
                      model = Model.new
         | 
| 38 54 | 
             
                      model.response = response
         | 
| 39 55 |  | 
| 40 | 
            -
                      %w[Meta Patient].each do |k|
         | 
| 56 | 
            +
                      %w[Meta Patient Visit PotentialMatches].each do |k|
         | 
| 41 57 | 
             
                        begin
         | 
| 42 58 | 
             
                          model.send("#{k}=", Module.const_get("Redox::Models::#{k}").new(response[k])) if response[k]
         | 
| 43 59 | 
             
                        rescue
         | 
    
        data/lib/redox/models/patient.rb
    CHANGED
    
    | @@ -1,11 +1,6 @@ | |
| 1 1 | 
             
            module Redox
         | 
| 2 2 | 
             
              module Models
         | 
| 3 3 | 
             
                class Patient < Model
         | 
| 4 | 
            -
                  QUERY_ENDPOINT = '/query'.freeze
         | 
| 5 | 
            -
                  QUERY_META     = Meta.new(EventType: 'Query', DataModel: 'PatientSearch')
         | 
| 6 | 
            -
                  CREATE_META    = Meta.new(EventType: 'NewPatient', DataModel: 'PatientAdmin')
         | 
| 7 | 
            -
                  UPDATE_META    = Meta.new(EventType: 'PatientUpdate', DataModel: 'PatientAdmin')
         | 
| 8 | 
            -
             | 
| 9 4 | 
             
                  property :Identifiers, from: :identifiers, required: false, default: []
         | 
| 10 5 | 
             
                  property :Insurances, from: :insurances, required: false, default: []
         | 
| 11 6 | 
             
                  property :Demographics, from: :demographics, required: false
         | 
| @@ -40,25 +35,16 @@ module Redox | |
| 40 35 | 
             
                  end
         | 
| 41 36 |  | 
| 42 37 | 
             
                  def update(meta: Meta.new)
         | 
| 43 | 
            -
                     | 
| 44 | 
            -
                    return Model.from_response((RedoxClient.connection.request(body: Patient.body(self, meta))))
         | 
| 38 | 
            +
                    Redox::Request::PatientAdmin.update(patient: self, meta: meta)
         | 
| 45 39 | 
             
                  end
         | 
| 46 40 |  | 
| 47 41 | 
             
                  def create(meta: Meta.new)
         | 
| 48 | 
            -
                     | 
| 49 | 
            -
                    return Model.from_response((RedoxClient.connection.request(body: Patient.body(self, meta))))
         | 
| 42 | 
            +
                    Redox::Request::PatientAdmin.create(patient: self, meta: meta)
         | 
| 50 43 | 
             
                  end
         | 
| 51 44 |  | 
| 52 45 | 
             
                  class << self
         | 
| 53 46 | 
             
                    def query(params, meta: Meta.new)
         | 
| 54 | 
            -
                       | 
| 55 | 
            -
                      return Model.from_response((RedoxClient.connection.request(endpoint: QUERY_ENDPOINT, body: Patient.body(params, meta))))
         | 
| 56 | 
            -
                    end
         | 
| 57 | 
            -
             | 
| 58 | 
            -
                    def body(params, meta)
         | 
| 59 | 
            -
                      meta = Meta.new.merge(meta)
         | 
| 60 | 
            -
             | 
| 61 | 
            -
                      return meta.to_h.merge(params.to_h)
         | 
| 47 | 
            +
                      return Redox::Request::PatientSearch.query(params, meta: meta)
         | 
| 62 48 | 
             
                    end
         | 
| 63 49 | 
             
                  end
         | 
| 64 50 | 
             
                end
         | 
| @@ -0,0 +1,66 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Models
         | 
| 3 | 
            +
                class Transaction < Hashie::Trash
         | 
| 4 | 
            +
                  include Hashie::Extensions::IgnoreUndeclared
         | 
| 5 | 
            +
                  include Hashie::Extensions::IndifferentAccess
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  property :Chargeable, required: false, from: :chargeable, default: {}
         | 
| 8 | 
            +
                  property :DateTimeOfService, required: false, from: :start
         | 
| 9 | 
            +
                  property :Department, required: false, from: :department, default: {}
         | 
| 10 | 
            +
                  property :Diagnoses, required: false, from: :diagnoses, default: []
         | 
| 11 | 
            +
                  property :EndDateTime, required: false, from: :end
         | 
| 12 | 
            +
                  property :Extensions, required: false, from: :extensions, default: {}
         | 
| 13 | 
            +
                  property :ID, required: false, from: :id
         | 
| 14 | 
            +
                  property :NDC, required: false, from: :ndc, default: {}
         | 
| 15 | 
            +
                  property :OrderID, required: false, from: :order_id
         | 
| 16 | 
            +
                  property :OrderingProviders, required: false, from: :ordering_providers, default: []
         | 
| 17 | 
            +
                  property :Performers, required: false, from: :performers, default: []
         | 
| 18 | 
            +
                  property :Procedure, required: false, from: :procedure, default: {}
         | 
| 19 | 
            +
                  property :Type, required: false, from: :type
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  alias_method :chargeable, :Chargeable
         | 
| 22 | 
            +
                  alias_method :start, :DateTimeOfService
         | 
| 23 | 
            +
                  alias_method :department, :Department
         | 
| 24 | 
            +
                  alias_method :diagnoses, :Diagnoses
         | 
| 25 | 
            +
                  alias_method :end, :EndDateTime
         | 
| 26 | 
            +
                  alias_method :extensions, :Extensions
         | 
| 27 | 
            +
                  alias_method :id, :ID
         | 
| 28 | 
            +
                  alias_method :ndc, :NDC
         | 
| 29 | 
            +
                  alias_method :order_id, :OrderID
         | 
| 30 | 
            +
                  alias_method :ordering_providers, :OrderingProviders
         | 
| 31 | 
            +
                  alias_method :performers, :Performers
         | 
| 32 | 
            +
                  alias_method :procedure, :Procedure
         | 
| 33 | 
            +
                  alias_method :type, :Type
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  def add_medication(ndc_code: nil, quantity: nil, magnitude: nil, unit: nil, description: nil)
         | 
| 36 | 
            +
                    self[:NDC] = { Code: ndc_code, Description: description }
         | 
| 37 | 
            +
                    self[:Extensions] = {
         | 
| 38 | 
            +
                      'ndc-quantity' => {
         | 
| 39 | 
            +
                        integer: quantity&.to_s
         | 
| 40 | 
            +
                      },
         | 
| 41 | 
            +
                      'ndc-units-measure' => {
         | 
| 42 | 
            +
                        coding: {
         | 
| 43 | 
            +
                          code: magnitude&.to_s,
         | 
| 44 | 
            +
                          display: unit
         | 
| 45 | 
            +
                        }
         | 
| 46 | 
            +
                      }
         | 
| 47 | 
            +
                    }
         | 
| 48 | 
            +
                    self
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                  def to_h
         | 
| 52 | 
            +
                    result = super.to_h
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                    %w[EndDateTime DateTimeOfService].each do |k|
         | 
| 55 | 
            +
                      result[k] = Redox::Models.format_datetime(result[k])
         | 
| 56 | 
            +
                    end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                    result
         | 
| 59 | 
            +
                  end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  def as_json(args)
         | 
| 62 | 
            +
                    self.to_h
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
              end
         | 
| 66 | 
            +
            end
         | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Models
         | 
| 3 | 
            +
                class Visit < Model
         | 
| 4 | 
            +
                  DEFAULT_LOCATION = {
         | 
| 5 | 
            +
                    Department: nil,
         | 
| 6 | 
            +
                    Facility: nil
         | 
| 7 | 
            +
                  }
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  property :Insurances, from: :insurances, required: false, default: []
         | 
| 10 | 
            +
                  property :Location, from: :location, required: false, default: DEFAULT_LOCATION
         | 
| 11 | 
            +
                  property :VisitDateTime, from: :start, required: false
         | 
| 12 | 
            +
                  property :VisitNumber, from: :visit_number, required: false
         | 
| 13 | 
            +
                  property :AccountNumber, from: :account_number, required: false
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  alias_method :insurances, :Insurances
         | 
| 16 | 
            +
                  alias_method :start, :VisitDateTime
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  def department=(v)
         | 
| 19 | 
            +
                    self[:Location] ||= DEFAULT_LOCATION
         | 
| 20 | 
            +
                    self[:Location][:Department] = v
         | 
| 21 | 
            +
                    self
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  def facility=(v)
         | 
| 25 | 
            +
                    self[:Location] ||= DEFAULT_LOCATION
         | 
| 26 | 
            +
                    self[:Location][:Facility] = v
         | 
| 27 | 
            +
                    self
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def insurances
         | 
| 31 | 
            +
                    self[:Insurances] = self[:Insurances].map {|ins| ins.is_a?(Redox::Models::Insurance) ? ins : Insurance.new(ins) }
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                  def to_h
         | 
| 35 | 
            +
                    result = super.to_h
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                    %w[VisitDateTime].each do |k|
         | 
| 38 | 
            +
                      result[key][k] = Redox::Models.format_datetime(result[key][k])
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                    result
         | 
| 42 | 
            +
                  end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  def to_json(args = {})
         | 
| 45 | 
            +
                    self.to_h.to_json
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                  def as_json(args = {})
         | 
| 49 | 
            +
                    self.to_h.dig('Visit')
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
                end
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
            end
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Request
         | 
| 3 | 
            +
                class Financial
         | 
| 4 | 
            +
                  TRANSACTION_META = Redox::Models::Meta.new(EventType: 'Transaction', DataModel: 'Financial')
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def self.create(financial, meta: Redox::Models::Meta.new)
         | 
| 7 | 
            +
                    meta = TRANSACTION_META.merge(meta)
         | 
| 8 | 
            +
                    return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(financial, meta))))
         | 
| 9 | 
            +
                  end
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Request
         | 
| 3 | 
            +
                class PatientAdmin
         | 
| 4 | 
            +
                  CREATE_META    = Redox::Models::Meta.new(EventType: 'NewPatient', DataModel: 'PatientAdmin')
         | 
| 5 | 
            +
                  UPDATE_META    = Redox::Models::Meta.new(EventType: 'PatientUpdate', DataModel: 'PatientAdmin')
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  def self.create(patient: , meta: Redox::Models::Meta.new)
         | 
| 8 | 
            +
                    meta = CREATE_META.merge(meta)
         | 
| 9 | 
            +
                    return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(patient, meta))))
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def self.update(patient: , meta: Redox::Models::Meta.new)
         | 
| 13 | 
            +
                    meta = UPDATE_META.merge(meta)
         | 
| 14 | 
            +
                    return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(patient, meta))))
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
| @@ -0,0 +1,13 @@ | |
| 1 | 
            +
            module Redox
         | 
| 2 | 
            +
              module Request
         | 
| 3 | 
            +
                class PatientSearch
         | 
| 4 | 
            +
                  QUERY_ENDPOINT = '/query'.freeze
         | 
| 5 | 
            +
                  QUERY_META     = Redox::Models::Meta.new(EventType: 'Query', DataModel: 'PatientSearch')
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  def self.query(params, meta: Redox::Models::Meta.new)
         | 
| 8 | 
            +
                    meta = QUERY_META.merge(meta)
         | 
| 9 | 
            +
                    return Redox::Models::Model.from_response((RedoxClient.connection.request(endpoint: QUERY_ENDPOINT, body: Redox::Request.build_body(params, meta))))
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
            end
         | 
    
        data/lib/redox/version.rb
    CHANGED
    
    
    
        data/redox.gemspec
    CHANGED
    
    | @@ -5,8 +5,8 @@ require 'redox/version' | |
| 5 5 | 
             
            Gem::Specification.new do |spec|
         | 
| 6 6 | 
             
              spec.name          = 'redox'
         | 
| 7 7 | 
             
              spec.version       = Redox::VERSION
         | 
| 8 | 
            -
              spec.authors       = ['Alexander Clark', 'Mike Crockett']
         | 
| 9 | 
            -
              spec.email         = ['alexander.clark@weinfuse.com', 'mike.crockett@weinfuse.com']
         | 
| 8 | 
            +
              spec.authors       = ['Alexander Clark', 'Mike Crockett', 'Mike Carr']
         | 
| 9 | 
            +
              spec.email         = ['alexander.clark@weinfuse.com', 'mike.crockett@weinfuse.com', 'michael.carr@weinfuse.com']
         | 
| 10 10 |  | 
| 11 11 | 
             
              spec.summary       = 'Ruby wrapper for the Redox Engine API'
         | 
| 12 12 | 
             
              spec.homepage      = 'https://github.com/WeInfuse/redox'
         | 
| @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| | |
| 28 28 | 
             
              spec.require_paths = ['lib']
         | 
| 29 29 | 
             
              spec.licenses      = ['MIT']
         | 
| 30 30 |  | 
| 31 | 
            -
              spec.add_dependency 'httparty', '~> 0. | 
| 31 | 
            +
              spec.add_dependency 'httparty', '~> 0.18'
         | 
| 32 32 | 
             
              spec.add_dependency 'hashie', '~> 3.5'
         | 
| 33 33 | 
             
              spec.add_development_dependency 'bundler', '>=1', '<3'
         | 
| 34 34 | 
             
              spec.add_development_dependency 'byebug', '~> 11'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,16 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: redox
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.3.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alexander Clark
         | 
| 8 8 | 
             
            - Mike Crockett
         | 
| 9 | 
            -
             | 
| 9 | 
            +
            - Mike Carr
         | 
| 10 | 
            +
            autorequire:
         | 
| 10 11 | 
             
            bindir: exe
         | 
| 11 12 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 13 | 
            +
            date: 2020-10-02 00:00:00.000000000 Z
         | 
| 13 14 | 
             
            dependencies:
         | 
| 14 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 16 | 
             
              name: httparty
         | 
| @@ -17,14 +18,14 @@ dependencies: | |
| 17 18 | 
             
                requirements:
         | 
| 18 19 | 
             
                - - "~>"
         | 
| 19 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: '0. | 
| 21 | 
            +
                    version: '0.18'
         | 
| 21 22 | 
             
              type: :runtime
         | 
| 22 23 | 
             
              prerelease: false
         | 
| 23 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 25 | 
             
                requirements:
         | 
| 25 26 | 
             
                - - "~>"
         | 
| 26 27 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: '0. | 
| 28 | 
            +
                    version: '0.18'
         | 
| 28 29 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 30 | 
             
              name: hashie
         | 
| 30 31 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -129,10 +130,11 @@ dependencies: | |
| 129 130 | 
             
                - - "~>"
         | 
| 130 131 | 
             
                  - !ruby/object:Gem::Version
         | 
| 131 132 | 
             
                    version: '0.9'
         | 
| 132 | 
            -
            description: | 
| 133 | 
            +
            description:
         | 
| 133 134 | 
             
            email:
         | 
| 134 135 | 
             
            - alexander.clark@weinfuse.com
         | 
| 135 136 | 
             
            - mike.crockett@weinfuse.com
         | 
| 137 | 
            +
            - michael.carr@weinfuse.com
         | 
| 136 138 | 
             
            executables: []
         | 
| 137 139 | 
             
            extensions: []
         | 
| 138 140 | 
             
            extra_rdoc_files: []
         | 
| @@ -145,6 +147,7 @@ files: | |
| 145 147 | 
             
            - lib/redox.rb
         | 
| 146 148 | 
             
            - lib/redox/authentication.rb
         | 
| 147 149 | 
             
            - lib/redox/connection.rb
         | 
| 150 | 
            +
            - lib/redox/models/financial.rb
         | 
| 148 151 | 
             
            - lib/redox/models/meta.rb
         | 
| 149 152 | 
             
            - lib/redox/models/model.rb
         | 
| 150 153 | 
             
            - lib/redox/models/patient.rb
         | 
| @@ -152,7 +155,14 @@ files: | |
| 152 155 | 
             
            - lib/redox/models/patient/identifier.rb
         | 
| 153 156 | 
             
            - lib/redox/models/patient/insurance.rb
         | 
| 154 157 | 
             
            - lib/redox/models/patient/p_c_p.rb
         | 
| 158 | 
            +
            - lib/redox/models/potential_matches.rb
         | 
| 159 | 
            +
            - lib/redox/models/transaction.rb
         | 
| 160 | 
            +
            - lib/redox/models/visit.rb
         | 
| 155 161 | 
             
            - lib/redox/redox_exception.rb
         | 
| 162 | 
            +
            - lib/redox/request/financial.rb
         | 
| 163 | 
            +
            - lib/redox/request/patient_admin.rb
         | 
| 164 | 
            +
            - lib/redox/request/patient_search.rb
         | 
| 165 | 
            +
            - lib/redox/request/request.rb
         | 
| 156 166 | 
             
            - lib/redox/version.rb
         | 
| 157 167 | 
             
            - redox.gemspec
         | 
| 158 168 | 
             
            homepage: https://github.com/WeInfuse/redox
         | 
| @@ -160,7 +170,7 @@ licenses: | |
| 160 170 | 
             
            - MIT
         | 
| 161 171 | 
             
            metadata:
         | 
| 162 172 | 
             
              allowed_push_host: https://rubygems.org
         | 
| 163 | 
            -
            post_install_message: | 
| 173 | 
            +
            post_install_message:
         | 
| 164 174 | 
             
            rdoc_options: []
         | 
| 165 175 | 
             
            require_paths:
         | 
| 166 176 | 
             
            - lib
         | 
| @@ -175,9 +185,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 175 185 | 
             
                - !ruby/object:Gem::Version
         | 
| 176 186 | 
             
                  version: '0'
         | 
| 177 187 | 
             
            requirements: []
         | 
| 178 | 
            -
            rubyforge_project: | 
| 188 | 
            +
            rubyforge_project:
         | 
| 179 189 | 
             
            rubygems_version: 2.7.6
         | 
| 180 | 
            -
            signing_key: | 
| 190 | 
            +
            signing_key:
         | 
| 181 191 | 
             
            specification_version: 4
         | 
| 182 192 | 
             
            summary: Ruby wrapper for the Redox Engine API
         | 
| 183 193 | 
             
            test_files: []
         |