System and method for prioritizing caching operations based on application context in a medical imaging image storage and communication system.

The priority engine in the PACS system addresses the challenge of fast and smooth medical image display by prioritizing prefetching and caching operations based on viewer context, ensuring efficient image delivery and display performance.

JP2026082693APending Publication Date: 2026-05-19FUJIFILM HEALTHCARE AMERICAS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJIFILM HEALTHCARE AMERICAS CORP
Filing Date
2025-10-03
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing medical image storage and communication systems (PACS) face challenges in achieving fast and smooth display of medical images at interactive frame rates due to the need for prioritized prefetching and caching operations, especially when user-selected studies are not cached locally on the workstation.

Method used

A computer-implemented method and system that utilizes a priority engine to identify and prioritize image studies based on viewer application context, preemptively downloading and caching medical image files in the PACS memory, ensuring optimal image and operation sequencing to minimize repeated caching and maximize display performance.

Benefits of technology

Enhances the display speed and smoothness of medical images by prioritizing prefetching and caching operations, ensuring fast initial display and smooth scrolling, even when user-selected studies are not cached locally, while accommodating resource constraints and DICOM information models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082693000001_ABST
    Figure 2026082693000001_ABST
Patent Text Reader

Abstract

This system and method provide a way to prioritize caching operations based on the application context. [Solution] The method in the image storage communication system includes querying the priority cache for the next image study having at least one medical image file that requires prefetching; receiving the next study index, caching operation and cache status of the image study corresponding to the image study with the highest priority value; identifying the at least one medical image file that requires prefetching for the image study with the highest priority value; and prefetching the at least one medical image file that requires prefetching for the image study with the highest priority value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of medical image storage and communication systems (PACS), and more particularly, to a system and method for prioritizing prefetching operations and caching operations based on an application context within a PACS.

Background Art

[0002] In the field of medical imaging, the use of PACS has brought revolutionary changes to the storage, access, and analysis methods of patient images by medical experts. For example, with PACS, medical staff can quickly access and reexamine in detail a plurality of medical images in digital form, which can lead to a quicker and more accurate diagnosis and treatment plan. Also, with PACS, multiple medical staff can access the medical images of a specific patient simultaneously. This provides an efficient communication method among medical staff and enables a second opinion in a certain medical situation.

[0003] However, within a PACS, displaying medical images at an interactive frame rate is important for analysis workstations such as radiation workstations. To achieve the fastest initial display and the smoothest scroll performance, it would be ideal if all images were cached locally on the workstation rather than relying on on-demand streaming from the server when the user interacts with the system. One solution is to preemptively download the studies registered by the user based on queries related to the user and prioritize them based on the order of the queries. Sometimes, the user may select other studies that are not cached on the workstation for opening or downloading. In such cases, it may be necessary to provide a priority search for the selected study.

[0004] Therefore, improved methods and systems within PACS are needed to enable prioritized prefetching and caching operations based on the application context. [Overview of the project]

[0005] Accordingly, one aspect of the present invention provides a computer-implemented method for prioritized prefetching and caching operations within a medical image storage and communication system (PACS), the PACS comprising a viewer application and multiple image studies. Each image study comprises one or more series of medical image files, and each series of medical image files comprises multiple medical image files. Each medical image file comprises a medical image captured by a medical imaging device and associated metadata. The viewer application interacts with the multiple medical image files.

[0006] The method implemented by the computer described above involves the viewer application's priority engine identifying one set of image studies from among several image studies, each of which includes at least one medical image file requiring prefetching for caching operations; the priority engine determining a priority value for each image study in the set based on the viewer application context associated with each image study; and storing each image study in a study queue, series queue, or image queue in the PACS memory based on its corresponding priority value, with each image study being stored along with its corresponding study index, series index, and image index, the caching operations associated with the image study's at least one medical image file requiring prefetching, and the cache state of the image study's multiple medical image files; and the priority engine querying the priority cache for the next image study having at least one medical image file requiring prefetching. The priority engine receives the next research index, associated caching operations, and cache state of the image research corresponding to the image research with the highest priority value, wherein the next research index is the corresponding research index, series index, and image index; the priority engine identifies at least one medical image file requiring prefetching for the image research with the highest priority value; the priority engine prefetches at least one medical image file for the image research with the highest priority value; and stores at least one prefetched medical image file for the image research with the highest priority value in the application cache in the memory of the PACS, wherein the application cache stores the associated caching operations and cache state of the image research with the highest priority value; and when the associated caching operations are performed on at least one medical image file, at least one medical image file is fetched from the application cache.This includes performing related caching operations on medical image files.

[0007] Another aspect of the present invention provides a computer system for prioritized prefetching and caching operations within a PACS, the PACS comprising a viewer application and multiple image studies. Each image study comprises one or more series of medical image files, and each series of medical image files comprises multiple medical image files. Each medical image file contains medical images and associated metadata captured by a medical imaging device. The viewer application interacts with the multiple medical image files. The computer system comprises one or more computer processors, one or more non-temporary computer-readable storage media, and program instructions stored in the computer-readable storage media to be executed by at least one of the one or more computer processors.

