Methods and systems for optimizing drug management

Through the central computing system, drug encoding is identified and updated, the resource consumption and error risk problems of drug encoding updates among medical institutions are solved, and the consistency management of drug information is achieved.

CN115151930BActive Publication Date: 2025-07-22CAREFUSION 303 INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080064656.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-15
Filing Date
2020-07-14
Publication Date
2025-07-22
Estimated Expiration
2040-07-14

AI Technical Summary

Technical Problem

In the prior art, drug code updates need to be frequently performed in medical institutions, resulting in high consumption of computing resources and high risk of errors, especially when updating between multiple management systems of different medical institutions.

Method used

The central computing system is used to receive new drug encoding and related information, and automatically update the management systems of various medical institutions by identifying local identifiers and global identifiers to ensure the consistency and accuracy of drug encoding.

Benefits of technology

It reduces the time for new drug codes to update the management systems of various medical institutions, reduces the risk of errors, and achieves consistent management of drug information among different medical institutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115151930B_ABST
    Figure CN115151930B_ABST
Patent Text Reader

Abstract

Systems and methods for optimizing medication management are disclosed. The disclosed systems implement a method that includes the steps of: receiving a new item code and medication information associated with the new item code from a first client system; determining, by a computing system, a predetermined medication and a first local identifier used by the first client system to identify the predetermined medication based on the received medication information; determining, at least in part based on identifying the first local identifier, one or more second local identifiers that identify the predetermined medication; identifying a plurality of second client systems that use the one or more second local identifiers based on the one or more second local identifiers; and providing instructions to each of the plurality of second client systems to associate one or more corresponding second local identifiers with the new item code at the second client systems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application generally relates to optimizing medication management within a healthcare facility. Background Art

[0002] As new drug codes are released more frequently, the number and frequency of systems in which clinicians (such as pharmacists) must update data in a local medication management system of a healthcare facility (such as a hospital) increases. Additionally, a pharmacist may be associated with multiple healthcare facilities, and each healthcare facility may have a different health management system that stores information related to medications managed by the healthcare facility in different forms and / or manners within the health management system. Thus, for each new drug code, the pharmacist will undertake the low-value workload of entering the new drug information and associating it with a variety of different existing drug identifiers. Such a process may increase the consumption of multiple computing resources of the healthcare facility and increase the risk of errors during the association of the new drug code with any existing drug managed by the healthcare facility. Summary of the Invention

[0003] In one or more implementations, a computer-implemented method for managing pharmaceutical products includes receiving, by a central computing system, a new item code and drug information associated with the new item code from a first client system. The method includes determining, by the central computing system, a predetermined drug based on the received drug information and a first local identifier used by the first client system to identify the predetermined drug. The method includes determining, by the central computing system, one or more second local identifiers that identify the predetermined drug based on identifying the first local identifier. The method includes determining, by the central computing system, a plurality of second client systems that use the one or more second local identifiers based on the one or more second local identifiers. The method includes providing, by the central computing system, instructions to each of the plurality of second client systems to associate one or more corresponding second local identifiers with the new item code at the second client systems. Other aspects include corresponding systems, devices, and computer program products for implementing the method.

[0004] In one or more implementations, a system includes a memory that stores instructions; and one or more processors coupled to the memory and configured to execute the instructions to cause the system to: receive a new item code and drug information associated with the new item code from a first client system; determine a predetermined drug and a first local identifier used by the first client system to identify the predetermined drug based on the received drug information; determine one or more second local identifiers that identify the predetermined drug based on identifying the first local identifier; determine a plurality of second client systems that use the one or more second local identifiers based on the one or more second local identifiers; and provide instructions to each of the plurality of second client systems to associate one or more corresponding second local identifiers with the new item code at the second client systems. Other aspects include corresponding systems, apparatuses, and computer program products for implementing the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] To better understand the various implementations described, reference should be made to the following detailed description in conjunction with the following drawings. Throughout the drawings and the description, the same reference numerals refer to corresponding parts.

[0006] Figure 1 is a schematic diagram of an example drug management platform communicating with one or more external systems in accordance with some embodiments.

[0007] Figure 2 is a block diagram of an exemplary server system in accordance with some embodiments.

[0008] Figures 3A - 3D illustrates a flowchart for managing and deploying drug configurations in accordance with some embodiments.

[0009] In one or more implementations, not all components depicted in each figure are required, and one or more implementations may include additional components not shown in the figures. Variations in the arrangement and type of components may be made without departing from the scope of the present disclosure. Additional components, different components, or fewer components may be used within the scope of the present disclosure. DETAILED DESCRIPTION

[0010] The detailed description set forth below is intended as a description of the various configurations of the present disclosure and is not intended to represent the only configurations in which the present disclosure may be practiced. The drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for providing a thorough understanding of the subject matter disclosed. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In some instances, structures and components are shown in block diagram form to avoid obscuring the concepts of the present disclosure. For ease of understanding, the same reference numerals are used to label the same elements.

[0011] The terms used in the description of the various implementations described herein are for the purpose of describing particular implementations only and are not intended to be limiting. As used in the description of the various implementations and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that, as used herein, the term "and / or" refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that when used in the specification, the terms "comprises", "comprising", "includes", "including", and / or "covers" specify the presence of the stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.

[0012] For the purposes of the present disclosure, the term "drug" may refer to a chemical substance that is used for treatment and is used under a generic drug name in one or more official documents issued by a competent authority (e.g., the U.S. Food and Drug Administration (FDA)). In some implementations, a drug may be any substance that, when injected, consumed, inhaled, absorbed through the skin, or dissolved sublingually, causes a physiological (and / or psychological) change in a living body or organism. For the purposes of the present disclosure, the term "drug" may refer to a drug in a dosage form having a certain strength, regardless of the manufacturer and / or packager of the drug. According to various implementations, the term "dispensable drug" may refer to any quantity of drug that can be physically provided for a patient to use, regardless of the manufacturer and / or packager of the dispensable drug. Similarly, the term "injectable drug" may refer to a dispensable drug that is injected intravenously into a patient through an injection device. Injectable drugs may include commercially available packages as well as doses prepared according to a prescription or drug order. In some implementations, the term "product" may refer to a drug provided by a particular supplier in a particular formulation. In some implementations, a product may be designated by a part of a drug identifier specified by a regulatory agency (e.g., the FDA). For example, a product may be designated by the first two parts of the U.S. National Drug Code - NDC. In some implementations, the term "package" may refer to a drug packaged in a particular quantity by a particular manufacturer and / or repackager. A package may be designated by a regulatory identifier (e.g., NDC).

[0013] According to various implementations, the term "drug code" refers to an identifier that can be used to identify a manufactured drug product (including, for example, a drug). A drug code can include one or more identifiers assigned by a regulatory agency and / or by the manufacturer and / or packager of the manufactured drug product. Examples of drug codes include, but are not limited to, the United States National Drug Code. Similarly, the term "drug information" or information related to a drug code can include, but is not limited to, the drug name (e.g., ingredients), dosage form, strength or amount of the drug, quantity, presence and / or absence of preservatives, presence and / or absence of alcohol, one or more therapeutic classes of the drug, and / or a list of regulatory identifiers (e.g., NDC) represented by the drug code, which are manufacturer-specific instances of the drug. In some implementations, information related to the labeler (e.g., manufacturer, repackager, distributor, etc.), information related to a specific strength, dosage form (i.e., capsule, tablet, liquid, etc.), drug formulation, information related to the type of drug (e.g., capsule, tablet, liquid, etc.), package size (e.g., 100 capsules), the chemical substance or mixture of chemical substances of the drug, and the therapeutic characteristics of the drug, dosage information for a specific dosage strength form, information about the consumable form of the drug (e.g., tablet, capsule, extended-release tablet, extended-release capsule, injection, powder for injection, suspension for injection, emulsion for injection, etc.), manufacturer information of the drug, specific packaging information, and specific quantity, regulatory identifiers, etc. The term "predetermined drug" (or drug) includes any known drug or medicine, including but not limited to any drug that can be identified by any of the above drug information.

[0014] This disclosure relates to systems and methods for optimizing drug management across various systems in healthcare institutions. In particular, this disclosure relates to using a global drug management platform to identify new drug codes in a drug supply chain and the process of using the new drug code information to update and / or manage updates to various systems in various healthcare institutions. For example, a healthcare institution such as a hospital, a healthcare service provider, an integrated delivery network, etc. may identify that a particular drug is currently not associated with a drug code within the management system of the healthcare facility of that healthcare institution. A healthcare facility may have multiple management systems, and a healthcare institution may have multiple healthcare facilities, resulting in a large number of management systems (usually across multiple geographical locations) that must be updated with the new drug code. Clinicians (e.g., pharmacists) associated with the healthcare institution may seek to update one or more different management systems with the new drug code. Due to the large number of management systems and different management systems within a single healthcare institution, even updating a portion of the management systems can consume a significant amount of time and resources and significantly increase the risk of human error when updating different management systems.

