DeIDClinic: A Multi-Layered Framework for De-identification of Clinical Free-text Data