[0008] The above program instructions involve the viewer application's priority engine identifying one set of image studies from among several image studies, each of which includes at least one medical image file requiring prefetching for caching operations; determining a priority value for each image study in the set based on the viewer application context associated with each image study; and storing each image study in a study queue, series queue, or image queue in the PACS memory based on its corresponding priority value, with each image study being stored along with its corresponding study index, series index, and image index, the caching operations associated with the image study and at least one medical image file requiring prefetching, and the cache state of the image study's multiple medical image files; and querying the priority cache for the next image study having at least one medical image file requiring prefetching. The process involves the following: the engine receives the next research index, associated caching operations, and cache state of the image research corresponding to the image research with the highest priority value, wherein the next research index is the corresponding research index, series index, and image index; the priority engine identifies at least one medical image file requiring prefetching for the image research with the highest priority value; the priority engine prefetches at least one medical image file for the image research with the highest priority value; and the application cache stores at least one prefetched medical image file for the image research with the highest priority value in the application cache in the PACS memory, wherein the application cache stores the associated caching operations and cache state of the image research with the highest priority value; and when the associated caching operations are performed on at least one medical image file, at least one medical image file is fetched from the application cache.This includes program instructions for performing caching operations related to medical image files.

[0009] Another aspect of the present invention provides a computer program product for prioritized prefetching and caching operations within a PACS, wherein the PACS includes a viewer application and multiple image studies, each image study containing one or more series of medical image files, and each series of medical image files containing multiple medical image files. Each medical image file contains medical images and associated metadata acquired by a medical imaging device. The viewer application interacts with the multiple medical image files. The computer program product comprises a non-temporary computer-readable storage medium implementing the program code.

[0010] The above program code identifies a set of image studies from among several image studies by the viewer application's priority engine, each of which contains at least one medical image file requiring prefetching for caching operations; determines a priority value for each image study in the set based on the viewer application context associated with each image study; stores each image study in a study queue, series queue, or image queue in the PACS memory based on its corresponding priority value, with each image study being stored along with its corresponding study, series, and image index, the caching operations associated with the image study and at least one medical image file requiring prefetching, and the cache state of the image study's multiple medical image files; queries the priority cache for the next image study having at least one medical image file requiring prefetching; and the priority cache searches for the image study with the highest priority value. The process involves receiving the next research index, associated caching operations, and cache state of an image research, where the next research index is the corresponding research index, series index, and image index; using the priority engine to identify at least one medical image file requiring prefetching for an image research with the highest priority value; using the priority engine to prefetch at least one medical image file for the image research with the highest priority value; and storing at least one prefetched medical image file for the image research with the highest priority value in the application cache in the PACS memory, where the application cache stores the associated caching operations and cache state of the image research with the highest priority value; fetching at least one medical image file from the application cache when an associated caching operation is performed on at least one medical image file; and performing the associated caching operation on the medical image file.It is something that can be executed by a processor.

[0011] Other aspects, advantages, and novel features of the present invention will become apparent in practice, in part, when described below and in conjunction with the accompanying drawings. [Brief explanation of the drawing]

[0012] The present invention will be described below with reference to the attached drawings as an example. [Figure 1] Figure 1 is a block diagram showing an information processing environment for anonymous and secure sharing of medical images via a messaging tool within a PACS, according to a specific embodiment of the present invention. [Figure 2] Figure 2 is an illustrative screenshot showing a worklist GUI and a viewer GUI according to a specific embodiment of the present invention. [Figure 3A] Figure 3A is a flowchart showing the operational steps for prioritizing prefetching and caching operations based on the application context within a PACS, according to a specific embodiment. [Figure 3B] Figure 3B is a flowchart showing the operational steps for prioritizing prefetching and caching operations based on the application context within a PACS, according to a specific embodiment. [Figure 3C] Figure 3C is a flowchart showing the operational steps for prioritizing prefetching and caching operations based on the application context within a PACS, according to a specific embodiment. [Figure 4A] Figure 4A is a block diagram showing the components of the priority engine and the relationship between the priority engine and other components of the PACS in several embodiments. [Figure 4B] Figure 4B is a block diagram showing the components of the priority engine and the relationship between the priority engine and other components of the PACS in several embodiments. [Figure 4C] Figure 4C is a block diagram showing the components of the priority engine and the relationship between the priority engine and other components of the PACS in several embodiments. [Figure 4D] Figure 4D is a block diagram showing the components of the priority engine and the relationship between the priority engine and other components of the PACS in several embodiments. [Figure 4E] Figure 4E is a block diagram showing the components of the priority engine and the relationship between the priority engine and other components of the PACS in several embodiments. [Figure 5] Figure 5 shows image, series, and research queue buckets based on caching operations in several embodiments. [Figure 6] Figure 6 shows a block diagram of an exemplary computing device that may be used to carry out the processes and methods disclosed herein.

[0013] Throughout the drawings, corresponding reference numerals indicate corresponding parts. The examples described herein illustrate currently preferred embodiments of the invention and should not be construed as limiting the scope of the invention in any way. [Modes for carrying out the invention]

