Class: ChangeHealth::Request::Claim::Submission

Inherits:
Hashie::Trash
  • Object
show all
Defined in:
lib/change_health/request/submission.rb

Constant Summary collapse

ENDPOINT =
'/medicalnetwork/professionalclaims/v3'.freeze
HEALTH_CHECK_ENDPOINT =
ENDPOINT + '/healthcheck'.freeze
SUBMISSION_ENDPOINT =
ENDPOINT + '/submission'.freeze
VALIDATION_ENDPOINT =
ENDPOINT + '/validation'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.health_checkObject



35
36
37
# File 'lib/change_health/request/submission.rb', line 35

def self.health_check
  ChangeHealth::Connection.new.request(endpoint: HEALTH_CHECK_ENDPOINT, verb: :get)
end

.pingObject



39
40
41
# File 'lib/change_health/request/submission.rb', line 39

def self.ping
  self.health_check
end

Instance Method Details

#add_provider(provider) ⇒ Object



22
23
24
25
# File 'lib/change_health/request/submission.rb', line 22

def add_provider(provider)
  self[:providers] ||= []
  self[:providers] << provider
end

#professional_headersObject



43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/change_health/request/submission.rb', line 43

def professional_headers
  if self[:headers]
    extra_headers = {}
    extra_headers["X-CHC-ClaimSubmission-SubmitterId"] = self[:headers][:submitter_id]
    extra_headers["X-CHC-ClaimSubmission-BillerId"] = self[:headers][:biller_id]
    extra_headers["X-CHC-ClaimSubmission-Username"] = self[:headers][:username]
    extra_headers["X-CHC-ClaimSubmission-Pwd"] = self[:headers][:password]
    extra_headers
  else
    nil
  end
end

#submissionObject



27
28
29
# File 'lib/change_health/request/submission.rb', line 27

def submission
  ChangeHealth::Response::Claim::SubmissionData.new(response: ChangeHealth::Connection.new.request(endpoint: SUBMISSION_ENDPOINT, body: self.to_h, headers: professional_headers))
end

#validationObject



31
32
33
# File 'lib/change_health/request/submission.rb', line 31

def validation
  ChangeHealth::Response::Claim::SubmissionData.new(response: ChangeHealth::Connection.new.request(endpoint: VALIDATION_ENDPOINT, body: self.to_h, headers: professional_headers))
end