Method and system for specialized handling of packages

Methods and systems for providing information relating to specialized handling of a package, and articles contained within the package. Data relating to a package containing an article that requires specialized handling is associated with a unique identifier and stored in a database. The unique identifier is also included in a machine readable code affixed to the package. A recipient of the package scans the machine readable code using an application downloaded into a computing device, which extracts the unique identifier from the machine readable code and transmits a request to the database. The database may then identify data stored in the database that relates to the article based on the unique identifier, and transmit the data to the computing device for display to the recipient. The data may include a packing list, instructions for how to unpack the package, and how to store or use articles contained within the package.

FIELD OF THE INVENTION

The present invention relates generally to methods and systems for managing packages requiring special handling and, more particularly, to methods and systems for providing special handling instructions to recipients of the packages, and tracking the handling of the packages.

BACKGROUND OF THE INVENTION

Certain industries and fields of endeavor, such as clinical studies of pharmacological products, sometimes require that articles be shipped with special handing. The viability, metabolic state (e.g., active/dormant), life span, or other properties of these articles are dependent on proper handling both during shipment and after reception of the article. For example, vaccines, cell cultures, vials of injectable drugs, drugs including complex molecules in liquid form, and many other materials must typically be kept within a range of temperatures to remain viable and/or active. These materials must therefore be stored, transported, and maintained at controlled temperatures by a temperature-controlled supply chain that provides a strict system of temperature control to assure the potency and safety of the materials.

Because a single broken link in the temperature-controlled supply chain can result in loss of the materials, it may also be necessary to unpack articles requiring special handling within a limited amount of time and under specific environmental conditions to prevent damage to, or contamination of, the articles. Thus, special handling requirements may extend to how the package is treated at the receiving end. Packages may also contain clinical trial samples, in which case it may also be necessary for the recipient to track and distribute the articles in the package in a proscribed manner to preserve the integrity of clinical trial results and the identity of the participant.

Packages requiring special handling may also include a tracking device that collects data on environmental conditions during shipment. For example, a tracking device may be included in the package that monitors the temperature of an article in the package to determine if the article may have been damaged because it was not kept within a required temperature range during shipment. When a tracking device is included in the package, it may also be necessary for the tracking device to be deactivated and its data retrieved as part of the receiving process.

Because packages containing articles requiring special handling typically have specific time sensitive needs with regard to how they are handled at the receiving end, it is important that the recipient know any special processing instructions at the time the article is delivered. However, packages that require special handling at the receiving end may arrive with other packages that do not require special handling. Moreover, because the requirements for handling each package may differ, there is a danger that the receiving party will handle the package improperly, or not realize that the package requires special handling, resulting in damage to or loss of the package contents. This can be especially problematic for pharmaceutical testing facilities, which typically receive multiple shipments from multiple sources per day, with each shipment including packages related to different clinical studies.

Thus, there is a need for improved methods and systems of tracking and receiving packages requiring special handling, of providing handling instructions for these packages, and for reducing the potential for improper handling of the packages.

SUMMARY OF THE INVENTION

The present invention overcomes the foregoing problems and other known shortcomings, drawbacks, and challenges of providing specialized handling of packages in a complex distribution and/or use environment. While the present invention will be described in connection with certain embodiments, it will be understood that the present invention is not limited to these embodiments. To the contrary, the present invention includes all alternatives, modifications, and equivalents as may be included within the spirit and scope of the present invention.

In one embodiment of the present invention, a method for providing instructions for handling a package requiring specialized handling is provided. The method includes storing, in a database, data that includes a packing list for the package and relates to the instructions on handling the package. The method further includes associating a unique identifier identifying the package with the data, and providing a machine readable code that includes the unique identifier and is associated with the package. In response to the machine readable code being scanned by a scanning device, the method transmits the data from the database to a data receiving device.

In another embodiment of the present invention, a method is provided for managing inventory. The method includes receiving the package including the machine readable code, and scanning the machine readable code with the scanning device. The method further includes, in response to scanning the first machine readable code, receiving data including a packing list at a receiving device. The method further includes displaying the packing list on the receiving device.

In another embodiment of the present invention, a system that provides instructions for handling the package requiring specialized handling is provided. The system includes a processor and memory including program code. The program code is configured so that when the code is executed by the processor, the code causes the system to store data that includes the packing list and the instructions for handling the package in the database, and associate the unique identifier identifying the package with the data stored in the database. The code is further configured to cause the processor to provide the machine readable code that includes the unique identifier and is associated with the package. In response to the machine readable code being scanned by a scanning device, the program code further causes the processor to transmit the data that includes the packing list for the package and that relates to the instructions for handling the package from the database to the data receiving device.

In another embodiment of the present invention, a system is provided for managing inventory. The system includes a processor and memory including program code. The program code is configured so that when the code is executed by the processor, the code causes the system to scan the machine readable code on the received package, receive the data including the packing list in response to scanning the machine readable code, and display the packing list.

In another embodiment of the present invention, a computer program product is provided. The computer program product includes a non-transitory computer readable storage medium, and program code stored on the non-transitory computer readable storage medium that, when executed by a processor, causes the processor to store data in the database that includes the packing list and relates to instructions on handling the package. The program code may further cause the processor to associate the unique identifier identifying the package with the data, and provide the machine readable code associated with the package that includes the unique identifier. In response to the machine readable code being scanned by the scanning device, the program code may further cause the processor to transmit the data from the database to the data receiving device.

In another embodiment of the present invention, a computer program product is provided. The computer program product includes a non-transitory computer readable storage medium, and program code stored on the non-transitory computer readable storage medium that, when executed by a processor, causes the processor to scan the machine readable code on the received package. In response to scanning the machine readable code, the program code may cause the processor to receive data including the packing list for the received package, and display the packing list.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention are directed to methods and systems for providing instructions on handling packages that require special handling by the package recipient. The package may comprise a shipping container, one or more payloads contained within the shipping container, and a label including a machine readable code that can be read by suitable computing device, such as a smart phone, tablet computer, or other “reading device” configured to read the machine readable code. Each payload may comprise one or more articles in a separate container within the shipping container, and may include an additional label including another machine readable code. The articles comprising the payload may be articles being shipped to a specific recipient, that are to be stored in a specific location, or that are otherwise related.

