Skip to content

history records

NCIEVS edited this page Dec 3, 2016 · 9 revisions

History Record Generation

(This information will be updated as nci-protege5 development proceeds.)

Editing history is recorded independently of other mechanisms directly supported by the Protege Stanford distribution (e.g ChaO in Protege 3.x, changeset commits in Protege 5.x).

All edits done on the vocabulary are recorded in an audit log in the database (evs_history). The data recorded includes the username, type of edit, date and time of edit, and reference concepts. During monthly/weekly conflict resolution operations (e.g. with Prompt in Protege 3.x) a subset of the information above is written to concept_history and is published on a monthly basis.

The fields in concept_history are conceptcode|editaction|editdate|referencecode.

  • conceptcode is the unique, permanent, alphanumeric identifier of the concept
  • editaction is the activity being recorded (create, modify, split, merge, retire)
  • editdate is the date the activity occurred
  • referencecode is the identifier for a concept affected by or influencing the action, as detailed below

The record for create and modify actions will just be a single line and will look like this:

C#####|create|dd-mon-yy|(null)

C#####|modify|dd-mon-yy|(null)

Special Edits

In the particular cases of Split, Merge and Retirement there are multiple rows written with reference codes included.

Splits

In a split, a single concept is split into two. The original concept survives and a new concept is generated. Two split records are written for the original concept with reference codes for the resulting concepts and a create history record is written for the new concept. In the case of C11111 being split into C11111 and C22222 the history will appear in concept_history as follows:

C22222|create|dd-mon-yy|(null)
C11111|split|dd-mon-yy|C22222
C11111|split|dd-mon-yy|C11111

Retirements

In a retirement the concept is moved from its old location in the tree hierarchy into the Retired_Kind. A retire record is written for the retiring concept with a reference code of the old superconcept. If a concept has multiple superconcepts, then a retire record is written for each reference. In the case of retiring concept C11111 which has two superconcepts (C22222 and C33333), the concept_history will appear as follows:

C11111|retire|dd-mon-yy|C22222
C11111|retire|dd-mon-yy|C33333

Merges

In a merge, two concepts are merged into one. One of the two concepts survives and the other concept is retired. A merge history record is written for both of the concepts with a reference code of the surviving concept and a retire record is written for the concept that retires. In the case of C11111 merging with C22222 and C11111 surviving, the history will appear in concept_history as follows:

C11111|merge|dd-mon-yy|C11111
C22222|merge|dd-mon-yy|C11111
C22222|retire|dd-mon-yy|(null)