redox 1.1.1 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af07742de7bb1cc39182903d8246bb8a59dfdb1b660fd629568ee799eef03f90
4
- data.tar.gz: e088a4fbc1bd383ee5ea0570d6b3933a4d4eccafe1d7a70aa37de49925fe1beb
3
+ metadata.gz: 70df1547b07206629c70b4add746e3398a31344cb650ad7ed76ed3c445b5f671
4
+ data.tar.gz: ca6e9a96303e38d2e34cbfb6919862255b05ef1d10d5a1f676788bd2257f7e89
5
5
  SHA512:
6
- metadata.gz: efc0fe9382fecb0a4a738796e7dfb89f2b17438e5dbe4730a5de6357dea040f043e8f41130e331780a58263e61416581c024ff4ddcb90c28230f2d2a99bfa9e9
7
- data.tar.gz: b6ec18283534dde1ca34cf053dad85df88fa9335e08ce4e631e81b0723f00f81a7ff9e72f6e417b3acb5cfa59410238912557cd5ea22890d1120018e5a478b0d
6
+ metadata.gz: d083b4a806a96484248be1b1e3fd03684ed24a5217f79eddd7963ac5c22fc0e327d573bcab7c6f6c986db01fee7696f30b33c4d01f04b06627be45bed1045af7
7
+ data.tar.gz: e945ddb514dcb1f0bff7fd8fd829c6d9cb828eed2787773846b4841aad6fbd86a108ad90c8cecc9ba18ade16023a65c78272896f9d3c1a086dc4a5beaa1160d6
@@ -4,6 +4,37 @@ 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.5.0] - 2020-12-15
8
+ ### Added
9
+ - Scheduling model
10
+ - Scheduling#create
11
+ - Scheduling#cancel
12
+ - Scheduling#reschedule
13
+ - Scheduling#modification
14
+
15
+ ## [1.4.0] - 2020-10-13
16
+ ### Added
17
+ - AbstractModel that does not add top level key
18
+ - OrderingProvider that is the base for PCP
19
+ - Provider model
20
+ - Provider#query
21
+ - Created new method that can add helpers dynamically from response
22
+
23
+ ## [1.3.1] - 2020-10-02
24
+ ### Added
25
+ - Transaction#as\_json
26
+ - Visit#as\_json
27
+
28
+ ## [1.3.0] - 2020-09-17
29
+ ### Added
30
+ - Transaction model
31
+ - Financial#create
32
+
33
+ ## [1.2.0] - 2020-07-30
34
+ ### Added
35
+ - Visit model
36
+ - Model#insurances helper for Patient.Insurances || Visit.Insurances
37
+
7
38
  ## [1.1.1] - 2020-06-15
8
39
  ### Changed
9
40
  - Bugfix with patient param in update
@@ -98,6 +129,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
98
129
  ### Added
99
130
  - Initial Release
100
131
 
132
+ [1.5.0]: https://github.com/WeInfuse/redox/compare/v1.4.0...v1.5.0
133
+ [1.4.0]: https://github.com/WeInfuse/redox/compare/v1.3.1...v1.4.0
134
+ [1.3.1]: https://github.com/WeInfuse/redox/compare/v1.3.0...v1.3.1
135
+ [1.3.0]: https://github.com/WeInfuse/redox/compare/v1.2.0...v1.3.0
136
+ [1.2.0]: https://github.com/WeInfuse/redox/compare/v1.1.1...v1.2.0
101
137
  [1.1.1]: https://github.com/WeInfuse/redox/compare/v1.1.0...v1.1.1
102
138
  [1.1.0]: https://github.com/WeInfuse/redox/compare/v1.0.2...v1.1.0
103
139
  [1.0.2]: https://github.com/WeInfuse/redox/compare/v1.0.1...v1.0.2
@@ -6,14 +6,24 @@ 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'
12
+ require 'redox/models/visit'
13
+ require 'redox/models/transaction'
14
+ require 'redox/models/financial'
10
15
  require 'redox/models/patient/demographics'
11
16
  require 'redox/models/patient/identifier'
12
17
  require 'redox/models/patient/insurance'
13
18
  require 'redox/models/patient/p_c_p'
14
19
  require 'redox/models/potential_matches'
20
+ require 'redox/models/scheduling'
21
+ require 'redox/request/request'
22
+ require 'redox/request/financial'
15
23
  require 'redox/request/patient_admin'