The machine readable code may include data uniquely identifying the package, payload, and/or article to which the label is affixed, and data identifying a link to a network node, such as a database. The reading device may include an application that transmits a query to the database in response to scanning the machine readable code. The database may store data relating to the package, payload, and/or article that is provided to the reading device in response to the query. This data may include package handling instructions, such as how to unpack the package, how to distribute payloads and/or articles in the package, and how to store the payloads and/or articles once they are unpacked. The handling instructions may be associated with the unique identifier in the database so that the provided instructions can be specific to the particular package, payload, and/or article scanned.

In response to scanning the machine readable code, the reading device may use the link identified by data extracted from the machine readable code to communicate with the database and download the handling instructions. This communication may also provide a proof of delivery function by notifying the database that the package, payload, and/or article has been received. The reading device may also request the user enter information confirming receipt of the package, or informing the supplier of missing or damaged articles.

By storing the unpacking instructions in the database rather than, or alternatively, in addition to including the instructions with the package, the instructions may be updated at any time, including after the package has shipped. Thus, the instructions may be kept more current than would be possible for instructions provided on a sheet shipped with the package. In addition, because instructions are provided in response to scanning the machine readable code, a package recipient may be automatically and immediately alerted to any special handling requirements at the time the package is received.

The application loaded on the reading device may allow labels to be scanned by a recipient wherever the package, payload, and/or article is found and without specialized equipment. To this end, the link identifying data may include a Uniform Resource Identifier (URI), such as a Uniform Resource Locator (URL), Uniform Resource Name (URN), or web address that links the reading device to the unpacking instructions via the Internet. The link may also be a link unique to the package, payload, and/or article, so that the link both identifies a communication path and provides the unique identifier.

Embodiments of the invention are not limited to mobile computing devices, such as smart phones or tablet computers, or computing devices that communicate with the database over the Internet. Indeed, a person having ordinary skill in the art would understand that alternative embodiments of the present invention may have the application implemented on any type of suitable computing device, such as a desktop computer in a shipping and receiving area. Moreover, this person of ordinary skill would further understand that the link may include any suitable electronic address that provides a location of an electronic file in a computer filing system or data network.

The method and system of the present invention may also be applied in the distribution of temperature sensitive laboratory reagents. Examples of these reagents may include enzymes shipped in a frozen condition maintained by ice packs or dry ice, or cell culture media shipped in a refrigerated condition. Such reagents are often stocked in freezers or refrigerators in a university or other research laboratory, withdrawn for particular experiments, and periodically restocked. Various systems may be used to track the amounts of various reagents withdrawn by particular scientists or technicians. The withdrawn amounts may be charged to a corresponding account, and the reagents periodically restocked by a distributor or manufacturer of the respective enzyme and/or cell culture media. In some instances, because of consignment arrangements, invoicing to a customer institution may be associated with individual withdrawals from the freezer or refrigerator rather than with the restocking order and shipment.

To facilitate this invoicing and restocking, one or more machine readable codes may be placed on the exterior of the shipping container, payload containers within the shipping container, and/or articles in the payload containers. When read on receipt, these codes may direct a computing device at the receiving location to a database which may contain: (1) a list of the products in the shipment, and/or (2) instructions on putting the contents of the shipment into a particular freezer or a particular refrigerator, or instructions on putting a portion of the contents into one freezer or refrigerator and for putting other portions of the contents into a different freezer or refrigerator. The instructions may also prompt the user to provide information that allows the system to confirm that the contents were received in good condition, or to address missing or damaged contents.

Referring now toFIG. 1, a system10for providing special handling and tracking of packages in accordance with an embodiment of the present invention includes a reading device, such as computing device12, and a network node14in communication with the computing device12via a network16. The system10may be part of a Global Project Management (GPM) system that manages a plurality of activities that are needed to run one or more projects, such as a clinical trial. Thus, and by way of example, the system10may include hardware and/or software modules (not shown) configured to invoice a client for services performed in connection with a clinical trial. One such service may be delivery of clinical trial materials to a clinical investigation facility. The scope of services that may be provided by the system10may further include inventory and product management modules, such as packaging of trial drug samples, comparators, and/or placebos into bottles or blister packs for use in a clinical trial. This packaging may occur before any allocation of particular inventory to particular clinical investigators has been made. However, the system10is not limited to clinical trial applications. Other applications may include, but are not limited to, quality management systems configured to analyze, measure, control, document, and validate delivery of environmentally sensitive articles to research facilities, medical facilities, laboratories, or any other user of environmentally sensitive articles.

In an embodiment of the present invention, the system10is configured to provide handling instructions to a recipient of a package17. The package17may include a shipping container18that contains one or more payloads requiring special handling, and a receiving label20that includes one or more machine readable codes21. The computing device12may be a smart phone, a tablet computer, or any other device suitable for scanning the machine readable code21and communicating with the network node14and/or other system resources over the network16. The network16may include one or more local access networks (LANs), wireless networks (private or commercial), and/or publically accessible networks, such as the Internet, that communicatively couples the computing device12to the network node14.

The computing device12may be coupled to the network16using any suitable communication link13, such as a wireless communication link. To this end, the network16may include a wireless access point (not shown) that provides a wireless interface, such as an IEEE 802.11 air interface (commonly known as Wi-Fi) that operatively couples the computing device12to the network16. The network16may thereby allow the computing device12to establish the communication link13as needed to communicate with the network node14and/or any other computer resources connected to the network16without requiring the computing device12be physically tethered to the network16. The communication link13may also be provided by a wireless carrier that provides network access through a suitable commercial air interface, such as WiMax, GPRS, EDGE, 1xRTT, EV-DO, and/or UMTS. In any case, persons having ordinary skill in the art of computer networks will understand that any suitable wireless or wire-line protocol may be employed to provide communication between the computing device12and the network16. The present invention is therefore not limited to a specific type of computing device12, communication link13, or network16. Persons having ordinary skill in the art will further understand that embodiments of the present invention also include devices that provide the functions of the computing device12, but that are physically tethered to the network. For example, a desktop computer having a wired network connection may be used to scan the receiving label20of shipping container18as packages are received in a shipping and receiving department.

