Documentation on core editing and workflow features of the tool.
This tool is primarily for the creation, maintenance, and release of reference sets (or local sets) and translations. The tool uses a workflow extension point to support the movement of refsets and translation concepts through "available" and "assigned" states for authors and reviewers and eventually to a "ready for publication" state where it can be subjected to the Release Process.
Refsets and concept translations are tracked through the workflow with a "workflow status" that represents a state in a workflow state transition diagram. There are "workflow actions" that support changes in underlying workflow status and they are supported for certain combinations of roles. Typically the "ADMIN" role is for seeing the state of work and force-unassigning work from users no longer participating but whom have work assigned to them.
The application defines four roles that can be used
- AUTHOR (for initial authoring of refset members or translation concepts)
- REVIEW (for review of author's work).
- REVIEW2 (for secondary review following the IHTSDO translation workflow
- ADMIN (for administation tasks)
The tool uses a configurable workflow handler to determine how state transitions happen in workflow in response to different events. As much as possible, the application has attempted to generalize workflow interactions between client and server to allow the workflow handler to complete define what capabilities are available at what time and by which roles.
Implementations of the handler implement the following capabilities
- Find "available" work (for a user and a role) - either "refsets" or "translation concepts"
- Find "assigned" work (for a user and a role) - either "refsets" or "translation concepts"
- Find the available "roles" supported by this workflow (e.g. is REVIEW2 needed?)
- Get a "workflow config" object that defines what functions are allowed under certain circumstances and the roles that certain actions are to be performed with given the current state of a refset or concept. This allows the user interface to be freed from any business logic related to workflow
- Perform an actual workflow action (like ASSIGN, UNASSIGN, FINISH, etc.)
- Validate a workflow action - prior to performing it, ensures conditions are such the action is allowed- and fires friendly error messages if not.
The user interface leverages the WorkflowConfig object in conjunction with the user's role to determine if and when an workflow action icon should appear and what happens upon clicking it. This allows a near-complete abstraction of workflow operations to the backend.
Workflow actions appear in the user interface when a user has a role on a particular project that allows for participating in the workflow. Typically, this means having an "AUTHOR", "REVIEWER", or "REVIEWER2" role while using the "Refset" or "Translation" tabs. The section below shows the icons used in the user interface to drive workflow actions.
The default workflow implementation makes use of these roles:
It supports the following workflow actions:
() ASSIGN - for assigning a worklist to an AUTHOR or REVIEWER
() UNASSIGN - for returning an assigned worklist to the prior state (allowing a differnt user to assign it)
(n/a) SAVE - a non-advancement action in a typical workflow that indicates that authoring or review is "in progress". No icon, this happens automatically.
() FINISH - an indication that authoring or review work is completed and an item is ready to move to a different user.
() PREPARE_FOR_PUBLICATION - an action to mark a refset or translation concept as completely authored and reviewed - at this point it is ready to be released.
(n/a) CANCEL - a non-operation in the worfklow
() FEEDBACK - for assigning work back to a previous AUTHOR or REVIEWER in the workflow graph (e.g. for follow-up review).
The available workflow status values are:
NEW - indicating a brand new refset or translation concept to work on
EDITING_IN_PROGRESS - Indicates that authoring stage of the workflow is in progress and changes have been saved.
- EDITING_DONE - Indicates that the authoring stage of the workflow is complete.
- REVIEW_NEW - Indicates that a refset or translation concept is completely authored and ready for review.
- REVIEW_IN_PROGRESS - Indicates that the review stage of the workflow is complete.
- REVIEW_DONE - Indicates that the review stage of the workflow is complete.
- READY_FOR_PUBLICATION - Indicates that all editing is complete.
These two workflow status values are used by the release process to separate a "ready for release" refset or translation from a copy representing a fixed beta or final published state.
- BETA - For a refset or translation, indicates that this copy represents a beta release state.
- PUBLISHED - For a refset or translation, indicates that this copy represents a final release state.
Snomed Translation Workflow
The IHTSDO translation workflow exists to support a predefined workflow for translation concept editing. For the most part, it is identical to the default workflow except that it supports a secondary review (by the REVIEW2 role) and so the state transition diagram is a little different