Preserving data integrity in tasks spanning computing systems

The automatic generation of unique identifiers for service requests in healthcare systems addresses inefficiencies and errors in manual order entry, improving data integrity and resource efficiency.

JP7870301B2Active Publication Date: 2026-06-04FUJIFILM SONOSITE INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJIFILM SONOSITE INC
Filing Date
2022-04-04
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing systems in service industries, particularly healthcare, face inefficiencies and errors due to manual entry and updating of orders during encounters, leading to issues like double-billing, incorrect treatments, and human errors, which compromise data integrity and resource efficiency.

Method used

A method and system that automatically generate unique identifiers for service requests using program code, ensuring data integrity by dynamically incrementing order and accession numbers, and interfacing with legacy systems to automate task management and billing processes.

Benefits of technology

Enhances data integrity and resource efficiency by eliminating manual intervention, reducing errors, and ensuring accurate billing and treatment delivery in healthcare environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007870301000001
    Figure 0007870301000001
  • Figure 0007870301000002
    Figure 0007870301000002
  • Figure 0007870301000003
    Figure 0007870301000003
Patent Text Reader

Abstract

The computer-implemented method, computer program product, and computer system include a processor that obtains a message indicating the presence of an individual at a location. The processor generates a new service request for the individual having a unique identifier. The processor sends the new service request to a shared queue in the computing environment.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-reference of related applications

[0001] This application claims priority to U.S. Patent Application No. 17 / 358,561, “PRESERVING DATA INTEGRITY IN TASKS ACROSS A COMPUTING SYSTEM,” filed on 25 June 2021, the entire contents of which are incorporated herein by reference for all purposes. Background of the Invention

[0002] In various service industries, including but not limited to healthcare, the movement of consumers through a workflow that includes receiving various services from a provider is managed through an encounter-based workflow derived from an order-based workflow. The functionality of the system that manages this workflow relies on the periodic manual entry of individual orders that represent events during an encounter or visit, such as tests or examinations in a medical setting. Clearly, if an order number is not associated with an event, it cannot even be billed. To ensure that orders are created during a given encounter, the provider's employees must enter and update records during the encounter. The manual effort to enter and update these orders is continuous and, being manual, is not only inefficient but also can introduce errors into the workflow. Common errors include performing the wrong treatment on a given patient, double-billing a patient for a given treatment, and human errors that result in a physician having to shorten the time spent interacting with a patient due to the time required to manually enter, update, and / or correct data. In one example, in a healthcare environment, a patient's examination or treatment is ordered (from an order entry system) prior to the patient's visit. The patient's visit is assigned an identifier, which can be referred to as an encounter number, and serves as a mechanism to identify the patient's tests or treatments. However, as the patient progresses through a given visit and various tests and examinations are performed, many of which were not predictable prior to the visit, order numbers must be created for these new tests and examinations. In existing systems, these new orders are assigned temporary identifiers, but the entire encounter cannot be viewed as a whole until these updates are made, or until each temporary identifier is manually updated, for example, by a physician (who places and manually adjusts the orders).

Summary of the Invention

[0003] The shortcomings of prior art can be overcome, and the advantages described below can be achieved by providing a method for maintaining data integrity of tasks across a computing environment. Various examples of the method are described below, and any combination (as long as these combinations do not contradict each other), including and excluding the additional examples listed below, overcomes these shortcomings. The method includes the steps of: one or more processors in a computing environment obtaining an electronic message indicating that an individual is physically present at a service location; one or more processors generating a new service request for the individual, wherein the new service request for the individual includes a unique identifier; and one or more processors sending the new service request to a shared queue accessible to one or more modalities, including resources in the computing environment.

[0004] The shortcomings of prior art can be overcome, and the advantages described below can be achieved by providing a system for maintaining data integrity of tasks across a computing environment. Various examples of the system are described below, and the system overcomes these shortcomings in any combination (as long as these combinations are not contradictory), including and excluding the additional examples listed below. The system includes memory, one or more processors communicating with the memory, and program instructions executable by one or more processors via the memory to perform a method, the method including: one or more processors in a computing environment obtaining an electronic message indicating that an individual is physically present at a service location; one or more processors generating a new service request for the individual, wherein the new service request for the individual includes a unique identifier; and one or more processors sending the new service request to a shared queue accessible to one or more modalities, including resources in a computing environment.

[0005] The shortcomings of prior art are overcome, and additional advantages are provided by offering computer program products for maintaining data integrity of tasks across the entire computing environment. Various examples of computer program product systems are described below, and computer program products, including and excluding the additional examples listed below, in any combination (as long as these combinations are not contradictory), overcome these shortcomings. A computer program product includes a computer-readable storage medium that is readable by one or more processors and stores instructions for execution by one or more processors to perform a method, the method including: one or more processors in the computing environment obtaining an electronic message indicating that an individual is physically present at a service location; one or more processors generating a new service request for the individual, wherein the new service request for the individual includes a unique identifier; and one or more processors sending the new service request to a shared queue accessible by one or more modalities, which include resources in the computing environment.

[0006] Systems, methods, and computer program products relating to one or more aspects of the Technology are also described and may be claimed herein. Furthermore, services relating to one or more aspects of the Technology are also described and may be claimed herein.

[0007] In some examples, the step of generating a new service request for an individual includes: determining by one or more processors whether an existing service request associated with the individual was generated by one or more processors within a given time frame; and, based on the determination that an existing service request was generated within the given time frame, generating a unique identifier for a new service request based on the unique identifier of an existing service request, wherein the generating step includes: reserving the unique identifier of an existing service request by one or more processors, such that the final value of the unique identifier of an existing service request includes an integer; incrementing the final value of the unique identifier of an existing service request by one or more processors by a predetermined value; and associating the incremented unique identifier of an existing service request with a new service request as the unique identifier of a new service request by one or more processors.

[0008] In some examples, the step of generating a new service request for an individual includes the steps of: determining by one or more processors whether an existing service request associated with the individual was generated by one or more processors within a given time frame; and, based on the determination that no existing service request was generated within the given time frame, generating a unique identifier for the new service request by one or more processors, wherein the final value of the unique identifier for the new service request is an integer.

[0009] In some examples, the method includes the steps of: one or more processors obtaining notification from one or more modalities that a new service request has been completed; one or more processors reserving a unique identifier for the new service request; and one or more processors incrementing the final value of the unique identifier for the new service request by a predetermined value for use as a unique identifier for the next service request associated with an individual generated within a given time frame.

[0010] In some examples, the method includes the steps of: one or more processors identifying at least one modality among one or more modalities, wherein the at least one modality includes technical characteristics that enable the at least one modality to complete a new service request; and one or more processors notifying the at least one modality that a new service request has been sent to the shared queue.

[0011] In some examples, the step of sending a new service request to a shared queue and notifying at least one modality is performed in parallel by one or more processors.

[0012] In some examples, the step of generating a new service request for an individual further includes the steps of one or more processors collecting metadata from an existing service request and one or more processors incorporating the metadata into the new service request.

[0013] In some examples, the step of determining whether an existing service request associated with an individual was generated by one or more processors within a given time frame includes the step of one or more processors querying one or more databases in the computing environment.

[0014] In some examples, the time frame is the calendar day on which an individual is physically present at the service location.

[0015] In some cases, one or more electronic messages indicating an individual's physical presence at a service location, as well as the submission of a new service request to a shared queue, are in Health Level 7 (HL7) format.

[0016] In some examples, the shared queue includes a modality worklist.

[0017] In some examples, the given value is 1.

[0018] In some examples, the integer of a new service request includes an accession number, and the accession number of the new service is the number in the ordered sequence of services requested for an individual within a given timeframe.

