Module: CoverMyMeds::Requests

Includes:
HostAndPath
Included in:
Client
Defined in:
lib/cover_my_meds/client/requests.rb

Constant Summary collapse

CURRENT_VERSION =
1
@@json_string =
"{\n  \"request\": {\n    \"urgent\": \"false\",\n    \"form_id\": \"\",\n    \"state\": \"\",\n    \"memo\": \"\",\n    \"patient\": {\n      \"first_name\": \"\",\n      \"middle_name\": \"\",\n      \"last_name\": \"\",\n      \"date_of_birth\": \"\",\n      \"gender\": \"\",\n      \"email\": \"\",\n      \"member_id\": \"\",\n      \"phone_number\": \"\",\n      \"address\": {\n        \"street_1\": \"\",\n        \"street_2\": \"\",\n        \"city\": \"\",\n        \"state\": \"\",\n        \"zip\": \"\"\n      }\n    },\n    \"payer\": {\n      \"form_search_text\": \"\",\n      \"bin\": \"\",\n      \"pcn\": \"\",\n      \"group_id\": \"\",\n      \"medical_benefit_name\": \"\",\n      \"drug_benefit_name\": \"\"\n    },\n    \"prescriber\": {\n      \"npi\": \"\",\n      \"first_name\": \"\",\n      \"last_name\": \"\",\n      \"clinic_name\": \"\",\n      \"speciality\": \"\",\n      \"address\": {\n        \"street_1\": \"\",\n        \"street_2\": \"\",\n        \"city\": \"\",\n        \"state\": \"\",\n        \"zip\": \"\"\n      },\n      \"fax_number\": \"\",\n      \"phone_number\": \"\"\n    },\n    \"prescription\": {\n      \"drug_id\": \"\",\n      \"strength\": \"\",\n      \"frequency\": \"\",\n      \"enumerated_fields\": \"\",\n      \"refills\": \"\",\n      \"dispense_as_written\": \"\",\n      \"quantity\": \"\",\n      \"days_supply\": \"\"\n    },\n    \"pharmacy\": {\n      \"name\": \"\",\n      \"address\": {\n        \"street_1\": \"\",\n        \"street_2\": \"\",\n        \"city\": \"\",\n        \"state\": \"\",\n        \"zip\": \"\"\n      },\n      \"fax_number\": \"\",\n      \"phone_number\": \"\"\n    },\n    \"enumerated_fields\": {\n      \"icd9_0\": \"\",\n      \"icd9_1\": \"\",\n      \"icd9_2\": \"\",\n      \"failed_med_0\": \"\",\n      \"failed_med_1\": \"\",\n      \"failed_med_2\": \"\",\n      \"failed_med_3\": \"\",\n      \"failed_med_4\": \"\",\n      \"failed_med_5\": \"\",\n      \"failed_med_6\": \"\",\n      \"failed_med_7\": \"\",\n      \"failed_med_8\": \"\",\n      \"failed_med_9\": \"\"\n    }\n  }\n}\n"

Instance Method Summary collapse

Methods included from HostAndPath

included

Instance Method Details

#archive_request(request_id, token_id, archive_params = {}, version = "1") ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/cover_my_meds/client/requests.rb', line 44

def archive_request request_id, token_id, archive_params = {}, version = "1"
  params = { token_id: token_id, v: version }

  data = requests_request POST, params: params, path: "#{request_id}/archive", auth: :bearer do
    archive_params
  end

  Hashie::Mash.new data['request']
end

#create_request(request_data, version = CURRENT_VERSION) ⇒ Object



21
22
23
24
25
26
# File 'lib/cover_my_meds/client/requests.rb', line 21

def create_request request_data,version = CURRENT_VERSION
  data = requests_request POST, params: { v: version } do
    { 'request' => request_data.to_hash }
  end
  Hashie::Mash.new(data['request'])
end

#get_request(token_id, version = CURRENT_VERSION) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/cover_my_meds/client/requests.rb', line 7

def get_request token_id, version = CURRENT_VERSION
  params = { v: version }
  data = requests_request POST, params: params, path: "search/" do
    "token_ids[]=#{token_id}"
  end
  Hashie::Mash.new(data['requests'].first)
end

#get_requests(token_ids, version = CURRENT_VERSION) ⇒ Object



15
16
17
18
19
# File 'lib/cover_my_meds/client/requests.rb', line 15

def get_requests token_ids, version = CURRENT_VERSION
  params = { 'token_ids' => token_ids, v: version }
  data = requests_request POST, params: params, path: "search/"
  data['requests'].map { |d| Hashie::Mash.new(d) }
end

#request_dataObject



54
55
56
57
# File 'lib/cover_my_meds/client/requests.rb', line 54

def request_data
  hash = JSON.parse @@json_string
  Hashie::Mash.new hash['request']
end

#send_to_plan_request(request_id, token_id, fax_params = {}, version = "1") ⇒ Object

Raises:

  • (ArgumentError)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/cover_my_meds/client/requests.rb', line 28

def send_to_plan_request request_id, token_id, fax_params = {}, version = "1"
  params = { token_id: token_id, v: version }

  error_msg = ""
  [ :office_fax, :from_fax ].each do |param|
    error_msg = "#{param} is required. " unless fax_params[param]
  end
  raise ArgumentError.new(error_msg) unless error_msg == ""

  data = requests_request POST, params: params, path: "#{request_id}/send_to_plan", auth: :bearer do
    fax_params
  end

  Hashie::Mash.new data['request']
end