The computing device12includes a processor22, a memory24, a network interface26, a human-machine interface (HMI)28, and a scanning device30. The processor22may include one or more processors selected from microprocessors, micro-controllers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, and/or any other devices that manipulate signals (analog and/or digital) based on operational instructions that are stored in memory24. Memory24is operatively coupled to the processor22, and may be a single memory device or a plurality of memory devices including but not limited to read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, and/or any other device capable of storing data.

Processor22may operate under the control of an operating system32that resides in memory24. When present, the operating system32manages the computing device resources so that program code embodied as one or more applications34residing in memory24may have instructions executed by the processor22. In an alternative embodiment, the application34may be executed by the processor22directly, in which case the operating system32may be omitted. The network interface26of computing device12may include suitable radio transceiver circuitry. The network interface26may thereby be configured to support the wireless communication link13between the computing device12and the network16.

The human-machine interface28is operatively coupled to the processor22of computing device12, and includes at least one output device and one input device. Suitable output devices for the human-machine interface28include, but are not limited to, a touch screen, an alphanumeric display, an audio transducer, and/or any other visual, audible, and/or tactile indicator. Likewise, suitable input and/or control devices include, but are not limited to, the aforementioned touch screen, an alphanumeric keyboard or keypad, a pointing device, pushbuttons, a microphone, and/or any other device capable of accepting commands or input from the user and transmitting the entered input to the processor22. The human-machine interface28thereby provides a mechanism whereby a user may input data to, and receive data from, the processor22.

The scanning device30is configured to scan the machine readable code21, the most common forms of which are referred to as a barcode (in the case of a 1-dimensional code) or a Quick Response (QR) code (in the case of a 2-dimensional code). Although the embodiments of the present invention described herein are generally described as using printed barcodes and/or QR codes, it should be understood that embodiments of the present invention may also be used with other devices configured to store data, such as a Radio Frequency Identity (RFID) tag attached to or placed in the shipping container18. The term “machine readable code” should therefore not be considered as limiting the present invention to barcodes and/or QR codes as a method of storing data on the receiving label20. Rather, the term “machine readable code” as used herein is intended to encompass all forms of data storage devices that can be read by scanning a label or device included in or on the shipping container18.

To obtain data from the machine readable code21, the scanning device30may include a light source, such as a laser, that illuminates the machine readable code21, and a photo detector that generates an electrical signal in response to light reflected from the machine readable code21. The scanning device30may, in addition to or instead of the light source and photo detector, include an image capturing device (e.g., a digital camera) that captures images representative of the surrounding environment. These captured images may be processed into any suitable digital image file format known in the art, such as a raw image file, bit map, or Joint Photographic Experts Group (JPEG) formatted image (to name but a few) by the processor22and stored in memory24. A digital image processing technique may then be used by the application34to decode any machine readable code21that appears in the captured image. In embodiments of the present invention including an RFID tag, the scanning device30may include a radio transceiver (not shown) configured to transmit RF signals that activate the RFID tag, and receive RF signals from the RFID tag that are transmitted in response to said activation.

Similarly as described with respect to the computing device12, the network node14may include one or more processors40, a memory42, a human-machine interface44, and a network interface46. The network interface46provides a communication link between the processors40and the network16using a suitable network communication protocol, such as Transmission Control Protocol/Internet Protocol (TCP/IP) over Ethernet.

The human-machine interface44includes one or more suitable output devices, such as a color monitor or other visual display, one or more speakers, one or more formatted electronic media writers, such as a flash memory card, memory stick, USB-stick, CD, magnetic disk, and/or any other suitable output devices capable of storing data or conveying data to the system user. The human-machine interface44may also include suitable input devices such as an alphanumeric keyboard, a pointing device or mouse, a touch pad, a microphone, one or more readers of the aforementioned formatted electronic media, or any other input devices capable of accepting commands or input from the user and transmitting the entered input to the processor40.

The network node14may also include mass storage device48. The mass storage device48may comprise a single mass storage device or a plurality of mass storage devices including but not limited to hard drives, optical drives, tape drives, non-volatile solid state devices and/or any other device capable of storing digital data. A database50residing in one or more of the memory42or the mass storage device48(shown) may include data relating to packages17so as to provide a searchable database that receives data from, and provides data to, one or more system applications, such as the application34. Although shown as a single database50, database50may include multiple databases configured to support various system functions. Moreover, although depicted as a single database residing in a single network node, a person having ordinary skill in the art would understand that the database50and/or the network node14may represent one or more hardware platforms each hosting one or more applications and/or databases. The network node14, database50, and any applications residing therein may also be provided as a service over the network16as part of a cloud computing system.

The network node processor40typically operates under the control of an operating system52that resides in memory42and executes program code embodied as one or more applications54residing in memory42. The one or more applications54may include a plurality of program modules and/or programs that support various system functions. These applications54may access the database50to provide data to, and store data from, the application34in response to requests received over the network16. One or more of these applications54may also be copied from the network node14to another memory, such as the memory24of computing device12, as needed to perform functions related to the operation of the system10.

Although illustrated as being deployed in a single hardware platform inFIG. 1for simplicity's sake, it should be understood that the network node14may represent a plurality of network nodes, hardware platforms, software programs, and/or modules that comprise the system10. Moreover, various program code described herein may be identified based upon the application or software component within which it is implemented in a specific embodiment of the present invention. However, it should be appreciated that any particular program nomenclature used herein is merely for convenience, and thus the present invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Furthermore, given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, APIs, applications, applets, etc.), it should be appreciated that the present invention is not limited to the specific organization and allocation of program functionality described herein.

Thus, persons skilled in the art will recognize that the exemplary operational environment illustrated inFIG. 1is not intended to limit the present invention. Embodiments of the present invention may therefore include alternative hardware and/or software environments, and incorporate different numbers and configurations of hardware and software resources without departing from the scope of the present invention.