16
24
  require 'redox/request/patient_search'
25
+ require 'redox/request/provider'
26
+ require 'redox/request/scheduling'
17
27
 
18
28
  module Redox
19
29
  class Configuration
@@ -0,0 +1,13 @@
1
+ module Redox
2
+ module Models
3
+ class Financial < AbstractModel
4
+ property :Visit, required: false, from: :visit, default: Redox::Models::Visit.new
5
+ property :Patient, required: false, from: :patient, default: Redox::Models::Patient.new
6
+ property :Transactions, required: false, from: :transactions, default: []
7
+
8
+ alias_method :patient, :Patient
9
+ alias_method :visit, :Visit
10
+ alias_method :transactions, :Transactions
11
+ end
12
+ end
13
+ end
@@ -1,19 +1,95 @@
1
1
  module Redox
2
2
  module Models
3
- class Model < Hashie::Trash
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
+
11
+ class AbstractModel < Hashie::Trash
4
12
  include Hashie::Extensions::IgnoreUndeclared
5
13
  include Hashie::Extensions::IndifferentAccess
6
14
 
15
+ HIGH_LEVEL_KEYS = %w[Meta Patient Visit PotentialMatches]
16
+
7
17
  property :Meta, from: :meta, required: false
8
18
  property :Patient, from: :patient, required: false
19
+ property :Visit, from: :visit, required: false
9
20
  property :PotentialMatches, from: :potential_matches, required: false
10
21
  property :Extensions, from: :extensions, required: false
11
22
  property :response, required: false
12
23
 
13
24
  alias_method :potential_matches, :PotentialMatches
14
25
  alias_method :patient, :Patient
26
+ alias_method :visit, :Visit
15
27
  alias_method :meta, :Meta
16
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
17
93
  def initialize(data = {})
18
94
  if data.is_a?(Hash)
19
95
  if data.include?(key)
@@ -30,28 +106,7 @@ module Redox
30
106
  return { key => super.to_h }
31
107
  end
32
108
 
33
- def to_json
34
- return self.to_h.to_json
35
- end
36
-
37
- class << self
38
- def from_response(response)
39
- model = Model.new
40
- model.response = response
41
-
42
- %w[Meta Patient PotentialMatches].each do |k|
43
- begin
44
- model.send("#{k}=", Module.const_get("Redox::Models::#{k}").new(response[k])) if response[k]
45
- rescue
46
- end
47
- end
48
-
49
- return model
50
- end
51
- end
52
-
53
109
  private
54
-
55
110
  def key
56
111
  return self.class.to_s.split('::').last.to_s
57
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 < Model
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,6 +1,6 @@
1
1
  module Redox
2
2
  module Models
3
- class Identifier < Model
3
+ class Identifier < AbstractModel
4
4
  property :ID, from: :id
5
5
  property :IDType, from: :id_type
6
6
 
@@ -1,13 +1,9 @@
1
1
  module Redox
2
2
  module Models
