Program program = pws.getProgram(programId);
pp.setProgram(pws.getProgram(programId));
final ProgramWorkflow wf = program.getWorkflow(100);
final Date initialEnrollmentDate = new Date();
pp.setDateEnrolled(initialEnrollmentDate);
pp.transitionToState(wf.getState(200), initialEnrollmentDate);
pws.savePatientProgram(pp);
final ProgramWorkflowState originalState = pp.getCurrentState(wf).getState();
final Integer patientProgramId = pp.getId();
final Date completionDate = pp.getDateCompleted();