# Improve Person Attribute Types

**URL:** https://talk.openmrs.org/t/improve-person-attribute-types/5617
**Category:** Development
**Created:** [April 2, 2016, 6:41pm UTC](https://talk.openmrs.org/t/improve-person-attribute-types/5617 "2016-04-02T18:41:07Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![ttcphilips](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ttcphilips/32/1657_2.png) [@ttcphilips](https://talk.openmrs.org/u/ttcphilips)
#### Post date: [April 2, 2016, 6:41pm UTC](https://talk.openmrs.org/t/improve-person-attribute-types/5617/1 "2016-04-02T18:41:07Z")

</div>

I am working on [TRUNK-2134](https://issues.openmrs.org/browse/TRUNK-2134), [TRUNK-4231](https://issues.openmrs.org/browse/TRUNK-4231) which will introduce a set of `AttributeTypeHandlers` to handle different attribute types as proposed [here](https://wiki.openmrs.org/display/projects/Improved+Person+Attribute+Types). Few things to clarify in that document. 🙂

1. Since we have to have support settings like, input mask, list of possible options, `isSingledValue`, `isUnique` etc. AFAIU, an abstract class is most suitable for `AttributeTypeHandler` rather than an interface. Or the best option would be to have it as an interface but have to implement in an abstract `AttributeTypeHandlerImpl` with above properties and extend that `AttributeTypeHandlerImpl` for other handlers like `PersonAttributeHandler`. Shown below.

 ![](https://talk.openmrs.org/uploads/default/original/2X/0/00b823f524a165577326b0ba07849d099c707650.png)

2.How to define the list of possible options? I mean should it be extensible? Should we provide a facility to add more possible options for admins?

Any thoughts on this are highly appreciated.
