Module: CoverMyMeds::Requests

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

Constant Summary collapse

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

Instance Method Summary collapse

Methods included from HostAndPath

included

Instance Method Details

#create_request(request_data, version = CURRENT_VERSION) ⇒ Object



21
22
23
24
25
26
# File 'lib/covermymeds_api/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/covermymeds_api/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/covermymeds_api/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



28
29
30
31
# File 'lib/covermymeds_api/client/requests.rb', line 28

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