Preserving data integrity in tasks across computing systems

JP2024528480A5Active Publication Date: 2025-03-12FUJIFILM SONOSITE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023579369
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-06-25
Filing Date
2022-04-04
Publication Date
2025-03-12
Estimated Expiration
2042-04-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-charging, wrong procedures, and data inconsistencies.

Method used

A method and system that utilize program code to automatically generate unique identifiers for service requests, incrementing them dynamically to ensure uniqueness, and manage these requests through shared queues, integrating with existing systems to maintain data integrity and consistency.

Benefits of technology

This approach reduces manual intervention, minimizes errors, ensures accurate billing, and maintains data integrity by automatically handling multiple services within a single encounter, enhancing system efficiency and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
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 TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Patent Application No. 17 / 358,561, entitled "PRESERVING DATA INTEGRITY IN TASKS ACROSS A COMPUTING SYSTEM," filed June 25, 2021, the entire contents of which are incorporated herein in their entirety for all purposes. BACKGROUND OF THEINVENTION

[0002] In various service industries, including but not limited to healthcare, a consumer's movement through a workflow, including accepting various services from a provider, is managed via an encounter-based workflow that is derived from an order-based workflow. The system's ability to manage this workflow relies on the periodic manual entry of individual orders that represent events during an encounter or visit, such as an examination or test at a medical site. Obviously, if an order number is not associated with an event, it cannot even be billed. To ensure that an order is created during a given encounter, the provider's employees must enter and update records during the encounter. The manual work of entering and updating these orders is continuous and, because it is manual, is not only inefficient but also has the potential to introduce errors into the workflow. Common errors include performing the wrong procedure for a given patient, double-charging a patient for a given procedure, and human error that is the result of a physician having to reduce interaction time with the patient due to the time required to manually enter, update, and / or correct data. In one example, in a healthcare environment, a patient's consultation or procedure is ordered (from an order entry system) in advance of the patient's visit. A patient visit is assigned an identifier, which may be called an encounter number, which serves as a mechanism for identifying the patient's tests or procedures. However, as a patient progresses through a given visit and various tests and examinations are performed, many of which obviously could not be predicted prior to the visit, order numbers must be created for these new tests and examinations. In the existing system, these new orders are assigned temporary identifiers, but the entirety of the encounter cannot be viewed as a whole unless and until each temporary identifier is manually updated, for example by a physician (who places the order and manually adjusts it). Summary of the Invention

[0003] Shortcomings of the prior art may be overcome and advantages described below in this disclosure may be achieved by providing a method for maintaining data consistency of tasks across computing environments. Various examples of methods are described below, in any combination (unless the combination is inconsistent), including and excluding the additional examples listed below, that overcome these shortcomings. The method includes obtaining, by one or more processors in the computing environment, an electronic message indicating that an individual is physically present at a service location, generating, by the one or more processors, a new service request for the individual, the new service request for the individual including a unique identifier, and sending, by the one or more processors, the new service request to a shared queue accessible to one or more modalities including resources in the computing environment.

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

[0005] The shortcomings of the prior art are also overcome and additional advantages are provided by providing a computer program product for maintaining data consistency of tasks across a computing environment. Various examples of computer program product systems are described below, and the computer program product, including and excluding the additional examples listed below, in any combination (unless the combination is inconsistent), overcomes these shortcomings. The computer program product includes a computer-readable storage medium readable by one or more processors and storing instructions for execution by the one or more processors to perform a method, the method including the steps of obtaining, by the one or more processors in the computing environment, an electronic message indicating that an individual is physically present at a service location, generating, by the one or more processors, a new service request for the individual, the new service request for the individual including a unique identifier, and sending, by the one or more processors, the new service request to a shared queue accessible to one or more modalities including resources in the computing environment.

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

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

[0008] In some examples, generating a new service request for the individual includes determining, by the one or more processors, whether an existing service request associated with the individual was generated by the one or more processors during a predetermined time frame, and generating, by the one or more processors, a unique identifier for the new service request based on determining that an existing service request was not generated during the predetermined time frame, where a final value of the unique identifier for the new service request comprises an integer.

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

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

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

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

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

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

[0015] In some examples, one or more of the electronic messages indicating an individual's physical presence at a service location, as well as the submission of a new service request to the 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 predetermined value is one.

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

[0019] In some examples, the unique identifier for the new service request comprises a concatenation of values, the values ​​being selected from the group consisting of the service location, a visit number of the individual at the service location, an identifier of the individual, and an identifier of the service.

[0020] In some examples, the electronic message indicating the individual is physically present at the service location does not include data or metadata that identifies the individual, and the method further includes associating, by the one or more processors, the new service request with a medical record number in an electronic medical record system in the computing environment, and updating, by the one or more processors, the new service request based on the association.

[0021] In some examples, the method further includes sending, by the one or more processors, a message to the electronic billing system to instruct the electronic billing system to generate a bill for the completed new service request.

[0022] Additional features are realized by the techniques described herein. Other examples and aspects are described in detail herein and are considered a 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 taken in conjunction with the accompanying drawings.

[0023] It is to be understood that all combinations of the aforementioned embodiments and additional concepts described in more detail below (unless such concepts are mutually inconsistent) are considered to be part of the subject matter of the present invention and achieve the advantages disclosed herein. [Brief description of the drawings]

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

[0025] [Figure 1] FIG. 1 illustrates a workflow that may be utilized by existing systems.

[0026] [Diagram 2] FIG. 2 illustrates various aspects of the workflow of some embodiments of the present invention.

[0027] [Diagram 3] FIG. 2 illustrates various aspects of the workflow and certain elements of the technical architecture of a computing environment of some embodiments of the present invention.

[0028] [Figure 4] FIG. 2 illustrates various aspects of the workflow of some embodiments of the present invention.

