redox 1.6.0 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f210f0ebbfb69117dba40de048d175729ba402cd3407f25f2d9fcf2cdf190bf2
4
- data.tar.gz: 1e4242fa34e80ab3e0cd786e2217f438f45f5d13a7e8450848b0dfc0cfdb0acc
3
+ metadata.gz: ca16f2f2e1c41513d99874f9a04b6372d7749f740b11f0d6bb9b883baf548a23
4
+ data.tar.gz: 199d2165dbbbfe657de361bdbe61b612503997c61455f582587ffd4ef3beac27
5
5
  SHA512:
6
- metadata.gz: ca76e75a695a38e45d0557b1b3fcb8bcd54a7f6d9128439c64a858dcce8e7beda569c454dbd366af1edc6fa8e05b81f606f6b3f4ffc548427ebef5acd350a6d1
7
- data.tar.gz: 44e2bd01702cbbb8f035faa933d54ac6bbc2583400adfba2f466649cb0a368cb256ac31f7460a68a61d8026e8547d76d8a757d17752a7526b26957eab2ffb46e
6
+ metadata.gz: a066a300059376e6ed20b64c90b07b81602527757c3976a9f54ef02c3bfe476e92c851a232e01b15820b482636330bfbbea485c53ab273465af3ffc465c7cda0
7
+ data.tar.gz: 63b5ddc7ca3ef660537dc517be4c00866d90ce617b75967927306c215ea29a163ccc6c986ee56e687dbb0e8d091da864e016f2e4eedcf4a59c700bf1aa9c6aa6
data/CHANGELOG.md CHANGED
@@ -4,6 +4,25 @@ 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.2] - 2021-11-18
8
+ ### Added
9
+ - Component Model
10
+ - Notes#Components
11
+
12
+ ## [1.7.1] - 2021-10-07
13
+ ### Added
14
+ - Visit#ReferringProvider and helpers for ID, IDType, FirstName, LastName
15
+
16
+ ## [1.7] - 2021-06-08
17
+ ### Added
18
+ - Notes model
19
+
20
+ ## [1.6.1] - 2021-03-12
21
+ ### Added
22
+ - Media model file helper to base64 files under 200KB
23
+ - Media model available= sets to valid Redox values with true/false
24
+ - Medai model provider entry
25
+
7
26
  ## [1.6.0] - 2021-02-04
8
27
  ### Added
9
28
  - Media model
@@ -151,6 +170,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
151
170
  ### Added
152
171
  - Initial Release
153
172
 
173
+ [1.7.2]: https://github.com/WeInfuse/redox/compare/v1.7.1...v1.7.2
174
+ [1.7.1]: https://github.com/WeInfuse/redox/compare/v1.7...v1.7.1
175
+ [1.7]: https://github.com/WeInfuse/redox/compare/v1.6.1...v1.7
176
+ [1.6.1]: https://github.com/WeInfuse/redox/compare/v1.6.0...v1.6.1
177
+ [1.6.0]: https://github.com/WeInfuse/redox/compare/v1.5.2...v1.6.0
154
178
  [1.5.2]: https://github.com/WeInfuse/redox/compare/v1.5.1...v1.5.2
155
179
  [1.5.1]: https://github.com/WeInfuse/redox/compare/v1.5.0...v1.5.1
156
180
  [1.5.0]: https://github.com/WeInfuse/redox/compare/v1.4.0...v1.5.0
data/README.md CHANGED
@@ -111,7 +111,11 @@ end
111
111
 
112
112
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
113
113
 
114
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
114
+ To install this gem onto your local machine, run `bundle exec rake install`.
115
+
116
+ If you have already merged changes into the master branch of this repo and are looking to release a new version, remember to switch out of your local feature branch (if you are on one) to the master or main branch of this repo. Then pull all changes down so you have an up to date code base.
117
+
118
+ To actually release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
115
119
 
116
120
  ## Contributing
117
121
 
@@ -0,0 +1,13 @@
1
+ module Redox
2
+ module Models
3
+ class Component < AbstractModel
4
+ property :Id, required: false, from: :id
5
+ property :Name, required: false, from: :name
6
+ property :Value, required: false, from: :value
7
+
8
+ alias_method :id, :Id
9
+ alias_method :name, :Name
10
+ alias_method :value, :Value
11
+ end
12
+ end
13
+ end
@@ -1,12 +1,15 @@
1
1
  module Redox
2
2
  module Models
3
3
  class Media < AbstractModel
4
+ BLOB_REQUIRED_SIZE = 200 * 1024
5
+
4
6
  property :FileType, from: :file_type, required: false
5
7
  property :FileName, from: :file_name, required: false
6
8
  property :FileContents, from: :file_contents, required: false
7
9
  property :DocumentType, from: :document_type, required: false
