In specs, in document:
It is like this:
revision_history = <
["1.57"] = <
committer = <"Miriam Hanoosh">
committer_organisation = <"AIHW.org.au">
time_committed = <2004-11-02 09:31:04+1000>
revision = <"1.2">
reason = <"Added social history section">
change_type = <"Modification">
This looks like an AuditDetails, but it is not. It has some different attributes, and some attributes do not accurate represent the expected type.
For example: Change_type is a string, but it should be a DvCodedtext
Committer is a string but should be a type of PartyProxy and committe_organisation does not exist in AuditDetails
Bert you are right, it's not a correct structure to represent a REVISION_HISTORY. As far as I know, noone has ever implemented this - are you intending to? We could do two things:
correct it to look like a REVISION_HISTORY as per the Common IM
add a class definition of a simpler REVISION_HISTORY that is used by ADL.
remove it entirely, on the basis that any serious archetypes are versioned by modern versioning systems, either CKM, Git or similar.
I think the last option is best, it is not necessary for the archetype itself to keep track of revision history, it is as is, and changes should be indicated in the versioning part of the archetype_id, thus a changed archetype should exist besides the previous versions, which may be still in use (forever, because data are stored according).
In this way the archetype-modeler is not responsible for the use of the previous versions of archetypes, and does not need to know about that.
I am writing software that deals with archetypes, so I want to be sure I can handle all kind of constructs, that is how I found out. So I am glad you are considering to remove the revision-history from the specs, before it will be usedso it cannot anymore be removed.
I am a bit unsure of the status of this.
From the Amendment Record at https://specifications.openehr.org/releases/BASE/latest/resource.html / https://specifications.openehr.org/releases/BASE/Release-1.1.0/resource.html the revision history appears to be half removed for 1.1.0, but without a real CR.
If you look further down in the document, you find quite a few references to the revision_history though, e.g. https://specifications.openehr.org/releases/BASE/Release-1.1.0/resource.html#_revision_history
Also, it seems that the is_controlled property doesn’t make a lot of sense, at least not with the description it has. Similar for the current_revision function, the current_revision_valid and revision_history_valid invariants.