Referring now toFIG. 2, in which like reference numerals refer to like features inFIG. 1, and in accordance with an embodiment of the present invention, the receiving label20is illustrated in more detail. The receiving label20may include an indicia56configured to capture the attention of a package recipient (such as the illustrated stop sign symbol), written instructions58informing the recipient to perform some task before unpacking (such as scanning the receiving label20), and the machine readable code21, which is depicted as a QR code. The instructions58may also inform the recipient of the need to download the application34, and how the application34may be obtained (e.g., by visiting a web site). Optionally, the receiving label20may also include additional data and/or machine readable codes (not shown), that provide additional information. This additional information may include, for example, possible hazards associated with the contents of the shipping container18, required safety codes, U.S. Department of Transportation (DOT) shipping information, or any other package data.

The machine readable code21may include a unique identifier that uniquely identifies the package, payload, and/or article to which the label20is affixed, and data identifying a link that can be used to obtain data relating to the package, payload, and/or article. The unique identifier may include, for example, a shipment number and authentication code. The authentication code may be configured so that simply providing a valid shipment number will not be sufficient to retrieve package data from the database50. To this end, the authentication code may include encoded data that is known only to the database50and/or network node application54. The authentication code may thereby be used to confirm that a received request for information is legitimate. This type of confirmation may be used, for example, to protect sensitive information relating to clinical trial supplies, samples, test subjects, clients, results, or any other sensitive data. An example of an authentication code would include a code comprising a shipment ID number and an authentication date. In an embodiment of the present invention, the unique identifier may be a 128-bit number that would be difficult to guess. This 128-bit unique identifier may be a globally unique identifier, and may be generated in a number of ways known in the art. For example, the 128-bit number may be defined by a combination of unique settings or parameters of a network node (e.g., an IP address, network MAC address, clock date/time, and/or random number) related to a specific point in time.

Referring now toFIG. 3, in which like reference numerals refer to like features inFIG. 1, a flow chart60illustrates a process by which the system10may: (1) associate a unique identifier with the package17and/or the contents thereof, and (2) generate one or more receiving labels20for application to the package17and/or the contents thereof. In block62, a special handling feature may be activated in the system10. In response to activation of the special handling feature, the database50may generate a scan configuration table that includes an identity number, name, description, dollar value, and an active/inactive flag bit associated with the package17, one or more contents of the package, and/or a study requiring special handling. The feature activation may be for a single package17that requires special handling, a single payload and/or article in the package17, a plurality of payloads and/or articles in the package17, or a plurality of packages17payloads and/or articles that are involved in a clinical study. For example, the feature may be activated for all packages17containing articles comprising samples being administered to test subjects as part of a clinical study for a pharmaceutical product. Activation of this special handling feature may cause the system10to require receiving labels20be printed and affixed to all packages17, payloads, and/or articles in the packages17identified as being subject to this feature. For example, activation of the feature at a study level may require that all packages17, payloads, and/or articles related to a particular clinical study be provided with the receiving labels20. Activation of the special handling feature may also cause the database50to associate scanning of a receiving label20with an order for a product, associate the order with a protocol for administering the product, and/or associate the protocol with a client.

In block64, a flag may be set in the database50indicating that an identified package17, payload, and/or article requires special handling (e.g., is part of the clinical study). The flag may be set in the scan configuration table, and may be set at a study level (i.e., any package and/or payload involved in the study is flagged) or at a package17, payload, and/or article level (i.e., only that package17, payload, and/or article is flagged). In response to setting the flag, the database50may assign a unique identifier66to the package17, payload, and/or article. The database50may also associate a file space68in the database50with the package17, payload, and/or article based on the unique identifier66. This file space68may be populated with one or more data structures69that include data relating to the package17and/or the contents thereof. This data may include, for example, data specific to the particular package17, payload, and/or article, such as a packing list, detailed unpacking instructions, a current status of package17, payload, and/or article, a shipping history of the package17, payload, and/or article, destination and storage instructions for the payload and/or article once it is removed from the package17.

Data in the file space68may be accessed by various system applications, such as the mobile and node applications34,54, to store and retrieve data specific to the package17, payload, and/or article identified by the unique identifier66. Additional data stored in the database50may include, but is not limited to: a receiving charge (which may be stored at a default level, and may be subject to study and client overrides), a transaction record with data indicative of what packages17, payloads, and/or articles have been scanned for a particular study, the aforementioned detailed unpacking instructions, and flags at the study, package, payload, and/or article level that activate generation of the receiving label20and billing for the package17, payload, and/or article.

In block70, the one or more payloads to be shipped in the package17are packed with articles and made ready to ship. The articles may include, for example, pharmaceutical samples that are to be administered to a test subject as part of a clinical study. In block72, a query74is transmitted to the database50requesting shipping data relating to the package17, payloads, and/or articles in the package17. The query74may be transmitted, for example, by a shipping management application (not shown) that is part of the system10. In response to the query74, the database50may determine that the package17and/or one of the one or more payloads and/or articles comprising the package17is flagged for special handling. Based on this determination, the database50may transmit a response76that includes the unique identifier66and data identifying a link to the file space68. In response to receiving the response76, the shipping management application may proceed to block78.

In block78, the shipping management application may determine if the package17, payload, and/or article is flagged as being related to the clinical study or as otherwise requiring special handling. This determination may be based on data included in the response76. If the package17, payload, and/or article is flagged (“Yes” branch of decision block78), the shipping management application may proceed to block80and cause one or more receiving labels20to be printed and affixed to the package17, payload, and/or article prior to shipment. The shipping management application may also prompt the shipper to scan the receiving labels20to verify that the receiving labels20is configured properly and recognized by the system10. This scanning operation may also generate a data point in the database50that verifies the package17, payload, and/or article was shipped at a certain point in time. The receiving labels20may include the machine readable code21, which in turn includes data corresponding to the unique identifier66, and data identifying a link to the file space68. The package17, payload, and/or article may thereby be associated with the file space68in the database50by the receiving labels20. The system10may be further configured so that the receiving labels20may be reprinted if, for example, the receiving labels20become damaged.

If the package17, payload, and/or article is not flagged in the database (“No” branch of decision block78), the shipping management application may omit printing of the receiving labels20. The number and type of receiving labels20generated may vary depending on the configuration of the package17. For example, a package17containing a single payload, or multiple payloads that do not have individual handling instructions, may be provided with a single receiving label20affixed to the outside of the package17. Packages17containing payloads and/or articles that are to be stored in different locations, or that otherwise require different handling, may have additional labels affixed to the payloads and/or articles in the package17. These additional receiving labels20may provide unique identifiers that are associated with instructions in the database50specific to the payload and/or article to which they are attached. In any case, in block82the package17is shipped to the recipient.