[0029] [Diagram 5] FIG. 2 illustrates various aspects of the workflow of some embodiments of the present invention.

[0030] [Figure 6] FIG. 1 illustrates various aspects of a technical environment in which aspects of some embodiments of the present invention may be implemented.

[0031] [Figure 7] FIG. 1 illustrates a computer system configured to carry out an aspect of an embodiment of the present invention.

[0032] [Figure 8] FIG. 1 illustrates a computer program product incorporating one or more aspects of the present invention. Detailed Description of the Invention

[0033] Aspects of the present invention and its specific features, advantages, and details are described more fully below with reference to non-limiting examples illustrated in the accompanying drawings. Descriptions of well-known materials, manufacturing tools, processing techniques, and the like are omitted so as not to obscure the invention in unnecessary detail. It should be understood, however, that the detailed description and specific examples, while illustrating aspects of the present invention, are given by way of illustration only and not by way of limitation. 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 can refer to logic executed by both hardware and software. Components of a system that can be utilized to carry out aspects of an embodiment of the present invention can include dedicated hardware, including but not limited to FPGAs and GPUs (graphical processor units). Additionally or alternatively, items illustrated as processors can include hardware and / or software processors, or other processing means, including but not limited to software-defined wireless and / or custom hardware.

[0034] As mentioned above, and as will be appreciated by those skilled in the art, program code referred to throughout this application includes both software and hardware. For example, program code in certain embodiments of the invention includes fixed function hardware, while other embodiments utilize software-based implementations of the described functionality. Certain embodiments combine both types of program code. One 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 other such similar terms that may be used throughout this disclosure, including the claims, are used to describe and explain small variations, such as due to process variations, from a reference or parameter. Such small variations also include zero variation from a reference or parameter. For example, they can refer to ±10% or less, such as ±5% or less, such as ±2% or less, such as ±1% or less, such as ±0.5% or less, such as ±0.2% or less, such as ±0.1% or less, such as ±0.05% or less. As used herein, the terms "substantially", "about", "about", "relatively" or other such similar terms can 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 the queue or worklist may be completed by one or more of the various resources. For purposes of this application, the terms "modality" and "system" are used interchangeably.

[0038] Embodiments of the invention include computer systems, computer program products, and computer-implemented methods in which program code executed by one or more processors automatically creates, 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, in embodiments of the invention, the program code executed on one or more processors 1) automatically creates and enters an accession number associated with a given encounter (e.g., visit), 2) dynamically increments order numbers and accession numbers to generate a unique identifier for each to achieve uniqueness, and 3) includes interfaces with legacy devices and security utilized in a given point-of-care or point-of-service computer system (e.g., point-of-care ultrasound (POCUS) system) to allow worklist programs executing on these devices to automatically search for consumer (e.g., patient) records that have task assignments (e.g., studies, tests, procedures, etc.) that include unique identifiers.

[0039] The embodiments of the present invention are intimately tied to computing, as aspects of the examples herein improve the performance of complex computing systems. Aspects of the embodiments of the present invention are integrated into an environment in which various systems, including legacy systems, are synchronized to function effectively and efficiently. Thus, the embodiments of the present invention utilize messaging systems and shared queues to coordinate between these systems to accomplish different technical tasks. In generating these tasks, the 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 motivation in implementing aspects of the present invention in place of existing systems that involve manual entry and manual collation of data. Common data-related errors that occur in existing systems include, but are not limited to, performing an incorrect procedure for a given patient, double-charging a patient for a given procedure, and / or human error that is the result of a physician having to reduce interaction time with a patient due to the time required to manually enter, update, and / or correct data. Additionally or alternatively, existing systems generate records of services or tasks that are not completed and have no mechanism for cleaning computing system resources of excess unused records, which can impair system performance. Example aspects of the present disclosure do not create excess unused records.

[0040] Aspects of some embodiments of the present invention represent practical applications. In general, data accuracy and efficient resource performance are particularly important in service environments, including healthcare environments, in which aspects of some embodiments of the present invention are implemented. Specifically, by implementing aspects of some embodiments of the present invention, data integrity and consistency are improved within the computing environments in which these aspects are implemented. These computing environments may include different systems (including legacy systems), effectively managing tasks completed by various systems for a common order, operating within security policies, and maintaining data consistency and integrity of tasks when the computing environments are practical applications performed by the aspects described herein.

[0041] Aspects of various embodiments of the present invention represent significant improvements over existing methods of generating, storing, and updating various elements of electronic records in point-of-care or point-of-service computer systems. Existing methods for workflow management of events during a given service opportunity cause resource inefficiencies downstream. These existing systems create significant demands on resources downstream. For example, as described with reference to FIG. 1, events are continuously manually updated (involving billing of events) to allow for the completion of the workflow. Additionally, unused orders remain in the system unless specifically removed, potentially straining resources. These inefficiencies pose various risks to systems that protect personally identifiable information. Thus, eliminating these inefficiencies by limiting unnecessary interactions such as manual data manipulation and cleanup that are central to the ongoing functioning of existing systems increases the security of the present system. Differences between the present method and aspects of the embodiments disclosed herein are further illustrated in FIGS. 1-4. FIG. 1 is a workflow 100 of an existing event management system for a point-of-care or point-of-service computer system or application. 2-4 illustrate various aspects of workflows 200, 300, 400 illustrating various aspects of some embodiments of the present invention.

