A system and method for providing response medical data using task-specific organization.
A task-specific medical data organization system addresses the challenge of managing complex medical information by integrating with healthcare systems, providing interactive profiles, and using AI to efficiently answer queries and monitor health, enhancing response accuracy and proactive anomaly detection.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- テンパスエーアイインコーポレイテッド
- Filing Date
- 2025-11-26
- Publication Date
- 2026-06-16
AI Technical Summary
Medical systems generate vast amounts of data across multiple sources and formats, making it difficult for patients and healthcare providers to access, understand, and utilize this information effectively, particularly when users have complex questions about medical conditions, care, treatments, or adverse effects.
A system and user interface that uses task-specific composition to respond to patient queries, integrating with healthcare systems to organize health records, provide interactive health profiles, and assist in managing appointments and monitoring patient health, utilizing a generative AI-enabled assistant to answer questions and summarize medical information in a user-friendly format.
Improves query processing efficiency, reduces computational overhead, and enhances response accuracy through intelligent routing and domain-specific processing, while automating health monitoring to detect anomalies and initiate corrective actions proactively.
Smart Images

Figure 2026097756000001_ABST
Abstract
Description
Technical Field
[0001] Priority and Related Applications This application claims priority to U.S. Provisional Patent Application No. 63 / 725,890, filed Nov. 27, 2024, and U.S. Provisional Patent Application No. 63 / 747,211, filed Jan. 20, 2025, each of which is incorporated herein by reference in its entirety.
[0002] This disclosure relates to machine learning systems for medical use, and more particularly to an agent architecture that uses task-specific composition to respond to patient queries and provide responsive medical information.
Background Art
[0003] Medical systems generate large amounts of medical data, including electronic health records, diagnostic images, lab results, treatment histories, and patient-reported information. This data exists across multiple sources, modalities, and formats, making it difficult for patients and healthcare providers to effectively access, understand, and utilize the data. Patients often struggle with manipulating complex medical information, coordinating care across multiple providers, and making decisions based on information about their health.
[0004] Users of medical patient care systems often have complex questions about medical conditions, care, treatments, medications, and / or adverse effects. Answering a patient's medical questions can involve applying large amounts of data. However, users may not know which of many potential data sources is relevant to a particular question the user is asking or how to appropriately query each source.
[0005] In addition, the burden is often placed on the patient to understand their own health condition and to support their care. For those dealing with serious or chronic conditions, this often involves seeing many different doctors, managing frequent appointments, and trying to understand the meaning of various tests. This process is complex, and patients are often unable to retrieve medical information from records, coordinate between healthcare providers, or interpret text results. [Overview of the project]
[0006] Accordingly, the inventors of this application recognized the need for systems and methods that enable users to query subject data, such as patient and medical records, using natural language and an intuitive interface. The disclosed system can be directly integrated with various healthcare systems to upload, organize, and manage health records in a convenient single location. The disclosed embodiments include a system and user interface for generating interactive health profiles, for example, a single personal profile that aggregates and structures health information and can be downloaded and shared with clinicians. The disclosed embodiments also include a system and user interface to assist in preparing for upcoming events and appointments, for example, gathering relevant health information, documents, and key questions to help facilitate more productive conversations. The disclosed embodiments also include a system and user interface for monitoring patient health, for example, tracking symptoms, sleep, and medications taken, and highlighting key trends while organizing important notes and reminders in the patient's health journal. The disclosure describes a generative AI-enabled assistant that allows users to ask questions and receive real-time, personalized information and insights by searching and summarizing medical records and health information and answering questions about current medical guidelines and care information. This allows users to learn about their condition, treatment, and clinical trial options in a simple and easy-to-understand format. In this way, the disclosed system provides users with improved feedback, reduces the number of inputs required to perform operations, offers additional control options (e.g., without disrupting the user interface with displayed controls), and performs operations automatically without requiring additional user input.
[0007] According to some embodiments, the method includes (i) receiving a user query from a user via a user interface; (ii) classifying the user query using a first task-specific organization such that the first task-specific organization is configured to classify the user query; (iii) providing information about the user query to a destination task-specific organization, including (a) assigning a second task-specific organization as a destination task-specific organization in accordance with classifying the user query into a first category, and (b) assigning a third task-specific organization as a destination task-specific organization in accordance with classifying the user query into a second category; (iv) receiving output from the destination task-specific organization in response to providing information about the user query; and (v) providing a response to the user query via a user interface based on the output from the destination task-specific organization. Advantages of the exemplary method include improved query processing efficiency through intelligent routing, reduced computational overhead by utilizing dedicated organization for specific query types, improved response accuracy through domain-specific processing, and an extensible architecture that allows for the dynamic addition of new organization without system redesign.
[0008] According to some embodiments, the method includes (i) receiving a subject identifier; (ii) monitoring medical information about the subject, with the medical information being updated over time, using the subject identifier; (iii) identifying anomalies or risks about the subject based on the medical information; and (iv) initiating corrective actions in response to the identification of anomalies or risks. Benefits of the exemplary method include automating continuous health monitoring to reduce manual monitoring requirements; early detection capabilities that enable proactive intervention before a condition worsens; real-time data processing to ensure timely identification of health risks; and automated initiation of corrective actions that reduce response times and improve patient outcomes.
[0009] According to some embodiments, computing systems are provided, such as cloud computing systems, server systems, personal computer systems, and / or other types of electronic devices. The computing system includes a control circuit and memory that stores one or more sets of instructions. One or more sets of instructions include instructions for performing any of the methods described herein. Such computing systems can provide distributed processing capabilities that enable scalable deployment across multiple environments, a modular architecture that supports flexible configuration and customization of task-specific arrangements, efficient resource utilization through dedicated processing components, and robust data handling capabilities that ensure secure and reliable medical information processing.
[0010] According to some embodiments, a non-temporary computer-readable storage medium is provided. The non-temporary computer-readable storage medium stores one or more sets of instructions for execution by a computing system. One or more sets of instructions include instructions for performing any of the methods described herein.
[0011] Accordingly, the apparatus and systems are disclosed as methods for receiving and responding to user prompts and queries, and for identifying and responding to anomalies and risks. Such methods, apparatus and systems may complement or replace conventional methods, apparatus and systems for receiving and responding to user prompts and queries, and for identifying and responding to anomalies and risks.
[0012] The features and advantages described herein are not necessarily exhaustive, and several additional features and advantages will be apparent to those skilled in the art, especially considering the drawings, specification, and claims provided herein. Furthermore, it should be noted that the language used herein has been chosen primarily for readability and explanatory purposes, and not necessarily to describe or limit the subject matter described herein. [Brief explanation of the drawing]
[0013] To enable a more detailed understanding of this disclosure, a more specific description could be provided by referring to the features of various embodiments, some of which are illustrated in the accompanying drawings. However, the accompanying drawings merely illustrate the relevant features of this disclosure and should not be considered limiting, as a person skilled in the art will understand when reading this disclosure that the description may accept other valid features.
[0014] [Figure 1] Figure 1 is a block diagram illustrating an exemplary platform according to some embodiments. [Figure 2A] Figure 2A is a block diagram illustrating an exemplary client device according to one embodiment. [Figure 2B] Figure 2B is a block diagram illustrating an exemplary client device according to one embodiment. [Figure 2C] Figure 2C illustrates examples of various logic functions implemented in some embodiments. [Figure 3A] Figure 3A is a block diagram illustrating an exemplary server system according to one embodiment. [Figure 3B] Figure 3B is a block diagram illustrating an exemplary database according to one of the embodiments. [Figure 4] Figure 4 illustrates an exemplary architecture for deploying an agent according to some embodiments. [Figure 5A] Figure 5A illustrates an exemplary process for data import and query processing according to one embodiment. [Figure 5B] Figure 5B illustrates an exemplary architecture for responding to user queries in some embodiments. [Figure 5C] Figure 5C illustrates another exemplary architecture for responding to user queries according to one embodiment. [Figure 6A] Figure 6A illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6B] Figure 6B illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6C] Figure 6C illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6D] Figure 6D illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6E] Figure 6E illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6F] Figure 6F illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6G] Figure 6G illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6H] Figure 6H illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6I] Figure 6I illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6J] Figure 6J illustrates an exemplary user interface and interactions for obtaining, analyzing, and executing actions based on atarget data according to some embodiments. [Figure 6K] Figure 6K illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6L] Figure 6L illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6M] Figure 6M illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6N] Figure 6N illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6O] Figure 6O illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6P] Figure 6P illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6Q] Figure 6Q illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6R] Figure 6R illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6S] Figure 6S illustrates exemplary user interfaces and interactions for obtaining, analyzing, and executing actions based on target data according to some embodiments. [Figure 6T]Figure 6T illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6U] Figure 6U illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6V] Figure 6V illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6W] Figure 6W illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6X] Figure 6X illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6Y] Figure 6Y illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6Z] Figure 6Z illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AA] Figure 6AA illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AB] Figure 6AB illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AC] Figure 6AC illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AD] Figure 6AD illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AE] Figure 6AE illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 6AF] Figure 6AF illustrates an exemplary user interface and interaction for acquiring, analyzing, and executing actions based on target data according to some embodiments. [Figure 7] Figure 7 is a flowchart illustrating an exemplary method for responding to user queries according to some embodiments. [Figure 8] Figure 8 is a flowchart illustrating the identification of abnormalities and risks in some embodiments and the corresponding exemplary methods. [Figure 9A] Figure 9A illustrates an exemplary architecture for an AI assistant according to one embodiment. [Figure 9B] Figure 9B illustrates an exemplary architecture for an AI assistant according to one embodiment. [Figure 9C] Figure 9C illustrates an exemplary architecture for an AI assistant according to one embodiment. [Figure 10A] Figure 10A illustrates an exemplary architecture for composite organization according to some embodiments. [Figure 10B] Figure 10B illustrates an exemplary architecture for composite organization according to some embodiments.
[0015] According to common practice, various features illustrated in drawings are not necessarily depicted to actual size, and similar features can be shown throughout this specification and the drawings using the same reference numerals. [Modes for carrying out the invention]
[0016] This disclosure describes, in particular, a platform for using task-specific organizing bodies (e.g., task-specific agents) for specific tasks and / or within specific domains, including task-specific machine learning models (e.g., language models, transformer models, diffusion models, and other types of models), and for tasks involving multiple modalities of data, including multiple modality models. The platform may include multiple individual task-specific organizing bodies that can operate independently or in combination to return accurate and relevant information (e.g., targeted cohorts, clinical trial information, and / or identification of members of a target population). In some embodiments, the platform includes multiple modality-specific organizing bodies (e.g., each configured to summarize the corresponding modality of data) and one or more multimodal organizing bodies (e.g., configured to acquire and analyze multiple modalities of data). In some embodiments, each organizing body (or agent) may include one or more machine learning models, such as language models, trained and / or fine-tuned on a specific domain. The platform may also include one or more composite organizing bodies (e.g., composite agents) that instruct multiple task-specific organizing bodies configured for different tasks and then combine the results.
[0017] In some embodiments, the platform functions as an operating system for implementing an organization for performing various clinical tasks. The platform may include one or more of the following exemplary components. For example, a gene sequencing component with downstream molecular bioinformatics may operate to call relevant biomarkers in DNA, RNA, or their derivatives for a sample (e.g., a tumor biopsy) that is sequenced and reported to a prescribing physician. Another example is a pathology imaging component that may operate on cell and / or slide-level images to identify relevant biomarkers from cells in an imaged sample. Another example is a radiography component that may operate on larger images of the body via various radiography techniques to identify the presence or longitudinal progression of a tumor. Further examples include using cardiology, neurology, and / or endocrinology imaging components to identify various disease conditions. Each of these components may include, or communicate with, a corresponding agent to identify and / or report information relevant to a user query or request.
[0018] For example, if a patient asks, "What clinical trials are available for my symptoms?", the system's classification organization analyzes the query and determines that it is relevant to clinical trial information. The system can then route this query to a specialized clinical trial organization (e.g., clinical trial agent 560, shown in Figure 5B) rather than a general medical query organization. This targeted routing allows the clinical trial organization to access a specific trial database, generate a response tailored to the patient's medical profile, and provide relevant trial options, including inclusion criteria and contact information. This intelligent routing approach offers several potential advantages. For example, the system can direct queries to organizations specifically trained for particular data and query types, resulting in more accurate responses (e.g., generated more quickly and efficiently) than a generalized system. The modular architecture allows users / organizations to add new specialized organizations for new domains, such as genomics or telemedicine, without disrupting existing functionality. Furthermore, computing resources are used more efficiently because each organization only needs to maintain expertise in its specific domain, rather than handling all possible domains.
[0019] In another embodiment, the system continuously monitors a patient's electronic health records and laboratory results. In this way, if new test results indicate a potential problem (e.g., elevated blood glucose levels above the normal range), the monitoring system automatically identifies the potential problem. The system then initiates corrective actions, such as sending alerts to the patient's healthcare provider, scheduling follow-up appointments, and providing the patient with educational materials on problem management. This proactive approach reduces human-body interactions, lowers the patient's cognitive burden, and allows for early intervention before the condition progresses to more serious complications.
[0020] In another embodiment, an organization (agent) is configured by a user using a user interface (e.g., a console in a web or desktop application) and deployed in various environments (e.g., a research environment, an alpha environment, a beta environment, a client environment, and / or a production environment). Each environment may be linked to different sources, have different permissions, and / or have different authenticated users. In some embodiments, the principles of precision medicine are used to customize the user interface, such as modifications based on a set of subjects (e.g., patients) related to the user of the application. For example, the user (or a close relative of the user) may be one of the subjects. Environments may be defined by access to data sources and / or users. Agent configurations may be stored in a control plane. The control plane may be configured to control how data is managed, routed, and / or processed. The agent itself may run on an appropriate workload plane (e.g., a data plane), and the workload plane may not have access to the control plane. The control plane may oversee / direct each workload plane, and the workload plane may be configured to manipulate and / or transport data.
[0021] As another example, an agent builder in the control plane may be configured to push configurations to various environments. For example, this synchronization may be fast enough for a user to configure an agent and immediately evaluate the configuration in an interactive console in the work environment. An exemplary architecture includes two components: an agent builder in the control plane that hosts a user interface (UI) for configuring agents, and an agent host in the workload plane that hosts a UI and API for interacting with deployed agents. When an agent configuration is changed or an agent version is deployed, the agent builder can notify the agent host in each environment so that the updated agent can be deployed. For example, this may be done via a publish subscription message to a topic of agent configurations, or via a simple HTTP request. In some embodiments, the agent builder utilizes a cognitive architecture that includes memory modules and action spaces. For example, the cognitive architecture organizes agents along three dimensions (their information storage (e.g., divided into working memory and long-term memory), their action spaces (e.g., divided into internal actions and external actions), and their decision-making procedures (e.g., structured as an interactive loop with planning and execution)).
[0022] As another example, after deployment, the agent may receive a user query (e.g., requesting information about a clinical trial), generate a Structured Application Programming Interface (API) call, use the generated API call to query a remote server, retrieve relevant results, and reformat the relevant information and return it to the user. In some embodiments, each action is performed by a different agent builder block component (sometimes also called a builder block, block, or node). In some embodiments, the agent is configured for multiple types of tasks. In these embodiments, the agent may identify the intent of the user's query (e.g., searching for a clinical trial or identifying an adverse event) and respond accordingly. In some embodiments, the agent is configured for only one type of task (e.g., a task-specific agent). In some of these embodiments, the agent does not identify the user's intent (e.g., the agent may assume an intent). In some embodiments, the agent receives intent from different components or systems. The agent may also interface with other agents to obtain additional information for the user query (e.g., patient records or relevant guidelines). In some embodiments, the agent includes a pre-trained language model (e.g., trained in a specific domain and / or using a specific database). In some embodiments, the agent queries an unstructured database (e.g., additionally or alternatively, to generate API calls).
[0023] The platform or its components may be used in conjunction with any medical field such as oncology, endocrinology (e.g., diabetes), neurology, mental health (e.g., depression and related pharmacogenetics), and cardiovascular disease (e.g., to assist physicians in the treatment of any relevant disease state within those fields). For example, the platform may also include a Bayesian cardiology component (e.g., including one or more agents) that works with electrocardiogram (ECG) data to identify patients at high risk of cardiovascular disease. As another example, the platform may include a data curation component (e.g., including one or more agents) that takes raw (e.g., unstructured) data and structures it into a common and useful format as a repository of clinical data (e.g., a multimodal database) on which other bioinformatics, analyses, agents, models, and / or components can operate. As yet another example, the platform may be configured to search within clinical data to identify relevant patient cohorts and / or generate insights and / or analyses. As yet another example, the platform may be configured to monitor electronic health records (EHRs) to identify care gaps and / or reminders for the physicians acting on each patient. In this way, the platform can function as a docket manager, for example, to identify issues / events that were not manually docketed by the corresponding physician to ensure that patients and other subjects receive timely care. The platform may also be configured to track and / or catalog relevant therapies (e.g., on-label and / or off-label use) for a set of disease conditions. The platform may also track and / or catalog relevant clinical trials (e.g., in multiple countries and / or from multiple authorities) for a set of disease conditions. In some embodiments, the platform may be further configured to interact directly with patients / subjects.
[0024] As discussed below, the platform may include an AI-enabled support user interface (which may be described herein as a clinical assistant or digital assistant) that provides access to patient insights. The AI-enabled support user interface may use one or more of the configurations described herein, each of which may include ML models and / or other types of machine learning.
[0025] In some embodiments, the platform includes a hub component that enables physicians to apply for, track, and view trial results and export patient data. In some embodiments, the hub component provides insights into genomic changes, therapeutic impacts, and clinical trial consistency. The hub component may be used in conjunction with an AI-enabled clinical assistant to enable physicians to interact using conversational language, including natural language input, follow-up questions, and comments. The platform may also include a peer-to-peer messaging component for physicians and other healthcare professionals to share knowledge, insights, and / or perspectives in medical fields such as molecular oncology (e.g., as it relates to patient care). The messaging component may be used in conjunction with an AI-enabled clinical assistant to engage in conversations on the messaging component and optionally learn from them. For example, the AI-enabled clinical assistant may be called upon in a conversation to provide insights and / or data on a particular topic or conversation. The platform may also include an EHR interface component (e.g., including one or more agents) configured to enable physicians and optionally other users to view, edit, and / or search EHRs. EHR interface components can be communicatively coupled with one or more services and / or databases to retrieve updated information and reports (e.g., via push notifications). EHR interface components can be used in conjunction with AI-enabled clinical assistants to search, edit, summarize, and / or recreate EHRs. The platform may also include research analytics components (e.g., including one or more agents) that provide anonymized patient / clinical data and insights. For example, the platform may provide insights derived from providing available and / or newly ingested data to machine learning models (e.g., insights are output by the model in response to data being provided).
[0026] Here, embodiments are referenced, the embodiments illustrated in the accompanying drawings. The following description includes numerous specific details to facilitate understanding of the various embodiments described. However, it will be apparent to those skilled in the art that the various embodiments described can be carried out without these specific details. In other cases, well-known methods, procedures, components, circuits, and networks are not described in detail so as not to unnecessarily obscure the aspects of the embodiments.
[0027] Figure 1 is a block diagram illustrating platform 100 according to some embodiments. In some embodiments, platform 100 is an AI platform (e.g., the AI platform described above). Platform 100 includes one or more client devices 102 that are communicably coupled to a server system 106 via one or more networks 104. According to some embodiments, platform 100 further includes, or communicates with, one or more external services 110 and one or more external databases 108. In some embodiments, one or more networks 104 include public communication networks, private communication networks, or a combination of both public and private communication networks. For example, one or more networks 104 can be any network (or combination of networks) such as the Internet, other wide area networks (WANs), local area networks (LANs), virtual private networks (VPNs), metropolitan area networks (MANs), peer-to-peer networks, and / or ad-hoc connections. In some embodiments, platform 100 includes only a subset of the components shown in Figure 1. For example, platform 100 may include only one of the following: client device 102 or server system 106.
[0028] In some embodiments, the client device 102 is associated with one or more users. In some embodiments, each user is authenticated separately (e.g., assigned a separate / unique authentication token). In some embodiments, the client device 102 is a personal computer, mobile electronic device, wearable computing device, laptop computer, tablet computer, mobile phone, feature phone, smartphone, speaker, television (TV), and / or any other electronic device capable of interacting with the user (e.g., an electronic device with an I / O interface). The client device 102 may be wirelessly and / or wired (e.g., directly via an interface such as an HDMI® interface) coupled to other components of the platform 100.
[0029] In some embodiments, the client device 102 sends and receives information such as documents, queries, and / or results over the network 104. For example, the client device 102 may send queries or requests to the server system 106, external services 110, and / or external database 108 over the network 104. As another example, the client device 102 may receive results and other responses from the server system 106, external services 110, and / or external database 108 over the network 104. In some embodiments, two or more client devices 102 communicate with each other (e.g., resend and respond to queries and requests). Two or more client devices 102 may communicate over the network 104 or directly (e.g., over a wired connection or over a peer-to-peer wireless connection).
[0030] In some embodiments, the server system 106 includes a plurality of electronic devices that are coupled together in a communicative manner. In some embodiments, the plurality of electronic devices are juxtaposed (e.g., within a data center), and in other embodiments, the plurality of electronic devices are geographically separated from each other. In some embodiments, the server system 106 stores and provides clinical data and / or patient data. In some embodiments, the server system 106 trains, publishes, and / or utilityes one or more agents and / or language models. In some embodiments, the server system 106 uses one or more agents and / or language models to receive and respond to queries and requests from client devices 102. In some embodiments, the server system 106 includes a plurality of nodes and / or clusters configured to manage different types of tasks and / or process requests and queries from different geographical locations.
[0031] In some embodiments, the client device 102 and / or the server system 106 communicate with the external service 110 and / or the external database 108 via an application programming interface (API). In some embodiments, the external service 110 and / or the external database 108 are maintained / operated by a third party to the platform 100. In some embodiments, the external service 110 includes agents, location services, time services, web-enabled services, and / or services that access information stored outside the platform 100. In some embodiments, the external database 108 includes one or more medical databases, clinical databases, subject databases, research databases, and / or general knowledge databases. In some embodiments, the external database 108 includes one or more of the databases shown in Figure 4. In some embodiments, the external database 108 includes one or more user databases (e.g., patient databases maintained by third-party users of the platform 100).
[0032] Figure 2A is a block diagram illustrating a client device 102 according to some embodiments. The client device 102 includes one or more central processing units (CPUs) 202, a user interface 204, one or more network (or other communication) interfaces 210, memory 218, and one or more communication buses 214 for interconnecting these components. In some embodiments, the client device 102 includes a processor or other control circuit (e.g., additionally or alternatively to the CPU 202). For example, the client device 102 may include one or more GPUs and / or DPUs (e.g., for performing machine learning tasks). The communication buses 214 optionally include circuits (sometimes called chipsets) that interconnect and control communication between system components. Optionally, the client device 102 includes location detection components such as a global navigation satellite system (GNSS) (e.g., GPS (Global Positioning System), GLONASS, Galileo, BeiDou) or other geolocation receiver, and / or location detection software for determining the location of the client device 102.
[0033] In some embodiments, the client device 102 includes, but is not limited to, one or more sensors, including an accelerometer, gyroscope, compass, magnetometer, optical sensor, short-range wireless communication transceiver, barometer, humidity sensor, temperature sensor, proximity sensor, range finder, and / or other sensors / devices for sensing and measuring various environmental conditions.
[0034] The user interface 204 includes an output device 206 and an input device 208. In some embodiments, the input device 208 includes a keyboard, mouse, trackpad, and / or touchscreen. In some embodiments, the user interface 204 includes a display device including a touch-sensitive surface, in which case the display device is a touch-sensitive display. In client devices with a touch-sensitive display, a physical keyboard is optional (for example, a soft keyboard can be displayed if keyboard input is required). In some embodiments, the output device 206 includes a speaker and / or a connection port for connecting to a speaker, earphone, headphones, or other external listening device. In some embodiments, the input device 208 includes a microphone and / or a speech recognition device for capturing voice (for example, speech from the user).
[0035] In some embodiments, one or more network interfaces 210 include wireless and / or wired interfaces for receiving and / or transmitting data to and from other client devices 102, server systems 106, and / or other devices or systems. Data communication may be performed using any of the following custom or standard wireless protocols (e.g., NFC, RFID, IEEE 802.15.4, Wi-Fi, ZigBee, 6LoWPAN, Thread, Z-Wave, Bluetooth, ISA100.11a, WirelessHART, MiWi, etc.). Furthermore, data communication may be performed using any of the following custom or standard wired protocols (e.g., USB, Firewire, Ethernet, etc.). For example, one or more network interfaces 210 may include a wireless interface 212 for enabling wireless data communication with other client devices 102, systems, and / or other wireless (e.g., Bluetooth-enabled) devices. Furthermore, in some embodiments, the wireless interface 212 (or different communication interfaces of one or more network interfaces 210) enables data communication with other WLAN-enabled devices and / or server systems 106 (via one or more networks 104).
[0036] Memory 218 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and may include non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 218 optionally includes one or more storage devices located remotely from the CPU 202. Memory 218, or alternatively, the non-volatile memory solid-state storage devices within Memory 218, includes a non-temporary computer-readable storage medium. In some embodiments, Memory 218 or the non-temporary computer-readable storage medium of Memory 218 stores the following programs, modules, and data structures, or subsets or supersets thereof: Operating System 220, which includes procedures for handling various basic system services and performing hardware-dependent tasks. A network communication module 222 for connecting the client device 102 to other computing devices connected to one or more networks 104 via one or more network interfaces 210 (wired or wireless), User interface module 224 receives commands and / or inputs from the user via user interface 204 (e.g., from input device 208) and provides outputs (e.g., output device 206) via user interface 204. Agent module 226, which includes agent building blocks and / or a set of generated agents. In some embodiments, agent module 226 interacts with agent modules in server system 106 (e.g., agent module 316). In some embodiments, agent module 226 includes the following submodules (or sets of instructions), or subsets or supersets thereof: o Model 228 engages with the user and / or performs specific tasks (e.g., further progress of user requests or queries). In some embodiments, Model 228 includes one or more large language models, neural networks, transformer models, and / or other types of ML models, such as GPT-3®, GPT-4®, BioGPT®, and PaLM-2; and An interface module 230 enables Model 228 to communicate with other applications, components, and devices (e.g., via APIs or structured queries). In some embodiments, the interface module 230 is, or includes, an agent for selecting an organization to perform a task (e.g., a task-specific organization, a modality-specific organization, or a multimodal organization), an organization creator application, or one or more organization libraries (e.g., an organization marketplace), as discussed herein; A summarization module 232 configured to summarize one or more modalities of data, such as summarizing medical visits, annotating and / or labeling images, and / or summarizing data in other ways (e.g., in a human-readable format such as a natural language summary); An embedding module 234 is configured to generate embeddings (e.g., vectors) based on input data such as raw input data and / or summarized input data. In some embodiments, the embedding module 234 is configured to generate modality-specific embeddings. In some embodiments, the embedding module 234 is configured to generate multimodal embeddings (e.g., by aggregating or combining modality-specific embeddings); A natural language module 236 configured to generate natural language (e.g., conversation) output. In some embodiments, the natural language module 236 is configured to convert one or more ML outputs into natural language output. In some embodiments, the natural language module 236 is configured to generate embeddings from natural language input (e.g., received from a user via a digital assistant interface); • Web browser application 238 for accessing, browsing, and interacting with websites. Other applications such as word processing, calendar processing, mapping, weather, stocks, time management, virtual digital assistant, presentations, calculations (spreadsheets), drawing, instant messaging, email, phone, video conferencing, photo management, video management, digital music player, digital video player, 2D games, 3D (e.g., virtual reality) games, e-book reader, and / or applications for workout support, as well as 240 other applications. • One or more data modules 242 for managing the storage and / or access to data such as medical data, clinical data, patient data, and user data. In some embodiments, one or more data modules 242 are o One or more medical databases 244 for storing medical data (e.g., relating to therapies, drugs, treatments, patients, cohorts and / or diseases), oIncludes one or more user databases 246 for storing user data such as user preferences, user settings, and other metadata.
[0037] In some embodiments, the agent module 226 is configured to engage with the user in an integrated conversational manner using natural language dialogs and / or, where appropriate, to invoke external services to retrieve information or perform various actions.
[0038] Referring to Figure 2B, in some embodiments, the platform 100 provides an agent library 250 which includes a plurality of agent modules 226 (and / or agent modules 316) and a system for managing and deploying these agent modules, such as through various blocks (e.g., agent builder blocks) implemented in the form of one or more nodes 256.
[0039] In some embodiments, each agent module 226 (or agent module 316) is associated with a defined information domain and / or task-specific capabilities, which can retrieve a specific agent module based on information determined from prompts provided by the user and / or based on the user's selection of an agent module. In some embodiments, agent module 226-1 is configured for a first specific task (e.g., generating a summary report of a patient's medical records), a second agent module 226-2 is configured for a second specific task (e.g., generating a set of embeddings from summary data), a third agent module 226-3 is configured for a third specific task (e.g., generating patient care guidelines based on a patient's health profile), a fourth agent module is configured for a fourth specific task (e.g., identifying important dates for a patient based on summary data), a fifth agent module is configured for a fifth specific task (e.g., identifying changes in standard treatment for disease settings), a sixth agent module is configured for a sixth specific task (e.g., evaluating unstructured data related to a patient to identify a cohort of similar patients), and a seventh agent module is configured for a seventh specific task (e.g., performing phenotypic analysis on a subject). In some embodiments, the agent library 250 includes N agent modules, where N is a positive integer. In some embodiments, the agent library 250 is stored in one or more client devices 102 and / or server systems 106 (for example, the first part of the agent library 250 may be stored in the first client device 102, the second part of the agent library 250 may be stored in the second client device 102, and the third part of the agent library 250 may be stored in the server system 106).In some embodiments, each agent module 226 includes a client-side portion and a server-side portion (for example, a corresponding agent module 316 in a server system 106).
[0040] In some embodiments, each agent module 226 provides a wide range of content and functionality that end users can engage in and / or configure for such engagements through one or more nodes 256 associated with the agent module 226, ranging from simple static responses to an advanced knowledge system that facilitates automated conversations and data analysis leading to integrated transactions with solutions and external systems. In summary, one or more nodes 256 form part or all of a node architecture 254 associated with the agent module 226, which defines the rules for traversing between nodes. In some embodiments, each agent 226 has a corresponding node architecture 254, which provides a one-to-one relationship between the agent module 226 and the node architecture 254. In some embodiments, each agent module 226 supports the generation of additional agent modules 226 that utilize one or more models 252 and / or nodes 256 of the node architecture 254 of the respective agent module 226 or different agent modules 226. In some embodiments, each agent module 226 supports integration with other agent modules 226 in the agent library 250.
[0041] In some embodiments, each agent module 226 provides a defined scope for involvement in the workflow. Thus, in some embodiments, each agent module 226 is configured to assist end users in asking questions and / or resolving problems, or in fulfilling specific requests for retrieving information, such as through a conversational communication framework. In some embodiments, a first subset of agent modules 226 is task-specific and / or modality-specific, while a second subset of agent modules 226 is multimodal and / or configured to perform multiple types of tasks. Some embodiments provide the ability to create, manage, and operate agent modules 226 so that they can be used to create, edit, or delete agent modules 226 via a user interface, for example, by using a user interface-based agent module builder.
[0042] Some embodiments provide a user interface-based agent module designer to assist in creating and editing agent modules 226 and / or workflows associated with various agent modules 226 (workflows may also be referred to as assemblies or structurings). In some embodiments, this workflow appears as a node architecture containing multiple interconnected nodes. In some embodiments, the agent module designer includes the ability to define the name of an agent module 226, create an agent module 226, edit an agent module 226, delete individual nodes 256 associated with an agent module 226, expand and / or collapse the branches of a node 256, view and edit the conditional logic of a node 256, and view the node cross-section (for example, when one or more nodes 256 connect to different nodes 256).
[0043] In some embodiments, a node 256 of agent module 226 reflects one or more decision points within agent module 226, such as one or more predetermined decision points. In some embodiments, agent module 226 evaluates graphical data from client device 102, such as prompts provided by the user on client device 102, outputs from different agent modules 226, by parsing and / or evaluating incoming data such as recognized keywords, phrases, and ground truth labels. For example, based on the detection of recognized features, agent module 226 may process information associated with the data received from client device 102 in a specific direction within a plurality of interconnected nodes 256, such as from node 256-1 associated with agent module 226-1 to node 256-2 associated with agent module 226-1, and / or from node 256-1 associated with agent module 226-1 to node 256-K associated with agent module 226-1. Accordingly, in some embodiments, the use of one or more nodes 256 associated with each agent module 226 within a plurality of interconnected nodes 256 is analogous to traversing a decision tree in which different nodes 256 may be associated with different agent modules 226. Each agent module 226 can evaluate information based on relevant conditional logic to advance the information within the plurality of interconnected nodes 256, however, this disclosure is not limited thereto. In some embodiments, each node within the plurality of interconnected nodes 256 includes conditional logic that, for example, can evaluate data, retrieve data, generate data, or a combination thereof, based on an evaluation of the information input to each node 256. In some embodiments, each node within the plurality of interconnected nodes 256 may take some action, such as generating a message and / or sending information to another node 256 within the same agent module 226 as the respective node, or a different node 256 in a different agent module 226.
[0044] In some embodiments, a corresponding node architecture 254 associated with one or more agent modules 226 defines conditional logic 260 for performing a specific task (e.g., a specific clinical task). For example, each node 256 may include a corresponding logic 260 that defines a workflow for processing one or more tasks assigned to each node 256. In some embodiments, the conditional logic of the node architecture 254 is executed according to a first order of a first set of interconnected nodes 256 from a plurality of nodes 256, based on the corresponding logic 260 of each node 256 in the set of interconnected nodes 256. Thus, the logic 260, when collectively combined through the interconnected nodes of the node architecture 254, enables a detailed configuration of each node 256 that defines the conditional logic of the node architecture. For example, the logic 260 may include one or more logical operations or functions such as AND, OR, XOR, and / or NOT operations (and / or any of the functions 280 shown in Figure 2C). For example, logic 260 of node 256 requires the existence of the first condition, but does not require the second or third condition.
[0045] In some embodiments, the nodes include one or more data source nodes 256 associated with a specific task of retrieving data elements from a remote data source (e.g., an external database 108). In some embodiments, the corresponding logic 260 enables connection to the corresponding database by, for example, using an access token associated with the corresponding agent module 226, communicating at least a portion of the retrieved data to one or more nodes 256, and / or executing one or more queries to identify / analyze such data. In some embodiments, each node architecture 254 includes at least one input node that forms the initial terminal node in the order of the nodes 256. In some embodiments, the node architecture includes multiple paths traversing from input to output nodes, such as paths in a branching tree. In some embodiments, each respective node 256 represents a computation process, such as a function, input, and output, which is realized when data is applied to the node 256. Furthermore, since each node is interconnected by an edge to at least one other node 256, the output from one node 256 can be supplied as input to a different node 256 to form a chain and / or instruction in the node architecture 254.
[0046] In some embodiments, memory 218 includes one or more modules not shown in Figures 2A and 2B. For example, memory 218 may include one or more agent tools (e.g., communication tools) different from agent module 226. In some embodiments, client device 102 includes one or more standalone agents (e.g., running and operating on client device 102) and / or one or more dependent agents (e.g., operating in conjunction with components on a remote device such as server system 106). In some embodiments, one or more agents are generated / trained on server system 106 and deployed on client device 102.
[0047] Figures 2A and 2B illustrate a client device 102 according to some embodiments, but are intended more as functional descriptions of various features that may be present in the client device than as schematic structural diagrams of the embodiments described herein. In practice, as will be recognized by those skilled in the art, items shown separately may be combined, and some items may be separated.
[0048] Figure 3A is a block diagram illustrating a server system 106 according to some embodiments. According to some embodiments, the server system 106 includes one or more CPUs 302, one or more user interfaces 304, one or more network interfaces 306, memory 310, and one or more communication buses 308 for interconnecting these components. In some embodiments, the server system 106 includes other types of control circuits and / or processors (e.g., in addition to or alternative to the CPUs 302). For example, the server system 106 may include one or more GPUs or DPUs for machine learning tasks.
[0049] Memory 310 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and may include non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 310 optionally includes one or more storage devices located away from one or more CPUs 302. Memory 310, or alternatively, the non-volatile solid-state memory devices within Memory 310, includes a non-temporary computer-readable storage medium. In some embodiments, Memory 310, or the non-temporary computer-readable storage medium of Memory 310, stores the following programs, modules, and data structures, or subsets or supersets thereof: • Operating System 312, which includes procedures for handling various basic system services and for performing hardware-dependent tasks. A network communication module 314 is used to connect the server system 106 to other computing devices connected to one or more networks 104 via one or more network interfaces 306 (wired or wireless). The agent module 316 may, when appropriate, call external services to engage with a user (e.g., a remote user), retrieve information, or perform various actions (e.g., in an integrated conversational manner using natural language dialogs). In some embodiments, the agent module 316 interacts with the agent module 226 on the client device 102. In some embodiments, the agent module 316 includes the following submodules (or sets of instructions), or subsets or supersets thereof: oEngage with the user and / or perform specific tasks (e.g., in further parts of user requests or queries) one or more Model 318. In some embodiments, Model 228 includes one or more large language models, neural networks, transformer models, and / or other types of ML models, such as GPT-3, GPT-4, BioGPT, and PaLM-2; and o One or more interface modules 320 (for example, via an API or structured query) that enable the agent module 316 to communicate with other agents, applications, components, and devices; A summarization module 322 configured to summarize one or more modalities of data, such as summarizing medical visits, annotating and / or labeling images, and / or summarizing data in other ways (e.g., in a human-readable format such as a natural language summary); An embedding module 324 is configured to generate embeddings (e.g., vectors) based on input data such as raw input data and / or summarized input data. In some embodiments, the embedding module 324 is configured to generate modality-specific embeddings. In some embodiments, the embedding module 324 is configured to generate multimodal embeddings (e.g., by aggregating or combining modality-specific embeddings); and A natural language module 326 configured to generate natural language (e.g., conversation) output. In some embodiments, the natural language module 326 is configured to convert one or more ML outputs into natural language output. In some embodiments, the natural language module 326 is configured to generate embeddings from natural language input (e.g., received from a user via a digital assistant interface); • One or more server data modules 330 for managing the storage and / or access of data (e.g., clinical data and user data). In some embodiments, one or more server data modules 330 are o One or more medical databases 332 for storing medical data (e.g., relating to therapies, drugs, treatments, patients, cohorts, imaging, and / or diseases), Includes one or more agent databases 334 for storing agent data such as settings, training, instructions, and other metadata.
[0050] In some embodiments, the server system 106 includes a web or hypertext transfer protocol (HTTP) server, a file transfer protocol (FTP) server, and web pages and applications implemented using Common Gateway Interface (CGI) scripts, PHP hypertext preprocessor (PHP), Active Server Pages (ASP), hypertext markup language (HTML), extended markup language (XML), Java, JavaScript, asynchronous JavaScript and XML (AJAX), XHP, Javelin, Wireless Universal Resource File (WURFL), and the like.
[0051] In some embodiments, memory 310 includes one or more modules not shown in Figure 3A. For example, memory 310 may include one or more agent tools (e.g., translation tools) different from agent module 316. In some embodiments, server system 106 includes one or more standalone agents (e.g., running and operating on server system 106) and / or one or more dependent agents (e.g., operating in conjunction with components on remote devices such as client device 102). In some embodiments, memory 310 includes an agent library (e.g., agent library 250).
[0052] Figure 3A illustrates a server system 106 according to some embodiments, but is intended more as a functional description of the various features that may be present in the server system than as a structural schematic diagram of the embodiments described herein. In practice, as will be recognized by those skilled in the art, items shown separately may be combined, and some items may be separated. For example, some items shown separately in Figure 3A may be implemented on a single server, and a single item may be implemented by one or more servers. In some embodiments, the clinical database and / or agent database 334 is stored on a device accessed by the server system 106 (e.g., an external database 108). The actual number of servers used to implement the server system 106, and how features are allocated among them, will vary from one implementation to another and will optionally depend in part on the amount of data traffic the server system will manage during peak and average usage periods.
[0053] Each of the modules identified above and stored in memories 218 and 310 corresponds to a set of instructions for performing the functions described herein. The data, modules, or programs (e.g., sets of instructions) identified above do not need to be implemented as separate software programs, procedures, or modules; therefore, various subsets of these modules can be combined or rearranged differently in various embodiments. In some embodiments, memories 218 and 310 optionally store subsets or supersets of each of the modules and data structures identified above. Furthermore, memories 218 and 310 optionally store additional modules and data structures not described above.
[0054] As used herein, a transformer model (sometimes simply called a transformer) is a neural network that learns context and thus understands meaning by tracking relationships in sequential data, such as words in a sentence. A transformer model can apply attention or self-attention to detect how much sequential data elements influence and depend on each other. Using embeddings (e.g., word embeddings), a transformer can preprocess text as a numerical representation through an encoder and understand the context of words and phrases with similar meanings, as well as other relationships between words, such as parts of speech. The model can then apply this knowledge of language through a decoder to produce unique outputs. A transformer model can be a component of another model, such as a large language model (LLM).
[0055] LLMs are large deep learning models that are pre-trained on massive amounts of data, e.g., in the terabyte or petabyte size range. LLMs can have billions or even trillions of parameters. LLMs typically consist of tens or even hundreds of transformer blocks stacked on top of each other. In a classical LLM, each LLM includes an encoder block that takes a sequence and processes it into a set of context-rich embeddings, and a decoder block that takes the encoder's output and generates an output sequence. However, some LLMs include transformer blocks containing only encoders, and some LLMs include transformer blocks containing only decoders. Transformer architectures utilize self-attention, residual connectivity, and normalization. Therefore, LLMs containing stacks of transformer blocks also utilize these features. While transformer models can have millions of parameters, large language models are characterized by having at least one billion parameters. As will be apparent to those skilled in the art, these values exist in a continuous flow, and there may be LLMs with, for example, 100 million parameters, 50 transformer blocks, or other numbers of parameters that enable the robust performance expected of an LLM. As an example, a transformer model may have 6 to 24 transformer blocks, and an LLM may have 80 or more transformer blocks. As another example, a transformer model may be trained on domain-specific datasets ranging from gigabytes to tens of gigabytes, while an LLM may be trained on more diverse datasets measured in terabytes or petabytes.
[0056] An embedding is a representation of a value or object (e.g., text, image, and / or audio) used by a machine learning model. Thus, an embedding can represent features extracted from raw data. An embedding may be a (feature) vector generated to capture meaningful data about each object. An embedding may represent a word (or phrase) and be used in text analysis; it may be a word embedding. A word embedding may be in the form of a real-valued vector encoding the meaning of a word in a way that nearby words in the vector space are expected to be semantically similar. When words and phrases are one-hot encoded, embeddings are typically dimensionally reduced relative to the model input. For example, consider a model with a vocabulary size of 50,000 words and / or phrases. Words and phrases in the model input are one-hot encoded using this vocabulary, and therefore the input has 50,000 dimensions. In some models according to this disclosure, such high-dimensional inputs are dimensionally reduced relative to the original one-hot input. For example, in one particular case, the embedding maps a vocabulary of 50,000 words / phrases to 768 dimensions. However, there is no absolute requirement that the embedding be dimensionally reduced relative to the input. For example, in some embodiments, the embedding captures the input context, resulting in an embedding that is not dimensionally reduced relative to the input.
[0057] Figure 3B is a block diagram illustrating one or more system databases 350 according to some embodiments. In some embodiments, at least a portion of the system database 350 is stored in a client device 102 (e.g., as medical database 244), a server system 106 (e.g., as medical database 332), and / or an external database 108, which is advantageously enabled at and / or near the client device 102, such as via a communication network. However, the disclosure is not limited thereto. In some embodiments, a single database stores all of the information shown in Figure 4. In some embodiments, the information is stored in a set of two or more databases.
[0058] In some embodiments, the system database 350 includes subject and clinical datasets 352 and / or a non-subject-specific knowledge database (KDB) 354. In some embodiments, the data stored in the system database 350 includes multiple categories of data or data features, the categories of data or data features encapsulating different data modalities such as structured text modality, unstructured text modality, tabular data modality, data visualization modality, image modality, audio modality, video modality, biological sequence modality, natural language modality, and source code modality. In some embodiments, the data stored in the system database 350 includes raw data (e.g., unstructured data corresponding to the entire document in its original format). In some embodiments, the data or features stored in the system database 350 include formatted data (e.g., structured data) and / or summary data (e.g., summaries generated by one or more modality-specific summary agents). In some embodiments, the system database 350 includes data or features stored in an embedded format (e.g., numerical vector format).
[0059] In some embodiments, dataset 352 may include, among other data, genome, transcriptome, epigenome, microbiome, clinical, conserved modified proteome, additional omics, organoids, imaging and cohort, and trend datasets. For example, cohort selection, search, analysis, and study datasets may include patient and condition data such as tumor of unknown origin (TUO) predictors, metastasis predictors, and survival analysis. As an example, imaging datasets may include radiological imaging data, immunohistochemical imaging data, positron emission tomography (PET) data, pathological imaging data, cardiac imaging data, neurological imaging data, and / or single-photon emission computed tomography (SPECT) imaging data. Pathological imaging data may include hematoxylin and eosin (H&E) and / or immunohistochemistry (IHC) data. Cardiological imaging data may include electrocardiogram (ECG or EKG) data. Neurological imaging data may include electroencephalogram (EEG) data. The imaging dataset may include data on nodule identifiers, tracking, and / or longitudinal analysis. The imaging dataset may also include data on the entire slide staining using hematoxylin and eosin (H&E) or immunohistochemistry (IHC) staining and / or pathology reports. Clinical data may include curated, uncurated, electronic medical record (EMR), and / or electronic health record (EHR) data. Uncurated data may include raw images of documents that can be OCR'd and then fed into a model for structuring / summarizing. In some embodiments, the same model performs OCR and structuring / summarizing, using LLMs, transformers, neural networks, or machine learning models, etc.
[0060] In some embodiments, clinical data may include diagnostic, imaging, and biopsy information, as well as other disease and condition-related data. For example, for endocrine diagnosis, the primary test used is a blood test to measure hormone levels in the body, which can identify various endocrine disorders by checking imbalances of thyroid-stimulating hormone (TSH), luteinizing hormone (LH), follicle-stimulating hormone (FSH), testosterone, and other hormones, depending on the suspected condition. Additional tests, such as ultrasound, CT scans, or biopsies, may be performed as needed to identify abnormalities in endocrine glands, such as the thyroid or adrenal glands. Blood tests for endocrine diagnosis can measure various hormones in the blood, enabling the diagnosis of conditions such as hypothyroidism, hyperthyroidism, diabetes, and adrenal insufficiency. Imaging tests such as ultrasound, CT scans, or MRI can be used to visualize endocrine glands and identify abnormalities such as nodules or tumors. Fine-needle aspiration (FNA) biopsies can be performed to collect tissue samples from suspected areas of the thyroid gland for further analysis. Thyroid function tests can be used to measure TSH, T4, and T3 levels and assess thyroid function. Cortisol level tests can be used to check for adrenal problems. Glucose tolerance tests can be used to diagnose diabetes by monitoring blood glucose levels, for example, after consuming sugary beverages. Prolactin tests can be used to check for prolactin levels associated with pituitary dysfunction. Calcium and parathyroid hormone (PTH) levels may be determined to assess parathyroid function. For each endocrine-related test, data associated with the test (e.g., diagnosis, imaging, and metadata (timing, location, etc.)) can be stored in the clinical data and associated with a specific subject.
[0061] As another example, for diagnosing diabetes, a physician may use blood tests such as a hemoglobin A1c (A1C) test, which measures the average blood glucose level over a period of two to three months. The A1C test provides a snapshot of the subject's average blood glucose over a set period and does not require fasting. Depending on the situation, other tests such as a fasting blood glucose test, an oral glucose tolerance test (OGTT), or a urine test may be used. A fasting blood glucose test measures the subject's blood glucose level after fasting for at least eight hours. An OGTT involves the subject drinking a sugary liquid and then checking their blood glucose level at specific intervals. Although not as accurate as blood tests, urine tests may be used in some situations to check for ketones, a sign of type 1 diabetes. For each diabetes-related test, the data associated with the test may be stored in the clinical data and associated with the specific subject.
[0062] As another example, a variety of tests and tools can be used to diagnose and / or assess depression, including questionnaires, physical examinations, laboratory tests, and brain scans. For example, the Patient Health Questionnaire (PHQ-9) is a questionnaire that helps diagnose depression and assess its severity. The PHQ-2 is an initial screening tool for depression that can be used in all age groups. Other questionnaires include the Social Problem Solving Inventory Revised (SPSI-RTM), a self-report scale of strengths and weaknesses in solving social problems. The Edinburgh Postnatal Depression Scale (EPDS) is a 10-question scale that can be used to screen for depression in women who have recently given birth. In some situations, a physician or other mental health professional may diagnose / assess depression by performing a physical examination and asking health questions of the subject. Mental health professionals may also use the criteria for depression described in the Diagnostic and Statistical Manual of Mental Disorders (DSM-5). In some situations, laboratory tests are used to rule out other medical conditions that may present as depression. These tests may include whole blood cell count (CBC), thyroid-stimulating hormone (TSH), and vitamin B-12. Furthermore, a PET scan of the brain can compare brain activity during periods of depression to normal brain activity. A CT scan or MRI of the brain may be considered if organic brain syndrome or hypopituitarism is in the differential diagnosis. For each depression-related test, the data associated with the test may be stored in the clinical data and associated with specific subjects.
[0063] Another example is the variety of diagnostic tests that can be used to diagnose cardiovascular disease, including electrocardiograms (ECG or EKG), mediastinal Holter monitoring, stress tests, cardiac MRI, positron emission tomography (PET) scans, invasive coronary angiography, echocardiograms, blood tests, X-rays, cholesterol tests, C-reactive protein tests, trimethylamine N-oxide tests, serum creatinine, and plasma ceramide tests. A physician may use a combination of tests to diagnose a heart problem. For example, a physician may use an echocardiogram, cardiac MRI, or nuclear cardiac scan to obtain images of the heart during or after a stress test. For each test, data associated with the test (including any comparisons, cross-references, and conclusions based on multiple tests) may be stored in the clinical data and associated with a specific subject.
[0064] In some embodiments, KDB 354 may include, as shown, provider panels (e.g., information related to gene panels supported by the service provider operating the system), drug classes (e.g., drug class-specific information (e.g., whether a particular class of drugs acts on pancreatic cancer, which drugs are considered to belong to a particular drug class, etc.)), specific genes, immunological outcomes (e.g., information related to treatment based on results of specific immunobiometrics), specific drugs, drug class-mutation interactions, mutation-drug interactions, provider methods (e.g., questions about processes performed by the service provider), clinical trials, general immunology, clinical symptoms such as clinical diseases, and terminology sheets (e.g., industry-specific information). It includes separate sub-databases for specific information types, including definitions of terms, provider coverage (e.g., information on provider tests and results), provider samples (e.g., information on the types of samples that may be processed by a provider), knowledge (e.g., scripted questions and answers to various common questions not included in other sub-databases), radiation (e.g., information related to appropriate radiation therapy given a specific cancer state), clinical guidelines (e.g., national guidelines on cancer state classification, accepted treatments, etc.), and clinical trial questions and answers (e.g., information on the location and administrator of a clinical trial). Organizing KDB 354 into sub-databases may facilitate the management of those databases as the information within them evolves over time and may also allow for the addition of new sub-databases related to other defined information types. In some embodiments, the clinical datasets 352 and / or KDB 354 are arranged in a different manner (e.g., in different sub-databases and / or different organizational schemes) than shown in Figure 4.
[0065] In some embodiments, the data stored in the subject and clinical datasets 352 and / or KDB 354 includes raw data, annotated data, and / or summarized data. In some embodiments, the raw data is fed into one or more models to generate annotated and / or summarized data. For example, a model may receive raw data such as sequencing results, documents, and / or images and extract / predict status information and / or summaries. In some embodiments, one or more models (e.g., one or more agents) are used to segment, annotate, summarize, and / or structure data received from external sources (e.g., external databases and / or third parties). In some embodiments, the data stored in the subject and clinical datasets 352 and / or KDB 354 is classified, grouped, cross-referenced, and / or otherwise related to other data using one or more models (and / or one or more agents). For example, a cohort may be identified based on EMR / EHR information from multiple subjects / patients. In some embodiments, an ingestion agent is used for data received to perform one or more of the actions described above. In some embodiments, different ingestion agents (e.g., data processing / preprocessing agents) are used for different data modalities.
[0066] Advantageously, by utilizing multiple datasets associated with different subject domains and / or by applying a classification system to the datasets, the knowledge database provides a storage system for data such as medical records and clinical documents that one or more agent modules 226 can retrieve based on task-specific requirements associated with each domain or classification. Furthermore, in some embodiments, the knowledge database 354 allows for the storage of such data with despecification controls to enable training and / or analysis on the stored data without the risk of disclosing sensitive and / or privileged information.
[0067] Given the vast amount of text contained within the EHR's real-world data (RWD) repository, processing entire patient clinical notes within the context window of a model (e.g., LLM) is impractical. In some embodiments, this challenge is addressed by implementing a Search-Augmented-Generate (RAG) approach to identify relevant portions of EHR text, e.g., relevant portions of unstructured clinical notes. The RAG approach has proven to be more efficient and effective than providing a model with a larger context window. In some embodiments, RAG is a two-step process involving retrieving relevant documents from a corpus (e.g., a large corpus with thousands or millions of documents) and then feeding the retrieved documents into a model for analysis and response generation.
[0068] In some embodiments, one or more agent modules of the agent library 250 use Search Enhancement Generation (RAG) to perform the operations described herein (e.g., requests to process zero-shot information). For example, a computing system may apply the RAG process to the entire patient record, thereby allowing the entire patient record to be applied to Model 228 with excessive computational load, rather than focusing only on specific types of clinical notes. In some embodiments, the RAG process is used to analyze clinical references throughout the entire patient record without requiring a predetermined division of interest, but this disclosure is not limited thereto. In some embodiments, the RAG process utilizes one or more vector embeddings, such as a plurality of predetermined vector embeddings, where each predetermined vector embedding is associated with a corresponding text string or snippet. Advantageously, this RAG approach may be more efficient and effective than providing a model with a larger context window (e.g., LLM).
[0069] In some embodiments, one or more agent modules use additional techniques to address the problem that the RAG implementation may not be able to obtain all the information necessary to fully answer a question (e.g., a user query). In such situations, another request (e.g., a new user query, and / or a modified version of the user query) may be automatically generated to obtain more information. An exemplary technique includes applying a user query for information from a source dataset to a first RAG agent (e.g., one or more agent modules 226) to determine whether there is enough information to generate an output based on the user query. The RAG agent may determine that there is enough information, not enough information, or the decision is unclear. In some embodiments, if the decision of whether there is enough information is unclear, the computing system provides the query to a different task-specific organization (e.g., corresponding to a different agent module 226). That is, in some embodiments, the system determines that the RAG agent cannot be the best means to resolve the user query.
[0070] In some embodiments, the behavior of one or more task-specific organizing of the system is adjusted to mitigate / prevent the adverse effects of search extension generation. For example, for certain inclusion / exclusion criteria for trial matching or care gap discovery, queries may be relational and include temporal questions (e.g., "Is this drug administration currently administered as a first-line treatment?"). As another example, a standard RAG search approach can only search for documents related to a drug. However, a task-specific organizing (e.g., the RAG agent) may not know whether the drug was administered as part of a first or second line of treatment without the full patient context. In such situations, using a broader context to which the majority of patient notes can be applied can provide more comprehensive information about the better context and temporal relationships between events for the task-specific organizing. Alternatively (e.g., to address resource constraints that increase the context window applied to the RAG agent), a different model (e.g., a complete patient record LLM with a 1 million character context window) or agent can be used to resolve user queries in addition to, or alternatively to, the RAG agent. For example, increasing the context window and / or performing alternative additional actions such as instructing the RAG agent to make requests (e.g., extract information) can increase the performance of generating output based on user queries for information. Another example is that a specific subset of data may be used to validate data / results. For example, insurance claims data could be used to validate which medications are administered at a particular time (e.g., corresponding to a particular line of treatment). In this way, insurance claims data could be used to identify transitions between different lines of treatment.
[0071] Figure 4 illustrates an exemplary system architecture for deploying agents (e.g., agent modules 226 and / or 316) according to some embodiments. The architecture 400 shown in Figure 4 includes an agent builder component within the control plane of the client device 102. The control plane acts as a data supervisor, coordinating communication between different components and collecting data from the data plane (e.g., the work environment presented on the display of the client device 102). In some embodiments, the control plane resides above the data plane (e.g., above the work environment) and enforces the rules of the data plane, enabling it to compartmentalize the data plane to prevent unauthorized or unauthenticated control of the data plane from insecure client devices, such as those not associated with a portion of the data plane. However, this disclosure is not limited thereto. In some embodiments, the agent builder hosts a user interface for configuring agent modules, such as by configuring a corresponding node architecture 254 associated with agent module 226. In some embodiments, the agent builder component is communicatively coupled to an agent library in the control plane (e.g., agent library 250) that stores multiple agent modules, such as agent module 316, and to an agent host in the working environment (e.g., via a configuration publish / purchase component). The agent module in the working environment may be communicatively coupled to the agent library in the working environment, a document index (e.g., one or more data sources such as knowledge database 354 and / or external database 108), and a large language model (e.g., model 318). In some embodiments, agent library 250 includes a user interface and API for interacting with deployed agents.
[0072] In some embodiments, the agent builder includes a front-end and a back-end. In some embodiments, the agent builder front-end includes an access component (e.g., an administration console, which may be a home user interface presented to the user when providing an access certificate to the application), an agent list (e.g., an agent library, which may include multiple organizations to which the user has access based on the access certificate provided to the application), agent builder components (e.g., a first representation of node architecture 254 (e.g., a form builder representation), and a second representation of node architecture 254 (e.g., a workflow representation)), and / or a data source management component. In some embodiments, the agent builder back-end includes a database layer, API services, and / or a configuration publisher component. In some embodiments, the agent builder front-end and back-end run on separate electronic devices.
[0073] In some embodiments, the agent host includes a frontend and a backend. In some embodiments, the agent host frontend includes access components, an agent list, an interaction console, and / or a document console. In some embodiments, the agent host backend includes a websocket for interactive users, a database layer, API access to deployed agents, tools and / or custom chain implementations, a document loader, and / or configuration subscription components. In some embodiments, the agent host frontend and backend run on separate electronic devices.
[0074] In some embodiments, the agent builder component is configured to generate, deploy, and / or update one or more agent modules and / or corresponding node architectures into one or more working environments (e.g., one or more workload planes). In some embodiments, each agent module is associated with an agent type. In some embodiments, the agent type includes a model and / or conditional logic type, such as an implementation configuration. For example, an agent module may include a language model associated with a first node, a first configuration implementation for applying a prompt to the model if the prompt is associated with a first modality via the first node, and a second configuration implementation if the prompt is associated with a second modality different from the first modality, and corresponding type-specific logic that further associates the agent module with a specific domain. In some embodiments, the logic is defined in a corresponding agent module configuration file, which advantageously allows the logic to be configured after applying various prompts to the agent module and / or using multiple client devices (e.g., end users). However, this disclosure is not limited thereto.
[0075] In some embodiments, the available agent module types include transformation agents (e.g., performing functions such as data transformation, regular expression, and string template creation), authentication agents, language model agents (e.g., applying input to a larger language model), data collection agents (e.g., RAG modules), super agents (e.g., configured to recognize other agent types and their capabilities and instantiate and / or delegate appropriate agent modules), sequential agents (e.g., including multiple models and / or tools that are sequentially combined), tool-using agents, code agents (e.g., configured to generate code in a specific programming language), and / or classification agents (e.g., configured to determine intent, domain, or other classifications for user input). In some embodiments, a transformation agent includes one or more ML models (e.g., stored as transformations accessible by the platform). In some embodiments, one or more ML models are stored for subsequent initialization / instance (e.g., as disk images). In some embodiments, a language model agent provides and / or stores contextual information such as conversation history, user preferences, and subject details. In some embodiments, the data collection agent is connectable to an external data source (e.g., an external service 110 and / or an external database 108) and configured to request and / or retrieve data from the external data source. In some embodiments, the sequential agent includes a recursive module (e.g., repeats and / or refines output until a predetermined criterion is met). In some embodiments, the super agent is configured to compare available agent types and recommend a particular agent type for a given situation / purpose. In some embodiments, the code agent is configured to generate code for a new agent module based on user input (e.g., natural language input). In some embodiments, the classification agent is a component of the routing agent.For example, a classification agent determines the intent / domain of an input, and a routing agent routes the input to downstream components according to the determined intent / domain. In some embodiments, a sequential agent is a component of the routing agent. For example, a routing agent coordinates the operation of multiple components and / or modules (e.g., data transmission and timing). In some embodiments, each agent module is generated / provided with guardrails (e.g., privacy, security, data type, etc.). In some embodiments, an agent module is configured to recognize whether data is protected health information (PHI) and take appropriate action. For example, an agent module may disable information sharing options when providing PHI.
[0076] In some embodiments, different agent types are associated with different domains within multiple domains (e.g., different subjects, data types, data modalities, and / or data classes) (e.g., trained, commanded, and / or combined). For example, in some embodiments, multiple domains form an input space that defines a universe of data related to various subjects. In some embodiments, the input space defines an N-dimensional space of data obtained from multiple data sources, where N is a positive integer such as 2, 3, 4, or 10. In some embodiments, each domain within multiple domains defines a partition classification or subset of data, such as one or more specific datasets in the system database 350 in Figure 3B. In some embodiments, different agent types are associated with different data modalities within multiple data modalities (e.g., trained, commanded, and / or combined). However, the disclosure is not limited thereto.
[0077] As a non-limiting example, consider a first input space associated with multiple medical records, where each medical record contains multiple text data and multiple graphical data related to the corresponding patient. Thus, multiple domains collectively defined by the information obtained from the multiple medical records enable the classification of information and allow training of corresponding agent modules on the classified domains, such as the first domain associated with the statin drug class and the second domain associated with the glucagon-like peptide (GPL) agonist drug class in Figure 3B.
[0078] As a non-limiting example, the first agent module may be associated with a first domain for generating summaries of a patient's textual medical records, the second agent module may be associated with a second domain for responding to general medical inquiries, the third agent module may be associated with a third domain for medical visit planning and preparation, and the fourth agent module may be associated with a fourth domain for generating inferences for user queries using data generated by the other three agent modules. In another embodiment, a first agent module may be associated with a first domain for generating a summary of a patient's text medical records; a second agent module may be associated with a first domain for guiding patients or other subjects or patient-related healthcare providers through treatment planning; a third agent may be associated with a third domain for creating patient care guidelines based on a patient's health profile; a fourth agent module may be associated with a fourth domain for identifying patients requiring hospital follow-up; a fifth agent module may be associated with a fifth domain for identifying changes in standard care for disease settings; and / or a sixth agent module may be associated with a sixth domain for evaluating patient-related data to identify cohorts of similar patients.
[0079] One exemplary agent type is a database interface agent module associated with one or more data source nodes 256. An exemplary database interface agent may be an adverse effects agent configured to have access to the FDA label database and to interpret adverse effects information from the database. The configuration of the database interface agent module may include custom prompts for the agent module model and one or more data sources that the agent database interface module may access and / or use.
[0080] Another exemplary agent type is a custom chain agent module (e.g., a super agent module) that takes an input prompt, analyzes the prompt (e.g., parses the prompt into one or more commands and / or tokens), and sends information from the parsed prompt (e.g., commands and / or tokens) to a model or other component, such as node 256 of a custom chain agent module or a different node 256 of a different agent module. For example, a custom chain agent module may retrieve data from different databases (e.g., external database 108, knowledge database 354, etc.), and the data may be retrieved in a variety of different formats, modalities, and / or structures, such as unstructured text, structured text, tables, charts, graphical data, and / or biological data. In some embodiments, the agent module reformats, summarizes, and / or reconstructs the data retrieved from the database for application to the model of the custom chain agent module and / or different agent modules. In some embodiments, the custom chain agent module evaluates and / or retrieves a set of parameters for inputting data into the model and / or agent module, and translates the data retrieved from the database based on the set of parameters. In some embodiments, the acquired data is reconstructed into a homogeneous dataset (for example, different hospitals may use different codes for the same procedure, which are then homogenized into uniform codes by, for example, the agent module). The configuration of a custom chain agent module may include a sequence of 256 nodes associated with the custom chain agent module, and / or other nodes associated with other agent modules used by the custom chain agent module, and / or definitions of corresponding chain objects.
[0081] As shown in the embodiments described above, an agent module can be considered a configuration of a specific agent type for a specific task, via a plurality of interconnected nodes 256 that form the node architecture 254 of the agent module (represented, for example, as database objects). The agent module may also be configured to dissect complex evaluations and logic into inference paths through the plurality of interconnected nodes 256, thereby reducing the computational burden to arrive at accurate and precise responses. In some embodiments, the agent module is accessible via an interaction console and / or an application programming interface (API). In some embodiments, one or more parts of the agent configuration are stored in a separate version table (linked, for example, by agent ID). In this way, the agent configuration can be edited without affecting the deployed agent version.
[0082] In an exemplary scenario, a user configures an agent in the console and then deploys it to one or more environments (e.g., a workload plane and / or a control plane). In this scenario, the agent configuration is stored in the control plane (e.g., as shown in Figure 4). As shown in Figure 4, the agent itself runs in the appropriate working environment, and the working environment does not have access to the control plane. The agent builder in the control plane may be configured to push the configuration to the various environments (e.g., via a configuration publish subscription component shown in Figure 4). In some embodiments, when the agent configuration is changed or an agent version is deployed, the agent builder notifies the agent host in each environment so that the updated agent can be deployed. This may be via a publish subscription message to the agent configuration topic or via a simple HTTP request.
[0083] Architecture 400 allows for flexibility to support various deployment strategies for each agent module. For example, some end users, such as those who use agent modules interactively and without engineering support, expect the agent modules to function fully within a production work environment. In some embodiments, an administrator, such as the creator of an agent module, can choose a deployment style suitable for their application, such as by restricting the agent module to one or more domains, one or more databases 108, one or more services 110, or a combination thereof. For example, a first user might want to use a user interface that includes one or more user interface elements described in relation to the application, by embedding the components directly within a web page, while a second user might want to interact with an API configured to receive user requests and provide responses in the form of data structures, and the second user could integrate this response into a different user interface element not associated with the application.
[0084] In some embodiments, users of the agent builder user interface within the control plane are provided with a manufacturing access token, which can also be requested from the manufacturing agent host. In some embodiments, an integrated user interface is presented to the user that shows both the agent builder, which has multiple input features visualized through representations, and the interactive console, without causing the user to worry about the differences between the control plane and the working environment. For example, for a user who wants to test an agent module in a lower-level environment, a link is provided that allows them to open that agent module in a new tab or frame of the application. In some embodiments, a request for authentication is presented, and an access token to that environment is obtained by the agent module. In some embodiments, the user interface includes a display of which environment is currently active.
[0085] In some embodiments, the data module 410 (e.g., a document index) shown in Figure 4 includes one or more of the following: a static corpus, a dynamic corpus, an embedding model (e.g., model 228), a chunking strategy, a storage backend, a data classifier (e.g., public, internal, or secret), and / or visibility settings (e.g., private, public, or restricted by role). In some embodiments, the data module maintains an index of data that may be temporary or permanent. In some embodiments, data elements associated with a data file (e.g., a document) are evaluated through a chunking process, embeddings are generated for the chunks produced from the chunking process, and the embeddings are inserted into a database. In some embodiments, the data module 410 includes a set of search parameters (e.g., for several documents to search and / or similarity measurements). In some embodiments, the data module 410 corresponds to a set of databases (e.g., a medical database), such as database 350 in Figure 3B. In some embodiments, parameters associated with each agent module and / or node 256 of the model include selecting one or more document indexes to search through the data module 410. In some embodiments, embeddings are created and siloed for future use. In some embodiments, each embedding is associated with one or more access control lists (ACLs).
[0086] A tool is a mechanism that allows an agent module to integrate with other components and the external world. In some embodiments, tools are made available to the agent module as agent builder blocks. Some tools may be general-purpose, while others may be custom for specific integrations. Different agent module types may have different access to tools. For example, a tool agent may consist of a set of available tools, and the model may be configured to allow the user to choose when and how to use them, rather than following a fixed step sequence. In some embodiments, the agent configuration defines when and how the tools are invoked. As an example, a tool may consist of a fixed-base URL so that the agent cannot make authentication requests to some other service. In some embodiments, a tool is configured to authenticate using an end-user access token, rather than granting access roles to the agent's machine user. In some embodiments, a tool is restricted to specific endpoints and / or methods (e.g., GET requests only), and as a result, the tool is restricted from performing administrator tasks on behalf of a user lacking administrator privileges (e.g., write permissions).
[0087] In some embodiments, a tool has parameters defined when configuring the agent module and / or parameters defined by the agent module itself at the time of invocation. An exemplary tool is an authentication request tool configured to retrieve an internal URL using a user's access token. The authentication request tool may include the following parameters: name, description, base URL, and / or input parameters (e.g., which can be specified by the agent). For example, an exemplary authentication request tool may have a sequence identifier as an input parameter. Another exemplary tool is an external request tool that retrieves an external URL. The parameters of the external request tool may include name, description, base URL, and / or input parameters. Another exemplary tool is an email tool that sends an email. The parameters of the email tool may include recipient, subject, and / or body.
[0088] Other exemplary agent modules include: (i) an agent module configured to send emails summarizing which customers are facing problems with ranking and / or identifying opportunities for retraining; (ii) an agent module configured to generate data tables, JSON schemas, and other data translations; (iii) an agent module configured to find rankings within client groups with specific flags and / or provide summaries by client, flag, etc. (e.g., by timestamp of ranking creation timing); (iv) an agent module to identify behavioral changes in instructing habits and adjust rankings accordingly (e.g., increased delays and / or cancellation of rankings) and send notifications; (v) an agent module to generate inclusion / exclusion criteria from protocol documents, generate structured queries (e.g., SQL queries) from structured lists, and / or generate specifications (e.g., YAML specifications) from a list of structured inclusion / exclusion criteria; and (vi) an agent module to answer questions about specific challenges based on information from protocols and / or other clinical trial materials or documents. As another example, one or more sets of agent modules may be configured to identify and / or assess adverse effects. An exemplary agent module receives a user query about adverse effects associated with a particular drug. In this example, the set of agent modules parses the query to identify the drug name and applies the drug name to one or more nodes to obtain a set of adverse effects associated with the drug. In this example, the set of agent modules may provide a response with a description of the set of adverse effects.
[0089] Figure 5A illustrates an exemplary process 500 for data vectorization and querying according to some embodiments. First, the source dataset 502 is imported as imported data 506 (504). In some embodiments, the source dataset 502 includes one or more documents (e.g., one or more PDF documents), one or more images, and / or other structured or unstructured data (e.g., data tables or records). In some embodiments, the source dataset 502 is obtained from one or more databases (e.g., external database 108). In some embodiments, the source dataset 502 is identified by the user for import into the system (e.g., platform 100). In some embodiments, the source dataset 502 includes medical, clinical, molecular, and / or patient data.
[0090] According to some embodiments, the imported data 506 is de-identified (e.g., any personally identifiable information (PII) is removed). The imported data 506 is transformed (508) into data chunks 510. In some embodiments, the transformation includes summarizing the imported data 506 (e.g., using one or more machine learning models). In some embodiments, the transformation includes transforming unstructured data into structured data (e.g., using one or more machine learning models). In some embodiments, the transformation includes segmenting the data (also known as chunking or snippeting). For example, the imported data may be transformed into structured data, then summarized, and then the summary data may be segmented to generate data chunks 510. In some embodiments, the imported data 506 is, for example, transformed into structured data or summarized without transformation. In some embodiments, the imported data includes visual data that is annotated and / or characterized during the transformation process. A set of (one or more) embeddings is generated from a data chunk 510 (512) and stored in a database 512 (e.g., a vector database). In some embodiments, the embeddings are used to train (e.g., fine-tune) a machine learning model (e.g., a model that is a component of a task-specific organization).
[0091] Figure 5A also shows a prompt 520 received (e.g., via platform 100). For example, the prompt could be a question about the source dataset 502. The prompt 520 is converted (520) into a set of prompt embeddings 524 (one or more). Similarity analysis 526 (e.g., cosine similarity analysis) is performed between the prompt embeddings 524 and the embeddings into the database 514 (e.g., embeddings from data chunks 510). In this way, one or more relevant chunks 530 may be identified and returned to the user. In some embodiments, the relevant chunks 530 are analyzed and / or summarized, and the results of the analysis / summary are provided to the user. In some embodiments, the response to the user includes a short answer, a long answer, and / or information from the relevant data chunks 510.
[0092] As an example, a query vector can be generated and used to identify similar vectors in a vector database (e.g., database 514). Similar vectors from the query vector database (and / or query vector) can then be used to identify a second similar vector in a second vector database. The query vector and the second similar vector (and optionally the first similar vector) can be provided to a language model via prompts. The language model outputs an answer to the query, which is optionally reformatted and sent to the user. In a particular example, the query is "What is the reason for Linda Watson's rank cancellation?", and the language model outputs the status reason as the answer.
[0093] In some embodiments, the agent module is configured to perform intent matching and / or parameter extraction in response to user queries and requests. In some embodiments, intent is assumed (for example, the agent module is configured for a specific task). In some embodiments, the agent module extracts domain-specific parameters. An example query is "show patients with high MSI and TMB <20 who have been diagnosed with central neurocytoma in the past four months," and the extracted parameters may be ["mis":"high", "tmb":"{"lt""20"}, "diagnosis":"central neurocytoma", "date_range":{...}].
[0094] In some embodiments, the agent module is configured to automatically input a structured query (e.g., an SQL query) using a user query and send the structured query to a structured database. For example, the agent module may retrieve a specific schema, retrieve inclusion and exclusion criteria, and generate a structured query for the database based on the criteria identified from the query and the schema of the database being searched. In some embodiments, the structured query is sent to another agent module or component to interact with one or more structured databases. For example, a user query, "How many patients are 18 years of age or older?", may be translated into the SQL query "SELECT COUNT(*) FROM demographic WHERE age>18".
[0095] Figure 5B illustrates an exemplary architecture for responding to user queries according to some embodiments. In the embodiment of Figure 5B, a query 550 (or other type of prompt) is received by the system (e.g., a server system 106 or a client device 102) (e.g., via a digital assistant portal or other type of user interface). The query 550 is analyzed by a classification agent 552. In some embodiments, the classification agent 552 is a task-specific organization. In some embodiments, the classification agent 552 includes one or more machine learning (ML) models, such as a transformer model, a language model, or other type of model. In the embodiment of Figure 5B, the classification agent 552 classifies the query 550 and, based on the category of the query, sends the query information to a specific destination agent. In some embodiments, two or more agents are used to receive and classify queries. In some embodiments, two or more agents are used to classify queries and communicate with the appropriate destination agent. In some embodiments, based on query classification, the classification agent 552 sends query information to two or more destination agents (for example, by aggregating information outputs from two or more destination agents).
[0096] In some embodiments, the classification agent 552 is a superagent (for example, configured to receive, classify, and route user queries). In some embodiments, different agents are used to provide responses to query 550 based on output from a destination agent. In some embodiments, different agents are configured to generate natural language responses based on output from a destination agent. In some embodiments, the classification agent 552 is configured to receive output from a destination agent and generate a response to the user based on the received output.
[0097] In some embodiments, the agent builder 554 is configured to build (generate) an agent to address the query 550 (for example, according to the decision that no suitable agent is available to respond to the query). In some embodiments, the patient agent 556 is configured to respond to the query 550 using patient data (e.g., the patient's EHR), such as data from the user database 244. In some embodiments, the summary agent 558 is configured to generate a summary of data retrieved from one or more databases. In some embodiments, the summary agent 558 is used in conjunction with one or more other destination agents (e.g., to generate a summary of data output from other destination agents).
[0098] In the embodiment of Figure 5B, potential destination agents include an agent builder 554, a patient agent 556, a summary agent 558, a clinical trial agent 560, a customer support agent 562, a general query agent 564, and a medical publication agent 566. In some embodiments, potential destination agents include one or more agents not shown in Figure 5B (e.g., an adverse effects agent). In some embodiments, potential destination agents do not include one or more of the agents shown in Figure 5B. In some embodiments, one or more of the agents are communicatively coupled to a live database (e.g., a database that is continuously updated over time). For example, the clinical trial agent 560 may be communicatively coupled to a live clinical trial database showing current clinical trials. As another example, the customer support agent 562 may be coupled to a live customer database (e.g., with frequently asked questions and corresponding answers). As yet another example, the general query agent 564 may be coupled to a live database of internet information. As yet another example, the medical publication agent 566 may be coupled to a live database of medical publications.
[0099] Some embodiments employ a mixed-agent approach to the agent system, each using its own workflow based on its purpose. As shown in the embodiment in Figure 5B, a leading classification agent determines the nature of the question and the data required to answer it, and routes it to one or more subsequent agents, each generating an output. For example, all agents may use a model configured to process protected health information (PHI).
[0100] In some embodiments, the output from the architecture in Figure 5B includes a comprehensive response in an easy-to-understand bullet format, including appropriate medical disclaimers, web links and resources, and / or links to documents from which relevant patient information is obtained.
[0101] In some embodiments, the destination agent includes a daily companion agent configured to enable the user to take actions within the corresponding application, such as recording symptoms, marking medications taken, and updating their health profile (e.g., using natural language and without leaving the digital assistant interface). In some embodiments, the destination agent includes a care coordination agent configured to take actions outside the application, such as sending documents created within the application to external parties (e.g., via email or text) and / or interacting with a patient / provider portal to schedule appointments. In some embodiments, the destination agent includes a branded subject expert agent configured to (i) ingest source documents such as clinical guidelines, trusted web resources, published cutting-edge research, and proprietary documents from trusted third parties, and (ii) illuminate easily understandable insights in the context of the user's health condition. In some embodiments, the destination agent includes a report generation agent configured to create comprehensive and customized summary reports and preparatory documents for key moments in the health process (e.g., initial diagnostic appointments, first day of treatment, final day of treatment). In some embodiments, the destination agent includes an early warning agent configured to passively monitor the patient, flag abnormalities and risks without direct intervention, and bring the warnings to light for the patient and caregiver.
[0102] In some embodiments, the architecture shown in Figure 5B is configured to acquire health data. For example, it connects directly with various healthcare institutions for uploading, organizing, and managing health records such as visit summaries, scans, and molecular tests. This may include storing and sharing images such as CT scans, MRI, and PET scans. In some embodiments, the architecture is configured to create a comprehensive health profile. For example, the platform creates a single personal profile that aggregates and structures core health information that can be downloaded and shared with clinicians. In some embodiments, the architecture is configured to prepare the user for future visits. For example, the system can compile relevant health information, documents, and key questions to help facilitate more productive conversations. In some embodiments, the architecture is configured to monitor the user's health. For example, it tracks mood, symptoms, medications, etc., and further highlights key trends. In some embodiments, the architecture is configured to allow the user to quickly search their health records, highlight important information, receive customized research summaries and trial options, and take actions such as recording their mood with an assistant.
[0103] Figure 5C illustrates another exemplary architecture for responding to user queries (e.g., an AI assistant) according to some embodiments. The architecture may be referred to as a chatbot or chatbot architecture. In some embodiments, the AI assistant architecture may be configured to provide information about the user's health records, provide a timeline view and / or summary of treatments and procedures, and provide answers to general health questions and / or other functions. In the embodiment of Figure 5C, the user query is provided to an office organization (e.g., a general query agent) configured to respond to queries that do not require context. If context is required (or recommended), the office organization passes the query to a classification component (e.g., a planner agent). In some embodiments, the office organization determines that context is required if the confidence level of a response without context is below a threshold level. In some embodiments, the office organization includes a super agent or other type of master agent. In some embodiments, the office organization includes a main agent that houses the main points of data inflow and outflow involved in each exchange with the AI assistant (e.g., a chatbot). In some embodiments, the business process organization checks whether a user query is a follow-up, greeting, or other social expression. In some embodiments, the business process organization passes non-social expression inputs to a classification component. In some embodiments, the business process organization passes the output from the classification organization to a composite organization (e.g., for creating and / or formatting the response). In some embodiments, the business process organization returns the output from the composite organization (e.g., answer + source display) to the user (e.g., via an API layer). Figures 9A–9C illustrate exemplary architectures for business process organizations.
[0104] A classification organization can classify inputs related to one of the following: (i) user-related queries (e.g., tracking general patient health status and / or specific indicators), (ii) clinical trials, (iii) medical research, (iv) medical advice, (v) general medical care, (vi) general non-medical care, (vii) customer support, and (viii) performing actions (e.g., mood recording). In some embodiments, the classification component is provided with a predetermined set of categories (e.g., the categories above and / or other categories) to classify each query into one of the predetermined set of categories. In some embodiments, each predetermined category corresponds to a specific agent (e.g., trained on a specific subject and / or topic). In some embodiments, the classification organization is an agent responsible for classifying inputs and collecting the data necessary to best respond. In some embodiments, the classification organization retrieves patient health information (e.g., via one or more APIs) if required by a particular category. In some embodiments, the classification organization is configured to relay inputs and any additional information to appropriate downstream agents (e.g., sub-agents). In some embodiments, actions are processed within an action flow (e.g., entirely by API logic). In some embodiments, a classification organization is configured to return corresponding responses (e.g., answers and sources) for categories to an administrative component (e.g., a master agent). A classification organization can be communicatively coupled to various different downstream agents, such as a customer support agent, a track health agent, a PubMed agent, a clinical trial agent, an action agent, a patient summary agent, a general agent, one or more third-party agents, and / or other agent types. A customer support agent may be configured to provide answers about what the AI assistant can do and assist users with basic troubleshooting. A PubMed agent may be configured to retrieve and / or update scientific research. A clinical trial agent may be configured to return relevant trials based on, for example, patient demographics.A Track Health Agent may be configured to answer and / or summarize questions about self-reported health indicators (e.g., medication, weight, temperature, mood, etc.). A Patient Summary Agent may be configured to answer user-specific questions, for example, in the context of the user's patient summary information. A Medical Agent may be configured to answer user-specific questions, for example, that require additional context beyond the user's patient summary information. A General Agent may be configured to answer general medical questions, for example, that do not require the user's health information.
[0105] As mentioned above, each agent may be trained and / or prompted to perform a specific task related to one of a given set of categories. In some embodiments, any medical responses are filtered / restricted to ensure that the AI assistant architecture does not provide dangerous medical advice. In some embodiments, an evaluation component is used to determine whether each response conforms to any appropriate guidelines and / or rules. For example, if a user asks how to know if their medication is working, the AI assistant may respond that it cannot provide medical recommendations but can provide information on how to monitor the medication. As another example, an evaluation component may be configured to ensure that responses are limited to the relevant field (e.g., the medical field). In some embodiments, an evaluation component is configured to determine whether a query is dangerous (e.g., related to self-injury or violence) and to prohibit responses to such queries.
[0106] A composite organization takes data from other organizations and / or components and generates a well-rounded response to user input, along with sources and optionally further questions that the user may present to the chatbot. For example, a composite organization could pass user input and all collected data to a model block (e.g., an LLM) to synthesize a well-rounded response. Alternatively, a composite organization could pass user input and all collected data to a model block (e.g., the same or a different model used to generate the well-rounded response) to suggest possible next questions. Alternatively, a composite organization could pass the output of the above steps (e.g., answer, source, and / or suggested questions) to another agent (e.g., a clerk organization, master agent, or other component) to output to the user / client.
[0107] In some embodiments, the AI assistant architecture is configured to return a source document (and / or a link to the source document) for each response so that the user can ensure that the response is well supported and / or accurate. In some embodiments, the AI assistant architecture is configured to provide detailed error information and / or instructions (e.g., to help the user understand the scope of an approved question). In some embodiments, the AI assistant architecture includes one or more interfaces for providing user data and / or medical data (e.g., as shown in Figure 6B). In some embodiments, the AI assistant architecture provides a summary overview of the user (e.g., a comprehensive health summary, a list of current and / or past treatments, and / or care team members). In some embodiments, the AI assistant architecture provides a health summary including the user's demographic characteristics, diagnoses, and treatment history. In some embodiments, the AI assistant architecture provides current and past treatment and / or medication information, such as drug names, data ranges, dosages, and associated notes. In some embodiments, the AI assistant architecture is configured to communicate with one or more health tracking devices (e.g., fitness bands). In some embodiments, the AI assistant architecture is configured to prepare the user for upcoming medical visits or procedures. For example, it may show upcoming appointments, provider information, location and time information, and necessary / recommended preparations. Examples of user query topics include side effects, fasting information, diagnoses, medications, test results, appointment preparation, and / or other related topics. In some embodiments, the AI assistant architecture is configured to answer questions and / or summarize medical documents.
[0108] As shown in Figure 5C, the AI assistant architecture may include three configurations: a clerk configuration, a planner configuration, and a synthesis configuration. Furthermore, the AI assistant architecture may include, or be combined with, a set of sub-agents. For example, the clerk configuration determines whether a question is simple (e.g., a greeting) or complex and requires further information. In the latter case, the question proceeds to other blocks, which retrieve relevant data, synthesize responses to a tone, and scan for safety. The synthesis block may be configured to ensure a patient-friendly tone and to avoid providing medical advice.
[0109] Figures 6A–6AF illustrate exemplary user interfaces and interactions for acquiring, analyzing, and executing actions based on target data according to some embodiments. In some embodiments, the user interfaces in Figures 6A–6AF are generated by platform 100 (corresponding, for example, to the architecture shown in Figure 5B).
[0110] Figure 6A illustrates an exemplary user interface 600 corresponding to a digital assistant platform, for example, employing a digital assistant to interact with a user. In some embodiments, the digital assistant is an AI digital assistant composed of multiple task-specific formations (e.g., one or more of the agents shown in Figure 5B). The user interface 600 includes user interface elements 602 that provide information to the digital assistant platform.
[0111] Figure 6B illustrates a user interface (e.g., a menu) 603 that appears in response to the activation of, for example, user interface element 602. User interface 603 includes user interface element 604 for adding health records (or other patient documents, digital images, or digital videos) to the digital assistant platform, and user interface element 606 for connecting to a provider (e.g., for retrieving medical / patient documents from a provider and / or sending information to a provider).
[0112] Figure 6C illustrates a user interface (e.g., a menu) 610 that appears in response to the activation of, for example, the user interface element 604 in Figure 6B. The user interface 610 includes selectable options corresponding to different types of health records (e.g., visit documents, lab results, treatment documents, genetic test data, pathology data, imaging reports, medical imaging, cardiovascular imaging, etc.). In the embodiment of Figure 6C, the user interface element 612 corresponding to medical imaging is selected.
[0113] Figure 6D illustrates a user interface (e.g., a menu) 614 that appears in response to the activation of, for example, the user interface element 612 in Figure 6C. User interface 614 includes a user interface element 616 for uploading files (e.g., medical imaging and / or video files). Figure 6E illustrates how user interface 614 is updated compared to Figure 6C in response to the uploading of a set of one or more files (e.g., indicated as "3 tests"). User interface 615 in Figure 6E includes a user interface element 616 for proceeding with the import of the uploaded file set.
[0114] Figure 6F illustrates a portion of the user interface 620 that appears, for example, in response to the activation of user interface element 616 in Figure 6E. User interface 620 includes a set of fields for importing data about the uploaded file set (e.g., name, date, location, provider, etc.). In some embodiments, one or more fields are automatically populated (e.g., using information from the user's user profile and / or information from the file set (e.g., file set metadata)). Figure 6G illustrates the lower part of user interface 620 (e.g., in response to the user scrolling downwards from Figure 6F) which includes user interface element 622 to proceed with the import of the file set (and any information input into user interface 620). Figure 6G further shows the set of files that are imported (saved) in response to the selection of user interface element 622.
[0115] In some embodiments, importing a set of files involves parsing the files to extract structured information (e.g., medical data). For example, a medical ontology can be applied to electronic health records to extract at least one structured field value from the health record. Medical data may include, but is not limited to, numerous fields, including patient background information (e.g., patient name, date of birth, sex, ethnicity, date of death, address, smoking status, date of diagnosis, personal medical history, family medical history, etc.), clinical diagnosis (e.g., date of initial diagnosis, date of metastatic diagnosis, cancer staging, tumor characterization, first tissue, etc.), treatment and outcomes (e.g., therapy group, medication, surgery, radiotherapy, imaging, adverse effects, related outcomes, corresponding dates, etc.), and genetic testing and laboratory information (e.g., genetic tests, performance scores, laboratory tests, pathology results, prognostic indicators, corresponding dates, etc.). Each field (e.g., address, cancer staging, medication, genetic test, etc.) may also have multiple subfields. For example, an address may have subfields for type of use (e.g., personal, business), street, city, state, zip code, country, and start or end date (i.e., the date on which residency at that address begins or ends). A genetic test may have subfields for the date of the genetic test, the test provider used, the test method (e.g., gene sequencing method, gene panel), genetic results (e.g., including genes, variants, expression, etc.), tumor mutational burden, and microsatellite instability. The examples, enumerations, and lists described above are not intended to limit the range of available fields, but rather to convey only the properties and structures in which fields within medical data may be represented within Universal EMR. These fields in medical data may also identify conceptual candidates such as: Diagnosis, primary diagnostic site, metastatic diagnostic site, tumor characteristic analysis, standard grade, alternative grade, medications, surgical procedures, smoking status, comorbidities, adverse events, outcome, performance score, radiotherapy modality, radiotherapy unit, imaging type, gene mentions, immune markers, TNM status, and American Joint Cancer Committee (AJCC) stage.
[0116] Feature collection can include a diverse set of fields available within a patient's health record. Clinical information can be obtained based on fields entered into the EMR or EHR by a physician, nurse, or other healthcare professional or representative. Other clinical information may be curated from other sources, such as molecular fields from gene sequencing reports. Sequencing can include next-generation sequencing (NGS) and may be long-read, short-read, or other forms of sequencing the patient's somatic genome and / or normal genome. Comprehensive feature collection in additional feature modules can combine various features across different healthcare disciplines, including diagnostic, response to treatment regimens, gene profiles, clinical and phenotypic features, as well as / or other medical, geographical, demographic, clinical, molecular, or genetic features. For example, a subset of features may include molecular data features, such as features derived from sequencing of RNA or DNA feature modules.
[0117] Features may be derived from information from additional medical or research-based Omics fields, including proteome, transcriptome, epigenome, metabolome, microbiome, and other multi-omics fields. Features derived from organoid modeling laboratories may include DNA and RNA sequencing information associated with each organoid and the results arising from treatments applied to those organoids. Features derived from imaging data may further include reports associated with stained slides, tumor size, differences in tumor size over time including treatment during the period of change, and machine learning approaches to classify PDL1 status, HLA status, or other features from imaging data. Other features may include additional derivative feature sets from other machine learning approaches, based at least partially on any new features and / or combinations of those listed above. For example, imaging results may need to be combined with MSI calculations derived from RNA expression to determine additional further imaging features. In another example, a machine learning model may generate the likelihood of a patient's cancer metastasizing to a particular organ, or the future probability of metastasis to yet another organ within the patient's body. Other features extracted from medical information may also be used. There are thousands of features, and the above list of feature types is merely representative and should not be interpreted as a complete list of features.
[0118] Fuzzy matching is structured around the text concepts contained in the enumerated list above or in UMLS, including metadata fields CUI (UMLS unique ID) and AUI (Dictionary unique ID), so that a complete search can be performed for all medical concepts. The dictionary search engine can also return metadata about the specific entry found (e.g., the enumerated list above or the universal ID assigned to UMLS), which is useful for understanding tirenol as a medical concept, as well as the correct spelling of the drug. At the end of text normalization, some of the extracted candidates may have zero matches, while others may have many matches. For example, there are many versions of tirenol throughout the UMLS database due to the number of dictionaries represented within it. Fortunately, CUI (UMLS uuid) provides a generalization for joining similar concepts, which reduces the number of matches for each potential database from 1 to the number of unique CUIs represented. However, not all concepts can be concisely simplified. For example, "Tilenol" is a different concept from "Tilenol 50mg," which is a dosage-specific version of "Tilenol." The ambiguation from "Tilenol 50mg" to "Tilenol" effectively constitutes a loss of information.
[0119] Fuzzy matching can be applied word by word rather than character by character. For example, a conceptual candidate might include the phrase "needle biopsy." Entity matching search might identify entities linked to exact matches ("needle biopsy"), reordered matches ("biopsy needle"), or phrase matches such as "needle aspiration biopsy of the lung" or "needle biopsy of the breast." Matches to such entities can be derived using the same fuzzy matching operations described above (deletion, insertion, transcription, etc.), but on the entire word rather than individual characters. Furthermore, in another embodiment, both character-by-character and word-by-word fuzzy matching may be applied simultaneously to generate entity matches. When operating as an ontology-oriented system specializing in abstracting patients from fields from a particular ontology, dictionary lookups can be relaxed to allow for broader inference. This may include allowing more wildcards in phrase searches or other adjustments to enable broader lookups. When operating as a system with ontology-independent aspects to perform recognition across multidisciplinary medical records, dictionary lookups may be more rigorous and have less flexibility or wildcards for matching.
[0120] Various fields, such as UMLS_CUI, UMLS_AUI, drug, and active ingredient, can each be determined through the entity normalization process by exploring links to each entity. Other fields, such as dosage, dosage unit, date / time administered, document, and page, cannot be determined through the normalization process. Instead, these other fields are provided to the relational extraction MLA to extract this information from the surrounding context or document information (e.g., name, page number, etc.). For example, a document named ProgressNote01_01_01 might be presumed to have a date of January 1, 2001. Other conceptual candidates from the document can be referenced to validate the date / time, or a date without other validation / supporting information can be selected. For example, 11:35 AM might be provided as a conceptual candidate spatially near the conceptual candidate "Tilenol 50 mg". Next, the relational extraction MLA may identify 11:35 AM as the time the drug was administered, based on the fact that the concept candidate time is the next concept candidate in the list, the spatial proximity of concept candidates, a new application of NLP to the OCR-encoded text string, or any combination thereof. Furthermore, the page number may be identified in a document having 5 pages by, for example, referring to the page number by performing OCR of the text at the bottom of the page, or it may be extrapolated by counting the number of pages prior to the page from which the concept candidate was extracted. Once each field of the medical data is identified through either the normalization process or the structuring process and the relational extraction MLA, the patient / document may be ready to be classified according to each normalized and structured entity.
[0121] In some embodiments, electronic document capture may refer to a given model to identify regions of the electronic document capture containing important health information and extract the identified regions for further processing. Regions (such as headers, tables, graphics, or charts) can be identified by utilizing a stored list of features for the document or each page of the document, which identifies features present on the page along with their corresponding locations on that page. For example, the model may indicate that a page should be expected to present a patient header, two tables, a chart, and a graph. Region masks may be applied to the capture to verify that any region expected to exist is actually present in the capture. Regions to be extracted may also be identified by the region mask, and once the existence of a region is verified, the region can be extracted. Text may be identified from the extracted regions and provided to a natural language processing (NLP) algorithm to extract patient information such as patient name, diagnosis, significant genetic mutations, or gene expression count information, including counts representing the number of times gene expression counts occur in sequencing and / or deviations of gene expression counts compared to the gene expression counts of normal samples that can be labeled on or under expression. A more detailed explanation of feature / region detection and extraction is discussed below with respect to table extraction.
[0122] Each field in the extraction area may have multiple enumerated values, or, if a list of enumerated values is not available, may be limited to values of a specific type. For example, if a field relates to a patient's diagnosis, it may have a corresponding enumerated list of all diagnoses that may be provided in the report. If the field relates to treatment, it may have all known treatments, and may also be parsed to identify and enumerate unknown treatments. Alternatively, if the field is a medication prescribed to a patient, it may be limited to a certain type, and the parsed data may be checked against known medications, and, if necessary, the parsed text may be added to the medication database as a new entry for that type of medication. The type of a field, its enumerated values, or the classification associated with unknown values may be stored as part of a given model.
[0123] As an example, a natural language processing (NLP) algorithm can receive, as input, an electronic document capture region on which optical character recognition (OCR) has been performed on the extracted region to determine whether the text in the region corresponds to a value type expected in the masked extracted region. For example, if the region is expected to provide therapeutic information, the NLP algorithm can attempt to classify the extracted text as therapeutic information based on the NLP algorithm training dataset. Furthermore, extracted patient information, such as patient name, diagnosis, treatment, or sequencing information, can be associated with the respective fields of the application. For example, the extracted patient information can then be entered into a mobile application for user review. The user can correct any errors by selecting the application's data field corresponding to the information. These errors can be stored and / or sent to the training engine to improve the extraction algorithm and techniques. The training engine can generate new extraction algorithms for use in future extractions based on the detected errors. For text-based fields, a text editor / keyboard can be displayed to allow the user to provide text corrections. Additionally, recommended alternatives may be displayed in a dropdown list in addition to, or instead of, the text editor. Date-based fields may display a calendar to select the correct date, or, for diagnostics, display dropdowns featuring document types, report types, or diagnoses supported by the database to select from. The field types described above are merely representative and are not intended to restrict fields to specific types of data associated in the above description; for example, date-based fields may also be entered using text input. A given model associated with each template may include a reference field to identify each of the fields that can be extracted to generate extracted patient information.For example, a feature corresponding to an information header may have corresponding fields in a given model that enumerate the expected locations of the patient's name, the patient's date of birth, and the diagnosis (such as cancer type), as described above.
[0124] In another embodiment, the MLA may receive, as input, a region of an electronic document capture on which optical character recognition (OCR) has been performed on the extracted region to determine whether the text in the region corresponds to a value type expected in the masked extracted region. For example, if the region is expected to provide therapeutic information, the MLA may attempt to classify the extracted text as therapeutic information based on the MLA training set. Furthermore, extracted patient information, such as patient name, diagnosis, treatment, or sequencing information, may be associated with the respective fields of the application. The extracted patient information may then be entered into a mobile user interface for user review. Other information that can be extracted includes genes (e.g., TP53, NF1, or PDL1), gene expression count information (e.g., over / underexpression, or counts representing the number of times expression occurs during sequencing), individual gene variants (e.g., Q192 or E496), gene variant names (e.g., "4724+1G>A", "Q192*", or "c.380C>A"), sequencing depth (e.g., occurrence of chromosomal hits per DNA read), sequencing scope (e.g., panel type: whole genome or targeted panel), and proteomics (protein-based assertions). Features of electronic data capture may also include, for example: count and shape, epigenetics, RNA expression (such as overexpression or underexpression), organoids (e.g., chemical / medical response organoids experienced in a laboratory environment), germline (e.g., mutations present in healthy cell DNA), immunotherapy (e.g., engineered immune receptors such as CAR-T, cancer vaccines, checkpoint inhibition, etc.), and tumor normality (e.g., comparison of RNA and / or DNA sequencing results of tumor tissue with RNA and / or DNA sequencing results of non-tumor samples such as non-tumor tissue blood or saliva). Features of electronic data capture may also include details related to the clinical trial, such as the name of the clinical trial, the geographical location of the facility where the trial is conducted, the treatment associated with the trial, the inclusion / exclusion criteria for patients who may participate in the trial, and other relevant information.
[0125] Figure 6H illustrates a user interface 626 having a recording timeline for a user (e.g., a patient). User interface 626 may be displayed in response to a set of files being imported (e.g., a transition from Figure 6G). User interface 626 may be displayed in response to a user requesting to view a recording timeline. User interface 626 includes a timeline of actions associated with the user record (e.g., importing medical images and other medical documents). User interface 626 includes a user interface element 628 for viewing details of medical imaging files.
[0126] Figure 6I illustrates a user interface 630 that appears, for example, in response to the activation of user interface element 628 in Figure 6H. User interface 630 includes an option 632 (e.g., a user interface element) for viewing medical imaging files and an option 634 for asking questions about medical imaging files.
[0127] Figure 6J illustrates user interface 640-1, which is displayed in response to the activation of option 632 in Figure 6I, for example. User interface 640-1 includes imported images along with patient and context data (as well as other types of metadata). In Figure 6J, the Actions tab is shown within user interface 640-1, having measurement and community action options, and the Current tab is shown with information about the currently displayed image. Figure 6K shows user interface 640-2, for example, user interface 640-1, where the Library tab is activated instead of the Actions tab. The Library tab includes an index of photographs and / or videos contained in the medical imaging file. Figure 6L illustrates user interface 640-3, where user interface 640-1 is displayed, where the Patient tab is activated instead of the Current tab, for example. The Patient tab in Figure 6L includes fields containing information about the patient. In some embodiments, the fields are interactive, and the user can enter / update patient information, which is stored, for example, in metadata associated with the image and / or in the user's health profile. Figure 6M illustrates user interface 640-1, where user interface 640-4 is displayed, and for example, the trial tab is launched instead of the current tab. The trial tab in Figure 6M includes fields containing information about the clinical trial corresponding to the image. In some embodiments, the fields are interactive, allowing the user to input / update trial information.
[0128] Figure 6N illustrates an exemplary user interface 650 corresponding to a digital assistant platform that employs a digital assistant to interact with a user, for example. For example, user interface 650 may be used on a small screen device, and user interface 600 may be used on a larger screen device. In some embodiments, the digital assistant is an AI digital assistant consisting of multiple task-specific formations (e.g., one or more of the agents shown in Figure 5B). User interface 650 includes a user interface element 652 for connecting the digital assistant platform to a healthcare provider, a user interface element 654 for viewing the user's health timeline (e.g., the timeline shown in Figure 6H), and a user interface element 656 for sending queries / prompts to the digital assistant.
[0129] Figure 6O illustrates a user interface (e.g., a menu) 660 that appears, for example, in response to the activation of user interface element 652. User interface 660 includes a field 662 for entering the name of a healthcare provider and a list of potential providers (e.g., identified based on the current input to field 662). Figure 6P illustrates a user interface 664 that appears, for example, in response to the selection of a healthcare provider from the list shown in Figure 6O. User interface 660 indicates that a healthcare provider is connected (e.g., communicably coupled to a digital assistant platform) and includes a user interface element 666 for proceeding to the connected healthcare provider.
[0130] Figure 6Q illustrates a portion of the user interface 670 that is displayed, for example, in response to a request to display a user profile or in response to the activation of user interface element 666. The user interface 670 includes user profile information (e.g., a profile generated based on data from various data sources). In some embodiments, the profile information includes information obtained from the user (e.g., by entering data into fields and / or uploading files) and / or information obtained by communicatively linking with a healthcare provider (e.g., as shown in Figures 6O-6P). In the embodiment of Figure 6Q, a portion of the user interface 670 includes insights 672 generated by the platform based on the user profile information. Figure 6R illustrates the lower part of the user interface 670 (e.g., in response to the user scrolling down from Figure 6Q), which includes medical details 674 (e.g., a summary of medical information available on the digital assistant platform). Figure 6S illustrates a second lower part of the user interface 670 (e.g., in response to the user scrolling down from Figure 6R), which includes medication details 676 illustrating the current medication prescribed to the user.
[0131] Figure 6T illustrates an exemplary user interface 680 corresponding to a user's recording timeline (similar to, for example, user interface 626 in Figure 6H). For example, user interface 680 may be used on a small screen device (e.g., a mobile device), while user interface 626 may be used on a larger screen device. User interface 680 includes a user interface element 682 for importing new recordings (and adding new recordings to the timeline) and a timeline item 686 (e.g., corresponding to previously imported information).
[0132] Figure 6U illustrates a portion of the user interface 690 that appears, for example, in response to the selection of a timeline item 686 in Figure 6T. The user interface 690 includes details of the timeline item 686 (e.g., blood test results), such as a summary of the test results. Figure 6V illustrates the lower part of the user interface 690 (e.g., in response to the user scrolling downwards from Figure 6U), which includes the test results details 692. In some embodiments, the test results details 692 include data visualizations generated by a digital assistant platform (e.g., to facilitate the conceptualization of the test results).
[0133] Figure 6W illustrates a portion of user interface 6100 configured to prepare the user for an upcoming event (e.g., a scheduled medical appointment). User interface 6100 in Figure 6W includes information about what to expect in the upcoming event. Figure 6X illustrates the lower part of user interface 6100 (e.g., in response to the user scrolling down from Figure 6W), which includes user interface element 6102 for importing attachments related to the upcoming event and section 6104 containing elements with questions and notes.
[0134] Figure 6Y illustrates a user interface 6110 for associating a file / document with a future event, for example, in response to a selection of user interface element 6102 in Figure 6W. User interface 6110 includes a list 6112 of documents that can be associated with a future event, a user interface element for searching for the appropriate document, and a user interface element 6114 for associating the selected document with the future event. In some embodiments, documents associated with a user profile (e.g., medical documents such as test results, progress notes, treatment plans, and medical images) may be attached to future events.
[0135] Figure 6Z illustrates a user interface 6120 that visualizes the user's health indicators. In some embodiments, the digital assistant platform generates data visualizations (e.g., to facilitate conceptualization) based on data input / import into the platform.
[0136] Figure 6AA illustrates a portion of the user interface 6130 illustrating an example of a response to a user query regarding treatment options. For example, the user interface 6130 may appear in response to a user query input to the user interface element 656 in Figure 6N. The user interface 6130 in Figure 6AA includes a query response (e.g., a bullet list) along with links to resources with additional information. Figure 6AB illustrates the lower part of the user interface 6130 (e.g., in response to the user scrolling down from Figure 6AA), which includes the query response and recommended follow-up questions.
[0137] Figure 6AC illustrates a portion of user interface 6140 illustrating an exemplary response to a user query regarding a clinical trial. For example, user interface 6140 may appear in response to a user query input to user interface element 656 in Figure 6N. User interface 6140 in Figure 6AC includes a query response (e.g., a bullet list) along with links to resources with additional information. Figure 6AD illustrates the lower part of user interface 6140 (e.g., in response to the user scrolling down from Figure 6AC), which includes the query response and recommended follow-up questions.
[0138] Figure 6AE illustrates a user interface 6150 illustrating an example of a response to a user query regarding a complete response. For example, user interface 6150 may be displayed in response to a user query input to user interface element 656 in Figure 6N. User interface 6150 in Figure 6AE includes the query response along with a link to a resource containing additional information.
[0139] Figure 6AF illustrates a user interface 6160 illustrating an example of a response to a user query regarding a complete response. For example, user interface 6160 may appear in response to a user query input to user interface 600 in Figure 6A. User interface 6160 in Figure 6AF includes a query response (e.g., including a bullet list) along with links to resources that have additional information and recommended subsequent queries.
[0140] Figures 9A–9C illustrate exemplary architecture 950 for an AI assistant according to some embodiments. For example, architecture 950 can be used to instantiate the business process components described with respect to Figure 5C. Figure 9A shows an input message component 952 coupled to a model component 954 configured to determine whether an input message is a follow-up message. The outputs of model component 954 and input message component 952 are provided to a template component 956. The output of template component 956 may include a question output and a follow-up question output. The follow-up question output may be provided to template component 958 (e.g., to reformat the follow-up question information) and model component 962 (e.g., configured to specifically answer the follow-up question). The question output may be provided to model component 960 (e.g., configured to determine whether the input is a greeting, a social expression, or a query). Figure 9A also shows an input component 964 for obtaining user identifier information and an input component 966 for obtaining patient identifier information.
[0141] Figure 9B shows the output of model component 962 provided to output component 972, which is configured to generate output provided to the user who sent the input message. Figure 9B also shows template component 970, which receives outputs from input components 964 and 966, as well as template component 956 and model component 960. The general output from template component 970 may be provided to template component 974 for reformatting before being provided to model component 980 (e.g., a model prompted to provide general assistance as a personal health assistant). The output from model component 980 is provided to output component 982. Template component 970 may provide a planner output used to determine the appropriate agent to respond to the input message (e.g., as described above in relation to Figure 5C). Agent selector component 976 (e.g., corresponding to the classification organization in Figure 5C) may receive the planner output and provide a corresponding message with corresponding source data and payload. The output of agent selector component 976 (e.g., the output of the planner agent) may be provided to template component 978 to generate a composite output and a corresponding payload.
[0142] Figure 9C shows the payload output from template component 978 provided to output component 988, and the synthesized output from template component 978 provided to agent selector component 986 (e.g., corresponding to the synthesized organization in Figure 5C). Agent selector component 986 (e.g., showing a synthesized agent) may provide a response message, a recommended follow-up question, and corresponding source data. Each output may be provided to the corresponding output component, for example, a recommended follow-up question to output component 990, a message to output component 992, and source data to output component 994.
[0143] Each template component may include a template for reformatting input to a defined output type. For example, a template component can combine user messages with various contextual data. As a specific example, a query about whether a clinical trial is appropriate for a user may be combined with information about the user's age, location, and status so that the model can make an informed decision. Each model component may include a model type selected from a set of model types (e.g., a model type configured to handle personal health information), a temperature setting that controls how random the model's output is, a maximum output length setting (e.g., 1024 characters, 512 characters, or other appropriate length), and / or prompt settings for providing the model with system prompts (e.g., specifying model rules and / or boundaries). Each agent selector component may be configured to provide input information to a separate agent (organization) indicated by the settings of the agent selector component. The AI assistant architectures illustrated in Figures 9A-9C are merely examples, and in some embodiments, the AI assistant architecture (e.g., a clerk organization) may include a subset or superset of the components shown in Figures 9A-9C. For example, template component 956 can be combined with template component 958.
[0144] Figures 10A-10B illustrate an exemplary architecture 1000 for a composite organization according to some embodiments (e.g., the composite organization shown in Figure 5C). Figure 10A shows an input component 1010 configured to acquire data (e.g., corresponding to the composite output of template component 978), and an input component 1012 configured to acquire user input (e.g., user messages / queries). The outputs of input components 1010 and 1012 may be provided to template component 1014. The output of template component 1014 may be provided to model components 1018 and 1020. Model component 1020 may be configured to generate a response message based on the output from other agents / models. Model component 1020 may be configured to ensure that the response message matches information about previous responses and / or the user. Input component 1013 may be configured to acquire source data (e.g., source documents). The output of input component 1013 may be provided to template component 1016, and the outputs of model component 1018 and template component 1016 may be provided to document scoring component 1022. Document scoring component 1022 may be configured to compare the output of model component 1018 with source documents and rank the source documents based on the relevance of the output (e.g., identify the top 10, 5, 2, or 1 document). Furthermore, the output of model 1018 may be provided to the user via output component 1024. Source documents can come from multiple sources, including imported documents, external documents obtained from approved data sources (e.g., medical databases, research databases, or patient databases), and general external documents. In some embodiments, source data is presented to the user (e.g., displayed / output) along with a display of the corresponding data source (e.g., having a link to the document and / or data source).
[0145] Figure 10B shows the output of the model component 1020 provided to the tool parser component 1032 together with the tool template component 1030. The tool parsing component 1032 may be configured to identify potential follow-up questions for the user based on the user query and / or corresponding response. In some embodiments, the tool parsing component 1032 is configured to identify a set of potential follow-up questions (e.g., 10, 5, 2, or one most relevant follow-up question). The output of the tool parser component 1032 may be combined with the template component 1038, which may then be combined with the output component 1040 to return recommended follow-up questions to the user. The output of the document scoring component 1022 may be combined with the template component 1034, which may be combined with the output component 1036 to return source document information to the user.
[0146] Similar to the exemplary architectures of the administrative organization (Figures 9A-9C) and the composite organization (Figures 10A-10B), the architecture of the planner agent (e.g., the classification organization shown in Figure 5C) may include the same types of building blocks (input components, model components, template components, agent selector components, and output components). Planner components may also include other component types, such as an HTTP call component configured to execute an HTTP call. As previously mentioned, the planner agent may be configured to classify inputs into a set of categories, such as user-related queries, clinic trial queries, medical research queries, medical advice queries, general medical queries, general non-medical queries, customer support queries, or action queries.
[0147] In some embodiments, the planner agent is configured to determine what type of data is needed to answer a question (for example, based on the classification of the question). In some embodiments, if a question does not relate to a pre-configured set of categories, the planner agent is configured to respond that it is not permitted to answer the question. In some embodiments, the planner agent includes separate flows for user-related inquiries, action inquiries, general medical inquiries, general non-medical inquiries, and customer support inquiries. For example, for an action inquiry, the planner agent passes information about an action to be performed by a different agent. As another example, for a general medical inquiry, the planner agent forwards the information to a medical information agent to provide a response. As yet another example, for a customer support inquiry, the planner agent passes the information to a customer support agent (for example, an agent trained on the capabilities of the AI assistant architecture) to provide a response. As yet another example, for a user-related inquiry, the planner agent may use a user identifier and / or patient identifier to retrieve user-specific and / or patient-specific information (for example, calls to user and / or patient databases, e.g., via HTTP calls) and use it to generate a response to the user-related inquiry. For user-related inquiries, the planner agent may determine whether the inquiry relates to a clinical trial, research, or other user-specific issue (and optionally, each having a different flow). For example, for a general inquiry about a clinical trial, the planner agent may obtain user contextual information (e.g., user demographics, location, diagnosis, etc.) and provide this contextual information to a model / agent configured to provide a clinical trial response (e.g., a clinical trial agent). User contextual information may be obtained from patient summary data for the user.For user-specific questions, the planner agent may determine whether the question is about the user's status (e.g., passed to a medical agent), a health tracking inquiry (e.g., passed to a health tracking agent), or a patient summary inquiry (e.g., passed to a patient summary agent).
[0148] According to some embodiments, Figures 9A-9C and 10A-10B correspond to a user interface in which a user can add, delete, and / or modify the connections, components, and / or configurations of each organization. For example, an agent builder application may include various user interface elements to modify each organization associated with the user of the agent builder application. According to some embodiments, a user is granted access to the agent builder application by, for example, providing user credentials from client device 102 to server system 106. The user interface may include form builder user interface elements for interacting with (e.g., instantiating and / or configuring) agent modules (e.g., agent modules 226 or 316) according to some embodiments. In some embodiments, the user interface includes global user interface elements that reside within each different user interface of the agent builder application, as described herein. For example, the user interface includes each user interface element for accessing different user interfaces of the agent builder application (e.g., a user interface element for accessing the home user interface, a user interface element for accessing the agent builder user interface, a user interface element for accessing the data viewing user interface, a user interface element for displaying a list of task-specific organization (e.g., task-specific agents)). For example, a global user interface element may include prompt user interface elements for initiating chat sessions with each agent module in an agent builder application.
[0149] The user interface may include multiple user interface elements for modifying organization (e.g., task-specific organization, which may include agent modules and / or agent architectures) according to certain embodiments. For example, the user interface may include a user interface element for naming the organization and a user interface element for providing a description of the organization. In some embodiments, other users with access to data related to the organization may access and / or implement the organization by selecting it from an agent library (e.g., agent library 250). According to some embodiments, the user interface also includes a template selector section for interacting with multiple user interface elements corresponding to different default organization, which the user can select and provide an initial node architecture 254 to the organization (e.g., a user interface element for creating a task-specific organization to interact with a general-purpose machine learning model, a user interface element for interacting with a task-specific organization that includes a machine learning model (e.g., a general-purpose machine learning model and / or a task-specific machine learning model trained on specific data (e.g., from data collection that is continuously updated in real time)), and a user interface element for interacting with a task-specific organization previously created within a task-specific organization creator application).
[0150] Organizations (e.g., task-specific agents) can be instantiated according to a user who provides inputs directed to their respective user interface elements to interact with the organization using data provided by the user (e.g., medical documents, live collected data). In some embodiments, the organization (agent) is instantiated based on time (e.g., a specific date and / or time), on events (e.g., in response to a trigger event), and / or on user actions. In some embodiments, the organization includes one or more agent-level configurations (e.g., agent attributes and / or agent settings) and one or more block-level configurations (e.g., node-level attributes and / or model settings). When an organization is instantiated based on user input, user-specific data may be provided to the organization. In some embodiments, based on the instantiation of the organization by user input directed to user interface elements, each machine learning model of a task-specific agent is trained (e.g., automatically, without further input provided by the user) on clinician-specific patient data (e.g., precision medicine) based on data associated with each user accessing the agent builder (organization) application. Figures 9A-9C and 10A-10B may correspond to a workflow editor user interface displayed according to the instantiated organization (e.g., a workflow view of a particular agent / organization). In some embodiments, the workflow UI is an interactive UI (e.g., a drag-and-drop representation) in which the user can select outputs and then inputs to link inputs to outputs (or vice versa). According to some embodiments, each input and output has a corresponding data type (e.g., indicated by color and / or label). In some embodiments, the system provides recommended building blocks (e.g., agent modules, models, tools, and / or other types of building blocks) based on user prompts.In some embodiments, the system provides a list of available building blocks, and the user can add them to agent modules by dragging and dropping the building blocks into a workflow representation.
[0151] As described above, building blocks may include data building blocks, operator building blocks, and / or tool building blocks. Non-exclusive examples of data building blocks include agent list blocks (e.g., retrieving a list of available agents), input blocks (e.g., accepting values from a user), message blocks (e.g., returning recent messages (and optionally associated metadata) from a conversation), output blocks (e.g., returning responses such as messages or documents), history blocks (e.g., returning message history), search blocks (e.g., retrieving data such as documents from a database or collection), and semantic blocks (e.g., identifying semantically similar documents and / or texts). Non-restrictive examples of operator blocks include storage blocks (e.g., configured to store bits of data and / or set common data values of various types), array blocks (e.g., configured to convert inputs into an array (e.g., combinations)), map blocks (e.g., configured to perform subassemblies for inputs in an array and return a resulting array), JSON blocks (e.g., configured to convert input text into objects via JSON parsing and optionally validate against a provided schema), XML blocks (e.g., configured to convert input text into objects via XML parsing and optionally validate), status blocks (e.g., configured to provide information about the execution status), template blocks (e.g., configured to output text according to a given template), and tool blocks (e.g., configured to wrap assemblies that can be consumed by another block).Non-exclusive examples of tool blocks include agent tool blocks (e.g., configured to interface with agent modules), similarity blocks (e.g., configured to provide similarity scores to documents), web blocks (e.g., configured to act as an HTTP interface), and model-tool interface blocks (e.g., configured to interface a model with a tool (e.g., to ask a model to use a tool)).
[0152] Here, we refer to illustrative flows and embodiments.
[0153] Figure 7 is a flowchart illustrating a method 700 for responding to a user query according to some embodiments. The method 700 is implemented in a computing system (e.g., a client device, a server system, and / or a service platform) having one or more processors (e.g., CPU 202 and / or 302) and memory (e.g., memory 218 and / or 310). In some embodiments, the memory stores one or more programs configured to be executed by one or more processors. At least some of the operations shown in Figure 7 correspond to instructions stored in computer memory or a computer-readable storage medium. In some embodiments, the computing system is a platform 100, a client device 102, and / or a server system 106.
[0154] (A1) In one embodiment, the method 700 is implemented in a computing system. For example, the method 700 may be implemented in an application of a client device 102 associated with a platform 100. The computing system receives user queries from a user via a user interface (e.g., user interface 600 or 650) (702), classifies the user queries using a first task-specific organization (e.g., classification agent 552) (704), the first task-specific organization is configured to classify the user queries, assigning a second task-specific organization as the destination task-specific organization according to classifying the user queries into a first category (708), assigning a third task-specific organization as the destination task-specific organization according to classifying the user queries into a second category (710), provides information about the user queries to a destination task-specific organization (e.g., one of the destination agents in Figure 5B) (706), receives output from the destination task-specific organization in response to providing information about the user queries (712), and provides a response to the user queries via a user interface (e.g., user interface 6150 in Figure 6AE) (714) based on the output from the destination task-specific organization. For example, user queries may include voice input and / or text input from the user.
[0155] (A2) In some embodiments of A1, a user query includes a request to record one or more symptoms, and the response to the user query indicates that one or more symptoms have been added to the user's record. For example, a user query may include "I am experiencing a headache and nausea today" or "Record my pain level as 7 out of 10". In some embodiments, symptoms are categorized by type, such as pain symptoms, gastrointestinal symptoms, neurological symptoms, or respiratory symptoms. In some embodiments, symptoms are associated with contextual information such as severity level, timestamp, and medication timing or activity level. In some embodiments, the response includes a confirmation message such as "Your headache and nausea symptoms are recorded today" along with any relevant tracking suggestions, such as "Do you want to record any potential triggers?". In some embodiments, recorded symptoms are automatically integrated into existing health patterns (e.g., triggering an alert if a trend is detected).
[0156] (A3) In some embodiments of A1, a user query includes a request to record medication intake, and the response to the user query indicates that medication intake has been added to the user's record. For example, a user query may include "I took metformin this morning" or "I will record 10 mg of lisinopril at 8 a.m." In some embodiments, the medication record includes administration information, timing, and / or method of administration (e.g., oral, injection, topical). In some embodiments, the system automatically tracks medication compliance patterns and provides reminders for missed doses. In some embodiments, the response may include confirmation details such as "Your metformin dose was recorded at 8:15 a.m. today" and compliance statistics such as "You have taken 95% of your weekly prescribed dose." In some embodiments, logged medication data is cross-referenced with symptom logs to identify potential correlations or side effects. In some embodiments, the system provides warnings for potential drug interactions when multiple medications are logged.
[0157] (A4) In some embodiments of A1, a user query includes a request to generate a user profile for the user. For example, a user query may include "Create my health profile" or "Generate a comprehensive medical summary for me." In some embodiments, in response to a request to generate a user profile, a destination task-specific organization retrieves the user's health / medical information from a set of one or more databases and uses the retrieved information to generate a user profile. In some embodiments, data from multiple sources are compared and used to generate the profile, such as electronic health records from different healthcare providers, lab results from various testing facilities, and pharmacy records. In some embodiments, data inconsistencies, such as conflicting medication lists or duplicate diagnoses with different dates, are shown to the user for review / correction. In some embodiments, missing data from the user profile is shown to the user so that the user can enter the missing data, such as family medical history, allergies, or recent symptoms not captured in formal medical records. In some embodiments, the generated profile includes sections for demographic information, medical history, current medications, allergies, recent test results, and / or care team information. In some embodiments, the profile is formatted for sharing with healthcare providers or for personal reference during medical appointments.
[0158] (A5) In some embodiments of A1, a user query includes a request to update the user's profile, and the response to the user query shows information from the user profile. For example, a user query may include "Update my profile with a new diagnosis" or "Add my recent blood pressure readings to my profile." The response may show what information is in the user profile before and / or after the update requested in the user query, such as "Your profile has been updated to include a diagnosis of type 2 diabetes from 12 / 15 / 2023. Your current conditions include hypertension, type 2 diabetes, seasonal allergies, etc." In some embodiments, the update request includes specific data fields to be changed, such as contact information, emergency contacts, insurance details, or medical conditions. In some embodiments, the response includes a summary of the changes made and requests confirmation of the update. In some embodiments, the system maintains a version history of profile changes and allows the user to roll back recent modifications if necessary.
[0159] (A6) In some embodiments of A1, user queries relate to future events, and responses to user queries include information about future events. For example, user queries may include "What can I expect to happen at my cardiology appointment next week?" or "Please help me prepare for my MRI scan tomorrow." For example, a query relates to an upcoming medical appointment, and the response provides information related to the appointment, key questions, expected procedures, and / or recommended documents. In some embodiments, information about future events includes recommended tasks to be performed before the event, such as fasting requirements, medication adjustments, or completing a pre-appointment questionnaire. In some embodiments, information about future events includes information about what may occur during the event, such as "For an echocardiogram, you will lie on an examination table while a technician uses an ultrasound probe to create images of your heart." In some embodiments, the response includes logistical information such as the appointment location, parking instructions, estimated duration, and what to bring. In some embodiments, the system generates a personalized preparation checklist based on the specific type of appointment and the user's medical history. In some embodiments, the response includes relevant questions that the user may want to ask their healthcare provider while making an appointment.
[0160] (A7) In some embodiments of A1, a user query may include a request to send information to a third party. For example, a user query may include "Please send my recent lab results to Dr. Smith" or "Please share my medication list with a new cardiologist." For example, a user query may include a request to send one or more documents (e.g., medical documents such as test results and / or diagnoses) to a third party (e.g., a healthcare provider, insurance provider, family, or other third party). In some embodiments, a response to a user query may include a request to display information, display to a third party, and confirm, such as "I am ready to send my 11 / 20 / 2023 CBC results to Dr. Sarah Johnson at MetroCardiology. Should I proceed?" In some embodiments, a response to a user query may indicate that information has been sent to a third party, such as "Your lab results have been successfully sent to Dr. Johnson's office via secure message." In some embodiments, the request may include contact information for the third party (e.g., a phone number, email address, or mailing address), which is used to send the information to the third party. In some embodiments, the system maintains a log of all information sharing activities for privacy and security audits. In some embodiments, the sharing process includes encryption and secure transmission protocols to protect patient health information. In some embodiments, the system provides a choice of different sharing methods, such as secure email, direct EHR integration, or encrypted file transfer.
[0161] (A8) In some embodiments of A1, a user query includes a request to generate a summary of one or more documents, and the response to the user query includes the summary. For example, the request may be a request to summarize a portion of the user's medical records, such as "Summarize my lab results for the past six months" or "Create a summary of my cardiology visits." Another example is a request to summarize medications and / or treatment documents, such as "Summarize my current treatment plan" or "Provide an overview of my medication history." In some embodiments, the summary includes key findings, trends, and recommendations extracted from the documents. In some embodiments, the summary is generated in different formats, such as a bullet list, narrative summary, or structured report (e.g., according to user preferences or requests). In some embodiments, destination task-specific organization is configured to identify the most relevant information from multiple documents and integrate it into a consistent summary. In some embodiments, the summary includes timestamps and source references for traceability. In some embodiments, the system generates both a concise and a detailed summary, allowing the user to select their desired level of detail.
[0162] (A9) In some embodiments of A1, a user query includes a request to schedule an appointment. For example, a user query might include, "Schedule a follow-up appointment with Dr. Smith" or "Schedule an annual physical examination." In some embodiments, the response to a user query includes options to schedule an appointment, such as presenting available time slots from a healthcare provider's calendar. In some embodiments, the response to a user query includes a request to display and confirm the appointment time and location, such as, "I found an available slot at MetroMedical Center on Tuesday, March 15th at 2:00 p.m. Shall I take this appointment?" In some embodiments, the response to a user query includes a display of an interactive user interface to facilitate appointment scheduling, including a calendar view, provider selection, and appointment type options. In some embodiments, the request is to schedule an appointment with a third party, and the response displays availability information obtained from the third party (e.g., obtained by a destination task-specific organization). In some embodiments, the destination task-specific organization includes a communication module configured to communicate with a third-party system to schedule an appointment. In some embodiments, destination task-specific organization is configured to interact with an external portal (e.g., via an API) to retrieve scheduling information and / or schedule appointments. In some embodiments, the system automatically suggests an optimal appointment time based on the user's medical history and treatment schedule. In some embodiments, the system provides appointment preparation information such as fasting requirements or documents to bring. In some embodiments, the system sends confirmation notices and reminders to the user after scheduling an appointment.
[0163] (A10) In some embodiments of A1, a user query includes a request for insights into one or more sets of documents, and the destination task-specific organization is configured to use the user's health information as contextual information for generating insights. For example, the user's health information may be obtained from the user's electronic health record. For example, a user query may include, "What insights can you provide about my recent blood test?" or "Analyze my imaging results against the context of my medical history." In some embodiments, insights include trend analysis, such as identifying patterns in clinical test values over time or correlations between symptoms and treatments. In some embodiments, insights include risk assessments based on the user's medical history and current health status. In some embodiments, the destination task-specific organization generates personalized insights by comparing the user's data to population norms or clinical guidelines. In some embodiments, insights include recommendations for follow-up actions, such as scheduling additional tests or consulting with a specialist. In some embodiments, the system generates insights by combining multiple data sources, such as lab results, imaging diagnostics, and clinical notes. In some embodiments, insights include visualizations of health trends through charts or graphs for easier understanding.
[0164] (A11) In some embodiments of A1, a user query includes a request to generate a document, and the response to the user query includes the generated document. For example, the document may be a medical form, insurance form, letter, summary, cover sheet, etc. For example, a user query may include "Generate a medical history summary for a new doctor" or "Create an insurance pre-approval form for an upcoming procedure." In some embodiments, the request is a request to fill in a document (e.g., fill in a form), and the response provides the filled-in document. In some embodiments, the generated document includes relevant test results that are automatically populated from the patient's demographic information, medical history, current medications, and / or the user's health profile. In some embodiments, the system generates documents in multiple formats, such as PDF, Word, or structured data format. In some embodiments, the generated document includes a digital signature or authentication marker for formal use. In some embodiments, the system generates special documents such as disability forms, FMLA documents, or medical authorizations. In some embodiments, document generation includes compliance checks to ensure that required fields are filled in and the information is accurate. In some embodiments, the system provides templates for different types of medical documents that can be customized based on the user's specific needs.
[0165] (A12) In some embodiments of A1, a user query includes a request to display health data, and the response to the user query includes the display of health data. For example, the request may be to view test results, and the response includes test result information (e.g., an image of the test result document and / or a summary of the test result document). Another example is that the request may be to view medical images (e.g., ultrasound images, X-ray images, etc.), and the response includes medical images. Health data may include visit summaries, scans, molecular tests, and / or DICOM images such as CT scans, MRI, and PET scans. For example, a user query may include "Show me my latest cholesterol results" or "Show me last week's chest X-ray." In some embodiments, the response includes interactive viewing functions such as zooming, panning, or adjusting the contrast of the medical image. In some embodiments, health data is presented with contextual information such as normal ranges for clinical test values and annotations explaining medical terminology. In some embodiments, the system provides a comparative view showing current results alongside historical data to identify trends. In some embodiments, the response includes data visualization tools, such as graphs or charts, to help the user understand their health indicators over time. In some embodiments, the system provides a filtered view of health data based on a date range, data type, or specific criteria. In some embodiments, health data browsing includes privacy controls that allow the user to selectively share certain data elements with healthcare providers or family members.
[0166] (A13) In some embodiments of A1, a user query includes a health update, and the response to the user query includes an indication that the health update will be added to the user's record. For example, a health update may include mood information, symptom information, medication information, etc. For example, a user query may include, "Please update my record to indicate that I am feeling anxious today," or "Please add that I took my blood pressure medication this morning." In some embodiments, the response indicates that the health update will be added to the user's EHR. In some embodiments, the response indicates that the health update will be added to the user's health profile. In some embodiments, a health update includes quantitative data such as vital signs, pain levels on a scale, or medication dosage. In some embodiments, a health update includes qualitative information such as symptoms, side effects, or a general health description. In some embodiments, the system automatically times-stamps the health updates and associates them with the relevant medical condition or treatment plan. In some embodiments, the response includes confirmation of specific information, such as, "I recorded that you experienced a headache of severity level 6 at 2:30 p.m. today." In some embodiments, the system provides suggestions for tracking relevant information, such as, "Do you want to record potential triggers for your headaches?". In some embodiments, health updates are automatically categorized and integrated with existing health patterns to identify trends or changes.
[0167] (A14) In some embodiments of A1 to A13, the first and second categories are selected from a group including drug categories, care coordination categories, report generation categories, search categories, health profile categories, visit preparation categories, and health tracking categories. For example, drug categories may include queries related to drug interactions, dosage information, side effects, or drug compliance tracking. Care coordination categories may include queries related to scheduling appointments, communicating with healthcare providers, or managing interprofessional referrals. Report generation categories may include requests to create medical summaries, insurance forms, or treatment schedules. Search categories may include queries to access specific test results, medical images, or historical health records. Health profile categories may include requests to update personal medical information, add new diagnoses, or correct demographic data. Visit preparation categories may include queries related to preparing for upcoming appointments, collecting relevant documents, or formulating questions for healthcare providers. Health tracking categories may include recording symptoms, recording vital signs, or monitoring drug compliance over time.
[0168] (A15) In some embodiments of A1-A14, user queries are received from patients. In some embodiments, user queries include natural language input. For example, a patient might enter a query such as "What are the side effects of my blood pressure medication?" or "When is my next cardiology appointment?". In some embodiments, user queries are received from healthcare providers such as doctors, nurses, or medical assistants. In some embodiments, user queries are received from caregivers or family members who have access to the patient's medical information. In some embodiments, natural language input includes conversational phrases, medical terms, or colloquial expressions. In some embodiments, user queries are received via speech input, which is converted to text using speech recognition technology. In some embodiments, a user query includes multiple questions or requests within a single input, such as "Show me my recent clinical lab results and schedule a follow-up appointment with Dr. Smith." In some embodiments, different parts of a query (e.g., different questions or requests) are sent to different task-specific arrangements.
[0169] (A16) In some embodiments of A1-A15, responses to user queries include natural language responses. For example, responses to user queries may be provided in a conversational tone. In some embodiments, natural language responses are tailored to the user's level of medical knowledge, providing simplified explanations for patients and more technical details for healthcare providers. In some embodiments, responses include empathetic language when addressing sensitive medical topics, such as, "I understand that this diagnosis may be a concern. This is something you should know..." In some embodiments, responses are formatted as structured narratives that flow logically from general information to specific details. In some embodiments, responses include transitional phrases and connecting language to improve readability, such as "in addition," "furthermore," or "on the contrary." In some embodiments, responses adapt their tone based on the urgency or severity of the medical information being conveyed. In some embodiments, responses include personalization elements, such as addressing the user by name or referring to their specific medical condition.
[0170] (A17) In some embodiments of A1 to A16, the first task-specific configuration includes a first machine learning (ML) model, and the second task-specific configuration includes a second ML model. In some embodiments, the first and second ML models are different types of models. In some embodiments, the first and second ML models are the same type of model. For example, the first ML model is a transformer-based language model optimized for text classification, and the second ML model is a neural network specialized for medical image analysis. In some embodiments, the first ML model is a large-scale language model (LLM) such as GPT-4 or PaLM-2, and the second ML model is a domain-specific model trained on medical literature. In some embodiments, both ML models are variants of the same underlying architecture, but fine-tuned on different datasets, such as one trained on clinical trial data or one trained on patient care guidelines. In some embodiments, the first ML model operates on structured data, and the second ML model processes unstructured text. In some embodiments, the ML models have different numbers of parameters, with the first model having millions of parameters and the second model having billions of parameters. In some embodiments, ML models utilize different training methodologies, such as supervised learning and reinforcement learning from human feedback.
[0171] (A18) In some embodiments of A1 to A17, the system classifies a user query into a third category, and if it determines that the third category does not have a corresponding task-specific organization, it generates a new task-specific organization and uses the new task-specific organization as the destination task-specific organization. For example, if a user query relates to a newly emerging medical field such as personalized genomics, and no existing organization is configured to handle such a query, the system can automatically create a genome-specific organization. In some embodiments, the new task-specific organization is generated by applying an existing organization template and training it with relevant domain-specific data. In some embodiments, the system identifies the nearest existing organization and creates a hybrid organization that combines the capabilities of multiple existing organizations. In some embodiments, the new organization is created using transfer learning techniques, and the pre-trained model is fine-tuned for data specific to the third category. In some embodiments, the system maintains a repository of organization building blocks that can be dynamically assembled to create new organizations. In some embodiments, the generation of a new organization triggers a notification to the system administrator for pre-deployment review and approval. In some embodiments, the new organization undergoes automated testing against validation datasets before being made available to user queries.
[0172] (A19) In some embodiments of A1 to A18, the second task-specific organization may include a clinical trial organization, a customer support organization, a medical publication organization, or a general query organization. For example, a clinical trial organization may be specifically trained on a clinical trial database and may include the ability to match patient profiles to trial inclusion criteria. A customer support organization may be configured to handle questions regarding system functionality, account management, or technical troubleshooting. A medical publication organization may have access to medical databases and may be optimized for literature searches and evidence synthesis. A general query organization may serve as a fallback option for queries that do not fit into a particular category and may provide general medical information or health education content. In some embodiments, the clinical trial organization may include geographical filtering capabilities to identify trials available at the patient's location. In some embodiments, the medical publication organization may include citation analysis and influencing factor weighting to prioritize high-quality research sources. In some embodiments, the customer support organization may include an escalation route to human support agents for complex technical issues.
[0173] (A20) In some embodiments of A1 to A19, the response includes a bullet list. For example, if a user asks about drug side effects, the response may present each side effect as a separate bullet point with relevant frequency information. In some embodiments, the bullet list is organized hierarchically into major and minor points, such as by the severity level affected or by the physical system of the side effect. In some embodiments, the bullet list includes a numerical or alphanumeric order to indicate priority or sequence. In some embodiments, the response combines the bullet list with narrative text, where the bullet points highlight important information and paragraphs provide detailed explanations. In some embodiments, the bullet list includes interactive elements, such as expandable sections that provide additional details when selected. In some embodiments, the bullets are replaced with icons or symbols related to the medical content, such as a warning symbol for a serious side effect or a checkmark for a recommended action. In some embodiments, the list is formatted with different indentation levels to indicate relationships between related concepts.
[0174] (A21) In some embodiments of A1-A20, the response includes one or more relevant medical disclaimers. For example, the response may include disclaimers such as "This information is for educational purposes only and should not substitute for professional medical advice" or "Consult your healthcare provider before changing your treatment plan." In some embodiments, medical disclaimers are automatically selected based on the type of medical information provided and may include more prominent disclaimers regarding drug-related advice or diagnostic information. In some embodiments, disclaimers may include emergency contact information or instructions for seeking immediate medical attention for urgent symptoms. In some embodiments, disclaimers are personalized based on the user's medical history, including specific warnings for patients with known allergies or chronic conditions. In some embodiments, disclaimers may include references to relevant medical guidelines or regulatory authorities, such as FDA warnings or clinical practice guidelines. In some embodiments, disclaimers are presented in a visually distinct format, such as a highlighted text box or warning banner, to ensure user attention. In some embodiments, the system requires the user to review important disclaimers before displaying potentially sensitive medical information.
[0175] (A22) In some embodiments of A1 to A21, the system analyzes the output from a destination task-specific organization, identifies one or more disclaimers related to the output, and the response to a user query includes one or more disclaimers. For example, if the output includes information about prescription drugs, the system may automatically include disclaimers about drug interactions and the importance of consulting a pharmacist. In some embodiments, the analysis includes natural language processing to identify medical terms, drug names, or diagnostic information that trigger requirements for specific disclaimers. In some embodiments, the system maintains a database of disclaimer templates mapped to medical concepts, conditions, or treatment categories. In some embodiments, the disclaimer identification process takes into account the user's demographic information, such as age or pregnancy status, to include relevant warnings. In some embodiments, the system uses machine learning models trained on medical liability and safety guidelines to predict the most appropriate disclaimers for specific content. In some embodiments, the analysis includes severity scoring to determine whether standard disclaimers are sufficient or whether enhanced warnings are needed. In some embodiments, the system cross-references its output against known contraindications or safety alerts from a medical database to ensure comprehensive disclaimer coverage.
[0176] (A23) In some embodiments of A1-A22, the response includes one or more links to source documents and / or resources. For example, the response may include links to peer-reviewed research papers, clinical practice guidelines, or patient education materials from a trusted healthcare organization. In some embodiments, links are categorized by type, such as “Research Papers,” “Clinical Guidelines,” or “Patient Resources,” to help the user identify the information most relevant to their needs. In some embodiments, source documents include metadata such as publication date, journal impact coefficient, or evidence quality rating to help the user assess reliability. In some embodiments, links direct the user to a specific section or page within a larger document, rather than a general homepage link. In some embodiments, the system provides a brief summary or abstract of the linked resource to help the user determine relevance before clicking. In some embodiments, links include both primary sources (such as original research) and secondary sources (such as systematic reviews or meta-analyses) to provide comprehensive evidence. In some embodiments, the system tracks link engagement to improve future source recommendations and identify the most valuable resources for different types of queries. In some embodiments, links are dynamically updated to ensure they remain active and point to the latest version of the document.
[0177] Figure 8 is a flowchart illustrating a method 800 for identifying abnormalities and risks in some embodiments and for addressing them. Method 800 is implemented in a computing system (e.g., a client device, a server system, and / or a service platform) having one or more processors (e.g., CPU 202 and / or 302) and memory (e.g., memory 218 and / or 310). In some embodiments, the memory stores one or more programs configured to be executed by one or more processors. At least some of the operations shown in Figure 8 correspond to instructions stored in computer memory or a computer-readable storage medium. In some embodiments, the computing system is a platform 100, a client device 102, and / or a server system 106.
[0178] (B1) In one embodiment, the method 800 is implemented in a computing system. For example, the method 800 may be implemented in an application of a client device 102 associated with a platform 100. The computing system receives a target identifier (802), uses the target identifier to monitor the target's medical information (804), updates the medical information over time, identifies anomalies or risks to the target based on the medical information (806), and initiates corrective actions in response to the identification of anomalies or risks (808). In some embodiments, the medical information is stored in one or more medical databases (e.g., database 400). In some embodiments, the medical information is obtained from two or more sources (e.g., databases managed by different parties).
[0179] (B2) In some embodiments of B1, initiating corrective action includes providing a notification to the subject, the second notification indicating an anomaly or risk. For example, the notification may be sent via email, text message, push notification via a mobile application, or automated phone call. In some embodiments, the notification includes a severity indicator such as “Urgent,” “Moderate Concern,” or “Requires Regular Follow-up.” In some embodiments, the notification is personalized based on the subject’s communication preferences and medical history. For example, a notification regarding elevated blood pressure readings may include contextual information about the subject’s hypertension management plan. In some embodiments, the notification includes educational content related to the identified anomaly, such as explanatory material on what elevated glucose levels mean for a diabetic patient. In some embodiments, the notification is delivered simultaneously via multiple channels to ensure receipt, such as both email and SMS. In some embodiments, the system tracks the delivery of the notification and provides confirmation when the subject acknowledges receipt of the alert.
[0180] (B3) In some embodiments of B1 or B2, initiating corrective action includes providing a notification to a healthcare provider, the second notification indicating an anomaly or risk. For example, the healthcare provider may be the primary care physician in question, a specialist related to the identified condition, or an on-call healthcare professional. In some embodiments, the notification to the healthcare provider includes comprehensive contextual information such as the subject's recent medical history, current medications, and trends in health indicators. In some embodiments, the notification is directly integrated into the healthcare provider's electronic health record system or clinical workflow platform. For example, an alert regarding an abnormal cardiac rhythm pattern may be automatically routed to the subject's cardiologist with attached ECG data and trend analysis. In some embodiments, the notification includes risk hierarchy information to help the healthcare provider prioritize their response, such as "high priority - immediate attention required" or "medium priority - review within 24 hours." In some embodiments, the system maintains a hierarchy of healthcare providers and escalates the notification if the primary provider does not respond within a given time frame. In some embodiments, the notification includes a recommended clinical action or protocol based on established medical guidelines for the identified anomaly.
[0181] (B4) In some embodiments of any of B1-B3, initiating corrective action includes identifying actions that the subject can take to address an abnormality or risk, and providing the subject with indications of those actions. For example, actions may be tests the subject can take, meetings / appointments the subject can schedule, and / or medications the subject can take. In some embodiments, identified actions include self-monitoring activities such as taking daily blood pressure measurements, monitoring blood glucose levels, or tracking symptoms in a health journal. In some embodiments, actions include lifestyle modifications such as dietary changes, exercise recommendations, or stress management techniques. For example, if elevated cholesterol levels are detected, the system may recommend specific dietary modifications and suggest scheduling a consultation with a nutritionist. In some embodiments, actions include scheduling specific types of medical appointments, such as follow-up lab tests, imaging diagnostics, or specialist consultations. In some embodiments, the system provides step-by-step instructions for implementing the recommended actions, such as detailed guidance on how to properly measure blood pressure at home. In some embodiments, actions include medication compliance reminders or adjustments, such as taking prescribed medication at a specific time or contacting a doctor about potential dosage modifications. In some embodiments, the system provides multiple alternative actions ranked by priority or effectiveness, allowing the subject to choose the option most appropriate for their situation. In some embodiments, recommended actions are individualized based on the subject's medical history, current health status, and previously successful interventions.
[0182] (B5) In some embodiments of B1 to B4, abnormalities or risks are identified using task-specific configurations. For example, a task-specific configuration may include an ML model, such as an LLM, configured to analyze medical information. In some embodiments, a task-specific configuration includes multiple dedicated models, each trained on a specific type of medical data, such as laboratory results, imaging data, or clinical notes. In some embodiments, a task-specific configuration includes a cardiovascular risk assessment model that analyzes ECG patterns, blood pressure trends, and lipid profiles to identify potential cardiac abnormalities. In some embodiments, the configuration includes a diabetes monitoring model that evaluates glucose levels, HbA1c trends, and medication adherence patterns to detect diabetic complications. In some embodiments, a task-specific configuration includes an ensemble method that combines outputs from multiple models to improve accuracy and reduce false positives. For example, a cancer screening configuration may combine an imaging analysis model with a biomarker assessment model and a clinical history assessment model. In some embodiments, the configuration includes a temporal analysis capability that identifies abnormality trends over time, rather than simply abnormalities at specific points in time. In some embodiments, the task-specific configuration is continuously updated and retrained on new medical data to improve its predictive accuracy. In some embodiments, different organizational structures are used for different medical specialties, such as oncology-specific, endocrine-specific, or mental health-specific organizational structures.
[0183] (B6) In some embodiments of B1-B5, medical information is monitored using task-specific organizing. For example, when medical information is updated, a notification may be pushed to the task-specific organizing. As another example, the task-specific organizing may periodically trigger updates. In some embodiments, the monitoring organizing operates in real time by continuously analyzing incoming data streams from wearable devices, remote monitoring equipment, or electronic health record systems. In some embodiments, the monitoring frequency is adjustable based on the subject's risk profile, with high-risk patients being monitored more frequently than low-risk patients. For example, a patient with unstable diabetes may have their glucose data monitored every few minutes, while a stable patient may be monitored daily. In some embodiments, the monitoring organizing uses an event-driven architecture where specific triggers, such as new lab results or medication changes, automatically initiate the monitoring process. In some embodiments, the organizing employs batch processing for non-urgent monitoring tasks and real-time processing for critical health indicators. In some embodiments, the monitoring system includes data validation and quality checks to ensure the accuracy of the medical information being entered before analysis. In some embodiments, the organizing maintains a historical baseline for each subject and compares new data to an individualized normal range rather than a population mean. In some embodiments, the monitoring configuration includes a fail-safe mechanism that alerts the system administrator if the monitoring process fails or the data feed is interrupted. In some embodiments, the system provides different monitoring protocols for different types of medical conditions, such as intensive monitoring for acute conditions and routine monitoring for chronic conditions.
[0184] Figures 7 and 8 illustrate several logical stages in a specific order, but the order-independent stages may be rearranged, and the other stages may be combined or separated. The orderings and groupings presented herein are not exhaustive, as several rearrangements or other groupings not specifically mentioned would be obvious to those skilled in the art. Furthermore, it should be recognized that the stages may be implemented in hardware, firmware, software, or any combination thereof.
[0185] In another embodiment, some embodiments include a non-temporary computer-readable storage medium that stores one or more sets of instructions for execution by a control circuit of a computing system, the one or more sets of instructions including instructions for performing one or more of the methods described herein (e.g., A1 to A23 and B1 to B6 above).
[0186] Various types of models and algorithms can be used with the agents and components disclosed herein. In some embodiments, the model is a supervised machine learning algorithm. Non-exclusive examples of supervised learning algorithms include, but are not limited to, logistic regression, neural networks, support vector machines, naive Bayes algorithms, nearest neighbor algorithms, random forest algorithms, decision tree algorithms, boosted tree algorithms, multinomial logistic regression algorithms, linear models, linear regression, gradient boosting, mixture models, hidden Markov models, Gaussian NB algorithms, linear discriminant analysis, or any combination thereof. In some embodiments, the model is a multinomial classifier algorithm. In some embodiments, the model is a two-stage stochastic gradient descent (SGD) model. In some embodiments, the model is a deep neural network (e.g., a deep wide-range sample-level classifier).
[0187] In some embodiments, the model is or includes a neural network (e.g., a convolutional neural network and / or residual neural network). Examples of neural network algorithms, also known as artificial neural networks (ANNs), include convolutional and / or residual neural network algorithms (deep learning algorithms). A neural network is a machine learning algorithm that can be trained to map an input dataset to an output dataset. A neural network includes a group of interconnected network nodes organized into multiple layers of network nodes. For example, a neural network architecture may include at least an input layer, one or more hidden layers, and an output layer. A neural network may include any total number of layers and any number of hidden layers, the hidden layers acting as trainable feature extractors that enable mapping a set of input data to output values or a set of output values. As used herein, a deep learning algorithm can be a neural network including multiple hidden layers, e.g., two or more hidden layers. Each layer of a neural network may include a number of network nodes (also called neurons). Network nodes can receive input directly from input data or from the output of a network node in the previous layer, and can perform specific operations, such as summing operations. In some embodiments, the connection from the input to the network node is associated with parameters (e.g., weights and / or weight coefficients). In some embodiments, the network node receives input x iThe product of all pairs of and their associated parameters is summed. In some embodiments, the weighted sum is offset by a bias b. In some embodiments, the output of a network node or neuron can be gated using an activation function f, which may be a threshold or a linear or nonlinear function. The activation function may be, for example, a normalized linear unit (ReLU) activation function, a Leaky ReLU activation function, or other functions such as a saturated hyperbolic tangent function, identity function, binary step function, logistic function, arctangent function, soft sine function, parametric normalized linear unit function, exponential linear unit function, soft plus function, Bent identity function, soft exponential function, sine wave function, sine function, Gaussian function, or sigmoid function, or any combination thereof.
[0188] The weight coefficients, bias values, thresholds, or other computational parameters of a neural network can be "taught" or "learned" during the training phase using one or more sets of training data. For example, parameters can be trained using input data from a training dataset and gradient descent or backpropagation so that the output values computed by the ANN match examples contained in the training dataset. Parameters can be obtained from the training process of a backpropagation neural network.
[0189] As an example, various neural networks may be suitable for use in analyzing images of a target eye. Examples include, but are not limited to, feedforward neural networks, radial basis function networks, recurrent neural networks, residual neural networks, convolutional neural networks, residual convolutional neural networks, or any combination thereof. In some embodiments, the machine learning model uses a pre-trained and / or transfer-trained ANN or deep learning architecture. Convolutional and / or residual neural networks may be used to analyze images of a target in accordance with this disclosure. Some embodiments use generative models such as generative adversarial networks (GANs) and hidden Markov models. In a GAN, two neural networks compete with each other, one generating samples and the other evaluating whether they are real or generated. Hidden Markov models are generative models that have been successful in various array labeling tasks such as chunking, named entity recognition, POS tagging, and speech recognition.
[0190] For example, a deep neural network model includes an input layer, several individually parameterized (e.g., weighted) convolutional layers, and an output scorer. Each parameter (e.g., weight) of the convolutional layer and the input layer contribute to several parameters (e.g., weights) associated with the deep neural network model. In some embodiments, at least 100 parameters, at least 1000 parameters, at least 2000 parameters, or at least 5000 parameters are associated with the deep neural network model. Thus, deep neural network models are so complex that they cannot be solved by the human mind and therefore require the use of a computer. In other words, given the inputs to the model, the model outputs, in such embodiments, must be determined using a computer rather than the human mind. For example, see Krizhevsky et al., 2012, "Imagenet classification with deep convolutional neural networks," Advances in Neural Information Processing Systems 2, Pereira, Burges, Bottou, Weinberger, eds., pp. 1097-1105, Curran Associates, Inc., each of which is incorporated herein by reference; Zeiler, 2012, "ADADELTA: an adaptive learning rate method," CoRR, vol. abs / 1212.5701; and Rumelhart et al., 1988, "Neurocomputing: Foundations of research," ch. Learning Representations by Back-propagating Errors, pp. 696-699, Cambridge, MA, USA: MIT Press.
[0191] Neural network algorithms, including convolutional neural network algorithms suitable for use as models, are disclosed, for example, Vincent et al., 2010, "Stacked denoising autoencoder: Learning useful representations in a deep network with a local denoising criterion," J Mach Learn Res 11, pp. 3371-3408, each incorporated herein by reference; Larochelle et al., 2009, "Exploring strategies for training deep neural networks," J Mach Learn Res 10, pp. 1-40; and Hassoun, 1995, Fundamentals of Artificial Neural Networks, Massachusetts Institute of Technology. Additional exemplary neural networks suitable for use as models are disclosed in Duda et al., 2001, Pattern Classification, Second Edition, John Wiley & Sons, Inc., New York, and Hastie et al., 2001, The Elements of Statistical Learning, Springer-Verlag, New York, each of which is incorporated entirely herein by reference. Additional exemplary neural networks suitable for use as models are also described in Draghici, 2003, Data Analysis Tools for DNA Microarrays, Chapman & Hall / CRC, and Mount, 2001, Bioinformatics: Sequence and Genome Analysis, Cold Spring Harbor Laboratory Press, Cold Spring Harbor, New York, each of which is incorporated entirely herein by reference.
[0192] In some embodiments, the model is or includes a support vector machine (SVM). Suitable SVM algorithms for use as models include, for example, Cristianini and Shawe-Taylor, 2000; "An Introduction to Support Vector Machines," Cambridge University Press, Cambridge; Boser et al., 1992; "A training algorithm for optimal margin classifiers," Proceedings of the 5th Annual ACM Workshop on Computational Learning Theory, ACM Press, Pittsburgh, Pa., pp. 142-152; Vapnik, 1998; Statistical Learning Theory, Wiley, New York; Mount, 2001; Bioinformatics: sequence and genome analysis, Cold Spring Harbor Laboratory Press, Cold Spring Harbor, NY; Duda; Pattern Classification, Second Edition, 2001, John Wiley & Sons, Inc., pp. 259, 262-265; Hastie, 2001; The Elements of Statistical Learning, Springer, New York. This is described in York and Furey et al., 2000, Bioinformatics 16, 906-914, each of which is incorporated herein by reference in its entirety. When used for classification, SVM separates a given set of binary-labeled data using a hyperplane furthest from the labeled data. In cases where linear separation is not possible, SVM can work in combination with the technique of a “kernel” that automatically provides a nonlinear mapping to the feature space. The hyperplane detected by SVM in the feature space can correspond to a nonlinear decision boundary in the input space. In some embodiments, several parameters associated with SVM (e.g., weights) define the hyperplane.In some embodiments, the hyperplane is defined by at least 10, at least 20, at least 50, or at least 100 parameters, and the SVM model needs to be computed by a computer because it cannot be solved by the human mind.
[0193] In some embodiments, the model is or includes a naive Bayes algorithm. Suitable naive Bayes models for use as models are disclosed, for example, Ng et al., 2002, “On discriminative vs. generative classifiers: A comparison of logistic regression and naive Bayes,” Advances in Neural Information Processing Systems, 14, which is incorporated herein by reference. A naive Bayes model is any model in the family of “probabilistic models” based on applying Bayes’ theorem using the assumption of strong (naive) independence between features. In some embodiments, they are combined with kernel density estimation. See, for example, Hastie et al., 2001, “The elements of statistical learning: data mining, inference, and prediction,” eds. Tibshirani and Friedman, Springer, New York, which is incorporated herein by reference.
[0194] In some embodiments, the model is or includes a Boltzmann machine. A Boltzmann machine includes a set of binary units connected via weighted connections. A Boltzmann machine may use an undirected, unsupervised, generative deep learning network for the recommendation system.
[0195] In some embodiments, the model is or includes a nearest neighbor algorithm. The nearest neighbor model can be memory-based and does not include a fitted model. For nearest neighbors, considering a query point x0 (test subject), the k training points x(r), r, ..., k (here, the training subject) closest to x0 are identified, and then point x0 is classified using the k nearest neighbors method, where the distance to these neighbors is a function of the abundance values of the discriminant gene set. In some embodiments, the Euclidean distance in the feature space is used to determine the distance. Typically, when a nearest neighbor algorithm is used, the abundance data used to compute the linear discriminant is standardized to have a mean of zero and a variance of 1. The nearest neighbor rule can be tuned to address prior probabilities of unequal classes, different misclassification costs, and feature selection problems. Many of these refinements involve some form of weighted voting for neighbors. For more information on nearest neighbor analysis, see Duda, Pattern Classification, Second Edition, 2001, John Wiley & Sons, Inc., and Hastie, 2001, The Elements of Statistical Learning, Springer, New York, each incorporated herein by reference.
[0196] For example, the k-nearest neighbor model is a non-parametric machine learning technique whose input includes k nearest neighbor training examples in a feature space. The output is class membership. An object is classified by multiple votes from its neighbors and assigned to the most common class in its k-nearest neighbors (k is a positive integer, typically small). When k=1, the object is simply assigned to the class of its single nearest neighbor. See Duda et al., 2001, Pattern Classification, Second Edition, John Wiley & Sons, incorporated herein by reference. In some embodiments, the number of distance calculations required to solve the k-nearest neighbor model is such that it cannot be performed by the human mind, and a computer is used to solve the model for a given input.
[0197] In some embodiments, the model is or includes a decision tree. Suitable decision trees for use as models are generally described in Duda, 2001, Pattern Classification, John Wiley & Sons, Inc., New York, pp. 395–396, which is incorporated herein by reference. The tree-based method partitions the feature space into sets of rectangles, and then fits a model (such as a constant) to each. In some embodiments, the decision tree is a random forest regression. One specific algorithm that can be used is the Classification and Regression Tree (CART). Other specific decision tree algorithms, but not limited to, include ID3, C4.5, MART, and random forests. CART, ID3, and C4.5 are described in Duda, 2001, Pattern Classification, John Wiley & Sons, Inc., New York, pp. 396–408 and pp. 411–412, which is incorporated herein by reference. CART, MART, and C4.5 are described in Hastie et al., 2001, *The Elements of Statistical Learning*, Springer-Verlag, New York, Chapter 9, which are incorporated herein by reference. Random forests are described in Breiman, 1999, *Random Forests--Random Features*, Technical Report 567, Statistics Department, UC Berkeley, September 1999, which are incorporated herein by reference in their entirety. In some embodiments, decision tree models include at least 10, at least 20, at least 50, or at least 100 parameters (e.g., weights and / or decisions) that are too complex for a human to solve and therefore need to be computed by a computer.
[0198] In some embodiments, the model uses a regression algorithm. The regression algorithm can be any type of regression. For example, the regression algorithm may be logistic regression. In some embodiments, the regression algorithm is logistic regression with lasso, L2, or elastic net normalization. In some embodiments, extracted features with corresponding regression coefficients that do not satisfy a threshold are excluded (removed) from consideration. In some embodiments, a generalization of the logistic regression model for handling multi-category responses is used as the model. The logistic regression algorithm is disclosed in Agresti, An Introduction to Categorical Data Analysis, 1996, Chapter 5, pp. 103-144, John Wiley & Son, New York, which is incorporated herein by reference. In some embodiments, the model utilizes the regression model disclosed in Hastie et al., 2001, The Elements of Statistical Learning, Springer-Verlag, New York. In some embodiments, the logistic regression model includes at least 10, at least 20, at least 50, at least 100, or at least 1000 parameters (e.g., weights) that cannot be solved by human intellect and therefore need to be computed by a computer.
[0199] Linear discriminant analysis (LDA), normal discriminant analysis (NDA), or discriminant function analysis may be a method used in statistics, pattern recognition, and machine learning to find a linear combination of features that characterize or separate two or more classes of objects or events, a generalization of Fisher's linear discriminant formula. The resulting combination can be used as a model (e.g., a linear model) in some embodiments of this disclosure.
[0200] In some embodiments, the model is a hybrid model, such as that described by McLachlan et al. in Bioinformatics 18(3):413-422, 2002. In some embodiments, particularly those including a temporal component, the model is a hidden Markov model, such as that described by Schliep et al. in 2003, Bioinformatics 19(1):i255-i263.
[0201] In some embodiments, the model is an unsupervised clustering model. In some embodiments, the model is a supervised clustering model. Suitable clustering algorithms for use as models are described, for example, on pages 211–256 of Duda and Hart, Pattern Classification and Scene Analysis, 1973, John Wiley & Sons, Inc., New York (hereinafter, Duda 1973), which is incorporated herein by reference in its entirety. The challenges of clustering can be described as one of discovering natural classifications within a dataset. Two challenges can be addressed in identifying natural classifications. First, a method can be determined for measuring the similarity (or difference) between two samples. This metric (e.g., a similarity measure) can be used to ensure that samples in one cluster are more similar to each other than samples in other clusters. Second, a mechanism can be determined for partitioning the data into clusters using the similarity measure. One way to begin a clustering investigation is to define a distance function and compute a matrix of distances between all pairs of samples in the training set. If distance is a good metric for similarity, the distance between reference entities within the same cluster may be significantly smaller than the distance between reference entities in different clusters. However, clustering cannot use distance metrics. For example, a nonmetric similarity function s(x,x') can be used to compare x and x' of two vectors. s(x,x') is a symmetric function, and its value is large when x and x' are "similar" in some respect. Once a method is chosen to measure the "similarity" or "difference" between points in a dataset, clustering can use a criterion function to measure the clustering quality of any partition of the data. Partitions of the dataset that extremize the criterion function can be used to cluster the data.Specific exemplary clustering techniques that may be used in this disclosure include, but are not limited to, hierarchical clustering (agglomerative clustering using nearest neighbor algorithms, longest distance algorithms, mean link algorithms, centroid algorithms, or sum-of-squares algorithms), k-means clustering, fuzzy k-means clustering algorithms, and Jarvis-Patrick clustering. In some embodiments, the clustering includes unsupervised clustering (e.g., the number of clusters is not predetermined and / or cluster assignments are not predetermined).
[0202] In some embodiments, an ensemble of models (two or more) is used. In some embodiments, boosting techniques such as AdaBoost are used in conjunction with many other types of learning algorithms to improve the performance of the models. In this approach, the outputs of any of the models disclosed herein, or their equivalents, are combined into a weighted sum representing the final output of the boosted models. In some embodiments, multiple outputs from the models are combined using any measure of central tendency known in the art, including, but not limited to, the mean, median, mode, weighted mean, weighted median, weighted mode, etc. In some embodiments, multiple outputs are combined using a voting method. In some embodiments, each model in the ensemble of models is weighted or unweighted.
[0203] In some embodiments, the model is a reinforcement learning model. In some embodiments, the reinforcement learning system includes four main elements: an agent, a policy, a reward signal, and a value function, where the agent's behavior is defined in terms of the policy. In some embodiments, the reinforcement learning system includes a learning algorithm. In some implementations, the learning algorithm is either an on-policy learning algorithm or an off-policy learning algorithm. An on-policy learning algorithm evaluates and improves the same policy used to select the agent's action. An off-policy learning algorithm evaluates and improves a different policy from the one used to select the action. Reinforcement learning is further described, for example, in Sutton RS, Bart oAG, "Reinforcement learning: an introduction," IEEE Transactions on Neural Networks. 1998;9(5):1054-1054, which is incorporated herein by reference in its entirety.
[0204] In some embodiments, the model is or includes an autoencoder. An autoencoder is a type of generative model used in unsupervised learning that learns latent representations of images and is used to reconstruct images. An autoencoder may be a variable autoencoder (VAE) that learns to generate new data samples similar to the training dataset.
[0205] In some embodiments, the model is or includes a transformer model. As previously mentioned, a transformer model is a neural network that learns context and thus understands meaning by tracking relationships in sequential data, such as words in this sentence. Transformer models are used to generate images, audio, and text.
[0206] In some embodiments, the model is or includes a diffusion model. A diffusion model generates data points similar to the data points on which the model was trained. In some embodiments, the model is or includes a stochastic generative model, such as a Bayesian network, where the joint distribution between all the model variables can be expressed as a function of its parent.
[0207] As used herein, the term “instruction” refers to instructions given to a computer processor by a computer program. On a digital computer, in some embodiments, each instruction is a sequence of 0s and 1s that describes a physical action performed by the computer. Such instructions may include data transfer instructions and data manipulation instructions. In some embodiments, each instruction is a type of instruction in an instruction set, recognized by the specific processor type used to execute the instruction. Examples of instruction sets include, but are not limited to, reduced instruction set computers (RISC), composite instruction set computers (CISC), minimal instruction set computers (MISC), very long instruction word (VLIW), explicit parallel instruction computing (EPIC), and one-instruction-set computers (OISC).
[0208] As used herein, the term “parameter” means any coefficient or value of an internal or external element (e.g., weights and / or hyperparameters) in an algorithm, model, regressor, and / or classifier that can affect (e.g., modify, adjust, and / or tune) one or more inputs, outputs, and / or functions in the algorithm, model, regressor, and / or classifier. For example, in some embodiments, a parameter means any coefficient, weight, and / or hyperparameter that can be used to control, modify, adjust, and / or tune the behavior, learning, and / or performance of the algorithm, model, regressor, and / or classifier. In some cases, a parameter is used to increase or decrease the influence of an input (e.g., a feature) to the algorithm, model, regressor, and / or classifier. In a non-limiting example, in some embodiments, a parameter is used to increase or decrease the influence of a node (e.g., of a neural network), which includes one or more activation functions. The assignment of parameters to specific inputs, outputs, and / or functions is not limited to any single paradigm for a given algorithm, model, regressor, and / or classifier, but can be used in any suitable algorithm, model, regressor, and / or classifier architecture for desired performance. In some embodiments, the parameters have fixed values. In some embodiments, the parameter values are adjustable manually and / or automatically. In some embodiments, the parameter values are modified by a validation and / or training process for the algorithm, model, regressor, and / or classifier (e.g., by error minimization and / or backpropagation methods). In some embodiments, the algorithms, models, regressors, and / or classifiers of this disclosure include multiple parameters. Therefore, the algorithms, models, regressors, and / or classifiers of this disclosure cannot be implemented in the human mind.In some embodiments, the algorithms, models, regressors, and / or classifiers of the Disclosure operate in a k-dimensional space, where k is a positive integer greater than or equal to 5 (e.g., 5, 6, 7, 8, 9, 10, etc.). Thus, the algorithms, models, regressors, and / or classifiers of the Disclosure cannot be performed by human mind.
[0209] In some embodiments, the method described herein involves inputting information into a model that includes multiple parameters, and the model applies the multiple parameters to the information through multiple instructions to generate an output from the model.
[0210] In some embodiments, the algorithms, models, regressors, and / or classifiers of this disclosure include a plurality of parameters. In some embodiments, the multiple parameters are n parameters, where n≧2, n≧5, n≧10, n≧25, n≧40, n≧50, n≧75, n≧100, n≧125, n≧150, n≧200, n≧225, n≧250, n≧350, n≧500, n≧600, n≧750, n≧1,000, n≧2,000, n≧4,000, n≧5,000, n≧7,500, n≧10,000, n≧20,000, n≧40,000, n≧75,000, n≧100,000, n≧200,000, n≧500,000, n≧1×10^6, n≧5×10^6, or n≧1×10^7. In some embodiments, n is 10,000 ~ 1 × 10^7, 100,000 ~ 5 × 10^6, or 500,000 ~ 1 × 10^6. In some embodiments, the multiple parameters are at least 1,000 parameters, at least 5,000 parameters, at least 10,000 parameters, at least 50,000 parameters, at least 100,000 parameters, at least 250,000 parameters, at least 500,000 parameters, at least 1 million parameters, at least 5 million parameters, at least 10 million parameters, at least 25 million parameters, at least 50 million parameters, at least 100 million parameters, at least 250 million parameters, at least 500 million parameters, at least 1 billion parameters, or more.
[0211] In some embodiments, the multiple instructions are at least 1,000 instructions, at least 5,000 instructions, at least 10,000 instructions, at least 50,000 instructions, at least 100,000 instructions, at least 250,000 instructions, at least 500,000 instructions, at least 1 million instructions, at least 5 million instructions, at least 10 million instructions, at least 25 million instructions, at least 50 million instructions, at least 100 million instructions, at least 250 million instructions, at least 500 million instructions, at least 1 billion instructions, or more instructions.
[0212] Furthermore, while terms such as "first," "second," etc., may be used herein to describe various elements, it will be understood that these elements should not be limited by these terms. These terms are used solely to distinguish one element from another.
[0213] The terms used herein are for the sole purpose of describing specific embodiments and are not intended to limit the claims. Where used in embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include plural forms unless the context otherwise explicitly indicates. Furthermore, where used herein, the terms “and / or” will be understood to refer to and encompass one or any possible combination of the enumerated items relating to the invention. Where used herein, the terms “comprises” and / or “comprising” specify the presence of the described features, integers, steps, actions, elements, and / or components, but will not preclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.
[0214] As used herein, the term “set” refers to a group of one or more objects. As used herein, unless expressly otherwise stated, the terms “request,” “prompt,” and “query” are used interchangeably. As used herein, the term “model” refers to a machine learning model or algorithm. In some embodiments, the model is a task-specific model (e.g., a task-specific machine learning model). As used herein, the term task-specific refers to a component specifically configured to perform a single task or a subset of tasks (e.g., a single task class). In some embodiments, the model is an unsupervised learning algorithm. An example of an unsupervised learning algorithm is cluster analysis.
[0215] As used herein, the term "if" may be interpreted as "when," "upon," or, depending on the context, as meaning that the precedent of the stated condition is true, "in accordance with determining," "according to the decision of," or "in response to detecting." Similarly, the phrases "if it is determined that the stated condition precedent is true," or "if (the stated condition precedent is true)," or "when (the stated condition precedent is true)" may be interpreted as meaning, depending on the context, as meaning that the stated condition precedent is true, "when determining," or "in response to determining," or "according to the decision of," or "when detecting," or "in response to detecting."
[0216] The above description has been written with reference to specific embodiments for the sake of explanation. However, the above illustrative discussion is not intended to be exhaustive or to limit the claims to the exact form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been selected and described to best illustrate the principles of operation and practical use, thereby enabling others for those skilled in the art.
Claims
1. A method for routing queries, Receiving user queries from users through the user interface of a computing system, A classification method comprising automatically classifying the user queries using a first task-specific organization executed by one or more processors, wherein the first task-specific organization includes a first machine learning (ML) model configured to classify the user queries, The information regarding the user query is provided to a destination task-specific organization selected from a plurality of task-specific organization sets, In accordance with classifying the user queries into a first category, the second task-specific organization is automatically assigned as the destination task-specific organization, Providing a system that includes, in accordance with classifying the user queries into a second category, automatically assigning a third task-specific organization as the destination task-specific organization, Receiving output from a destination task-specific organization in response to providing the information relating to the user query, wherein the output is generated by processing the user query using an ML model specific to the first category or the second category. A method comprising: automatically generating and providing a response to a user query via the user interface based on the output from the destination task-specific organization.
2. The method according to claim 1, wherein the first category and the second category are selected from the group including pharmaceutical categories, care coordination categories, report generation categories, search categories, health profile categories, visit preparation categories, and health tracking categories.
3. The method according to claim 1, wherein the second task-specific organization includes a second ML model.
4. The method according to claim 1, further comprising classifying the user queries into a third category, generating a new task-specific organization based on the determination that the third category does not have a corresponding task-specific organization, and using the new task-specific organization as the destination task-specific organization.
5. The method according to claim 1, wherein the second task-specific organization includes a clinical trial organization, a customer support organization, a medical publication organization, or a general query organization.
6. Analyze the output from the destination task-specific organization, The method according to claim 1, further comprising identifying one or more disclaimers relating to the output, wherein the response to the user query includes the one or more disclaimers.
7. The method according to claim 1, wherein the response includes one or more links to a source document and / or resources.
8. Receiving the target identifier, Monitoring the target medical information using the aforementioned target identifier, wherein the medical information is updated over time. Based on the aforementioned medical information, identify any abnormalities or risks in the subject, The method according to claim 1, further comprising initiating corrective action in response to the identification of the aforementioned anomaly or risk.
9. The method of claim 8, wherein initiating the corrective action includes providing a notice to the subject, the notice indicating the abnormality or risk.
10. The method according to claim 8, wherein initiating the corrective action includes providing a notice to a healthcare provider, the notice indicating the abnormality or risk.
11. Initiating the aforementioned corrective measures Identifying the actions that the subject can take to address the aforementioned anomaly or risk, The method according to claim 8, further comprising providing the target with a display of the action.
12. The method according to claim 8, wherein the anomaly or risk is identified using a task-specific organization.
13. The method according to claim 8, wherein the medical information is monitored using a task-specific organization.
14. A computing system, One or more processors, Memory and, A computing system comprising one or more programs stored in the memory and configured to be executed by one or more processors, wherein one or more programs include instructions that cause or trigger the execution of the method described in any one of claims 1 to 13.
15. A computer-readable storage medium comprising, when executed by one or more processors, an executable instruction that causes one or more processors to perform or trigger the performance of the method described in any one of claims 1 to 13.