refactoring and EditDiagnosisComponent implemented