[0015] The present disclosure provides a drug management platform that provides a centralized mechanism for various medical institutions (as customers or clients) to maintain drug information (including drug codes), which is consistent across all medical institutions, regardless of any localization practices that may vary between different organizations. According to various implementations, the drug management platform described herein can be configured to receive new drug code information from a medical institution, and based on certain drug information associated with the new drug code, the drug management platform can be configured to determine certain predetermined drug information stored in the data storage unit of the drug management platform. The drug management platform described herein can be configured to identify different management systems of different medical institutions that may have to be updated with the new drug code and provide instructions to the different management systems to update their respective system data with the new drug code. In some implementations, the drug management platform described herein automatically updates the management systems using the new drug code data. Thus, the drug management platform described herein can be configured to crowdsource drug information or updates to drugs, or the identification of new drugs, from different medical institutions and update the crowdsourced drug data to different other medical institutions.

[0016] The drug management platform described herein reduces the time required to update the various management systems of a medical institution with new drug code data, while reducing the risk of errors when performing such updates.

[0017] Turning now to Figure 1 , an example arrangement of a drug management platform that communicates with one or more external systems to manage and deploy drug configuration data is shown. Figure 1 A networked computer system 108 including a drug management platform 101 is shown. The drug management platform 101 is communicatively coupled to one or more external computing systems 102, 103, 104 via a network 110. In some implementations, the drug management platform 101 can include one or more modules and / or sub-platforms that form an enterprise master platform and can be configured to determine, identify, and / or select enterprise-level information for one or more enterprises for various drug codes. The drug management platform 101 can include one or more modules and / or sub-platforms that form a global master platform and can be configured to determine, identify, and / or select global information associated with various drug codes. Additional information related to the drug management platform 101, the enterprise sub-platform, and / or the global master platform is described herein with reference to Figure 2 and 3.

[0018] The external nature of computing systems 102, 103, or 104 stems from their separation from the medication management platform. For example, the computing systems can be located at several different sites across a healthcare delivery network. Each system can be communicatively coupled to a centrally located medication management platform of a third-party service provider (such as a health information system provider). In some implementations, network 108 can be a public communication network, such as the Internet, a cellular phone network, a mobile data network, a wide area network, a local area network, a metropolitan area network, etc. In some implementations, network 108 can be a private communication network, such as a private local area network, a leased line, etc. In some implementations, network 108 can be a combination of public and private communication networks.

[0019] External computing systems 102, 103, 104 can be associated with, owned by, and / or controlled by different customers (e.g., patrons) of the medication management platform 101. Examples of such customers can include, but are not limited to, hospitals, integrated delivery networks, healthcare service providers, etc. In some implementations, external computing systems 102, 103, 104 can be designated as the core and / or primary computing systems of the respective patrons or customers and can be granted communication privileges by the medication management platform 101 such that external computing systems 102, 103, 104 can send data to and / or receive data from the medication management platform 101.

[0020] External computing systems 102, 103, 104 are communicatively coupled to various local healthcare management systems of various medical and / or healthcare service provider facilities, such as patient management systems, healthcare service provider facility management systems, and / or local medication management systems. For example, computing system 102 can be communicatively coupled to local healthcare management systems 105a, 105b, 105c (collectively referred to herein as local healthcare management system 105), and computing system 103 can be communicatively coupled to local healthcare management systems 106a, 106b, 106c (collectively referred to herein as local healthcare management system 106), and computing system 104 is communicatively coupled to local healthcare management systems 107a, 107b, 107c (collectively referred to herein as local healthcare management system 107). In some implementations, local healthcare management systems 105, 106, 107 can be local instances of patient information systems, medical facility management systems, and / or medication management systems.

[0021] The local health management systems 105, 106, 107 can be configured to execute or run patient, healthcare service provider facilities, and / or medication management systems from different vendors. The local health management systems 105, 106, 107 and / or the systems executed or run therein can store information related to medications managed at a customer's facility in different ways and / or forms. These differences can include the association between a medication and any corresponding information using different identifiers (herein referred to as "local identifiers"). For example, the local health management system 105a can be configured to execute an electronic medical record (EMR) system of a first vendor and can associate the stored data related to the medication Vicodin HP 10mg capsules with the local identifier "BxR10c", the local health management system 105b can be configured to execute an EMR of a second vendor and can associate the stored data related to the medication Vicodin HP 10mg capsules with the local identifier "ZXYc10", and the local health management system 105c can be configured to execute an EMR of a third-party vendor and can associate the stored data related to the medication Vicodin HP 10mg capsules with the local identifier "JrS10mgC". Thus, a single medication managed at a customer's facility may be associated with multiple local identifiers.

[0022] Users such as pharmacy technicians and / or pharmacists can enter new medication codes into the local health management systems 105, 106, 107, and the health management systems 105, 106, 107 can be configured to generate new local identifiers for the new medication codes, and in some implementations, the local health management systems 105, 106, 107 can be configured to transmit the new local identifiers, new medication codes, and data related to the medications. The computing systems 102, 103, 104 can be configured to receive and / or store the local identifiers and related data of medications from local health management systems (such as local health management systems 105, 106, 107) communicatively coupled to the computing systems 102, 103, 104. The computing systems 102, 103, 104 can be configured to receive new medication code information from one or more local health management systems. The computing systems 102, 103, 104 can be configured to transmit the new medication code information to the medication management platform 101. For example, if the computing system 102 receives new medication code information from a local health management system, the computing system 102 can send the new medication code information to the medication management platform 101 to ensure the accuracy and consistency of the medication code information across devices, such as Figure 1The devices shown. In some implementations, computing systems 102, 103, 104 may be configured to transmit drug coding information via one or more encrypted messages. In some implementations, new drug coding information may be associated with one or more local identifiers of drugs within computing systems 102, 103, 104, which computing systems 102, 103, 104 include any local health management systems communicatively coupled to computing systems 102, 103, 104, such as local health management systems 105, 106, 107.

[0023] The drug management platform 101 may be configured to store, update, verify, and / or maintain data related to local identifiers, drug codings related to local identifiers, drug information of drugs, drug codings and / or local identifiers, and predetermined drug data of drugs in one or more data storage units (not shown separately) communicatively coupled to the networked computing system 108. In some implementations, for each drug and / or drug coding, the drug management platform 101 may be configured to associate the corresponding data related to local identifiers, the drug coding associated with the local identifier, the drug information of the drug, the drug coding and / or local identifier, the predetermined drug data of the drug, etc. with a unique drug management platform 101 identifier (referred to herein as the global platform identifier). Such stored and associated data may be referred to herein as "drug data of the drug management platform 101".

[0024] The medication management platform 101 can be configured to receive messages from computing systems 101, 102, 103. The medication management platform 101 can be configured to determine whether the received messages indicate new drug codes identified at corresponding healthcare facilities. In some implementations, upon determining that the received messages indicate that new drug codes have been identified, the medication management platform 101 verifies whether the local identifiers of medications at the healthcare facility are appropriately associated with the new drug codes, determines other local identifiers of medications within other computing systems of the healthcare facility and within other computing systems of other facilities, generates a database associating the local identifiers with the new drug codes, transmits the messages to the healthcare organization indicating the association of the new drug codes with the local identifiers, and / or automatically updates the medication management system of the healthcare organization using the association between the local identifier of the healthcare facility and the new drug code. Thus, the medication management platform 101 crowdsources new drug codes and optimizes the medication management and / or the update process of the management systems of different healthcare facilities (such as hospitals, healthcare service providers, independent delivery networks, etc.). In some implementations, information about the drug codes (such as, drug concepts, medication concepts, assignable concepts, etc.) can be stored in a third-party data storage system in association with the drug codes, such as a data storage system associated with a regulatory entity (such as the FDC), and the medication management platform 101 can be configured to verify the information about the drug codes by comparing the information stored in association in the third-party data storage system with the information in the enterprise computing system. For example, if the information stored in association with the drug code in the data storage system associated with the regulatory entity describes acetaminophen (TYLENOL) 325mg tablets, the medication management platform 101 determines whether the information stored in association with the local identifier of the enterprise (associated with the drug code) computing system also describes acetaminophen 325mg tablets. In some implementations, one or more of the following can be encoded for the drug codes using numbers, letters, other characters, and / or combinations thereof: drug concepts, medication concepts, assignable drug concepts, injectable drug concepts, product concepts, packaging concepts, and the medication management platform 101 can be configured to verify such information about the drug codes by comparing the corresponding encodings. In some implementations, the medication management platform 101 can be configured to verify the drug code by determining whether the drug code was previously associated with different drug concepts, medication concepts, etc. in the associated data storage system of the medication management platform 101. In some implementations, the medication management platform 101 can be configured to determine whether the received drug code exists in the associated data storage system of the regulatory entity. In some implementations, the medication management platform 101 can be configured to perform various checksum operations to determine whether the received drug code matches the drug code sent by the enterprise computing system.