[0042] FIG. 1 illustrates a workflow 100 that may be utilized in existing encounter management systems. A workflow such as that illustrated in FIG. 1 requires downstream administrative work to compensate for upstream inefficiencies. As discussed above, program code in embodiments of the present invention, as well as in existing systems, may interface with a billing system as part of generating a record for events during a given encounter. This interface is enabled by a unique order number that represents each event (e.g., service, work, investigation, test, consultation, procedure, examination, etc.). In workflow 100, which may be characterized as an encounter-based workflow, the encounter serves as a temporary order number. The encounter is an identifier until an individual, such as a physician in the case of 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 certain medical point-of-care systems, the physician spends an average of five minutes not only placing the order but also manually reconciling the services provided, such as investigations, with the newly created order number. Certain inefficiencies within these systems make them particularly inefficient and require manual intervention, for example, multi-examination scans performed in a single encounter cannot be billed separately. Thus, the physician or other individual must manually split the examination to allow the interface with the billing system to function effectively. As previously mentioned, in healthcare settings, existing methods involve a significant amount of manual entry, which leads to lost time and financial resources as well as errors that can impact patient care. A common error in existing systems is that patients are often double-billed, with a given scan being entered twice as both an educational study and a procedural study. The patient is not billed for the educational study, but unless a manual adjustment is made to one of the entries, both are billed, double-billing the patient and creating duplicate records.While billing errors are troubling, it is arguably more important that data errors in existing systems can result in the wrong procedure being performed for a given patient. Because of the manual work required downstream to join and update studies (e.g., events, exams, scans, etc.), physicians can manually join study groups for different patients. Because these orders are reconciled with patient visits at later visits, it is possible to perform the wrong test on an individual, and this error is only discovered when a medical professional interprets the test results. In one example, a physician enters into a group of tests that includes heart and lung tests, and the heart test is performed on a patient who needed a lung test because the patient was scanned for the wrong test. The medical professional responsible for interpreting the results sees the incorrect scan and does not know if the scan they are being asked to interpret is for the wrong patient or if the patient data is correct, but the wrong test was performed. The administrative burden on downstream physicians is significant and can impact the time physicians spend with patients, but as this example shows, joining multiple studies up front in an attempt to reduce downstream administrative burden can lead to data discrepancies that undermine quality patient care.

[0043] FIG. 1 provides a workflow 100 that may be utilized by an existing system within the context of a point-of-care system. As shown in FIG. 1, a problem with this existing system that is addressed by an embodiment of the present invention is that a single order number is created for a given event (e.g., a procedure). Thus, when a given event contains multiple sub-events, as is often the case, there is no automated, efficient, and secure capability within 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 especially common in an acute care environment where a given individual may be present in an emergency room and navigated through many departments (that perform different procedures) during a given visit.) As mentioned above, manual work is required downstream to correct this deficiency. As shown in FIG. 1, the 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 an international standard for the transfer of clinical and administrative data between software applications) to inform various systems utilized at the provider facility of the encounter identifier (120). The program code enters the digital message into a 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, eliminating duplicate data entry and providing data integrity. For example, the MWL is a device that provides ultrasound patient metadata via the DICOM standard. Thus, a modality such as an ultrasound system can obtain patient metadata via the MWL. The program code of the existing system assigns an order number to the encounter number (the numbers match) (140). Thus, when communicating via the MWL, the program code of the system providing the given service obtains the order number associated with the given patient (150).Program code for a system providing the service (e.g., an ultrasound system) sends the service (exam) to a destination (e.g., a system) where a result can be generated (160). Using the example of an ultrasound system, the program code for the system providing the service sends the service (exam) to a Picture Archiving and Communication System (PACS) archive for the result to be generated. As discussed above, once the results for a given order are created, the service associated with the order can be billed (through an interface with a medical billing system).

[0044] In FIG. 1, the order number generated by the program code (140) is associated by the program code with the original service (e.g., test) that was completed (160). As understood by the individual visiting the service provider (e.g., hospital, health care facility, mechanic, etc.), the initial service or reason for the visit may not match the service received at the end of the visit or encounter. Using medical services as an example, various tests and scans may be requested by the professional based on various occurrences during the interaction that, in the opinion of the service provider's professional, were not anticipated until aspects of these interactions required these tests and scans. As previously mentioned, the interface with the billing system will not work unless each service has its own order number. Thus, when an unexpected service is provided, the user must manually reconcile the event in the point-of-care system (e.g., ordering additional, splitting, and merging studies). In addition to the data integrity and processing efficiency issues discussed above, this manual intervention also introduces challenges and uncertainties, including creating the risk that adding additional services or studies will not bill for the original studies that were performed.

[0045] An example of the lack of flexibility and need for manual intervention in existing systems is shown in a radiology order that begins with a visit to an emergency department. This example is provided for illustrative purposes only and is not intended to suggest any limitations on the benefits of aspects of the present invention over existing systems. In existing order-based radiology systems, patients are scheduled to undergo tests prior to the visit. Tests are created within the system and updated, for example by a physician within the emergency department, before data from the visit can be sent to a billing system. Tests created are specific to the order and are single outcome. Thus, if there are additional tests or procedures completed during a given visit, each event and / or test is attached to the original order by program code. This association limitation creates significant overhead for customers as studies that are not applicable to the original order must be managed to be billed correctly. Each additional test must be broken out by manual intervention, which may include placing an order for each individual additional test, reconciling each test after it is completed, and / or generating result documentation for each test to complete billing. Manually managing these orders presents data integrity challenges, including but not limited to: 1) MWL management may be affected if the patient is no longer registered in the department where the visit was initiated (e.g., emergency department) or gets a new encounter number from a later visit after discharge; 2) handle duplicate entries when the patient is still present in the worklist but the user doing the manual entry selected the wrong encounter and a new test was applied to a patient who was discharged earlier that day.