Referring now toFIGS. 4 and 5, in which like reference numerals refer to like features inFIG. 1, an exemplary computing device12is illustrated as a smart phone on which the application34has been installed. The application34may be installed, for example, by downloading the application34from a network node, such as a web server. Once installed on the computing device12, the application34may be accessed via an application icon84, which may be displayed on the human-machine interface28(e.g., a touch screen) of computing device12along with additional icons86that provide access to other applications on the computing device12.

In response to activation of the application icon84, the application34may display a start-up screen88that includes a scan history button90, a scan button92, a package information button94, a packing list button96, an unpacking instructions button98, a receive shipment button100, and a data display window102. In the illustrated embodiment, the buttons90,92,94,96,98,100may comprise a main menu that is displayed on all screens presented by the application34. The main menu may thereby enable the computing device user to toggle between information quickly regardless of their location in the application34. The data displayed in the data display window102may depend on which button90,92,94,96,98,100is activated. In an embodiment of the present invention, the application34may start up in a scan mode. In the scan mode, the data display window102may display images that are currently being captured by a built-in camera of the computing device12to facilitate aiming the computing device12at the receiving label20.

Referring now toFIG. 6, in which like reference numerals refer to like features inFIG. 1, a flow chart110is presented that illustrates an exemplary process by which the package17may be received at a clinical investigation facility. In block112the package17is delivered to the clinical investigation facility. The package17may be delivered as part of a shipment for a clinical study, or as part of a routine daily drop-off by a shipping company or the U.S. Postal Service. In block114, a system user receiving the package17may determine if the package17includes a receiving label20having the machine readable code21. If the package17does not have the receiving label20(“No” branch of decision block114), the package17may be received using the clinical investigation facility's conventional package receiving process. If the package17does include the receiving label20(“Yes” branch of decision block114), the process may proceed to block116.

Referring now toFIG. 7, in which like reference numerals refer to like features inFIG. 5, and with continued reference toFIG. 6, in block116, the user may begin the process of scanning the receiving label20by activating the application icon84, or if the application34is already running, the scan button92. In response to activation of the application icon84or scan button92, the application34may open a screen in the data display window102that enables the user to scan the machine readable code21. The application34may use the built-in camera of the computing device12as the scanning device30to “scan” the machine readable code21. As depicted inFIG. 7, to assist the recipient in capturing an image of the receiving label20, the application34may display images currently being captured by the built-in camera in the data display window102. The display may also include on-screen instructions instructing the user to point the camera at the machine readable code21and take a picture. In response to the recipient providing an indication that the machine readable code21is suitably framed in the camera (e.g., by tapping the data display window102or scan button92), the application34may capture the displayed image. The application34may then identify the machine readable code21in the captured image and extract the data contained therein.

In response to scanning the receiving label20, the process may proceed to block118. In block118, the application34determines the unique identifier66and the data identifying the link to the file space68based on data extracted from the machine readable code21. The application34may then transmit a query120including the unique identifier66to the database50. This query may be transmitted over the link identified by the link identifying data extracted from the machine readable code21. In an embodiment of the present invention, the application34may be configured to direct all communication with the system10through the database50. The database50may thereby prevent a person who has hacked the application34from having direct access to the entire system10.

In response to receiving the query120, the database50may determine if the unique identifier includes a valid authorization code. If the authorization code is valid, the database50may proceed to identify the file space68associated with the package17and transmit a response122to the computing device12. In an alternative embodiment, the response122may be transmitted to some other suitable data receiving device, such a desktop computer. In other words, it is contemplated that the data receiving device may comprise the mobile scanning device, or alternatively, the data receiving device may comprise a computing device independent of the scanning device. The response122may include information relating to the package17, which may be stored as one or more data structures69in the file space68. This data may include, for example, clinical protocol data, a shipment number, a control/client order number, a shipment address, packing list information (e.g., a description and quantity of each payload and/or article in the package17, as well as lot and part numbers, if applicable), storage requirements, and detailed unpacking instructions.

The database50may also record use of the application34to scan the receiving labels20. The database50may thereby build a record that can be used to track metrics relating to use of the application34. Data stored in this application record may include data relating to use of the application34for a specific shipment, package17, payload, and/or article, the date and time the receiving labels20was scanned, a location of the computing device12at the time of the scan, as well as IP Addresses and MAC addresses of the computing device12and any intervening network nodes.

If the authorization code is not valid, the database50may transmit a response122to the application34indicating that an error has occurred. The database50may also record the occurrence of the error in an error table. This error table may be maintained separately from a table of successful scans to facilitate tracking of errors. The error table may, for example, be used to provide an alerting feature that alerts a support team when an error occurs more than predetermined number of times, which could indicate an attempt to access clinical trial data by an unauthorized party.

In an alternative embodiment of the invention, the application34may be configured to determine if the machine readable code21contains valid data based on an internal analysis prior to sending the query120. This alternative embodiment may thereby reduce traffic between the computing device12and database50. In any case, in response to receiving the response122, the application34may proceed to block124.

Referring now toFIG. 8, in which like reference numerals refer to like features inFIG. 7, and with continued reference toFIG. 6, in block124, the application34may determine if the authentication code is valid based on either the response122received from the database50, or on the internal analysis of the data received from the machine readable code21. In either case, if the authorization code is not valid (“No” branch of decision block124), the application34may proceed to block126. In block126, the application34may display an error message127indicating that the machine readable code21contained invalid data. Invalid data may include, for example, an authorization code that does not match the authorization code in the database50. The application34may also display an error message if the application has not yet been enabled for the clinical study (e.g., the clinical study has not been activated in the system), the application34was unable to establish contact with the database50, or for any other suitable reason. By requiring that the authentication code transmitted to the database50match the authentication code in the database50, the system10may make it difficult for a user to access study or package data in the database50unless they have the package17in their possession.