[0014] As will be understood by those skilled in the art, aspects of the present invention may be implemented as systems, methods, or computer program products. Accordingly, aspects of the present invention may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware embodiments which may be generally referred to herein as “circuits,” “modules,” or “systems.” Furthermore, aspects of the present invention may take the form of computer program products implemented on one or more computer-readable media having computer-readable program code / instructions implemented thereon.

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

[0016] Program code implemented on a computer-readable medium may be transmitted using any suitable medium, such as wireless, wired, fiber optic cable, or radio frequency (RF), or any suitable combination thereof.

[0017] The computer program code for performing the operations of the aspects of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, or C++, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, executed partially on the user's computer and partially on a remote computer, or executed entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), and may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0018] Aspects of the present invention will be described below 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 may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus for manufacturing machines, etc. These instructions, when executed by the processor of a computer or other programmable data processing apparatus, generate means for realizing the functions / operations specified in the flowchart and / or the blocks of the block diagram.

[0019] These computer program instructions may be stored in a computer-readable medium. The computer-readable medium can be a computer, other programmable data processing apparatus, or other device that can be instructed to function in a particular manner to manufacture a product that includes instructions stored in the computer-readable medium to implement the functions / operations specified in the flowchart and / or the blocks of the block diagram.

[0020] When the computer program instructions are loaded into a computer, other programmable data processing apparatus, or other device, they cause a computer to implement a process that results in a series of operational steps being performed on the computer, other programmable apparatus, or other device. This implementation is performed such that the instructions executed on the computer or other programmable apparatus provide a process for implementing the functions / operations specified in the flowchart and / or the blocks of the block diagram.

[0021] Referring initially to FIG. 1, there is provided a block diagram showing an information processing environment 100 for capturing, storing, and / or analyzing medical images that can be used in connection with embodiments of the invention. The information processing environment can include one or more of an imaging device 102, one or more servers (e.g., an image server 105 and a report server 107), and each computing device (e.g., a medical workstation (WS) 104 and an analysis WS 103) communicatively coupled via a network 109. It should be understood that two or more of the above-described components may be combined into a single unit. The network 109 can be configured by communication network technologies based on wired, optical, and / or wireless high-frequency methods that can be arranged in various network topologies. Typically, the network 109 can be any set of digital interconnections that enables computing devices to communicate with each other using a common communication protocol.

[0022] The imaging device 102 may be one or more imaging devices including an emitter 130 and a sensor 120. The imaging device 102 is configured to scan the subject's body by exposing the subject to a signal emitted by the emitter 130 and capturing this signal (signal reflection) with the sensor 120, thereby acquiring detailed internal images of the subject's body (e.g., images of anatomical structures and physiological processes within the body). The medical images generated by the imaging device 102 may be stored in the image database 106 and / or other databases connected to the network 109 for communication. For example, the imaging device 102 is configured to generate serial tomographic images of the subject. The imaging device 102 may acquire tomographic images along one or more anatomical planes of the subject (e.g., axial transverse plane, coronal plane, sagittal plane, median plane, lateral sagittal plane, and other anatomical planes).

[0023] Applicable signals emitted by the emitter 130 include, but are not limited to, strong magnetic fields, magnetic field gradients, radio waves, X-rays, and ionizing radiation. The imaging device 102 preferably generates heterogeneous serial tomographic images of the subject. The imaging device 102 can generate medical images using one or more medical imaging techniques, including, but not limited to, X-ray, CT scan, MRI, PET, MIP, and / or other medical imaging techniques that can generate internal images of the body or part thereof of the subject.

[0024] Each server may include a software program that provides an installed database management system (DBMS). In some embodiments, the image server 105 and the report server 107 may be included in one or more computing devices. The servers may include one or more storage media for storing information (e.g., flash memory, solid-state drives (SSDs), or hard disk drives (HDDs)). For example, the image server 105 may include an image database (DB) 106 for storing at least medical images. The report server 107 may include a report DB 108 for storing at least processed reports. The medical WS 104 can be used by healthcare professionals (e.g., physicians and nurses) to at least examine medical images in detail, view analysis reports, and / or generate electronic medical records.

[0025] The medical WS104 may send a request to view a medical image to the image server 105, display the received medical image, send a request to view an associated analysis report to the report server 107, and / or display the received analysis report. The medical WS104 may perform the above processes by running software programs for each process. The steps described herein may be performed by one or more control circuits and / or processors. The analysis report may include images analyzed by an information processing program 110 contained in the analysis WS103 (or other computing device communicably connected to the network 109).

[0026] The analysis WS103 is a computing device that can be configured to analyze or interpret one or more medical images (stored, for example, in the image DB106 or other data store communicably connected to the network 109) as described in this disclosure. The analysis WS103 may be used by a user (e.g., a healthcare professional such as a radiologist) to analyze one or more medical images and / or to generate an analysis report. In some cases, the analysis WS103 may be closest to other elements in the information processing environment 100, such as a medical center or hospital. In other examples, the analysis WS103 may be far from other elements in the information processing environment 100. For example, the analysis WS103 may be located at the home or remote office of a healthcare professional (e.g., a radiologist). The analysis WS103, or other processor communicably connected to the network 109, can perform steps defined by the information processing program 110. As will be described in more detail later, the information processing program 110 is computer code that enables the display, navigation, examination, and / or annotation of a set of medical images. The information processing program 110 can be stored in a database that is communicatively connected to the analysis WS103. The information processing program 110 can also be stored in one or more databases that are communicatively connected to the network 109.

