Concept Proposal Module Requirements
Outdated
The project described here has not had any usable work done on it, largely because the use cases described are too complex.
We are going to try a simpler approach to building a Concept Proposal module, that can be successfully completed, and we can then iterate on further.
Functional Requirements
Actor Goal List
Actor | Goals | Priority |
---|---|---|
Data Manager (Eldoret) |
|
|
Data Manager (Indianapolis) |
| |
Use Cases ( Need review and Updating)
UC 01 Create Full Concept Proposal
UC 02 Create Concept Proposal during data entry
UC 03 View all Concept Proposals
UC 04 Receive Concept Proposal Notifications
UC 05 Take Action on Concept Proposals
UC 06 Edit and Re-submit Concept Proposal
Concept Proposal State Workflow
States
New
Not really a state; only exists in the browser before submitting a proposed concept
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
Actions:
save
sends to "In Progress"
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
submit
bypasses "In Progress" and sends directly to "In Review"
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
In Progress
Allows concept proposers to edit the proposal before submission
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
Actions:
publish
bypasses "In Review" and sends directly to "Published"
Privileges: Review Concept Proposals, Manage Concept Proposals
submit
sends to "In Review"
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
delete
sends to "Deleted" (removes from database)
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
In Review
Allows concept proposal reviewers to edit and approve or deny the proposal
Privileges: Review Concept Proposals, Manage Concept Proposals
Actions:
publish
sends to "Published"
Privileges: Review Concept Proposals, Manage Concept Proposals
deny
sends back to "In Progress"
Privileges: Review Concept Proposals, Manage Concept Proposals
delete
sends to "Deleted" (removes from database)
Privileges: Add Concept Proposals, Review Concept Proposals, Manage Concept Proposals
Published
Concept is officially published (protected) in the Concept Dictionary
Privileges: Manage Concept Proposals
Actions:
revert
moves back to "In Progress"
Privileges: Manage Concept Proposals
retire
sends to "Retired"
Privileges: Manage Concept Proposals
delete
sends to "Deleted" (removes from database)
Privileges: Manage Concept Proposals
Retired
Concept was published and has been retired; same as retired flag in OpenMRS
Privileges: Manage Concept Proposals
Actions:
unretire
sends back to "Published"
Privileges: Manage Concept Proposals
delete
sends to "Deleted" (removes from database)
Privileges: Manage Concept Proposals
Deleted
Not really a state; content is completely removed from the database
Non-Functional Requirements
Deployment Architecture
Assumptions
Assumed that the same module will be deployed to all 3 instances of OpenMRS
Issues
Concepts should not be modified. Editing and modifying a concept changes the context in which previous clinical data was captured. A concept that needs updating should be published as a new version with a reference to a retired previous version.
Synchronizing concepts based on ID versus GUID. If this is done based on a simple auto-increment integer primary key then there will be collisions.