[0019] In some examples, the unique identifier for a new service request involves a concatenation of values, which are selected from a group consisting of the service location, the individual's visit number at the service location, the individual's identifier, and the service identifier.

[0020] In some examples, an electronic message indicating the physical presence of an individual at a service location does not contain any personally identifiable data or metadata. The method further includes the steps of one or more processors associating a new service request with a medical record number in an electronic medical record system within a computing environment, and one or more processors updating the new service request based on the association.

[0021] In some examples, the method further includes the step of sending a message to the electronic billing system to instruct one or more processors to generate an invoice for a new service request that has been completed.

[0022] Additional features are realized by the techniques described herein. Other examples and aspects are described in detail herein and considered part of the claimed aspects. These and other objects, features, and advantages of the present disclosure will become apparent from the following detailed description of the various aspects of the present disclosure in conjunction with the accompanying drawings.

[0023] It should be understood that all combinations of the foregoing aspects and additional concepts described in more detail below (such concepts not being mutually inconsistent) are part of the subject matter of the present invention and are considered to achieve the advantages disclosed herein.

Brief Description of the Drawings

[0024] One or more aspects of the present invention are particularly pointed out by way of example in the claims at the end of this specification and are clearly claimed. The foregoing and objects, features, and advantages of one or more aspects of the present invention will become apparent from the following detailed description in conjunction with the accompanying drawings.

[0025] [Figure 1] A diagram showing a workflow that can be utilized by an existing system.

[0026] [Figure 2] A diagram showing various aspects of the workflows of some embodiments of the present invention.

[0027] [Figure 3] A diagram showing various aspects of the workflows of some embodiments of the present invention and specific elements of the technical architecture of a computing environment.

[0028] [Figure 4] A diagram showing various aspects of the workflows of some embodiments of the present invention.

[0029] [Figure 5] A diagram showing various aspects of the workflows of some embodiments of the present invention.

[0030] [Figure 6] This figure shows various aspects of a technical environment in which several embodiments of the present invention can be implemented.

[0031] [Figure 7] This figure shows a computer system configured to perform one aspect of one embodiment of the present invention.

[0032] [Figure 8] This figure shows a computer program product incorporating one or more embodiments of the present invention. Detailed description of the invention

[0033] Aspects of the present invention, as well as their specific features, advantages, and details, are described more fully below with reference to non-limiting examples shown in the accompanying drawings. Descriptions of well-known materials, manufacturing tools, processing techniques, etc., are omitted to avoid unnecessarily obscuring the invention. However, it should be understood that the detailed descriptions and specific examples illustrate aspects of the invention, but are given only as examples, not as limitations. Various substitutions, modifications, additions, and / or arrangements within the spirit and / or scope of the underlying inventive concept will be apparent to those skilled in the art from this disclosure. The terms software and program code are used interchangeably throughout this application and may refer to logic executed by both hardware and software. System components that can be used to perform aspects of embodiments of the present invention may include, but are not limited to, dedicated hardware including FPGAs and GPUs (graphics processor units). Additionally or alternatively, items indicated as processors may include, but are not limited to, hardware and / or software processors, or other processing means including, but not limited to, software-defined wireless and / or custom hardware.

[0034] As described above, and as will be understood by those skilled in the art, the program code referred to throughout this application includes both software and hardware. For example, the program code in certain embodiments of the present invention includes fixed-function hardware, while other embodiments utilize software-based embodiments of the described functions. Certain embodiments combine both types of program code. An example of program code includes a program / utility having a set (at least one) of program modules stored in memory.

[0035] As used herein, the terms “including” and “comprising” mean the same thing.

[0036] The terms “substantially,” “approximately,” “about,” “relatively,” or any other similar terms that may be used throughout this disclosure, including in the claims, are used to describe and explain small variations, such as variations in processing from a standard or parameter. Such small variations include zero variation from the standard or parameter. For example, they may refer to ±10% or less, e.g., ±5% or less, e.g., ±2% or less, e.g., ±1% or less, e.g., ±0.5% or less, e.g., ±0.2% or less, e.g., ±0.1% or less, e.g., ±0.05% or less. Where used herein, the terms “substantially,” “about,” “about,” “relatively,” or any other similar terms may also refer to no variation, i.e., ±0%.

[0037] The terms modality, system, application, and computing node are used herein to represent various resources of a computing system. In the examples herein, a queue or worklist may be shared by these resources, and tasks within a queue or worklist may be completed by one or more of these resources. For the purposes of this application, the terms “modality” and “system” are used interchangeably.

[0038] Embodiments of the present invention include computer systems, computer program products, and methods implemented by computers, in which program code executed by one or more processors automatically generates, stores, and updates various elements of electronic records in a point-of-care or point-of-service computer system in a secure and efficient manner. As described in more detail herein, embodiments of the present invention include program code executed on one or more processors that 1) automatically create and input accession numbers associated with a given encounter (e.g., a visit), 2) dynamically increment order numbers and accession numbers to generate unique identifiers for each to achieve uniqueness, and 3) interface with legacy devices and security used in a given point-of-care or point-of-service computer system (e.g., a point-of-care ultrasound (POCUS) system), enabling a worklist program executed on these devices to automatically retrieve consumer (e.g., patient) records having task assignments (e.g., studies, tests, procedures, etc.) that include unique identifiers.

[0039] Embodiments of the present invention are closely tied to computing, as the exemplary aspects described herein improve the performance of complex computing systems. Embodiments of the present invention are integrated into an environment where various systems, including legacy systems, are synchronized to function effectively and efficiently. Therefore, embodiments of the present invention utilize messaging systems and shared queues to coordinate between these systems and accomplish different technical tasks. In generating these tasks, program code ensures that each task has a unique identifier and represents an actual task to be completed by a modality within the computing environment. Maintaining data integrity is a motivating factor when implementing embodiments of the present invention in place of existing systems that involve manual data entry and manual verification. Common data-related errors that occur in existing systems include, but are not limited to, human errors resulting from performing incorrect procedures on a given patient, double-charging a patient for a given procedure, and / or requiring physicians to reduce patient interaction time due to the time required to manually enter, update, and / or correct data. Additionally or alternatively, existing systems may generate records of incomplete services or tasks and lack mechanisms to clean up computing system resources with excessive unused records, potentially impairing system performance. The embodiments of the examples in this specification do not generate excessive unused records.

[0040] Some embodiments of the present invention represent practical applications. Generally, data accuracy and efficient resource performance are particularly important in service environments, including healthcare environments, where some embodiments of the present invention are implemented. Specifically, implementing some embodiments of the present invention improves data integrity and consistency within the computing environments in which these embodiments are implemented. These computing environments may include different systems (including legacy systems), effectively manage tasks completed by various systems for a common order, and operate within security policies to maintain data integrity and completeness of tasks, especially when the computing environment is a practical application run by the embodiments described herein.

[0041] Various embodiments of the present invention represent a significant improvement over existing methods for generating, storing, and updating various elements of electronic records in a point-of-care or point-of-service computer system. Existing methods for managing the workflow of events during a given service opportunity result in resource inefficiencies downstream. These existing systems create a significant demand for resources downstream. For example, as illustrated with reference to Figure 1, events are continuously and manually updated (with event requests) to enable the completion of the workflow. Furthermore, unused orders remain in the system unless specifically removed, potentially straining resources. These inefficiencies pose various risks to systems protecting personally identifiable information. Therefore, the security of the system is improved by eliminating these inefficiencies by limiting unnecessary interactions such as manual data manipulation and cleanup, which are central to the continuous functionality of existing systems. Differences between the present method and the embodiments disclosed herein are further illustrated in Figures 1 to 4. Figure 1 is a workflow 100 of an existing event management system for a point-of-care or point-of-service computer system or application. Figures 2 to 4 show various aspects of workflows 200, 300, and 400, illustrating various embodiments of several models of the present invention.

