A method, system, and computer program product for classifying a pharmaceutical product based on characteristics of the pharmaceutical product to reduce an artificial intelligence model size used when validating the pharmaceutical product
A decentralized AI system with tailored models and a consensus engine addresses inefficiencies in large AI systems by enhancing verification efficiency and accuracy for pharmaceutical product distribution entities.
Patent Information
- Application Number
- JP2024573959
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-21
- Filing Date
- 2023-06-20
- Publication Date
- 2025-07-08
AI Technical Summary
Existing AI systems for verifying pharmaceutical products are inefficient and resource-intensive due to being trained on a large number of products, making them less effective for entities that distribute a small subset of pharmaceutical products, and the training process is prone to errors.
Implementing a decentralized AI system with multiple AI engines or models tailored to specific subsets of pharmaceutical products based on characteristics, using a consensus engine to verify training information consistency and efficiency.
Enhances data throughput and system performance by allowing efficient training and verification of pharmaceutical products, reducing the need for extensive retraining and improving accuracy through consensus-based validation.
Smart Images

Figure 2025521306000001_ABST
Abstract
Description
Technical Field
[0001] This application claims the priority and benefit of U.S. Provisional Application No. 63 / 366,701, filed on Jun. 21, 2022, the disclosure of which is incorporated herein by reference in its entirety.
[0002] The present disclosure generally relates to the identification of pharmaceutical products, and more particularly, to methods, systems, and computer program products for identifying pharmaceutical products, e.g., for facilitating the verification of the contents of a pharmaceutical product package for identifying a pharmaceutical product.
Background Art
[0003] Drug product packaging systems can be used in facilities, such as pharmacies, hospitals, long-term care facilities, etc., to dispense medications in response to prescriptions. These drug product packaging systems can include systems designed to package medications in a variety of container types, such as pouches, vials, bottles, blister cards, and strip packaging, although not limited to these. Strip packaging is a type of packaging in which medications are packaged in individual pouches for administration on a specific date and, in some cases, at a specific time. Typically, the individual pouches are removably joined and often provided in a roll. The pouches can be detached from the roll as needed. The contents of the pharmaceutical product package may be verified to confirm that the customer is receiving the correct pharmaceutical product before the pharmaceutical product is shipped to the customer.
Summary of the Invention
Means for Solving the Problems
[0004] In some embodiments of the concepts of the present invention, the method includes receiving information associated with a pharmaceutical product, where the information includes a plurality of characteristics; filtering the information based on at least one of the plurality of characteristics to identify at least one of a plurality of artificial intelligence engines; and using the identified one of the plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the identified one of the plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product.
[0005] In other embodiments, each of the plurality of artificial intelligence engines corresponds to a plurality of value combinations of at least one of the plurality of characteristics.
[0006] In still other embodiments, at least one of the plurality of characteristics is not used when filtering the information. Each of the at least one of the plurality of characteristics that is not used when filtering the information is used as at least one feature when training the plurality of artificial intelligence engines.
[0007] In still other embodiments, the plurality of characteristics includes size, shape, color, imprint code, or scoring.
[0008] In still other embodiments, the imprint code includes an indicium of medicinal strength, an indicium of an active ingredient, and an indicium of an inactive ingredient.
[0009] In still other embodiments, the shape includes round, elliptical, and others.
[0010] In yet other embodiments, the color includes transparency and multiple colors.
[0011] In yet other embodiments, filtering the information includes filtering the information based on all of the plurality of characteristics to identify the one of the plurality of artificial intelligence engines.
[0012] In yet other embodiments, each of the plurality of artificial intelligence engines includes a convolutional neural network.
[0013] In yet other embodiments, the convolutional neural network includes a plurality of convolutional layers, where at least some of the plurality of convolutional layers are connected to each other via skip connections.
[0014] In yet other embodiments, each of the plurality of artificial intelligence engines corresponds to a plurality of value combinations of at least one of the plurality of characteristics. The method further includes, based on an entity that distributes some of the plurality of pharmaceutical products having a plurality of the plurality of value combinations corresponding to a plurality of the plurality of artificial intelligence engines, respectively permitting the entity access to some of the plurality of artificial intelligence engines.
[0015] In some embodiments, the method includes receiving training information associated with a pharmaceutical product from a plurality of sources, where the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); determining whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on consistency in the training information among some of the plurality of sources; and, when the training information is accepted, training an artificial intelligence engine configured to predict an NDC code for the pharmaceutical product based on the plurality of characteristics.
[0016] In other embodiments, determining whether to accept, reject, or place the training information on a waiting list includes accepting the training information if the training information agrees among at least a consensus subset of some of the plurality of sources.
[0017] In still other embodiments, the consensus subset includes a minimum number X of the plurality of sources.
[0018] In still other embodiments, the consensus subset further includes a minimum percentage Y of the plurality of sources.
[0019] In still other embodiments, determining whether to accept, reject, or place the training information on a waiting list includes using a consensus artificial intelligence engine to determine whether to accept, reject, or place the training information on a waiting list.
[0020] In yet further embodiments, the consensus artificial intelligence engine includes using K-means clustering to determine whether to accept, reject, or place the training information on a waiting list.
[0021] In yet further embodiments, the method further includes verifying the training information with a reliable source of the training information before accepting the training information.
[0022] In yet further embodiments, the plurality of characteristics includes size, shape, color, imprint code, or scoring.
[0023] In some embodiments, the system comprises a processor; and a memory connected to the processor, the memory including computer-readable program code embedded therein and executable by the processor, the computer-readable program code being configured to perform instructions including receiving information associated with a pharmaceutical product, where the information includes a plurality of characteristics; filtering the information based on at least one of the plurality of characteristics to identify one of a plurality of artificial intelligence engines; and using the identified one of the plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the identified one of the plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product.
[0024] In some embodiments, a computer program product comprises a non-transitory computer-readable storage medium including computer-readable program code embedded therein and executable by a processor, the computer-readable program code being configured to perform instructions including receiving information associated with a pharmaceutical product, where the information includes a plurality of characteristics; filtering the information based on at least one of the plurality of characteristics to identify one of a plurality of artificial intelligence engines; and using the identified one of the plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the identified one of the plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product.
[0025] In some embodiments, the system comprises a processor; and a memory connected to the processor, the memory including computer-readable program code embedded therein that is executable by the processor, the computer-readable program code including receiving training information associated with a pharmaceutical product from a plurality of sources, wherein the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); determining whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on consistency in the training information among some of the plurality of sources; and training an artificial intelligence engine configured to predict an NDC code for a pharmaceutical product based on the plurality of characteristics when the training information is accepted.
[0026] In some embodiments, a computer program product comprises a non-transitory computer-readable storage medium including computer-readable program code embedded therein that is executable by a processor, the computer-readable program code including receiving training information associated with a pharmaceutical product from a plurality of sources, wherein the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); determining whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on consistency in the training information among some of the plurality of sources; and training an artificial intelligence engine configured to predict an NDC code for a pharmaceutical product based on the plurality of characteristics when the training information is accepted.
[0027] Other methods, systems, manufactured articles, and / or computer program products according to embodiments of the concepts of the present invention will become apparent to or be apparent to those skilled in the art upon consideration of the accompanying drawings and the following detailed description. All such additional systems, methods, manufactured articles, and / or computer program products are included within the detailed description of the present invention, are within the scope of the subject matter of the present invention, and are intended to be protected by the appended claims.
[0028] Other features of the embodiments will be more readily understood from the following detailed description of the invention for those particular embodiments when read in conjunction with the accompanying drawings.
Brief Description of the Drawings
[0029]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Mode for Carrying Out the Invention
[0030] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the concept of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the concept of the present invention. All embodiments disclosed herein are intended to be capable of being implemented separately or combined together in any manner and / or combination. Aspects described with respect to one embodiment may be incorporated into different embodiments, although not specifically described in relation thereto. That is, all embodiments and / or features of any embodiment may be combined together in any manner and / or combination.
[0031] As used herein, the term "data processing facility" includes, but is not limited to, hardware elements, firmware components, and / or software components. A data processing system may be configured using one or more data processing facilities.
[0032] As used herein, the term "drug product packaging system" refers to any type of pharmaceutical dispensing system, and any such type of pharmaceutical dispensing system includes, but is not limited to, an automated system for filling vials, bottles, containers, pouches, blister cards, etc. with pharmaceutical products, a semi-automated system for filling vials, bottles, containers, pouches, blister cards, etc. with pharmaceutical products, and any combination of automated and semi-automated systems for filling pharmaceutical product packages with pharmaceutical products. A drug product packaging system also includes packaging systems for pharmaceutical product substitutes, such as nutritional supplements and / or biopharmaceutical products.
[0033] The terms "pharmaceutical" and "medication" are used interchangeably herein and refer to a drug prescribed for either a human or animal patient. A pharmaceutical or medication can be embodied in various ways, such as, but not limited to, the various ways including pill form, capsule form, tablet form, etc.
[0034] The term "drug product" refers to any type of drug, such as, but not limited to, pills, capsules, tablets, caplets, gelcaps, troches, etc., of the above - mentioned any type of drug that can be packaged into vials, bottles, containers, pouches, blister cards, etc., by automated and semi - automated pharmaceutical product packaging systems. A drug product also refers to pharmaceutical alternatives, such as nutraceuticals and / or bioceuticals. An exemplary pharmaceutical product packaging system, such as the above - mentioned exemplary pharmaceutical product packaging system including management techniques for fulfilling packaging orders, is described in U.S. Patent No. 10,492,987, the disclosure of which is incorporated herein by reference.
[0035] The term "pharmaceutical packaging" refers to any type of object that can hold a drug product, such as, but not limited to, any type of object including vials, bottles, containers, pouches, blister cards, etc.
[0036] Embodiments of the concepts of the present invention are described herein in the context of a pharmaceutical product analysis and verification engine, such as the above-mentioned pharmaceutical product analysis and verification engine that includes one or more machine learning engines and an artificial intelligence (AI) engine. Embodiments of the concepts of the present invention are not limited to a specific implementation of the pharmaceutical product analysis and verification engine, and various types of AI systems can be used, such as, but not limited to, multi-layer neural networks, deep learning systems, natural language processing systems, and / or computer vision systems. Moreover, it will be understood that the multi-layer neural network is a multi-layer artificial neural network with artificial neurons or artificial nodes and does not include a biological neural network with actual biological neurons. Embodiments of the concepts of the present invention may be implemented using multiple AI systems, or may be implemented by combining various functions in fewer or single AI systems. The AI engines described herein can be configured to transform the memory of a computer system to include one or more data structures, such as, but not limited to, arrays, extensible arrays, linked lists, binary trees, balanced trees, heaps, stacks, and / or queues. These data structures can be configured or changed through the AI training process to improve the efficiency of the computer system when the computer system operates in inference mode and makes inferences, predictions, classifications, proposals, etc. in response to the input information or data provided thereto.
[0037] When pharmaceutical products are packaged for delivery to customers using a pharmaceutical product packaging system, a verification or auditing process can be performed to confirm that the packaged pharmaceutical products correspond to a patient's prescription. Therefore, in some cases, a pharmaceutical product packaging entity can use an artificial intelligence (AI) system to analyze a pharmaceutical product image and / or other pharmaceutical product information to predict a National Drug Code (NDC) and determine whether the NDC code for the pharmaceutical product matches the NDC for the pharmaceutical product identified in the prescription. Typically, the AI system uses a single large-scale monolithic model trained using pharmaceutical product images and / or other pharmaceutical product information for a large number of pharmaceutical products that can be distributed across multiple packaging entities, i.e., different pharmacies, hospitals, etc. However, as new pharmaceutical products are manufactured, it can be time-consuming and resource-intensive to retrain the large-scale AI model. Moreover, many pharmaceutical product distribution entities may only distribute a small subset of the total number of pharmaceutical products used to train the large-scale AI model. Accordingly, some embodiments of the concepts of the present invention arise from the recognition that an AI system comprising an AI model trained with a large number of pharmaceutical products can be inefficient for use in verifying or auditing packaged pharmaceutical products. Moreover, many distribution entities may not distribute all or many of the pharmaceutical products for which the AI model was trained. As a result, the advantage that the AI model can identify a more comprehensive list of pharmaceutical products is of little use to each pharmaceutical product distribution entity that distributes a relatively small subset of pharmaceutical products, and it may be preferable to train more sensitive and efficient AI systems and models targeted at the pharmaceutical products distributed by the distribution entity.
[0038] Accordingly, some embodiments of the concepts of the present invention may provide a pharmaceutical product analysis engine that is configured to receive information associated with a pharmaceutical product that includes one or more characteristics of the pharmaceutical product and to pre-classify or pre-filter the information based on the one or more characteristics of the pharmaceutical product. Based on the one or more characteristics of the pharmaceutical product, pre-filtering or pre-classifying the pharmaceutical product may enable the pharmaceutical product to be sorted or grouped. A plurality of AI engines or models corresponding to different pharmaceutical product groups generated based on the pre-classification or pre-filtering may be developed. To predict the NDC for a pharmaceutical product or to verify that a pharmaceutical product matches a target pharmaceutical product, an AI engine or model corresponding to the group to which the pharmaceutical product belongs based on the pre-classification or pre-filtering may be selected, and the pharmaceutical product information of those pharmaceutical products is provided to the selected AI engine or model. Next, the AI engine or model may predict an NDC code and / or verify that the pharmaceutical product matches a target pharmaceutical product based on the information associated with the pharmaceutical product in light of its training.
[0039] Accordingly, rather than using a single large AI engine or model, multiple AI engines or models, each tailored to a subset of pharmaceutical products classified based on one or more characteristics of the pharmaceutical product, can be used. Therefore, a pharmaceutical distribution entity may subscribe only to access one or more AI engines or models corresponding to the pharmaceutical products it distributes. Moreover, characteristics of pharmaceutical products not used in pre-classification or filtering can be used as features in training different AI engines or models. The models are trained only on subsets of pharmaceutical products based on combinations of all possible pharmaceutical product characteristics, and since fewer features are used during the training process, the training of individual AI engines or models can be more efficient. A NDC prediction system and / or a pharmaceutical product compliance verification system using a decentralized model can similarly be more efficient. By improving data throughput, system performance can be enhanced and can help address the challenges of frequent model training.
[0040] As described above, the information that may be included, such as information, data labels, and NDC numbers used to train an AI engine or model, is typically provided by pharmaceutical product distribution entities, such as pharmacies, hospitals, etc. For example, when a new pharmaceutical product is introduced, the pharmaceutical product distribution entity may provide training information associated with the new pharmaceutical product, including one or more images of the pharmaceutical product, one or more characteristics of the pharmaceutical product, metadata associated with the pharmaceutical product, and / or the NDC for the pharmaceutical product. At least some of this training information is often entered manually and is prone to errors. Some embodiments of the concepts of the present invention can provide a consensus engine configured to receive training information associated with a pharmaceutical product and to accept the training information for use in training one or more AI engines or models, or to wait for the training information as a candidate for use in training, or to determine whether to reject the training information. The consensus engine can use rules and thresholds, for example, that enable the training information to be accepted in response to the number or percentage of sources providing the same training information for a pharmaceutical product matching. In other embodiments, the consensus engine can be implemented as an AI system or model that is trained based on past pharmaceutical product information from various sources to learn when the training information should be accepted as valid, when the training information should be placed on a waiting list pending potential acceptance, and when the training information should be rejected.A consensus engine, which may be an AI machine learning system, may use votes from various sources as described above, and / or may be used to train an AI system or model used to predict NDCs for pharmaceutical products and / or to verify whether one or more pharmaceutical products match one or more target pharmaceutical products, and may also utilize a trusted source, such as a trusted reference book or manual, and / or a trusted image library or database, to check training information, such as training information including NDCs.
[0041] Referring to FIG. 1, according to some embodiments of the concepts of the present invention, a communication network 100 comprising an AI-assisted pharmaceutical product analysis system includes a pharmacy management system (PMS) or host system 110, a packaging system server 120, one or more pharmaceutical product analysis engine servers 155, and one or more pharmaceutical product packaging systems 130a and 130b connected via a network 140, as shown.
[0042] The PMS system 110 may be configured to manage and fill prescriptions for customers. As used herein, the PMS system may be used in a pharmacy or may be generally used as a batch generation system for other applications, such as dispensing nutraceuticals or bioceuticals. The PMS system 110 may be associated with various types of facilities, such as pharmacies, hospitals, long-term care facilities, etc. The PMS system or host system 110 may be any system capable of transmitting valid prescriptions to one or more pharmaceutical product packaging systems 130a and 130b. The packaging system server 120 may include a packaging system interface module 135 and may be configured to manage the operation of the pharmaceutical product packaging systems 130a and 130b. For example, the packaging system server 120 may be configured to receive packaging orders from the PMS system 110 and to identify which of the pharmaceutical product packaging systems 130a and 130b should be used to package a particular individual order or batch of orders. Additionally, the packaging system server 120 may be configured to manage the operation of the pharmaceutical product packaging systems 130a and 130b. For example, the packaging system server 120 may be configured to manage the inventory of pharmaceutical products available through each of the pharmaceutical product packaging systems 130a and 130b, to manage the pharmaceutical product dispensing canisters assigned or registered to one or more of the pharmaceutical product packaging systems 130a and 130b, to generally manage the operating status of the pharmaceutical product packaging systems 130a and 130b, and / or to manage reports regarding the status (e.g., assignment, completion, etc.) of packaging orders, pharmaceutical product inventory, order billing, etc. The user 150, such as a pharmacist or pharmacy technician, may communicate with the packaging system server 120 using any suitable computing device via a wired and / or wireless connection.FIG. 1 shows the user 150 communicating with the packaging system server 120 via a direct connection, although it will be understood that the user 150 may communicate with the packaging system server 120 via one or more network connections (e.g., via network 140). The user 150 may interact with the packaging system server 120 to approve or override various recommendations made by the packaging system server 120 when operating the pharmaceutical product packaging systems 130a and 130b. The user 150 may also initiate the execution of various reports as described above for the pharmaceutical product packaging systems 130a and 130b. Although only two pharmaceutical product packaging systems 130a and 130b are shown as in FIG. 1, it will be understood that two or more pharmaceutical product packaging systems may be managed by the packaging system server 120.
[0043] The AI-assisted pharmaceutical product analysis system may include one or more pharmaceutical product analysis engine servers 155, and the one or more pharmaceutical product analysis engine servers 155 include, for example, one or more pharmaceutical product analysis engine modules 160 configured to facilitate the verification of packaged and / or unpackaged pharmaceutical products. The one or more pharmaceutical product analysis engine servers 155 and the one or more pharmaceutical product analysis engine modules 160 may represent one or more AI systems trained and operated in an inference mode by pre-filtering or pre-classifying pharmaceutical products based on one or more characteristics of the pharmaceutical products, thereby enabling the pharmaceutical products to be classified into categories or groups. Therefore, the one or more pharmaceutical product analysis engine servers 155 may represent one or more AI engines or models respectively corresponding to the categories or groups of pharmaceutical products identified through pre-filtering or pre-classification. As described above, small AI engines or models corresponding to various categories or groups of pharmaceutical products may be trained more efficiently as new pharmaceutical products are developed and added to the system, and may also be more relevant to individual pharmaceutical product distribution entities that can distribute only a subset of the pharmaceutical products to customers of the pharmaceutical products.
[0044] It will be understood that the functional partitioning described herein between the packaging system server 120 / package system interface module 135 and the one or more pharmaceutical product analysis engine servers 155 / one or more pharmaceutical product analysis engine modules 160 is an example. Various functionality and capabilities can be moved between the packaging system server 120 / package system interface module 135 and the one or more pharmaceutical product analysis engine servers 155 / one or more pharmaceutical product analysis engine modules 160 according to different embodiments of the concepts of the present invention. Moreover, in some embodiments, the packaging system server 120 / package system interface module 135 and the one or more pharmaceutical product analysis engine servers 155 / one or more pharmaceutical product analysis engine modules 160 may be integrated as a single logical and / or physical entity.
[0045] Network 140 connects the pharmaceutical product packaging systems 130a and 130b, the PMS system 110, the packaging system server 120, and the one or more pharmaceutical product analysis engine servers 155 to each other. Network 140 may be a global network, such as the Internet or other generally accessible network. Various elements of network 140 may be interconnected by wide area networks, local area networks, intranets, and / or other private networks, which may not be accessible by the general public. Thus, network 140 may be a communication network and / or may represent a combination of a public network and a private network or a virtual private network (VPN). Network 140 may be a wireless network or a wired network, or a combination of both a wireless network and a wired network. In some embodiments, the one or more pharmaceutical product analysis engine servers 155 may also be connected to network 140.
[0046] The AI-assisted pharmaceutical product analysis service provided via one or more pharmaceutical product analysis engine servers 155 and one or more pharmaceutical product analysis engine modules 160 may, in some embodiments, be implemented as a cloud service. In some embodiments, the AI-assisted pharmaceutical product analysis service may be implemented as a Representational State Transfer (RESTful) web service.
[0047] FIG. 1 shows an example of a communication network equipped with an AI-assisted pharmaceutical product analysis system, but it will be understood that embodiments of the subject matter of the present invention are not limited to such a configuration and are intended to include any configuration capable of performing the operations described herein.
[0048] As described above, the one or more pharmaceutical product analysis engine servers 155 and the one or more pharmaceutical product analysis engine modules 160 may represent one or more AI systems that can facilitate the verification of, for example, packaged and / or unpackaged pharmaceutical products. FIG. 2 is a block diagram of one or more pharmaceutical product analysis engine modules 160 embodied as an AI system, such as one or more AI engines or models, such as a machine learning system, that can be used to detect packaged and / or unpackaged pharmaceutical products and / or to identify these pharmaceutical products detected by the NDC. The AI system of FIG. 2 may represent a single AI engine or model that may be used to identify pharmaceutical products corresponding to a single group based on pre-filtering or pre-classification of the pharmaceutical products based on one or more characteristics of the pharmaceutical products. Accordingly, the architecture of the AI system of FIG. 2 may be replicated to form separate AI systems for detecting packaged and / or unpackaged pharmaceutical products and for identifying each of these pharmaceutical products detected by the NDC. As shown in FIG. 2, the one or more pharmaceutical product analysis engine modules 160 may comprise both a training module and a module used to process new data for detecting and / or identifying packaged and / or unpackaged pharmaceutical products within one image. The modules used in the training portion of the one or more pharmaceutical product analysis engine modules 160 may comprise a training data module 205, a characterization module 225, a labeling module 230, and a machine learning engine 240.
[0049] The training data module 205 may be configured to obtain and / or store training data, which may include additional information or data associated with each of the pharmaceutical products, such as the characteristics of the pharmaceutical products, along with one or more images of the packaged pharmaceutical products and / or unpackaged pharmaceutical products. The training data stored by the training data module 205 may also include the NDC for each pharmaceutical product. Although a machine learning architecture is shown in FIG. 2, other embodiments may be used in an artificial neural network in addition to or instead of the embodiment of the machine learning system of FIG. 2. The characterization module 225 is configured to identify individual independent variables used by one or more pharmaceutical product analysis engine modules 160 to detect and / or identify one or more pharmaceutical products, for example, in an image of a packaged pharmaceutical product and / or an unpackaged pharmaceutical product, which may be regarded as one or more dependent variables. The training data may generally be raw or formatted, and may include additional information in addition to the pharmaceutical products and / or the packaging information of the pharmaceutical products. For example, the training data may include account codes, business address information, etc., which can be filtered by the characterization module 225. The features extracted from the training data may sometimes be called attributes, and the number of features may sometimes be called dimensions. According to some embodiments of the concepts of the present invention, as described hereinafter, one or more characteristics of the pharmaceutical products may be used in the pre-filtering or pre-classification of the pharmaceutical products. Those characteristics do not need to be feature candidates identified by the characterization module 225 because it is known that the pharmaceutical products for which this AI engine or model is trained have one or more characteristics of the pharmaceutical products.
[0050] The labeling module 230 may be configured to assign defined labels to the training data as well as to the detected and / or identified pharmaceutical products in order to ensure a consistent naming convention for both the input features and the generated output. The machine learning engine 240 may be configured to process both the characterized training data, e.g., the characterized training data including the labels provided by the labeling module 230, and to test a number of functions to establish a quantitative relationship between the characterized and labeled input data and the generated output. Next, the machine learning engine 240 may use modeling techniques to evaluate the influence of the features of the various input data on the generated output. These effects are used to adjust and refine the quantitative relationship between the characterized and labeled input data and the generated output. The adjusted and refined quantitative relationship between the characterized and labeled input data generated by the machine learning engine 240 is output for use in the AI engine 245. The machine learning engine 240 may be referred to as a machine learning algorithm.
[0051] To detect packaged and / or unpackaged pharmaceutical products, to identify these pharmaceutical products detected by the NDC in the image, and / or to verify that one or more of these pharmaceutical products match one or more target pharmaceutical products, the modules used include a new data module 255, a characterization module 265, an AI engine 245, and a pharmaceutical product analysis module 275. The new data 255 may be the same data / information as the training data 205 in terms of content and format, except that the new data 255 is not for training purposes but is used for the analysis of new packaged and / or unpackaged pharmaceutical products. Similarly, the characterization module 265 performs the same function on the new data 255 as it does on the training data 205. The AI engine 245 may be generated by the machine learning engine 240 in the form of a quantitative relationship determined between the characterized and labeled input data and the output pharmaceutical product package content analysis. The AI engine 245 may be referred to as an AI model in some embodiments.
[0052] The AI engine 245 may be configured to identify one or more pharmaceutical products based on the NDC for the one or more pharmaceutical products and / or to verify that one or more pharmaceutical products match one or more target pharmaceutical products. The AI engine 245 may use various modeling techniques, such as, but not limited to, regression technique, neural network technique, Autoregressive Integrated Moving Average (ARIMA) technique, deep learning technique, linear discriminant analysis technique, decision tree technique, naive Bayes technique, K-nearest neighbors technique, learning vector quantization technique, support vector machine technique, and / or bagging / random forest technique, to detect packaged and / or unpackaged pharmaceutical products and to identify those pharmaceutical products detected within an image by NDC in accordance with different embodiments of the concepts of the present invention.
[0053] The pharmaceutical product analysis module 275 may be configured to output to the pharmaceutical product packaging verification system the NDC code for a packaged and / or unpackaged pharmaceutical product image having one or more pharmaceutical products identified by one or more indicators, such as boundary boxes, along with the NDC for the one or more pharmaceutical products.
[0054] As described above, one or more pharmaceutical product analysis engine servers 155 and one or more pharmaceutical product analysis engine modules 160 may represent one or more AI systems that may facilitate the verification of, for example, packaged and / or unpackaged pharmaceutical products. One or more pharmaceutical product analysis engine servers 155 and one or more pharmaceutical product analysis engine modules 160 may be configured to represent one or more AI systems. FIG. 3 is a block diagram of one or more pharmaceutical product analysis engine modules 160 for implementing an AI system by a neural network, which can be used to supplement and / or replace the machine learning implementation mode of FIG. 2 for detecting packaged and / or unpackaged pharmaceutical products, identifying these pharmaceutical products whose images have been detected by the NDC, and / or verifying that one or more pharmaceutical products match one or more target pharmaceutical products. In the exemplary embodiment of FIG. 3, the neural network is a convolutional neural network. However, it will be understood that the AI system for detecting packaged and / or unpackaged pharmaceutical products, identifying these pharmaceutical products whose images have been detected by the NDC, and / or verifying that one or more pharmaceutical products match one or more target pharmaceutical products may also be embodied as a fully connected neural network according to other embodiments of the concept of the present invention. However, convolutional neural networks can be useful when processing or classifying images because they have a large number of pixels, resulting in a large number of weights to be managed in the neural network layer. Convolutional neural networks may reduce the main image matrix to a matrix with a lower dimension in multiple layers, for example, multiple layers including hidden layers and activation layers, through convolution, thereby reducing the number of weights used and reducing the impact on the learning time.The final layer may use the softmax function as the activation function of the output layer and can predict a multinomial probability distribution that can match the NDC label.
[0055] Referring now to FIG. 3, an image pre-processor 305 can receive one or more images of packaged and / or unpackaged pharmaceutical products. As will be described later with reference to FIG. 6, the image pre-processor can perform various corrections on the image data, such as the various corrections described above, including gamma correction, noise reduction, and / or image segmentation. Next, the pre-processed pharmaceutical product image, which can be an image represented by a matrix of dimension A x B x 3 (where the number 3 represents the colors red, green, and blue), can be provided to a convolutional neural network 310. As shown in FIG. 3, the convolutional neural network 310 includes a first convolutional layer 320 and a second convolutional layer 330, along with a first pooling layer 325 and a second pooling layer 335. Each of the convolutional layers 320 and 330 can be a matrix of a dimension smaller than the input matrix and can be configured to perform a convolution operation with a part of the input matrix having the same dimension. The output of the convolutional layer is the sum of the products of the corresponding elements. The output of each of the convolutional layers can also be processed through a rectified linear unit operation where any number less than 0 is converted to 0 and any positive number is left unchanged without being modified. The convolutional neural network 310 further includes a first pooling layer 325 and a second pooling layer 335. Each of the pooling layers 325 and 335 can be configured to filter the outputs of the convolutional layers 320 and 330, respectively, by performing a down sampling operation. The size of the pooling operation or filter is smaller than the size of the input feature map. In some embodiments, it is a 2 x 2 pixel applied with a stride of 2 pixels. This means that the pooling layer always reduces the size of each feature map by half, for example, each dimension is halved, and the number of pixels or values in each feature map is reduced to a quarter of the size. For example, when the pooling layer is applied to a 6 x 6 (36 pixel) feature map, an output of a 3 x 3 (9 pixel) pooled feature map results.The final output layer is a normal fully-connected neural network layer 340, whereby an output is provided as the predicted pharmaceutical product NDC or pharmaceutical product verification 345.
[0056] In some embodiments of the concepts of the present invention, the convolutional neural network 310 may be a residual neural network in which skip connections are used between the convolutional layer 320 and the convolutional layer 330. An example of such a skip connection is shown in FIG. 4. Specifically, in a skip connection, the convolutional neural network includes a convolutional layer that receives as inputs both the output of a previous convolutional layer and the input to that previous convolutional layer.
[0057] Two convolutional layers 320 and 330 are shown for illustrative purposes in the exemplary convolutional neural network 310 of FIG. 3, but it will be understood that convolutional neural networks according to various embodiments of the concepts of the present invention may comprise a large number of convolutional layers, and in some embodiments may exceed 100 layers.
[0058] As described above, the pharmaceutical product image may undergo preprocessing to perform various corrections on the image data. Here, referring to FIG. 5, the gamma correction module 505 can perform gamma correction on the pharmaceutical product image to generate a gamma-corrected image. Although the image may be darkened by one or more cameras, the gamma correction brightens the image, enabling the convolutional neural network 310 to better recognize the edges of various elements displayed in the image. The gamma correction may be implemented as a power law transform, except in the case of low luminance, where it may become linear to avoid an infinite derivative at luminance zero. This is the conventional non-linearity applied to encode SDR images. The exponent or "gamma" may have a value of 0.45, but the linear portion at the lower part of the curve may approximate the final gamma correction function to a power low exponent of 0.5, i.e., a square root transform. Therefore, the gamma correction may comply with the DeVries-Rose law of brightness perception. The Gaussian blur denoising module 510 is used to perform Gaussian blur denoising on the gamma-corrected image to generate an image with reduced noise. The Gaussian blur denoising module or filter 510 may be a linear filter. It can be used to blur the image and / or reduce noise. Two Gaussian blur denoising filters 510 may be used such that the output is subtracted for "unsharp masking" (edge detection). The Gaussian blur denoising module or filter 510 can blur the edges and reduce the contrast. The Median filter is a non-linear filter that may be used as a method to reduce image noise.The automatic image thresholding module 515 can perform automatic image thresholding on the reduced-noise image to generate a foreground-background separated image. Thresholding is a technique used in image segmentation applications. Thresholding involves selecting a desired gray level threshold for separating objects of interest in the image from the background based on the gray level distribution. The Otsu method is one type of global thresholding that depends only on the gray values of the image. The Otsu method is a global thresholding selection method that includes calculating a gray level histogram. When applied in only one dimension, the image may not be sufficiently segmented. A two-dimensional Otsu method based on both the gray level threshold of each pixel and the spatial correlation information with the neighboring region around the pixel may be used. As a result, when the Otsu method is applied to a noisy image, it can provide satisfactory segmentation. The output image from the preprocessing module in FIG. 5 can be applied to a pharmaceutical product package correction engine, such as the convolutional neural network 310 in FIG. 3.
[0059] Figure 6 is a block diagram illustrating pre-filtering or pre-categorization of pharmaceutical product information based on characteristics or features according to some embodiments of the concepts of the present invention. As described above, pre-filtering or pre-categorization of pharmaceutical products based on one or more characteristics of the pharmaceutical products may enable the pharmaceutical products to be sorted or divided into groups. As shown in Figure 6, pharmaceutical product information may be processed using one or more filters or categorizers. In the example of Figure 6, N filters or categorizers are shown. The number of filters or categorizers may be based on the number of characteristics associated with the pharmaceutical products. In some embodiments, the pharmaceutical product characteristics may include size, shape, color, imprint code, and / or scoring. The imprint code characteristic may include an indication of the strength of the medicinal effect, an indication of the active ingredient, and / or an indication of the inactive ingredient. The shape characteristic may be circular, oval, and / or other. The color characteristic may be any of a plurality of colors and / or transparent. A plurality of AI engines or models, such as the plurality of AI engines or models described above with respect to Figures 2 and 3, may be developed to respectively correspond to different pharmaceutical product groups generated based on pre-classification or pre-filtering. In the example shown in Figure 6, N AI engines are shown. When two characteristics are used where each characteristic can assume two unique values, four AI engines corresponding to all combinations of the four values of the two pharmaceutical product characteristics used in the pre-classification or pre-filtering process may be used. To predict the NDC for a pharmaceutical product and / or to verify whether the pharmaceutical product matches a target pharmaceutical product, an AI engine or model corresponding to the group to which the pharmaceutical product belongs based on pre-classification or pre-filtering is selected, and the pharmaceutical product information about that pharmaceutical product may be provided to the selected AI engine or model. Next, the AI engine or model may predict the NDC code and / or verify whether the pharmaceutical product matches the target pharmaceutical product based on the information associated with the pharmaceutical product in light of its training.Many pharmaceutical distribution entities may distribute only a small subset of the total number of pharmaceutical products covered by all of the N AI engines or models shown in FIG. 6. Thus, according to some embodiments of the concepts of the present invention, a pharmaceutical distribution entity may be permitted only access to an AI engine or model associated with a group or category of pharmaceutical products that includes the pharmaceutical products distributed by the pharmaceutical distribution entity. Such access may be, for example, via a cloud service and / or the appropriate AI engine or model may be provided to the pharmaceutical distribution entity such that it is executed on the pharmaceutical distribution entity's own platform.
[0060] FIG. 7 is a flowchart illustrating operations for performing pharmaceutical product analysis according to some embodiments of the concepts of the present invention. Referring now to FIG. 7, the operations begin at block 700 where information associated with the pharmaceutical product is received. The information may include the above-mentioned plurality of pharmaceutical product characteristics, including but not limited to, a plurality of pharmaceutical product characteristics such as size, shape, color, imprint code, and / or scoring. At block 705, the pharmaceutical product information is filtered or classified based on one or more of the plurality of characteristics to identify one of the plurality of AI engines or models. At block 710, the identified AI engine or model is used to predict the NDC for the pharmaceutical product and / or to verify whether the pharmaceutical product matches a target pharmaceutical product.
[0061] As described above, the information used to train an AI engine or model is typically provided by pharmaceutical product distribution entities, such as pharmacies and hospitals. When a new pharmaceutical product is introduced, the pharmaceutical product distribution entity may provide training information associated with the new pharmaceutical product that includes one or more images of the pharmaceutical product, one or more characteristics of the pharmaceutical product (e.g., size, shape, color, imprint code, and / or scoring), metadata associated with the pharmaceutical product, and / or the NDC for the pharmaceutical product. At least some of this training information is often entered manually and can be prone to errors. Referring now to FIG. 9, the operation of the consensus engine 800 begins at block 900, where the consensus engine receives training information associated with a pharmaceutical product from multiple sources. As shown in FIG. 8, three sources A 805a, B 805b, and C 805c can provide pharmaceutical product training information to the consensus engine 800. The consensus engine can, at block 905, determine whether to accept the training information for use in training one or more AI engines or models, hold the training information as a candidate for use in training, or reject the training information. The accepted training information can, at block 910, be used to train an AI engine configured to predict the NDC for a pharmaceutical product and / or to verify whether one or more pharmaceutical products match one or more target pharmaceutical products.
[0062] The consensus engine can be configured to use rules and thresholds, such as the rules and thresholds that enable training information to be accepted in response to a match in the number or percentage of sources providing the same training information for a pharmaceutical product. For example, the training information can be accepted when there is a match in the training information among at least a consensus subset of the plurality of sources. In some embodiments, the consensus subset includes a minimum number X of the plurality of sources. In other embodiments, the consensus subset further includes a minimum percentage Y of the plurality of sources.
[0063] In other embodiments, the consensus engine 800 can be implemented as an AI system or model that is trained based on past pharmaceutical product information from various sources and learns when the training information should be accepted as valid, when the training information should be placed on a waiting list pending potential acceptance, and when the training information should be rejected. In some embodiments, when implemented using an AI engine or model, the consensus engine 800 can use K-means clustering to determine whether to accept, reject, or place the training information on the waiting list.
[0064] The consensus engine 800 can also utilize a reliable source 810, such as a reliable reference book or manual, and / or a reliable image library or database, that can be used to verify training information, such as training information including NDC, for use in training an AI system or model used to predict the NDC for a pharmaceutical product.
[0065] Referring now to FIG. 10, a data processing system 1000 that may be used to implement one or more pharmaceutical product analysis engine servers 155 of FIG. 1 in accordance with some embodiments of the concepts of the present invention includes one or more input devices 1002, such as a keyboard or keypad, barcode scanner, or RFID reader, a display 1004, and a memory 1006 that communicates with a processor 1008. The data processing system 1000 may further include a storage system 1010, a speaker 1012, and an input / output (I / O) data port 1014 that also communicates with the processor 1008. The processor 1008 may be, for example, a commercially available or custom microprocessor. The storage system 1010 may include removable and / or fixed media, such as floppy disks, ZIP drives, hard disks, etc., as well as virtual storage, such as a RAMDISK. One or more I / O data ports 1014 may be used to transfer information between the data processing system 1000 and another computer system or network (e.g., the Internet). These components may be conventional components, such as those used in many conventional computing devices, and their functions regarding conventional operations are generally known to those skilled in the art. The memory 1006 may be configured with computer-readable program code 1016 to facilitate AI-assisted verification of packaged and / or unpackaged pharmaceutical products in accordance with some embodiments of the concepts of the present invention.
[0066] FIG. 11 illustrates a memory 1105 that may be used in embodiments of a data processing system, such as one or more pharmaceutical product analysis engine servers 155 of FIG. 1 and data processing system 1000 of FIG. 10, to facilitate AI-assisted verification of packaged and / or unpackaged pharmaceutical products, in accordance with some embodiments of the concepts of the present invention. Memory 1105 is representative of one or more memory devices that contain software and data used to facilitate the operation of one or more pharmaceutical product analysis engine servers 155 and one or more pharmaceutical product analysis engine modules 160 described herein. Memory 1105 may include, but is not limited to, cache, ROM, PROM, EPROM, EEPROM, flash, SRAM, and DRAM. As shown in FIG. 11, memory 1105 may contain software and / or data in three or more categories: an operating system 1110, one or more pharmaceutical product analysis engine modules 1125, and a communication module 1140. In particular, operating system 1110 may manage the software and / or hardware resources of the data processing system and may coordinate the execution of programs by the processor. One or more pharmaceutical product analysis engine modules 1125 may include an AI engine module 1130 and a consensus engine module 1135. AI engine module 1130 may be configured to perform one or more operations described above with respect to machine learning engine 240, convolutional neural network 310, and the flowchart of FIG. 7. Consensus engine module 1135 may be configured to perform one or more operations described above with respect to consensus engine 800 of FIG. 8 and the flowchart of FIG. 9. Communication module 1140 may be configured to support communication, for example, between one or more pharmaceutical product analysis engine servers 155 and, for example, a pharmaceutical product package verification system.
[0067] Figures 10-11 illustrate the hardware / software architecture that may be used in a data processing system, e.g., one or more pharmaceutical product analysis engine servers 155 of FIG. 1 and the data processing system 1000 of FIG. 10, according to some embodiments of the concepts of the present invention. However, embodiments of the present invention are not limited to such configurations and are intended to include any configuration capable of performing the operations described herein.
[0068] The computer program code for performing the operations of the data processing system described above with respect to FIGS. 1-11 may be written in a high-level programming language, such as Python, Java, C, and / or C++, for development convenience. Additionally, the computer program code for performing the operations of the present invention may also be written in other programming languages, such as, but not limited to, interpreted languages. Some modules or routines may be written in assembly language or even microcode to enhance performance and / or memory usage. The functionality of any or all of the program modules may also be implemented using discrete hardware components, one or more application specific integrated circuits (ASICs), or a programmed digital signal processor or microcontroller.
[0069] Moreover, the functions of one or more pharmaceutical product analysis engine servers 155 of FIG. 1 and the data processing system 1000 of FIG. 10 may each be implemented as a single processor system, a multiprocessor system, a multi-core processor system, or even a network of stand-alone computer systems, according to various embodiments of the concepts of the present invention. Each of these processor / computer systems may be referred to as a "processor" or a "data processing system."
[0070] The data processing apparatus described herein with respect to FIGS. 1-11 can be used to facilitate the validation of packaged pharmaceutical products and / or unpackaged pharmaceutical products, according to some embodiments of the concepts of the invention described herein. These apparatuses are operable to receive, transmit, process, and store data using any suitable combination of software, firmware, and / or hardware, and can be stand-alone or interconnected by any public and / or private, physical and / or virtual, wired and / or wireless network, including all or part of the global communication network known as the Internet, and can be embodied as one or more enterprises, applications, individuals, broadband and / or embedded computer systems and / or devices, and may include various types of tangible, non-transitory computer-readable media. In particular, memory 1105 when connected to a processor includes computer-readable program code that, when executed by the processor, causes the processor to perform operations including one or more of the operations described herein with respect to FIGS. 1-9.
[0071] As described above, embodiments of the concepts of the invention do not use a single large AI engine or model trained on an exhaustive list of all pharmaceutical products, but rather use one or more characteristics of pharmaceutical products to pre-filter or pre-classify pharmaceutical products within groups, and can provide an AI-assisted pharmaceutical product analysis system in which individual AI engines or models may be trained. When a new pharmaceutical product is introduced, it can be far more efficient to retrain smaller AI engines or models than to retrain a single, larger AI engine or model. Additionally, some embodiments of the concepts of the invention can provide a consensus engine, which may be based on rule-based decision trees and / or AI technology, to verify the accuracy of training information associated with new pharmaceutical products by ensuring consistency among multiple sources of pharmaceutical product training information.
[0072] Further definitions and embodiments:
[0073] In the foregoing description of the various embodiments of the present disclosure, the aspects of the present disclosure may be illustrated and described herein in any of several patentable classes or contexts that include any novel and useful process, machine, manufacture, or composition of matter, or any novel and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented in the form of hardware only, software only (including firmware, resident software, microcode, etc.), or a combination of software and hardware implementations that may generally be referred to herein as “circuitry,” “module,” “component,” or “system.” Moreover, aspects of the present disclosure may take the form of a computer program product embodied on one or more computer-readable media having computer-readable program code embodied thereon.
[0074] Any combination of one or more computer-readable media may be used. The computer-readable media may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media include portable computer disks, hard disks, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or flash memory, a suitable optical fiber with repeaters, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. In the context of this specification, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0075] A computer-readable signal medium may include a propagated data signal having computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. The computer-readable signal medium may be any computer-readable medium that is not a computer-readable storage medium and that can be communicated, propagated, or transported by, or in connection with, an instruction execution system, apparatus, or device for use with a program. The program code embodied on the computer-readable signal medium may be transmitted using any appropriate medium, including, but not limited to, wireless, wired, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
[0076] The computer program code for performing the operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including, for example, object-oriented programming languages (e.g., Java (registered trademark), Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc.), conventional procedural programming languages (e.g., the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP), dynamic programming languages (e.g., Python, Ruby, and Groovy), or other programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including, for example, any type of network including a local area network (LAN) or a wide area network (WAN), or the connection may be made through an external computer (e.g., through the Internet using an Internet service provider), or in a cloud computing environment, or may be provided as a service, such as software as a service (SaaS).
[0077] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.
[0078] These computer program instructions may also be stored in a computer-readable medium that, when executed, causes a computer, other programmable data processing apparatus, or other device to function in a particular manner, thereby creating a manufacture including instructions that cause a computer to perform one or more specified functions / acts of the flowchart illustrations and / or block diagrams. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions that execute on the computer, other programmable apparatus, or other device provide a process for implementing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.
[0079] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of a system, method, and computer program product or possible implementation of a computer program, according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions described in the block diagrams may occur out of the order described in the drawings. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in the reverse order, depending on the functions involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of multiple blocks of the block diagrams and / or flowcharts, can be implemented by a special purpose hardware-based system for performing the specified functions or acts, or by a combination of special purpose hardware and computer instructions.
[0080] The terms used in this specification are for the purpose of describing particular embodiments only and are not intended to limit the disclosure. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. As used herein, the terms "comprises", "comprising", "include", "including", "includes", "have", "has", "having", or variations thereof, specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items. Like reference numerals refer to like elements throughout the description of the drawings.
[0081] Although terms such as first, second, etc. may be used herein to describe various elements, it will also be understood that these elements are not to be limited by these terms. These terms are only used to distinguish one element from another.
[0082] Unless otherwise defined, all terms (including technical and scientific terms) used herein shall have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that conforms to their meaning in the context of the present application and the relevant technical field, and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Well-known functions or structures may not be described in detail for the sake of brevity and / or clarity.
[0083] The description of the present disclosure is presented for purposes of illustration and description, but is not intended to be exhaustive or limiting of the present disclosure in the form disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the present disclosure. The perspective of the present disclosure in this specification is selected and described in order to best explain the principles and practical applications of the present disclosure, and to enable other skilled artisans to understand the present disclosure with various modifications suitable for the specific uses contemplated.
Claims
1. Receiving information associated with a pharmaceutical product, where the information includes a plurality of characteristics; Filtering the information based on at least one of the plurality of characteristics to identify one of a plurality of artificial intelligence engines; and Using the identified one of the plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the identified one of the plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product A method comprising.
2. The method according to claim 1, wherein each of the plurality of artificial intelligence engines corresponds to a plurality of value combinations of the at least one characteristic of the plurality of characteristics.
3. At least one of the plurality of characteristics is not used when filtering the information; and Each of the at least one of the plurality of characteristics that is not used when filtering the information is used as at least one feature when training the plurality of artificial intelligence engines. The method according to claim 2.
4. The method according to claim 1, wherein the plurality of characteristics includes size, shape, color, imprint code or scoring.
5. The method according to claim 4, wherein the imprint code includes indication of drug efficacy strength, indication of active ingredients, and indication of inactive ingredients.
6. The method according to claim 4, wherein the shape includes circular, oval, and others.
7. The method according to claim 4, wherein the color includes transparent and a plurality of colors.
8. Filtering the information is Filtering the information based on all of the plurality of characteristics to identify the one of the plurality of artificial intelligence engines The method according to claim 1, comprising.
9. The method according to claim 1, wherein each of the plurality of artificial intelligence engines includes a convolutional neural network.
10. The method according to claim 9, wherein the convolutional neural network includes a plurality of convolutional layers, and at least some of the plurality of convolutional layers are connected to each other via skip connections.
11. Each of the plurality of artificial intelligence engines corresponds to a plurality of value combinations of the at least one characteristic of the plurality of characteristics, The method is Based on an entity that distributes a plurality of pharmaceutical products having a plurality of combinations of values corresponding to a plurality of the plurality of artificial intelligence engines, respectively, permitting the entity to access a plurality of the plurality of artificial intelligence engines, respectively further comprising The method according to claim 1
12. Receiving training information associated with a pharmaceutical product from a plurality of sources, wherein the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); Determining whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on the consistency in the training information among some of the plurality of sources; and When the training information is accepted, training an artificial intelligence engine configured to predict an NDC code for a pharmaceutical product based on the plurality of characteristics using the training information A method comprising
13. Determining whether to accept, reject, or place on a waiting list the training information Accepting the training information when the training information matches among at least a consensus subset of some of the plurality of sources The method according to claim 12, comprising
14. The method according to claim 13, wherein the consensus subset includes a minimum number X of the plurality of sources
15. The method according to claim 14, wherein the consensus subset further includes a minimum percentage Y of the plurality of sources
16. Determining whether to accept, reject, or place on a waiting list the training information Using a consensus artificial intelligence engine to determine whether to accept, reject, or place on a waiting list the training information The method according to claim 12, comprising
17. The method according to claim 16, wherein the consensus artificial intelligence engine uses K-means clustering to determine whether to accept, reject, or place on a waiting list the training information The method according to claim 16, comprising
18. Before accepting the training information, verifying the training information with a reliable source of the training information The method according to claim 12, further comprising
19. The method according to claim 12, wherein the plurality of characteristics include size, shape, color, imprint code or scoring.
20. A system, the system comprising a processor; and a memory connected to the processor, the memory including computer-readable program code embedded therein and executable by the processor and the computer-readable program code is to receive information associated with a pharmaceutical product, where the information includes a plurality of characteristics; filter the information based on at least one of the plurality of characteristics to identify one of a plurality of artificial intelligence engines; and using the one of the identified plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the one of the identified plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product including instructions to execute the system.
21. A computer program product, the computer program product comprising a non-transitory computer-readable storage medium and the non-transitory computer-readable storage medium includes computer-readable program code embedded therein and executable by the processor, and the computer-readable program code is to receive information associated with a pharmaceutical product, where the information includes a plurality of characteristics; filter the information based on at least one of the plurality of characteristics to identify one of a plurality of artificial intelligence engines; and using the one of the identified plurality of artificial intelligence engines to predict the National Drug Code (NDC) of the pharmaceutical product, or using the one of the identified plurality of artificial intelligence engines to verify whether the pharmaceutical product matches a target pharmaceutical product including instructions to execute the computer program product.
22. A system, the system comprising a processor; and a memory connected to the processor, the memory including computer-readable program code embedded therein and executable by the processor and includes computer-readable program code configured to: receive training information associated with a pharmaceutical product from a plurality of sources, where the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); determine whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on the consistency of the training information among some of the plurality of sources; and train an artificial intelligence engine configured to predict an NDC code for a pharmaceutical product based on the plurality of characteristics using the training information when the training information is accepted wherein the system is configured to execute instructions including the foregoing steps. The system. Claims 23 A computer program product comprising a non-transitory computer-readable storage medium embedding computer-readable program code executable by a processor wherein the non-transitory computer-readable storage medium includes computer-readable program code configured to: receive training information associated with a pharmaceutical product from a plurality of sources, where the training information includes a plurality of characteristics of the pharmaceutical product and a National Drug Code (NDC); determine whether to accept, reject, or place on a waiting list the training information associated with the pharmaceutical product based on the consistency of the training information among some of the plurality of sources; and train an artificial intelligence engine configured to predict an NDC code for a pharmaceutical product based on the plurality of characteristics using the training information when the training information is accepted wherein the computer program product is configured to execute instructions including the foregoing steps. The computer program product.