[0025] The medication management platform 101 can be an application or an instance of an application hosted on a networked computer system 110. In some implementations, the networked computer system 110 can be an application server computer configured to host one or more applications and / or one or more instances of an application (e.g., one or more instances of the medication management platform 101). Other details of the networked computer system and the medication management platform 101 are described herein with reference to Figure 2 and 3.

[0026] Turning now to Figure 2 , a block diagram depicting a networked computer system 108 in accordance with some implementations is shown. The networked computer system 108 generally includes one or more processing units (processors or cores) 202, one or more network or other communication interfaces 204, a memory 206, and one or more communication buses 208 for interconnecting these components. The communication bus 208 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. In some implementations, the networked computer system 108 can include a display device 212. In some implementations, the networked computer system 108 can include input devices such as a keyboard, a mouse, a touchpad, an optical scanner, and / or input buttons. In some implementations, the display device 212 can include a touch-sensitive surface, in which case the display is a touch-sensitive display.

[0027] The memory 206 can be high-speed random access memory, such as DRAM, SRAM, DDRRAM, or other random access solid-state memory devices, and can include non-volatile memory, such as one or more disk storage devices, optical storage devices, flash memory devices, and / or other non-volatile solid-state storage devices. In some implementations, the memory 206 includes one or more storage devices located remotely from the processor 202. The memory 206 or the non-volatile memory device within the memory 206 includes a non-transitory computer-readable storage medium. In some implementations, the memory 206 or the computer-readable storage medium of the memory 206 stores programs, modules, and / or data structures to be executed by one or more processors 202 for performing one or more operations of the networked computer system 108, and / or the techniques of the medication management platform 101 and the medication management optimization techniques described herein. For example, the memory 206 can include programs, modules, and / or data structures for an operating system 226, a communication module 228, an access module 230, a medication management platform instance 240, a messaging module 232, a local identifier module 234, a medication configuration module 236, and a database generator module 238.

[0028] In some implementations, the operating system 226 module may include programs for handling various basic system services and for performing hardware-related tasks. The network communication module 228 may be configured to connect the networked computer system 108 to other computing devices via one or more communication network interfaces 204 (wired or wireless) and one or more communication networks 106. The access module 230 may be configured to authorize, deny, and / or modify access to the networked computer system 108 and / or one or other computing systems or devices communicatively coupled to the networked computer system 108. The drug management platform instance module 240 may be configured to launch an instance of the drug management platform 101 on the networked computer system 108 and present any application user interface, such as a graphical user interface (GUI) of the drug management platform 101. The drug management platform 101 may include various subunits and / or modules, such as the message module 232, the local identifier module 234, the drug configuration module 236, the database generator module 238, the parser module 242, and the verification module 244.

[0029] The drug data management module 246 may be configured to create, store, update, verify, and / or maintain drug data of the drug management platform 101 in one or more databases and / or other data structures within one or more data storage units (not shown separately) communicatively coupled to the networked computer system 108. Such drug data may include, but is not limited to, drug information, drug codes, pre-prescribed drugs, etc. of drugs identified and / or used within a medical facility. For example, such drug data may include drugs and / or medications used at respective facilities associated with separate computing systems 102, 103, or 104. Each drug and / or medication used at a facility may be associated with one or more identifiers used in computing systems (such as computing systems 102, 103, 104, and / or the local health management systems 105, 106, 107). As described above, such identifiers may be referred to herein as "local identifiers".

[0030] As described above, each facility may have multiple local identifiers corresponding to a single drug. For example, for Motrin 200mg capsules, the local health management system 105a may have a first unique local identifier (such as Ax07), the local health management system 105b may have a second unique local identifier (such as PXR00c2), and the local health management system 105c may have a third unique local identifier (such as Rx200CM). Continuing with the previous example, the drug data management module 246 may be configured to store the drug information of Motrin 200mg capsules and associate the three different local identifiers of the computing system 102 with the drug information of Motrin 200mg capsules.

[0031] The drug data management module 246 can be configured to generate a unique drug management platform 101 identifier for each drug stored in one or more data storage units, as described above, herein referred to as the "platform identifier". The drug data management module 246 can be configured to store any predetermined drug for the drug in one or more data storage units communicatively coupled to the networked computer system 108 and associate the platform identifier with the predetermined drug. The drug data management module 246 can be configured to store drug information or drug codes for the drug and associate the drug information with the platform identifier. The drug data management module 246 can be configured to associate the platform identifier of the drug with all local identifiers of the drug. For example, using the identifiers and drugs of the previous example, if the platform identifier of the drug Motrin 200mg capsules is "BDMx200", then the drug data management module 246 associates the platform identifier BDMx200 with the local identifiers Ax07, PXR00c2, and Rx200CM. Similarly, the drug data management module 246 can associate the local identifiers of all associated facilities of the drug management platform 101 with the platform identifier of the Motrin 200mg capsules.

[0032] The message module 232 can be configured to determine the type of message received from the computing systems of the facilities (such as computing systems 102, 103, 104, local health management systems 105, 106, 107, etc.). In some implementations, the received message can include one or more flags or type identifiers indicating the message type. The message module 232 can be configured to determine the message type based on the values of one or more flags or type identifiers. In some implementations, the message can include computing system identification information of the message source (such as name, address, device identifier, location coordinates). The message module 232 can determine the facility associated with the computing system based on, for example, the mapping between the computing system identification information and the facilities. In some implementations, the message can include facility identification information (such as a unique identifier), and the message module 232 can be configured to determine the facility based on the facility identification information. In some implementations, the message module 232 can be configured to transmit the message to a computing system, such as computing systems 102, 103, 104.

[0033] The local identifier module 234 can be configured to determine and / or identify a local identifier of a facility associated with the drug management platform 101. The received message can include a local identifier within a first computing system of the facility (e.g., computing system 102), which first identifies a new drug code and is associated with the local identifier. The local identifier module 234 can be configured to verify whether the local identifier received in the message exists in the drug data maintained by the drug data management module 246. In some implementations, if the local identifier module 234 determines that the local identifier does not exist, the local identifier module 234 can be configured to add the local identifier to the drug data maintained by the drug data management module 246.

[0034] The parser module 242 can be configured to parse information related to and / or associated with the new drug code received in the message. As described above, such information can be referred to herein as drug information. As described above, examples of such information include, but are not limited to, information related to a labeler (e.g., manufacturer, repackager, distributor, etc.), information related to a specific strength, dosage form (i.e., capsule, tablet, liquid, etc.) and / or formulation of the drug, information related to the type of the drug (e.g., capsule, tablet, liquid, etc.) and / or the package size (e.g., 100 capsules). The drug information of the new drug code can be received from a computing system of the facility (e.g., computing systems 102, 103, 104, local health management systems 105, 106, 107, etc.). In some implementations, the drug information of the new drug code can be received in a message from a computing system of the facility and indicates an association with the new drug code. For example, the drug information can be received in the same message that includes the new drug code.

[0035] The drug configuration module 236 can be configured to identify one or more drugs within the drug data of the drug management platform 101 based on the drug information of the new drug code and / or the local identifier associated with the new drug code. In some implementations, the drug configuration module 236 can be configured to use a series of rules and / or mapping algorithms and identify drugs within the drug data of the drug management platform 101 based on the drug information of the new drug code. In some implementations, the drug configuration module 236 can be configured to utilize one or more machine learning models that are trained to identify drugs in the drug data of the drug management platform 101 based on the drug information of the new drug code. In some implementations, the drug configuration module 236 can be configured to determine one or more policies associated with the new drug code based on the drug information of the new drug code and the drug data of the drug management platform 101. In some implementations, such policies can specify various rules indicating how to store and / or manage certain drugs, etc. For example, one policy may have some rules specifying a class of drug storage cabinets for drugs that may be highly addictive (e.g., certain painkillers).

[0036] The verification module 244 determines whether the local identifier associated with the new drug code is the correct local identifier. In some implementations, the verification module 244 may be configured to determine whether the associated local identifier is the correct local identifier based on data associated with the new drug code (e.g., drug information of the new drug code) and drug information associated with the platform identifier (with which the local identifier associated with the new drug code is also associated). In some implementations, the verification module 244 may be configured to determine the platform identifier from the drug data of the drug management platform 101 based on the drug information associated with the new drug code. The verification module 244 may be configured to determine whether the local identifier associated with the new drug code is associated with the platform identifier. In some implementations, if the local identifier is not associated with the platform identifier, the verification module determines that the association between the new drug code and the local identifier is not a correct association. In some implementations, if the local identifier is associated with the platform identifier, the verification module determines that the association between the new drug code and the local identifier is a correct association.

[0037] In some implementations, the verification module 244 may be configured to present one or more GUIs on a display device (e.g., the display 212) communicatively coupled to the networked computer system 108. In some implementations, the one or more GUIs indicate to the user (e.g., an administrator of the drug management platform 101) whether the received association of the local identifier with the new drug code is correct. The one or more GUIs may include one or more control elements to receive input from the user. Based on the input received from the user, the verification module 244 may be configured to create a new association between the new drug code and the new local identifier and store the new association, or store the current association between the received local identifier and the new drug code, and / or store data indicating that the user confirms that the association between the received local identifier and the new drug code is correct.