[0042] Figure 1 shows a workflow 100 that can be used in an existing encounter management system. A workflow like the one shown in Figure 1 requires downstream management work to compensate for upstream inefficiencies. As described above, the program code in embodiments of the present invention, as well as in existing systems, can interface with a billing system as part of generating a record of events during a given encounter. This interface is activated by a unique order number representing each event (e.g., service, operation, survey, test, consultation, treatment, examination, etc.). In workflow 100, which can be characterized as an encounter-based workflow, the encounter functions as a temporary order number. The encounter is an identifier until an individual, such as a physician in a point-of-care system, updates the record and generates an order (with details of the events experienced by the consumer during the visit or encounter). In existing systems, for each event experienced by a consumer (e.g., a test or examination performed on a given patient), in a particular medical point-of-care system, the physician not only places an order but also spends an average of 5 minutes manually coordinating the services to be provided, such as a survey, with the newly created order number. Certain inefficiencies within these systems make them particularly inefficient and require manual intervention; for example, multiple examination scans performed in a single encounter cannot be billed separately. Therefore, physicians or other individuals must manually divide the examinations to allow the interface with the billing system to function effectively. As mentioned earlier, in the medical setting, existing methods involve a significant amount of manual input, which leads to errors that can impact patient care, as well as lost time and financial resources. A common error in existing systems is that patients are often double-billed, with a given scan being entered twice as both an educational and procedural study. Patients are not billed for educational studies, but unless a manual adjustment is made to one of the entries, both are billed, resulting in double billing and duplicate records.While billing errors are troublesome, it is undoubtedly more important that data errors in existing systems can result in incorrect treatment being performed on a given patient. Because manual intervention is required downstream to participate in and update studies (e.g., events, trials, scans, etc.), physicians can manually enroll in study groups for different patients. These orders are coordinated with patient visits at later visits, potentially leading to incorrect tests being performed on individuals, and this error is only discovered when a healthcare professional interprets the test results. In one example, a physician enrolls in a group of tests including cardiac and lung examinations, with the cardiac examination being performed on a patient who required a lung examination because the patient had been scanned for the wrong test. The healthcare professional responsible for interpreting the results sees the incorrect scan and, unaware whether the scan they are being asked to interpret belongs to the wrong patient or whether the patient data is correct, the incorrect test was performed. While the downstream administrative burden on physicians is significant and can impact the time they spend with patients, as this example demonstrates, pre-enrolling in multiple studies to reduce the downstream administrative burden can lead to data inconsistencies and compromise quality patient care.

[0043] Figure 1 provides a workflow 100 that may be utilized by an existing system within the context of a healthcare setting system. As shown in Figure 1, the problem with this existing system addressed by embodiments of the present invention is that a single order number is created for a given event (e.g., procedure). Therefore, when a given event involves multiple sub-events, which is often the case, there is no automated, efficient, and secure function in the system to reflect this reality in a way that can be sent to a billing system or accurately reflected in the point-of-care system itself. (The creation of many sub-events from an initial event is particularly common in emergency medical settings where a given individual is in the emergency room and may be navigated through many departments (performing different procedures) during a given visit.) As mentioned above, manual work downstream is required to correct this deficiency. As shown in Figure 1, workflow 100 begins when a given patient is admitted to a provider facility such as a hospital (110). Based on the admission record, the program code generates a digital message (e.g., in Health Level 7 or HL7 format, according to international standards for the transfer of clinical and administrative data between software applications) to notify various systems used at the provider facility of the encounter identifier (120). The program code inputs the digital message into the Modality Worklist (MWL) (130). As understood by those in the medical field, the MWL is a service of the Digital Imaging and Communications in Medicine (DICOM) system that makes patient demographic information from various medical systems available to modalities, eliminates duplicate data entry, and provides data integrity. For example, the MWL is a device that provides ultrasound patient metadata via the DICOM standard. Thus, modalities such as ultrasound systems can obtain patient metadata via the MWL. The program code of an existing system assigns an order number to the encounter number (the numbers match) (140). Thus, when communicating via the MWL, the program code of a system providing a given service obtains the order number associated with a given patient (150).The program code of a system providing a service (e.g., an ultrasound system) sends the service (examination) to a destination (e.g., a system) that can generate results (160). Using the ultrasound system example, the program code of the service-providing system sends the service (examination) to a picture archiving and communication system (PACS) archive to generate results. As described above, once the results of a given order are produced, the service associated with the order can be claimed (via an interface with a medical billing system).

[0044] In Figure 1, the order number generated by the program code (140) is associated by the program code with the original service completed (e.g., an examination) (160). As understood by individuals visiting service providers (e.g., hospitals, healthcare facilities, mechanics, etc.), the initial service or reason for a visit may not coincide with the service received at the end of the visit or encounter. Using medical services as an example, a professional may request various examinations and scans based on various occurrences during the interaction, which, in the professional opinion of the service provider, were not anticipated until the nature of these interactions required these examinations and scans. As mentioned above, the interface with the billing system will not function unless each service has its own order number. Therefore, if an unexpected service is provided, the user must manually adjust the events at the point of care system (e.g., additional ordering, splitting, and merging studies). In addition to the data integrity and processing efficiency issues mentioned above, this manual intervention also introduces challenges and uncertainties, including the risk that the original study performed may not be billed by adding additional services or studies.

[0045] An example of the lack of flexibility and the need for manual intervention in existing systems is illustrated in radiology orders that begin with a visit to the emergency department. This example is provided for illustrative purposes only and does not imply any limitation on the merits of the embodiments of the invention to existing systems. In existing order-based radiology systems, patients are scheduled to undergo examinations before a visit. The examinations are created within the system and updated, for example, by a physician in the emergency department, before the data from the visit can be sent to the billing system. The examinations created are specific to the order and represent a single outcome. Therefore, if there are any further examinations or procedures completed during a given visit, each event and / or examination is associated with the original order by the program code. This limitation of association results in significant customer overhead, as examinations that are not applicable to the original order must be managed to ensure they are billed correctly. Each additional examination must be divided by manual intervention, which may include ordering individual additional examinations, coordinating each examination after each examination is completed, and / or generating result documentation for each examination to complete billing. Manually managing these orders presents data integrity challenges, including, but not limited to, the following: 1) Management of MWL may be affected if the patient is no longer registered with the department where the visit was initiated (e.g., emergency department) or if a new encounter number is obtained from a subsequent visit after discharge; 2) Duplicate entries should be handled if the patient is still on the worklist but a user performing manual entry selects the wrong encounter and a new examination is applied to a patient who was discharged earlier that day.

[0046] In embodiments of the present invention, as shown in workflow 200 of Figure 2, the problems created by the correspondence between the initially generated order number and the event do not create limitations that require user intervention to address. Rather, in embodiments of the present invention, a given order is automatically associated with one or more accession numbers by the program code. In this context, the accession number is a child order and is also understood as a fill order. In existing encounter-based systems, the order and accession number are recognized as the same by the program code. As interoperability between various systems in a healthcare environment increases, the flexibility provided by the automatic creation of unique accession numbers associated with order numbers by the program code enables coordination between various systems that handle different possible events, which may include a single visit for an entity. Specifically, embodiments of the present invention are compatible with the use of HL7 messaging and MWL.

