redox 1.0.1 → 1.3.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 +41 -2
- data/lib/redox.rb +8 -0
- data/lib/redox/models/financial.rb +16 -0
- data/lib/redox/models/model.rb +19 -2
- data/lib/redox/models/patient.rb +7 -17
- data/lib/redox/models/potential_matches.rb +13 -0
- data/lib/redox/models/transaction.rb +62 -0
- data/lib/redox/models/visit.rb +41 -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 +9 -7
- metadata +42 -29
- data/.circleci/config.yml +0 -23
- data/.editorconfig +0 -10
- data/.gitignore +0 -10
- data/bin/console +0 -15
- data/bin/setup +0 -8
- data/lib/redox/response.rb +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0666bbb5152f4d34f3966dad512c2b1c6bb62cd661235516ad2a123eca63e653
|
|
4
|
+
data.tar.gz: ec535077633c70fa241a3ee5a8af81812791e53e36f72dfcfcb87900b96a9fe5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 844d30e49f7d57e5ca0dd7acc91d3bbc0aac672213e7016de5f5f52cac6e77e1123f1cb94613c5521d90c2f0a7445e0174af223c1e5b93c092386f6be5d2f9d6
|
|
7
|
+
data.tar.gz: 1d09377d50c8729f7e3698bd2de877b3b4c081a8ec21a3b9997e0da6dbc9c5bab7f58fb6cb1da273e062443b41168bdb7178c872c8beeda77e24f8239cd7636f
|
data/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,41 @@ 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.0
|
|
7
|
+
## [1.3.0] - 2020-09-17
|
|
8
|
+
### Added
|
|
9
|
+
- Transaction model
|
|
10
|
+
- Financial#create
|
|
11
|
+
|
|
12
|
+
## [1.2.0] - 2020-07-30
|
|
13
|
+
### Added
|
|
14
|
+
- Visit model
|
|
15
|
+
- Model#insurances helper for Patient.Insurances || Visit.Insurances
|
|
16
|
+
|
|
17
|
+
## [1.1.1] - 2020-06-15
|
|
18
|
+
### Changed
|
|
19
|
+
- Bugfix with patient param in update
|
|
20
|
+
|
|
21
|
+
## [1.1.0] - 2020-06-15
|
|
22
|
+
### Changed
|
|
23
|
+
- Moving to Requst classes instead of mixing in logic to models (kept backwards compatibility)
|
|
24
|
+
- Added potential matches to responses and implemented for patient search
|
|
25
|
+
|
|
26
|
+
=======
|
|
27
|
+
### Added
|
|
28
|
+
- PotentialMatches class
|
|
29
|
+
|
|
30
|
+
## [1.0.2] - 2019-06-04
|
|
31
|
+
### Changed
|
|
32
|
+
- Added Extensions to all Redox models
|
|
33
|
+
- Fixed warnings in gemspec
|
|
34
|
+
- Fixed author emails in gemspec
|
|
35
|
+
- Removed packaging of bin and files starting with '.'
|
|
36
|
+
- Added helper file to translate Redox JSON to Hashie model.
|
|
37
|
+
|
|
38
|
+
### Removed
|
|
39
|
+
- Unused response model.
|
|
40
|
+
|
|
41
|
+
## [1.0.1] - 2019-05-02
|
|
8
42
|
### Changed
|
|
9
43
|
- Check for high-level key as symbol
|
|
10
44
|
|
|
@@ -74,7 +108,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
74
108
|
### Added
|
|
75
109
|
- Initial Release
|
|
76
110
|
|
|
77
|
-
[
|
|
111
|
+
[1.3.0]: https://github.com/WeInfuse/redox/compare/v1.2.0...v1.3.0
|
|
112
|
+
[1.2.0]: https://github.com/WeInfuse/redox/compare/v1.1.1...v1.2.0
|
|
113
|
+
[1.1.1]: https://github.com/WeInfuse/redox/compare/v1.1.0...v1.1.1
|
|
114
|
+
[1.1.0]: https://github.com/WeInfuse/redox/compare/v1.0.2...v1.1.0
|
|
115
|
+
[1.0.2]: https://github.com/WeInfuse/redox/compare/v1.0.1...v1.0.2
|
|
116
|
+
[1.0.1]: https://github.com/WeInfuse/redox/compare/v1.0.0...v1.0.1
|
|
78
117
|
[1.0.0]: https://github.com/WeInfuse/redox/compare/v0.1.6...v1.0.0
|
|
79
118
|
[0.1.6]: https://github.com/WeInfuse/redox/compare/v0.1.5...v0.1.6
|
|
80
119
|
[0.1.5]: https://github.com/WeInfuse/redox/compare/v0.1.4...v0.1.5
|
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,14 +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
|
|
19
|
+
property :Extensions, from: :extensions, required: false
|
|
9
20
|
property :response, required: false
|
|
10
21
|
|
|
22
|
+
alias_method :potential_matches, :PotentialMatches
|
|
11
23
|
alias_method :patient, :Patient
|
|
24
|
+
alias_method :visit, :Visit
|
|
12
25
|
alias_method :meta, :Meta
|
|
13
26
|
|
|
14
27
|
def initialize(data = {})
|
|
@@ -27,16 +40,20 @@ module Redox
|
|
|
27
40
|
return { key => super.to_h }
|
|
28
41
|
end
|
|
29
42
|
|
|
30
|
-
def to_json
|
|
43
|
+
def to_json(args = {})
|
|
31
44
|
return self.to_h.to_json
|
|
32
45
|
end
|
|
33
46
|
|
|
47
|
+
def insurances
|
|
48
|
+
(self.patient&.insurances || []) + (self.visit&.insurances || [])
|
|
49
|
+
end
|
|
50
|
+
|
|
34
51
|
class << self
|
|
35
52
|
def from_response(response)
|
|
36
53
|
model = Model.new
|
|
37
54
|
model.response = response
|
|
38
55
|
|
|
39
|
-
%w[Meta Patient].each do |k|
|
|
56
|
+
%w[Meta Patient Visit PotentialMatches].each do |k|
|
|
40
57
|
begin
|
|
41
58
|
model.send("#{k}=", Module.const_get("Redox::Models::#{k}").new(response[k])) if response[k]
|
|
42
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
|
|
@@ -19,6 +14,10 @@ module Redox
|
|
|
19
14
|
self[:Demographics] ||= Demographics.new
|
|
20
15
|
end
|
|
21
16
|
|
|
17
|
+
def insurances
|
|
18
|
+
self[:Insurances] = self[:Insurances].map {|ins| ins.is_a?(Redox::Models::Insurance) ? ins : Insurance.new(ins) }
|
|
19
|
+
end
|
|
20
|
+
|
|
22
21
|
def primary_care_provider
|
|
23
22
|
self[:PCP] ||= PCP.new
|
|
24
23
|
end
|
|
@@ -36,25 +35,16 @@ module Redox
|
|
|
36
35
|
end
|
|
37
36
|
|
|
38
37
|
def update(meta: Meta.new)
|
|
39
|
-
|
|
40
|
-
return Model.from_response((RedoxClient.connection.request(body: Patient.body(self, meta))))
|
|
38
|
+
Redox::Request::PatientAdmin.update(patient: self, meta: meta)
|
|
41
39
|
end
|
|
42
40
|
|
|
43
41
|
def create(meta: Meta.new)
|
|
44
|
-
|
|
45
|
-
return Model.from_response((RedoxClient.connection.request(body: Patient.body(self, meta))))
|
|
42
|
+
Redox::Request::PatientAdmin.create(patient: self, meta: meta)
|
|
46
43
|
end
|
|
47
44
|
|
|
48
45
|
class << self
|
|
49
46
|
def query(params, meta: Meta.new)
|
|
50
|
-
|
|
51
|
-
return Model.from_response((RedoxClient.connection.request(endpoint: QUERY_ENDPOINT, body: Patient.body(params, meta))))
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def body(params, meta)
|
|
55
|
-
meta = Meta.new.merge(meta)
|
|
56
|
-
|
|
57
|
-
return meta.to_h.merge(params.to_h)
|
|
47
|
+
return Redox::Request::PatientSearch.query(params, meta: meta)
|
|
58
48
|
end
|
|
59
49
|
end
|
|
60
50
|
end
|
|
@@ -0,0 +1,62 @@
|
|
|
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_json(args = nil)
|
|
52
|
+
d = self.dup
|
|
53
|
+
|
|
54
|
+
[:EndDateTime, :DateTimeOfService].each do |k|
|
|
55
|
+
d[k] = Redox::Models.format_datetime(d[k])
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
d.to_h.to_json
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
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_json(args = nil)
|
|
35
|
+
d = self.dup
|
|
36
|
+
d[:VisitDateTime] = Redox::Models.format_datetime(d[:VisitDateTime])
|
|
37
|
+
d.to_h.to_json
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
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']
|
|
9
|
-
spec.email = ['
|
|
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'
|
|
@@ -20,16 +20,18 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
23
|
-
f.match(%r{^(test|spec|features)/})
|
|
23
|
+
f.match?(%r{^(test|spec|features|bin|helpers|)/}) || f.match?(%r{^(\.[[:alnum:]]+)})
|
|
24
24
|
end
|
|
25
|
+
|
|
25
26
|
spec.bindir = 'exe'
|
|
26
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
27
28
|
spec.require_paths = ['lib']
|
|
29
|
+
spec.licenses = ['MIT']
|
|
28
30
|
|
|
29
|
-
spec.add_dependency 'httparty'
|
|
30
|
-
spec.add_dependency 'hashie'
|
|
31
|
-
spec.add_development_dependency 'bundler'
|
|
32
|
-
spec.add_development_dependency 'byebug'
|
|
31
|
+
spec.add_dependency 'httparty', '~> 0.18'
|
|
32
|
+
spec.add_dependency 'hashie', '~> 3.5'
|
|
33
|
+
spec.add_development_dependency 'bundler', '>=1', '<3'
|
|
34
|
+
spec.add_development_dependency 'byebug', '~> 11'
|
|
33
35
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
|
34
36
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
35
37
|
spec.add_development_dependency 'webmock', '~> 3.1'
|
metadata
CHANGED
|
@@ -1,71 +1,79 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: redox
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Clark
|
|
8
|
-
|
|
8
|
+
- Mike Crockett
|
|
9
|
+
- Mike Carr
|
|
10
|
+
autorequire:
|
|
9
11
|
bindir: exe
|
|
10
12
|
cert_chain: []
|
|
11
|
-
date:
|
|
13
|
+
date: 2020-09-17 00:00:00.000000000 Z
|
|
12
14
|
dependencies:
|
|
13
15
|
- !ruby/object:Gem::Dependency
|
|
14
16
|
name: httparty
|
|
15
17
|
requirement: !ruby/object:Gem::Requirement
|
|
16
18
|
requirements:
|
|
17
|
-
- - "
|
|
19
|
+
- - "~>"
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
21
|
+
version: '0.18'
|
|
20
22
|
type: :runtime
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
25
|
requirements:
|
|
24
|
-
- - "
|
|
26
|
+
- - "~>"
|
|
25
27
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
28
|
+
version: '0.18'
|
|
27
29
|
- !ruby/object:Gem::Dependency
|
|
28
30
|
name: hashie
|
|
29
31
|
requirement: !ruby/object:Gem::Requirement
|
|
30
32
|
requirements:
|
|
31
|
-
- - "
|
|
33
|
+
- - "~>"
|
|
32
34
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
35
|
+
version: '3.5'
|
|
34
36
|
type: :runtime
|
|
35
37
|
prerelease: false
|
|
36
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
39
|
requirements:
|
|
38
|
-
- - "
|
|
40
|
+
- - "~>"
|
|
39
41
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
42
|
+
version: '3.5'
|
|
41
43
|
- !ruby/object:Gem::Dependency
|
|
42
44
|
name: bundler
|
|
43
45
|
requirement: !ruby/object:Gem::Requirement
|
|
44
46
|
requirements:
|
|
45
47
|
- - ">="
|
|
46
48
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
49
|
+
version: '1'
|
|
50
|
+
- - "<"
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '3'
|
|
48
53
|
type: :development
|
|
49
54
|
prerelease: false
|
|
50
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
56
|
requirements:
|
|
52
57
|
- - ">="
|
|
53
58
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
59
|
+
version: '1'
|
|
60
|
+
- - "<"
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: '3'
|
|
55
63
|
- !ruby/object:Gem::Dependency
|
|
56
64
|
name: byebug
|
|
57
65
|
requirement: !ruby/object:Gem::Requirement
|
|
58
66
|
requirements:
|
|
59
|
-
- - "
|
|
67
|
+
- - "~>"
|
|
60
68
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
69
|
+
version: '11'
|
|
62
70
|
type: :development
|
|
63
71
|
prerelease: false
|
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
73
|
requirements:
|
|
66
|
-
- - "
|
|
74
|
+
- - "~>"
|
|
67
75
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
76
|
+
version: '11'
|
|
69
77
|
- !ruby/object:Gem::Dependency
|
|
70
78
|
name: minitest
|
|
71
79
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,26 +130,24 @@ dependencies:
|
|
|
122
130
|
- - "~>"
|
|
123
131
|
- !ruby/object:Gem::Version
|
|
124
132
|
version: '0.9'
|
|
125
|
-
description:
|
|
133
|
+
description:
|
|
126
134
|
email:
|
|
127
|
-
-
|
|
135
|
+
- alexander.clark@weinfuse.com
|
|
136
|
+
- mike.crockett@weinfuse.com
|
|
137
|
+
- michael.carr@weinfuse.com
|
|
128
138
|
executables: []
|
|
129
139
|
extensions: []
|
|
130
140
|
extra_rdoc_files: []
|
|
131
141
|
files:
|
|
132
|
-
- ".circleci/config.yml"
|
|
133
|
-
- ".editorconfig"
|
|
134
|
-
- ".gitignore"
|
|
135
142
|
- CHANGELOG.md
|
|
136
143
|
- CODE_OF_CONDUCT.md
|
|
137
144
|
- Gemfile
|
|
138
145
|
- README.md
|
|
139
146
|
- Rakefile
|
|
140
|
-
- bin/console
|
|
141
|
-
- bin/setup
|
|
142
147
|
- lib/redox.rb
|
|
143
148
|
- lib/redox/authentication.rb
|
|
144
149
|
- lib/redox/connection.rb
|
|
150
|
+
- lib/redox/models/financial.rb
|
|
145
151
|
- lib/redox/models/meta.rb
|
|
146
152
|
- lib/redox/models/model.rb
|
|
147
153
|
- lib/redox/models/patient.rb
|
|
@@ -149,15 +155,22 @@ files:
|
|
|
149
155
|
- lib/redox/models/patient/identifier.rb
|
|
150
156
|
- lib/redox/models/patient/insurance.rb
|
|
151
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
|
|
152
161
|
- lib/redox/redox_exception.rb
|
|
153
|
-
- lib/redox/
|
|
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
|
|
154
166
|
- lib/redox/version.rb
|
|
155
167
|
- redox.gemspec
|
|
156
168
|
homepage: https://github.com/WeInfuse/redox
|
|
157
|
-
licenses:
|
|
169
|
+
licenses:
|
|
170
|
+
- MIT
|
|
158
171
|
metadata:
|
|
159
172
|
allowed_push_host: https://rubygems.org
|
|
160
|
-
post_install_message:
|
|
173
|
+
post_install_message:
|
|
161
174
|
rdoc_options: []
|
|
162
175
|
require_paths:
|
|
163
176
|
- lib
|
|
@@ -172,9 +185,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
172
185
|
- !ruby/object:Gem::Version
|
|
173
186
|
version: '0'
|
|
174
187
|
requirements: []
|
|
175
|
-
rubyforge_project:
|
|
188
|
+
rubyforge_project:
|
|
176
189
|
rubygems_version: 2.7.6
|
|
177
|
-
signing_key:
|
|
190
|
+
signing_key:
|
|
178
191
|
specification_version: 4
|
|
179
192
|
summary: Ruby wrapper for the Redox Engine API
|
|
180
193
|
test_files: []
|
data/.circleci/config.yml
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
jobs:
|
|
3
|
-
build:
|
|
4
|
-
working_directory: ~/weinfuse_api
|
|
5
|
-
docker:
|
|
6
|
-
- image: circleci/ruby:2.4
|
|
7
|
-
steps:
|
|
8
|
-
- checkout
|
|
9
|
-
- type: restore-cache
|
|
10
|
-
key: redox_{{ checksum "Gemfile.lock" }}
|
|
11
|
-
key: redox
|
|
12
|
-
- run: bundle install --path vendor/bundle --jobs 20 --retry 5
|
|
13
|
-
- type: cache-save
|
|
14
|
-
key: redox_{{ checksum "Gemfile.lock" }}
|
|
15
|
-
key: redox
|
|
16
|
-
paths:
|
|
17
|
-
- vendor/bundle
|
|
18
|
-
- type: shell
|
|
19
|
-
command: |
|
|
20
|
-
bundle exec rake test
|
|
21
|
-
- type: store_test_results
|
|
22
|
-
path: /tmp/test-results
|
|
23
|
-
|
data/.editorconfig
DELETED
data/.gitignore
DELETED
data/bin/console
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
require 'bundler/setup'
|
|
4
|
-
require 'json'
|
|
5
|
-
require 'redox'
|
|
6
|
-
|
|
7
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
|
8
|
-
# with your gem easier. You can also use a different console, if you like.
|
|
9
|
-
|
|
10
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
11
|
-
# require "pry"
|
|
12
|
-
# Pry.start
|
|
13
|
-
|
|
14
|
-
require 'irb'
|
|
15
|
-
IRB.start
|
data/bin/setup
DELETED
data/lib/redox/response.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module Redox
|
|
2
|
-
class Response
|
|
3
|
-
attr_reader :model, :http_response
|
|
4
|
-
|
|
5
|
-
def initialize(response, model_class = nil)
|
|
6
|
-
@http_response = response
|
|
7
|
-
@model = model_class.new(JSON.parse(response.body)) if !model_class.nil? && self.success?
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def success?
|
|
11
|
-
return @http_response.is_a?(Net::HTTPOK)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|