Referring now toFIGS. 9-13D, in which like reference numerals refer to like features inFIG. 8, and with continued reference toFIG. 6, if the authorization code is determined to be valid (“Yes” branch of decision block124), the application34may proceed to block128. In block128, the application34may display information relating to the package17. This information may include data residing in the file space68that was included in the response122, data extracted directly from the machine readable code21, data retrieved from some other location (e.g., a web site), or any other data relating to the package17that is accessible by the computing device12. As depicted inFIGS. 9-13D, this data may be selectively displayed in the data display window102as text, images, or in any other suitable form based on which button90,94,96,98,100is activated by the user.

As depicted inFIG. 9, in response to activation of the package information button94, the application34may display data relating to the package17. This data may include data relating to a clinical study to which the articles in the package17are related. To this end, and as shown in the exemplary embodiment, the data may include the name of a clinical investigator130, an identity of a test site or testing facility132that is performing the clinical study, contact information134for the clinical investigator130and/or testing facility132, a clinical study number136, a job number138, a protocol number140, and a description142of samples included in the package17. The package information may also include a warning if special storage conditions are required for any of the contents of the package17. Advantageously, this data may facilitate delivery of the package17to the correct person or area based on the clinical investigator, the clinical study, and/or the testing facility. The displayed data may also facilitate placing any payloads and/or articles in the package17that require special storage conditions in an appropriate storage location (e.g., a refrigerator) in a timely manner.

In a similar fashion, in response to activation of other main menu buttons90,96,98,100, the application34may display a list of previously scanned packages148(as depicted inFIG. 10), a packing list150(as depicted inFIG. 11), unpacking instructions152(as depicted inFIG. 12), and a receive shipment window154(as depicted inFIGS. 13A-13D). In an embodiment of the present invention, the list of previously scanned packages148may include buttons155that activate drop-down windows for displaying data. The user may thereby selectively display data relating to previously scanned packages17by activating the button155corresponding to the package of interest. The scanning history data may be stored in the database50, and may be retrieved by the application34in response to activation of the scan history button90or drop-down window button155.

Referring now toFIGS. 13A-13Dwith continued reference toFIG. 6, in block156the application34may determine if the shipment was received intact. This determination may be in response to the user indicating that the shipment was not received intact, or that there is a problem with the shipment, such as missing and/or damaged articles. To enable the user to provide the application34with this information, the receive shipment window154may include one or more buttons157a-157dthat selectively activate corresponding drop-down windows158a-158d. The drop-down windows158a-158dmay in turn provide the user with options of either confirming the shipment is intact, identifying a problem with the shipment, or identifying a problem with the application. For example, activating drop-down window158amay cause the application to display a confirm button159. If the user determines that the package17conforms to the data displayed by the application34, the user may activate the confirm button159. In response to receiving the user's indication that the package conforms to the displayed information (“Yes” branch of decision block156), the process may proceed to block160and record that the package was received intact. This information may be recorded in the database50, and used to facilitate tracking of, and billing for, the package17and/or the contents thereof.

If the user indicates the package17does not conform to the displayed data (“No” branch of decision block156), the process may proceed to block161and determine the type of problem. If the user determines the shipment is incomplete, the user may activate a drop-down window158bby selecting the corresponding button157b. In response to the user activating the drop-down window158b(“Incomplete” branch of decision block161), the application34may proceed to block163and display a link162ain the drop-down window158b. In response to the user selecting the link162a, the application34may display a data entry page (not shown) that displays the packing list and allows the user to indicate which articles in the packing list are missing. The application34may thereby enable the user to provide data indicating which articles are missing from the package17.

In response to the user activating the drop-down window158c(“Damaged” branch of decision block161), the application34may proceed to block164and display a link162bin the drop-down window158c. In response to the user selecting the link162b, the application34may display a data entry page (not shown) that displays the packing list and allows the user to enter data describing the damage (e.g., environmental monitoring unit indicates temperature exceeded allowable threshold). The application34may thereby enable the user to provide data indicating which articles are damaged, and the nature of the damage.

In response to the user activating the drop-down window158d(“Other Issue” branch of decision block161), the application34may proceed to block165and display a link162cin the drop-down window158d. In response to the user selecting the link162c, the application34may display a helpdesk page (not shown) that allows the user to enter data describing the problem (e.g., environmental monitoring unit will not upload data to computing device12). In any case, in response to the user identifying the problem, the application34may proceed to block166and record the problem. In an embodiment of the invention, the problem may be recorded by the application34transmitting data entered by the user to the database50.

Referring now toFIG. 14, in which like reference numerals refer to like features inFIG. 1, an exploded perspective view of an exemplary package17is provided. The package17includes a payload167, which may be a container of articles that require a temperature controlled environment to remain viable or in a proper metabolic state. The payload167may be placed in a cooling assembly168that includes an open sided container169and a top panel170. When assembled, the cooling assembly168may define a cavity171that is configured to accept the payload167. The cooling assembly168may include a phase-change material, such as water, that absorbs heat from and/or releases heat to the surrounding environment so as to maintain the temperature of the cavity171within a desired range near the phase change point. For example, a mixture including water in both liquid and solid phases may tend to maintain a temperature of 0° C. within the cooling assembly168. To monitor the temperature of the payload167, an environmental monitoring unit172may be placed inside the cavity171.

The payload167and cooling assembly168may be placed in an insulating assembly173that includes an open ended container174and top panel176formed from an insulating material, such as a closed-cell extruded polystyrene foam. Similarly to the cooling assembly168, the insulating assembly173may define a cavity178configured to accept the cooling assembly168. The assembled payload167, cooling assembly168, and insulating assembly173may then be placed in a suitable outer container180, such as a corrugated fiberboard box, for shipping. The package17may thereby be configured to maintain a payload temperature within a desired range of temperatures for a desired amount of time. Prior to shipping the package17, the receiving label20may be affixed to the outer container180in accordance with the embodiments of the present invention described above.

At the receiving end of the shipment, a user who wishes to unpack the package17may activate the application icon84and scan the receiving label20using the computing device12. In response to scanning the receiving label20, the application34may receive data relating to the package17from the database50that includes unpacking instructions. Advantageously, by providing the instructions to the user via the computing device, the user may receive unpacking instructions prior to opening the package17, rather than having to open at least the outer container180to retrieve printed instructions.