[0038] For example, if the verification module 244 determines that the association between the new drug code and the received associated local identifier is inaccurate, the verification module 244 may present a GUI to the user indicating that the association is inaccurate or appears to be inaccurate (e.g., using color indication or a predefined flag). In response, the user may provide input to associate the new drug code with the new local identifier of the facility, and then the verification module 244 may create a new association between the new drug code and the new local identifier and store the new association.

[0039] Similarly, if the verification module 244 determines that the association between the new drug code and the received associated local identifier is accurate or appears to be accurate, the verification module 244 may present a GUI to the user indicating that the association is accurate or appears to be accurate (e.g., using a color indication or a predefined flag). In response, the user may provide input confirming that the new drug code is correctly associated with the received local identifier, and then the verification module 244 may store the association, and / or store data indicating that the user has confirmed the accuracy of the association.

[0040] The database generator module 238 may be configured to generate one or more database entries, database tables, and / or other data structures, which may include the new drug code, drug information for the new drug code, policies, and / or local identifiers associated with the new drug code. In some implementations, the database generator module 238 may be configured to generate different database entries, tables, or data structures for each local identifier. In some implementations, the database generator module 238 may be configured to authorize access to the database entries, tables, and / or other data structures based on the facility authorization having the local identifier. In some implementations, the database generator module 238 may be configured to generate temporary database entries, tables, and / or other data structures and provide access to the computing system based on facility identification information, computing system identification information, and / or local identifier information.

[0041] The modules and applications identified above may correspond to a set of executable instructions for performing one or more of the functions described above and / or in the methods described in this application (e.g., computer-implemented methods and other information processing methods described herein). One or more of the modules may be implemented as a specific hardware device having appropriate input and output signal paths. The modules may be combined or otherwise rearranged in various implementations. In some implementations, the memory 206 stores a subset of the modules and data structures identified above. In some implementations, the memory 206 stores other modules and data structures not described above. The processor 202 may be configured to execute the modules identified above to perform one or more of the functions described above and / or the various optimized drug management techniques at the various computing systems of the various facilities referenced Figures 3A - 3D and described herein.

[0042] Now turning to Figures 3A - 3D , a flowchart is shown that illustrates an optimized process for managing drugs at the various computing systems of the various facilities and / or enterprises associated with the drug management platform. For purposes of illustration of a clear example, reference is made to Figure 1 the components of the computing systems 102, 103, 104 and the local health management systems 105, 106, 107 shown and described, along with reference to Figure 1 and 2The components of the networked computing system 108 shown and described can be used to describe an optimization process for managing drugs across various computing systems in various facilities. In some implementations, the facilities can be standalone or can be instances of a larger healthcare provider network. This process can be executed under the control of one or more coordinating devices, which can be implemented, in whole or in part, by one or more of the systems described.

[0043] Method 300 includes receiving a new drug code, for example, at local health management systems 105, 106, 107, and / or computing systems 102, 103, 104 (block 301). The new drug code can be received via an input from a user (such as a pharmacy technician) of local health management systems 105, 106, 107, and / or computing systems 102, 103, 104. Local health management systems 105, 106, 107, and / or computing systems 102, 103, 104 send the new drug code to a drug management platform executed at a computing system such as networked computing system 108 to query for a local identifier associated with the drug code on the drug management platform (block 302). In some implementations, local health management systems 105, 106, 107, and / or computing systems 102, 103, 104 can be configured to send the drug code via a message specifying drug information associated with the drug code.

[0044] The networked computing system 108 executing the drug management platform 101 receives the new drug code (block 303). In some implementations, the new drug code can be received via a message from a computing system of a facility (such as computing systems 102, 103, 104, local health management systems 105, 106, 107, etc.). As described above, in some implementations, the processor 202 can be configured to determine whether the received message corresponds to a new drug code based on data associated with a message type identifier tag or other flag indicating the message type (e.g., via the message module 232). The processor 202 determines whether the drug management platform 101 knows the new drug code (block 304). In some implementations, the processor 202 can be configured to search one or more data storage systems associated with the drug management platform 101 to determine whether the drug management platform 101 knows or is aware of the new drug code. If the processor 202 identifies the received new drug code in one or more associated data storage systems, the processor 202 can determine that the drug management platform 101 knows or is aware of the received new drug code. In some implementations, the processor 202 can determine whether it knows the new drug code based on information associated with the new drug code and information associated with one or more drug codes stored in one or more associated data storage systems of the drug management platform 101.

[0045] As described above, although the drug code may be new or unknown to the facility's system, the networked computing system 108 implementing the drug management platform 101 may have received the drug code from different systems of the customer and / or enterprise, or from systems of another customer and / or enterprise of the drug management platform 101, and the processor 202 may store the received drug code in association with related information of the drug code (e.g., information related to the drug, medicine, distributable drug, injectable drug, product, and packaging of the drug code) in one or more data storage systems associated with the drug management platform 101.

[0046] In some implementations, a new drug code may be used for a new instance of a drug stored in the drug management platform 101, where the information related to one or more of the drug, medicine, distributable drug, injectable drug, product, and / or packaging of the new instance of the drug may be the same as that of a previous drug instance. The processor 202 may determine whether the new drug code is known to the drug management platform 101 based on a comparison of the information related to the drug, medicine, distributable drug, injectable drug, product, and / or packaging of the new drug code with the corresponding information (stored in association with the drug code in one or more data storage systems associated with the drug management platform 101). In some implementations, based on the comparison, the processor 202 may generate a value (e.g., a probability value) that indicates the likelihood that the drug management platform 101 knows the drug code, and the processor 202 may be configured to determine that the drug code is known to the drug management platform 101 when the value is higher than a threshold.

[0047] If the processor 202 determines that the drug management platform 101 knows or is aware of the new drug code, the method 300 proceeds to block 305. The processor 202 identifies a local identifier and sends the local identifier to the computing system that has sent the new drug code to cause the system to associate the identified local identifier with the new drug code (block 305). The processor 202 may identify the local identifier associated with a previous instance of the drug corresponding to the received new drug code. For example, as described above, if the processor 202 determines that the new drug code is for a new instance of a drug, the processor 202 may identify the local identifier associated with the previous instance of the drug and send the local identifier to the computing system that has sent the new drug code, such as the local health management systems 105, 106, 107, and / or the computing systems 102, 103, 104.

[0048] As described above, the local identifier associated with the drug code can be an identifier of a system of an enterprise or a facility (e.g., local health management systems 105, 106, 107 and / or computing systems 102, 103, 104), and the processor 202 can identify the local identifier of the drug code based on the association between the drug code and the local identifier. In some implementations, the drug code can be stored in association with an enterprise master identifier and a local identifier. The enterprise master identifier can be associated with one or more local identifiers of each drug code associated with the enterprise master identifier. The enterprise master identifier can be associated with one or more computing systems of a facility and / or an enterprise (e.g., local health management systems 105, 106, 107 and / or computing systems 102, 103, 104) via the identifier of each of one or more computing systems of the facility and / or the enterprise and the enterprise master identifier.

[0049] In some implementations, each enterprise master identifier can be stored in association with the identifier of each of one or more systems of a facility and / or an enterprise (e.g., local health management systems 105, 106, 107 and / or computing systems 102, 103, 104). The processor 202 can receive the identifier of the system that sent the drug code and the enterprise master identifier associated with the system, and the processor 202 can identify the local identifier of the system based on the association between the identifier of the system that sent the drug code, the enterprise master identifier, the drug code, and the local identifier. The computing system of the facility and / or the enterprise receives the local identifier from the networked computing system 108 (block 307). The computing system of the facility associates the new drug code with the received local identifier (block 308). The computing system of the facility stores the received local identifier in association with the new drug code in a storage system associated with the computing system of the facility. The computing system of the facility notifies the drug management platform 101 of the association between the new drug code and the local identifier by sending the association between the new drug code and the local identifier to the networked computing system 108 (block 309). Then the method 300 continues to block 315.

[0050] Return to block 304. If the processor 202 of the networked computing system 108 determines that the new drug code is not known to the drug management platform 101 (being "No" at block 304), then method 300 proceeds to block 306. The processor 202 sends a message to the computing system that has sent the new drug code, indicating that the drug management platform 101 does not know the new drug code (block 306). The computing system of the facility receives the message indicating that the new drug code is not known (block 310). The computing system of the facility identifies the information associated with the new drug code (block 311) and generates a new local identifier corresponding to the new drug code based on the identified information (block 312). The computing system of the facility associates the local identifier with the new drug code (block 313). The computing system of the facility may store the local identifier in association with the new drug code. In some implementations, as shown at block 314, the computing system of the facility may determine whether the association of the local identifier with the new drug code is accurate based on the rules and / or preferences of the local identifiers of the computing system. If the computing system determines that the association is inaccurate (being "No" at block 314), then the computing system of the facility generates a new local identifier (block 312). If the computing system of the facility determines that the association is accurate (being "Yes" at block 314), then the computing system of the facility sends the association of the new drug code and the local identifier to the drug management platform (block 309). The method proceeds to block 315.

