I see the need for introducing an association between DataElement and PeriodType in the DHIS 2 data model. Currently you can look up the PeriodType of the DataSet of which the DataElement is a member, but this is not enforced as a DataElement can be a member of many DataSets. The need is based on a few new requirements:
Sierra Leone: Regression analysis where missing values are left out of the aggregated indicator value. In order to define a missing value for a data element, we need to know the PeriodType of the Periods to look for.
South Africa: Gap analysis. In order to define a gap, we need to know the PeriodType of the Periods to look for.
South Africa: Alignment of the DHIS 2 and DHIS 1.4 data model which is necessary for migration and data dictionary use.
India: Aggregated data export. We must know the PeriodType of the Periods that should be used to aggregate data for each DataElement in order to avoid duplication of data on higher levels.
General: Improved performance in datamart as you can reduce the number of crosstabulated Periods.
The downside of this is that all current DHIS 2 databases must be updated by assigning a PeriodType to each DataElement. Also this will affect places where data is captured with different frequencies for the same DataElement (this might be considered a bad practise anyway).
As an intermediate step we could disable this functionality for databases where DataElements registered for DataSets with different PeriodTypes exist.
I would prefer introducing this association. Please comment on this.