Referring again toFIG. 12, if the package17conforms to the data displayed by the application34, the user may wish to unpack the package17. To access unpacking instructions, the user may activate the unpacking instructions button98. In response to activation of the button98, the application34may display the unpacking instructions152in the data display window102. The unpacking instructions152may include both text and images, and may define a proscribed way of unpacking the package17. To this end, the instructions may include steps that describe where articles within the package17are placed relative to one another, as well as a recommended unpacking order. For example, the unpacking instructions152may dictate that articles which need refrigeration are to be unpacked first and immediately placed in a refrigerator at a particular temperature. The unpacking instructions152may also instruct the user how to find, deactivate, and download data from the environmental monitoring unit172. In an embodiment of the present invention, the instructions may be provided one step at a time, with the user indicating that the displayed step has been completed prior to receiving the next step. The application34may thereby track the unpacking process, and provide data to the database indicative of how the unpacking process was conducted. System users or the helpdesk may thereby be able to verify that a package was properly unpacked, or determine if an article was mishandled.

The unpacking instructions feature of the system10may facilitate complex payload arrangements in which articles are placed relative to each other so that each article is maintained in a different environment. For example, articles requiring lower temperatures could be arranged near the center of the package17. Other articles less sensitive to temperature variations could be placed closer to an outer surface of the package17, such as in a compartment external to the insulating assembly173. Embodiments of the system10may thereby facilitate development of new ways of combining shipments into a single package17, such as combining ambient and cold chain shipments. Moreover, because the instructions are stored in the database50, the unpacking instructions may be modified based on the passage of time since the article was shipped. For example, the amount of time the package17, or an article in the package, can be left unrefrigerated may be adjusted based on the amount of time that has passed since the package17was assembled. The unpacking order could also be adjusted base on how long the container has been in transit, or based on a predicted condition of articles in the package. For example, once it is determined that an article in the package17has likely gone bad, the unpacking instructions could be adjusted to reflect this determination.

Referring now toFIG. 15, an exemplary user interface200that may be displayed on the human-machine interface28of computing device12by the application34is presented in accordance with an alternative embodiment of the present invention. The user interface200may include scan history window202, shipment summary window204, a packing list window206, a scan icon208, and a help icon209. The scan history window202may include a supplier logo210and a scan history table211. The scan history table211may include a scan data column212having a column header214, and a tracking number column216having column header218. The scan history table211may further comprise a plurality of rows, with each row displaying data relating to a scan performed by the application34. In response to the user selecting one of the column headers214,218, the application34may sort the rows of the scan history table211based on the data and time of the scan or the tracking number, as the case may be.

To scan in a package17, the user may activate the scan icon208. In response to activation of the scan icon208, the application34may scan the machine readable code21of receiving label20as described above. Based on data obtained by scanning the machine readable code21, the application34may determine an order ID and tracking number for the package17, and display this information in a new row the scan history table211. Additional information related to the package17and its contents may be displayed in the shipment summary window204and packing list window206. This information may include, but is not limited to, a clinical trial protocol220, a shipment date222, a tracking number224, and a shipping address226. The packing list window206may display a list of articles228that should have been included in the package17. The list of articles228may include, for example, a description of the article, the protocol for using the article, and the quantity of the article. The data displayed by the user interface200may be contained in the machine readable code21(e.g., the tracking number), and/or obtained from the database50based on data contained in the machine readable code21(e.g., the unique identifier). In an embodiment of the invention, the unique code may be provided by the tracking number.

The user interface200may be configured to display data for a particular scanned package17in response to the user selecting the row representing the scanned package in the scan history table211. The user interface200may further include a forward button230and a reverse button232. In response to the user to activating these buttons230,232, the user interface200may display windows that provide different information relating to the package17. For computing devices12having a touch screen, such as a tablet computer, the user interface200may be configured to display different windows in response to gesture inputs on the touch screen, such as taps, swipes, slides, or any other suitable gesture.

Referring now toFIG. 16, in which like reference numerals refer to like features inFIG. 15, by way of example, in response to the user selecting the forward button230, the user interface200may display an instructions window234. The instructions window234may display, for example, unpacking instructions for the package. The unpacking instructions may include instructions regarding storage conditions for the articles, required documentation for receiving the package17, downloading data from the environmental monitoring unit172, or any other suitable instructions for handling the package17or the contents thereof. For example, the unpacking instructions may instruct the user to store the articles in payload167aat ambient temperature (as indicated inFIG. 16), or, for different articles, to store the article at a controlled condition, such as in a refrigerator at 0° C., or a freezer at −40° C.

Referring now toFIG. 17, in which like reference numerals refer to like features inFIG. 14, the package17is illustrated as including multiple (e.g., four) payloads167a-167d. In the illustrated embodiment, the payloads167a-167dare packed into the same cooling assembly168, which may the case for multiple payloads167a-167dthat require shipping under similar environmental conditions. However, embodiments of the present invention are not limited to packages17having a single cooling assembly168. Persons having ordinary skill in the art will understand that packages17may also be configured with multiple cooling assemblies168, or cooling assemblies having multiple cavities171to accommodate payloads167a-167dhaving different environmental requirements.

For the case of multiple payloads167a-167d, the package17may include a single environmental monitoring unit172for monitoring conditions in the cooling assembly168as shown, or separate environmental monitoring units172that monitor each payload167a-167d. Separate environmental monitoring units172may be used, for example, for packages having payloads167a-167dwith different environmental requirements, or to track each payload167a-167dafter it is separated from the package17. An application in which it may be advantageous to ship multiple payloads167a-167din a single package17may include shipments of laboratory products to commercial or university research facility. For example, articles that are to be stored in different locations (e.g., freezers) within the facility may be packed as separate payloads167a-167dto facilitate delivery of the articles contained in the payloads167a-167dto the proper location within the facility.

Referring now toFIGS. 18 and 19, in which like reference numerals refer to like features inFIGS. 1 and 17, a flow chart240of an exemplary process for receiving packages17having multiple payloads167a-167dis presented in accordance with an embodiment of the invention. In block242, the package17may be delivered from a source location244(e.g., a distribution center for a supplier of laboratory products) to a receiving location246(e.g., a shipping and receiving department at a research facility). At the receiving location246, the machine readable code21of receiving label20on the exterior of package17may be scanned by a suitably configured computing device12a,12b, which is depicted inFIG. 19as a desktop computer coupled an external scanning device30, or a smart phone, although other devices could be used. In response to the scanning the machine readable code21, the application34may proceed to block248and retrieve data from the database50using the unique identifier code, as described above with respect toFIG. 6.