[0027] The information processing program 110 may be an image archiving and communication system (PACS) 200, or may include such a system. Refer to Figures 2 to 5. Embodiments of the present invention provide computer-implemented methods, systems, and computer program products for prioritizing prefetching and caching operations within a PACS 200 based on application context. The PACS 200 includes multiple image studies, each containing multiple medical image files, each containing a medical image 242 acquired by one or more medical imaging devices 102 and stored in one or more databases 106, 108 connected to a network 109 for communication. Each of the multiple medical image files contains a medical image 242 and corresponding metadata 248 (e.g., data in the Digital Image and Communication in Medicine (DICOM) format). The metadata may contain multiple data objects corresponding to information entities (IEs). For example, the data objects may correspond to information entities such as patients, studies, medical devices, examinations, a series of images, patient schedules, documents, and diagnostic interpretations. A data object may include tags, value representations describing the data type and format, and alphanumeric data values.

[0028] After logging into the PACS200 on the analysis WS103 or medical WS104, a worklist graphical user interface (GUI)220 may be provided within a first window 202 displayed on the WS103 or 104 display. The worklist GUI220 may include one or more panes 250 that display one or more lists of multiple image studies 222. Each of the multiple image studies 222 may be associated with one or more medical image files, each containing a medical image 242 of a subject (e.g., a human) acquired by one or more medical imaging devices 102.

[0029] When an image study 222 is selected from the worklist GUI 220, a second window 204 providing a viewer GUI 240 may be displayed on the display of WS 103 or 104. The viewer GUI 240 includes at least one pane 246 configured to display at least one medical image 242 of the selected image study 222. The at least one medical image 242 is displayed in the at least one pane 246 for viewing by a medical professional for the purpose of reviewing, evaluating, and diagnosing any medical conditions that may be present in the imaged subject. The at least one medical image 242 includes a metadata overlay layer with metadata 248.

[0030] In some embodiments, the viewer GUI 240 may include multiple panes 246, each pane displaying one image from a selection of medical images 242 from a chosen image study 222.

[0031] As mentioned above, displaying medical images at an interactive frame rate within the PACS is crucial for analysis workstations. The size of medical image files within the PACS can range from 1 kilobyte to several hundred megabytes, depending on the type of procedure and the body part being imaged. To achieve the fastest initial display and smoothest scrolling performance, it would be ideal for the images selected by the user to be cached locally on the workstation (e.g., WS103 or 104) rather than relying on on-demand streaming from the server when the user interacts with the system. To achieve this fastest initial display and smoothest scrolling performance, registered studies can be preemptively downloaded based on user-related queries and prioritized based on the order of the queries. However, because PACS200 is used, sometimes the user may select other studies not cached on the workstation to open or download. In such cases, prioritizing the selected studies may be necessary.

[0032] Considering the application context, each registration, and resource constraints such as CPU cores and memory capacity, the system must ultimately determine the optimal image and operation to send next. The system should achieve final consistency and minimize the possibility of repeated caching and flushing operations. Furthermore, the system must have the flexibility to accommodate the DICOM information model, enabling prioritization at various hierarchical levels.

[0033] Referring further to Figures 3A-5, embodiments of the present invention provide computer-implemented methods, systems, and computer program products for prioritizing prefetching and caching operations within a PACS 200 based on the viewer application context. The PACS 200 includes a viewer application 410 running on a client device 400 (e.g., an analysis WS 103 or a medical WS 104) and a plurality of image studies 222 stored in an image file store 408 and managed by a database 406 (e.g., an image DB 106) on one or more servers 402 (e.g., an image server 105). The image service 404 can be used by one or more electronic devices (e.g., an imaging device 102, a medical WS 104, and an analysis WS 103, etc.) to access image metadata in the database 406 and to read medical image files from or write medical image files to the image file store 408. Each image study 222 may contain one or more series of medical image files. Each series of medical image files may contain multiple medical image files. Each medical image file includes a medical image 242 captured by a medical imaging device (e.g., imaging device 102) and associated metadata (e.g., DICOM format data). The viewer application 410 interacts with the multiple medical image files and prefetches them to cache in the image file cache 412.

[0034] Further referring to the computer-implemented method 300 shown in Figures 3A-3C, the viewer application 410 includes a priority engine 420. In operation step 302, the priority engine 420 identifies a set of image studies from a plurality of image studies 222, each containing at least one medical image file that requires prefetching for caching operations. This identification may include identifying a first set of image studies indicated by one or more user queries, identifying a second set of image studies indicated by one or more user inputs that select at least one image study, identifying a third set of image studies indicated by user registration, and integrating the first, second, and third sets of image studies into one set of image studies from a plurality of image studies. It should be understood that a user may query an image study via a viewer user interface (UI) module 418 (e.g., a worklist GUI 220 and a viewer GUI 240), select an image study or a medical image within an image study, and register it in the image study.