[0047] Referring to Figure 2, in one embodiment of the present invention, program code running on one or more processors in a computing environment receives a notification that a given consumer has entered a service location (210). In connection therewith, this entry in the service location or encounter is used by program code to generate order and accession numbers associated with this visit, as further shown in Figure 2. Returning to the notification (210), for example in a hospital setting, program code receives a notification that a given patient has been admitted. Based on receiving this notification (trigger), program code generates a digital message (e.g., via HL7 in a medical setting) to notify computing nodes and applications running in the computing environment that a given consumer has entered a service location (220). In some embodiments of the present invention, program code generates a digital message, but no notification is sent to computing nodes and applications. Rather, program code in one embodiment of the present invention receives an electronic message (230), but computing nodes and applications are not alerted to the existence of the digital message until program code associates the task or service request in the digital message with dynamic order and accession items. In a medical setting, utilizing the existing HL7 messaging standard is compatible with security protocols within the computing environment because notifications can contain personally identifiable information. The program code in an embodiment of the present invention receives an electronic message (230).

[0048] In some embodiments of the present invention, notifications and messages are acquired (210) and generated (220) by external applications of embodiments of the present invention, and program code of embodiments of the present invention interacts with these external applications in the computing environment via digital messaging. However, in some embodiments of the present invention, the acquisition of notifications and / or the generation of digital messages can be performed by program code of embodiments of the present invention. Aspects of some embodiments of the present invention are integrated into existing computing environments, interact with legacy systems, and therefore provide dynamic functionality within the security and technical constraints of existing computing environments. Accordingly, depending on the existing technical architecture, the acquisition of notifications (210) and / or the generation of digital messages (220) may or may not be functions of the program code disclosed in the examples herein.

