Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Revision-controlled collaborative
terminology authoring
IHTSDO Showcase
2014.10.30 - Amsterdam
Mark Czotter
Balazs Banfai,...
Our approach
• Real-time collaborative authoring support
– Not an afterthought, the repository IS the store
• Workflow sup...
Collaborative authoring
• Multiple authors can work simultaneously on their
tasks in their dedicated and isolated ‘sandbox...
Workflow support
• External, managed by an issue tracking system
– Loosely integrated with ‘hooks’
– Bugzilla, JIRA, etc.
...
Revision control features
• Terminology repository
– Each terminology has a dedicated repository
– Each commit becomes a r...
Revisions on a branch
MAIN branch
Each commit is
stored as a revision
The last commit
point on the branch
is referred to a...
Tasks
MAIN branch
Work associated
with a task is always
committed to a
dedicated branch
Task branch
A B
B2
B1
Isolation
MAIN branch
A C
Task branch
Terminologists working on the MAIN
(head) can see changes by: A, B and C
but cannot ...
Promoting
MAIN branch
If deemed worthy,
content of the task
branch can be
promoted to MAIN
Task 1
Synchronizing tasks with MAIN
MAIN branch
A C
Task 1Commit C can be relevant to the work on
Task 1, the content on Task 1 ...
Typical scenario
MAIN branch
A C
Task 1
B
B2
B1
Task 2
C1
E
Task 3
D
C1.1
Versions
MAIN branch
Task ‘Patch’
Version branch
v1
Task
Management
Content
authoring
Task created for
1A&1R scenario
Review
Authoring completed
Task is set to Resolved
Admin...
Content
promotion
Task
Management
Content
authoring
Tasks are created for
2A&2R DIA scenario
Final
Review
Admin
Author
Rev...
Demo
• Create Task (Single author, single reviewer authoring)
• Create new child Concept under Tetralogy of Fallot
– Chang...
Demo cont.
• Version content
– version: Showcase_Version
• Compare with previous SNOMED CT version
Questions?
Revision control
Workflow
Versioning and Compare
Revision control technologies
SVN Git CDO
+ Checkout subtrees + Small and Fast + Modeling, less
development
+ Locking + Di...
Task N Task 1
National
Extension -
20140131
Complex branchingInternational
20140131
20140731
National
Extension -
20140731...
Upcoming SlideShare
Loading in …5
×

Revision-controlled collaborative terminology authoring

1,747 views

Published on

The concepts of collaborative development aided by revision control systems have been well known in the software industry for decades. Some of these systems have been adopted in terminology authoring tools like the IHTSDO Workbench to support collaborative authoring workflows.

This talk discusses implementation challenges and lessons learned when applying collaborative development techniques to terminology authoring. Representative terminology authoring use cases from the Singaporean, Australian, and Canadian National Release Centers will be discussed in terms of their impact on revisioning requirements. A concrete scenario for SNOMED CT will be demonstrated including examples for versioning, comparing versions and patching an older version. The scenario will be driven through a representative collaborative workflow. Useful open-source components will be discussed along with practical experiences in integrating them with Snow Owl, a commercial terminology authoring application. Revision control features including change history, comparison, versioning and patching of the terminologies will be discussed and compared to alternate approaches. The impact of workflow to drive the process will be illustrated using the tool. Optimizations and performance challenges will also be briefly covered.

Please see our website http://b2i.sg for further information.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Revision-controlled collaborative terminology authoring

  1. 1. Revision-controlled collaborative terminology authoring IHTSDO Showcase 2014.10.30 - Amsterdam Mark Czotter Balazs Banfai, Ph.D.
  2. 2. Our approach • Real-time collaborative authoring support – Not an afterthought, the repository IS the store • Workflow support – Externalized therefore replaceable • Cover the entire domain of healthcare terminology development – All terminologies and all terminology components • Including local terminologies, value domains and mapping sets – Information models and terminology bindings • Modular and extensible – Capabilities are readily available for extensions • Multiple deployment modes – Stand-alone, thick client-server, thin client-server via REST
  3. 3. Collaborative authoring • Multiple authors can work simultaneously on their tasks in their dedicated and isolated ‘sandboxes’ • Completed work can be promoted to main repository • Sandboxes can be synchronized to reflect relevant changes in the main repository • Potential conflicts are handled • Authors receive notification about relevant changes immediately
  4. 4. Workflow support • External, managed by an issue tracking system – Loosely integrated with ‘hooks’ – Bugzilla, JIRA, etc. • Terminology authoring is only a part of the overall enterprise workflow
  5. 5. Revision control features • Terminology repository – Each terminology has a dedicated repository – Each commit becomes a revision • Revision history is maintained • Changes between two revisions can be compared • Commits can be reverted – Supports branching (patch), merging, versioning
  6. 6. Revisions on a branch MAIN branch Each commit is stored as a revision The last commit point on the branch is referred to as head A CB D
  7. 7. Tasks MAIN branch Work associated with a task is always committed to a dedicated branch Task branch A B B2 B1
  8. 8. Isolation MAIN branch A C Task branch Terminologists working on the MAIN (head) can see changes by: A, B and C but cannot see B1 and B2. B B2 B1 Terminologists working on Task 1 (head) can see changes introduced by commits: B2, B1, B and A but cannot see C.
  9. 9. Promoting MAIN branch If deemed worthy, content of the task branch can be promoted to MAIN Task 1
  10. 10. Synchronizing tasks with MAIN MAIN branch A C Task 1Commit C can be relevant to the work on Task 1, the content on Task 1 should be synchronized with MAIN. B B2 B1 After synchronization commit C is visible on Task 1 and the content on Task 1 can be promoted to MAIN. D
  11. 11. Typical scenario MAIN branch A C Task 1 B B2 B1 Task 2 C1 E Task 3 D C1.1
  12. 12. Versions MAIN branch Task ‘Patch’ Version branch v1
  13. 13. Task Management Content authoring Task created for 1A&1R scenario Review Authoring completed Task is set to Resolved Admin Author Reviewer Reviewer accepted changes Task is set to Verified Reviewer rejected changes Task is set to Reopened Single author and single reviewer Content promotion Content is promoted to MAIN repository Task is set to Closed
  14. 14. Content promotion Task Management Content authoring Tasks are created for 2A&2R DIA scenario Final Review Admin Author Reviewer Final review completed Task is set to Verified Dual author and dual reviewers Dual independent authoring Content is promoted to MAIN repository Task is set to Closed Content authoring Adjudicator Review Review Reviews completed Final review completed Tasks are set to Reopened Authoring completed Tasks are set to Resolved Changes rejected Task is set to Reopened Changes rejected Task is set to Reopened
  15. 15. Demo • Create Task (Single author, single reviewer authoring) • Create new child Concept under Tetralogy of Fallot – Change to MAIN to show that concept is not there – Change to Task to show that concept is there • Review Concept • Show history view • Show commit info
  16. 16. Demo cont. • Version content – version: Showcase_Version • Compare with previous SNOMED CT version
  17. 17. Questions?
  18. 18. Revision control
  19. 19. Workflow
  20. 20. Versioning and Compare
  21. 21. Revision control technologies SVN Git CDO + Checkout subtrees + Small and Fast + Modeling, less development + Locking + Distributed + Branching - Branching is hard + Branching is easy + Locking - Text based - Text based - Migration is hard
  22. 22. Task N Task 1 National Extension - 20140131 Complex branchingInternational 20140131 20140731 National Extension - 20140731 Migration NRCs use version to create their extension NRCs migrate their extension when new version is out

×