A medication dispensing device , comprising: an identification sensor configured to read a plurality of codes, each code associated with one of a plurality of medication packages, each medication package housing one of a plurality of different medications; a feeder module configured to receive the plurality of different medications; a singulating module configured to sort the plurality of different medications into discrete doses; a dispensing module configured to dispense the discrete doses; and a processor configured to: determine a medication associated with each medication package based on the code associated with each medication package; receive or determine medication prescription information associated with each determined medication; determine one or more doses and, for each dose, a time at which to be taken for each determined medication based on the medication prescription information; determine a schedule for dispensing discrete doses of the determined medications based on, for each determined medication, the determined doses and, for each dose, the determined time at which to be taken; and activate the dispensing module to dispense the discrete doses of the medication at the determined time at which each dose is to be taken. an identification sensor configured to read a plurality of codes, each code associated with one of a plurality of medication packages, each medication package housing one of a plurality of different medications; a feeder module configured to receive the plurality of different medications; a singulating module configured to sort the plurality of different medications into discrete doses; a dispensing module configured to dispense the discrete doses; and a processor configured to: determine a medication associated with each medication package based on the code associated with each medication package; receive or determine medication prescription information associated with each determined medication; determine one or more doses and, for each dose, a time at which to be taken for each determined medication based on the medication prescription information; determine a schedule for dispensing discrete doses of the determined medications based on, for each determined medication, the determined doses and, for each dose, the determined time at which to be taken; and activate the dispensing module to dispense the discrete doses of the medication at the determined time at which each dose is to be taken. determine a medication associated with each medication package based on the code associated with each medication package; receive or determine medication prescription information associated with each determined medication; determine one or more doses and, for each dose, a time at which to be taken for each determined medication based on the medication prescription information; determine a schedule for dispensing discrete doses of the determined medications based on, for each determined medication, the determined doses and, for each dose, the determined time at which to be taken; and activate the dispensing module to dispense the discrete doses of the medication at the determined time at which each dose is to be taken. <EOS>