[0049] In embodiments of the present invention, the program code generates and assigns a unique identifier to each accession (sub-record) for a given encounter (order). The program code increments the order and accession numbers to achieve this uniqueness. Thus, even when multiple services are provided as part of a given event, the program code can effectively and automatically divide the event (e.g., inspection) unlike existing systems. (As described later in this specification and shown in Figure 2, the program code reserves the next available dynamic accession number and, without user intervention, new event (It can be automatically assigned to / service / inspection.)

[0050] In some embodiments of the present invention, the dynamic order number generated by the program code includes a unique number of a predetermined maximum length. This value includes a prefix which may include, but is not limited to, identifiers of visited locations and the visit itself, a concatenation of various values ​​or descriptive parameters. For example, the dynamic order number may include a maximum capacity of 22 characters in length, containing displayable (printable) ACSII characters (hexadecimal values ​​between 20 and 7E, or ASCII decimal values ​​between 32 and 126), and may include a concatenation of a department “prefix” and a visit / encounter identifier (e.g., US112233, using “US” to represent “ultrasound” and 112233 to represent the encounter identifier). As described above, the accession number is a child of a given order number. In the context of the examples provided herein, the dynamic accession number is also a unique number of a predetermined maximum length. For example, a dynamic accession number, such as a dynamic order number, may be a unique number with a maximum capacity of 22 characters in length, consisting of a displayable (printable) ACSII character (hexadecimal value between 20 and 7E, or ASCII decimal value between 32 and 126), a department "prefix," a visit / encounter identifier, a symbolic type character such as a dash (-) or period (.), and a concatenation of the current inspection count starting with the digit 1 (e.g., US112233.1 or US112233-1, represented by [- / .]).

[0051] In embodiments of the present invention, program code can generate dynamic order numbers with associated dynamic accession numbers using various naming conventions. For example, an order with an accession number may take the following form: <personal identifier prefix><encounter identifier>[- / .]<accession number>. In a medical setting, the personal identifier can be the patient's prefix. The characters - / . are used herein as an unspecified example of a character separator that may or may not be implemented in dynamic accession numbers generated by program code, such that each dynamic accession number is unique and a child of the order number.

[0052] Returning to Figure 2, based on acquiring an electronic message (230), program code running on one or more processors determines whether there is a record for a given consumer generated within a defined time frame (240). For example, in an embodiment of the present invention integrated into a hospital medical system, the program code may or may not check whether a given individual, who is a patient, encountered the program code on the same day as the program code that acquired the electronic message. As mentioned above, in existing systems, manual users may inadvertently create duplicate records, which compromises data integrity. Therefore, in embodiments of the present invention, the program code automatically checks for duplicates and thus prevents this problem. In some embodiments of the present invention, the program code checks for existing records in one or more databases accessible to the program code in a computing environment.

[0053] If the program code determines that a record for a given consumer already exists within a defined time frame, the program code collects metadata from the existing record (already associated with the dynamic accession identifier) ​​(250). Furthermore, if the program code determines that a record for a given consumer already exists within a defined time frame, the program code retains the number (identifier) ​​associated with the existing dynamic accession (255). By making this retain, the program code closes the dynamic accession. For example, if the currently available number (the unique identifier of the order) is US112233[- / .]2, the program code reserves "[- / .]2" by removing it from the pool of unique identifiers it can assign. In some embodiments of the present invention, each unique order number with concatenated accession numbers begins with at least the value "[- / .]1". As described in this example, the program code closes a given accession number for an order upon its completion. However, in various service provider environments, various tasks may be accomplished in parallel by different systems. Therefore, there may be a given record that has not been resolved by the system. Therefore, the program code reserves an accession number for a record once it has located it, so that the record cannot be duplicated and its completion and final billing can proceed smoothly through the computing environment (255).

[0054] Returning to this example, if the program code determines that a record for a given consumer already exists within a defined time frame, the program code generates a new dynamic accession number and appends it to the existing dynamic order number (e.g., US112233[- / .]3) (260). Thus, the order number US112233 is no longer tied to a single event during a given encounter, based on the program code which is dynamic and augments the order with individual identifiers. By placing a hold (255), the program code eliminates duplication between accession numbers (which are children of the given order number) and, by using identifiers (260) to increment the numbers, the program code creates a unique accession number for a given event during the encounter.

[0055] Alternatively, if the program code determines that no record exists for a given consumer within a defined time frame, the program code generates a new dynamic order number using the dynamic accession number (270). For example, the program code may generate a dynamic order number for US112233, which, using the dynamic accession number, becomes US112233[- / .]1 generated by the program code.

[0056] As shown in Figure 2, the program code sends the generated values ​​to a shared queue of tasks / events accessible to applications within the computing environment (280). As shown in Figure 2, the contents (and names) of the items in the queue depend on whether an existing consumer record exists. In one example (e.g., Figures 2, 250, 255, 260), the program code sends US112233[- / .]3 to the queue, and in another example, the program code sends US112233[- / .]1 (e.g., Figure 2, 270) to the queue. In a healthcare environment, the shared queue can be a MWL, and the program code of one embodiment of the present invention provides a generated list of dynamically generated accession numbers for the MWL. In this healthcare environment, the MWL is accessed by applications within the computing environment (e.g., modalities within the environment) and / or messaging applications that utilize the DICOM standard with given consumer / patient metadata. The use of the shared queue (e.g., MWL) by the program code allows a dynamic order associated with different consumers to move with them as different consumers navigate locations and receive different services. Dynamic accession numbers are not duplicated by program code, and their order and uniqueness are maintained regardless of the received service or the order of those services.

[0057] When tasks / events are added to a shared queue, applications and devices within the computing environment that can complete these tasks can retrieve the tasks (associated data and requests) in various ways across various embodiments of the present invention. In certain embodiments of the present invention, various applications within the computing environment poll the queue at predetermined intervals to receive a list of accessions for completion (for example, a given modality may receive requests to complete events / tasks for different individuals). In some computing environments, various applications interface with the queue, and an interface displaying associated worklist items is updated in real time, alerting modalities to worklist or queue items. Additionally or alternatively, program code in embodiments of the present invention notifies relevant applications or modalities that can handle the creation of various tasks or tasks in the queue. Messages generated, transmitted, and / or received during these interactions may utilize Transport Layer Security (TLS) in some embodiments of the present invention.

[0058] A worklist or queue accessed by applications and computing nodes within a computer environment (e.g., a point-of-care ultrasound (POCUS) device) to retrieve consumer events / tasks provides the consumer (e.g., a patient) with the next event (e.g., an examination). As shown in Figure 2, the application retrieves the event / task from the queue (290). Returning to the example of a medical setting, the MWL service can send digital messages to applications within the computing environment, and / or the application can acknowledge the MWL for the message. In both examples, the digital message is retrieved by the ultrasound system's program code, for example, with the patient's current dynamic accession number. The application completes the task / event and notifies the program code that the event / task is complete (295). In a non-limiting example of a medical setting, the ultrasound system completes this aspect by pushing the examination (completed task / event) to an image archiving and communication system (PACS) archive to generate results and notifying the program code that the task / event is complete (295). Next, the program code reserves the current dynamic accession number for any task / event that is not yet performed (e.g., an inspection) ([- / .]1), and then increments the dynamic accession number for the next inspection ([- / .]2)(298).

[0059] As described herein, embodiments of the present invention can be used in healthcare settings. Accordingly, Figure 3, a detailed workflow 300, is provided within the context of this setting to demonstrate the specific functionality of several embodiments at a granular level. This non-limiting example is provided for illustrative purposes only. Figure 3 illustrates specific events occurring in a hospital setting that trigger program code in embodiments of the present invention to create dynamic order numbers with associated dynamic accession numbers and enforce the integrity of these orders. This example includes admission / discharge transfer system (ADT) system events from electronic medical records (EMR). Figure 3 illustrates the interaction of program code with various systems in a computing environment. These systems can be implemented as standalone applications or as modules or components of another device application, and in any type of computing device, as modules or components in any type of hardware or software, in software (e.g., as software instructions executable in a processing system), hardware, or a combination thereof. The term "program code" is used throughout this application and can refer to logic executed by both hardware and software, including the embodiments described.

[0060] Referring to Figure 3, various events 310 open the patient record in the EMR system 315. Examples of events 310 provided herein include pre-admission of a patient, transfer of a patient to a different department, creation of a patient within the system, and discharge or transfer of a patient. The creation of a patient record in the EMR system 315 triggers the creation of various messages 320 by the ADT system 325. Based on the operation within the EMR system, program code and other systems in the computing environment are notified that the patient is in that location (see, for example, Figure 2,210). Based on the messages 320 from the ADT system 325, an order is entered into the order system 335. The messages generated by the ADT system 325 are HL7 messages in the illustrated example. A05 is a message for pre-approving the patient. A01 is admission, A05 is transfer, and A04 is a message for registering the patient. As seen in Figure 3, the A05, A01 / 02, and A04 messages all prompt the order system 335 to create an order 332. The A014 message is a pending permission message that is sent to worklist 358. The EMR system 315's action of a patient's discharge or transfer triggers the ADT system 325 to generate a message regarding the discharged visit completion message A03, or a message A06 changing an outpatient to an inpatient. Based on the A08 message for updating patient information, the order system 335 may update order 336 to move the order to another day, and program code enters into worklist 358 (359). If the HL7 message indicates discharge (A03) or change to inpatient (A06), the order system 335 may cancel order 334 and warn of the program code of the embodiment of the present invention for this request, and program code enters into worklist 358 (359).

[0061] HL7 Order Entry (ORM) messages can be a message type used to hold information about a request for materials or services. The order system 335 generates an order event 330 which includes generating at least one order 332, and program code executing one or more processors generates a dynamic order number and a dynamic accession number. The various operations 350 completed by the program code are related to maintaining the synchronization of the modality worklist 355 and are therefore grouped together for illustrative purposes. The program code retrieves order 332 and determines whether this order already exists 352. If the program code determines that the order already exists, the program code reserves order 354, requests / generates a new order 356, and sends it to the worklist 358. If the program code determines that the order does not exist, the program code requests / generates a new order 356 and sends it to the worklist 358. To maintain uniqueness or numbering used within the system, various aspects of the program code can be considered part of a synchronous application or module 365. Various operations 360 can be completed by a synchronous application or module 365 to maintain consistency of dynamic orders and accession numbers, some of which are shown in Figure 3. When the program code divides a given check, the program code generates / obtains a new accession number 362 and provides it to the worklist manager 350. The program code then checks whether the orders are duplicated (352). When the program code coordinates and archives the completed check 364, the program code reserves the order number to be used for this completed check (354).

[0062] In an embodiment of the present invention, the order system 335 is an order -When a request to cancel is created, the program code receives this request and sends the cancellation to worklist 359. If an order is updated (336), assuming that the completion occurs beyond the time frame defined to identify duplicate orders, the program code receives a request for this update and sends that request to worklist 357. Meanwhile, based on the items in the worklist, various orders are completed by system 345 in the computing environment (340), and once completed, are sent to be coordinated and archived (364).

[0063] As described above, in some embodiments of the present invention, program code running on one or more processors in the embodiments of the invention can generate tasks or events for a shared queue in advance based on a given consumer entering a service location. However, in some situations, the consumer's identification information is unknown in advance for the requested or needed service (as determined by the service provider). For example, the consumer may be an unidentified "John Doe" in an emergency room. Given that waiting to provide this service may constitute a risk to an unidentified consumer, in some embodiments of the present invention, the service and its recipient are coordinated later by the program code. Figure 4 shows a workflow 400 illustrating a particular aspect of some embodiments of the present invention in this scenario, where the consumer's identification information is known after one or more services have been ordered and / or completed, but not before one or more services have been ordered and / or completed. In this workflow, tasks or services in the shared queue are pushed to modalities in the technology environment to alert the system or modality of identification issues in real time or near real time, prompting action to be taken before data integrity and integrity are compromised.

[0064] Referring to Figure 4, in some embodiments of the present invention, program code obtains a notice that an unidentified individual presents at a service location (410). The program code generates a digital message based on the notice (415). The program code places the digital message into a shared queue accessible to an application running in the computing environment, where the digital message is a request for a service to be performed on / for the unidentified individual (420). The request is associated with a temporary identifier. An application capable of performing the service obtains the request from the queue (425).

[0065] Asynchronously or synchronously with the application acquiring the service, the program code receives notification that an unidentified individual is associated with a Medical Record Number (MRN) and provides personally identifiable information about the individual (430). Alerts for individuals identified by other systems in the computing environment are sent in real time via digital messages or through another application. The program code determines whether a record for the currently identified individual exists within a given time frame (e.g., the same business day) (435). Based on the determination that a record for a given individual already exists within the defined time frame, the program code retains the number associated with the existing dynamic accession (440). The program code generates a new dynamic accession number and appends it to the existing dynamic order number (445). Based on the determination that there is no duplicate, the program code generates a new dynamic order number using the dynamic accession number (447). The program code reserves the new number and associates the new number with the requested service (450). The program code generates a digital message with the request for the service to be performed and sends the digital message to the queue (455). A service that continuously checks the queue for new messages and updates the messages pushes the updated requests to an application that is running or already running the update service (460). In some embodiments of the present invention, this service is one aspect of the embodiment. In other embodiments of the present invention, program code initializes and / or communicates with this service so that the service monitors the queue. Based on obtaining the update, the application modifies the metadata and / or data associated with the request to reflect the new dynamic order number using the dynamic accession number (465). The application completes the service and notifies the program code that the service is complete (470). The program code reserves the current dynamic accession number and increments the dynamic accession number for the next service ([- / .]2)(475).In this example, the order number and accession number associated with the service are changed before the service is executed, although in some examples, the numbers can be changed after the service has been executed. The allocation of dynamically generated order and accession numbers avoids duplication. Program code can push the dynamic order number and dynamic accession number to the system associated with the task execution as soon as this information becomes available, in order to maintain data integrity of the system.

[0066] Figure 5 is a workflow 500 that includes specific details of how program code in an embodiment of the present invention can alert a modality to an event (and / or event update). A certain previous example describes the use of digital messaging via the HL7 standard, which is for illustrative purposes only and does not imply any limitation, and the program code utilizes application procedure interface (API) requests, which are an alternative method of message delivery. In this example, communication between the various elements of the technical elements involved in workflow 500 is conducted via TLS 1.2 / 1.3 Hypertext Transfer Protocol Secure (HTTPS), a secure web interface. This is a non-limiting example and is provided for illustrative purposes only. In this example, program code 501 in the illustrated embodiment of the present invention performs different functions. Program code 501 is separated into different functions for illustrative purposes only and does not imply any limitation on the technical architecture of the module containing the program code. As described later, program code 501 includes a subscription service 525 that generates a token 530, and program code that generates a notification that an application subscribes to via the generated token 530 and the subscription service 525.

[0067] The workflow 500 in Figure 5 illustrates real-time event subscription and notification. In Figure 5, an application 510 (e.g., a modality) in a computing environment can subscribe to event notifications, and based on this subscription, notifications related to these events are delivered to this subscriber in real time. In this example, application 510 is any application that can request and receive requests compliant with the Hypertext Transfer Protocol (HTTP). As illustrated, application 510 chooses to subscribe to events when program code creates a dynamic order and / or dynamic accession for a patient (520). In this example, application 510 sends an Application Procedure Interface (API) request (POST) to program code 501, which includes a subscription service 525 in an embodiment of the present invention, to subscribe to events via Transport Layer Security (TLS). The subscription service 525 accepts the subscription and generates a token 530 for application 510 (527). The token 530 notifies program code to process a notification 540 of which subscriptions application 510 should receive (532).

[0068] The technical aspects of the workflow in Figure 5 are used in a scenario where an unknown patient, "Jane Doe," is admitted to a healthcare provider such as an emergency department. For this reason, this non-limiting example is used to illustrate aspects of workflow 500. In this example, the clinician acknowledges this unknown patient. Once the EMR department registrar reconciles the patient's information and provides the true identity of the aforementioned Jane Doe, the program code captures the reconciliation via a digital message (550), and then the program code sends a notification back to the application (560) because token 530 indicates that application 510 is subscribed to receive this type of reconciliation information (555). In this way, the program code can notify the clinician in real time via application 510 that a new order has been placed for the reconciled patient (i.e., Jane Doe). In this example, for each subscribed event, an HTTP POST request is sent via TLS to notify application 510 that one of the subscribed events has been triggered.

[0069] Embodiments of the present invention include a computer-implemented method, a computer program product, and a computer system in which program code executed by one or more processors in a computing environment obtains an electronic message indicating that an individual is physically present at a service location. The program code generates a new service request for the individual, and the new service request for the individual includes a unique identifier. The program code sends the new service request to a shared queue that has access to one or more modalities, including resources in the computing environment.

[0070] In some examples, the step of generating a new service request for an individual includes program code that determines whether an existing service request associated with the individual was generated by the processor within a given time frame. Based on the determination that an existing service request was generated within the given time frame, the program code generates a unique identifier for the new service request based on the unique identifier of the existing service request. The program code generates the unique identifier by reserving the unique identifier of the existing service request, incrementing the final value of the unique identifier of the existing service request by a predetermined value if the final value of the unique identifier of the existing service request is an integer, and associating the incremented unique identifier of the existing service request with the new service request as the unique identifier of the new service request.

[0071] In some examples, the step of generating a new service request for an individual includes program code that determines whether an existing service request associated with the individual was generated by the processor within a given time frame. Based on the program code that determines that no existing service request was generated within the given time frame, the program code generates a unique identifier for the new service request, the final value of which is an integer.

[0072] In some examples, the program code receives notification from one or more modalities that a new service request has been completed. The program code reserves a unique identifier for the new service request. The program code increments the final value of the unique identifier for the new service request by a predetermined value to use as the unique identifier for the next service request associated with an individual generated within a given time frame.

[0073] In some examples, program code identifies at least one of one or more modalities, and at least one modality includes technical characteristics that enable at least one modality to complete a new service request. The program code notifies at least one modality that a new service request has been sent to the shared queue. For example, the program code may notify a patient health application, an image storage device, and / or a mobile application via digital messages and / or other notifications (including notifications within an application or web interface). In some examples, a particular authorized modality subscribes to receive a particular type of notification. Thus, authorized and subscribed modalities receive this notification.

[0074] In some examples, the step of sending a new service request to a shared queue and notifying at least one modality is performed in parallel by one or more processors.

[0075] In some examples, generating a new service request for an individual further involves the program code collecting metadata from an existing service request, based on the determination that the existing service request was generated within a given timeframe. The program code then incorporates the metadata into the new service request.

[0076] In some examples, determining whether an existing service request associated with an individual was generated by one or more processors within a given time frame involves program code that queries one or more databases within the computing environment.

[0077] In some examples, the time frame is the calendar day on which an individual is physically present at the service location.

[0078] In some cases, one or more electronic messages indicating an individual's physical presence at a service location, as well as the submission of a new service request to a shared queue, are in Health Level 7 (HL7) format.

[0079] In some examples, the shared queue includes a modality worklist.

[0080] In some examples, the given value is 1.

[0081] In some examples, the integer of a new service request includes an accession number, and the accession number of the new service is the number of the ordered sequence of services requested for an individual within a given timeframe.

[0082] In some examples, the unique identifier for a new service request involves a concatenation of values, which are selected from a group consisting of the service location, the individual's visit number at the service location, the individual's identifier, and the service identifier.

[0083] In some examples, an electronic message indicating an individual's physical presence at a service location does not contain personally identifiable data or metadata. The method further includes program code that associates a new service request with a medical record number in an electronic medical record system within a computing environment, and the program code updates the new service request based on the association.

[0084] In some examples, program code sends a message to the electronic billing system to instruct it to generate an invoice for a new, completed service request.

[0085] Figure 6 shows a computing environment 600 that can implement aspects of several embodiments of the present invention. Each element represented in this technical environment may include one or more computing resources (e.g., Figure 7,700). Furthermore, the isolation of various nodes as described herein is provided as an example of a possible configuration. For example, in a technical environment implemented in a medical setting, the same computing resources that execute program code of one embodiment of the present invention may also execute program code for a system that handles admissions and / or orders. As shown herein, one or more computing nodes 610 that execute various applications 611 are the present invention Ming Data is provided to one or more computing nodes 620 that execute program code implementing aspects of several embodiments. This data may include notifications that a consumer has entered a facility. The program code sends a message to a queue 630. This communication can be done via digital messages (e.g., HL7) and / or HTTP / HTTPS. Although the queue 630 is shown herein as an entity of its own, it can be run and maintained by one or more computing resources and / or maintained on the same computing node 620 on which the program code 621 is executed by a processor. This queue 630 is accessible to one or more computing devices 640. These computing devices are or include various modalities that check the queue 630 and / or subscribe to updates to the queue 630. When a given event is completed, a modality of one or more computing devices 640 notifies the program code 621, and the program code can provide this data to other systems 651 running on a computing node 650 in the computing environment 600. For example, the program code 621 may notify a billing system to generate an invoice for a given event.

[0086] Figure 7 shows a block diagram of a resource 700 in a computer system, such as a part of the technical architecture of a particular embodiment of the technology. For example, resource 700 may be connected to or included in a modem, which is used in various embodiments of the invention, to send and receive additional signals over a legacy bus. Additionally or alternatively, a particular bus itself, which can be used in embodiments of the invention, is a computing resource 700. Returning to Figure 7, resource 700 may include circuitry 702, which in a particular embodiment may include a microprocessor 704. The computer system 700 may also include memory 706 (e.g., volatile memory devices) and storage devices 708. Storage devices 708 may include non-volatile memory devices (e.g., EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, firmware, programmable logic, etc.), magnetic disk drives, optical disk drives, tape drives, etc. Storage devices 708 may include internal storage devices, mounted storage devices, and / or network-accessible storage devices. The system 400 may include program logic 710, which includes code 712 that can be loaded into memory 706 and executed by a microprocessor 704 or circuit 702.

[0087] In certain embodiments, the program logic 710, including code 712, can be stored in a storage device 708 or memory 706. Additionally or alternatively, the program logic 710 can be implemented in circuit 702. Thus, although Figure 7 shows the program logic 710 separately from other elements, the program logic 710 can be implemented in memory 706 and / or circuit 702. The program logic 710 may include program code described in this disclosure that facilitates the reconfiguration of various computer network elements, including those shown in various figures. Additionally or alternatively, the program logic 710 may include program code described in this disclosure that facilitates maintaining data integrity of tasks across a computing environment, as shown in Figures 2 to 6.

[0088] Using the processing resources of resource 700 to execute software, computer-readable code, or instructions does not limit where this code can be stored. Referring to Figure 8, in one example, the computer program product 800 includes one or more non-temporary computer-readable storage media 802 for storing computer-readable program code means or logic 804, for example, to provide and facilitate one or more aspects of the technology. Examples of non-temporary computer-readable storage media 802 include storage memory such as any type of disk, including floppy disks, optical disks, CD-ROMs, and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, or any type of medium suitable for storing electronic instructions.

[0089] As will be understood by those skilled in the art, aspects of this technology can be embodied as systems, methods, or computer program products. Accordingly, aspects of this technology can take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware embodiments, all of which may be commonly referred to herein as “circuits,” “modules,” or “systems.” Furthermore, aspects of this technology can take the form of computer program products embodied in one or more computer-readable media in which computer-readable program code is embodied.

[0090] Any combination of one or more computer-readable media can be used. A computer-readable media may be a computer-readable signaling medium or a computer-readable storage medium. A computer-readable signaling medium may contain propagating data signals in which computer-readable program code is internally embodied, for example, in the baseband or as part of a carrier wave. Such propagating signals may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. A computer-readable signaling medium may be any computer-readable medium, rather than a computer-readable storage medium, that can communicate, propagate, or transport programs for use by or in connection with an instruction execution system, apparatus, or device.

[0091] Computer-readable storage media may, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In the context of this specification, computer-readable storage media may be any tangible medium that can contain or store programs for use by or in connection with an instruction execution system, apparatus, or device.

[0092] Any combination of one or more computer-readable media can be used. A computer-readable media may be a computer-readable signaling medium or a computer-readable storage medium. A computer-readable signaling medium may contain propagating data signals in which computer-readable program code is internally embodied, for example, in the baseband or as part of a carrier wave. Such propagating signals may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. A computer-readable signaling medium may be any computer-readable medium, rather than a computer-readable storage medium, that can communicate, propagate, or transport programs for use by or in connection with an instruction execution system, apparatus, or device.

[0093] Program code, embodied on a computer-readable medium, can be transmitted using appropriate media including, but not limited to, wireless, wired, fiber optic cables, RF, or any appropriate combination thereof.

[0094] Computer program code for performing actions for a particular aspect of technology can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and traditional procedural programming languages ​​such as the C programming language, PHP, ASP, assembler, or similar programming languages, as well as functional programming languages ​​and languages ​​for technical computing (e.g., Python, Matlab). The program code can run entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can connect to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or to an external computer (e.g., via the Internet using an Internet Service Provider). Furthermore, the program code can be implemented using two or more computers, including one or more resources in a cloud computing environment, but is not limited to these.

[0095] Aspects of the present technology will be described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block in a flowchart and / or block diagram, as well as any combination of blocks in a flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a dedicated computer, or other programmable data processing device to manufacture a machine, and as a result, instructions executed via the processor of the computer or other programmable data processing device create means for performing the functions / operations specified in one or more blocks of the flowchart and / or block diagram.

[0096] These computer program instructions, also called software and / or program code, can also be stored in computer-readable media that can instruct a computer, other programmable data processing device, or other device to function in a particular way, and instructions stored in computer-readable media can be used to manufacture products that include instructions that perform functions / operations specified in one or more blocks of a flowchart and / or block diagram.

[0097] Computer program instructions can also be loaded into a computer, other programmable data processing device, or other device to execute a series of operational steps on the computer, other programmable device, or other device to generate a computer implementation process, where the instructions executed on the computer or other programmable device provide a process for implementing a function / operation specified in one or more blocks of a flowchart and / or block diagram.

[0098] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible embodiments of the system, method, and computer program product according to various embodiments of the present technology. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. Note that in some alternative embodiments, the functions described in a block may be performed in an order different from the order shown in the figure. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or blocks may sometimes be executed in reverse order depending on the functions they relate to. Note that each block in a block diagram and / or flowchart, as well as combinations of blocks in a block diagram and / or flowchart, can be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that performs a specified function or operation.

[0099] In addition to the above, one or more aspects of the technology may be provided, delivered, deployed, managed, serviced, etc. by a service provider that provides management of customer environments. For example, a service provider may create, maintain, and support computer code and / or computer infrastructure that implements one or more aspects of the technology for one or more customers. Alternatively, the service provider may receive payments from customers, for example, under subscriptions and / or fee agreements. Additionally or alternatively, the service provider may receive payments to one or more third parties from the sale of advertising content.

[0100] In one aspect of this technique, an application can be deployed to perform one or more aspects of this technique. For example, the deployment of the application includes providing a computer infrastructure capable of operating to perform one or more aspects of the technique.

[0101] In a further embodiment of this technology, a computing infrastructure can be deployed that includes integrating computer-readable code into a computing system, and the code combined with the computing system can perform one or more embodiments of this technology.

[0102] In a further aspect of this technology, a process for integrating a computing infrastructure, including integrating computer-readable code into a computer system, can be provided. The computer system includes a computer-readable medium, and the computer medium includes one or more aspects of this technology. The code combined with the computer system can execute one or more aspects of the technology.

[0103] Furthermore, other types of computing environments may benefit from one or more aspects of the technology. For example, an environment may include an emulator (e.g., software or other emulation mechanism) that emulates a particular architecture (e.g., including architectured functions such as instruction execution, address translation, and architectured registers) or a subset thereof (e.g., on a native computer system having a processor and memory). In such an environment, one or more emulation functions of the emulator may implement one or more aspects of the technology, even if the computer running the emulator has a different architecture from the function being emulated. For example, in emulation mode, a particular instruction or operation being emulated is decoded, and an appropriate emulation function is constructed to perform the individual instruction or operation.

[0104] In an emulation environment, the host computer includes, for example, memory for storing instructions and data; an instruction fetch unit for fetching instructions from memory and optionally providing local buffering for the fetched instructions; an instruction decode unit for receiving the fetched instructions and determining the type of the fetched instructions; and an instruction execution unit for executing the instructions. Execution may include steps of loading data from memory into registers, returning data from registers to memory for storage, or performing some type of arithmetic or logical operation as determined by the decoding unit. In one example, each unit is implemented in software. For example, the actions performed by the units are implemented as one or more subroutines in the emulator software.

[0105] Furthermore, a data processing system suitable for storing and / or executing program code is available, which includes at least one processor directly or indirectly coupled to the memory elements via a system bus. The memory elements include, for example, local memory used during the actual execution of the program code, mass storage, and cache memory that provides temporary storage for at least some of the program code to reduce the number of times the code must be retrieved from mass storage during execution.

[0106] Input / output or I / O devices (including, but not limited to, keyboards, displays, pointing devices, DASDs, tapes, CDs, DVDs, thumb drives, and other memory media) can be coupled to the system directly or via an intermediary I / O controller. Network adapters can also be coupled to the system to enable the data processing system to be coupled to other data processing systems or remote printers or storage devices via a private or public network. Modems, cable modems, and Ethernet cards are just a few of the types of network adapters available.

[0107] The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the invention. Where used herein, the singular forms “a,” “an,” and “the” are intended to include the plural form unless the context clearly indicates otherwise. Where used herein, the terms “comprises” and / or “comprising” specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.

[0108] All means or steps and functional elements in the following description are intended to include, in combination with other elements specifically described, any structures, materials, or actions that perform the function. The technical description is presented for illustrative and explanatory purposes, but is not intended to be exhaustive or to limit the invention to the disclosed forms. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The embodiments have been selected and described to best illustrate the principles and practical applications of the invention and to enable those skilled in the art to understand the invention in terms of various embodiments with various modifications suitable for specific applications to which the invention is intended.

Claims

1. The steps include: obtaining an electronic message indicating that an individual is physically present at a service location using one or more processors within a computing environment; A step of generating a new service request for the individual using one or more processors, wherein the new service request for the individual includes a unique identifier. The steps include: sending the new service request to a shared queue that has access to one or more modalities, including resources within the computing environment, using one or more processors; A method performed by a computer, including, The step of generating the new service request for the individual is, The step of determining whether an existing service request associated with the individual was generated by the one or more processors within a predetermined time frame, A step of determining that no existing service requests were generated during the predetermined time frame, wherein one or more processors generate the unique identifier for the new service request, the final value of the unique identifier for the new service request includes an integer; A method performed by a computer, including the above.

2. The step of generating the new service request for the individual is, The step of determining whether an existing service request associated with the individual was generated by the one or more processors within a predetermined time frame, Based on the step of determining that the existing service request was generated within the predetermined time frame, one or more processors generate the unique identifier of the new service request based on the unique identifier of the existing service request, wherein the generation step is: A step of reserving the unique identifier of the existing service request using one or more processors, wherein the final value of the unique identifier of the existing service request includes an integer. The steps include: using one or more processors to increment the final value of the unique identifier of the existing service request by a predetermined value; The generating step includes the step of associating the new service request with the incremented unique identifier of the existing service request as the unique identifier of the new service request using one or more processors, A computer-based method according to claim 1, including the method described in claim 1.

3. The steps include: obtaining a notification from one or more of the modalities that the new service request has been completed using one or more of the aforementioned processors; The steps include: reserving the unique identifier of the new service request using one or more processors; The steps include: using one or more processors to increment the final value of the unique identifier of the new service request by the predetermined value for use as a unique identifier for the next service request associated with the individual generated during the predetermined time frame; The computer-based method according to claim 2, further comprising:

4. A step of identifying at least one modality from among the one or more modalities using the one or more processors, the step including technical characteristics that enable the at least one modality to complete the new service request, The steps include: one or more processors notifying at least one modality that the new service request has been sent to the shared queue; A computer-based method according to claim 1, further comprising:

5. The method according to claim 4, performed by a computer, wherein the step of sending the new service request to the shared queue and notifying the at least one modality is performed in parallel by one or more processors.

6. The step of generating the new service request for the individual is, The steps include: collecting metadata from the existing service request using one or more processors; The steps include: incorporating the metadata into the new service request using one or more processors; The computer-based method according to claim 2, further comprising:

7. A method performed by a computer according to claim 2, wherein the step of determining whether the existing service request associated with the individual was generated by the one or more processors within the predetermined time frame includes the step of the one or more processors querying one or more databases in the computing environment.

8. The computer-based method according to claim 2, wherein the time frame is a calendar day in which the individual is physically present at the service location.

9. A method performed by a computer according to claim 1, wherein one or more of the electronic messages indicating the physical presence of the individual at the service location, and the transmission of the new service request to the shared queue, are in Health Level 7 (HL7) format.

10. The method according to claim 1, performed by a computer, wherein the shared queue includes a modality worklist.

11. The method performed by a computer according to claim 2, wherein the predetermined value is 1.

12. The computer-based method according to claim 1, wherein the integer of the new service request includes an accession number, and the accession number of the new service is a number in an ordered sequence of services requested for the individual during the predetermined time frame.

13. The computer-based method according to claim 1, wherein the unique identifier of the new service request includes a concatenation of values, the values ​​being selected from the group consisting of the service location, the visit number of the individual at the service location, the individual's identifier, and the service identifier.

14. The electronic message indicating that the individual is physically present at the service location does not include data or metadata that identifies the individual, and the method The steps of associating the new service request with a medical record number in the electronic medical record system within the computing environment using one or more processors, The steps include updating the new service request based on the association using one or more processors, A computer-based method according to claim 1, further comprising:

15. The step of sending a message to the electronic billing system instructing the one or more processors to generate an invoice for the completed new service request. The computer-based method according to claim 3, further comprising:

16. A computer program product, The method includes a computer-readable storage medium that is readable by one or more processors in a shared computing environment including a computing system and stores instructions for execution by the one or more processors to perform a method, and the method is The steps include: obtaining an electronic message indicating that an individual is physically present at a service location using one or more processors within the computing environment; A step of generating a new service request for the individual using one or more processors, wherein the new service request for the individual includes a unique identifier. The steps include: sending the new service request to a shared queue that has access to one or more modalities, including resources within the computing environment, using one or more processors; Includes, The step of generating the new service request for the individual is, The step of determining whether an existing service request associated with the individual was generated by the one or more processors within a predetermined time frame, A step of determining that no existing service requests were generated during the predetermined time frame, wherein one or more processors generate the unique identifier for the new service request, the final value of the unique identifier for the new service request includes an integer; Computer program products, including [this].

17. The step of generating the new service request for the individual is, The step of determining whether an existing service request associated with the individual was generated by the one or more processors within a predetermined time frame, Based on the step of determining that the existing service request was generated within the predetermined time frame, one or more processors generate the unique identifier of the new service request based on the unique identifier of the existing service request, wherein the generation step is: A step of reserving the unique identifier of the existing service request using one or more processors, wherein the final value of the unique identifier of the existing service request includes an integer. The steps include: using one or more processors to increment the final value of the unique identifier of the existing service request by a predetermined value; The generating step includes the step of associating the new service request with the incremented unique identifier of the existing service request as the unique identifier of the new service request using one or more processors, The computer program product according to claim 16, including the above.

18. A computer system, Memory and One or more processors that communicate with the aforementioned memory, The method includes program instructions that can be executed by one or more processors in the shared computing environment of the computing system via the memory in order to perform the method, and the method is The steps include: obtaining an electronic message indicating that an individual is physically present at a service location using one or more processors within the computing environment; A step of generating a new service request for the individual using one or more processors, wherein the new service request for the individual includes a unique identifier. The step of sending the new service request to a shared queue that has access to one or more modalities, including resources in the computing environment, using one or more processors, The step of generating the new service request for the individual is, The step of determining whether an existing service request associated with the individual was generated by the one or more processors within a predetermined time frame, A step of determining that no existing service requests were generated during the predetermined time frame, wherein one or more processors generate the unique identifier for the new service request, the final value of the unique identifier for the new service request includes an integer; A computer system, including a computer system.