MultiQC

Creating a client application

  MultiQC is a quality control software for clinical laboratories which can be set up to be an automation server, according to the COM (Common Object Model) technology from Microsoft. Other applications (clients) can thus directly send QC data to the pending queue of MultiQC. This page shows how QC data must be sent from the client application and are managed by MultiQC server. The client applications and MultiQC can be installed on the same computer or on distant computers (Distributed COM).  
Downloading the zipped demo package
 
  Download the zipped file MultiQCClient.zip (207 KB). The package contains the following files :
  • Information.htm : this page you are now reading
  • QCclient.exe : Demo client application.
  • The source code of the demo client application (written in Delphi).
    - QCclient.dpr (Delphi project)
    - Main.pas (main window unit)
    - Main.dfm (main form)
    - MultiQC3_TLB.pas (type library unit)
    - MultiQC3.tlb (type library).
 
Executing the demo
 
  1) Download MultiQC (version >= 5.2.0.0) at www.multiqc.com and install the program on the QC server computer. Then launch MultiQC, go to the menu Configure > Miscelleanous > Connexion and check the box Activate the automation server. You will have to re-start the programme.

2) Copy the executable file of the package QCclient.exe to the client computer. The client computer may be the same computer as the QC server computer. It may be also any other computer of the network.

3) If the client application is run on a distant computer, the installation folder of MultiQC must be set as shared with rights.

3) For each client application installed on a distant workstation, you must launch once MultiQC from this distant computer browsing through the shared files of the network to find MultiQC5.exe and execute the program. This is necessary to create an entry in the registry of the client computer, essential for the client application to be able to locate the QC server among the disks of the network.

5) Execute QCclient.exe to start the demo.

6) The QC server is simultaneously started but remains iconized in the taskbar.To show MultiQC :

  • Click on the icon in the taskbar.
  • From the client program, use the button 'Show'.

. To iconize again MultiQC:

  • All of the actions which would stop the program when running stand-alone, only iconize it when server: <Alt+F4> or click on the close-box of the system menu.
  • From the client program, use the button 'Hide'.

7) Send data from the client application to MultiQC :

  • Fill in the entry fields of the QC client dialog. The names of section and of analyte establish where the QC data will be placed in the treeview of MultiQC. Enter a figure from 1 to 6 in the field level to define the position of the QC chart where to plot the QC data.
  • Validate with the button "Send to MultiQC". If OK the status bar displays "Data sent to MultiQC" else it displays "Error".
  • Enter next data if necessary.
  • Show the QC server as indicated in (6). The QC panel at the bottom left of the main window is blinking red/yellow showing that QC data are waiting for validation.
  • Click on the blinking panel of MultiQC to display the transmitted data and proceed to validation. If the name of the analyte is unknown by MultiQC, a new one is automatically created with default parameters. Later, you will have to set these parameters correctly in MultiQC through the main menu Configure > Analytes > Create, Edit, Delete...
 
Writing a client program
 
  A type library for the interface iComQcServer is provided in the zipped package file. Three interface routines are implemented.
  • procedure Show;
  • procedure Hide;;
  • function Enqueue(When: TDateTime; const SectionName: WideString; const TestName: WideString; QClevel: Integer; const QCdata: WideString; const Comment: WideString): Integer;

The source code of the demo client program is an example of a Delphi use of the COM interface.

 
Parallelisation of multi-level QC data
 
  In multi-level quality control, QC values are serially acquired from the analyser which outputs the results sequentially one by one. For each analyte it is necessary to bring the different QC levels together in a unique QC vector. This is made on a time interval basis. If the time interval between the assay of 2 levels is less that the limit entered through the main menu Configure > Miscelleanous > Connexion (default 5 minutes), these levels are associated in the same QC vector.

When rebuilding a QC vector with separate QC values, the global time is the time of the earliest QC value and the global comment is the non-blank comment associated to the latest QC value.

 
Author
 
  © Philippe Marquis, MD
Metz - FRANCE
Mail :
information@multiqc.com
MultiQC software :
www.multiqc.com