Implement ConditionService.saveCondition to add a new condition.
1. Presumed Angina
2. Confirmed Tuberculosis
3. History of Tobacco Addiction
1. Introduce "Edit Conditions" privilege and ensure the privilege for saving a new condition.
2. Introduce ConditionDAO.saveCondition
3. Validate that required fields are populated. Note: if coded value is "OTHER, NON-CODED", then the non-coded value is required.
4. Ensure that there are not any duplicate conditions. Any given coded condition can have only one active entry at a time – i.e., any conditions that have not ended cannot have duplicate entries. Extra credit: prevent duplicate of "OTHER, NON-CODED" where the non-coded value is not a duplicate of another (case insensitive, whitespace ignored).