______&: METHOD AND APPARATUS FOR LABELLING AND
TRACKING MEDICAL SPECIMENS
FIELD OF THE INVENTION
This invention relates to a system for handling biological specimens. More particularly, the present invention provides a system for labelling and tracking medical specimens from the collection stage to the point of testing.
BACKGROUND OF THE INVENTION
Modern medical health cares relies extensively on analytical testing of patient specimens. Medical doctors frequently request and use biological specimen testing to diagnosis the health of their patients.
In medical testing, after a doctor specifies the tests which are needed the next step normally involves obtaining the necessary specimen or specimens from a patient. The patient attends the doctor's office or medical testing facility and gives the laboratory technician the necessary patient data and then the appropriate specimen(s). The specimen is packaged and labelled according to the patient data and testing which is to be done. The specimen is then tested as required by trained laboratory technicians. The process of collecting the patient data and labelling the specimen(s) is usually time consuming and inefficient.
Testing is typically performed in specialized testing laboratories which are capable of handling a large number of specimens on any one day. Depending on the type of analysis requested by the doctor, the specimens can be tested individually or as part of a batch testing process. In addition, certain tests are automated and done by machines which are commercially available, for example, a KODAK (trade mark) analyzer.
On any one day, there can be thousands of specimens undergoing a multitude of tests in a laboratory facility. Since the laboratory facility is usually separate from the place where the patient gave the specimen(s), the collecting, routing and tracking of the specimens is very important to ensure that the specimens are tested as requested by the doctor, and that the test results are reported to the correct originating doctor/patient and that urgent tests are given priority.
In general, there is a need to reduce costs and the time taken to handle the specimens, and to eliminate sources of error which can have serious consequences.
BRIEF SUMMARY OF THE INVENTION
Accordingly, in a first aspect the present invention provides a system for generating a plurality of labels for use in identifying and tracking specimens which are to be tested in a laboratory facility and for use with a patient card having encoded patient data, said system comprising: (a) means for reading and storing the patient data from the patient card; (b) means for entering and storing a plurality of test requests for the specimen to be tested; (c) means for processing said patient data and said test requests into a plurality of information conveying fields; (d) means for generating a label from said information conveying fields; and (e) said means for generating the label including means for producing at least one of said information conveying fields as a machine-readable code. In a second aspect, the present invention provides a method for generating a plurality of labels for use in identifying and tracking specimens which are to be tested in a laboratory facility and for use with a patient card having encoded patient data, said method comprising the steps of: (a) reading and storing in the computer memory the patient data from the patient card; (b) entering and storing in said memory a plurality of test requests for the specimen to be tested; (c) processing said patient data and said test requests into a plurality of
information conveying fields; (d) generating a label from said information conveying fields; and (e) said step (d) including generating at least one of said information conveying fields as a machine-readable code.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, and to show more clearly how it may be carried into effect, reference will now be made, by way of example, to the accompanying drawings which show preferred embodiments of the present invention:
Figure 1 depicts the apparatus for implementing a specimen labelling and tracking system according to the present invention;
Figure 2 shows both in flow chart form a method for labelling and tracking medical specimens according to the present invention;
Figure 3 shows typical requisition, test list and form labels which are produced according to the method of Figure 2;
Figure 4 shows typical test labels which are produced according to the method of Figure 2;
Figure 5 shows in flow chart form the method according to the present invention for producing bar-coded labels for identifying and tracking specimens according to Figure 2;
Figure 6 shows in flow chart form the initialization routine for the method in Figure 5;
Figure 7 shows in flow chart form the steps for producing requisition, test list and form labels according to the method of Figure 5;
Figures 8(a) and 8(b) show in flow chart form the steps for generating and printing test labels according to the method of Figure 5; and
Figures 9(a) and 9(b) show in flow chart form a method according to the present invention for tracking the medical specimens
from the point of specimen collection to testing of the specimens in the laboratory.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference is first made to Figure 1, which shows a system
1 for labelling, routing and tracking biological specimens according to the present invention. The system 1 includes a central computer 10, at least one network printer 12, and a number of remote computer terminals 14. The remote terminals 14 are coupled to the central computer 10 through a communication network indicated by reference 16. The central computer 10 includes a memory storage disk 18. The disk 18 provides mass storage for patient files as will be explained in detail below.
Referring still to Figure 1, each computer terminal 14 comprises a display monitor 20 and a data entry device such as a keyboard 22. The computer terminal 14 also includes a card reader 24 and a bar¬ code scanner 26. The computer terminal 14 can also be connected to a local or slave printer 28.
The card reader 24 is used to input data from a patient identification card 30. The identification card 30 can comprise a health plan card such as the Ontario Health Card for example which is issued to all members of the Ontario Provincial Health Care Plan, or it can be an appropriate insurance plan health card. In the preferred embodiment of the present invention, the patient identification card 30 includes a magnetic strip 32 which stores electronically encoded information pertaining to the patient. The magnetic strip 32 provides a quick and effective method for entering patient data into the system 1. As will be discussed in detail, scanning the patient identification card 30 is usually the first step in generating a requisition file for the patient.
If the particular health care plan does not issue its own identification card, patient identification cards can be issued and administered under the authority of the testing laboratory. These cards can be further tailored to the operation of the system 1 by including
additional patient information such as date of birth, patient's telephone number, physician's name and telephone number (which information is not on, for example, the Ontario Health Card).
Referring back to Figure 1, the bar-code scanner 26 is used to input test requests which are represented by a series of bar-codes on a test code template 34. The test code template 34 is sheet which includes a list of bar-codes, each bar-code corresponding to a test. The scanner 26 allows test requests to be quickly and accurately read from the test code template 34. The scanner 26 can be any commercially available light pen such as those available from Symbol Technologies Inc. The keyboard 22 is available for entering any additional information which is not included on the patient identification card 30 or on the test code template 34. To facilitate order entry, the additional information, for example the client number (physician identification codes - see below), can also be encoded as bar-codes on a separate template (not shown) and read using the scanner 26.
As shown in Figure 1, the system 1 includes two types of printers. They are the network printer 12 and the local printer 28. In the system 1, the primary function of the printers 12 and 28 is to print an assortment of labels 36. As will be explained in detail below the labels are used for identifying, routing and tracking the medical specimens from the time of collection from the patient to the point of testing in the laboratory. As shown in Figure 1, the network printer 12 is accessible by the central computer 10 or any of the computer terminals 14 through the network 16 but may not be adjacent or close to the laboratory technician who is preparing the order entry. The local or slaved printer 28, on the other hand, is dedicated to a particular computer terminal 14 and provides the laboratory technician with immediate access to the printed labels. A suitable commercially available device for both the network and local printers 12, 28 is the Prodigy Label (trade mark) printer which is manufactured by the Fargo Electronic Inc. of Minnesota.
Requests for printing on the network printer 12 are typically queued and submitted as batch jobs under the control of the central computer 10. Therefore, the turn-around time for printing labels can vary depending on the number of print jobs submitted from the computer terminals 14. Since the local printers 28 are dedicated or slaved to the computer terminals 14, the labels 36 can usually be printed within seconds of the print request. The local printers 28 also provide the laboratory technician with immediate access to the printed labels.
Reference will now be made to Figure 2, which shows in flow chart form an overview of the operation of the system 1. Upon arrival at a testing laboratory, the patient is greeted by the laboratory technician or a receptionist (indicated by block 200). Before a specimen is taken from the patient, an order must be entered in the system 1. Order entry involves taking the patient's health card and also taking the requisition form from the patient (step 202). The requisition form is typically a paper form which lists the tests requested by the patient's doctor.
In step 204, the patient's identification card 30 is scanned for patient data. Under the Province of Ontario health plan, the patient identification card 30 includes the patient's health card number, the patient's name and age, and the version code for the health card. The health card number provides a unique code which is exploited by the system 1 to store and retrieve data for a particular patient. It will be appreciated by those skilled in the art that using known techniques additional patient data can be encoded in the magnetic strip 32 contained on the identification card 30 (Figure 1).
Once the patient's identification card 30 has been scanned, the system 1 then determines if the patient is a recurring patient (step 206), that is whether the patient has been previously tested by the laboratory. If the patient is not a return or recurring patient, then additional information must be entered in step 208 to complete the order entry. The additional information can include the following: date of
birth; physician's name; physician's telephone number; physician's identification number (i.e. client number); additional (i.e. carbon copied) physicians' names and their client numbers; patient location (e.g. nursing home or hospital); requisition date; billing and accounting information; source of specimen, e.g. urine or swab. Further information may be needed at this step 208 depending on the type of testing which is to be performed.
The additional information is entered into the system 1 by the laboratory receptionist using the keyboard 22 and the display monitor 20 (Figure 1) or the scanner 26 for client numbers on a code template. Once the all the information has been entered, the system 1 will generate a patient file which is indexed under the patient's health card number and stored on the disk 18 (Figure 1) and thereby becomes a recurring patient file as explained below. If the patient is a recurring or return patient, then in step
210 the system 1 retrieves the recurring patient file from the disk 18 (Figure 1). The recurring patient file will contain the additional information (e.g. physician name, telephone number and client number) which is required to produce an order entry for testing the specimen. In the preferred embodiment of the present invention, the system 1 will store the patient files for a selected time, e.g. for a period of 13 months. If the patient does not make a return visit within the 13 month period, then the patient is not a recurring patient so the system 1 will delete the recurring patient file from the disk 18 (Figure 1). This is done to keep the system 1 (and disk 18) clear of inactive patient files.
Once the recurring patient file has been completed in step 208 (or retrieved from disk 18 in step 210), step 212 is undertaken which involves entering the requested tests. In particular, step 212 involves using the bar-code scanner 26 to read or scan the bar-codes corresponding to the tests requisitioned by the physician. The bar-code for the requisitioned test(s) is scanned from the test code template 34 (Figure 1). The test code template 34 will contain a list of the tests (and their
corresponding bar-codes) which are administered at the particular testing facility. For example in the Province of Ontario, the test code template 34 can consist of the bar-codes for tests which are covered under the Ontario Health Insurance Plan. To enter a test into the system 1, the laboratory technician simply runs the bar-code scanner 26 across the appropriate bar¬ code on the test code template 34. Any additional tests can be entered manually using the keyboard 22.
The remaining steps involve the system 1 generating the labels 36 based on the information in the requisition form, the patient file and the scanned test requests. The function of these labels is to provide a means for identifying the specimen(s) from the time they are taken from the patient to the time the specimen reaches the testing bench. For the purpose of identifying the specimen, the system 1 generates an accession number. The accession number is a number which is assigned to a patient specimen on a per requisition form basis. From the collection stage through to the point of testing (and post-test reporting), the accession number provides a unique code for identifying a patient's specimens in the system 1.
In the preferred embodiment of the invention, the accession number is a nine digit code comprising a base accession number and a two digit suffix (which can be used to identify special types of tests). All of the specimens taken from a patient at a specimen collection session as a result of a given requisition form will have the same accession number, but the suffix attached to the accession number may vary. To track and test the specimen, the system 1 produces a number of labels 36 which include the accession number and other information in machine-readable and human readable form. The system 1 can generate the following labels:
(1) REQUISITION Label (2) TEST LIST Label
(3) FORM Label
(4) TEST Label; and
(5) COLLECTION Label The above labels can be divided into two general categories based on their function. The Requisition, Test List and Form labels fall into one category and are used primarily for collecting and tracking the specimens (and the corresponding test results). The function of the other category comprising the Test and Collection labels is to provide "test specific" labels. The Test and Collection labels are test specific because they include information in both human-readable and machine-readable form which specifically pertains to the testing to be done on the labelled specimen. By utilizing machine-readable information on the labels, the system 1 can be integrated with automatic /machine sorting equipment to provide highly reliable specimen identification and tracking. In practical terms, this means reduced labour and operating expenses, with an increased through-put of specimens. In addition, minimized human handling lowers the bio-hazard and the risks due to human error.
Reference is made to Figure 3 which shows a REQUISITION label 300, a TEST LIST label 302, and a FORM label 304. Each label includes a number of data or information fields. In the following description for Figures 3 and 4, like fields on the labels are designated by the same reference.
The function of the REQUISITION label 300 is to provide all patient demographic information. The patient information is assembled from the data contained in the patient file (which is accessible using the health card number).As shown in Figure 3, the Requisition label 300 comprises the following information or data fields: an accession number field 306, a bar-coded accession number field 308, a patient name field 310, a patient sex field 311, a date of birth (DOB) field 312, a health card number field 314, a bill type field 316 (which indicates the type of billing required), a patient telephone number field 318, a client (i.e. doctor) name field 320, and a client number field 322. The Requisition label can also include one or more carbon copy or "cc:" fields 324. The
carbon copy field(s) 324 lists persons, in addition to the requesting doctor listed in field 320, who should receive a report of the patient's test results. The Requisition label is usually attached to the Requisition form so that the bar-coded accession number can be easily machine scanned to track or sort the corresponding specimen prior to testing and to report the results after testing.
Reference is next made to the TEST LIST label 302 shown in Figure 3. Unlike the Requisition and other labels, the Test List label does not contain any machine-readable bar-coded information, e.g. the bar-coded accession number field 308. The function of the Test List label 302 is to list the tests which were requested for the patient. The information fields on the Test List label 302 are all in human-readable form and comprise: the accession number field 306, a test count field 326 (listing the number of tests to be conducted), a test label count field 328 and a test listing field 330 (which lists the tests by name). In the present embodiment, a total of 16 tests can be printed on a Test List label 302. If more than 16 tests have been requested, an additional Test List label 302 is generated by the system 1. The number of Test List labels 302 (i.e. one or two) for a requisition is indicated by the test label count field 328 (e.g. 1 of 1 or 1 of 2). The Test List label 302 is attached to the back of the requisition form.
Reference is next made to the FORM label 304 in Figure 3. The purpose of the Form label 304 is to supply demographic information to aid in the entry and interpretation of the results for certain tests, for example, pre-natal tests. In this respect, the Form label 304 is used for post-test processing. As shown in Figure 3, the Form label 304 contains most of the information fields which are printed on the Requisition label 300 , such as the accession number field 306, the bar-coded accession number field 308, the patient name 310, the patient sex field 311, the date of birth (DOB) field 312, the health card number field 314, the client name
(i.e. doctor) field 320. In addition, the Form label 304 includes a label name field 332, a test name field 334, and a date of service field 336 (i.e.
- li ¬
the date when the specimen was taken from the patient). The Form label 304 will be attached directly to the test result form, for example, a pre¬ natal test form, but not all tests will require a Form label 304.
The TEST Label and the COLLECTION labels, on the other hand, contain test specific information and are attached directly to the specimen containers. The purpose of the Test and Collection labels is to identify the specimens and provide all information necessary for routing the specimen to the testing location, i.e. work-bench, and performing the test(s) requested by the physician. Reference is made to Figure 4 which shows four exemplary Test labels indicated by references 400, 402, 404 and 406, respectively. Each of the Test labels contains a number of standard information fields which include: the accession number field 306, the bar- coded accession number field 308, the patient name field 310, the patient sex field 311, and the patient's age field 312. These fields serve the same function as for the previous labels.
As shown in Figure 4, the Test labels 400 include a number of test specific information fields. The test specific fields comprise a test mnemonic field 408, a storage requirement field 410, a direct-to-test indicator field 412, a processing priority field 414, and a second bar-coded (machine-readable) field 416. The test mnemonic 408 provides a short-form notation for requested test(s) which is interpreted by the laboratory technician at the testing bench. The storage requirement field 410 is used to indicate special storage requirements for the specimen. The field 410 can have the letters "RT" to indicate Room Temperature or
"FR" to indicate Frozen. If the field is left blank, the specimen is refrigerated. The direct-to-test field 412 is used for aliquotting purposes. If the field 412 contains three asterisks ("***"), then the specimen is a direct- to-test specimen, i.e. does not need to be aliquotted. The processing priority field 414 (shown on Test label 404) can indicate urgent processing status ("URGT"), as soon as possible priority ("ASAP"), or if left blank, normal processing.
In addition to the above information fields, the Test label 400 includes a collection/ sorting tube field 418, a minimum volume field 420, a testing location field 422, and a collection time field 424. The collection/sorting tube field 418 specifies whether the tube should be of a kind to be aliquotted, or simply sorted. The volume field 420 specifies the minimum volume of the specimen which must be taken from the patient. The testing location field 422 indicates the laboratory facility where the specimen will be tested. The collection time field 424 indicates the time of specimen collection. In a typical medical laboratory, specific tests are assigned to designated test areas which are commonly referred to as work-benches. The secondary bar-coded field 416 indicates a work-sheet which identifies the work-bench to be used for testing the specimen. The bar-code field 416 is therefore used to sort and route the specimen to the appropriate work- bench. Once at the work-bench, the specimens can be tested individually or as part of a larger group or batch, as defined by the work-sheet. The work-sheet comprises a list of specimens (identified by their accession numbers) which have been assigned to a particular work-bench to undergo the same type of testing. The work-sheet can be generated automatically by the system 1 by assigning accession numbers with the same test request to a work-sheet. The work-sheet can also generated manually by scanning the accession numbers from the Test label for each specimen assigned to a work-bench. At the work-bench, the specimens can be tested manually or by automated equipment such as the Kodak (trade mark) tester. In the former case, the specimen is tested individually by a laboratory technician at the work-bench, whereas in the latter case, the specimen can be tested with other specimens in a batch.
The primary function of the secondary bar-coded field 416 shown in Figure 4 is to provide a machine-readable representation of the testing destination (i.e. work-bench) for the specimen. If the specimen is destined for batch testing, the bar-coded field 416 will be the machine- readable representation of the work-bench for the particular test as shown
for Test labels 402,404 and 406. As shown in Figure 4, there is a human- readable test area field 426 which appears above the secondary bar-code 416. The test area field 426 indicates in human-readable form the work¬ sheet. If, on the other hand, the specimen is to be individually tested, the bar-code 416 still appears as a machine-readable code corresponding to the work-sheet which, in turn, indicates the work-bench. However, the test area field 426 now represents the test code for testing the specimen, and includes a "T" prefix to indicate the test code to the laboratory technician (see Test label 400 in Figure 4). As can be seen in Figure 4, the present invention utilizes the bar-coded accession number field 308 and the machine-readable work¬ sheet code field 416 on the test labels which are attached to the specimens. The machine-readable codes 308,416 make the specimens amenable to automated sorting and testing, thereby providing the capability to automatically and directly route the specimens to the appropriate testing area, for manual or automated testing. The use of machine-readable bar¬ codes 308,416 also makes the scanning/sorting equipment independent of the orientation of the specimen containers. In the preferred embodiment of the present invention, the bar-coded accession number field 308 is printed using the industry standard Code 39 format and the secondary
(work-sheet) bar-code 416 is printed according to the industry standard I- 2/5 format.
Referring back to Figure 2, once the test requests have been scanned using the light pen 26 in step 212, the system 1 will generate the labels (shown as 36 in Figure 1) in step 214. The labels can be routed either to the network printer 12 or to a local printer 28, as shown in Figure 2. In most cases, the laboratory technician will choose the local printer 28, if available, in order to expedite processing. In the preferred embodiment, the labels are 2.5 x 1.375 inches. In step 216, the laboratory technician prepares the specimen containers according to the tests which will be conducted. This step involves attaching the test labels to the specimen containers. As will
be explained with reference to Figure 8, the system 1 will itself determine the number of containers and test labels that are required for a particular test. Once the containers have been prepared, the specimens are collected from the patient. For hematology tests, for example, blood is drawn from the patient.
If the specimen is a collection sample (i.e. the test label does not include three asterisks "***") as determined in step 218, then the specimen must be aliquotted or divided into smaller units for testing.
The specimen is aliquotted and the test labels 400 are attached to the aliquotted specimens at step 220.
The specimens are then sorted according to the information contained on the test labels at step 222. As discussed above, a feature of the present invention is the generation of machine-readable codes on the Test labels 400. The machine-readable codes allow the specimens to be routed and batched using automatic sorting machines such as the 1000 Sorter Module which is manufactured by AutoMed in Arden Hills, Minnesota. The automatic sorting machines read the bar- coded test information and group the specimens according to the test to be performed by work-sheet. For example, the sorting machine can group specimens, which as shown in step 224, are destined to a work-bench which has a specific instrument, such as the known Kodak tester. The sorting machine can also group and route specimens according to a work¬ bench where testing is to be done by test code as indicated by step 226.
Once the specimens have been tested in steps 224 and/or 226, the information contained on the requisition label (and form label) can be used for recording the test results and generating a test report which is forwarded to the requisitioning physician.
The generation of the labels in step 214 is explained in greater detail with reference to Figure 5. As discussed above, the system 1 uses the patient file (step 208/210) and the scanned tests (step 212) to generate and print a series of labels. The system 1 includes a label generation computer program which is used to generate and print the
appropriate number of labels as required by the test. The label generation program can been implemented using any suitable platform, such as the MUMPS (Massachusetts University Multi-Programming System) for example. The label generation program is indicated generally by reference 500. When the program 500 is first called certain variables and look-up tables must be initialized as indicated by step 502. These variables are set-up in the random access memory (not shown) and will be discussed below with reference to Figure 6. The label generation program 500 can be called by the system 1 either in response to a network order entry in block 504 or a local order entry (i.e. from a computer terminal 14) in block 506.
When the label program 500 is called in response to a network order entry (block 504), the first operation involves de-piecing the network transaction record in order to determine the tests requested on the requisition form in block 508. In step 510, the de-pieced transaction record is used to print the Requisition 300, Test List 302 and Form 304 labels. (The program logic for de-piecing a network transaction is discussed below with reference to Figure 7.) In step 512, the program 500 determines if the label print request is to printed on the network printer
14 or on a local printer 28. If the laboratory technician has selected the network printer 14, the labels are printed on the network printer 14 in step 514. If the local printer 28 is selected, then the labels are printed on the local or slaved printer 28 in step 516. Once the print requests have been made, program flow returns to block 520, where the data structure or file required for printing the test labels 400 is generated.
If the label generation program 500 is called in response to a local order entry (block 506), program flow is directed to block 518 to determine if the requisition labels 300 have been printed. If the requisition labels 300 have not been printed, then program control passes to blocks 510,512 and 514/516 as discussed above. Otherwise, program flow is directed to block 520 which includes the logic for generating the
test labels 400. In block 520, the label program 500 generates a data structure which is used in block 522 for printing the Test labels 400. As will be discussed in detail below with reference to Figure 8, the label program 500 includes logic for determining the number of Test labels 400 which will be needed for a particular test.
From block 522, program flow is directed to blocks 524 to 526 which process the print request according to the printer selection which was made by the laboratory technician at the order entry stage. If the network printer 14 was selected,then the print job is routed to a network printer 14 in block 526. If a local printer 28 was selected, the labels 400 are printed on the slaved printer 28 in block 528. The laboratory technician next prepares the specimen containers by attaching the respective test labels as per step 216 in Figure 2.
The initialization step 502 of Figure 5 is explained in greater detail with reference to Figure 6. When the label generation program 500 is first called an initialization routine 600 is executed. It will be appreciated by those skilled in the art that the function of the routine 600 is to set-up variables and arrays which will be used by the label generation program 500 to produce and print the labels. The initialization routine 600 first creates a local array for storing the transaction record at step 602. At step 604, the routine 600 sets up the definitions for the printers, i.e. network printer 14 or local printer 28. At step 606, the routine 600 creates two tables or arrays, Hl() and H2(), for hematology tests. At step 608, the initialization routine creates a look- up table for the test codes and suffixes associated with the KODAK (trade mark) tester. At step 610, the routine creates a look-up table for the codes associated with glucose testing. At step 612, the routine defines a look-up table for the test codes associated with carbon dioxide testing, and a look¬ up table for the hepatitis test codes at step 614. Lastly, the initialization routine creates an array to define the tube types and their respective usable volumes. It will be appreciated that the above look-up tables and arrays depend on the type of tests which can be performed, and therefore
other tests would require different look-up arrays or tables.
Reference is next made to Figure 7 which shows in greater detail the logic steps for de-piecing the transaction record in block 508 of Figure 5. The function of the program 500 in block 508 is to determine the tests that have been requested on a requisition form (i.e. order entry) and assigned an accession number. This involves de-piecing the transaction record which is passed to the label generation program 500 when it is called.
As shown in Figure 7, the first step in de-piecing the transaction record involves building a local array, xx(), based on the test code(s) for the accession number (i.e. requisition form). The test codes are the electronic representation of the test requests which were scanned in step 212 (Figure 2). It will be recalled that the accession number is assigned to a requisition form and this accession number is then used to identify the tests which have been requested by the physician for that order entry. The local array xx() is used to store the test codes and data which will be used to generate the test labels for the accession number.
Once the test codes have been de-pieced for the accession number (requisition form), program flow proceeds to printing the requisition label 300, test list label 302 and form label 304 (if necessary). In block 511, the program 500 determines what type of printer (i.e. network printer 14 or local printer 28) was selected. At step 513, the requisition label 300 is printed.
The program 500 then proceeds to block 515 which involves printing the test list label 302 on the selected printer. Since form labels are only required for selected tests, program flow is next directed to decision block 517 which determines whether form labels 304 are needed. If form labels 304 are needed, program flow proceeds to block 519 which prints the form labels 304, otherwise, the printing operation of block 519 is bypassed, and the program flow proceeds to step 520 (Figure 5).
It will be appreciated by those skilled in the art that the logic in blocks 513,515,519 can be combined so that the print requests for
the above labels are sent as a single file to the selected printer.
Reference is next made to Figures 8(a) and 8(b) which show in detail the logic steps comprising the program block 520 in Figure 5. In block 520, the program 500 creates a local data file or structure (not shown) which is then used to generate a printer control data file which is sent to the selected printer, network 14 or local 28. The control data file provides the format and control codes for the printer to print the required labels, e.g. the requisition label 300, the test list label 302 and the test label(s) 400. The label generation program 500 uses the local array xx() to create the local data file or structure.
As shown in Figure 8(a), the first operation in block 700 involves reading in the patient demographic data. It will be recalled that the patient demographic data is included in the patient file which is stored on disk 18. The patient demographic data is passed to the program 500 as data which is stored in computer memory.
The program 500 uses the patient demographic data to generate the patient name field 310, the patient sex field 311, the date of birth field 312, the health card number and billing type fields 314,316, the patient telephone number field 318, the client (doctor) name and client number fields 320,322, and carbon copy field 324. These fields appear on the Requisition, Test List and Form labels 300,302,304 as was discussed above for Figure 3.
Once the patient demographic data has been retrieved and formatted (if necessary), program flow moves to decision block 702. In decision block 702, the program 500 checks the requisition done software flag to determine if the Requisition label 300 and Test List labels 302 (and Form label, if needed) have been printed. It will be understood that label generation program 500 can be called after the Requisition labels 300 have already been printed. If the Requisition labels 300 have not been printed, then program flow is directed to block 704. In block 704, the program 500 prints the Requisition, Test List and Form labels 300,302,304 by creating a printer control file which is sent to the selected
printer 14 or 28.
The program 500 creates the printer control file from the retrieved patient demographic data and the accession number assigned to the patient's requisition. As will be understood by one skilled in the art, the printer control file is an electronic representation of the label in a format which is recognizable by the selected printer 14 or 28. For printing the Requisition and Form labels 300,304, the printer control file will include special control codes for generating the accession number bar¬ code field 308 (format Code 39) and the secondary bar-code field 416 (format 1-2/5). The form of these codes will be dictated by the communication/ control protocol for the printer (e.g. Fargo Prodigy printer).
The remaining steps in block 520 involve generating the test specific information which is printed on the Test and Collection labels 400. The program 500 generates the test specific information based on the test codes which were scanned in step 212 of Figure 2 and any special exception testing. The test specific information is then combined with the patient demographic data to produce a printer control/ data file which is sent to the selected printer 14 or 28. In addition, the program 500 includes logic to determine how may labels are needed for each type of test.
The first step in generating the test specific information involves examining each test code. In block 706, the program 500 checks the test code(s) for the accession number which are stored in the local array xx(). The test codes are examined to determine if the test label(s) 300 should be printed for the accession number. For example, the test code may indicate a delayed test, and therefore it is unnecessary to print the Test label until specimen is taken from the patient. The program 500 suppresses printing a Test label 300 by removing the test code from the local array xx().
Once the delayed test codes have been removed from the local array xx(), the program 500 proceeds to a decision block 708. In block
708, the program 500 determines if the test is a replicate test. A replicate is a test which can be ordered more than once for a specimen. Therefore, to identify the replicate specimen/test the program 500 appends a suffix to the accession number for each replicate test. The program 500 uses this logic block to determine the number of replicates and therefore, the number of Test labels 400 that will be needed. The program generates a suffix which is appended to the accession number field 308 on the Test label 400.
If the test is a replicate, program flow is directed to another decision block 710 which checks a replicate suffix flag. The suffix flag is set when the appropriate number of replicate test labels have been calculated (not shown). If the suffix flag is not set (i.e. additional test labels are required for the replicates), the program 500 moves to block 712. In block 712, the program increments a suffix counter and generates a replicate suffix which is appended to the accession number. The suffix count is indicative of the replicate count. The accession number with the appended replicate number is then stored in the local array xx(). The steps in blocks 708 through 712 are repeated until the appropriate number of replicate accession numbers (which correspond to Test labels 400) are produced. The data file is organized so that each accession number entry in the local array xx() will correspond to a Test label 400. In the case of a replicate test, each Test label 400 will appear in the data file as a series of entries having the same accession number, but with different replicate suffixes. If the suffix flag has been set (block 710) or the test request is not a replicate test (block 708), then program 500 moves directly to block 714. In block 714, the program 500 assigns the accession number to the test code.
The program 500 then moves to block 716. In block 716, the program 500 determines the testing laboratory location assigned to the accession number. This logic step is included because the location at which the specimen is taken may not be the location of testing, for
example, the specimen is a collection specimen which will be aliquotted (divided) at another location. Therefore, it is not necessary to print Test labels at the time of taking the specimen.
After step 716, the program 500 commences a sequence of steps to process tests having unique characteristics. In the present invention, the program 500 provides exception processing for hematology tests and Kodak (trade mark) type tests. It will be appreciated by those skilled in the art that the exception processing is dependent on the specific test types and can be modified for different types of tests. The program 500 processes the hematology type test codes starting at block 718. The purpose of the hematology test processing is to produce a hematology mnemonic (i.e. field 408 on the Test label 400) which is a combination of all the requested hematology test codes. For hematology tests, the program 500 produces a single Test label 400 per accession number. In the present invention, the hematology test codes are categorized either as regular hematology tests or as special hematology tests. The regular hematology test codes include the known hematology tests: hemoglobin, hematocrit, white blood cell count and red cell blood count; and the special hematology test codes include the known hematology tests: platelet count, sed rate (wintrobe), sed rate westergren non citr, sed rate westergren-citr, red cell indices, reticulocyte count, eosinophil count, and blood film examination.
The first step in the hematology processing involves examining each of the hematology test code(s) in the local array xx() for the accession number. The program flow moves to test 720 to determine if the test code belongs to the regular hematology category. If the test code is a regular hematology test code, the program 500 adds the test code to the local array Hl(). If the test code is not a regular hematology test, the program 500 moves directly to block 724 to determine if the test code is a special hematology test code. If the test code belongs to the special hematology category, the program 500 adds stores the other local array H2(). The program 500 will pass through the hematology test blocks 720
and 724 until all the test codes are checked for the accession number.
The program flow next moves to block 728 which determines if the test code belongs to the Kodak (trade mark) test category. The program 500 will generate a Test label 400 for each Kodak test code. As shown in Figure 8(b), if the test code is a Kodak type, the program 500 appends the Kodak specimen identifier to the accession number in block 730. This step produces a new accession number code which results in a Test label 400. If the test code is not a Kodak test, the program 500 bypasses block 730. The program 500 passes through the hematology and
Kodak logic until all the test codes have been examined (block 732). Once all the test codes for an accession number have been examined, the program 500 generates the hematology mnemonic from the local arrays Hl() and H2() (block 734). The hematology mnemonic is stored as part of the data for the accession number.
The program 500 then moves to block 736 to determine the number of Test labels 400 to be printed. The program logic in block 736 is based on the premise that one Test label 400 is printed per test code, unless the test type requires more than one label, e.g. replicate tests or Kodak (trade mark) tests. If more than one Test label 400 is required for a particular test, the number of labels needed can be stored as part of the accession number/test code entry in the local array. (The system 1 will also produce multiple Test labels 400 for a collection specimen at the aliquot stage.) Since only the Test labels are generated on an as needed basis, the laboratory technician can use the number of Test labels 400 as a guide for determining the number of specimens to be collected from the patient.
In block 738, the program 500 generates the printer control data files which comprise the test information, the patient demographic data, and the printer control codes which define the appearance of the Test labels 400. To print the Test labels 400, the program 500 downloads the printer control data files to the selected printer 14 or 28
and the printer 14,28 prints the labels on a self-adhesive strip for example.
Once the Test (and Collection) labels have been printed as discussed above, the process turns to collecting and testing the specimens.
The system 1 according to the present invention can also be used for sorting and tracking the specimens from the collection stage to the point of testing.
Reference is made to Figures 9(a) and 9(b) which show in flow chart form a method 800 according to the present invention for sorting and tracking the specimens from collection to testing in the laboratory facility. The method 800 shown in Figure 9 is designed to provide special handling for high priority specimens which are to be shipped to remote or different testing facilities.
Once the test and collection labels 400,406 (Figure 4) have been printed (as discussed above for Figure 8), the laboratory technician attaches the labels to the appropriate specimen containers (step 802). This task is facilitated by the tube and minimum volume fields 418,420 (Figure 4) which indicate the type and size of specimen container to be used, for example, collection or test tube and minimum volume of 5.0 millilitres. The collection containers are usually different from ordinary testing containers, e.g. collection containers may have a pierceable and self- resealable top which facilitates removing a portion of the contents into aliquot containers.
The next step (804) . involves obtaining the actual specimens from the patient and this will depend on the type of test and/or specimen. In hematology tests, for example, a quantity of blood is drawn from the patient. After the specimen(s) has been collected, the specimen container is sealed. This completes the collection stage and the processing of the specimens turns to the delivery of the specimens to the appropriate testing facility (and work bench) for testing, as will be discussed with reference to steps 806 to 824 in Figure 9(a).
At step 806, the labels of the specimens are scanned to check for high priority or special status specimens (as indicated by the
processing priority field 414 shown in Figure 4). If the specimen has a special status (step 810), then the specimen is packed in a special shipping bin, which includes its own bar-code identifier. Typically, special status specimens are shipped on an expedited basis and a waybill is generated to track the shipment of the specimen. The waybill is generated in step 810 by scanning the accession and work-sheet bar codes on the test or collection 400,406 labels attached to the specimen containers. The waybill is completed by providing a waybill time and scanning the bar-code on the shipping bin in step 812. In step 814, the waybill is transmitted electronically to the testing facility ahead of the specimens which are shipped on an expedited basis in step 816. Once the specimens arrive at the testing facility they can be checked against the waybill (see below).
If the specimens do not have a special status as determined in step 808, then they are packed and shipped according to normal procedure (steps 818, 820). Step 818 can include scanning the bar- coded labels to produce a waybill or shipping list, and the shipping container can have its own bar-code which is scanned on the waybill (just as for special status specimens discussed above), so that regular or non¬ urgent specimens can be tracked in the same manner. For regular and special status specimens alike, the specimen containers are handled according to the specified storage requirements. It will be remembered that the test and collection labels (Figure 4) include a storage requirement field 410, which can indicate frozen, room temperature or refrigerated as discussed above. The specimens are received at the testing facility in step
822. The receiving procedure includes recording the time of delivery which can be checked against the time-stamp on the waybill. In step 824, the specimens are checked against the waybill. This step can be greatly facilitated by including the bar-coded accession number for each of the shipped specimens on the waybill. The received specimens can be checked off the waybill by simply scanning the bar-coded accession number (and work-sheet code) for each specimen. The time-stamp on the
waybill can also be checked against the time of delivery which was recorded in step 822 above. This may be important, for example, to track specimens with a limited storage-life. If the specimens were shipped without a waybill (step 818), then processing of the received specimens processed directly to step 826, as indicated by the broken outline.
Once the specimens have been received at the testing facility and checked against the waybill, the next series of steps 826 to 840 involve sorting the specimens according to the work-sheet so that they can be routed to the work-bench which is set up for conducting the requested tests.
As shown in Figure 9(b), steps 826,828 involve scanning the labels and sorting the specimen containers according to type of specimen, i.e. collection type or direct-to-test type. If the specimen is a collection specimen, then it must be aliquotted or divided into smaller specimens before testing can be done. At step 830, the collection label
(attached to the specimen) is scanned in order to generate the required number of test labels for the aliquotted specimens. The test labels are attached to aliquot containers and the collection specimen is divided into the aliquot containers at step 832. Since the labels include machine- readable bar codes, the operations in steps 826 to 832 can be performed by automated aliquotting machines.
The aliquotted test specimens are then routed to the next sorting stage at step 834. Specimens which are not collection specimens, i.e. direct-to-test, are routed directly to this sorting stage after step 828. At step 834, the specimens are sorted according to type of testing by reading the code 316 for the work-sheet. The work-sheet code 416 (Figure 4) is scanned and the specimen is routed to the work-bench which is set-up for conducting the test specified by the work-sheet (step 836) and put into a batch (step 838) for testing at the work-bench. If the specimen is direct-to- test, then the specimen is tested individually at the work-bench in step
838.
At the work-bench, the test label is scanned and the
specimen is tested according to the procedure for that test (step 838). A test report is then generated for the specimen and reported to the physician (step 840). The accession number can be used to identify and report the test results to the requesting physician (step 842). The invention was explained with reference to machine readable accession and machine-readable test (work-sheet) codes. In other embodiments of the present invention, additional fields, such as the testing priority 422, direct-to-test or collection 412, or tube type 418 for example, can be encoded as a bar-code or some other machine-readable code to provide the capability for further automation of the above system. It is therefore not intended that the invention be limited except as indicated by the appended claims.