[0051] The processor 202 of the networked computing system 108 of the drug management platform 101 receives the association of the new drug code and the local identifier (block 315). In some implementations, the processor 202 may determine whether the association between the received new drug code and the local identifier is accurate. For example, via the verification module 244, the processor 202 may be configured to determine whether the association of the new drug code with the local identifier is accurate. For example, if the local identifier is associated with a different drug code having drug concept, medication concept, assignable drug concept, and / or injectable drug concept information different from the new drug code, then the processor 202 may determine that the association between the new drug code and the local identifier is inaccurate. In some implementations, the processor 202 may cause a GUI or other user interface or prompt to be presented to a user (such as an administrator of the drug management platform 101) (e.g., via the verification module 244) to verify the accuracy of the association between the drug code and the local identifier. For example, via the verification module 244, the processor 202 may be configured to cause a GUI or other user interface or prompt to be presented indicating that the association is accurate or inaccurate.

[0052] If the user provides inaccurate input regarding an association, then, e.g., via the validation module 244, the processor 202 can be configured to mark the association between the new drug code and the local identifier as inaccurate. If the user provides accurate input regarding the association, then, e.g., via the validation module 244, the processor 202 can be configured to store the current association between the local identifier and the new drug code, and / or store data indicating that the user has confirmed that the association between the local identifier and the new drug code is accurate in a data storage unit communicatively coupled to the networked computer system 108 (e.g., a data storage unit that stores the drug data of the drug management platform 101). In some implementations, the processor 202 can send information to the facility's computing system indicating that the association between the received local identifier and the new drug code is inaccurate. In some implementations, the processor 202 can receive a new association between the new drug code and the new local identifier from the facility's computing system, and the processor 202 can verify whether the new association is accurate. In some implementations, the processor 202 can be configured to verify whether the association between the new drug code and the local identifier is accurate a predetermined number of times, and if the number of attempts to verify the association exceeds the predetermined number, send an error message to the local computing system.

[0053] After the processor 202 confirms that the association between the local identifier and the new drug code is accurate, the method proceeds to block 316. The processor 202 determines whether there is an enterprise identifier corresponding to the new drug code (block 316). As described above, the enterprise identifier can be the unique identifier of the drug code of the enterprise or customer of the drug management platform, and the enterprise identifier can be stored in association with the corresponding drug code, one or more local identifiers of the drug code, and / or at least some information related to the drug code (e.g., drug concept, medication concept, assignable drug concept, injectable drug concept, product, and / or packaging). In some implementations, the processor 202 can determine whether the drug code corresponds to a new instance of a drug known to the drug management platform 101 based on the information related to the new drug code and the information stored in association with the drug codes known to the drug management platform 101. If the processor 202 determines that the new drug code is for a new instance of a drug known to the drug management platform, the processor 202 can identify the enterprise identifier of the previous instance of the drug as the enterprise identifier of the new drug and determine that there is an enterprise identifier corresponding to the new drug code. In some implementations, the processor 202 can search for the new drug code in one or more data storage units associated with the drug management platform 101, and if the enterprise identifier is stored in association with the new drug code, determine that the enterprise identifier exists.

[0054] If the processor 202 determines that there is no enterprise identifier corresponding to the new drug code (No at block 316), the method proceeds to block 330. The processor 202 determines whether there is a global platform identifier corresponding to the new drug code (block 330). As described above, the global platform identifier can be the unique identifier of the drug code and can be stored in association with the drug code, information related to the drug code (e.g., information related to drug concepts, pharmaceutical concepts, assignable drug concepts, injectable drug concepts, products, and / or packages), and / or one or more enterprise identifiers, where each enterprise identifier can be the identifier of the drug code of an enterprise and / or customer of the drug management platform 101. The processor 202 can search for the new drug code and / or information related to the new drug code in one or more data storage units associated with the drug management platform 101 and determine that the global platform identifier exists if it is stored in association with the new drug code or a drug code having the same information as the new drug code.

[0055] If the processor 202 determines that there is a global platform identifier corresponding to the new drug code (Yes at block 330), the method proceeds to block 332. The processor 202 identifies the drug information associated with the new drug code based on the global platform identifier (block 332). The processor 202 identifies one or more drug codes associated with the global platform identifier (block 333). If the processor 202 determines that there is no global platform identifier corresponding to the new drug code (No at block 330), the method proceeds to block 331. The processor 202 generates a new global identifier based on the information associated with the new drug code (block 331). The processor 202 generates an enterprise identifier based on the global platform identifier, the information associated with the new drug code, and the drug code (if any) associated with the global platform identifier (block 335). The processor 202 can store the generated enterprise identifier in association with the global platform identifier, the identified drug information, and the drug code in one or more data storage units associated with the drug management platform 101. The method proceeds to block 318.

[0056] Return to block 316. If the processor 202 determines that there is an enterprise identifier corresponding to the new drug code (Yes at block 316), then method 300 continues to block 317. The processor 202 determines whether the enterprise identifier is associated with a local identifier (block 317). The processor 202 may search one or more data storage units associated with the drug management platform 101 for the local identifier associated with the new drug code, and determine that the local identifier is associated with the enterprise identifier if the local identifier is stored in association with the enterprise identifier. If the processor 202 determines that the enterprise identifier is not associated with the local identifier (No at block 317), then method 300 continues to block 318. The processor 202 associates the enterprise identifier with the local identifier (block 318). The processor 202 stores the local identifier in association with the enterprise identifier in one or more data storage units associated with the drug management platform 101. Method 300 continues to block 319.

[0057] If the processor 202 determines that the enterprise identifier is associated with the local identifier (Yes at block 317), then the method continues to block 319. The processor 202 determines whether the new drug code is associated with the enterprise identifier (block 319). The processor 202 may search one or more data storage units associated with the drug management platform 101 for the enterprise identifier, and determine that the new drug code is associated with the enterprise identifier if the drug code is stored in association with the enterprise identifier. If the processor 202 determines that the enterprise identifier is associated with the new drug code (Yes at block 319), then method 300 terminates. If the processor 202 determines that the enterprise identifier is not associated with the new drug code (No at block 319), then the method continues to block 320.

[0058] The processor 202 associates the new drug code with the enterprise identifier (block 320). The processor 202 may store the new drug code in association with the enterprise identifier in one or more data storage units associated with the drug management platform 101. The processor 202 determines whether there are any other local identifiers associated with the enterprise identifier (block 321). Other local identifiers associated with the enterprise identifier may be local identifiers of other computing systems of the enterprise and / or customers of the drug management platform 101. If the processor 202 determines that other local identifiers are associated with the enterprise identifier (Yes at block 321), then method 300 continues to block 322. The processor 202 associates the other local identifiers with the new drug code (block 322). If the processor 202 determines that there are no other local identifiers associated with the enterprise identifier (No at block 321), then method 300 continues to block 323.

[0059] The processor 202 identifies the local identifiers of other enterprises and / or customers of the drug management platform 101 based on the drug information of the new drug code (block 323). The processor 202 associates the local identifiers of the other identifications of other enterprises and / or customers with the new drug code and stores this association in one or more data storage units associated with the drug management platform 101. The processor 202 identifies the policies associated with the drug of the new drug code (block 324). The policies for the drug can be stored in association with the local identifier and the information associated with the drug code of the local identifier in one or more data storage units associated with the drug management platform 101. The processor 202 can generate a database of local identifiers (block 325). The processor 202 can be configured to generate a database with local identifiers, new drug codes, and any policies to associate the new drug codes in the computing systems 102, 103, 104, and / or the local health management systems 105, 106, 107. The processor 202 can be configured to generate a temporary or auxiliary database for the computing systems of customers, enterprises, and / or facilities whose local identifiers are associated with the new drug code. In some implementations, the processor 202 can authorize access to the computing systems of customers, enterprises, and / or facilities for certain temporary databases based on the local identifiers associated with the facilities. In some implementations, the processor 202 can be configured to authorize access to facilities for certain temporary databases by creating and / or specifying an application programming interface (API) connected to the temporary database and providing the application programming interface to the facility (e.g., via a network interface). Additionally or alternatively, the processor 202 can be configured to authorize access to facilities for certain temporary databases by causing a graphical user interface to be presented to a user (e.g., an administrator of the drug management platform 101) (e.g., via one or more web pages provided over a network) to provide input for authorizing access to the facility for the temporary database.

[0060] The processor 202 determines whether one or more data storage systems associated with the computing systems of the facility and / or enterprise can be automatically updated (block 326). In some implementations, the processor 202 can determine whether the data storage system of the facility can be automatically updated based on a mapping of access permissions and / or rules to the data storage system of the facility indicating whether the data storage system can be automatically updated. In some implementations, the mapping can be provided in a hierarchy, whereby the location of the update source within the hierarchy is compared to the location of the receiving facility. If the source is closer to the root node of the hierarchy, the update can be accepted. If the source is at the same level as or lower than the receiving facility, the update can be received and identified for further review without being automatically updated. The rules can be based on the source, drug, drug type (e.g., classification), manufacturer, or other information related to the update or the facility.