In response to receiving the data from the database50, the application34may proceed to block250and determine a storage location252a-252dfor each of the payloads167a-167din the package17. The application34may, in turn, display the storage locations252a-252dto the user, thereby facilitating delivery of the payloads167a-167dto the designated storage location252a-252dfor final storage and/or unpacking.

Referring now toFIG. 20, in which like reference numerals refer to like features inFIG. 19, and with continued reference toFIG. 18, in an embodiment of the present invention, the payload167amay include a label253ahaving a machine readable code254a. Upon arrival at the storage location252a, the user may scan the machine readable code254ausing a computing device12c, such as the depicted tablet computer. In block255, the application34may retrieve data from the database50based on a unique identifier provided by the machine readable code254athat uniquely identifies the payload167a. In response to receiving the unique identifier provided by the machine readable code254a, the database50may transmit information relating to the payload167ato the computing device12c. This data may include instructions specific to the payload167afor removing articles256a-256dfrom the payload167aand placing the articles256a-256din the storage location252a. In some cases, the instructions may instruct the user to place the payload167ainto the storage location252aintact. That is, rather than unpacking the payload167aas depicted inFIG. 20, the payload167amay simply by placed intact in the storage location252a.

In response to receiving an indication from the user that the articles256a-256dhave been placed in the storage location252a, the application34may proceed to block258and provide the user with an interface that enables the user to acknowledge receipt of, or report a problem with, the payload167a, as described above with respect toFIG. 6.

Referring now toFIG. 21, in which like reference numerals refer to like features inFIG. 15, and in accordance with the embodiment of the present invention described with respect toFIGS. 18-20, the packing list window206of user interface200may be configured to display a separate packing list window260a-260dfor each payload167a-167d. Each packing list window260a-260dmay include a packing list228a-228dand a scroll bar262a-262dthat enables the user to scroll through the corresponding packing list228a-228d. This scrolling function may enable users to view all the articles on packing lists228a-228dthat are too long to display in the space provided by the packing list window260a-260d. Each packing list window260a-260dmay include a header264a-264dand a data field266a-266d. The header264a-264dmay display an identifier268a-268dthat identifies the storage location252a-252din which the corresponding payload167a-167dor articles comprising the payload167a-167dare to be stored. The packing list windows260a-260dmay thereby facilitate delivery of the payloads167a-167dto the correct location for storage.

Referring now toFIG. 22, in which like reference numerals refer to like features inFIG. 21, in response to the user indicating a desire to view another window, such as by activating the forward button230, the user interface200may display an instructions window270corresponding to the selected packing list window, e.g., packing list window268a. The user interface200may indicate which packing list228a-228dis selected by, for example, highlighting the selected packing list window268a-268d. The instructions window270may display unpacking instructions for the payload167acorresponding to the selected packing list window268a. The unpacking instructions may include instructions regarding storage conditions for the articles in the payload167a, required documentation for receiving the payload167a, instructions on downloading data from the environmental monitoring unit172, or any other suitable instructions for handling the payload167aor the articles in the payload167a. For example, as discussed with respect toFIG. 16, the instructions may instruct the user to store the articles in payload167aat ambient temperature (as indicated inFIG. 22), or, for different articles, to store the article at a controlled condition, such as in a refrigerator or in a freezer.

The required storage conditions may be displayed above the instructions window270, and the indication may depend on the type of product in the package. Exemplary indicators may include “Ambient” (shown), which indicates that the contents may be stored in a room temperature cabinet; “0° C.”, which indicates that the contents are to be stored in a refrigerator at 0° C.; and “−40° C.”, which indicates that the contents are to be stored in a freezer at −40° C.

Referring now toFIG. 23, in which like reference numerals refer to like features inFIG. 19, the receiving location246may at times receive plurality of packages17a-17d, with each package17a-17darriving from a different source location244a-244d. As the packages arrive, machine readable codes21a-21dmay be scanned on receiving labels20a-20dcorresponding to the packages17a-17d. For packages17a-17dhaving a plurality of payloads, each payload may be routed to the storage location252a-252ddesignated in the corresponding packing list. The system10may thereby facilitate routing articles to designated storage areas, accurate tracking of inventory, and increased compliance with environmental requirements through careful documentation, tracking of articles at every level, and adherence to strict temperature requirements at all points in the supply chain.

Referring now toFIG. 24, in which like reference numerals refer to like features inFIG. 15, and in accordance with an alternative embodiment of the present invention, the user interface200may be configurable to include a scan history window272that is supplier focused. To this end, the scan history window272may include a scan history table274having the scan data column212with the column header214, and a supplier column276having a column header278. The scan history table274may comprise a plurality of rows, with each row displaying data relating to a scan performed by the application34. In response to the user selecting one of the column headers214,278, the application may sort the rows of the scan history based on the data and time of the scan, or the supplier from which the package17was received. The packing list window206may be configured to display a packing list280that includes part numbers, lot numbers, descriptions, and quantities of the articles in scanned package represented by a selected row of the scan history table274.

While the present invention has been illustrated by the description of embodiments thereof, and while these embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the present invention in its broader aspects is not limited to the specific details of the representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of applicants' general inventive concept.

For example, although the system processes illustrated inFIGS. 3 and 6are described above as generally linear sequences, persons having ordinary skill in the art will understand that system messages may be transmitted in different sequences or even concurrently. Moreover, additional functions and queries may be performed during various system processes. Embodiments of the present invention are thus not limited to performing the shown functions in a particular sequence, or storing data in a particular location. It should also be understood that the terms “query”, “response”, “confirmation”, and/or “message” as used herein are considered interchangeable. Use of any one of these terms is therefore not intended to imply that any particular quality is associated with regard to type of signal being used to transmit or receive the “query”, “response”, “confirmation”, and/or “message”. Nor is any there to be any implication regarding the nature of the data conveyed by a signal based on the use of the term “query”, “response”, “confirmation”, and/or “message” in describing said signal or the data conveyed thereby.