A neurostimulation system, comprising: a programming control circuit configured to generate a plurality of stimulation parameters controlling delivery of neurostimulation pulses according to one or more neurostimulation programs each specifying a pattern of the neurostimulation pulses; and a user interface coupled to the programming control circuit and including a display screen, a user input device, and a neurostimulation program circuit coupled to the display screen and the user input device, the neurostimulation program circuit including a program creation module configured to create building blocks for the one or more neurostimulation programs and a program scheduling module configured to schedule delivery of the one or more neurostimulation programs, the program creation module including: a pulse train construction module configured to allow for construction of PTs using the display screen and the user input device, the PTs each including one or more pulse blocks (PBs) each including a plurality of pulses of the neurostimulation pulses; and a train grouping construction module configured to allow for construction of TGs using the display screen and the user input device, the TGs each including one or more PTs, the construction of TGs including receiving an order and a number of repetitions of the one or more PBs in each PT of the one or more PTs, the program scheduling module configured to allow for temporal arrangement of one or more TGs selected from the constructed TGs for each program of the one or more neurostimulation programs using the display screen and the user input device and to allow for scheduling of one or more delivery times for the each program using the display screen and the user input device. a programming control circuit configured to generate a plurality of stimulation parameters controlling delivery of neurostimulation pulses according to one or more neurostimulation programs each specifying a pattern of the neurostimulation pulses; and a user interface coupled to the programming control circuit and including a display screen, a user input device, and a neurostimulation program circuit coupled to the display screen and the user input device, the neurostimulation program circuit including a program creation module configured to create building blocks for the one or more neurostimulation programs and a program scheduling module configured to schedule delivery of the one or more neurostimulation programs, the program creation module including: a pulse train construction module configured to allow for construction of PTs using the display screen and the user input device, the PTs each including one or more pulse blocks (PBs) each including a plurality of pulses of the neurostimulation pulses; and a train grouping construction module configured to allow for construction of TGs using the display screen and the user input device, the TGs each including one or more PTs, the construction of TGs including receiving an order and a number of repetitions of the one or more PBs in each PT of the one or more PTs, a pulse train construction module configured to allow for construction of PTs using the display screen and the user input device, the PTs each including one or more pulse blocks (PBs) each including a plurality of pulses of the neurostimulation pulses; and a train grouping construction module configured to allow for construction of TGs using the display screen and the user input device, the TGs each including one or more PTs, the construction of TGs including receiving an order and a number of repetitions of the one or more PBs in each PT of the one or more PTs, the program scheduling module configured to allow for temporal arrangement of one or more TGs selected from the constructed TGs for each program of the one or more neurostimulation programs using the display screen and the user input device and to allow for scheduling of one or more delivery times for the each program using the display screen and the user input device.