[0035] In operation step 304, the priority engine 420 determines a priority value for each image study in a set of image studies based on the viewer application context associated with each image study. The priority value for each image study may include at least one of an image-level priority value, a series-level priority value, or a study-level priority value. The image-level priority value has a higher priority than the series-level priority value, and the series-level priority value has a higher priority than the study-level priority value. Furthermore, the viewer application context associated with each image study includes data indicating the associated caching operations performed on at least one medical image of the image study, the cache status of multiple medical image files of the image study, and whether there is any user input or user query associated with the image study.

[0036] In operation step 306, each image study in a set of image studies is stored by the priority engine 420 in a study queue bucket 448, series queue bucket 446, or image queue bucket 444 of the priority study cache 440 in the priority cache 432 based on its corresponding priority value. Each image study may be stored along with the corresponding study, series, and image index, caching operations associated with the image study and at least one medical image file requiring prefetching, and the cache state of multiple medical image files for the image study. The cache state may be at least one of image cache state 450, series cache state 452, or study cache state 454. The cache state may include data indicating whether there are active operations on the medical image files associated with the image study, data indicating whether the image study and associated medical image files exist in the application cache, and data indicating the eligibility of the image study and associated medical image files for each caching operation.

[0037] Further reference to the image, series, and research queue buckets based on the caching operations shown in Figure 5, a caching operation may include downloading an object (e.g., a medical image file) 500, flushing the image file from a specific memory cache 502, flushing the image file from a specific memory cache to a file 504, decrypting the medical image file 506, reading the stored medical image file 508, writing the medical image file to memory 510, deleting the medical image file 512, and flushing the decrypted medical image file 514, etc. Each caching operation may have associated operation cache buckets related to each of the various priority levels. For example, each caching operation may have operation cache buckets related to each image-level priority value (e.g., image-level priority value P1, image-level priority value P2, etc.), cache buckets related to each series-level priority value (e.g., series-level priority value P1, series-level priority value P2, etc.), and cache buckets related to each research-level priority value (e.g., research-level priority value P1, research-level priority value P2, etc.). In a particular embodiment, a round-robin ordering of operations may be used for items of equal priority level (i.e., images from image studies that need to be prefetched).

[0038] Within a caching operation, image-level priority values ​​have higher priority than series-level priority values, and series-level priority values ​​have higher priority than study-level priority values. In some cases, a caching operation may have a priority bucket containing one or more items of the same priority level. For example, a memory flushing operation 502 may have two items with an image-level priority value of P2, and a download operation 500 may have five items with a series-level priority value of P2.

[0039] In operation step 308, the priority engine 420 queries the priority cache 432 for the next image study that has at least one medical image file that needs prefetching. To enable efficient querying of the next object / operation pair to send out, the system maintains a cache of object / operation eligibility at various hierarchical levels within the priority cache 432. The priority cache 432 may be a data structure including a priority study cache 440, a study priority bucket 442, and an image retry queue 436, etc. The study priority bucket 442 may contain a queue of image study indices corresponding to image studies that have at least one medical image that needs prefetching. The study priority bucket may correspond to each caching operation for each priority level. For example, each cell in Figure 5 may correspond to a study priority bucket. The image retry queue 436 may contain, for example, items that failed to prefetch.

[0040] In operation step 310, the priority engine 420 receives the next research index or identifier, associated caching operations, and the cache status of the image research corresponding to the image research having the highest priority value. The research index or identifier may include the corresponding research index or identifier, the series index or identifier, and the image index or identifier corresponding to the image research. The index may contain one or more alphanumeric characters. In some embodiments, the subsequent image indices within a series may be consecutive or alphabetical, and the subsequent series indices within a research may be consecutive or alphabetical.

[0041] In operation step 312, the priority engine 420 identifies at least one medical image file that requires prefetching for the image study with the highest priority value. If the highest priority value is an image-level priority value, the indicated image is returned immediately. If the highest priority value is a series-level priority value, the series queue within the study is queried for the next series, the range of image indices covered by the series within the study is searched, the study's image bucket is queried within the range of image indices, and the first image of the series within the study that requires prefetching is returned. If the highest priority value is a study-level priority value, the study's image bucket is queried, and the first image of the series within the study that requires prefetching is returned.

[0042] In operation step 314, the priority engine 420 prefetches at least one medical image file of the image study having the highest priority value. The priority engine 420's message handler 430 sends the operation and image to the image operation dispatcher 434. The image operation dispatcher 434 sends the operation and image to the image downloader 422, image decoder 424, or image cache access mechanism 426, etc., based on the operation.

