class Resources::AssessmentRequest

Public Instance Methods

create() click to toggle source
# File lib/pvdgm-svc-client/resources/assessment_request.rb, line 28
def create
  tp_id = third_party_id
  sd_id = service_definition_id
  ca_id = configured_account_id
  provider_id = sltc_provider_id
  uploaded_after = prompter.ask("\nStart date for the requested assessments (YYYY-MM-DD(THH:MM:SS)?): ") { |q| q.validate = lambda { |a| is_valid_date?(a) }; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nInvalid date" }
  uploaded_before = prompter.ask("\nEnd date for the requested assessments (YYYY-MM-DD(THH:MM:SS)?): ") { |q| q.validate = lambda { |a| is_valid_date?(a) }; q.responses[:ask_on_error] = :question; q.responses[:not_valid] = "\nInvalid date" }

  result = post("services/assessment_requests",
                { configured_account_id: ca_id,
                  provider_id: provider_id,
                  uploaded_after: uploaded_after,
                  uploaded_before: uploaded_before })

  list
end
list() click to toggle source
# File lib/pvdgm-svc-client/resources/assessment_request.rb, line 9
def list
  provider_id = sltc_provider_id(true)
  result = get("services/assessment_requests?provider_id=#{provider_id}#{status_prompt}")
  puts "\nSLTC Assessment Requests:"
  table = Terminal::Table.new headings: [ 'Provider ID', 'Request ID', 'From', 'To', 'Status', 'Created', 'Updated' ] do |t|
    result.each do | assessment_request |
      t << [ assessment_request['facility_code'],
             assessment_request['request_id'],
             assessment_request['pull_from'],
             assessment_request['pull_to'],
             assessment_request['status'],
             assessment_request['created_at'],
             assessment_request['updated_at'] ]
    end
  end
  prompter.say table.to_s
  puts
end

Private Instance Methods

status_prompt() click to toggle source
# File lib/pvdgm-svc-client/resources/assessment_request.rb, line 47
def status_prompt
  puts
  status = prompter.choose do | menu |
    menu.prompt = "Select the status to filter the results with: "
    menu.choice("Do not filter by status") { -1 }
    menu.choice("Available") { 0x00 }
    menu.choice("Downloaded") { 0x01 }
    menu.choice("Empty") { 0x02 }
    menu.choice("Error") { 0x03 }
    menu.choice("Not Downloaded") { 0x11 }
  end
  status < 0 ? "" : "&status=#{status}"
end