3
- class PCP < Model
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
@@ -0,0 +1,24 @@
1
+ module Redox
2
+ module Models
3
+ class Scheduling < AbstractModel
4
+ property :Visit, required: false, from: :visit, default: Redox::Models::Visit.new
5
+ property :Patient, required: false, from: :patient, default: Redox::Models::Patient.new
6
+ property :AppointmentInfo, required: false, from: :appointment_info, default: []
7
+
8
+ alias_method :patient, :Patient
9
+ alias_method :visit, :Visit
10
+ alias_method :appointment_info, :AppointmentInfo
11
+
12
+ def add_appointment_info(code: nil, codeset: nil, description: nil, value: nil)
13
+ self[:AppointmentInfo] << {
14
+ Code: code,
15
+ Codeset: codeset,
16
+ Description: description,
17
+ Value: value
18
+ }
19
+
20
+ self
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,75 @@
1
+ module Redox
2
+ module Models
3
+ class Transaction < AbstractModel
4
+ property :Chargeable, required: false, from: :chargeable, default: {}
5
+ property :DateTimeOfService, required: false, from: :start
6
+ property :Department, required: false, from: :department, default: {}
7
+ property :Diagnoses, required: false, from: :diagnoses, default: []
8
+ property :EndDateTime, required: false, from: :end
9
+ property :Extensions, required: false, from: :extensions, default: {}
10
+ property :ID, required: false, from: :id
11
+ property :NDC, required: false, from: :ndc, default: {}
12
+ property :OrderID, required: false, from: :order_id
13
+ property :OrderingProviders, required: false, from: :ordering_providers, default: []
14
+ property :Performers, required: false, from: :performers, default: []
15
+ property :Procedure, required: false, from: :procedure, default: {}
16
+ property :Type, required: false, from: :type
17
+
18
+ alias_method :chargeable, :Chargeable
19
+ alias_method :start, :DateTimeOfService
20
+ alias_method :department, :Department
21
+ alias_method :diagnoses, :Diagnoses
22
+ alias_method :end, :EndDateTime
23
+ alias_method :extensions, :Extensions
24
+ alias_method :id, :ID
25
+ alias_method :ndc, :NDC
26
+ alias_method :order_id, :OrderID
27
+ alias_method :ordering_providers, :OrderingProviders
28
+ alias_method :performers, :Performers
29
+ alias_method :procedure, :Procedure
30
+ alias_method :type, :Type
31
+
32
+ def add_medication(ndc_code: nil, quantity: nil, magnitude: nil, unit: nil, description: nil)
33
+ self[:NDC] = { Code: ndc_code, Description: description }
34
+ self[:Extensions] = {
35
+ 'ndc-quantity' => {
36
+ integer: quantity&.to_s
37
+ },
38
+ 'ndc-units-measure' => {
39
+ coding: {
40
+ code: magnitude&.to_s,
41
+ display: unit
42
+ }
43
+ }
44
+ }
45
+ self
46
+ end
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
+
60
+ def to_h
61
+ result = super.to_h
62
+
63
+ %w[EndDateTime DateTimeOfService].each do |k|
64
+ result[k] = Redox::Models.format_datetime(result[k])
65
+ end
66
+
67
+ result
68
+ end
69
+
70
+ def as_json(args)
71
+ self.to_h
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,54 @@
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 :Duration, from: :duration, required: false
13
+ property :VisitNumber, from: :visit_number, required: false
14
+ property :AccountNumber, from: :account_number, required: false
15
+
16
+ alias_method :insurances, :Insurances
17
+ alias_method :start, :VisitDateTime
18
+
19
+ def department=(v)
20
+ self[:Location] ||= DEFAULT_LOCATION
21
+ self[:Location][:Department] = v
22
+ self
23
+ end
24
+
25
+ def facility=(v)
26
+ self[:Location] ||= DEFAULT_LOCATION
27
+ self[:Location][:Facility] = v
28
+ self
29
+ end
30
+
31
+ def insurances
32
+ self[:Insurances] = self[:Insurances].map {|ins| ins.is_a?(Redox::Models::Insurance) ? ins : Insurance.new(ins) }
33
+ end
34
+
35
+ def to_h
36
+ result = super.to_h
37
+
38
+ %w[VisitDateTime].each do |k|
39
+ result[key][k] = Redox::Models.format_datetime(result[key][k])
40
+ end
41
+
42
+ result
43
+ end
44
+
45
+ def to_json(args = {})
46
+ self.to_h.to_json
47
+ end
48
+
49
+ def as_json(args = {})
50
+ self.to_h.dig('Visit')
51
+ end
52
+ end
53
+ end
54
+ 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
@@ -6,18 +6,12 @@ module Redox
6
6
 
7
7
  def self.create(patient: , meta: Redox::Models::Meta.new)
8
8
  meta = CREATE_META.merge(meta)
9
- return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request::PatientAdmin.build_body(patient, meta))))
9
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(patient, meta))))
10
10
  end
11
11
 
12
12
  def self.update(patient: , meta: Redox::Models::Meta.new)
13
13
  meta = UPDATE_META.merge(meta)
14
- return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request::PatientAdmin.build_body(patient, meta))))
15
- end
16
-
17
- def self.build_body(params, meta)
18
- meta = Redox::Models::Meta.new.merge(meta)
19
-
20
- return meta.to_h.merge(params.to_h)
14
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(patient, meta))))
21
15
  end
22
16
  end
23
17
  end
@@ -6,7 +6,7 @@ module Redox
6
6
 
7
7
  def self.query(params, meta: Redox::Models::Meta.new)
