AUDIT_DETAILS.change_type is mandatory, but CONTRIBUTION.audit: AUDIT_DETAILS doesn't have a change_type.
1. allow AUDIT_DETAILS.change_type to be empty/null OR
2. create a super class just with system_id, committer, time and time_committed, and a subclass with the mandatory change_type
The intention of change type on Contribution is to indicate whether the overall change is logically an 'addition', 'update' versus 'error correction', even if there are multiple Compositions in each case.
It would be useful to know how this is being used in the various implementations.
IMO that is not clear on the specs, maybe needs clarification.
In my case the commits are for "clinical sessions" from individual composers, e.g. all the compositions created in an encounter will be part of the same contribution.
The change type is specified per each committed version of a compo. For me doesn't make much sense to have an aggregated change_type on the contribution since if something is deleted, amendments and creates happen on the same contribution, it is not clear what is the final contribution.change_type.
I still don't see the issue. I agree with Thomas, this is the way we are also using it.
My question is: what is the criteria to define what the "overall" change type is?
If all the change types of versions are equal, is that, but if there are mixed creations, updates and deletions?
IMO that should be specified.
Well the original intention is that the change type of a Contribution reflects the logical change that is being done, even if that change contains some deletions, additions, or updates. So the overall change will usually be to:
add something completely new, e.g. add a new event
update something, e.g. update problem list
amend something, e.g. correct spelling of patient name
Some Contributions will be a combination of e.g. add an event note + update care plan. I would see this as a 'change' to the EHR. It's different from a 'amendment' which is an error correction, or a logical deletion of content.