[0061] If the processor 202 determines that the facility data storage system cannot be automatically updated (No at block 326), then method 300 proceeds to block 328. The processor 202 sends one or more messages to a computing system (e.g., computing system 102), indicating the new drug code and / or changes (block 328). The message can be a warning to the computing system or a user of the computing system that the new drug code will be associated with one or more local identifiers. In some implementations, the processor 202 can transmit the message to the facility's computing system (e.g., computing systems 102, 103, 104, local health management systems 105, 106, 107, etc.) via one or more APIs implemented by the facility's computing system. The message can include information for establishing a connection between the data storage and the computing system to store the local identifiers, or can include the association and / or mapping between the drug code and the local identifiers. Method 300 proceeds to block 329.

[0062] If the processor 202 determines that the facility data storage system can be automatically updated (Yes at block 326), then method 300 proceeds to block 327. The processor 202 updates the facility's data storage system with the new drug code (block 327). In some implementations, the processor 202 can be configured to generate a data storage system object (e.g., a database entry) and update the facility's data storage system with the generated data storage system object. In some implementations, the update can include indexing at least a portion of the data storage system to speed up the identification of records by drug code and / or local identifier. The processor 202 sends one or more messages to the enterprise to assist the enterprise in updating one or more internal systems of the drug management platform 101 (block 329).

[0063] In some implementations, the computing system can send local identifiers for drugs that appear (to the computing system) to be new drugs. However, the drug can be known to another computing system or the drug management platform 101 at a facility associated with a different computing system. In such a case, the drug management platform 101 can identify the processing configuration for the drug and send a control message to the computing system to configure the hardware for processing the drug. The processing configuration can be stored in a data storage accessible to the drug management platform 101, associated with the drug identification information. For example, the drug can be a temperature-controlled substance. In such a case, when receiving a message from the computing system indicating the receipt of a "new" drug, the drug management platform 101 can send a refrigeration control message for configuring the refrigeration unit at the medical facility. Other examples of processing configuration control messages include lock / unlock protocols, such as for accessing storage locations for controlled substances (e.g., cabinets, lockers, rooms); waste equipment protocols (e.g., empty drains, empty hazardous containers, isolate waste, witness requirements), etc.

[0064] The described features provide several technical advantages in the field of drug administration. One non - limiting advantage is ensuring consistency of coding across facilities. In some cases, there may be hundreds of different healthcare institutions, each with multiple facilities. In some cases, each facility can manage its own coding library, which may differ from other facilities within the healthcare institution and / or across all healthcare institutions.

[0065] Some solutions include regularly consulting an authoritative source of unified drug coding that has been published. However, the source is updated at a slower rate than the rate at which facilities receive drugs. As a result, when a pharmacy receives a drug that it has not received before, there may be arbitrary and unverified information associated with the new drug. This information quickly spreads throughout the health information system, such as medical records, billing, inventory, preparation, dispensing, etc., and each system may have its own corresponding coding and data storage. Once available, ensuring that the information accurately reflects across the enterprise can be resource - intensive.

[0066] In addition to updating information, there is also little quality control for the input information of drugs. In some cases, manual or semi - automated systems can be used to receive the input information of drugs. This process is typically free - form input and is prone to errors, such as incorrect dosage entered, incorrect dosage count, misspelled drug name, drug manufacturer name or batch code, incorrect expiration date, incorrect handling parameters (e.g., temperature), and so on.

[0067] The described features provide a consistent and verifiable system and method to address these and other challenges.

[0068] Example embodiments

[0069] Consider a system with three levels of drug identifiers. One level can be referred to as the global level. This could be a conceptual drug taxonomy that exists above any individual customer and is designed to be able to generate classification data in any format for use by any customer enterprise. This top - level supports crowdsourcing, global data enrichment, and supports cross - facility analysis. It is a drug management platform as Figure 1 shown, which can be connected to the computing systems of each facility (e.g., drug management platforms) and serves as a reliable source of known drug data.

[0070] The second level generally involves an enterprise business entity composed of various facilities (e.g., hospitals, clinics, medical office buildings, infusion centers, long-term care facilities, etc.), which maintains its own drug management platform for consumption by the entities it owns. By using its own drug management platform, the enterprise entity can share information among its facilities. The drug management platform can also create "standards" through which certain handling rules for specific drugs can be enforced across all facilities it owns or controls. Thus, for example, a drug management platform at the enterprise level (or regional level - for very large enterprises) can ensure that all dispensing cabinets used within the enterprise use exactly the same rules and workflows to manage controlled substances.

[0071] The third level can be referred to as a facility. A facility represents an enterprise site with an instance of an electronic medical record system (EMR) and one or more instances of a drug management system. Multiple facilities can share an EMR instance. In some cases, a facility may have multiple EMR systems, especially when certain services (such as the emergency department) are outsourced. Although some drug management systems can interface with multiple EMRs, for practical purposes, each of these interfaces is an island and can operate effectively as a separate facility.

[0072] Typically, the drug management system suite within a facility interfaces directly with a single EMR instance. In this interface, the EMR is the source of coding (e.g., local identifier). When a new drug is introduced, as a result of purchasing the new drug, the new drug is generally first seen at the facility level. The instantiation of the new drug usually first appears in the electronic medical record of that facility. The resulting coding (e.g., local identifier) can then be used to describe the drug in the drug management system of that facility.

[0073] Drug coding can be used to characterize drugs at all three levels. In the United States, drug coding may be included in the National Drug Code (NDC) set, and each code specifies a unique packaging of a specific manufacturer instance of a drug. Some jurisdictions require that each drug instance be labeled with its NDC, which generally takes the form of a human-readable form and a barcode representing the NDC.

[0074] In some cases, the only part of a drug code defined by the entity controlling the coding set (e.g., the U.S. Food and Drug Administration) is the part of the drug code assigned to the manufacturer. The manufacturer can use the other parts of the drug code as needed. For example, the U.S. NDC code may include two additional parts that describe the drug and the packaging. When a drug is introduced to the market, these parts are created by the manufacturer and applied to the new drug. One consequence of such a system is that the codes that appear on drugs may change frequently without warning. In fact, the most common change to the formulary in EMR and drug management systems is an expansion of the NDC list associated with the drug. By inference, the most common error associated with manually maintaining a drug formulary is manually associating the NDC to the wrong drug.

[0075] When a drug is received into inventory, the described features detect the new NDC. For example, when a new unknown NDC is received into inventory, it may be unknown only to that facility (EMR pair), or generally unknown.

[0076] The receiving system can first query the enterprise data management platform and then query the global enterprise management platform to see if the NDC is actually known to exist. If it does exist, the drug management system can obtain the local identifier of the drug represented by the NDC and present a description of the drug and its local identifier to the user. In some systems, machine learning or inspection by the user via the GUI can be used to verify the information. If the user is authorized to verify the match, they do so by confirming that the new NDC should be associated with the proposed local identifier.

[0077] If the NDC is completely unknown, the user of the affected drug management system can manually add the NDC to the appropriate drug record. This addition can use one or more of barcode scanning, image recognition, or the GUI. To avoid errors, a review can be associated with the addition process. For example, an edit to the drug NDC list may be received by the enterprise drug management system and reviewed again within it. If an error or discrepancy is found between the information entered and the current record at the enterprise level, the original system can be corrected and resubmitted for local processing. If no errors are identified, the enterprise data management system can determine the local identifier for each local system and use each identifier to update the NDC list for the appropriate drug in each local drug management system.

[0078] When adding a new drug to such an ecosystem, the process typically includes adding the drug to the formulary (e.g., the list of permitted drugs) at the facility level. Eventually, since the coding of the new drug comes from each EMR system at each facility, to ensure the integrity of the information system, the addition should first be made in the EMR and then propagated to the drug management system served by the EMR. In terms of a single system of the drug management system serving multiple facilities served by the same EMR instance, at least some of the features described can be used to simplify this process because a single change occurs simultaneously for each served system.

[0079] After being created in the facility's EMR using the local coding provided by the EMR, the new drug is typically first added within one of the multiple drug management systems at that particular facility in accordance with the present disclosure. As part of this process, a set of NDCs for the drug can also be determined and entered. Since this matching of NDCs can drive a bedside drug safety system (e.g., barcode medication administration - BCMA), the quality of this association is carefully managed and quickly fixed in the event of an input error.

[0080] As a result of adding a new drug to the formulary of one system, the change can be published to the enterprise drug management platform where it is reviewed again. If an input error is found, it can be corrected in the original system before further activity occurs. Entering the enterprise drug management platform generates an enterprise identifier that, over time, normalizes all the individual local identifiers across all of the enterprise's facilities. As part of this process, an automated mapping algorithm can check the newly introduced drug against the global drug management platform. This check can verify the identity, characteristics, and NDC list of the entry. The administrator of the global drug management system can approve or reject the addition of any hitherto unknown drug to the global drug management system and provide the global identifier back to the enterprise system.