[0043] In operation step 316, at least one prefetched medical image file for an image study with the highest priority value is returned to the image cache access mechanism 426 and stored in an application cache (e.g., image file cache 412, decoded image cache 414, or image cache 416, etc.) in the PACS memory (e.g., system memory 636). The application cache corresponds to the associated caching operations and the cache state of the image study with the highest priority value. After operation step 316, the computer-implemented method 300 may repeatedly return to operation step 302 to update the priority value of the priority cache 432, query the priority cache 432 for the next caching operation to be performed, and send out these operations in parallel as it proceeds to operation step 318. After the medical image files have been prefetched and stored in the application cache, one or more cache states may be updated to reflect the updated state and eligibility.

[0044] In operation step 318, when the associated caching operation is performed on at least one medical image file, that at least one medical image file is fetched from the application cache. In operation step 320, the associated caching operation is performed on the medical image file.

[0045] Referring to Figure 6, an exemplary computing environment 600 is shown, which can be used through programming to realize any of the processes described above. The computing environment 600 may include a computer 612 that includes a video interface 626, a network interface 628, one or more serial ports 632, a keyboard / mouse interface 634, and a system bus 624 connecting system memory 636 to a central processing unit (CPU) 638. The computer 612 may also include a graphics processing unit (GPU) or one or more other special-purpose or general-purpose processing units. A monitor or display 640 is connected to the bus 624 via the video interface 626 and provides the user with a graphical user interface for viewing, editing, and otherwise operating items displayed on the computer 612. The graphical user interface allows the user to input commands and information into the computer 612 using a keyboard 641 and a user interface selection device 643 such as a mouse or other pointing device. The keyboard 641 and the user interface selection device 643 are connected to the bus 624 via the keyboard / mouse interface 634. The display 640 and the user interface selection device 643, when used together, form a graphical user interface that enables the user to realize at least a part of the present invention. Other peripheral devices may be connected to the computer 612 via the serial port 632 or the Universal Serial Bus (USB) drive 645 and exchange information with the computer 612.

[0046] System memory 636 is also connected to bus 624 and may include ROM, RAM, operating system 644, basic input / output system (BIOS) 646, application programs 648, and program data 950. Computer 612 may further include a hard disk drive 652 for reading and writing hard disks, a magnetic disk drive 654 for reading and writing removable magnetic disks (e.g., floppy disks), and an optical disk drive 956 for reading and writing removable optical disks (e.g., CD-ROMs or other optical media). Computer 612 may also include a USB drive 645 and other types of drives for reading and writing flash memory devices (CompactFlash, Memory Stick / PRO and DUO, SD cards, Multimedia Cards, and SmartMedia Cards), and a scanner 958 for scanning items such as digital images to be downloaded to computer 612. The hard disk drive interface 652a, magnetic disk drive interface 654a, optical disk drive interface 656a, USB drive interface 645a, and scanner interface 658a operate to connect bus 624 to the hard disk drive 652, magnetic disk drive 654, optical disk drive 656, USB drive 645, and scanner 658, respectively. Each of these drive components and its associated computer-readable media may provide computer 612 with non-volatile storage of computer-readable instructions, program modules, data structures, application programs, operating systems, and other data for computer 612. It will also be understood that computer 612 may utilize other types of computer-readable media in addition to those described herein, such as digital video discs, random access memory, read-only memory, other types of flash memory cards, and magnetic cassettes.

[0047] The network interface 628 provides the computer 612 with a communication channel 660 between the bus 624 and the network 109. This channel 660 allows notices, information, and other data to be transmitted from any previously identified device through the network 109 and, in some cases, stored in memory. This type of logical network connection is commonly used with local area networks. Images can be transmitted from the bus 624 to the network 109 via the communication channel 662 using the serial port 632 and modem 664. Modem connections between the computer 612 and other computing devices or databases, etc., may be used with wide area networks or the internet. The network connections described herein are merely illustrative, and it will be understood that the use of other types of network connections between the computer 612 and other computing devices, including both wired and wireless connections, is also within the scope of the invention.

[0048] As described above, embodiments of the present invention provide improved methods and communication systems within a PACS that enable prioritized prefetching and caching operations based on the application context.

[0049] Based on the above, the methods, computer systems, and program products according to the present invention have been disclosed. However, numerous modifications and substitutions can be made without departing from the scope of the present invention. Therefore, the present invention is disclosed for illustrative purposes only and not for limitation.

Claims

