BigHand
Digital dictation workflow systems for the legal, accountancy, property and health care sectors.
Overview
We assisted in the design and implementation of award-winning digital dictation workflow software.
Technicalities
This workflow based digital recording system allowed executives to record dictations for later transcription by their secretaries. The Outlook style client both records and plays back digital dictations. These dictations are managed by a server that stores them together with operational information in a centralised database. Communications between the client and server takes place in the form of XML documents transmitted over TCP sockets. Control within the application took place via COM.
Design, implement and tune database schema and stored procedures in SQL Server 2000. One area of particular complexity was the provision of hierarchical data storage within the database. This was required to implement groups (to which users belong) and folders (into which dictations are placed).
Provision of code to integrate the server with the NT Performance Monitor. This code was implemented under VC++ version 6. With the move to Visual Studio.NET it was possible to use the implementation provided with ATL.
Provision of a status logging mechanism. Messages could be written to a log file, the NT Event Log or the attached debug monitor with the destination and type of messages recorded capable of being configured dynamically. The mechanism supported both free format text, via STL streams, or entries extracted from a message catalogue based on a unique identifier. Support for both inserts into message catalogue entries and the logging of raw data was provided.
Design and implement COM components within the server to implement systems functionality. The following areas of functionality were produced, with access to the database (where appropriate) being provided by attributed OLE DB consumers
- Authentication and authorisation. Where available the component performs these checks against Active Directory, otherwise it utilises NTLM.
- Every major activity in the system has to be recorded in an audit table held within the database. Details on the text to record were extracted from the message catalogue.
- Addition and deletion of users and the control of which groups they belong to. This required the manipulation of hierarchical data within the database - achieved through the use of temporary tables as an alternative to recursion.
- Report generation by using style sheets to convert xml data into HTML
Work on unified real-time access to dictations on various digital recording devices using disparate SDKs. An abstraction layer was produced that presented a common interface to the rest of the application through which dictations could be extracted from the devices.
Tuning and bug fixing within all system components, such as the MFC based client, bespoke client side transactional relational database and streaming recorder supporting Windows, WTS and Citrix.