[0046] In an embodiment of the present invention, the problem created by the correspondence between the order number and the event initially generated, as shown in the workflow 200 of FIG. 2, does not create a limitation that requires user intervention to address. Rather, in an embodiment of the present invention, a given order is automatically associated by program code with one or more accession numbers. In this context, the accession number is a child order, also understood as a fill order. In existing encounter-based systems, the order and the accession number are recognized as the same by the program code. As the interconnectivity between various systems in a healthcare environment increases, the flexibility provided by the automatic creation of a unique accession number associated by program code with the order number allows for the coordination of various systems that process different possible events that may comprise a singular visit for an entity. Specifically, an embodiment of the present invention is compatible with the utilization of HL7 messaging and MWL.

[0047] Referring to FIG. 2, in one embodiment of the present invention, program code executing on one or more processors in the computing environment obtains (210) a notification indicating that a given consumer has entered a service location. In this regard, this entry in the service location or encounter is used by the program code to generate order and accession numbers associated with this visit, as further shown in FIG. 2. Returning to the notification (210), for example, in a hospital setting, the program code obtains a notification indicating that a given patient has been admitted. Based on obtaining this notification (trigger), the program code generates (220) 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. In some embodiments of the present invention, the program code generates a digital message, but no notification is sent to the computing nodes and applications. Rather, the program code of one embodiment of the present invention obtains (230) an electronic message, but the computing nodes and applications are not alerted to the presence of the digital message until the program code associates a task or service request in the digital message with a dynamic order and accession item. In a healthcare environment, utilizing the existing HL7 messaging standard harmonizes with security protocols within the computing environment since notifications may contain personally identifiable information. Program code in an embodiment of the invention retrieves 230 an electronic message.

[0048] In some embodiments of the present invention, notifications and messages are obtained (210) and generated (220) by applications external to the embodiments of the present invention, and the program code of the 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, obtaining notifications and / or generating digital messages may be performed by the program code of the embodiments of the present invention. Aspects of some embodiments of the present invention integrate into existing computing environments and interact with legacy systems, thus providing dynamic functionality within the security and technical constraints of the existing computing environment. Thus, depending on the existing technical architecture, obtaining notifications (210) and / or generating digital messages (220) may or may not be functions of the program code disclosed in the examples herein.

[0049] Program code in an embodiment of the invention generates and assigns a unique identifier to each accession (sub-record) for a given encounter (order). The program code increments order and accession numbers to achieve this uniqueness. Thus, unlike existing systems, the program code can effectively and automatically split events (e.g., tests) even when multiple services are provided as part of a given event. (As described later in this specification and shown in FIG. 2, the program code can reserve the next available dynamic accession number and automatically assign it to a new event / service / test without user intervention.)

