In a large saucepan over medium heat, warm the olive oil.
Add the black beans, mixed vegetables, corn, broccoli, carrot juice, broth, soup, cilantro, and chili powder.
Bring to a boil and simmer on low for 30 minutes.
Stir in fresh tomatoes and heat through.
In a blender or food processor, puree 2 cups of the soup, then return the mixture to the pan.
Add the ham and simmer over medium heat until the ham is heated through, about 5 minutes.
Season with salt and pepper.
Ladle the soup into warmed bowls.
Serve topped with avocado and sour cream.