redox 1.5.2 → 1.7.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 +27 -2
- data/lib/redox/models/media.rb +44 -0
- data/lib/redox/models/media_upload.rb +13 -0
- data/lib/redox/models/note.rb +15 -0
- data/lib/redox/models/notes.rb +14 -0
- data/lib/redox/models/visit.rb +32 -1
- data/lib/redox/request/media.rb +12 -0
- data/lib/redox/request/notes.rb +12 -0
- data/lib/redox/version.rb +1 -1
- data/lib/redox.rb +6 -0
- metadata +13 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37374b76571d3588f7f710fb44e37b81aba5f6c69c321049986ef7ae9d96fab2
|
4
|
+
data.tar.gz: 909bd1b8d7314e01ec176ec15fbd615fda7491800a723d02a0fa8701f856162e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 669638a2d594663f7651845faa1e31b3a957c6ad1047b9b3e90fd410682b3da8394119c7d788db33df48fbf352a4a1b5f28347f9f8e60049e3bb8768814b693b
|
7
|
+
data.tar.gz: b6a9ac922f873cae1c32b9b57e9f878ea558f56aa0522dc144caafbc1c25d17e60a05429bc151e2888d34e391e15f912b1b244ec2891efa404190c774690c339
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,28 @@ 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] - 2021-10-07
|
8
|
+
### Added
|
9
|
+
- Visit#ReferringProvider and helpers for ID, IDType, FirstName, LastName
|
10
|
+
|
11
|
+
## [1.7] - 2021-06-08
|
12
|
+
### Added
|
13
|
+
- Notes model
|
14
|
+
|
15
|
+
## [1.6.1] - 2021-03-12
|
16
|
+
### Added
|
17
|
+
- Media model file helper to base64 files under 200KB
|
18
|
+
- Media model available= sets to valid Redox values with true/false
|
19
|
+
- Medai model provider entry
|
20
|
+
|
21
|
+
## [1.6.0] - 2021-02-04
|
22
|
+
### Added
|
23
|
+
- Media model
|
24
|
+
- MediaUpdate Model
|
25
|
+
- Media#create
|
26
|
+
- Visit#CancelReason
|
27
|
+
- Visit#DischargeDateTime
|
28
|
+
|
7
29
|
## [1.5.2] - 2021-01-08
|
8
30
|
### Added
|
9
31
|
- Visit#Type
|
@@ -41,12 +63,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
41
63
|
- Visit#as\_json
|
42
64
|
|
43
65
|
## [1.3.0] - 2020-09-17
|
44
|
-
### Added
|
66
|
+
### Added
|
45
67
|
- Transaction model
|
46
68
|
- Financial#create
|
47
69
|
|
48
70
|
## [1.2.0] - 2020-07-30
|
49
|
-
### Added
|
71
|
+
### Added
|
50
72
|
- Visit model
|
51
73
|
- Model#insurances helper for Patient.Insurances || Visit.Insurances
|
52
74
|
|
@@ -143,6 +165,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
143
165
|
### Added
|
144
166
|
- Initial Release
|
145
167
|
|
168
|
+
[1.7]: https://github.com/WeInfuse/redox/compare/v1.6.1...v1.7
|
169
|
+
[1.6.1]: https://github.com/WeInfuse/redox/compare/v1.6.0...v1.6.1
|
170
|
+
[1.6.0]: https://github.com/WeInfuse/redox/compare/v1.5.2...v1.6.0
|
146
171
|
[1.5.2]: https://github.com/WeInfuse/redox/compare/v1.5.1...v1.5.2
|
147
172
|
[1.5.1]: https://github.com/WeInfuse/redox/compare/v1.5.0...v1.5.1
|
148
173
|
[1.5.0]: https://github.com/WeInfuse/redox/compare/v1.4.0...v1.5.0
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Redox
|
2
|
+
module Models
|
3
|
+
class Media < AbstractModel
|
4
|
+
BLOB_REQUIRED_SIZE = 200 * 1024
|
5
|
+
|
6
|
+
property :FileType, from: :file_type, required: false
|
7
|
+
property :FileName, from: :file_name, required: false
|
8
|
+
property :FileContents, from: :file_contents, required: false
|
9
|
+
property :DocumentType, from: :document_type, required: false
|
10
|
+
property :DocumentID, from: :document_id, required: false
|
11
|
+
property :Availability, from: :availability, required: false
|
12
|
+
property :Provider, from: :provider, required: false
|
13
|
+
|
14
|
+
alias_method :file_type, :FileType
|
15
|
+
alias_method :file_name, :FileName
|
16
|
+
alias_method :file_contents, :FileContents
|
17
|
+
alias_method :document_type, :DocumentType
|
18
|
+
alias_method :document_id, :DocumentID
|
19
|
+
alias_method :availability, :Availability
|
20
|
+
alias_method :provider, :Provider
|
21
|
+
|
22
|
+
def availability=(value)
|
23
|
+
case value
|
24
|
+
when true
|
25
|
+
self[:Availability] = 'Available'
|
26
|
+
when false
|
27
|
+
self[:Availability] = 'Unavailable'
|
28
|
+
else
|
29
|
+
self[:Availability] = value
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_filepath(path)
|
34
|
+
if File.size(path) > BLOB_REQUIRED_SIZE
|
35
|
+
raise 'Not implemented'
|
36
|
+
else
|
37
|
+
self.file_contents = Base64::encode64(File.read(path))
|
38
|
+
self.file_type = "#{File.extname(path)}".delete_prefix('.').upcase
|
39
|
+
self.file_name = File.basename(path, '.*')
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Redox
|
2
|
+
module Models
|
3
|
+
class MediaUpload < AbstractModel
|
4
|
+
property :Patient, required: false, from: :patient, default: Redox::Models::Patient.new
|
5
|
+
property :Visit, required: false, from: :visit, default: Redox::Models::Visit.new
|
6
|
+
property :Media, required: false, from: :media, default: Redox::Models::Media.new
|
7
|
+
|
8
|
+
alias_method :patient, :Patient
|
9
|
+
alias_method :visit, :Visit
|
10
|
+
alias_method :media, :Media
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Redox
|
2
|
+
module Models
|
3
|
+
class Note < AbstractModel
|
4
|
+
property :ContentType, from: :content_type, required: false
|
5
|
+
property :DocumentType, from: :document_type, required: false
|
6
|
+
property :DocumentID, from: :document_id, required: false
|
7
|
+
property :Provider, required: false, from: :provider, default: {}
|
8
|
+
|
9
|
+
alias_method :content_type, :ContentType
|
10
|
+
alias_method :document_type, :DocumentType
|
11
|
+
alias_method :document_id, :DocumentID
|
12
|
+
alias_method :provider, :Provider
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Redox
|
2
|
+
module Models
|
3
|
+
class Notes < AbstractModel
|
4
|
+
property :Note, from: :note, required: false
|
5
|
+
|
6
|
+
alias_method :note, :Note
|
7
|
+
|
8
|
+
def note
|
9
|
+
self[:Note] = Note.new(self[:Note]) unless self[:Note].is_a?(Redox::Models::Note)
|
10
|
+
self[:Note] ||= Note.new
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/redox/models/visit.rb
CHANGED
@@ -5,6 +5,12 @@ module Redox
|
|
5
5
|
Department: nil,
|
6
6
|
Facility: nil
|
7
7
|
}
|
8
|
+
DEFAULT_REFERRING_PROVIDER = {
|
9
|
+
ID: nil,
|
10
|
+
IDType: nil,
|
11
|
+
FirstName: nil,
|
12
|
+
LastName: nil
|
13
|
+
}
|
8
14
|
|
9
15
|
property :Insurances, from: :insurances, required: false, default: []
|
10
16
|
property :Location, from: :location, required: false, default: DEFAULT_LOCATION
|
@@ -16,9 +22,14 @@ module Redox
|
|
16
22
|
property :Type, from: :type, required: false
|
17
23
|
property :Reason, from: :reason, required: false
|
18
24
|
property :Equipment, from: :equipment, required: false
|
25
|
+
property :CancelReason, from: :cancel_reason, required: false
|
26
|
+
property :DischargeDateTime, from: :end, required: false
|
27
|
+
property :ReferringProvider, from: :referring_provider, required: false, default: DEFAULT_REFERRING_PROVIDER
|
19
28
|
|
20
29
|
alias_method :insurances, :Insurances
|
21
30
|
alias_method :start, :VisitDateTime
|
31
|
+
alias_method :end, :DischargeDateTime
|
32
|
+
alias_method :referring_provider, :ReferringProvider
|
22
33
|
|
23
34
|
def department=(v)
|
24
35
|
self[:Location] ||= DEFAULT_LOCATION
|
@@ -32,6 +43,26 @@ module Redox
|
|
32
43
|
self
|
33
44
|
end
|
34
45
|
|
46
|
+
def referring_provider_id=(v)
|
47
|
+
self[:ReferringProvider] ||= DEFAULT_REFERRING_PROVIDER
|
48
|
+
self[:ReferringProvider][:ID] = v
|
49
|
+
end
|
50
|
+
|
51
|
+
def referring_provider_id_type=(v)
|
52
|
+
self[:ReferringProvider] ||= DEFAULT_REFERRING_PROVIDER
|
53
|
+
self[:ReferringProvider][:IDType] = v
|
54
|
+
end
|
55
|
+
|
56
|
+
def referring_provider_first_name=(v)
|
57
|
+
self[:ReferringProvider] ||= DEFAULT_REFERRING_PROVIDER
|
58
|
+
self[:ReferringProvider][:FirstName] = v
|
59
|
+
end
|
60
|
+
|
61
|
+
def referring_provider_last_name=(v)
|
62
|
+
self[:ReferringProvider] ||= DEFAULT_REFERRING_PROVIDER
|
63
|
+
self[:ReferringProvider][:LastName] = v
|
64
|
+
end
|
65
|
+
|
35
66
|
def add_equipment(description: nil, code: nil)
|
36
67
|
self[:Equipment] ||= []
|
37
68
|
self[:Equipment] << { Description: description, Code: code }
|
@@ -45,7 +76,7 @@ module Redox
|
|
45
76
|
def to_h
|
46
77
|
result = super.to_h
|
47
78
|
|
48
|
-
%w[VisitDateTime].each do |k|
|
79
|
+
%w[VisitDateTime DischargeDateTime].each do |k|
|
49
80
|
result[key][k] = Redox::Models.format_datetime(result[key][k])
|
50
81
|
end
|
51
82
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Redox
|
2
|
+
module Request
|
3
|
+
class Media
|
4
|
+
CREATE_META = Redox::Models::Meta.new(EventType: 'New', DataModel: 'Media')
|
5
|
+
|
6
|
+
def self.create(model, meta: Redox::Models::Meta.new)
|
7
|
+
meta = CREATE_META.merge(meta)
|
8
|
+
return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Redox
|
2
|
+
module Request
|
3
|
+
class Notes
|
4
|
+
CREATE_META = Redox::Models::Meta.new(EventType: 'New', DataModel: 'Notes')
|
5
|
+
|
6
|
+
def self.create(model, meta: Redox::Models::Meta.new)
|
7
|
+
meta = CREATE_META.merge(meta)
|
8
|
+
return Redox::Models::Model.from_response((RedoxClient.connection.request(body: Redox::Request.build_body(model, meta))))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/redox/version.rb
CHANGED
data/lib/redox.rb
CHANGED
@@ -12,6 +12,10 @@ require 'redox/models/provider'
|
|
12
12
|
require 'redox/models/visit'
|
13
13
|
require 'redox/models/transaction'
|
14
14
|
require 'redox/models/financial'
|
15
|
+
require 'redox/models/notes'
|
16
|
+
require 'redox/models/note'
|
17
|
+
require 'redox/models/media'
|
18
|
+
require 'redox/models/media_upload'
|
15
19
|
require 'redox/models/patient/demographics'
|
16
20
|
require 'redox/models/patient/contacts'
|
17
21
|
require 'redox/models/patient/identifier'
|
@@ -21,10 +25,12 @@ require 'redox/models/potential_matches'
|
|
21
25
|
require 'redox/models/scheduling'
|
22
26
|
require 'redox/request/request'
|
23
27
|
require 'redox/request/financial'
|
28
|
+
require 'redox/request/notes'
|
24
29
|
require 'redox/request/patient_admin'
|
25
30
|
require 'redox/request/patient_search'
|
26
31
|
require 'redox/request/provider'
|
27
32
|
require 'redox/request/scheduling'
|
33
|
+
require 'redox/request/media'
|
28
34
|
|
29
35
|
module Redox
|
30
36
|
class Configuration
|
metadata
CHANGED
@@ -1,16 +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.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Clark
|
8
8
|
- Mike Crockett
|
9
9
|
- Mike Carr
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-10-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -130,7 +130,7 @@ dependencies:
|
|
130
130
|
- - "~>"
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0.9'
|
133
|
-
description:
|
133
|
+
description:
|
134
134
|
email:
|
135
135
|
- alexander.clark@weinfuse.com
|
136
136
|
- mike.crockett@weinfuse.com
|
@@ -148,8 +148,12 @@ files:
|
|
148
148
|
- lib/redox/authentication.rb
|
149
149
|
- lib/redox/connection.rb
|
150
150
|
- lib/redox/models/financial.rb
|
151
|
+
- lib/redox/models/media.rb
|
152
|
+
- lib/redox/models/media_upload.rb
|
151
153
|
- lib/redox/models/meta.rb
|
152
154
|
- lib/redox/models/model.rb
|
155
|
+
- lib/redox/models/note.rb
|
156
|
+
- lib/redox/models/notes.rb
|
153
157
|
- lib/redox/models/ordering_provider.rb
|
154
158
|
- lib/redox/models/patient.rb
|
155
159
|
- lib/redox/models/patient/contacts.rb
|
@@ -164,6 +168,8 @@ files:
|
|
164
168
|
- lib/redox/models/visit.rb
|
165
169
|
- lib/redox/redox_exception.rb
|
166
170
|
- lib/redox/request/financial.rb
|
171
|
+
- lib/redox/request/media.rb
|
172
|
+
- lib/redox/request/notes.rb
|
167
173
|
- lib/redox/request/patient_admin.rb
|
168
174
|
- lib/redox/request/patient_search.rb
|
169
175
|
- lib/redox/request/provider.rb
|
@@ -176,7 +182,7 @@ licenses:
|
|
176
182
|
- MIT
|
177
183
|
metadata:
|
178
184
|
allowed_push_host: https://rubygems.org
|
179
|
-
post_install_message:
|
185
|
+
post_install_message:
|
180
186
|
rdoc_options: []
|
181
187
|
require_paths:
|
182
188
|
- lib
|
@@ -191,9 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
197
|
- !ruby/object:Gem::Version
|
192
198
|
version: '0'
|
193
199
|
requirements: []
|
194
|
-
|
195
|
-
|
196
|
-
signing_key:
|
200
|
+
rubygems_version: 3.0.3
|
201
|
+
signing_key:
|
197
202
|
specification_version: 4
|
198
203
|
summary: Ruby wrapper for the Redox Engine API
|
199
204
|
test_files: []
|