[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 number of characters. This value includes a prefix that can include a concatenation of various values ​​or descriptive parameters, including but not limited to the identifier of the location visited and the visit itself. For example, the dynamic order number can include a maximum capacity of 22 characters in length that includes displayable (printable) ACSII characters (hexadecimal value between 20 and 7E, or ASCII decimal value between 32 and 126), and includes a concatenation of the department "prefix" and the visit / encounter identifier (e.g., US112233, with "US" representing "ultrasound" and 112233 representing the encounter identifier). As mentioned 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 containing displayable (printable) ACSII characters (hexadecimal value between 20 and 7E, or ASCII decimal value between 32 and 126, inclusive), with a maximum capacity of 22 characters in length, composed of a department "prefix", a visit / encounter identifier, a symbol type character such as a dash (-) or period (.), and a concatenation of the current test count starting with the digit 1 (e.g., US112233.1 or US112233-1, indicated by [- / .]).

[0051] Various nomenclature schemes may be utilized by the program code in embodiments of the present invention to generate dynamic order numbers with associated dynamic accession numbers. For example, an order with an accession number may take the following format: <personal identifier prefix><encounter identifier>[- / .]<accession number>. In a medical setting, the personal identifier may be a patient prefix. The characters - / . are utilized herein as a non-limiting example of a character splitter that may or may not be implemented in the dynamic accession numbers generated by the program code such that each dynamic accession number is unique and is a child of the order number.

[0052] Returning to FIG. 2, based on retrieving the electronic message (230), the program code executing on the one or more processors determines whether there is a record for the given consumer that was 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 to see if a given individual who is a patient encountered the same day as the program code that retrieved the electronic message. As mentioned above, in existing systems, manual users may inadvertently create duplicate records, which compromises the integrity of the data. Thus, in an embodiment of the present invention, the program code automatically checks for duplicates, thus preventing 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 the computing environment.

[0053] If the program code determines that a record already exists for a given consumer within the defined time frame, the program code collects (250) metadata on the existing record (already associated with the dynamic accession identifier). Additionally, if the program code determines that a record already exists for a given consumer within the defined time frame, the program code retains (255) the number (identifier) ​​associated with the existing dynamic accession. By placing this retain, the program code closes the dynamic accession. For example, if the currently available number (unique identifier for 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 a concatenated accession number starts with at least a "[- / .]1" value. As noted in this example, the program code closes the given accession number for the order upon its completion. However, in various service provider environments, various tasks may be accomplished in parallel by different systems. Thus, there may be a given record that has not been resolved by the system. Thus, once the program code locates the record it reserves its accession number (255) so that the record cannot be duplicated and its completion and eventual billing through the computing environment can be facilitated.

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

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

[0056] As shown in FIG. 2, the program code sends the generated value to a shared queue of tasks / events accessible to applications in the computing environment (280). As shown in FIG. 2, the content (and name) of the item in the queue depends on whether there is an existing consumer record. In one example (e.g., FIG. 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., FIG. 2, 270) to the queue. In a healthcare environment, the shared queue can be an MWL, and the program code of an embodiment of the invention provides a generated list of dynamically generated accession numbers for the MWL. In this healthcare environment, the MWL is accessed by applications in the computing environment (e.g., modalities in the environment) and / or messaging applications that utilize the DICOM standard with metadata for a given consumer / patient. The program code's utilization of the shared queue (e.g., MWL) allows dynamic orders associated with different consumers to move with them as they navigate locations and receive different services. Dynamic access numbers are not duplicated by the program code and the order and uniqueness of the dynamic access numbers is maintained regardless of the services received or the order of those services.

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

[0058] A worklist or queue that applications and computing nodes in a computing environment (e.g., a point-of-care ultrasound (POCUS) device) access to retrieve consumer events / tasks provides the next event (e.g., exam) to the consumer (e.g., patient). As shown in FIG. 2, the application retrieves the event / task from the queue (290). Returning to the example medical setting, the MWL service can send a digital message to an application in the computing environment and / or the application can check with 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 medical environment, the ultrasound system completes this aspect by pushing the study (completed task / event) to a Picture Archiving and Communication System (PACS) archive to generate results and notifies the program code that the task / event is complete (295). The program code then reserves the current dynamic access number of the task / event (e.g., test) that has not been performed ([- / .]1) and the program code increments the dynamic access number of the next test ([- / .]2) (298).

[0059] As described herein, aspects of embodiments of the present invention can be utilized in a healthcare environment. Accordingly, in order to demonstrate certain functionality of some embodiments at a granular level, FIG. 3, a detailed workflow 300, is provided within the context of this setting. This non-limiting example is utilized for illustrative purposes only. FIG. 3 illustrates certain events occurring in a hospital environment 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 an admission / discharge transfer system (ADT) system event from an electronic medical record (EMR). FIG. 3 illustrates the interaction of various systems and program code in a computing environment. These systems can be implemented as any type of module or component in software (e.g., as software instructions executable on a processing system), hardware, or a combination thereof, as a standalone application, or as a module or component of another device application, and in any type of computing device. The term program code is used throughout this application and can refer to logic executed by both hardware and software, including the described embodiments.

[0060] With reference to FIG. 3, various events 310 open a patient's record in the EMR system 315. Examples of events 310 provided herein are pre-admission of a patient, transfer of a patient to a different department, creation of a patient in the system, and discharge or transfer of a patient. 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 actions in the EMR system, program code and other systems in the computing environment are notified that a patient is at the location (see, for example, FIG. 2, 210). Based on the messages 320 from the ADT system 325, an order is entered into the ordering system 335. The messages generated by the ADT system 325 are HL7 messages in the illustrated example. A05 is a message to pre-approve a patient. A01 is an admission, A05 is a transfer, and A04 is a message to register a patient. As seen in FIG. 3, the A05, A01 / 02, and A04 messages all prompt the ordering system 335 to create an order 332. The A014 message is a pending authorization message that is sent to the worklist 358. The EMR system 315 action of discharging or transferring the patient triggers the ADT system 325 to create a message regarding the discharged visit end message A03, or a message A06 to change an outpatient to an inpatient. Based on the A08 message to update the patient information, the ordering system 335 can update the order 336 to move the order to another day, and the program code enters (359) into the worklist 358. If the HL7 message indicates a discharge (A03) or a change to an inpatient (A06), the ordering system 335 can cancel the order 334 and alert the program code of the present invention of this request, and the program code enters (359) into the worklist 358.

[0061] An HL7 Order Entry (ORM) message can be a message type utilized to hold information regarding a request for materials or services. An order system 335 generates an order event 330 that includes generating at least one order 332, and program code executing on one or more processors generates a dynamic order number and a dynamic accession number. Various operations 350 completed by the program code relate to maintaining synchrony of a modality worklist 355 and are therefore grouped together for illustrative purposes. The program code retrieves an order 332 and determines 352 whether the order already exists. If the program code determines that the order already exists, the program code reserves the order 354 and 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. In order to maintain the uniqueness or numbering utilized within the system, various aspects of the program code can be considered part of a synchrony application or module 365. Various operations 360 can be completed by a synchronization application or module 365 to maintain consistency of dynamic order and accession numbers, some of which are illustrated in FIG. 3. When the program code splits a given study, the program code generates / obtains a new accession number 362 and provides it to worklist management 350. The program code then checks (352) whether the order is a duplicate. When the program code reconciles and archives a completed study 364, the program code reserves (354) the order number utilized for this completed study.

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

[0063] As mentioned above, in some embodiments of the present invention, program code executing on one or more processors in an embodiment of the present invention may generate tasks or events for the shared queue in advance based on a given consumer entering the service location. However, in some situations, the identity of the consumer is unknown in advance for the service being requested or needed (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 the unidentified consumer, in some embodiments of the present invention, the service and its recipient are later coordinated by the program code. FIG. 4 is a workflow 400 illustrating certain aspects of some embodiments of the present invention in this scenario, where the identity of the consumer is known after one or more services are ordered and / or completed, but not before one or more services are 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 to the identity issue in real time or near real time and prompt it to act before data integrity and consistency are compromised.

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

[0065] Asynchronously or synchronously with the application obtaining 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). An alert of the identified individual to other systems in the computing environment is sent in real time by digital message or via another application. The program code determines whether a record exists for the currently identified individual during a predefined time frame (e.g., the same business day). Based on a determination that a record already exists for the given individual within the defined time frame, the program code retains the number associated with the existing dynamic access number (440). The program code generates a new dynamic access number and appends the dynamic access number to the existing dynamic order number (445). Based on a determination that there is no overlap, the program code generates a new dynamic order number using the dynamic access 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 a request for the service to be performed and sends the digital message to the queue (455). The service, which continually checks the queue for new messages and updates the messages, pushes the updated request to an application that is running or already running the service of updates (460). In some embodiments of the invention, the service is an aspect of the embodiment. In other embodiments of the invention, the program code initializes and / or communicates with the service so that it monitors the queue. Based on getting the update, the application modifies the metadata and / or data associated with the request to reflect the new dynamic order number with 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 the program code increments the dynamic accession number for the next service ([- / .]2) (475).In this example, the order number and access number associated with the service are changed before the service is performed, although in some examples the numbers can be changed after the service is performed. Preservation of the generated dynamic order and access numbers avoids duplication. Program code can push the dynamic order number and dynamic access number to systems associated with the execution of the task as soon as this information is available to maintain data integrity of the system.

[0066] FIG. 5 is a workflow 500 including specific details of how program code in an embodiment of the present invention can alert a modality to an event (and / or event update). While certain previous examples have described the use of digital messaging via the HL7 standard, this example is for illustrative purposes only and not meant to imply limitation, the program code utilizes Application Procedure Interface (API) requests, which is an alternative method of message delivery. In this example, communication between the various elements of the technical elements involved in the workflow 500 communicates via a secure web interface, TLS 1.2 / 1.3 Hypertext Transfer Protocol Secure (HTTPS). This is a non-limiting example and is provided for illustrative purposes only. In this example, the program code 501 in the illustrated embodiment of the present invention performs different functions. For illustrative purposes only and not to imply any limitations on the technical architecture of the modules that include the program code, the program code 501 is separated into different functions. As described below, the program code 501 includes a subscription service 525 that generates a token 530, and program code that generates notifications to which applications subscribe via the generated token 530 and the subscription service 525.

[0067] The workflow 500 of FIG. 5 illustrates real-time event subscription and notification. In FIG. 5, an application 510 (e.g., a modality) in a computing environment can subscribe to event notifications, and based on the subscription, notifications related to these events are delivered to the subscriber in real-time. In this example, the application 510 is any application that can request and receive requests that conform to the Hypertext Transfer Protocol (HTTP). As shown, the application 510 selects to subscribe to an event when program code creates a dynamic order and / or dynamic accession for a patient (520). In this example, the application 510 sends an application procedure interface (API) request (POST) to subscribe to an event over transport layer security (TLS) to program code 501, which includes a subscription service 525 in an embodiment of the present invention. The subscription service 525 accepts the subscription and generates a token 530 for the application 510 (527). The token 530 informs the program code that processes the notification 540 of which subscriptions the application 510 should receive (532).

[0068] The technical aspects of the workflow of FIG. 5 are utilized 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 will be used in describing aspects of workflow 500. In this example, a clinician admits this unknown patient. Once the EMR department registrar reconciles the patient's information and provides the true identity of said Jane Doe, the program code captures the reconciliation via a digital message (550) and then, since the token 530 indicates that the application 510 is subscribed to receive this type of reconciliation information (555), the program code sends a notification back to the application (560). In this manner, the program code can notify the clinician, via the application 510, in real time 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 over TLS to notify the application 510 that one of its subscribed events has been triggered.

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

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

[0071] In some examples, generating a new service request for the individual includes program code for determining whether an existing service request associated with the individual was generated by the processor during a predetermined time frame. Based on the program code determining that an existing service request was not generated during the predetermined time frame, the program code generates a unique identifier for the new service request, where the final value of the unique identifier for the new service request includes an integer.

[0072] In some examples, the program code obtains a notification from a modality of the 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 a final value of the unique identifier for the new service request by a predetermined value for use as a unique identifier for a next service request associated with the individual generated during the predetermined time frame.

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

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

[0075] In some examples, generating a new service request for the individual further includes, based on determining that the existing service request was generated during the predetermined time window, the program code collecting metadata from the existing service request, the program code incorporating the metadata into the new service request.

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

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

[0078] In some examples, one or more of the electronic messages indicating an individual's physical presence at a service location, as well as the submission of a new service request to the 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 predetermined value is one.

[0081] In some examples, the integer for the new service request includes an accession number, where the accession number for the new service is a number in an ordered sequence of services requested for an individual during a given window.

[0082] In some examples, the unique identifier for the new service request comprises a concatenation of values, the values ​​being selected from the group consisting of the service location, a visit number of the individual at the service location, an identifier of the individual, and an identifier of the service.

[0083] In some examples, the electronic message indicating the individual is physically present at the service location does not include data or metadata identifying the individual, and the method further includes program code for associating the new service request with a medical record number in an electronic medical record system in the computing environment, the program code updating the new service request based on the association.

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

[0085] FIG. 6 is a computing environment 600 in which aspects of some embodiments of the present invention can be implemented. Individual elements depicted in this technology environment can include one or more computer resources (e.g., FIG. 7, 700). Also, the separation of various nodes herein is provided as an example of a possible configuration. For example, in a technology environment implemented in a healthcare environment, the same computing resources that execute the program code of an embodiment of the present invention can also execute the program code of a system that processes admissions and / or orders. As shown herein, one or more computing nodes 610 that execute various applications 611 provide data to one or more computing nodes 620 that execute program code that implements aspects of some embodiments of the present invention 621. These data can include notifications that a consumer has entered the facility. The program code sends a message to a queue 630. This communication can be via digital messages (e.g., HL7) and / or HTTP / HTTPS. Although the queue 630 is shown herein as its own entity, it can be executed and maintained by one or more computer resources and / or can be maintained on the same computing node 620 where the processor executes the program code 621. This queue 630 is accessible to one or more computing devices 640. These computing devices may be or include various modalities that check queue 630 and / or subscribe to updates to queue 630. When a given event is completed, the modalities of one or more computing devices 640 may notify program code 621, which may provide this data to other systems 651 running on computing nodes 650 in computing environment 600. For example, program code 621 may notify a billing system to generate a bill for the given event.

[0086] FIG. 7 illustrates a block diagram of a resource 700 in a computer system, such as part of a technical architecture of a particular embodiment of the technology. For example, the resource 700 may be connected to or included in a modem utilized in various embodiments of the present invention to send and receive additional signals over a legacy bus. Additionally or alternatively, a particular bus that may be utilized in an embodiment of the present invention is itself a computing resource 700. Returning to FIG. 7, the resource 700 may include circuitry 702, which may include a microprocessor 704 in a particular embodiment. The computer system 700 may also include memory 706 (e.g., a volatile memory device) and storage 708. The storage 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. The storage 708 may include internal storage devices, attached storage devices, and / or network-accessible storage devices. The system 400 may include program logic 710 including code 712 that may be loaded into the memory 706 and executed by the microprocessor 704 or circuitry 702 .

[0087] In certain embodiments, program logic 710 including code 712 can be stored in storage 708 or memory 706. Additionally or alternatively, program logic 710 can be implemented in circuitry 702. Thus, while FIG. 7 shows program logic 710 separate from other elements, program logic 710 can be implemented in memory 706 and / or circuitry 702. Program logic 710 can include program code described in this disclosure that facilitates reconfiguration of various computer network elements, including those in the various figures. Additionally or alternatively, program logic 710 can include program code described in this disclosure that facilitates maintaining data integrity of tasks across computing environments, such as those shown in FIGS. 2-6.

[0088] Using the processing resources of resources 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, a computer program product 800 includes one or more non-transitory 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-transitory 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 appreciated by those skilled in the art, aspects of the present technology may be embodied as a system, method, or computer program product. Accordingly, aspects of the present technology may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be referred to generally herein as a "circuit," "module," or "system." Additionally, aspects of the present technology may take the form of a computer program product embodied in one or more computer-readable medium(s) having computer-readable program code embodied therein.

[0090] Any combination of one or more computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable signal medium may include a propagated data signal having computer readable program code embodied therein, for example in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. The computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

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

[0092] Any combination of one or more computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable signal medium may include a propagated data signal having computer readable program code embodied therein, for example in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including but not limited to electromagnetic, optical, or any suitable combination thereof. The computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

[0093] The program code embodied on the computer readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic cable, RF, or the like, or any suitable combination thereof.

[0094] Computer program code for performing operations for aspects of the technology can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, Smalltalk, 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 be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet Service Provider). Additionally, the program code can be implemented using two or more computers, including, but not limited to, one or more resources in a cloud computing environment.

[0095] Aspects of the present technology are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.

[0096] These computer program instructions, also referred to as software and / or program code, may be stored on a computer-readable medium that can instruct a computer, other programmable data processing apparatus, or other device to function in a particular manner, and the instructions stored on the computer-readable medium produce an article of manufacture containing instructions that implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0097] Computer program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to execute a series of operational steps to generate a computer-implemented process, where the instructions executing on the computer or other programmable apparatus provide a process for implementing the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.

