U.S. patent application number 10/873183 was filed with the patent office on 2004-11-18 for inventory control system and methods.
This patent application is currently assigned to Invinity Systems Corporation. Invention is credited to Lucas, Michael T..
Application Number | 20040230503 10/873183 |
Document ID | / |
Family ID | 26882980 |
Filed Date | 2004-11-18 |
United States Patent
Application |
20040230503 |
Kind Code |
A1 |
Lucas, Michael T. |
November 18, 2004 |
Inventory control system and methods
Abstract
A system and method which allows third-parties to monitor
company inventory via the Internet and World Wide Web ("web") and
automatically order needed items. The present invention also
provides a forum through which resellers and customers may directly
interact to resell surplus and used equipment. The present
invention may also allow a third party to act as a broker, thereby
assuring that both the equipment purchased is actually delivered,
and that the seller is properly compensated.
Inventors: |
Lucas, Michael T.;
(Calabasas, CA) |
Correspondence
Address: |
GREENBERG-TRAURIG
1750 TYSONS BOULEVARD, 12TH FLOOR
MCLEAN
VA
22102
US
|
Assignee: |
Invinity Systems
Corporation
Los Angeles
CA
|
Family ID: |
26882980 |
Appl. No.: |
10/873183 |
Filed: |
June 23, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10873183 |
Jun 23, 2004 |
|
|
|
09799879 |
Mar 7, 2001 |
|
|
|
60187389 |
Mar 7, 2000 |
|
|
|
Current U.S.
Class: |
705/28 |
Current CPC
Class: |
G06Q 30/0601 20130101;
G06Q 10/06 20130101; G06Q 10/087 20130101; G06Q 30/0613 20130101;
G06Q 10/0875 20130101 |
Class at
Publication: |
705/028 |
International
Class: |
G06F 017/60 |
Claims
1-29. (Canceled)
30. A computer program embodied on a computer-readable medium that
implements an inventory management system, comprising: program
instructions for programming at least one first network-enabled
apparatus associated with a customer to enable the customer to
track inventories of a product or products and place orders for the
product or products; program instructions for programming at least
one second network-enabled apparatus associated with an inventory
manager to: receive orders for the product or products from the at
least one first network-enabled apparatus; request and receive
information about the ordered product or products from at least one
of manufacturers, suppliers and distributors; evaluate responses
from the at least one of manufacturers, suppliers and distributors
including the requested information; determine at least one
preferred response among the responses; and arrange at least one of
payment for and shipping of the ordered product or products
associated with the at least one preferred response to the customer
associated with the at least one first network-enabled apparatus;
and program instructions for programming at least one third
network-enabled apparatus associated with the at least one of
manufacturers, suppliers and distributors to: receive and process
the requests for information about the ordered product or products
from the at least one second network-enabled apparatus; and respond
to the at least one second network-enabled apparatus with the
requested information.
31. The computer program of claim 30, further comprising program
instructions for programming the at least one first, second and
third network-enabled apparatuses to communicate with each other
over a network.
32. The computer program of claim 31, wherein the network is at
least one of the Internet and the World Wide Web ("WWW").
33. The computer program of claim 30, wherein the information about
the ordered product or products is real-time information.
34. The computer program of claim 30, further comprising program
instructions for programming the at least one third network-enabled
apparatus to receive and evaluate information about inventory
levels of a product or products that the customer has on-hand.
35. The computer program of claim 30, wherein the information about
the ordered product or products comprises quantity of the product
or products in stock.
36. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to interact with other customers.
37. The computer program of claim 30, wherein the information about
the ordered product or products comprises information about at
least one of price of the ordered product or products, quantity of
the product or products in stock, and estimated delivery time of
the product or products to the customer associated with the at
least one first network-enabled apparatus.
38. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to operate
according to a predetermined set of business rules of the inventory
management system.
39. The computer program of claim 38, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to modify the
business rules in real-time.
40. The computer program of claim 37, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to track
information about supply usage of a product or products in order to
determine a minimum acceptable quantity or quantities of the
product or products to keep in-stock at a particular location.
41. The computer program of claim 40, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to create an
inventory usage model based on the information about supply
usage.
42. The computer program of claim 41, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to modify
minimum in-stock thresholds at the particular location to reflect
supply usage that is anticipated based on the inventory usage
model.
43. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to perform at least one of: automatically ordering the
product or products when an in-stock quantity of the ordered
product or products reaches a predetermined threshold; and
notifying at least one of the at least one second network-enabled
apparatus and the at least one third network-enabled apparatus when
the in-stock quantity of the ordered product or products reaches
the predetermined threshold.
44. The computer program of claim 30, wherein the orders for a
product or products comprise at least one of information about
urgency of need for the ordered product or products, information
about willingness to accept alternatives to the ordered product or
products, information about billing and information about
shipping.
45. The computer program of claim 36, wherein the interaction with
the other customers comprises providing to or receiving from the
other customers information contained in at least one of articles
and catalogs.
46. The computer program of claim 36, wherein the interaction with
the other customers comprises selling to or purchasing from the
other customers at least one of products, equipment and excess
inventory.
47. The computer program of claim 36, wherein the interaction with
the other customers comprises providing to or receiving from the
other customers an up to date catalog including at least one of
products, equipment and excess inventory that is available for
purchase.
48. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to monitor and evaluate information about
inventory levels stored in a database and to communicate a result
of the evaluation of the information about inventory levels to the
at least one first network-enabled apparatus.
49. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to monitor and evaluate information about
inventory levels stored in a database and to communicate a result
of the evaluation of the information about the inventory levels to
the at least one third network-enabled apparatus.
50. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to monitor information about inventory
levels stored in a database and to adjust the information about the
inventory levels when the inventory levels are adjusted.
51. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to monitor information about inventory
levels stored in a database and for enabling the at least one first
network-enabled apparatus associated with the customer to
communicate with other network-enabled apparatuses associated with
other customers in order that the first customer may sell to or
purchase from the other customers at least one of products,
equipment and excess inventory based on the information about the
inventory levels.
52. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to transmit at least one of new product
offers and special promotions to the at least one first
network-enabled apparatus.
53. The computer program of claim 52, further comprising program
instructions for programming the at least one first network-enabled
apparatus to display only new product offers or special promotions
based on criteria specified by the customer.
54. The computer program of claim 53, wherein the criteria
comprises at least one of categories by manufacturer, trade name of
product, specific type of product, general classification of
product, quantity available and quantity per shipping unit.
55. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to enable the customer to select between a one-time order
of a product or products and recurring orders of a product or
products.
56. The computer program of claim 30, further comprising program
instructions for: programming the at least one second
network-enabled apparatus to transmit advertisements to the at
least one first network-enabled apparatus; and programming the at
least one first network-enabled apparatus to display the
transmitted advertisements.
57. The computer program of claim 56, wherein the advertisements
are displayed on the at least one first network-enabled apparatus
on a rotating basis.
58. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to request a user-ID ("user-Identification") from the
customer when the customer uses the at least one first
network-enabled apparatus, the user-ID ("user-Identification")
allowing secure communications within a standard browser.
59. The computer program of claim 58, further comprising program
instructions for programming the at least one first network-enabled
apparatus to enable the customer to enter the user-ID
("user-Identification") through at least one of an active user
interface and a passive user interface.
60. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to: enable the customer to enter information from a
packing list associated with a shipment of the ordered product or
products; and verify whether the information from the packing list
is valid.
61. The computer program of claim 60, further comprising program
instructions for programming the at least one first network-enabled
apparatus to: retrieve information about the shipped product or
products from at least one of the at least one second
network-enabled apparatus and the at least one third
network-enabled apparatus; and update inventory information based
on the retrieved information.
62. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to enable the customer to search inventory information
included on at least one of the at least one second network-enabled
apparatus and the at least one third network-enabled apparatus.
63. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to: enable the customer to enter restocking parameters
for the ordered product or products; and transmit the restocking
parameters for the ordered product or products to at least one of
the at least one second network-enabled apparatus and the at least
one third network-enabled apparatus.
64. The computer program of claim 63, further comprising program
instructions for programming the at least one second
network-enabled apparatus to: post invoices of the at least one of
manufacturers, suppliers and distributors to an accounts payable
module; generate customer invoices based on the invoices of the at
least one of manufacturers, suppliers and distributors; and post
the customer invoices to an accounts receivable module.
65. The computer program of claim 30, further comprising program
instructions for programming the at least one third network-enabled
apparatus to enable the at least one of manufacturers, suppliers
and distributors to perform one or more of: updating product
information; updating vendor information; updating contact
information; viewing an account status; invoicing customers for a
purchased product or products; and viewing open invoices.
66. The computer program of claim 30, further comprising program
instructions for programming the at least one third network-enabled
apparatus to enable the at least one of manufacturers, suppliers
and distributors to perform one or more of: tracking an inventory
of product or products; providing real-time information about the
inventory of product or products to at least one of customers and
prospective customers; accepting electronic orders for the product
or products; generating pick/pack lists; and tracking an order
fulfillment process;
67. The computer program of claim 66, wherein tracking an order
fulfillment process comprises one or more of: tracking information
about the contents of one or more containers used for shipping
ordered product or products; generating at least one of bar-coded
packing lists and shipping labels for each of the one or more
containers; and generating invoices.
68. The computer program of claim 30, further comprising program
instructions for programming the at least one first network-enabled
apparatus to enable the customer to perform one or more of:
adjusting inventory counts for a product or products; updating
employee information; updating contact information; updating
payment information; viewing account balances; and making
payments.
69. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one
first, second and third network-enabled apparatuses to forecast
inventory requirements based on at least one of: prior order
history; prior lead times; and safety stock quantities.
70. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one
second and third network-enabled apparatuses to enable the at least
one of manufacturers, suppliers and distributors to track
processing and shipping status for the ordered product or
products.
71. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one first
and second network-enabled apparatuses to enable at least one of
the customer and the at least one of manufacturers, suppliers and
distributors to: electronically sign at least one of a purchase
order and an invoice; and electronically transmit at least one of
the signed purchase order and the signed invoice to a
recipient.
72. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one
second and third network-enabled apparatuses to: scan an inventory
table associated with the customer that reflects a number of a
product or products on-hand; and monitor inventory usage of the
on-hand product or products based on the inventory table.
73. The computer program of claim 72, further comprising program
instructions for programming at least one of the at least one
second and third network-enabled apparatuses to: determine a
product or products listed in the inventory table that are
frequently used based on the monitored inventory table; and order
appropriate quantities of the frequently used product or products
to re-stock the number of on-hand product or products.
74. The computer program of claim 30, further comprising program
instructions for programming at least one of the at least one
second and third network-enabled apparatuses to: track historical
usage of one or more of a product or products; and determine
periodic usage patterns for the one or more of a product or
products.
75. The computer program of claim 74, further comprising program
instructions for programming the at least one of the at least one
second and third network-enabled apparatuses to order appropriate
quantities of the one or more of a product or products based on the
determined periodic usage patterns.
76. The computer program of claim 30, further comprising program
instructions for programming the at least one second
network-enabled apparatus to: query inventories of the at least one
of manufacturers, suppliers and distributors; and determine a level
of ability of the at least one of manufacturers, suppliers and
distributors to fulfill an order for one or more of a product or
products.
77. The computer program of claim 30, further comprising program
instructions for programming the at least one first, second and
third network-enabled apparatuses to communicate with each other
over a network including at least one firewall for maintaining
secure internal data.
78. The computer program of claim 30, wherein the program
instructions for programming at least one first network-enabled
apparatus associated with a customer to enable the customer to
track inventories of a product or products include program
instructions for enabling the customer to track inventories of the
product or products by reading an RFID ("radio frequency
identification") tag associated with the product or products.
79. The computer program of claim 78, wherein the RFID ("radio
frequency identification") tag is read by a hand held electronic
device.
80. The computer program of claim 78, wherein the RFID ("radio
frequency identification") tag is read by an electronic portal
device.
81. The computer program of claim 40, wherein the at least one
first, second and third network-enabled apparatuses track
information about the supply usage of a product or products by
reading an RFID ("radio frequency identification") tag associated
with the product or products.
82. The computer program of claim 81, wherein the RFID ("radio
frequency identification") tag is read by a hand held electronic
device.
83. The computer program of claim 81, wherein the RFID ("radio
frequency identification") tag is read by an electronic portal
device.
Description
PRIORITY AND COPYRIGHT CLAIMS
[0001] This application claims the benefit of U.S. Provisional
Patent Application Ser. No. 60/187,389 filed Mar. 7, 2000, the
entire disclosure of which is incorporated herein by reference.
[0002] This application includes material which is subject to
copyright protection. The copyright owner has no objection to the
facsimile reproduction by anyone of the patent disclosure, as it
appears in the Patent and Trademark Office files or records, but
otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
[0003] The present invention relates to the field of electronic
inventory control. In particular, the present invention relates to
controlling healthcare supply inventories.
BACKGROUND OF THE INVENTION
[0004] Traditionally, inventory control has been done by the
company or organization using the items in the inventory. In
smaller offices, inventory control is typically not a high
priority, and orders may be placed whenever items are out of
stock.
[0005] As an office increases in size, inventory management becomes
more of a challenge, and monitoring of frequently used or crucial
items becomes very important. Typically a person is given the
responsibility of monitoring inventory and ordering replacements as
supply diminishes. As a company further increases in size, more
advanced inventory management techniques may be used. For example,
supply and usage trends may be analyzed to determine minimum
quantities on hand, and seasonal or other peak usage may be
determined.
[0006] Some larger offices have switched to automated or
semi-automated inventory tracking systems. These automated systems
utilize barcode scanners or other electronic identifiers to track
outgoing and incoming inventory, and can prepare purchase requests
as supplies diminish.
SUMMARY OF THE INVENTION
[0007] The present invention improves upon the prior art by
shifting the burden of inventory tracking onto a third party; this
concept is referred to as vendor managed inventory, or VMI. When a
third party provides VMI services for multiple companies, it gains
significant buying power which it can use to negotiate better
deals, improve supplier responsiveness, and streamline the buying
process.
[0008] The present invention allows third-parties to monitor
company inventory via the Internet and World Wide Web ("web"). In
addition, the present invention allows small to medium sized
companies to take advantage of VMI by providing a cost-effective
solution to their inventory tracking needs.
[0009] The present invention utilizes web-enabled technologies to
revolutionize inventory management by tracking inventory and
automatically contacting suppliers, manufacturers, or distributors
when additional supplies are needed. This may result in a labor
reduction as compared to the labor-intensive inventory maintenance
systems currently deployed.
[0010] In addition to reducing labor costs, the present invention
may help a company cut other costs. The present invention may help
reduce delivery costs by regularly ordering supplies in
anticipation of need, thus obviating the need for express
shipments. The present invention may also allow third parties to
take advantage of manufacturer or distributor specials when offered
for the products its customers require, thus further reducing
customer cost.
[0011] While purchasing is a large part of inventory maintenance,
the present invention may also facilitate other transactions as
well. For example, the present invention may allow customers to
resell products or equipment to other businesses, thereby
maximizing utility. Although some in the prior art, such as
Neoforma.com and Medibuy.com, have attempted to provide
business-to-business equipment resale through web-based auctions,
auctions do not provide equipment availability assurances. The
present invention provides a forum through which resellers and
customers may interact, where the present invention acts as a
broker, thereby assuring both that purchased equipment is
delivered, and that a seller receives proper compensation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a block diagram illustrating the major hardware
components of the present invention.
[0013] FIG. 2 is a block diagram illustrating an overview of the
software components of the present invention.
[0014] FIG. 3 is a process flow diagram illustrating sample logic
implemented when client software attempts to update data stored in
a server.
[0015] FIG. 4 is a process flow diagram illustrating sample logic
implemented when client software polls a data connection.
[0016] FIG. 5 illustrates a sample RFID portal and related computer
equipment.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0017] The present invention implements an Internet-based, vendor
managed inventory ("VMI") system. A VMI system allows a customer to
reduce costs by pushing inventory management responsibilities onto
a third party, or manager. Managers may service multiple companies,
thus allowing them to negotiate better deals, improve supplier
responsiveness, and serve as an effective customer advocate.
[0018] The present invention allows managers to inexpensively
monitor customer inventory via the Internet and World Wide Web
("web"). The present invention utilizes web-enabled technologies to
revolutionize inventory management by tracking inventory and
automatically contacting suppliers, manufacturers, or distributors
when products are needed. This may result in a labor reduction as
compared to the labor-intensive inventory maintenance systems
currently deployed.
[0019] FIG. 1 is a block diagram illustrating the major hardware
components of the present invention. As illustrated in FIG. 1, the
present invention utilizes a client/server architecture to
facilitate communication between customer inventory systems and
managers. A client running on a Customer Inventory System 130 may
be used to track inventory, place special orders, and interact with
other customers.
[0020] A client may include custom software, such as an application
written in Visual Basic, JAVA, or C; commercial software, such as a
web page accessible through a web browser; or a combination of
custom and commercial software, such as a "plug-in" which operates
in a web browser. Examples of common web browsers include Internet
Explorer, developed by Microsoft Corporation of Redmond, Wash., and
Navigator, developed by Netscape Corporation of Mountain View,
Calif.
[0021] Customer Inventory Systems 130 may allow manual inventory
tracking, semi-automated inventory tracking, or inventory may be
dispensed using automated systems. By way of example, without
intending to limit the present invention, a preferred embodiment of
the present invention includes a handheld device, such as a Palm
VII device by Palm Computing, Inc., to be outfitted with a barcode
scanner. Such a device can allow barcodes or other identifiers
associated with each inventory item to be scanned or otherwise
entered into the system prior to or at the time of item
distribution. As each item is scanned, a count maintained by the
present invention may be adjusted to properly track inventory
levels. Recipient-specific labels, including product warnings and
other information, can then be printed for each scanned item.
[0022] Other inventory distribution methods contemplated include,
but are not limited to, interfacing the present invention with
vending machines. Vending machines may allow accurate inventory
tracking without requiring human interaction, except to
periodically restock a particular supply or group of supplies. In a
preferred embodiment, vending machines may include security
measures to prevent unauthorized supply distribution. Such security
measures may include, but are not limited to, the use of an
identification card and personal identification number ("PIN"), and
biometric systems. Vending machines equipped with security systems
may restrict access to specific supplies on an
individual-by-individual level, or group-by-group basis. Vending
machines may also be equipped with label printers that allow
warnings and other information to be attached to a dispensed item's
packaging.
[0023] Alternatively, supply closets or other storage areas can be
outfitted with a Radio Frequency Identification (RFID) portal, as
illustrated in FIG. 5. An RFID portal (Block 500) is similar in
structure to airport security metal detectors, except that RFID
portals can detect or scan RFID tags as such tags pass through a
portal. The present invention can monitor RFID tag identifiers,
including identifiers assigned to individuals, such that access to
a storage area can be monitored, and items removed by an individual
can be tracked without any direct user interaction.
[0024] A preferred embodiment of the present invention can also
track individual product dispensation, and may require additional
information as products are dispensed. By way of example, without
intending to limit the present invention, if a doctor dispenses
sample medication to a patient, the present invention may also
request a patient identifier, whereas if a package of gauze
bandages was removed from inventory to restock an examination room,
the present invention may not request a patient identifier. Patient
identifiers can be used by the present invention to generate
dispensation history reports for various products which may help
suppliers and manufacturers to better understand income, race,
ethnicity, or other demographic characteristics of typical
recipients. The present invention may restrict such reports to only
demographic information, and may not include individual-specific
information in such reports.
[0025] An alternative embodiment of the present invention allows
physicians or others to carry a handheld device through which
prescriptions can be written while talking with a patient. Such a
handheld device can connect to a local inventory management system
through a wireless or wired means, and, when appropriate, a
prescribed item sample may be automatically dispensed by a vending
machine. Alternatively, a message may be displayed at a nurse's
station indicating the items to be pulled from inventory. When
items are dispensed by a vending machine or pulled from inventory,
inventory counts can be decremented as appropriate, and new orders
can be placed as necessary.
[0026] As inventory is distributed, Customer Inventory System 130
may track supply usage habits to determine minimum acceptable
quantities on-hand. Usage information may be studied for various
periods of time, and the present invention may create an inventory
usage model based on collected data. As models are created and
refined, the present invention may modify minimum in-stock
thresholds to reflect anticipated usage. As quantity in-stock
approaches a calculated or specified threshold, Customer Inventory
System 130 may automatically request new supplies from Server 100.
Supply requests may include various information, including, but not
limited to, urgency of request, customer willingness to accept
alternative brands or sizes, billing information, and shipping
information.
[0027] As Server 100 receives supply requests, Server 100 may
request price quotes from several Manufacturer, Supplier, or
Distributor 120's ("Distributor 120"). Distributor 120 may respond
with quantity available, price, estimated delivery time, and other
such information. Server 100 may then automatically evaluate each
Distributor 120 response to find the best value given various
factors associated with each customer request. When an appropriate
Distributor 120 response is chosen, Server 100 may automatically
arrange payment and shipping of requested supplies for Customer
Inventory System 130.
[0028] Communication between Customer Inventory System 130, Server
100, and Distributor 120 may be achieved through various methods,
including, but not limited to, hypertext transfer protocol
("HTTP"), file transfer protocol ("FTP"), simple mail transfer
protocol ("SMT"), or other such related methods.
[0029] Although purchasing is a large part of inventory
maintenance, a preferred embodiment of the present invention may
also facilitate communication between customers, provide a source
of information dissemination, and encourage customer interaction.
The present invention may facilitate customer communication by
allowing customers to resell products, equipment, or excess
inventory to other businesses. The present invention may allow
information dissemination by providing an up to date catalog of
available equipment and other inventory from which a customer may
order. The present invention may facilitate customer communication
by allowing managers and customers to author and distribute
articles describing new rules, regulations, procedures, revenue
generation prospects, or other information of interest to other
customers.
[0030] Customer Inventory System 130 may serve as the primary
source of customer interaction with the present invention.
Articles, catalogs, inventory information, and other such
information may be stored on Server 100, and Customer Inventory
System 130 may communicate with Server 100 to obtain requested
information.
[0031] FIG. 2 illustrates a preferred embodiment of Server 100, in
which relationships between data storage, web server, and
application services provided by Server 100 are illustrated. All
client communications may first pass through Firewall 210. Firewall
210 represents a combination of software and hardware which is used
to protect the data stored in Web Server 220, Database Server 230,
and Application Server 240 from unauthorized access.
[0032] As previously described, clients may communicate with the
present invention through various protocols, including HTTP. Web
Server 220 represents software capable of transmitting and
receiving information via HTTP or other protocols. Examples of such
software include Internet Information Server, developed by
Microsoft Corporation of Redmond, Wash.; Enterprise Server,
developed by Netscape Corporation of Mountain View, Calif.; and
Apache Server, developed by the Apache Software Foundation of
Forest Hill, Md.
[0033] When a client requests information, Web Server 220 may
determine whether a client request requires pre-processing, in
which case a request is transferred to Application Server 240, or
if a request simply requires data to fulfill the request, in which
case Web Server 220 may communicate directly with Database Server
230.
[0034] Database Server 230 represents commercially available
database software, such as Microsoft SQL Server, developed by
Microsoft Corporation of Redmond, Wash., Oracle 8i, developed by
Oracle Corporation, of Redwood Shores, Calif., or other, similar
software. Database Server 230 may store raw data, such as customer
inventory information, customer addresses, vendor names, vendor
product classes, and other such similar information. Such
information may be transmitted to a client by Web Server 220, or
Application Server 240 may interpret information stored in Database
Server 230 prior to transmission.
[0035] Application Server 240 may contain business rules associated
with the present invention, which can be used to interpret Database
Server 230 data prior to transmission of that data to a client. In
addition to interpreting information stored in Database Server 230
for client use, Application Server 240 may also monitor inventory
levels reflected in Database Server 230, contact vendors based on
information from Database Server 230, adjust inventory information
as new inventory is received, and provide the services necessary to
facilitate business-to-business resale of equipment or products
stored in Database Server 230.
[0036] Web Server 220, Database Server 230, and Application Server
240 each represent software which may run on the same computer, or
on multiple computers. In addition, Application Server 240 may be
implemented within Database Server 230 as a set of business
rules.
[0037] An alternative description of the present invention follows,
in which the present invention is described through a series of
functional specifications. This information is included for
enablement purposes, and describes the best mode contemplated at
the time the present specification was filed. While the following
functional specification describes a preferred embodiment of the
present invention, descriptions within the functional specification
should not be construed as limiting the present invention.
[0038] To avoid confusion, the following terms are used in this
functional specification:
[0039] Customer--Refers to a buyer of products via the present
invention. Customers can have "open account" relationships to avoid
credit card and COD shipment problems.
[0040] Linked Supplier--A distinction is made to avoid confusion
with other vendors doing business with the present invention, given
that payables may be in a common accounts payable system.
Distributors, manufacturers, or other vendors (collectively
"suppliers"), are distinguished by whether they are using the
present invention's inventory tracking and accounting software, and
therefore have live Internet linkages into their databases for
queries, order processing, and billing.
[0041] Manual Supplier--If a supplier provides goods or services
through the present invention, but tracks inventory through a
manual interface, such a supplier may be termed a "Manual
Supplier". Open account relationships may be maintained between
Linked or Manual Suppliers avoid payment complexities.
[0042] Non-linked Supplier--Suppliers not linked to the present
invention.
[0043] Products--Items for sale via the present invention.
[0044] Customer Inventory--A list of products to be maintained at a
given customer site.
[0045] In addition to the general definitions set forth above, this
functions specification also defines a set of system functions.
System functions may fall into one of the following general
sub-system categories:
[0046] Interactive--human interface and related functions for
tracking inventory counts, inventory consumption rates, ordering
critical products, and the like. Interactive processes may be
web-based or PC-based (client-server).
[0047] Nightly Processes--periodic processes through which orders
can be generated and invoicing and related processes can be
performed, including interaction with Distribution system at
distributor warehouses.
[0048] Corporate--processes performed within corporate offices, but
which update a database. Includes accounting, client data
management, and other such processes.
[0049] Distribution--Linked Suppliers integrated with the present
invention. Industry standard Enterprise Resource Planning (ERP)
software may be bundled with commercial financial software to
provide a complete business system to Linked Suppliers.
[0050] Database Design--A database schema which may be utilized in
a preferred embodiment of the present invention.
[0051] The present invention in general, and this functional
specification specifically, defines styles and functions included
in detailed web pages and other user interface elements that are
intended to be available system wide. Web pages, application
windows, program screens, and transactions within the present
invention should observe common rules. These rules include, but are
not limited to:
[0052] No customer can view, inquiry into, update or in any way
alter another customers data. Transactions can use an IP address or
other unique identifier as a cross-check against a customer ID
coming in with transmitted pages to insure rule enforcement. For
such security procedures, customer IP addresses or other unique
identifiers may only be changed through a function accessible only
to Corporate staff.
[0053] No Linked Supplier can see data belonging to another linked
supplier.
[0054] System parameters controlling customer options can be set
through an account setup and editing process. Such a process may be
accessed by only someone with an authorized identifier. Initially,
such identifiers may only be given to Corporate Staff.
[0055] Data changes will generally be reflected by a transaction
log or transaction history, which may be accessible to customers or
distributors, and to which Corporate Staff with appropriate
security levels may have access.
[0056] Functions involving data changes may be performed as
server-side scripts, rather than through client-side logic. In
general, such server-side scripts can utilize a logical flow
similar to FIG. 3. As FIG. 3 illustrates, client software running
on a customer machine may generate a page containing data to be
updated by a web server and transmit said page to said web server
(Block 300).
[0057] When a web server receives a page from a customer machine,
the present invention may attempt to process any changes requested
by said page. If such changes are successful (Block 320), the
present invention may return a confirmation page or cause a
confirmation message to be displayed to a customer machine, and
appropriate transaction logging may occur.
[0058] If changes are not successful, the present invention may
increment a retry count by one (Block 340). If the retry count is
less than or equal to three, the present invention may retransmit
customer changes (Block 370) to Block 310 in an effort to make any
appropriate changes. If the retry count exceeds three (Block 350),
the present invention may cause a page containing any error codes
or other feedback information to be displayed on a client machine.
Such a page may also contain original client data changes as well
as a means for resubmitting said changes (Block 360).
[0059] Client software may also periodically verify that a data
connection exists between said client software and a server acting
as part of the present invention. Such software may follow the
logic illustrated in FIG. 4 to achieve accurate data connection
monitoring. As Block 400 illustrates, client software may send one
or more TCP/IP Ping commands or other network test commands to
verify that a high-speed connection is still available to a server
acting as part of the present invention.
[0060] If a high-speed network connection is detected, the present
invention can continue normal operations (Block 410). If a
high-speed network connection is not detected, the present
invention may attempt to reestablish such a connection (Block 420).
If a high-speed network connection can be reestablished (Block
430), the present invention may continue normal operations (Block
410). If a high-speed network connection cannot be established, a
lower speed network connection, such as a dial-up network
connection, may be established by the present invention (Block
440). If a lower speed network connection can be established, the
present invention may continue normal operations, including
periodically attempting to reestablish a high-speed network
connection (Block 410).
[0061] If a lower speed network connection cannot be established,
client software may display an application or page with alternative
user interface and alternative functionality (Block 460). Such
alternative functionality can include local storage of product
usage information, local inventory tracking, and limited reordering
via a dial-up or other temporary connection with a known supplier
(Block 470). A client functioning without a data connection may
periodically attempt to reestablish high or low speed network
connections (Block 480). When a connection is reestablished (Block
490), a client may transmit product usage scan information to a
server acting as part of the present invention.
[0062] In addition to an inventory tracking application, the
present invention may also utilize a high speed network connection
to transmit new product offerings or special promotions to a client
for display to a customer. As new products are entered into a
Products table or similar data structure, the present invention may
cause such a product to appear on a client. In a preferred
embodiment, the present invention may allow customers to select
products in which a customer is interested, and the present
invention may only display new products or special deals meeting a
customer's prior specifications. Such specifications can include,
but are not limited to, categories by manufacturer, product trade
name, specific product type, general product classification, and
quantity available or quantity per shipping unit.
[0063] A client displaying such information may allow a customer to
indicate an interest in a product by typing a command, clicking a
button or other graphical interface element, or otherwise
interacting with said client. If a customer expresses an interest
in a featured product, a client may allow a customer to create a
one-time order, or to configure recurring orders.
[0064] In addition to allowing customers to record product usage
and order new inventory or new products, client software may also
display advertisements on a rotating basis, and may be used for
other purposes. A typical client software screen may also contain
additional information and fields, including, but not limited to, a
Product SKU field, a User-ID field, a Doctor-ID field, and a Sales
Consultant Contact field.
[0065] When customers are not directly interacting with client
software, client software may place a cursor in a Product SKU field
by default. Placing a cursor in a Product SKU field can allow
client software to ready accept an automatically or manually
entered product identifier, such as a barcode label scanned via a
wedge-style bar-code scanner.
[0066] As product identifiers are entered, client software may
request a User-ID for each product identifier or set of product
identifiers. A User-ID is a unique identifier created for each
employee or set of employees within an organization. Such
identifiers may be entered manually through an active user
interface, such as, but not limited to, a keyboard, touch screen,
or number pad, or through a passive user interface, such as, but
not limited to, biometric recognition equipment, barcode
identifiers worn by or associated with an employee, or through RFID
tags worn by or associated with an employee. User-ID's may be
combined with passwords to create a more secure inventory tracking
system.
[0067] User-ID's may be used to track persons removing items from
an inventory, but additional tracking or other controls may also be
desirable. For example additional authorization may be required
when employees remove expensive items or controlled substances from
an inventory. The present invention may recognize when such an
inventory item is removed, and client software may request an
additional identifier, called a Doctor-ID, as authorization. Client
software may even allow any user to enter a Doctor-ID for some
inventory items, while for other inventory items a Doctor-ID and
related password may be required. A biometric or other positive
identifier may be used in place of a Doctor-ID or Doctor-ID and
password in some applications.
[0068] When appropriate inventory tracking data has been entered
into client software, the present invention may transmit such data
to a server. A server may send a confirmation message to a client
upon receipt of such data. If a confirmation message is not
received within a predetermined period of time, the present
invention may resend inventory tracking data. If successive resend
attempts are unsuccessful, the present invention may follow a
process similar to that illustrated by FIG. 3. Client software may
allow additional inventory scans to occur while waiting for
confirmation from a server.
[0069] In addition to recording inventory tracking information,
client software may also allow a customer to access various
options. Such options may include, but are not limited to, an
administrative page, an inventory status inquiry page, and an
inventory receipt page. An administrative page can allow authorized
customers to create, edit, or remove User-ID's, Doctor-ID's, groups
of such accounts, and account-specific information. An inventory
status inquiry page can retrieve and display a page containing
customer inventory records, order status, and other such
information. An inventory status inquiry may be initiated through
client software, which can send a page containing customer-specific
information, as well as site-specific identification information
stored on a client machine. In a preferred embodiment, a server
receiving such a request may select records with appropriate site-
and user-specific information from a table of customer inventory
records. A server may generate a page or screen containing customer
inventory information, including information from several tables.
Table 1 below provides an example of columns displayed on a typical
inventory request screen, as well as sample table and field names
from which such data can be drawn.
1TABLE 1 Column Heading Source Table Source Field Description
PRODUCTS DESCRIPTION Product CUSTOMER_INVENTORY PRODUCT Quantity In
Stock CUSTOMER_INVENTORY ON_HAND_QTY Order Point CUSTOMER_INVENTORY
ROP ReOrder Quantity CUSTOMER_INVENTORY ROQ Activity Status
CUSTOMER_INVENTORY STATUS
[0070] An advantage of the present invention over the prior art is
the ability to simplify adding new items or restocking items into
an inventory. Linked Suppliers shipping goods to a customer can
provide a specially coded packing list, and a customer can
automatically or manually enter such a code into client software.
Client software can validate a packing list number as belonging to
a customer and ensure a packing list is not credited to a customer
system more than once. Entry of an invalid or previously validated
packing slip can cause client software to display an error
message.
[0071] If a valid packing slip is entered, client software may
retrieve shipment contents from a centralized database or from a
supplier database, and automatically update customer inventory
information to reflect inventory received. Client software may then
display a message confirming successful inventory changes, and
return a customer to a main page.
[0072] A product search page may also be accessible through client
software. A product search page can allow a user to select a search
type and, if appropriate, search parameters and search parameter
values (collectively "search criteria"). By way of example, without
intending to limit the present invention, a product search page may
allow a customer to search by specific manufacturer and products of
a certain classification.
[0073] When a customer has selected appropriate search criteria,
client software may pass such search criteria to a server. A server
may query a database of products and product descriptions and
return products matching or approximating customer search
criteria.
[0074] If a user has selected a descriptive search, a server may
select records from a Products table, or other similar table, whose
data matches or approximates descriptive text entered by a user. If
a user has selected a parameter search, a server may select Product
table records whose fields match or approximate user search
requests. To expedite such selections, a server may index
descriptions, manufacturers, product classes, product names, and
other frequently searched fields.
[0075] When appropriate records are selected, a server may transmit
such records to client software for display. Client software may
present such records in a variety of formats, including, but not
limited to, a columnar or tabular format. Table 2 lists sample
column names, sample source table names, source field names, and
additional functionality client software may present when
displaying such records.
2TABLE 2 Column Heading Source Table Source Field Description
PRODUCTS SHORT_DESCRIPTION Product ID PRODUCTS PRODUCT_ID
Manufacturer PRODUCTS MANUFACTURER Mfg Item No. PRODUCTS
MANUFACTURER.sub.-- ITEM_NUMBER Prod. Type PRODUCTS PRODUCT_TYPE
Prod. Class PRODUCTIONS PRODUCT_CLASS Check Availability None
Window action field Add to Stock Plan None Window action field
[0076] As Table 2 indicates, client software can allow a customer
to check product availability and add products to a stock plan. In
a preferred embodiment, client software may make such functionality
available for each record displayed. In an alternative embodiment,
records may have check boxes or other selection controls, thereby
allowing customers to check the availability of multiple items, and
add multiple items to a stock
[0077] Customers can initiate such an order by clicking a button or
otherwise interacting with a graphical or physical interface. In a
preferred embodiment, a customer may select from products or groups
of products already included in an inventory or stocking plan, or a
customer may search for products through an interface similar to
that described earlier. As previously described, customers can
designate standard restocking quantities, and client software may
use such quantities as defaults when clients are requesting
additional inventory. Client software may also present quantities
on hand to help customers make smarter purchasing decisions. Based
on such information, customers can modify order quantities before
submitting an order.
[0078] Client software can transmit customer orders to a server.
Upon receipt of a customer order, a server can initiate an order
fulfillment process.
[0079] A server may also automatically place an order based on
customer demand. A server may periodically scan a customer
inventory table and monitor inventory usage. As inventory is
depleted, a server can predict frequently used items, and order
appropriate quantities. Initially, a server may order limited
quantities, to limit customer costs. A server may increase order
quantities for frequently ordered products as customer usage habits
dictate. A server may also construct an historical usage
characterization, so that seasonal or other periodic usage patterns
can be automatically taken into account.
[0080] As orders are placed, a server can query Linked Supplier
inventories to determine each supplier's ability to fulfill an
order. A server can calculate shipping costs as each order is
processed, and a server can select one or more suppliers who can
most cost effectively meet customer needs. As qualified suppliers
are identified, orders are placed which can include expedited
delivery and other options as specified by a customer or as
determined by a server.
[0081] A server can also post supplier invoices to an accounts
payable system, generate customer invoices based on supplier
invoices, post customer invoices to an accounts receivable system.
A server may further integrate with an automated payment system,
thereby limiting invoicing and other such expenses.
[0082] In addition to customer and order related functions, a
server can also provide administrative functions. By way of
example, without intending to limit the present invention, a user
who is not a customer can register to be a customer through a
server-provided interface. Such an interface may allow a user to
specify a business name, business type, executive director or
general manager, physical address, mailing address, shipping
address, one or more telephone numbers, employee names, employee
licensing and accreditation information, and the like.
[0083] As users submit such information, a server may validate that
an address, telephone number, and zip code are all valid with
respect to each other, and that all necessary fields have been
filled. If any validations fail, a server may present a data entry
page along with any invalid data, thus simplifying data
correction.
[0084] A server and client software may also allow customers and
suppliers to change various information. By way of example, without
intending to limit the present invention, suppliers can change
pricing; add or remove vendors and products; add, edit, or remove
contacts; view account status and open invoices; and perform other
such functions. Customers can adjust inventory counts to reflect
audit results; add, edit, or remove employees and employee
information; update payment and contact information; view account
balances and make payments; and perform other such functions.
[0085] Linked Suppliers can also take advantage of many of these
same features. Linked Suppliers implementing the present invention
can track inventory; provide real-time inventory information to
prospective customers; accept electronic orders; generate pick/pack
lists; track order fulfillment process, including tracking into
which containers each item in an order has been placed; generate
bar-coded packing lists and shipping labels for each container; and
generate invoices.
[0086] The present invention also provides Linked Suppliers with
other advantages over the prior art. By way of example, without
intending to limit the present invention, Linked Supplier inventory
needs can be forecast based on prior order history, prior lead
times, safety stock quantities, and the like, thereby reducing
overall inventory investment. The present invention can also allow
enable a Linked Supplier to track processing and shipping status
for various products within an order, thereby providing a higher
level of customer service. The present invention may also allow
managers or other authorized individuals to electronically sign a
purchase order, invoice, or other billing or order document and
electronically transmit such a document to an appropriate
recipient.
[0087] To achieve the functionality set forth above, a preferred
embodiment of the present invention includes the following table
structure. The table structure described below is included for
enablement and best mode purposes, and should not be construed as
limiting the present invention.
[0088] Table Name--
[0089] CLIENT_CONTROL
[0090] Table Description and function--This table can reside
locally on a customer computer. It can store one or more records
containing control data needed to manage on and off-line functions
remotely. These records can be updated via an update applet
transferring data from the Web Server's SQL database to this
control. Its purpose is to provide control over the processes
running on the local machine even if it is off-line, and to enable
it to reconnect automatically.
3 Column (field) Name Description CUSTOMER_ID Customer ID - matches
Customer ID in CUSTOMERS data in the Web Server SQL Database
IP_ADDRESS This is the IP address for this machine DSL_PORT
Connection path or port (e.g., COM2) where DSL connection exists;
null if there is no DSL line for this machine DIAL_PORT Connection
path ro port (e.g., COM3) where dial-up connection exists; null if
there is no dial-up connection for this machine
DIAL_CONNECTION_PHONE Phone number the software dials to establish
a dial-up connection to the Web server system. Null if there is no
dial-up connection DIAL_CALL_BACK Phone number of the dial-up line;
to allow call-back from the web server.
[0091] Table Name--
[0092] CLIENT_ERROR_LOG
[0093] Table Description and function--This table contains an error
generation history for processes originating on a customer machine.
It can provide an audit trail and view of how well processes are
functioning, and a place to record both fatal-error conditions and
those that may not need to be displayed to customers. Its data may
not be processed, but can be stored for review by system
administrators and managers.
4 Field Column (field) Characteristics Name Description &
Indexing ERROR_DATE Date of error log entry Index - concatenated
with ERROR_TIME ERROR_TIME Time of error log entry Index - with
ERROR_DATE CALLER Program name generating the error log entry
ERROR_MESSAGE Error message generated by the caller program
USER_VIEWABLE Yes - if message also displayed on user seen page; No
if internal only message DATA_DUMP Data (if any) causing the
error
[0094] Table Name--
[0095] SYSTEM_ERROR_LOG
[0096] Table Description and function--This table can contain a
history of errors generated by processes originating from outside a
customer machine. The table can provide an audit trail and view of
how well processes are functioning, and provide a place to record
both fatal and non-fatal errors. Such data can allow system
administrators, programmers, and managers to monitor automated,
unattended processes. SYSTEM_ERROR_LOG can use a data
dictionary/field structure similar to a Client_Error_Log table.
5 Field Column (field) Characteristics Name Description &
Indexing ERROR_DATE Date of error log entry Index - concatenated
with ERROR_TIME ERROR_TIME Time of error log entry Index - with
ERROR_DATE CALLER Program name generating the error log entry
ERROR_MESSAGE Error message generated by the caller program
USER_VIEWABLE Yes - if message also displayed on user seen page; No
if internal only message DATA_DUMP Data (if any) causing the
error
[0097] Table Name--
[0098] SYS_PARAMETERS
[0099] Table Description and function--Stores system-wide
parameters in a common table.
6 Column (field) Name Description Field Characteristics &
Indexing PARAM_ID Identifies parameter Primary Index VAR1 First
variable VAR2 Second variable VAR3 Third variable
[0100] Table Name--
[0101] CUSTOMER_APPLICATION
[0102] Table Description and function--this table can have a data
dictionary similar to the CUSTOMERS table, and can be used to
temporarily store unapproved, unprocessed customer application data
submitted by a Customer/Client Application page. When an
application is processed, appropriate records can be deleted from
this table.
7 Column (field) Name Description Field Characteristics &
Indexing See CUSTOMERS
[0103] Table Name--
[0104] MEMBERS_APPLICATION
[0105] Table Description and function--this table has may use a
data dictionary similar to PRACTICE_MEMBERS, and can temporarily
store unapproved, unprocessed customer application data submitted
by a Customer/Client Application page. When an application is
processed, appropriate records can be deleted from this table.
8 Field Characteristics & Column (field) Name Description
Indexing See PRACTICE_MEMBERS
[0106] Table Name--
[0107] CUSTOMERS
[0108] Table Description and function--Can store a unique
identifier for each customer in a permanent table. Activity logged
in CUSTOMER_MAINT_HISTORY table. Can be linked to third-party
applications for credit terms, bill to, ship to addresses, phones
and other financial data.
9 Field Characteristics Column (field) Name Description Comment
& Indexing CUSTOMER Identifies Unique identifier Primary Index
customer (account number); matches CUSTOMER in A/R system NAME
Practice Business See Practice Index Name Members for doctor data.
SALES_CONSULTANT Identifies sales Index consultant assigned to
account IPADDRESS1 Internet address Can have multiple used to link,
computers in larger identify offices. computers in customers office
IPADDRESS2 Internet address Can have multiple used to link,
computers in larger identify offices. computers in customers office
IPADDRESS3 Internet address Can have multiple used to link,
computers in larger identify offices. computers in customers office
IPADDRESS4 Internet address Can have multiple used to link,
computers in larger identify offices. computers in customers office
DISCOUNT_CODE Identifies which Code must be in Index discount code
is DISCOUNT_CODES used to calculate table. prices charged for this
customer PHYSICAL_ADDRESS Street address of practice PHYSICAL_STATE
State in which the practice is located PHYSICAL_ZIP Zip code of
physical location of practice SHIP_TO_ADDRESS Address to which
shipments go SHIP_TO_STATE State for ship to address SHIP_TO_ZIP
Zip code for ship to address MAIL_ADDRESS Mailing address
Literature, documents (for other than only (may be a PO shipments)
Box to which UPS & FedEx cannot ship) MAIL_STATE Mail address
state MAIL_ZIP Zip code for mail address ADMINISTRATOR
Administrator, manager, etc. of Customer
[0109] Table Name--
[0110] PRACTICE_MEMBERS
[0111] Table Description and function--This table can be linked to
records in a CUSTOMERS table, and can store data pertaining to
individual physicians or other health-care professionals working at
or with a practice.
10 Field Characteristics Column (field) Name Description Comment
& Indexing CUSTOMER Customer to Must be in Index - whom the
CUSTOMERS table concatenated Practice Member already with is
associated MEMBER_NAME MEMBER_NAME Name of healthcare Together with
With professional CUSTOMER, forms CUSTOMER or physician unique
record key linked to CUSTOMER MEMBER_TITLE Title (e.g., Exec.
Director) of member MEMBER_MAIL_ADDRESS Separate mailing address
for member MEMBER_MAIL_STATE Member mail address state
MEMBER_MAIL_ZIP Member mail address zip MEMBER_LICENSE_NO
Professional license for member MEMBER_LICENSE_EXPIRE Expiration
Date of member's professional license MEMBER_DEGREE1 First degree
of member MEMBER_DEGREE2 Second degree of member MEMBER_DEGREE3
Third degree of member MEMBER_DEGREE4 Fourth degree of member
MEMBER_NOTES Text/comment field DATE_NEW Date this member was added
to table DATE_LAST Last activity date
[0112] Table Name--
[0113] DISCOUNT_CODES
[0114] Table Description and function--can contain decimal values
representing a unique price to be charged or discount to be granted
to each customer. Any number of customers may use a discount code.
When a decimal value associated with a given code is changed, the
result is that all prices for all customers using that code are
changed. If a customer's discount code specifies a discount value
greater than allowed for a given product, the present invention may
limit a price to the maximum discount.
11 Field Column (field) Characteristics & Name Description
Comment Indexing DISC_CODE Discount code Identifies specific
Primary Index discount; numbering should be 10, 20, 30, etc. to
allow for insertions in future, e.g, 14 DISC.sub.-- Decimal value
VALUE for the discount to be given. NOTES Notes; text field for
commentary about a particular discount code
[0115] Table Name--
[0116] CUSTOMER_INVENTORY
[0117] Table Description and function--stores inventory at customer
office. One record for each customer/SKU combination, including all
that have been used in past, or which are to be used for next
ordering cycle; Permanent table. Activity logged in
CUSTOMER_INVENTORY_TX table.
12 Column (field) Field Characteristics & Name Description
Comment Indexing CUSTOMER Identifies customer Index - concatenated
with PRODUCT PRODUCT Identifies product at Indexed with customer's
site CUSTOMER ON_HAND_QTY Quantity of an item on hand at this
customer ROP Reorder point When on_hand_qty quantity falls to or
below this quantity, a new order is triggered for the product. ROQ
Quantity to be Ordering process ordered uses this quantity when a
product is "triggered" STATUS Activity status of Values: Index item
Active (default, normal setting) NoOrder (continue to use up
inventory, but no more orders) NoUse (do not accept scanned usage
of product)
[0118] Table Name--
[0119] PRODUCTS
[0120] Table Description and function--identifies products
available for sale at any point in time. Includes products no
longer active. One record for each product/SKU/item Number.
13 Field Characteristics & Column (field) Name Description
Comment Indexing PRODUCT_ID Identifies Primary Index product; SKU;
also is"item number" SHORT_DESCRIPTION Short description Index
appearing on most printed outputs & screens LONG_DESCRIPION
Long description Index, built so each for additional word is
indexed description separately. MANUFACTURER Company Index making
product; Must be in MANUFACTURERS table MANUFACTURER_ITEM.sub.--
Manufacturer's Index NUMBER product identifier STATUS Item status
Values: Active (default, normal usage) NoOrder (accept usage scans,
no orders) NoUse (do not accept usage scans; no activity; obsolete
or discontinued) PRODUCT_CLASS Marketing/sales Index classification
of product PRODUCT_GROUP Commodity Index classification of product
PRODUCT_LINE Financial Index reporting classification of product
SELL_START_DATE Date that new Prior to this date orders for this
orders will not be product can be processed (new processed product
so not available yet) SELL_END_DATE Date after which After or on
this date, new orders for orders will not be this product processed
cannot be (discontinued processed product) PRODUCT_PICTURE Product
Picture JPEG or GIF bit map image
[0121] Table Name--
[0122] MANUFACTURERS
[0123] Table Description and function--This table stores all
manufacturers whose products may be carried in the PRODUCTS table.
It serves as a reference and validation table for products.
14 Field Column (field) Characteristics & Name Description
Comment Indexing MANUFACTURER.sub.-- Short Primary Index ID
abbreviation for manufacturer MANUFACTURER.sub.-- Normal business
Indexed NAME name for manufacturer DATE_ADDED Date this
Manufacturer was added to the table
[0124] Table Name--
[0125] ORDERS
[0126] Table Description and function--stores orders generated by
nightly process and/or by critical ordering process, which are then
downloaded to distributor. Serves as order "header" record. Linked
to ORDER_DETAIL table where line items are stored. No maintenance
history log table. One record for each order generated and
downloaded.
15 Column (field) Field Characteristics & Name Description
Comment Indexing ORDER_NO Order Number; Generated by Primary Index
unique identifier for ordering processes; the order increments
SYSTEM_PARAMTER for order number ORDER_DATE Date order Index
generated ORDER_TIME Time order generated ORDER_SOURCE How order
was Sources are: generated AUTO --nightly process MANUAL -- manual
order entered on terminal in customer's office. CUSTOMER Customer
on the Index order LINKED_SUPPLIER Linked Supplier to Index whom
the order was downloaded ORDER_STATUS Status of the order; Values:
Index shows latest status GEN --generated only, sequence is PLACED
-- presumed downloaded to supplier S_BILLED -- supplier has
invoiced Med-e- Track C_BILLED -- system has converted supplier
invoice to customer invoices STATUS_DATE Date which status changed
SHIP_TO_ADDRESS Address to which orders is to be shipped; appears
on downloaded order data ORDER_PRODUCT.sub.-- Total value of order
TOTAL for product only; not including tax, shipping, other
charges
[0127] Table Name--
[0128] ORDER_DETAIL
[0129] Table Description and function--stores line item detail on
ORDERS. One record for each line item on an order.
16 Field Characteristics & Column (field) Name Description
Comment Indexing ORDER_DTL_ORDER_NO Order number to Index - which
this detail concatenated with record belongs ORDER_LINE_NUMBER
ORDER_LINE_NUMBER Line number for With order.
Order_Dtl_Order.sub.-- no, forms a unique identifier PRODUCT
Product identifier Index for item ordered ORDER_QUANTITY Quantity
of the product that is being ordered. SHIP_QUANTITY Quantity of the
item shipped; as reflected on an uploaded, processed supplier
invoice/packlist CUSTOMER_UNIT_PRICE Price to be charged to
customer CUSTOMER_UNI_SALES.sub.-- - Sales tax, if any TAX to be
charged customer PRODUCT_ORDERED_SUBTOTAL Value = Order.sub.--
Quantity * Customer.sub.-- Unit_price PRODUCT_SHIP_SUBTOTAL Value =
Ship.sub.-- Quantity * Customer Unit_Price
LINKED_SUPPLIER_UNIT.sub.-- Price to be paid COST Linked Supplier
for this item LINKED_SUPPLIER_PRODUCT.sub.-- Value = Ship.sub.--
SHIP_SUBTOTAL Quantity * Linked.sub.-- Supplier.sub.--
Unit_cost
[0130] Table Name--
[0131] LINKED_SUPPLIER
[0132] Table Description and function--Stores and sets up each
linked supplier, i.e., distributor that is linked into the web
site. One record for each supplier that will be, is now, or has
been linked at one time into Med-e-Track. Activity logged in
LINKED_SUPPLIER MAINT_HISTORY. Account is linked to Supplier table
in the SOLOMAN Accounts Payable subsystem.
17 Column (field) Name Description Comment SUPPLIER Supplier's ID
Unique identifier SUPPLIER_IP_ADDRESS IP Address where linking
process occurs OPEN_DATE Date the relationship was
setup/started
[0133] Table Name--
[0134] SUPPLIER_INVOICE
[0135] Table Description and function--stores uploaded invoice/pack
lists from linked suppliers. Serves as "header" record for
invoices. A given Order can have multiple invoices. Linked to
SUPPLIER_INVOICE_DETAIL records which carry line item detail.
Invoices uploaded from distributor reflect orders they have shipped
and are then used to generate Customer invoices. The uploaded
invoice data is also transferred to the Accounts Payable module of
the Solomon IV software for corporate accounting/tracking. Customer
invoices generated and recorded in this table are also transferred
to the Accounts Receivable module.
18 Column (field) Field Characteristics & Name Description
Comment Indexing INTERNAL_INVOICE.sub.-- Internal, system Insures
unique ID generated invoice invoice identifier identification in
case of similar supplier invoicing schemes/numbers ORDER Order
number which the invoice is a shipment/bill for. SUPPLIER_INVOICE
Invoice identifier Uploaded invoice from supplier data
SUPPLIER_INVOICE.sub.-- Date of/on supplier DATE invoice that was
uploaded SUPPLIER_INVOICE.sub.-- Time that supplier Invoice time
may TIME invoice was not appear in uploaded supplier database.
AP_DATE Date supplier invoice data posted to AP tables AP_TIME Time
supplier invoice data was posted to AP tables CUSTOMER_INVOICE
Invoice ID Presence indicates generated by nightly that nightly
process process to bill has run, generating customer for this
separate invoice shipment number. CUSTOMER_INVOICE.sub.-- Date
customer DATE invoice generated by nightly process
CUSTOMER_INVOICE.sub.-- Time of customer TIME invoice generation
process. AR_DATE Time SHIPMENT Shipment document May be separate ID
Index on this field number from invoice no. for packing slip data
retrieval. SHIP_VIA Shipping method; e.g., UPS Ground
[0136] Table Name--
[0137] INTERNAL_INVOICE_SHIP DETAIL
[0138] Table Description and function--This table contains shipment
information for the shipment covered by the Internal_Invoice. There
is one record for each carton comprising the shipment covered by
the Invoice. It is linked to the Internal_Invoice table.
19 Column (field) Name Comment INTERNAL_INVOICE_ID SHIP_CARTON_ID
Together with invoice id, comprises unique record ID TRACKER_NO
[0139] Table Name--
[0140] SUPPLIER_INVOICE_DETAIL
[0141] Table Description and function--this table carries the line
item level detail for invoices uploaded from the linked
supplier/distributor. Some line item level detail is used to update
Order data to support quick order status inquiries and track
back-ordered items.
20 Column (field) Name Description Comment INTERNAL_INVOICE_ID
Identifier for internal invoice no INTERNAL_INVOICE_LINE.sub.--
Line number for internal Together with Internal NUMBER invoice
Invoice identifier, forms unique key SHIPPED_PRODUCT Product
shipped SHIP_QUANTITY Quantity shipped UNIT_PRICE Supplier's Unit
price UNIT_TAX Sales Tax (if any) EXTENDED_PRICE Value =
Ship.sub.-- Product only subtotal qty * Unit_Price LINE_TAX_TOTAL
Value = Ship_Qty * Unit.sub.-- Tax LINE_TOTAL_AMOUNT EXTENDED_PRICE
+ Line.sub.-- Tax_total
[0142] Table Name--
[0143] SUPPLIER_COST
[0144] Table Description and function--Stores prices to be paid to
each Linked Supplier in the system. One record for each linked
supplier and SKU. Permanent table. Activity logged in
SUPPLIER_COST_MAINT_HISTORY table.
21 Column (field) Field Characteristics Name Description Comment
& Indexing
[0145] Table Name--
[0146] SUPPLIER_COST_MAINT_HISTORY
[0147] Table Description and function--records changes made to
SUPPLIER_COST records. One record for each field changed during an
update of a given record.
22 Column (field) Field Characteristics Name Description Comment
& Indexing
[0148] Table Name--
[0149] PRODUCT_MAINT_HISTORY
[0150] Table Description and function--records changes made to
PRODUCTS table. One record for each field changed during an update
of a given record.
23 Column (field) Field Characteristics Name Description Comment
& Indexing
[0151] Table Name--
[0152] PRODUCT_CLASS
[0153] Table Description and function--Identifies valid product
classes; serves as a reference table.
24 Column (field) Name Description PROD_CLASS_CODE Code for product
class description DESCRIPTION Text/descriptive name for
product_class code
[0154] Table Name--
[0155] PRODUCT_GROUP
[0156] Table Description and function--Identifies valid product
groups; serves as a reference table.
25 Column (field) Name Description PRODUCT_GROUP_CODE Code for
product group description DESCRIPTION Text/descriptive name for
Product Group Code.
[0157] Table Name--
[0158] PRODUCT_LINE
[0159] Table Description and function--Identifies valid product
lines; serves as a reference table.
26 Column (field) Name Description PRODUCT_LINE_CODE Code for
product line description DESCRIPION Text/descriptive name for
product line code
[0160] Table Name--
[0161] CUSTOMER_INVENTORY_TRANSACTIONS
[0162] Table Description and function--transaction history table
for activity altering data in Customer_Inventory table; one record
for each change recorded; main use will be recording inventory
activity, although transactions will be generated for changes to
status, ROP, ROQ and Notes values, i.e., non-on-hand quantity
values. Each transaction affects only one data field. Transaction
code indicates what update/change activity was performed, and
therefore which data field was updated.
27 Column (field) Name Description Comment TRAN_NO Unique
identifier for each Functions like a transaction; non significant
check number. TRAN_DATE Date transaction processed TRAN_TIME Time
transaction processed TRAN_ID Code identifying transaction Values:
TBD PRODUCT Product identifier of item affected QTY CUSTOMER
Customer whose inventory data was updated/changed USER_ID User
performing transaction BEFORE_VALUE Value of data field prior to
update action AFTER_VALUE Value of data field after update
action
[0163] Table Name--
[0164] CONTACT_LOG
[0165] Table Description and function--this table accepts
transactions from the consultant request function, enters and
tracks them for followup and management purposes.
28 Column (field) Name Description SALES_CONSULTANT_ID ID in
Sales_Consultants table. REQUEST_DATE Date customer initiated
request REQUEST_TIME Time customer initiated request
[0166] Table Name--
[0167] CUSTOMER_USERS
[0168] Table Description and function--This table stores
information about each user at a customer's site. There are two
classes of users, supervisor and staff. Only a user with supervisor
rights can add new users. The web page "hard-wires" who the
customer is so customer users are kept associated with the correct
customer.
29 Column (field) Field Characteristics Name Description Comment
& Indexing
[0169] Table Name--SALES_CONSULTANTS
[0170] Table Description and function--This table stores data about
each Sales Consultant. It is essentialy a reference table.
30 Column (field) Name Description SALES_CONSULTANT_ID Unique
identifier * record key CONSULANT_SHORT_NAME Short name,
nicknemame, initials to be used on screens, reports
CONSULTANT_FULL_FIRST_NAME First name of consultant
CONSULTANT_LAST_NAME Last name of consultant
[0171] It should be obvious to one skilled in the art that the
present invention allows inventory tracking and management through
a combination of manual, semi-automated, and automated means. The
present invention also allows a manager to purchase in bulk and
take advantage of promotions and other special offerings, thus
reducing inventory costs. In addition, the present invention
reduces the amount of inventory which must be kept on-hand by
accurately modeling and predicting inventory needs. The present
invention further provides customers with the ability to review new
equipment, communicate with each other, and buy and sell excess
inventory, refurbished equipment, and the like.
[0172] While the preferred embodiment and various alternative
embodiments of the present invention have been disclosed and
described in detail herein, it may be apparent to those skilled in
the art that various changes in form and detail may be made therein
without departing from the spirit and scope thereof, including
applying the present invention to fields other than healthcare.
* * * * *