1. A computer-implemented method for prioritized prefetching and caching operations within an Image Storage and Communication System (PACS), wherein the PACS includes a viewer application and a plurality of image studies, each of the image studies includes one or more series of medical image files, each of the series of medical image files includes a plurality of medical image files, each of the medical image files includes medical images captured by a medical imaging device and associated DICOM (Digital Image and Communication in Medicine) data, the viewer application interacts with the plurality of medical image files, and the computer-implemented method is: The priority engine of the viewer application identifies one set of image studies from among the plurality of image studies, wherein each of the set of image studies includes at least one medical image file that requires prefetching for caching operations. The priority engine determines a priority value for each of the set of image studies based on the viewer application context associated with each image study, Each of the aforementioned image studies is stored in a study queue, series queue, or image queue in the memory of the PACS based on the corresponding priority value, wherein each of the aforementioned image studies is Corresponding research index, series index, and image index, The image study includes a caching operation related to the at least one medical image file requiring prefetching, The cache state of the plurality of medical image files in the aforementioned image study and To be remembered together, and to remember, The priority engine queries the priority cache for the next image study that has at least one medical image file requiring prefetching, The priority engine receives the next research index corresponding to the image study having the highest priority value, the associated caching operation, and the cache state of the image study, wherein the next research index is the corresponding research index, the series index, and the image index. The priority engine identifies at least one medical image file of the image study having the highest priority value, The priority engine prefetches at least one medical image file of the image study having the highest priority value, The at least one prefetched medical image file of the image study having the highest priority value is stored in the application cache in the memory of the PACS, wherein the application cache stores the associated caching operations and the cache state of the image study having the highest priority value. When the aforementioned related caching operation is performed on at least one medical image file, the at least one medical image file is fetched from the application cache, Performing the aforementioned related caching operation on the aforementioned medical image file A method implemented by a computer, including the above.

2. Identifying one set of image studies from the plurality of image studies is Identifying a first set of image studies within the set of image studies, wherein the first set of image studies includes at least one medical image file that requires prefetching for a first caching operation indicated by one or more user queries. Identifying a second set of image studies within the aforementioned set of image studies, wherein the second set of image studies includes at least one medical image file that requires prefetching for a second caching operation indicated by one or more user inputs that select at least one image study, or Identifying a third set of image studies within the aforementioned set of image studies, wherein the third set of image studies includes at least one medical image file that requires prefetching for a third caching operation indicated by user registration. A computer-based method according to claim 1, comprising at least one of the following.

3. The computer-based method according to claim 2, wherein identifying one set of image studies from among the plurality of image studies further includes integrating the first set of image studies, the second set of image studies, and the third set of image studies into the one set of image studies from among the plurality of image studies.

4. The priority value for each image study includes at least one of the following: an image-level priority value, a series-level priority value, or a study-level priority value. The image level priority value is higher than the series level priority value, and the series level priority value is higher than the research level priority value. The method implemented by the computer as described in claim 1.

5. The computer-implemented method according to claim 1, wherein the viewer application context related to each of the image studies includes the associated caching operations, the cache state of the plurality of medical image files of the image study, and data indicating whether or not there is user input or user query related to the image study.

6. The cache state of the aforementioned image study is: Data indicating whether or not there are active operations on medical image files related to the aforementioned image study, Data indicating whether the aforementioned image study and the related medical image files exist in the application cache, or Data indicating the eligibility of the image study and the associated medical image files for each of the caching operations, A computer-based method according to claim 1, including the method described in claim 1.

7. The method implemented by a computer according to claim 1, wherein the application cache includes at least one of a decrypted image cache, an image file cache, or an image cache.

8. A computer system for prioritized prefetching and caching operations within a picture storage and communication system (PACS), wherein the PACS includes a viewer application and a plurality of image studies, each of the image studies includes one or more series of medical image files, each of the series of medical image files includes a plurality of medical image files, each of the medical image files includes medical images captured by a medical imaging device and associated DICOM (Digital Image and Communication in Medicine) data, the viewer application interacts with the plurality of medical image files, and the computer system, One or more computer processors, One or more non-temporary computer-readable storage media, Program instructions stored in the non-temporary computer-readable storage medium to be executed by at least one of the one or more computer processors: The program instructions are provided, The priority engine of the viewer application identifies one set of image studies from among the plurality of image studies, wherein each of the set of image studies includes at least one medical image file that requires prefetching for caching operations. The priority engine determines a priority value for each of the set of image studies based on the viewer application context associated with each image study, Each of the aforementioned image studies is stored in a study queue, series queue, or image queue in the memory of the PACS based on the corresponding priority value, wherein each of the aforementioned image studies is Corresponding research index, series index, and image index, The image study includes a caching operation related to the at least one medical image file requiring prefetching, The cache state of the plurality of medical image files in the aforementioned image study and To be remembered together, and to remember, The priority engine queries the priority cache for the next image study that has at least one medical image file requiring prefetching, The priority engine receives the next research index corresponding to the image study having the highest priority value, the associated caching operation, and the cache state of the image study, wherein the next research index is the corresponding research index, the series index, and the image index. The priority engine identifies the at least one medical image file that requires prefetching for the image study having the highest priority value, The priority engine prefetches at least one medical image file of the image study having the highest priority value, The at least one prefetched medical image file of the image study having the highest priority value is stored in the application cache in the memory of the PACS, wherein the application cache stores the associated caching operations and the cache state of the image study having the highest priority value. When the aforementioned related caching operation is performed on at least one medical image file, the at least one medical image file is fetched from the application cache, Performing the aforementioned related caching operation on the aforementioned medical image file Includes program instructions that perform the following: Computer system.

