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
- save
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
- publish
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
- publish
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
- revert
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
- unretire
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.