[0098] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present technology. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code that includes one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions described in the blocks may be performed in a different order than the order described in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, as well as combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or a combination of dedicated hardware and computer instructions.

[0099] In addition to the above, one or more aspects of the techniques may be offered, provided, deployed, managed, serviced, etc., by a service provider that provides management of a customer environment. For example, the service provider may create, maintain, support, etc., computer code and / or computer infrastructure that executes one or more aspects of the techniques for one or more customers. In return, the service provider may receive payments from the customer under, by way of example, a subscription and / or fee agreement. 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 the present technique, an application can be deployed to perform one or more aspects of the technique. As an example, deploying an application includes providing a computer infrastructure operable to perform one or more aspects of the technique.

[0101] As a further aspect of the present technology, a computing infrastructure can be deployed that includes computer readable code integrated into a computing system, the code in combination with the computing system being capable of performing one or more aspects of the present technology.

[0102] As yet a further aspect of the present technology, a process for integrating a computing infrastructure can be provided that includes integrating computer readable code into a computer system. The computer system includes a computer readable medium, the computer medium including one or more aspects of the present technology. The code in combination with the computer system can perform one or more aspects of the technology.

[0103] Additionally, other types of computing environments may benefit from one or more aspects of the technology. As an example, an environment may include an emulator (e.g., software or other emulation mechanism) in which a particular architecture (e.g., including architected functions such as instruction execution, address translation, and architected registers) or a subset thereof is emulated (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 though the computer running the emulator may have a different architecture than the functions being emulated. As an example, in emulation mode, the particular instructions or operations being emulated are decoded and appropriate emulation functions are constructed to implement the individual instructions or operations.

[0104] In an emulation environment, the host computer includes, for example, a memory for storing instructions and data, an instruction fetch unit for fetching instructions from the 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 instruction, and an instruction execution unit for executing the instructions. Execution may include loading data from memory into a register, storing data from the register back into the memory, or performing some type of arithmetic or logical operation as determined by the decode unit. In one example, each unit is implemented in software. For example, the operations performed by the units are implemented as one or more subroutines in the emulator software.

[0105] Additionally, data processing systems suitable for storing and / or executing program code may be used that include at least one processor coupled directly or indirectly to memory elements via a system bus. The memory elements may include, for example, local memory used during the actual execution of the program code, mass storage devices, and cache memories that provide temporary storage of at least some of the program code to reduce the number of times the code must be retrieved from mass storage devices 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, etc.) may be coupled to the system either directly or through intervening I / O controllers. Network adapters may 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 through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the available types of network adapters.