8
8
  meta = QUERY_META.merge(meta)
9
- return Redox::Models::Model.from_response((RedoxClient.connection.request(endpoint: QUERY_ENDPOINT, body: Redox::Request::PatientAdmin.build_body(params, meta))))
9
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(endpoint: QUERY_ENDPOINT, body: Redox::Request.build_body(params, meta))))
10
10
  end
11
11
  end
12
12
  end
@@ -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
@@ -0,0 +1,9 @@
1
+ module Redox
2
+ module Request
3
+ def self.build_body(params, meta)
4
+ meta = Redox::Models::Meta.new.merge(meta)
5
+
6
+ return meta.to_h.merge(params.to_h)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,30 @@
1
+ module Redox
2
+ module Request
3
+ class Scheduling
4
+ CREATE_META = Redox::Models::Meta.new(EventType: 'New', DataModel: 'Scheduling')
5
+ CANCEL_META = Redox::Models::Meta.new(EventType: 'Cancel', DataModel: 'Scheduling')
6
+ RESCHEDULE_META = Redox::Models::Meta.new(EventType: 'Reschedule', DataModel: 'Scheduling')
7
+ MODIFICATION_META = Redox::Models::Meta.new(EventType: 'Modification', DataModel: 'Scheduling')
8
+
9
+ def self.create(model, meta: Redox::Models::Meta.new)
10
+ meta = CREATE_META.merge(meta)
11
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
12
+ end
13
+
14
+ def self.cancel(model, meta: Redox::Models::Meta.new)
15
+ meta = CANCEL_META.merge(meta)
16
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
17
+ end
18
+
19
+ def self.reschedule(model, meta: Redox::Models::Meta.new)
20
+ meta = RESCHEDULE_META.merge(meta)
21
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
22
+ end
23
+
24
+ def self.modification(model, meta: Redox::Models::Meta.new)
25
+ meta = MODIFICATION_META.merge(meta)
26
+ return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,3 +1,3 @@
1
1
  module Redox
2
- VERSION = '1.1.1'.freeze
2
+ VERSION = '1.5.0'.freeze
3
3
  end
@@ -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.17'
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.1.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Clark
8
8
  - Mike Crockett
9
- autorequire:
9
+ - Mike Carr
10
+ autorequire:
10
11
  bindir: exe
11
12
  cert_chain: []
12
- date: 2020-06-16 00:00:00.000000000 Z
13
+ date: 2020-12-15 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.17'
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.17'
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,17 +147,27 @@ 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
153
+ - lib/redox/models/ordering_provider.rb
150
154
  - lib/redox/models/patient.rb
151
155
  - lib/redox/models/patient/demographics.rb
152
156
  - lib/redox/models/patient/identifier.rb
153
157
  - lib/redox/models/patient/insurance.rb
154
158
  - lib/redox/models/patient/p_c_p.rb
155
159
  - lib/redox/models/potential_matches.rb
160
+ - lib/redox/models/provider.rb
161
+ - lib/redox/models/scheduling.rb
162
+ - lib/redox/models/transaction.rb
163
+ - lib/redox/models/visit.rb
156
164
  - lib/redox/redox_exception.rb
165
+ - lib/redox/request/financial.rb
157
166
  - lib/redox/request/patient_admin.rb
158
167
  - lib/redox/request/patient_search.rb
168
+ - lib/redox/request/provider.rb
169
+ - lib/redox/request/request.rb
170
+ - lib/redox/request/scheduling.rb
159
171
  - lib/redox/version.rb
160
172
  - redox.gemspec
161
173
  homepage: https://github.com/WeInfuse/redox
@@ -163,7 +175,7 @@ licenses:
163
175
  - MIT
164
176
  metadata:
165
177
  allowed_push_host: https://rubygems.org
166
- post_install_message:
178
+ post_install_message:
167
179
  rdoc_options: []
168
180
  require_paths:
169
181
  - lib
@@ -178,9 +190,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
190
  - !ruby/object:Gem::Version
179
191
  version: '0'
180
192
  requirements: []
181
- rubyforge_project:
193
+ rubyforge_project:
182
194
  rubygems_version: 2.7.6
183
- signing_key:
195
+ signing_key:
184
196
  specification_version: 4
185
197
  summary: Ruby wrapper for the Redox Engine API
186
198
  test_files: []