@Override
  @Transactional
  public com.servinglynk.hmis.warehouse.core.model.Enrollment createEnrollment(
      com.servinglynk.hmis.warehouse.core.model.Enrollment enrollment,
      UUID clientId,
      String caller) {
    com.servinglynk.hmis.warehouse.model.v2014.Client pClient =
        daoFactory.getClientDao().getClientById(clientId);
    if (pClient == null) throw new ClientNotFoundException();

    com.servinglynk.hmis.warehouse.model.v2014.Enrollment pEnrollment =
        EnrollmentConveter.modelToEntity(enrollment, null);
    pEnrollment.setClient(pClient);
    // pEnrollment.setUser(daoFactory.getHmisUserDao().findByUsername(caller));
    pEnrollment.setDateCreated(
        (new Date()).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
    daoFactory.getEnrollmentDao().createEnrollment(pEnrollment);

    enrollment.setEnrollmentId(pEnrollment.getId());
    return enrollment;
  }