8
10
  property :DocumentID, from: :document_id, required: false
9
11
  property :Availability, from: :availability, required: false
12
+ property :Provider, from: :provider, required: false
10
13
 
11
14
  alias_method :file_type, :FileType
12
15
  alias_method :file_name, :FileName
@@ -14,6 +17,28 @@ module Redox
14
17
  alias_method :document_type, :DocumentType
15
18
  alias_method :document_id, :DocumentID
16
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
17
42
  end
18
43
  end
19
44
  end
@@ -0,0 +1,17 @@
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
+ property :Components, required: false, from: :components, default: []
9
+
10
+ alias_method :content_type, :ContentType
11
+ alias_method :document_type, :DocumentType
12
+ alias_method :document_id, :DocumentID
13
+ alias_method :provider, :Provider
14
+ alias_method :components, :Components
15
+ end
16
+ end
17
+ 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
@@ -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
@@ -18,10 +24,12 @@ module Redox
18
24
  property :Equipment, from: :equipment, required: false
19
25
  property :CancelReason, from: :cancel_reason, required: false
20
26
  property :DischargeDateTime, from: :end, required: false
27
+ property :ReferringProvider, from: :referring_provider, required: false, default: DEFAULT_REFERRING_PROVIDER
21
28
 
22
29
  alias_method :insurances, :Insurances
23
30
  alias_method :start, :VisitDateTime
24
31
  alias_method :end, :DischargeDateTime
32
+ alias_method :referring_provider, :ReferringProvider
25
33
 
26
34
  def department=(v)
27
35
  self[:Location] ||= DEFAULT_LOCATION
@@ -35,6 +43,26 @@ module Redox
35
43
  self
36
44
  end
37
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
+
38
66
  def add_equipment(description: nil, code: nil)
39
67
  self[:Equipment] ||= []
40
68
  self[:Equipment] << { Description: description, Code: code }
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Redox
2
- VERSION = '1.6.0'.freeze
2
+ VERSION = '1.7.2'.freeze
3
3
  end
data/lib/redox.rb CHANGED
@@ -12,6 +12,8 @@ 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'
15
17
  require 'redox/models/media'
16
18
  require 'redox/models/media_upload'
17
19
  require 'redox/models/patient/demographics'
@@ -21,8 +23,10 @@ require 'redox/models/patient/insurance'
21
23
  require 'redox/models/patient/p_c_p'
22
24
  require 'redox/models/potential_matches'
23
25
  require 'redox/models/scheduling'
26
+ require 'redox/models/component'
24
27
  require 'redox/request/request'
25
28
  require 'redox/request/financial'
29
+ require 'redox/request/notes'
26
30
  require 'redox/request/patient_admin'
27
31
  require 'redox/request/patient_search'
28
32
  require 'redox/request/provider'
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.6.0
4
+ version: 1.7.2
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-02-04 00:00:00.000000000 Z
13
+ date: 2021-11-18 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
@@ -147,11 +147,14 @@ files:
147
147
  - lib/redox.rb
148
148
  - lib/redox/authentication.rb
149
149
  - lib/redox/connection.rb
150
+ - lib/redox/models/component.rb
150
151
  - lib/redox/models/financial.rb
151
152
  - lib/redox/models/media.rb
152
153
  - lib/redox/models/media_upload.rb
153
154
  - lib/redox/models/meta.rb
154
155
  - lib/redox/models/model.rb
156
+ - lib/redox/models/note.rb
157
+ - lib/redox/models/notes.rb
155
158
  - lib/redox/models/ordering_provider.rb
156
159
  - lib/redox/models/patient.rb
157
160
  - lib/redox/models/patient/contacts.rb
@@ -167,6 +170,7 @@ files:
167
170
  - lib/redox/redox_exception.rb
168
171
  - lib/redox/request/financial.rb
169
172
  - lib/redox/request/media.rb
173
+ - lib/redox/request/notes.rb
170
174
  - lib/redox/request/patient_admin.rb
171
175
  - lib/redox/request/patient_search.rb
172
176
  - lib/redox/request/provider.rb
@@ -179,7 +183,7 @@ licenses:
179
183
  - MIT
180
184
  metadata:
181
185
  allowed_push_host: https://rubygems.org
182
- post_install_message:
186
+ post_install_message:
183
187
  rdoc_options: []
184
188
  require_paths:
185
189
  - lib
@@ -194,9 +198,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
198
  - !ruby/object:Gem::Version
195
199
  version: '0'
196
200
  requirements: []
197
- rubyforge_project:
198
- rubygems_version: 2.7.6
199
- signing_key:
201
+ rubygems_version: 3.1.4
202
+ signing_key:
200
203
  specification_version: 4
201
204
  summary: Ruby wrapper for the Redox Engine API
202
205
  test_files: []