[0081] Once entered and approved in the enterprise drug management system, the enterprise system can then release the new drug to each facility for potential addition. In the legacy system, the drug and its associated data can be released to other drug management systems used in the facility, which contain the information required by each such system. For other facilities with other EMRs, each facility can choose to add or not add the drug in its local facility. This choice can be based on rules that define which update sources (if any) to accept. This choice can be based on the review of the pending edits by an authorized user through the GUI. If an addition occurs, the facility may first generate a drug record in its EMR, obtain a local identifier from the EMR, and use it to accept the released information into each of their systems. If the facility initially rejects adding the drug to their local formulary, they can do so later by the following steps: namely, first create the drug in their EMR and then extract the drug information from their enterprise drug management system.

[0082] In these cases, the mapping of the NDC to local identifiers, enterprise identifiers, and ultimately global identifiers is a curated process driven by a matching algorithm that uses machine learning to improve its matching predictions based on its experience of matching previous drugs.

[0083] Although some of the various figures show multiple logical stages in a particular order, stages that are not order-dependent can be reordered and other stages can be combined or broken down. While some reordering or other grouping has been specifically mentioned, other reordering or grouping will be obvious to those of ordinary skill in the art, and thus the order and grouping presented here are not an exhaustive alternative list. Additionally, it should be recognized that these stages can be implemented in hardware, firmware, software, or any combination thereof.

[0084] Those skilled in the art will understand that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein can be implemented as electronic hardware, computer software, or a combination of both. To illustrate this interchangeability of hardware and software, the various illustrative blocks, modules, elements, components, methods, and algorithms have been described generally above in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the particular application and the design constraints imposed on the overall system. The described functionality can be implemented in different ways for each particular application. Without departing from the scope of the claimed subject matter, the various components and blocks can be arranged differently (e.g., in a different order or divided differently).

[0085] It should be understood that the specific order or hierarchy of steps in the disclosed processes are illustrations of example methods. Based on design preferences, it will be understood that the specific order or hierarchy of steps in a process may be rearranged. Some steps may be performed simultaneously. The appended method claims present the elements of the various steps in an example order and are not meant to be limited to the specific order or hierarchy presented.

[0086] Description of the subject technology as a clause

[0087] For convenience, various examples of aspects of the present disclosure are described as numbered clauses (1, 2, 3, etc.). These are provided as examples and do not limit the subject technology. The identification of the accompanying drawings and reference numerals provided below are for example and illustrative purposes only, and the clauses are not limited by these identifications.

[0088] Clause 1. A computer-implemented method for managing pharmaceutical products, comprising: receiving, by a central computing system, a new item code and pharmaceutical information associated with the new item code from a first client system; determining, by the central computing system, at least in part based on the received pharmaceutical information, a drug and a first local identifier used by the first client system to identify the drug; determining, by the central computing system, at least in part based on identifying the first local identifier, one or more second local identifiers identifying the drug; identifying, by the central computing system, at least in part based on the one or more second local identifiers, a plurality of second client systems using the one or more second local identifiers; and providing, by the central computing system, instructions to each of the plurality of second client systems to associate one or more corresponding second local identifiers with the new item code at the second client systems.

[0089] Clause 2. The method according to clause 1, further comprising: prior to providing the instructions to each of the plurality of second client systems, providing the one or more second local identifiers and an indication of the plurality of second client systems to a user interface for confirmation by an administrator that the new item code should be associated with the one or more second local identifiers at the plurality of second client systems; receiving the confirmation; and providing the instructions in response to the confirmation.

[0090] Clause 3. The method according to clause 1, wherein the one or more corresponding second local identifiers are the local identifiers used at the second client systems.

[0091] Clause 4. The method according to clause 3, wherein providing the instructions includes automatically updating data stores within one or more of the second client systems with the association of the new item code with the one or more corresponding second local identifiers.

[0092] Clause 5. The method according to Clause 3 further includes: generating a data storage object for each association between the second local identifier among the one or more second local identifiers and the new item code, wherein the data storage object includes the new item code and the second local identifier; and storing each generated data storage object in a different data storage.

[0093] Clause 6. The method according to Clause 5 further includes: determining the second client system among the plurality of second client systems at least in part based on the second local identifier stored in the generated data storage object; and authorizing access to the data storage storing the data storage object including the second local identifier in the second client system.

[0094] Clause 7. The method according to Clause 1 further includes: receiving drug information related to the new item code from the first client system; determining a platform identifier at least in part based on the drug information; and when the first local identifier does not exist, determining one or more second local identifiers at least in part based on the platform identifier.

[0095] Clause 8. The method according to Clause 1 further includes: when the first local identifier exists, determining one or more third local identifiers at least in part based on the first local identifier, wherein the one or more third local identifiers are used by the first client system; and providing an instruction to the first client system to associate the one or more third local identifiers with the new item code.

[0096] Clause 9. The method according to Clause 1, wherein providing the instruction includes: updating a data storage with the association of the one or more corresponding second local identifiers and the new item code; and authorizing access to the data storage among the plurality of second client systems for the plurality of second client systems to retrieve the association.

[0097] Clause 10. The method according to Clause 1, wherein the one or more second local identifiers are determined based on a platform identifier associated with the first local identifier.

[0098] Clause 11. A system includes: a memory that stores instructions; and one or more processors coupled to the memory and configured to execute the instructions to cause the system to: receive a new item code and drug information associated with the new item code from a first client system; determine, at least in part based on the received drug information, a drug and a first local identifier used by the first client system to identify the drug; determine, at least in part based on identifying the first local identifier, one or more second local identifiers that identify the drug; identify, at least in part based on the one or more second local identifiers, a plurality of second client systems that use the one or more second local identifiers; and provide instructions to each of the plurality of second client systems to associate one or more corresponding second local identifiers with the new item code at the second client systems.

[0099] Clause 12. The system of clause 11, wherein the one or more processors are configured to execute instructions to cause the system to: prior to providing instructions to each of the plurality of second client systems, provide the one or more second local identifiers and an indication of the plurality of second client systems to a user interface for confirmation by an administrator that the new item code should be associated with the one or more second local identifiers at the plurality of second client systems; receive the confirmation; and provide the instructions in response to the confirmation.

[0100] Clause 13. The system of clause 11, wherein the one or more corresponding second local identifiers are the local identifiers used at the second client systems.

[0101] Clause 14. The system of clause 13, wherein the one or more processors are configured to execute instructions to cause the system to: when providing the instructions, automatically update data storage within one or more of the second client systems with the association of the new item code and the one or more corresponding second local identifiers.

[0102] Clause 15. The system of clause 13, wherein the one or more processors are configured to execute instructions to cause the system to: generate, for each association between a second local identifier of the one or more second local identifiers and the new item code, a data storage object that includes the new item code and the second local identifier; and store each generated data storage object in a different data storage.

[0103] Clause 16. The system according to Clause 15, wherein the one or more processors are configured to execute instructions to cause the system to: determine a second client system among the plurality of second client systems at least in part based on the second local identifier stored in the generated data storage object; and authorize access to the data storage storing the data storage object including the second local identifier in the second client system.

[0104] Clause 17. The system according to Clause 11, wherein the one or more processors are configured to execute instructions to cause the system to: receive drug information related to the new item coding from the first client system; determine a platform identifier at least in part based on the drug information; and determine one or more second local identifiers at least in part based on the platform identifier when the first local identifier does not exist.

[0105] Clause 18. The system according to Clause 11, wherein the one or more processors are configured to execute instructions to cause the system to: determine one or more third local identifiers at least in part based on the first local identifier when the first local identifier exists, wherein the one or more third local identifiers are used by the first client system; and provide instructions to the first client system to associate the one or more third local identifiers with the new item coding.

[0106] Clause 19. The system according to Clause 11, wherein the one or more processors are configured to execute instructions to cause the system to: update the data storage with the association of the one or more corresponding second local identifiers with the new item coding; and authorize access to the data storage in the plurality of second client systems for the plurality of second client systems to retrieve the association.

[0107] Clause 20. The system according to Clause 11, wherein the one or more processors are configured to execute instructions to cause the system to: determine the one or more second local identifiers based on the platform identifier associated with the first local identifier.

[0108] Other Considerations

[0109] In some embodiments, any clause herein may depend on any one independent clause or any one dependent clause. On the one hand, any clause (e.g., a dependent or independent clause) may be combined with any other one or more clauses (e.g., a dependent or independent clause). On the one hand, a claim may include some or all of the words (e.g., steps, operations, means, or components) recited in one clause, sentence, phrase, or paragraph. On the one hand, a claim may include some or all of the words recited in one or more clauses, sentences, phrases, or paragraphs. On the one hand, some words may be deleted from each clause, sentence, phrase, or paragraph. On the one hand, additional words or elements may be added to a clause, sentence, phrase, or paragraph. On the one hand, the subject technology may be implemented without utilizing some of the components, elements, functions, or operations described herein. On the one hand, additional components, elements, functions, or operations may be utilized to implement the subject technology.

