#!/usr/bin/env ruby require 'bundler/inline' gemfile do source 'https://rubygems.org' gem 'pg' end connection = PG.connect( dbname: ENV.fetch('PGDBNAME', 'postgres'), host: ENV.fetch('PGHOST', Pathname.pwd.join('tmp/sockets')) ) print "Patient Number: " sql = <<~SQL SELECT p.name AS p_name, c.name as c_name, n.name as n_name FROM Patients p INNER JOIN Care_centres c ON c.cid = p.care_centre_id INNER JOIN Nurses n ON n.nid = c.nurse_charge_id WHERE pid = $1; SQL patient_id = gets.to_i connection.exec_params(sql, [patient_id]) do |result| result.each do |row| puts "Patient Name: #{row['p_name']}" puts "Care Centre Name: #{row['c_name']}" puts "Name of Nurse-in-Charge: #{row['n_name']}" end end puts "Treatment ID | Treatment Name | Physician ID | Date" connection.exec_params("SELECT * FROM Treatments WHERE patient_id = $1;", [patient_id]) do |treatments| treatments.each do |x| puts [x['tid'].ljust(12), x['treatment_name'].ljust(14), x['physician_id'].ljust(12), x['date']].join(' | ') end end