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