[0107] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the present invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising", as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0108] Corresponding structures, materials, operations, and equivalents of all means or steps and functional elements in the following description are intended to include any structures, materials, or operations for performing functions in combination with other elements specifically described, when present. The description of the technology has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the invention to the disclosed form. 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 explain the principles and practical applications of the invention and to enable those skilled in the art to understand the invention in various embodiments with various modifications suitable for the particular applications contemplated.

Claims

1. 1. A computer-implemented method comprising: obtaining, by one or more processors within the computing environment, an electronic message indicating that the individual is physically present at the service location; generating, by the one or more processors, a new service request for the individual, the new service request for the individual including a unique identifier; sending, by the one or more processors, the new service request to a shared queue accessible to one or more modalities including resources within the computing environment; A computer-implemented method comprising:

2. generating the new service request for the individual, determining, by the one or more processors, whether an existing service request associated with the individual has been generated by the one or more processors during a predetermined time period; generating, by the one or more processors, the unique identifier for the new service request based on a unique identifier of the existing service request based on the step of determining that the existing service request was generated during the predetermined time window, wherein the generating step includes: reserving, by the one or more processors, the unique identifier of the existing service request, wherein a final value of the unique identifier of the existing service request comprises an integer; incrementing, by the one or more processors, the final value of the unique identifier of the existing service request by a predetermined value; associating, by the one or more processors, the incremented unique identifier of the existing service request with the new service request as the unique identifier of the new service request; 2. The computer-implemented method of claim 1, comprising:

3. generating the new service request for the individual, determining, by the one or more processors, whether an existing service request associated with the individual has been generated by the one or more processors during a predetermined time period; generating, by the one or more processors, the unique identifier for the new service request based on determining that no existing service requests were generated during the predetermined time frame, wherein a final value of the unique identifier for the new service request comprises an integer; 2. The computer-implemented method of claim 1, comprising:

4. obtaining, by the one or more processors, notification from a modality of the one or more modalities that the new service request is completed; reserving, by the one or more processors, the unique identifier for the new service request; incrementing, by the one or more processors, the final value of the unique identifier of the new service request by the predetermined value for use as a unique identifier for subsequent service requests associated with the individual generated during the predetermined time period; The computer-implemented method of claim 1 further comprising:

5. identifying, by the one or more processors, at least one modality of the one or more modalities, the at least one modality including technical characteristics that enable the at least one modality to complete the new service request; notifying, by the one or more processors, the at least one modality that the new service request has been sent to the shared queue; The computer-implemented method of claim 1 further comprising:

6. The computer-implemented method of claim 4 , wherein the steps of sending the new service request to the shared queue and notifying the at least one modality are performed in parallel by the one or more processors.

7. generating the new service request for the individual, collecting, by the one or more processors, metadata from the existing service request; incorporating, by the one or more processors, the metadata into the new service request; The computer-implemented method of claim 2 further comprising:

8. 3. The computer-implemented method of claim 2, wherein determining whether the existing service request associated with the individual was generated by the one or more processors during the predetermined time period includes querying, by the one or more processors, one or more databases within the computing environment.

9. The computer-implemented method of claim 2 , wherein the time frame is a calendar day during which the individual is physically present at the service location.

10. 2. The computer-implemented method of claim 1, wherein one or more of the electronic messages indicating the individual's physical presence at the service location and the submission of the new service request to the shared queue are in Health Level 7 (HL7) format.

11. The computer-implemented method of claim 1 , wherein the shared queue comprises a modality worklist.

12. 3. The computer-implemented method of claim 2, wherein the predetermined value is one.

13. 4. The computer-implemented method of claim 3, wherein the integer of the new service request includes an accession number, and the accession number of the new service is a number within an ordered sequence of services requested for the individual during the predetermined time frame.

14. 2. The computer-implemented method of claim 1, wherein the unique identifier of the new service request comprises 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, an identifier of the individual, and an identifier of the service.

15. the electronic message indicating the individual's physical presence at the service location does not include data or metadata that identifies the individual, the method comprising: associating, by the one or more processors, the new service request with a medical record number in an electronic medical record system in the computing environment; updating, by the one or more processors, the new service request based on the association; The computer-implemented method of claim 1 further comprising:

16. sending, by the one or more processors, a message to an electronic billing system to instruct the electronic billing system to generate a bill for the completed new service request. The computer-implemented method of claim 4 further comprising:

17. 1. A computer program product comprising: a computer-readable storage medium readable by one or more processors of a shared computing environment including a computing system and storing instructions for execution by the one or more processors to perform a method, the method comprising: obtaining, by the one or more processors in the computing environment, an electronic message indicating that the individual is physically present at the service location; generating, by the one or more processors, a new service request for the individual, the new service request for the individual including a unique identifier; sending, by the one or more processors, the new service request to a shared queue accessible to one or more modalities including resources within the computing environment; a computer program product,

18. generating the new service request for the individual, determining, by the one or more processors, whether an existing service request associated with the individual has been generated by the one or more processors during a predetermined time period; generating, by the one or more processors, the unique identifier for the new service request based on a unique identifier of the existing service request based on the step of determining that the existing service request was generated during the predetermined time window, wherein the generating step includes: reserving, by the one or more processors, the unique identifier of the existing service request, wherein a final value of the unique identifier of the existing service request comprises an integer; incrementing, by the one or more processors, the final value of the unique identifier of the existing service request by a predetermined value; associating, by the one or more processors, the incremented unique identifier of the existing service request with the new service request as the unique identifier of the new service request; 20. The computer program product of claim 17, comprising:

19. generating the new service request for the individual, determining, by the one or more processors, whether an existing service request associated with the individual has been generated by the one or more processors during a predetermined time period; generating, by the one or more processors, the unique identifier for the new service request based on determining that no existing service requests were generated during the predetermined time frame, wherein a final value of the unique identifier for the new service request comprises an integer; 20. The computer program product of claim 17, comprising:

20. 1. A computer system comprising: Memory and one or more processors in communication with the memory; and program instructions executable by the one or more processors in a shared computing environment of the computing system via the memory to perform a method, the method comprising: obtaining, by the one or more processors in the computing environment, an electronic message indicating that the individual is physically present at the service location; generating, by the one or more processors, a new service request for the individual, the new service request for the individual including a unique identifier; sending, by the one or more processors, the new service request to a shared queue accessible to one or more modalities including resources within the computing environment.