public VaccineManufacturerBatchVoCollection listBatchVaccine(
      String batchNumber, VaccineLiteVo vaccine) throws DomainInterfaceException {
    if (batchNumber == null)
      throw new DomainInterfaceException(
          "Can not search for batch vaccines after an empty batch number");

    if (vaccine == null)
      throw new DomainInterfaceException(
          "Can not search for batch vaccines with no selected vaccine");

    DomainFactory factory = getDomainFactory();

    String query =
        "from VaccineManufacturerBatch as vmb where vmb.vaccine.id = :ID and UPPER(vmb.batchNumber) like :BATCHNUMBER and vmb.status.id = -617";
    ArrayList<String> markers = new ArrayList<String>();
    markers.add("ID");
    markers.add("BATCHNUMBER");
    ArrayList<Object> values = new ArrayList<Object>();
    values.add(vaccine.getID_Vaccine());
    values.add("%" + batchNumber.toUpperCase() + "%");

    return VaccineManufacturerBatchVoAssembler
        .createVaccineManufacturerBatchVoCollectionFromVaccineManufacturerBatch(
            factory.find(query, markers, values));
  }
  public VaccineManufacturerBatchVo getBatchVaccine(String batchName)
      throws DomainInterfaceException {
    if (batchName == null) return null;

    DomainFactory factory = getDomainFactory();

    String query =
        "from VaccineManufacturerBatch as vmb where UPPER(vmb.batchNumber) = :BATCHNUMBER";
    ArrayList<String> markers = new ArrayList<String>();
    markers.add("BATCHNUMBER");
    ArrayList<Object> values = new ArrayList<Object>();
    values.add(batchName.toUpperCase());

    List results = factory.find(query, markers, values);

    if (results == null || results.size() == 0) return null;

    return VaccineManufacturerBatchVoAssembler.create((VaccineManufacturerBatch) (results.get(0)));
  }