change_healthcare 1.0.2 → 1.1

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: 2934db9c74c0bef6519e1926549f3e430dfca578a2670a902f2e1f71c77b0474
4
- data.tar.gz: d5640df907277b82160c2a3e956c2ce1924eac33407efbfe5ecc9d4304925e7e
3
+ metadata.gz: 1df0ae282396c59b88b89678c28908284ce1d6ffd9f2e5a2a2451b7a0bde0a8f
4
+ data.tar.gz: 0bc327e2d26df9974f379a741763d646a466ac402f0407333a6b5e97e9f81f23
5
5
  SHA512:
6
- metadata.gz: 743ccfe418db2581a70090195a0f729ba4de3e5896b04e1a5a1e206538c038425e05554130d4db65c2f15148ba253bd68ab5b1f3c8a738dccdc5c73a8b5ce339
7
- data.tar.gz: 765945e7a71957f5b6f8a57f98b32271559a067ab9fbf893fe7f0df7f6aad9214d5895d4b8a059ca5cdbbf66ced9a426d27aabe06cadc388f5fcd7a3dad5f335
6
+ metadata.gz: bfd938dd6265fe4a10a6873f0c10905e8d38b8d0023adcdf5c067abe59ff21350887b20edff4fc4ffbdbe7f904614b29cf6cd9a056c91e5e0b3d5bd7aa48d2e3
7
+ data.tar.gz: a2b90b8d34d1ffcfc1392dc17aadd442c0e0a95823619ff9e7afafb9d6cdd8fce80907dad59dd9cc4376d5809c89b7957eb645f9c58cd15a54ab8af78cd1057c
data/Gemfile.lock CHANGED
@@ -1,22 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- change_healthcare (1.0.2)
4
+ change_healthcare (1.0.5)
5
5
  activesupport (>= 6)
6
- nokogiri (>= 1)
6
+ nokogiri (>= 1.13.6)
7
7
  rest-client (~> 2)
8
8
  rexml
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (7.0.2.4)
13
+ activesupport (7.0.4)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 1.6, < 2)
16
16
  minitest (>= 5.1)
17
17
  tzinfo (~> 2.0)
18
- addressable (2.8.0)
19
- public_suffix (>= 2.0.2, < 5.0)
18
+ addressable (2.8.1)
19
+ public_suffix (>= 2.0.2, < 6.0)
20
20
  coderay (1.1.3)
21
21
  concurrent-ruby (1.1.10)
22
22
  crack (0.4.5)
@@ -26,22 +26,24 @@ GEM
26
26
  unf (>= 0.0.5, < 1.0.0)
27
27
  hashdiff (1.0.1)
28
28
  http-accept (1.7.0)
29
- http-cookie (1.0.4)
29
+ http-cookie (1.0.5)
30
30
  domain_name (~> 0.5)
31
- i18n (1.10.0)
31
+ i18n (1.12.0)
32
32
  concurrent-ruby (~> 1.0)
33
33
  method_source (1.0.0)
34
34
  mime-types (3.4.1)
35
35
  mime-types-data (~> 3.2015)
36
36
  mime-types-data (3.2022.0105)
37
- minitest (5.15.0)
37
+ mini_portile2 (2.8.0)
38
+ minitest (5.16.3)
38
39
  netrc (0.11.0)
39
- nokogiri (1.13.6-x86_64-darwin)
40
+ nokogiri (1.13.8)
41
+ mini_portile2 (~> 2.8.0)
40
42
  racc (~> 1.4)
41
43
  pry (0.14.1)
42
44
  coderay (~> 1.1)
43
45
  method_source (~> 1.0)
44
- public_suffix (4.0.7)
46
+ public_suffix (5.0.0)
45
47
  racc (1.6.0)
46
48
  rake (13.0.6)
47
49
  rest-client (2.1.0)
@@ -56,20 +58,20 @@ GEM
56
58
  rspec-mocks (~> 3.11.0)
57
59
  rspec-core (3.11.0)
58
60
  rspec-support (~> 3.11.0)
59
- rspec-expectations (3.11.0)
61
+ rspec-expectations (3.11.1)
60
62
  diff-lcs (>= 1.2.0, < 2.0)
61
63
  rspec-support (~> 3.11.0)
62
64
  rspec-mocks (3.11.1)
63
65
  diff-lcs (>= 1.2.0, < 2.0)
64
66
  rspec-support (~> 3.11.0)
65
- rspec-support (3.11.0)
66
- tzinfo (2.0.4)
67
+ rspec-support (3.11.1)
68
+ tzinfo (2.0.5)
67
69
  concurrent-ruby (~> 1.0)
68
70
  unf (0.1.4)
69
71
  unf_ext
70
- unf_ext (0.0.8.1)
72
+ unf_ext (0.0.8.2)
71
73
  vcr (6.1.0)
72
- webmock (3.14.0)
74
+ webmock (3.18.1)
73
75
  addressable (>= 2.8.0)
74
76
  crack (>= 0.3.2)
75
77
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_runtime_dependency "rest-client", "~> 2"
23
- spec.add_runtime_dependency "nokogiri", '>= 1'
23
+ spec.add_runtime_dependency "nokogiri", '>= 1.13.6'
24
24
  spec.add_runtime_dependency "activesupport", '>= 6'
25
25
  spec.add_runtime_dependency "rexml"
26
26
 
@@ -21,7 +21,10 @@ class ChangeHealthcare::ApiClient
21
21
  builder = Nokogiri::XML::Builder.new do |xml|
22
22
  xml.REQUEST(request_params) do
