Emrapi stores diagnosis internally as obs group with actual diagnoses, order and certainty as group members. The UI which we use in Bahmni:
Behaviour before Openmrs 2.0: Whenever we edit some properties of diagnosis like order or certainty in the same encounter as which it is created, we just void and recreate the obs of that property. For example: When we change certainty of the diagnosis, we void the certainty of the diagnosis and recreate it. And the date in which it is edited is set as obsdatetime of top level obs. Whereas when we edit the diagnosis in different encounter, we recreate a new hierarchy of the diagnosis but not void the old hierarchy since the diagnosis was correct for that timeframe.
Behaviour since Openmrs 2.0: Since 2.0, whenever we edit the diagnosis in the same encounter, the whole obs hierarchy is recreated since obsdatetime is changed in the top level obs (the parent obs becomes dirty and whole hierarchy is recreated).
Wanted to bring up this topic here to hear some thoughts on the behaviour, whether the change is acceptable?