9. The program instruction for identifying one set of image studies from the plurality of image studies is: Identifying a first set of image studies within the set of image studies, wherein the first set of image studies includes at least one medical image file that requires prefetching for a first caching operation indicated by one or more user queries. Identifying a second set of image studies within the aforementioned set of image studies, wherein the second set of image studies includes at least one medical image file that requires prefetching for a second caching operation indicated by one or more user inputs that select at least one image study, or Identifying a third set of image studies within the aforementioned set of image studies, wherein the third set of image studies includes at least one medical image file that requires prefetching for a third caching operation indicated by user registration. The computer system according to claim 8, including a program instruction to perform the following.

10. The program instruction for identifying one set of image studies from the plurality of image studies is: Integrating the first set of image studies, the second set of image studies, and the third set of image studies into one set of image studies from among the plurality of image studies. Further includes program instructions that perform the following: The computer system according to claim 9.

11. The priority value for each image study includes at least one of the following: an image-level priority value, a series-level priority value, or a study-level priority value. The image level priority value is higher than the series level priority value, and the series level priority value is higher than the research level priority value. The computer system according to claim 8.

12. The computer system according to claim 8, wherein the viewer application context related to each of the image studies includes the associated caching operations, the cache state of the plurality of medical image files in the image study, and data indicating whether or not there is user input or user query related to the image study.

13. The cache state of the aforementioned image study is: Data indicating whether or not there are active operations on medical image files related to the aforementioned image study, Data indicating whether the aforementioned image study and the related medical image files exist in the application cache, or Data indicating the eligibility of the image study and the associated medical image files for each of the caching operations, The computer system according to claim 8, including the computer system according to claim 8.

14. The computer system according to claim 8, wherein the application cache includes at least one of a decrypted image cache, an image file cache, or an image cache.

15. A computer program product for prioritized prefetching and caching operations within a picture storage and communication system (PACS), wherein the PACS includes a viewer application and a plurality of image studies, each of the image studies includes one or more series of medical image files, each of the series of medical image files includes a plurality of medical image files, each of the medical image files includes medical images and associated DICOM (Digital Image and Communication in Medicine) data acquired by a medical imaging device, the viewer application interacts with the plurality of medical image files, and the computer program product comprises a non-temporary computer-readable storage medium implementing the program code, the program code is, The priority engine of the viewer application identifies one set of image studies from among the plurality of image studies, wherein each of the set of image studies includes at least one medical image file that requires prefetching for caching operations. The priority engine determines a priority value for each of the set of image studies based on the viewer application context associated with each image study, Each of the aforementioned image studies is stored in a study queue, series queue, or image queue in the memory of the PACS based on the corresponding priority value, wherein each of the aforementioned image studies is Corresponding research index, series index, and image index, The image study includes a caching operation related to the at least one medical image file requiring prefetching, The cache state of the plurality of medical image files in the aforementioned image study and To be remembered together, and to remember, The priority engine queries the priority cache for the next image study that has at least one medical image file requiring prefetching, The priority engine receives the next research index corresponding to the image study having the highest priority value, the associated caching operation, and the cache state of the image study, wherein the next research index is the corresponding research index, the series index, and the image index. The priority engine identifies the at least one medical image file that requires prefetching for the image study having the highest priority value, The priority engine prefetches at least one medical image file of the image study having the highest priority value, The at least one prefetched medical image file of the image study having the highest priority value is stored in the application cache in the memory of the PACS, wherein the application cache stores the associated caching operations and the cache state of the image study having the highest priority value. When the aforementioned related caching operation is performed on at least one medical image file, the at least one medical image file is fetched from the application cache, Performing the aforementioned related caching operation on the aforementioned medical image file It is program code that can be executed by a processor, Computer program products.

16. The program code that identifies one set of image studies from the plurality of image studies is: Identifying a first set of image studies within the set of image studies, wherein the first set of image studies includes at least one medical image file that requires prefetching for a first caching operation indicated by one or more user queries. Identifying a second set of image studies within the first set of image studies, wherein the second set of image studies includes at least one medical image file that requires prefetching for a second caching operation indicated by one or more user inputs that select at least one image study. Identifying a third set of image studies within the aforementioned set of image studies, wherein the third set of image studies includes at least one medical image file requiring prefetching for a third caching operation indicated by user registration. To integrate the first set of image studies, the second set of image studies, and the third set of image studies into one set of image studies from among the multiple set of image studies. Includes program code that performs the following: The computer program product according to claim 15.

17. The priority value for each image study includes at least one of the following: an image-level priority value, a series-level priority value, or a study-level priority value. The image level priority value is higher than the series level priority value, and the series level priority value is higher than the research level priority value. The computer program product according to claim 15.

18. The computer program product according to claim 15, wherein the viewer application context related to each of the image studies includes the associated caching operations, the cache state of the plurality of medical image files of the image study, and data indicating whether or not there is user input or user query related to the image study.

19. The cache state of the aforementioned image study is: Data indicating whether or not there are active operations on medical image files related to the aforementioned image study, Data indicating whether the aforementioned image study and the related medical image files exist in the application cache, or Data indicating the eligibility of the image study and the associated medical image files for each of the aforementioned caching operations, The computer program product according to claim 15, including the above.

20. The computer program product according to claim 15, wherein the application cache includes at least one of a decrypted image cache, an image file cache, or an image cache.