Combine water and cashews in a bowl and let soak for an hour. Once soaked, pour both cashews and water into a blender or food processor and blend until smooth. Pour mixture through a sieve and discard cashew pulp. Set cashew milk aside.
Heat ghee in a large stockpot over medium-high heat until melted. Add onion, carrots, and celery. Saute for 6-7 minutes, stirring frequently, until the onion is soft and translucent. Add in the garlic and mushrooms, and saute for an additional 2-3 minutes, stirring frequently, until the garlic is fragrant.
Stir in the coconut flour until it is completely combined, and saute for an additional 1 minute, stirring occasionally. Gradually add in the chicken stock and cashew milk, stirring frequently. Stir in the chicken, potatoes, asparagus, Italian seasoning, salt and pepper until combined.
Bring the mixture to a simmer (be careful not to bring it to a boil!), stirring occasionally. Then reduce heat to medium-low, and continue simmering the soup for 15-20 minutes until the potatoes are soft and cooked through.
Taste the soup and season with additional salt and pepper, if needed.
***If you are pressed for time you can use 1 1/2 cups approved cashew milk, almond milk or light coconut milk in place of the homemade cashew milk