Skip to content

Instantly share code, notes, and snippets.

@mikeymckay
Forked from jeffrafter/gist:16980
Created October 15, 2008 19:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikeymckay/16982 to your computer and use it in GitHub Desktop.
Save mikeymckay/16982 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
require 'fastercsv'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
def prescribe_drug(patient, drug, dose, frequency, encounter, date = nil)
encounter ||= patient.encounters.create(:encounter_datetime => date, :encounter_type => EncounterType.find_by_type("ART Visit").encounter_type_id)
encounter.observations.create(:value_drug => drug.drug_id, :value_text => frequency, :value_numeric => dose, :concept_id => Concept.find_by_name("Prescribed Dose").concept_id, :obs_datetime => encounter.encounter_datetime)
encounter
end
def dispense_drugs(patient, date, drugs)
encounter = patient.encounters.create(:encounter_datetime => date, :encounter_type => EncounterType.find_by_type("Give Drugs").encounter_type_id)
drugs.each{|hash|
order = encounter.orders.create(:order_type_id => 1)
drug_order = order.drug_orders.create(:drug_inventory_id => hash[:drug].drug_id, :quantity => hash[:quantity])
}
encounter
end
def read(filename)
FasterCSV.foreach(File.dirname(__FILE__) + "/../" + file_name) do |row|
create_patient(row)
prescribe_drugs...
dispense_drugs...
end
end
puts "Creating old Patients"
read("b0nds_csv.csv")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment