luma 0.0.6 → 0.0.7

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: 7376e18f5c6bd2d23586d170c298281394d7e8e2d6936923f903f9fe2e6d9cd7
4
- data.tar.gz: 95eb1b2a96bf03bfe142b557ed1a4369034c741d0dd6d4ce16bd6cf787efbd4e
3
+ metadata.gz: '00429d3b54d9cda59b281b0446ff7585008fcc498f2199f0fce23855c2582cc6'
4
+ data.tar.gz: 1c15d031ecf8b95be3d2fa97082ef6e6f72ba0d090351ad5c8fae594764a6312
5
5
  SHA512:
6
- metadata.gz: 597ae8ee7d3bf4357d2d48afead8ab99e574b0f0e21dbf89e4277317d0570701d73f97d1c4a93c059d6497d1ccdb48558c185223d52cd88189c17a56c883fd79
7
- data.tar.gz: e525ef5b468fa3e548a07db9886cf24107863b2b117d8741792a1988f7a9921c8749d64a4dd612454431ea0456ce214f4ead0bca12e22f4b01a5e096126a4391
6
+ metadata.gz: b50ab8b8b32e94a2d10d5782b01935781613af96aeae2e6efd5c1211f6cfbe5528d92fb134aa0248c5131ca59a9ae485f855d28f7eb102469f66b39c1f98a1ed
7
+ data.tar.gz: 3353c539d5e508a10af4f8807620935d07db0432f9382ef0355a135f9dc9ba1ffbd073179da644efcb69fcf15a0b5ff4914d59f86f009321708754b71143e6f0
data/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ 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
+ ## [0.0.7] - 2021-10-25
8
+
9
+ ### Added
10
+
11
+ - Add API access for creating a patient (POST)
12
+ - Add Patient, Date of Birth and Contact models used in create patient payload
13
+
7
14
  ## [0.0.6] - 2021-10-15
8
15
 
9
16
  ### Changed
@@ -42,6 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
42
49
 
43
50
  - Initial Create
44
51
 
52
+ [0.0.7]: https://github.com/WeInfuse/luma/compare/v0.0.6...v0.0.7
45
53
  [0.0.6]: https://github.com/WeInfuse/luma/compare/v0.0.5...v0.0.6
46
54
  [0.0.5]: https://github.com/WeInfuse/luma/compare/v0.0.4...v0.0.5
47
55
  [0.0.4]: https://github.com/WeInfuse/luma/compare/v0.0.3...v0.0.4
data/README.md CHANGED
@@ -55,6 +55,27 @@ body = { "name": "Billy Bob 2", "npi": 1234567891 }
55
55
  Luma::Provider.new.create_provider(body: body)
56
56
  ```
57
57
 
58
+ ### Create Patient
59
+ ```ruby
60
+ dob = Luma::Models::DateOfBirth.new(year: 1993, month: 1, day: 2)
61
+ contact = Luma::Models::Contact.new(type: Luma::Models::Contact::CONTACT_TYPES[:email],
62
+ value: "ruby@test.com",
63
+ active: true
64
+ )
65
+ body = Luma::Models::Patient.new(first_name: 'Ruby',
66
+ last_name: 'Jones',
67
+ dob: dob,
68
+ address: '123 Main',
69
+ city: 'Austin',
70
+ state: 'TX',
71
+ zip_code: 78701,
72
+ contact: [contact],
73
+ do_not_contact: false
74
+ )
75
+
76
+ Luma::Patient.new.create_patient(body: body)
77
+ ```
78
+
58
79
  ## Development
59
80
 
60
81
  ### Prep
@@ -10,14 +10,14 @@ module Luma
10
10
  url = "api/appointmentTypes?name=#{name}&description=#{description}"
11
11
  full_url = "https://api.lumahealth.io/" + url
12
12
 
13
- result = HTTParty.get(full_url.to_str, headers: @headers, debug_output: $stdout)
13
+ HTTParty.get(full_url.to_str, headers: @headers, debug_output: $stdout)
14
14
  end
15
15
 
16
16
  def create_appointment_type(endpoint: APPOINTMENT_TYPE_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post, debug_output: $stdout)
17
17
  @body = body
18
18
  self.add_headers_and_body if auth
19
19
 
20
- result = self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
20
+ self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
21
21
  end
22
22
  end
23
23
  end
@@ -0,0 +1,18 @@
1
+ module Luma
2
+ module Models
3
+ class Contact < Hashie::Trash
4
+ include Hashie::Extensions::IgnoreUndeclared
5
+ include Hashie::Extensions::IndifferentAccess
6
+
7
+ CONTACT_TYPES = {
8
+ email: "email",
9
+ text: "sms",
10
+ phone: "voice"
11
+ }
12
+
13
+ property :type, required: false
14
+ property :value, required: false
15
+ property :active, required: false, default: false
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module Luma
2
+ module Models
3
+ class DateOfBirth < Hashie::Trash
4
+ include Hashie::Extensions::IgnoreUndeclared
5
+ include Hashie::Extensions::IndifferentAccess
6
+
7
+ property :year, required: false
8
+ property :month, required: false
9
+ property :day, required: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ module Luma
2
+ module Models
3
+ class Patient < Hashie::Trash
4
+ include Hashie::Extensions::IgnoreUndeclared
5
+ include Hashie::Extensions::IndifferentAccess
6
+
7
+ property :firstname, from: :first_name, required: false
8
+ property :lastname, from: :last_name, required: false
9
+ property :dateOfBirth, from: :dob, required: false, default: {}
10
+ property :address, required: false
11
+ property :city, required: false
12
+ property :state, required: false
13
+ property :postcode, from: :zip_code, required: false
14
+ property :contact, required: false
15
+ property :doNotContact, from: :do_not_contact, required: false, default: true
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ module Luma
2
+ class Patient < Connection
3
+ PATIENT_ENDPOINT = '/api/patients'.freeze
4
+
5
+ base_uri 'https://api.lumahealth.io/'.freeze
6
+
7
+ def create_patient(endpoint: PATIENT_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post, debug_output: $stdout)
8
+ @body = body
9
+ self.add_headers_and_body if auth
10
+
11
+ self.class.send(verb.to_s, endpoint, body: @body, headers: @headers)
12
+ end
13
+ end
14
+ end
data/lib/luma/provider.rb CHANGED
@@ -9,7 +9,7 @@ module Luma
9
9
 
10
10
  self.add_headers_and_body if auth
11
11
 
12
- result = self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
12
+ self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
13
13
  end
14
14
  end
15
15
  end
data/lib/luma/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Luma
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
data/lib/luma.rb CHANGED
@@ -7,6 +7,10 @@ require 'luma/authentication'
7
7
  require 'luma/provider'
8
8
  require 'luma/appointment_type'
9
9
  require 'luma/facilities'
10
+ require 'luma/patient'
11
+ require 'luma/models/contact'
12
+ require 'luma/models/date_of_birth'
13
+ require 'luma/models/patient'
10
14
 
11
15
  module Luma
12
16
  class Configuration
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angela Rodriguez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2021-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -160,6 +160,10 @@ files:
160
160
  - lib/luma/connection.rb
161
161
  - lib/luma/facilities.rb
162
162
  - lib/luma/luma_exception.rb
163
+ - lib/luma/models/contact.rb
164
+ - lib/luma/models/date_of_birth.rb
165
+ - lib/luma/models/patient.rb
166
+ - lib/luma/patient.rb
163
167
  - lib/luma/provider.rb
164
168
  - lib/luma/version.rb
165
169
  - luma.gemspec