23
23
  if params.is_a? Hash
24
- xml.OBJECT(name: object_name, op: operation) do
24
+ default_object_attributes = {name: object_name, op: operation}
25
+ object_attributes = params.delete(:object_attributes)
26
+ default_object_attributes.merge!(object_attributes) if object_attributes.is_a?(Hash)
27
+ xml.OBJECT(default_object_attributes) do
25
28
  params.each_pair do |k,v|
26
29
  save_element(xml, k, v)
27
30
  end
@@ -4,6 +4,8 @@ class ChangeHealthcare::Error < StandardError
4
4
  def initialize(xml_root_node)
5
5
  @root = xml_root_node
6
6
  @code = xml_root_node.children[0].children[0].to_s
7
- @description = xml_root_node.children[1].children[0].to_s
7
+
8
+ first_children = xml_root_node.children[1]
9
+ @description = first_children.present? ? first_children.children[0].to_s : ""
8
10
  end
9
11
  end
@@ -24,7 +24,7 @@ class ChangeHealthcare::Order < ChangeHealthcare::BaseApiObject
24
24
  :prepaid_amount, :primaryorderingcaregiver, :ref_cg_fname, :ref_cg_lname, :ref_cg_mname,
25
25
  :ref_cg_npi, :ref_cg_suffix, :ref_cg_upin, :referring_cg_id, :referringcaregiver,
26
26
  :request_date, :room, :seconds_since_transmit, :sex, :stat_flag, :submission_date,
27
- :suffix, :transmission_date, :username, :work_phone_area_code, :work_phone_ext, :work_phone_number
27
+ :suffix, :transmission_date, :username, :work_phone_area_code, :work_phone_ext, :work_phone_number, :body
28
28
  ]
29
29
  end
30
30
 
@@ -34,6 +34,11 @@ class ChangeHealthcare::Order < ChangeHealthcare::BaseApiObject
34
34
  "order"
35
35
  end
36
36
 
37
+ def self.requisitionPdf(params={})
38
+ resp = call_api(__method__.to_s, params, false)
39
+ response_to_list(resp)
40
+ end
41
+
37
42
  # https://cli-cert.emdeon.com/api/cert/order.html#generate_order_number
38
43
  # params = { lab: "1502191", orderingorganization: #{facility} }
39
44
  def self.generate_order_number(params={})
@@ -0,0 +1,17 @@
1
+ # https://cli-cert.emdeon.com/api/cert/order.html
2
+ class ChangeHealthcare::OrderableDoc < ChangeHealthcare::BaseApiObject
3
+ def self.attributes
4
+ [:orderable, :document, :orderable_description, :orderabledoc, :order_code]
5
+ end
6
+
7
+ attr_accessor(*self.attributes)
8
+
9
+ def self.chc_object_name
10
+ "orderabledoc"
11
+ end
12
+
13
+ def self.search_docs_for_order(params={})
14
+ resp = call_api(__method__.to_s, params, false)
15
+ response_to_list(resp)
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ # https://cli-cert.emdeon.com/api/cert/pharmacy.html
2
+ class ChangeHealthcare::Pharmacy < ChangeHealthcare::BaseApiObject
3
+ def self.attributes
4
+ [
5
+ :address_1, :address_2, :city, :email, :fax, :is_active, :is_electronic,
6
+ :is_epcs_capable, :name, :npi, :pharmacy_id, :pharmacy_type, :phone,
7
+ :ppi_level3_id, :script_version, :service_levels, :state,
8
+ :supports_newrx, :supports_refreq, :supports_rxcancel, :supports_rxchange,
9
+ :supports_rxfill, :zip
10
+ ]
11
+ end
12
+
13
+ attr_accessor(*self.attributes)
14
+
15
+ def self.chc_object_name
16
+ "pharmacy"
17
+ end
18
+
19
+ def self.get(params={})
20
+ resp = call_api(__method__.to_s, params, false)
21
+ response_to_list(resp)
22
+ end
23
+
24
+ def self.search(params={})
25
+ resp = call_api(__method__.to_s, params, false)
26
+ response_to_list(resp)
27
+ end
28
+ end
@@ -1,3 +1,3 @@
1
1
  module ChangeHealthcare
2
- VERSION = '1.0.2'.freeze
2
+ VERSION = '1.1'.freeze
3
3
  end
@@ -18,6 +18,7 @@ require "change_healthcare/provider_caregiver"
18
18
  require "change_healthcare/client_id"
19
19
  require "change_healthcare/lab_config"
20
20
  require "change_healthcare/order"
21
+ require "change_healthcare/orderable_doc"
21
22
  require "change_healthcare/person"
22
23
  require "change_healthcare/object_doc"
23
24
  require "change_healthcare/report"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: change_healthcare
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saul Moncada
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-23 00:00:00.000000000 Z
11
+ date: 2022-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1'
33
+ version: 1.13.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1'
40
+ version: 1.13.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -180,8 +180,10 @@ files:
180
180
  - lib/change_healthcare/object_doc.rb
181
181
  - lib/change_healthcare/order.rb
182
182
  - lib/change_healthcare/order_diagnosis.rb
183
+ - lib/change_healthcare/orderable_doc.rb
183
184
  - lib/change_healthcare/organization_lab.rb
184
185
  - lib/change_healthcare/person.rb
186
+ - lib/change_healthcare/pharmacy.rb
185
187
  - lib/change_healthcare/provider_caregiver.rb
186
188
  - lib/change_healthcare/report.rb
187
189
  - lib/change_healthcare/report_doc.rb