[0110] The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. The foregoing description provides various examples of the subject technology, and the subject technology is not limited to these examples. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, where an element recited in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more." Unless otherwise expressly stated, the term "some" means one or more. Masculine pronouns (e.g., his) include feminine and neuter genders (e.g., her and its), and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the invention described herein.

[0111] As used herein, the term website may include any aspect of a website, including one or more web pages, one or more servers for hosting or storing web-related content, etc. Thus, the term website may be used interchangeably with the terms web page and server. The predicates "configured to," "operably," and "programmed to" do not imply any particular tangible or intangible modification to the subject, but are intended to be used interchangeably. For example, a processor configured to monitor and control an operation or component may also be expressed as a processor programmed to monitor and control the operation or a processor operably monitoring and controlling the operation. Similarly, a processor configured to execute code may be interpreted as a processor programmed to execute code or a processor operably executing code.

[0112] As used herein, the term "automatically" can include being performed by a computer or machine without user intervention; for example, by instructions that respond to predicted actions of a computer or machine or other initiating mechanism. As used herein, the word "example" means "by way of example or illustration". Any aspect or design described herein as an "example" is not necessarily to be construed as superior or better than other aspects or designs.

[0113] Phrases such as "aspect" do not imply that such an aspect is essential to the subject technology or that such an aspect applies to all configurations of the subject technology. Disclosure relating to an aspect can apply to all configurations, or one or more configurations. An aspect can provide one or more examples. Phrases such as "aspect" can refer to one or more aspects, and vice versa. Phrases such as "embodiment" do not mean that such an embodiment is essential to the subject technology or that such an embodiment applies to all configurations of the subject technology. Disclosure relating to an embodiment can apply to all embodiments, or one or more embodiments. An embodiment can provide one or more examples. Phrases such as "embodiment" can refer to one or more embodiments, and vice versa. Phrases such as "configuration" do not mean that such a configuration is essential to the subject technology or that such a configuration applies to all configurations of the subject technology. Disclosure relating to a configuration can apply to all configurations, or one or more configurations. A configuration can provide one or more examples. Phrases such as "configuration" can refer to one or more configurations, and vice versa.

Claims

1. A computer-implemented method for detecting and associating unknown pharmaceutical products performed by a central computing system, comprising: Receiving a plurality of messages from a plurality of client systems via a network; Identifying new item codes in the plurality of messages; Receiving, at a first client system of the plurality of client systems, pharmaceutical information associated with the new item code; Determining, at least in part based on the received pharmaceutical information, a drug and a first local identifier used by the first client system to identify the drug; Determining that the association of the new drug code with the first local identifier is not a correct association based on whether the first local identifier associated with the new drug code is associated with a platform identifier; In response to determining that the first local identifier is not associated with the new item code, causing a graphical user interface to be presented on a display device, including a prompt indicating an inaccurate association of the first local identifier and one or more control elements for receiving user input regarding the association between the new item code and the corresponding local identifier; Receiving, via the one or more control elements of the graphical user interface, user input identifying one or more second local identifiers of the drug associated with the new item code; At least in part based on receiving the one or more second local identifiers: Generating, in a database of a memory device, one or more records of the one or more second local identifiers and a record of the association between the one or more second local identifiers and the new item code; Identifying, at least in part based on the one or more second local identifiers, a plurality of second client systems that use the one or more second local identifiers; And Providing, via the network, instructions to each of the plurality of second client systems to associate the one or more second local identifiers with the new item code at the second client systems.

2. The method according to claim 1, further comprising: Before providing instructions to each of the plurality of second client systems, providing the one or more second local identifiers and an indication of the plurality of second client systems to a user interface for an administrator to confirm that the new item code should be associated with the one or more second local identifiers at the plurality of second client systems; Receiving the confirmation; Storing, in the database, data indicating that the administrator has confirmed that the association between the local identifier and the new drug code is accurate; and Providing the instructions in response to the confirmation.

3. The method according to claim 1, wherein the one or more second local identifiers are the local identifiers used at the second client systems.

4. The method according to claim 3, wherein providing the instructions includes automatically updating data storage within one or more of the second client systems with the association of the new item code with the one or more second local identifiers.

5. The method according to claim 3, further comprising: Generate a data storage object for each association between a second local identifier among the one or more second local identifiers and the new item code, wherein the data storage object includes the new item code and the second local identifier; and Store each generated data storage object in a different data storage.

6. The method according to claim 5, further comprising: Determine a second client system among the plurality of second client systems at least in part based on the second local identifier stored in the generated data storage object; And Authorize access to the data storage storing the data storage object including the second local identifier in the second client system.

7. The method according to claim 1, further comprising: Receive drug information related to the new item code from the first client system; Determine a platform identifier at least in part based on the drug information; And When the first local identifier does not exist, determine one or more second local identifiers at least in part based on the platform identifier.

8. The method according to claim 1, further comprising: When the first local identifier exists, determine one or more third local identifiers at least in part based on the first local identifier, wherein the one or more third local identifiers are used by the first client system; And Provide instructions to the first client system to associate the one or more third local identifiers with the new item code.

9. The method according to claim 1, wherein providing the instructions includes: Update a data storage with the association of the one or more second local identifiers with the new item code; And Authorize access to the data storage in the plurality of second client systems for the plurality of second client systems to retrieve the association.

10. The method according to claim 1, wherein the one or more second local identifiers are determined based on a platform identifier associated with the first local identifier.

11. A system for detecting and associating unknown drug products, comprising: A memory that stores instructions; And One or more processors coupled to the memory and configured to execute the instructions to cause the system to: Receive a plurality of messages from a plurality of client systems via a network; Identify a new item code in the plurality of messages; Receive drug information associated with the new item code at a first client system of the plurality of client systems; Determine a drug and a first local identifier used by the first client system to identify the drug at least in part based on the received drug information; Determine that the association between the new drug code and the first local identifier is not a correct association based on whether the first local identifier associated with the new drug code is associated with a platform identifier; In response to determining that the first local identifier is not associated with the new item code, cause a graphical user interface to be presented on a display device, including a prompt indicating an inaccurate association of the first local identifier and one or more control elements for receiving user input regarding an association between the new item code and a corresponding local identifier; Receive, via one or more control elements of the graphical user interface, user input for identifying one or more second local identifiers of the drug related to a new item code, at least in part based on identifying the first local identifier; At least in part based on receiving the one or more second local identifiers: Generate, in a database of a memory device, an association between the one or more second local identifiers and the new item code; Identify a plurality of second client systems using the one or more second local identifiers, at least in part based on the one or more second local identifiers; And Provide, via the network, instructions to each of the plurality of second client systems to associate the one or more second local identifiers with the new item code at the second client systems.

12. The system according to claim 11, wherein the one or more processors are configured to execute instructions to cause the system to: Before providing instructions to each of the plurality of second client systems, provide the one or more second local identifiers and an indication of the plurality of second client systems to a user interface for an administrator to confirm that the new item code should be associated with the one or more second local identifiers at the plurality of second client systems; Receive the confirmation; Store, in the database, data indicating that the administrator has confirmed that the association between the local identifier and the new drug code is accurate; and Provide the instructions in response to the confirmation.

13. The system according to claim 11, wherein the one or more second local identifiers are the local identifiers used at the second client systems.

14. The system according to claim 13, wherein the one or more processors are configured to execute instructions to cause the system to: When providing the instructions, automatically update data storage within one or more of the second client systems with the association of the new item code and the one or more second local identifiers.

15. The system according to claim 13, wherein the one or more processors are configured to execute instructions to cause the system to: Generate, for each association between a second local identifier of the one or more second local identifiers and the new item code, a data storage object, wherein the data storage object includes the new item code and the second local identifier; and Store each generated data storage object in a different data storage.

16. The system according to claim 15, wherein the one or more processors are configured to execute instructions to cause the system to: Determine, at least in part based on the second local identifier stored in the generated data storage object, a second client system among the plurality of second client systems; and Authorize access to a data storage in the second client system that stores the data storage object including the second local identifier.

17. The system according to claim 11, wherein the one or more processors are configured to execute instructions to cause the system to: Receive drug information related to the new project code from the first client system; Determine a platform identifier at least in part based on the drug information; And When the first local identifier does not exist, determine one or more second local identifiers at least in part based on the platform identifier.

18. The system of claim 11, wherein the one or more processors are configured to execute instructions to cause the system to: When the first local identifier exists, determine one or more third local identifiers at least in part based on the first local identifier, wherein the one or more third local identifiers are used by the first client system; and Provide instructions to the first client system to associate the one or more third local identifiers with the new project code.

19. The system of claim 11, wherein the one or more processors are configured to execute instructions to cause the system to: Update a data store with the association of the one or more second local identifiers with the new project code; and Authorize access to the data store in the plurality of second client systems for retrieval of the association by the plurality of second client systems.

20. The system of claim 11, wherein the one or more processors are configured to execute instructions to cause the system to: Determine the one or more second local identifiers based on a platform identifier associated with the first local identifier.