super_ehr 1.0.2 → 1.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/super_ehr.rb +20 -12
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4cbbdc40a0ab77a1d502624ae7a2a3499d4762b
4
- data.tar.gz: 4b336da24825e7c4899b18deabc9dafc9ff9e70e
3
+ metadata.gz: 9adccd47819a72e8a8ae176b602fc061fcff394a
4
+ data.tar.gz: 30e5a323de321cd83ef16311dc5e87808c20b2b9
5
5
  SHA512:
6
- metadata.gz: d260274293af8f05f7be95cc974a7961c7ba35a17e6d4b3964e75275dd65605cf503f82c2e029f600dd52ee2578018b17b200a6e1ec37ad39bb37a7da31b0b79
7
- data.tar.gz: 5560937ac9e598c859f5ec9fd568877f7f14782118227980f62e9504f5e163491617d01c748035d30ab4e3edba8eabd0c3054de23f69de8af69eae2c93e20ecf
6
+ metadata.gz: 551e9017ecb054b42cbed8df75e4a04e293bd70034ba961f09f41d1ca69e80773aae7d4394594911f562155e8291f9754b9e38fa50170f89f272d450f280560b
7
+ data.tar.gz: 91b215a87378af1034b642bee4ced5533e1eb88281efab6d2e12013c3e1e5581a366af62735b0f130b2494eb2e44cc3550a506765169d9700a498171af42ce69
data/lib/super_ehr.rb CHANGED
@@ -383,23 +383,27 @@ module SuperEHR
383
383
 
384
384
  ### API SPECIFIC HOUSEKEEPING ###
385
385
 
386
- def initialize(access_code, client_id, client_secret, redirect_uri)
387
- @access_code = access_code
388
- @client_id = client_id
389
- @client_secret = client_secret
390
- @redirect_uri = redirect_uri << '/' unless redirect_uri.end_with?('/')
391
- @access_token = ''
392
- @refresh_token = ''
386
+ def initialize(args={})
387
+ params = {:access_code => '', :access_token => '', :refresh_token => '',
388
+ :client_id => '', :client_secret => '', :redirect_uri => ''}
389
+ params.merge(args)
390
+ if (params[:access_code] == '' && (params[:access_token] == '' || params[:refresh_token] == ''))
391
+ raise ArgumentError, 'Access Code is blank or one or more of {Access Token, Refresh Token} is blank'
392
+ end
393
+ @access_code = params[:access_code]
394
+ @client_id = params[:client_id]
395
+ @client_secret = params[:client_secret]
396
+ @redirect_uri = params[:redirect_uri] << '/' unless redirect_uri.end_with?('/')
397
+ @access_token = params[:access_token]
398
+ @refresh_token = params[:refresh_token]
393
399
  @uri = URI.parse("https://drchrono.com")
394
- if (access_code == '')
395
- get_access_token
396
- else
400
+ if (params[:access_token] == '' || params[:refresh_token] == '')
397
401
  refresh_token
398
402
  end
399
403
  end
400
404
 
401
405
  def get_request_headers
402
- return { 'Authorization' => "Bearer #{@refresh_token}" }
406
+ return { 'Authorization' => "Bearer #{refresh_token()}" }
403
407
  end
404
408
 
405
409
  def get_request_url(endpoint)
@@ -511,6 +515,10 @@ module SuperEHR
511
515
  end
512
516
 
513
517
  def self.drchrono(access_code, client_id, client_secret, redirect_uri)
514
- return DrChronoAPI.new(access_code, client_id, client_secret, redirect_uri)
518
+ return DrChronoAPI.new({:access_code => access_code, :client_id => client_id, :client_secret => client_secret, :redirect_uri => redirect_uri})
519
+ end
520
+
521
+ def self.drchrono_b(access_token, refresh_token, client_id, client_secret, redirect_uri)
522
+ return DrChronoAPI.new({:access_token => access_token, :refresh_token => refresh_token, :client_id => client_id, :client_secret => client_secret, :redirect_uri => redirect_uri})
515
523
  end
516
524
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_ehr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Su
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-30 00:00:00.000000000 Z
11
+ date: 2015-05-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This project generalizes EHR integrations with various EHR vendors. Currently
14
14
  supports Allscripts, Athena, and DrChrono.