Sign In to Follow Application
View All Documents & Correspondence

A Method And System For Dynamically Generating Medical Reports

Abstract: The present disclosure relates to a method and distributed analysis system for dynamically generating medical reports. In an embodiment, input data of one or more data types are received from one or more data sources and partitioned into one or more data fragments. Subsequent to partitioning the input data, each of the data fragments are allocated among one or more analysis modules for analyzing each of the data fragments. Finally, the medical reports are generated by aggregating result of analysis obtained from the one or more data analysis modules. In an embodiment, the present method helps in reducing Turn Around Time (TAT) for analysis of medical data of different types, and generating medical reports thereof. FIG. 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
15 May 2018
Publication Number
32/2018
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipo@knspartners.com
Parent Application
Patent Number
Legal Status
Grant Date
2019-04-23
Renewal Date

Applicants

SIGTUPLE TECHNOLOGIES PRIVATE LIMITED
Ground Floor, Sanjeevani Building, L-175, Sector 6, HSR Layout, Bangalore-560102, Karnataka India.

Inventors

1. Duraikrishna Selvaraju
901, Meenaxi Towers, Gokuldham, Goregaon East, Mumbai: 400063, India.
2. Kumudini Kakwani
Second Floor, 10/1, Gangamma Temple street, Gangamma Temple extension, Ashoknagar, NR Colony, Bangalore- 560050, India.
3. Asit Kumar Singh
D.T.-2921, Tanki site, Dhurwa, Ranchi-04, Jharkhand, PIN- 834004, India.
4. Rajat Poovaiah
405, Sri Rajarajeshwari Nivas, BHEL Layout, Pattanagere, Rajarajeshwari Nagar, Bangalore – 560098, India.
5. Maroof Ahmad
C/o- Nafis Ahmad, Ward No.-13 , Masjid Campus Jayant Colliery , Singrauli, Madhya Pradesh. Pin – 486890, India.
6. Apurv Anand
A305, Nagarjuna Greenridge, 19th Main, 27th Cross, HSR Layout Sector 2, Bangalore 560102, India.
7. Rohit Kumar Pandey
Flat B3, Clivia, Royal Habitat Apartment, HSR Layout Sector 2. Bangalore- 560102, India.
8. Manish Kaushal
360, Old Oil Mill Colony, Gujerkheda, Simrol Road, mhow, Madhya Pradesh. Pin- 453441, India.
9. Prateek Shrivastava
“ARTI”, Agrasen Bhawan Road, Behind Naya Mandir, Purani Basti, Raipur 492001, India.

Specification

Claims:
1. A method for dynamically generating medical reports (107), the method comprising:
receiving, by a distributed analysis system (103), input data (102) of one or more data types from one or more data sources (101);
partitioning, by the distributed analysis system (103), the input data (102) into one or more data fragments (104) based on one or more fragmentation parameters (211);
allocating, by the distributed analysis system (103), each of the one or more data fragments (104) among one or more analysis modules (105) associated with the distributed analysis system (103), based on a weighted average score (213) associated with each of the one or more data fragments (104), wherein each of the one or more analysis modules (105) are configured for performing parallel analysis of each of the one or more data fragments (104); and
aggregating, by the distributed analysis system (103), results of analysis (106), obtained by analyzing each of the one or more data fragments (104), for generating the medical reports (107).

2. The method as claimed in claim 1, wherein the one or more fragmentation parameters (211) comprise at least one of size of the input data (102), type of the input data (102), number of analysis modules (105) associated with the distributed analysis system (103), and time required for analyzing each of the one or more data fragments (104).

3. The method as claimed in claim 1, wherein the weighted average score (213) associated with each of the one or more data fragments (104) is computed based on a predicted turnaround time required for analyzing each of the one or more data fragments (104).

4. The method as claimed in claim 1, wherein one or more inter-related data fragments (104) are serialized and provided for each of the one or more analysis modules (105) for parallel analysis.

5. The method as claimed in claim 1 further comprises configuring each of the one or more analysis modules (105) to re-schedule analysis of the one or more data fragments (104) for a predetermined number of times upon detecting a failure during parallel analysis of the one or more data fragments (104), until completion of the analysis of each of the one or more data fragments (104).

6. The method as claimed in claim 1, wherein configuration of each of the one or more analysis modules (105) is modified based on the one or more data types of the input data (102).

7. The method as claimed in claim 6, wherein the configuration includes at least one of levels of analysis of each of the one or more analysis modules (105), and dependencies among each of the one or more analysis modules (105).

8. A distributed analysis system (103) for dynamically generating medical reports (107), the distributed analysis system (103) comprises:
a processor; and
a memory, communicatively coupled to the processor, wherein the memory stores processor-executable instructions, which on execution cause the processor to:
receive input data (102) of one or more data types from one or more data sources (101);
partition the input data (102) into one or more data fragments (104) based on one or more fragmentation parameters (211);
allocate each of the one or more data fragments (104) among one or more analysis modules (105) associated with the distributed analysis system (103), based on a weighted average score (213) associated with each of the one or more data fragments (104), wherein each of the one or more analysis modules (105) are configured to perform parallel analysis of each of the one or more data fragments (104); and
aggregate results of analysis (106), obtained by analyzing each of the one or more data fragments (104), to generate the medical reports (107).

9. The distributed analysis system (103) as claimed in claim 8, wherein the one or more fragmentation parameters (211) comprise at least one of size of the input data (102), type of the input data (102), number of analysis modules (105) associated with the distributed analysis system (103), and time required to analyze each of the one or more data fragments (104).

10. The distributed analysis system (103) as claimed in claim 8, wherein the processor computes the weighted average score (213) for each of the one or more data fragments (104) based on a predicted turnaround time required to analyze each of the one or more data fragments (104).

11. The distributed analysis system (103) as claimed in claim 8, wherein the processor serializes one or more inter-related data fragments (104) and provides the serialized one or more inter-related data fragments (104) to each of the one or more analysis modules (105) for parallel analysis.

12. The distributed analysis system (103) as claimed in claim 8, wherein the processor configures each of the one or more analysis modules (105) to re-schedule analysis of the one or more data fragments (104) for a predetermined number of times upon detecting a failure during parallel analysis of the one or more data fragments (104), until completion of the analysis of each of the one or more data fragments (104).

13. The distributed analysis system (103) as claimed in claim 8, wherein the processor modifies configuration of each of the one or more analysis modules (105) based on the one or more data types of the input data (102).

14. The distributed analysis system (103) as claimed in claim 13, wherein the configuration includes at least one of levels of analysis of each of the one or more analysis modules (105), and dependencies among each of the one or more analysis modules (105).
, Description:TECHNICAL FIELD
The present subject matter is, in general, related to medical data processing and more particularly, but not exclusively, to a method and system for dynamically generating medical reports.

BACKGROUND
Presently, medical reports such as results of examination of patients, images of radiology, and the like are widely being used in hospitals and diagnostic centers for diagnosis and treatment of various diseases. Usually, analysis and interpretation of these medical reports is conducted by specialized medical professionals such as radiologists, pathologists and trained laboratory technicians. Further, the professionals may also prepare detailed reports to narrate findings of the medical reports, specifically to determine whether each area and/or part of interest is normal or abnormal.

However, manual assessment of the medical reports by the professionals is not only a tedious and time consuming task, but also challenging in view of the increase in rate of diagnostic examinations conducted over a period. Further, since the manual assessment of the medical reports is a time taking process, the patients are required to wait for longer durations to receive the medical reports from the professionals. Additionally, manual preparation of the medical reports may be prone to various errors due to lack of experience or lack of skills of the professionals. Therefore, a means for automated analysis and preparation of the medical reports may be necessary for enhancing accuracy and speed of generating the medical reports.

SUMMARY
One or more shortcomings of the prior art may be overcome, and additional advantages may be provided through the present disclosure. Additional features and advantages may be realized through the techniques of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure.

Disclosed herein is a method for dynamically generating medical reports, the method comprising receiving, by a distributed analysis system, input data of one or more data types from one or more data sources. Further, the method comprises partitioning the input data into one or more data fragments based on one or more fragmentation parameters. Upon partitioning the input data, the method comprises allocating each of the one or more data fragments among one or more analysis modules associated with the distributed analysis system based on a weighted average score associated with each of the one or more data fragments. Each of the one or more analysis modules are configured for performing parallel analysis of each of the one or more data fragments. Finally, the method comprises aggregating result of analysis, obtained by analyzing each of the one or more data fragments, for generating the medical reports.

Further, the present disclosure relates to a distributed analysis system for dynamically generating medical reports. The distributed analysis system comprises a processor and a memory. The memory is communicatively coupled to the processor and stores processor-executable instructions, which on execution cause the processor to receive input data of one or more data types from one or more data sources. Further, the instructions cause the processor to partition the input data into one or more data fragments based on one or more fragmentation parameters. Thereafter, the instructions cause the processor to allocate each of the one or more data fragments among one or more analysis modules associated with the distributed analysis system, based on a weighted average score associated with each of the one or more data fragments. Each of the one or more analysis modules are configured to perform parallel analysis of each of the one or more data fragments. Finally, the instructions cause the processor to aggregate result of analysis, obtained by analyzing each of the one or more data fragments, to generate the medical reports.

The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, explain the disclosed principles. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by sway of example only, and regarding the accompanying figures, in which:
FIG. 1 illustrates an exemplary environment for dynamically generating medical reports in accordance with some embodiments of the present disclosure;

FIG. 2 shows a detailed block diagram illustrating a distributed analysis system in accordance with some embodiments of the present disclosure;

FIG. 3 shows a flowchart illustrating a method of dynamically generating medical reports in accordance with some embodiments of the present disclosure; and

FIG. 4 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.

It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether such computer or processor is explicitly shown.

DETAILED DESCRIPTION
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
While the disclosure is susceptible to various modifications and alternative forms, specific embodiment thereof has been shown by way of example in the drawings and will be described in detail below. It should be understood, however that it is not intended to limit the disclosure to the specific forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternative falling within the scope of the disclosure.
The terms “comprises”, “comprising”, “includes”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises… a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or method.
The present disclosure relates to a method and a distributed analysis system for dynamically generating medical reports. In an embodiment, input data of one or more data types, using which the medical reports have to be generated, may be received from one or more data sources. Thereafter, the input data may be partitioned into one or more data fragments based on one or more fragmentation parameters such as size of the input data, type of the input data, number of analysis modules available, time required to analyze each of the one or more data fragments and the like. Upon partitioning the input data, each of the one or more data fragments may be allocated among one or more analysis modules wherein each of the one or more analysis modules perform parallel analysis of each of the one or more data fragments. Finally, the medical reports may be generated by aggregating result of analysis received from the one or more data analysis modules.
In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense.

FIG. 1 illustrates an exemplary environment 100 for dynamically generating medical reports 107 in accordance with some embodiments of the present disclosure.

The environment 100 may include one or more data sources 101, data source 1 101A to data source N 101N (collectively referred to as data sources 101), a distributed analysis system 103, and one or more analysis modules 105, analysis module 1 105A to analysis module 105N (collectively referred to as analysis modules 105). In an embodiment, the one or more data sources 101 may include, without limiting to, image and/or video capturing devices, medical diagnosis equipments such as ultrasound scanners, Magnetic Resonance Imaging (MRI) scanners, Positron Emission Tomography (PET) and Computed Tomography (CT) scanners, X-ray machines and other medical imaging devices. In an embodiment, the one or more data sources 101 may also include static databases such as in-house medical repositories of a hospital, which store raw medical diagnostic information.

In an embodiment, the distributed analysis system 103 may receive input data 102 for generating the medical reports 107 from the one or more data sources 101. As an example, the input data 102 may include, without limiting to, images and/or scanned copies produced by the one or more data sources 101. In some embodiments, the input data 102 may be of various sizes and various data types. As an example, the input data 102 received from the one or more data sources 101 may be a combination of copies of MRI scan, and microscopic images/videos of an entity, which may have to be processed in parallel for generating a single medical report.

In an embodiment, upon receiving the input data 102 from the one or more data sources 101, the distributed analysis system 103 may partition the input data 102 into one or more data fragments 104, data fragment 104A to data fragment 104B (collectively referred to as data fragments 104), before forwarding the input data 102 for analysis by the one or more analysis modules 105. The one or more data fragments 104 may be formed based on one or more fragmentation parameters including, without limiting to, size of the input data 102, type of the input data 102, number of analysis modules 105 associated with the distributed analysis system 103, and time required for analyzing each of the one or more data fragments 104. In an embodiment, partitioning the input data 102 into one or more data fragments 104 may be helpful in achieving equitable distribution of task/computational load across each of the one or more analysis modules 105.

In an embodiment, upon partitioning the input data 102, the distributed analysis system 103 may allocate each of the one or more data fragments 104 among the one or more analysis modules 105 based on a weighted average score associated with each of the one or more data fragments 104. As an example, the weighted average score may be computed based on a predicted turnaround time required for analyzing each of the one or more data fragments 104.

In an embodiment, each of the one or more analysis modules 105 may be configured for performing parallel analysis of the one or more data fragments 104. Further, the one or more data fragments 104, which are inter-related may be serialized and provided for each of the one or more analysis modules 105 for parallel analysis. For example, the one or more data fragments, which are formed by partitioning a single videoclip may be serialized for parallel processing by a single analysis module 105. In some implementations, the one or more analysis modules 105 may be configured within the distributed analysis system 103. In alternative implementations, the one or more analysis modules 105 may be configured over a distributed network, and connected to the distributed analysis system 105 via a suitable wired and/or wireless communication interface.

Upon analyzing the one or more data fragments 104, the one or more analysis modules 105 may return results of analysis 106, namely, result of analysis of 106A obtained by analyzing the data fragment 104A to result of analysis 106N obtained by analyzing the data fragment 104N (collectively referred to as results of analysis 106) to the distributed analysis system 103. Finally, the distributed analysis system 103 may aggregate the results of analysis 106 received from each of the one or more analysis modules 105 and generate the medical reports 107 corresponding to the input data 102.

FIG. 2 shows a detailed block diagram illustrating a distributed analysis system 103 in accordance with some embodiments of the present disclosure.

In an implementation, the distributed analysis system 103 may include an I/O interface 201, a processor 203, and a memory 205. The I/O interface 201 may be configured to receive input data 102 from one or more data sources 101 associated with the distributed analysis system 103. Further, the I/O interface 201 may be configured to communicate with one or more analysis modules 105 for transmitting one or more data fragments 104 for analysis by the one or more analysis modules 105 and to receive results of analysis 106 from the one or more analysis modules 105. The processor 203 may be configured to perform one or more functions of the distributed analysis system 103 while dynamically generating the medical reports 107. In some implementation, the memory 205 may be communicatively coupled to the processor 203 and may store data 207 and other intermediate analysis results generated when the one or more data fragments 104 are analyzed by the one or more analysis modules 105.

In some implementations, the distributed analysis system 103 may include modules 209 for performing various operations in accordance with embodiments of the present disclosure. In an embodiment, the data 207 may be stored within the memory 205 and may include, without limiting to, input data 102, fragmentation parameters 211, data fragments 104, weighted average score 213, results of analysis 106 and other data 215.

In some embodiments, the data 207 may be stored within the memory 205 in the form of various data structures. Additionally, the data 207 may be organized using data models, such as relational or hierarchical data models. The other data 215 may store data, including the input data 102 and other temporary data and files generated by one or more modules 209 for performing various functions of the distributed analysis system 103.

In an embodiment, the input data 102 may be received from the one or more data sources 101. The input data 102 may be of different sizes and may belong to different data types. As an example, the input data 102 may include, without limiting to, microscopic images/videos captured during diagnosis of a user, scanned copies of diagnostic images such as MRI, PET and CT, and other raw medical information generated during diagnosis of the user.

In an embodiment, the fragmentation parameters 211 may be used for managing partitioning of the input data 102 into one or more data fragments 104. As an example, the one or more fragmentation parameters 211 may include, without limiting to, the size of the input data 102, type of the input data 102, number of analysis modules 105 available for analyzing the input data 102, and time required for analyzing each of the one or more data fragments 104. In an embodiment, the input data 102 may be partitioned into more number of data fragments 104 when the size of the input data 102 is higher. Similarly, the input data 102 may be partitioned into more number of data fragments 104 when there are more number of analysis modules 105 available for analyzing the input data 102. Thus, the fragmentation parameters 211 help in controlling partitioning of the input data 102.

In an embodiment, the one or more data fragments 104 may be obtained by partitioning the input data 102 based on the one or more fragmentation parameters 211. Partitioning the input data 102 into the one or more data fragments 104 may help in faster analysis of the input data 102, since the complex and/or large input data 102 may be split into multiple data fragments 104 of lesser size and distributed across the one or more analysis modules 105, thereby reducing computational overhead on the one or more analysis modules 105. For example, suppose the input data 102 is a microscopic video of a live semen sample, which has a file size of 50 MB. Here, since the size of the video is large, the video may be partitioned into 5 fragments of size 10 MB each, and each fragment may be allocated to 5 analysis modules 105 for parallel analysis of the video. Alternatively, the video may be partitioned based on total number of frames comprised in the video, such that each of the analysis modules 105 analyze equal number of frames.

In an embodiment, the weighted average score 213 may be used for allocating the one or more data fragments 104 among one or more analysis modules 105. The weighted average score 213 may be a relative score indicative of the order and/or priority with which the one or more data fragments 104 may be allocated to the one or more analysis modules 105. In some embodiments, the weighted average score 213 may be computed based on a predicted turnaround time required for analyzing each of the one or more data fragments 104. For example, the weighted average score 213 for a data fragment ‘D’ may be a relatively higher value, when the predicted turnaround time for analyzing the data fragment ‘D’ is relatively higher than the predicted turnaround time for analyzing one or more other data fragments 104. In such a scenario, the data fragment ‘D’ may be allocated on priority to one of the one or more analysis modules 105.

In an embodiment, the results of analysis 106 may be obtained from the one or more analysis modules 105. The one or more analysis modules 105 may generate the results of analysis 106 upon analyzing the one or more data fragments 104 allocated to the one or more analysis modules 105. In an implementation, the medical reports 107 corresponding to the input data 102 may be generated only upon aggregation of each of the results of analysis 106 obtained from the one or more analysis modules 105. For example, suppose the data fragment is an image of semen sample, and the objective is to determine count of sperm cells in the semen sample based on the image. In this case, the result of analysis 106 generated by the one or more analysis module 105, upon analysis of the image, may be ‘count/number’ of the sperm cells in the image.

In an embodiment, each of the data 207 stored in the distributed analysis system 103 may be processed by the modules 209 of the distributed analysis system 103. In one implementation, the modules 209 may be stored as a part of the processor 203. In another implementation, the modules 209 may be communicatively coupled to the processor 203 for performing one or more functions of the distributed analysis system 103. The modules 209 may include, without limiting to, receiving module 217, data partitioning module 219, fragment allocation module 221, report generation module 223, and other modules 225.

As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In an embodiment, the other modules 225 may be used to perform various miscellaneous functionalities of the distributed analysis system 103. It will be appreciated that such modules 209 may be represented as a single module or a combination of different modules.

In an embodiment, the receiving module 217 may be used for receiving the one or more input data 102 from the one or more data sources 101. Further, upon receiving the input data 102, the receiving module 217 may also perform one or more data operations on the input data 102 to check consistency of the input data 102 for generating the medical reports 107. As an example, the one or more data operations may include, without limiting to, quality check operations such as eliminating redundant information from the input data 102, checking noise and/or blur in an input image, extracting regions of interest from the input image, and registering and indexing the input data 102 for accurate partitioning of the input data 102.

In an embodiment, the data partitioning module 219 may be used for partitioning the input data 102 into one or more data fragments 104, upon verifying the consistency of the input data 102. The data partitioning module 219 may partition the input data 102 based on one or more fragmentation parameters 211. As an example, the one or more fragmentation parameters 211 may include, without limiting to, the size of the input data 102, type of the input data 102, number of analysis modules 105 available for analysis of the input data 102, and time required for analyzing each of the one or more data fragments 104.

For example, consider the input data 102 comprising 10 images (Image 1 – Image 10) and 10 videoclips (Video 1 – Video 10). Suppose, the size of each image may be 4 MB and the predicted turnaround time for processing each of these images may be 1.2 seconds. Further, out of the 10 videoclips, suppose 5 video clips (Video 1 – Video 5) comprise 42 frames each, 3 video clips (Video 5 – Video 8) comprise 60 frames each, and 2 videoclips (Video 9 and Video 10) comprise 52 frames and 20 frames respectively. Let the predicted turnaround time for processing each frame in the videoclip may be 5 seconds. Then, the predicted turnaround time for processing each type of the input data 102 may be as indicated below:

Turnaround time for analyzing each image = 1.2 seconds;
Turnaround time for analyzing each frame in the video = 5 seconds

Turnaround time for analyzing video clip with 42 frames = 5 sec * 42 frames
= 210 seconds.

Turnaround time for analyzing video clip with 60 frames = 5 sec * 60 frames
= 300 seconds.

Turnaround time for analyzing video clip with 52 frames = 5 sec * 52 frames
= 260 seconds.

Turnaround time for analyzing video clip with 20 frames = 5 sec * 20 frames
= 100 seconds.

Now, suppose the data partitioning module 219 partitions the input data 102 based on the fragmentation parameter – ‘size’ of the input data 102. In that scenario, the data partitioning module 219 may partition the input data 102 into one or more data fragments 104 having equal size, by sorting each portion of the input data 102, i.e. 10 images and 10 videos with different number of frames, in an increasing order or a decreasing order of the predicated turnaround time. Sorting the input data 102 based on the predicted turnaround time helps in identifying the portions of input data 102 that require ‘least’ analysis time among the one or more portions of the input data 102. In the above example, sorting the input data 102 in an increasing order of the predicted turnaround time may result in following ordering:

Order of sorting Data portion Predicted turnaround time
1 Image 1 1.2 seconds
.
. .
.
10 Image 10 1.2 seconds
11 Video 10 200 seconds
12 Video 1 210 seconds
.
. .
.
16 Video 5 210 seconds
17 Video 9 260 seconds
18 Video 6 300 seconds
.
. .
.
20 Video 8 300 seconds

Table A: Sorting portions of the input data

Now, suppose there are 5 analysis modules 105 ready for analyzing the input data 102. In that case, the data partitioning module 219 may partition the entire input data 102 into 5 fragments of identical size, by grouping each of the sorted data portions according to the predicted turnaround time of each of the sorted data portions, as indicated in Table B.

Partition 1 Partition 2 Partition 3 Partition 4 Partition 5
Video 8
(300 sec) Video 7
(300 sec) Video 6
(300 sec) Video 9
(260 sec) Video 5
(210 sec)
Video 3
(210 sec) Video 2
(210 sec) Video 1
(210 sec) Video 10
(200 sec) Video 4
(210 sec)
Image 10
(1.2 sec) Image 9
(1.2 sec) Image 8
(1.2 sec) Image 7
(1.2 sec) Image 6
(1.2 sec)
Image 5
(1.2 sec) Image 4
(1.2 sec) Image 3
(1.2 sec) Image 2
(1.2 sec) Image 1
(1.2 sec)
Total turnaround time = 512.4 seconds Total turnaround time = 512.4 seconds Total turnaround time = 512.4 seconds Total turnaround time = 462.4 seconds Total turnaround time = 422.4 seconds

Table B: Partitioning of the input data

Subsequently, the fragment allocation module 221 may allocate each of the 5 data fragments, (i.e. partition 1 – partition 5) to each of the five data analysis modules 105 for parallel analysis of each of the 5 data fragments. In an embodiment, the order in which each of the 5 data fragments are allocated to the data analysis modules 105 may be decided based on the predicted total turnaround time of each of the 5 data fragments. As an example, the data partition having least predicted total turnaround time may be allocated first to one of the data analysis modules 105. By allocating the data fragments in the order of total predicted turnaround time, the fragment allocation module 221 also ensures that the allocation is equivalent across each of the data analysis modules 105 in terms of the turnaround required for analyzing the data fragments. In an embodiment, the fragment allocation module 221 may serialize each portion of data within each of the 5 data fragments to a single analysis module 105 for faster and parallel analysis of the inter-related data fragments.

In an embodiment, the fragment allocation module 221 may distribute the data fragments 104 across the available analysis modules 105 based on the weighted average score 213 associated with each of the data fragments 104. The weighted average score 213 associated with each of the data fragments 104 may be computed based on a predicted turnaround time required for analyzing each of the one or more data fragments 104. As an example, for the data fragments in Table B, the weighted average score 213 of partition 1, partition 2 and partition 3 may be higher than the weighted average score 213 of partition 4 and partition 5, since the predicted turnaround time required for analysis of partition 1, partition 2, partition 3 is higher than the predicted turnaround time required for analysis of partition 4 and partition 5. In an exemplary embodiment, value of the predicted turnaround time of each of the one or more data fragments 104 may be assigned as the weighted average score 213 of corresponding one or more data fragments 104.

In an embodiment, the report generation module 223 may be used for generating the medical reports 107 by aggregating the results of analysis 106 obtained by analysis of each fragment of the input data 102. In some implementations, the report generation module 223 may be associated to a display interface for displaying the medical reports 107 to a user and/or an operator of the distributed analysis system 103.

FIG. 3 shows a flowchart illustrating a method of dynamically generating medical reports 107 in accordance with some embodiments of the present disclosure.

As illustrated in FIG. 3, the method 300 includes one or more blocks illustrating a method of dynamically generating the medical reports 107 using a distributed analysis system 103, for example, the distributed analysis system 103 shown in FIG. 1. The method 300 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform specific functions or implement specific abstract data types.
The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.

At block 301, the method 300 includes receiving, by the distributed analysis system 103, input data 102 of one or more data types from one or more data sources 101. As an example, the one or more data sources 101 may include, without limiting to, image and/or video capturing devices, medical diagnosis equipments such as ultrasound scanners, Magnetic Resonance Imaging (MRI) scanners, Positron Emission Tomography (PET) and Computed Tomography (CT) scanners, X-ray machines and other medical imaging devices.

At block 303, the method 300 includes partitioning, by the distributed analysis system 103, the input data 102 into one or more data fragments 104 based on one or more fragmentation parameters 211. As an example, the one or more fragmentation parameters 211 may include, without limiting to, size of the input data 102, type of the input data 102, number of analysis modules 105 associated with the distributed analysis system 103, and time required for analyzing each of the one or more data fragments 104.

At block 305, the method 300 includes allocating, by the distributed analysis system 103, each of the one or more data fragments 104 among one or more analysis modules 105 associated with the distributed analysis system 103, based on a weighted average score 213 associated with each of the one or more data fragments 104. In an embodiment, the one or more analysis modules 105 may be configured for performing parallel analysis of each of the one or more data fragments 104. Further, the weighted average score 213 associated with each of the one or more data fragments 104 may be computed based on a predicted turnaround time required for analyzing each of the one or more data fragments 104. In an implementation, the one or more inter-related data fragments 104 may be serialized and provided for each of the one or more analysis modules 105 for parallel analysis.

At block 307, the method 300 includes aggregating, by the distributed analysis system 103, result of analysis obtained by analyzing each of the one or more data fragments 104, for generating the medical reports 107. In an implementation, each of the one or more analysis modules 105 may be configured to re-schedule analysis of the one or more data fragments 104 for a predetermined number of times upon detecting a failure during parallel analysis of the one or more data fragments 104, until completion of the analysis of each of the one or more data fragments 104.

In some embodiments, the configuration of each of the one or more analysis modules 105 may be modified based on the one or more data types of the input data 102. As an example, the configuration may include, without limiting to, at least one of levels of analysis of each of the one or more analysis modules 105, and dependencies among each of the one or more analysis modules 105.

Computer System
FIG. 4 illustrates a block diagram of an exemplary computer system 400 for implementing embodiments consistent with the present disclosure. In an embodiment, the computer system 400 may be distributed analysis system 103 shown in FIG. 1, which may be used for dynamically generating medical reports 107. The computer system 400 may include a central processing unit (“CPU” or “processor”) 402. The processor 402 may comprise at least one data processor for executing program components for executing user- or system-generated business processes. A user may include a person, a user of the distributed analysis system 103, and the like. The processor 402 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
The processor 402 may be disposed in communication with one or more input/output (I/O) devices (411 and 412) via I/O interface 401. The I/O interface 401 may employ communication protocols/methods such as, without limitation, audio, analog, digital, stereo, IEEE-1394, serial bus, Universal Serial Bus (USB), infrared, PS/2, BNC, coaxial, component, composite, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), Radio Frequency (RF) antennas, S-Video, Video Graphics Array (VGA), IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., Code-Division Multiple Access (CDMA), High-Speed Packet Access (HSPA+), Global System For Mobile Communications (GSM), Long-Term Evolution (LTE) or the like), etc. Using the I/O interface 401, the computer system 400 may communicate with one or more I/O devices 411 and 412. In some implementations, the I/O interface 401 may also be used to connect to one or more data sources 101.
In some embodiments, the processor 402 may be disposed in communication with a communication network 409 via a network interface 403. The network interface 403 may communicate with the communication network 409. The network interface 403 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), Transmission Control Protocol/Internet Protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. Using the network interface 403 and the communication network 409, the computer system 400 may receive input data 102 from the one or more data sources 101.
In an implementation, the communication network 409 can be implemented as one of the several types of networks, such as intranet or Local Area Network (LAN) and such within the organization. The communication network 409 may either be a dedicated network or a shared network, which represents an association of several types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the communication network 409 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
In some embodiments, the processor 402 may be disposed in communication with a memory 405 (e.g., RAM 413, ROM 414, etc. as shown in FIG. 4) via a storage interface 404. The storage interface 404 may connect to memory 405 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as Serial Advanced Technology Attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, Small Computer Systems Interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, solid-state drives, etc.
The memory 405 may store a collection of program or database components, including, without limitation, user/application interface 406, an operating system 407, a web browser 408, and the like. In some embodiments, computer system 400 may store user/application data 406, such as the data, variables, records, etc. as described in this invention. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle® or Sybase®.
The operating system 407 may facilitate resource management and operation of the computer system 400. Examples of operating systems include, without limitation, APPLE® MACINTOSH® OS X®, UNIX®, UNIX-like system distributions (E.G., BERKELEY SOFTWARE DISTRIBUTION® (BSD), FREEBSD®, NETBSD®, OPENBSD, etc.), LINUX® DISTRIBUTIONS (E.G., RED HAT®, UBUNTU®, KUBUNTU®, etc.), IBM® OS/2®, MICROSOFT® WINDOWS® (XP®, VISTA®/7/8, 10 etc.), APPLE® IOS®, GOOGLETM ANDROIDTM, BLACKBERRY® OS , or the like.
The user interface 406 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, the user interface 406 may provide computer interaction interface elements on a display system operatively connected to the computer system 400, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, and the like. Further, Graphical User Interfaces (GUIs) may be employed, including, without limitation, APPLE® MACINTOSH® operating systems’ Aqua®, IBM® OS/2®, MICROSOFT® WINDOWS® (e.g., Aero, Metro, etc.), web interface libraries (e.g., ActiveX®, JAVA®, JAVASCRIPT®, AJAX, HTML, ADOBE® FLASH®, etc.), or the like.

The web browser 408 may be a hypertext viewing application. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS), Secure Sockets Layer (SSL), Transport Layer Security (TLS), and the like. The web browsers 408 may utilize facilities such as AJAX, DHTML, ADOBE® FLASH®, JAVASCRIPT®, JAVA®, Application Programming Interfaces (APIs), and the like. Further, the computer system 400 may implement a mail server stored program component. The mail server may utilize facilities such as ASP, ACTIVEX®, ANSI® C++/C#, MICROSOFT®, .NET, CGI SCRIPTS, JAVA®, JAVASCRIPT®, PERL®, PHP, PYTHON®, WEBOBJECTS®, etc. The mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP), Messaging Application Programming Interface (MAPI), MICROSOFT® exchange, Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), or the like. In some embodiments, the computer system 400 may implement a mail client stored program component. The mail client may be a mail viewing application, such as APPLE® MAIL, MICROSOFT® ENTOURAGE®, MICROSOFT® OUTLOOK®, MOZILLA® THUNDERBIRD®, and the like.

Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present invention. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, that is, non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, nonvolatile memory, hard drives, Compact Disc (CD) ROMs, Digital Video Disc (DVDs), flash drives, disks, and any other known physical storage media.

Advantages of the embodiment of the present disclosure are illustrated herein.
In an embodiment, the present disclosure provides a method for parallel processing of medical data to generate medical reports in near real time, thereby achieving horizontal scaling of processing and reducing Turn Around Time (TAT) for analyzing the medical data.

In an embodiment, the present disclosure provides a cohesive pipeline to analyze medical visual data without any manual intervention.

In an embodiment, the present disclosure provides a flexible and configurable platform for generating medical reports, in which newer medical analysis may be configured without changing executable architecture of the platform, thereby enabling users to extend usability of the platform to different use cases.

In an embodiment, the present disclosure provides a method for partitioning input data of different data types into multiple partitions, and serializing the partitions into plurality of computational nodes for parallel analysis of the input data and thereby reducing turnaround time in generating medical reports.

In an embodiment of the disclosure, all intermediate analysis data required for analyzing a data fragment are stored within a memory associated with the analysis module, thereby eliminating processor-intensive, repeated memory operations between the system memory and each of the analysis modules. Storing the analysis data within the memory of the analysis modules may also enhance speed of analysis of the data fragments.

The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.

The terms "including", "comprising", “having” and variations thereof mean "including but not limited to", unless expressly specified otherwise.

The enumerated listing of items does not imply that any or all the items are mutually exclusive, unless expressly specified otherwise. The terms "a", "an" and "the" mean "one or more", unless expressly specified otherwise.

A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.

When a single device or article is described herein, it will be clear that more than one device/article (whether they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether they cooperate), it will be clear that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.

Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the embodiments of the present invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Referral Numerals:

Reference Number Description
100 Environment
101 Data sources (Data source A 101A … Data source N 101N)
102 Input data
103 Distributed analysis system
104 Data fragments (Data fragments 104A … Data fragments 104N)
105 Analysis modules (Analysis module 1 105A … Analysis module N 105N)
106 Results of analysis (Result of analysis 106A … Result of analysis 106N)
107 Medical reports
201 I/O interface
203 Processor
205 Memory
207 Data
209 Modules
211 Fragmentation parameters
213 Weighted average score
215 Other data
217 Receiving module
219 Data partitioning module
221 Fragment allocation module
223 Report generation module
225 Other modules
400 Exemplary computer system
401 I/O Interface of the exemplary computer system
402 Processor of the exemplary computer system
403 Network interface
404 Storage interface
405 Memory of the exemplary computer system
406 User/Application
407 Operating system
408 Web browser
409 Communication network
411 Input devices
412 Output devices
413 RAM
414 ROM

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 201841018096-RELEVANT DOCUMENTS [18-03-2020(online)].pdf 2020-03-18
1 201841018096-STATEMENT OF UNDERTAKING (FORM 3) [15-05-2018(online)].pdf 2018-05-15
2 201841018096-POWER OF AUTHORITY [15-05-2018(online)].pdf 2018-05-15
2 201841018096-IntimationOfGrant23-04-2019.pdf 2019-04-23
3 201841018096-PatentCertificate23-04-2019.pdf 2019-04-23
3 201841018096-FORM 1 [15-05-2018(online)].pdf 2018-05-15
4 Abstract_Granted 311461_23-04-2019.pdf 2019-04-23
4 201841018096-DRAWINGS [15-05-2018(online)].pdf 2018-05-15
5 Claims_Granted 311461_23-04-2019.pdf 2019-04-23
5 201841018096-DECLARATION OF INVENTORSHIP (FORM 5) [15-05-2018(online)].pdf 2018-05-15
6 Description_Granted 311461_23-04-2019.pdf 2019-04-23
6 201841018096-COMPLETE SPECIFICATION [15-05-2018(online)].pdf 2018-05-15
7 Drawings_Granted 311461_23-04-2019.pdf 2019-04-23
7 201841018096-REQUEST FOR CERTIFIED COPY [02-08-2018(online)].pdf 2018-08-02
8 Marked Up Claims_Granted 311461_23-04-2019.pdf 2019-04-23
8 201841018096-FORM28 [02-08-2018(online)].pdf 2018-08-02
9 201841018096-Written submissions and relevant documents (MANDATORY) [17-04-2019(online)].pdf 2019-04-17
9 201841018096-FORM FOR STARTUP [02-08-2018(online)].pdf 2018-08-02
10 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [02-08-2018(online)].pdf 2018-08-02
10 Correspondence by Agent_ Form-1 And Power of Attorney_21-03-2019.pdf 2019-03-21
11 201841018096-FORM-9 [08-08-2018(online)].pdf 2018-08-08
12 201841018096-FORM-26 [15-03-2019(online)].pdf 2019-03-15
12 201841018096-FORM FOR STARTUP [08-08-2018(online)].pdf 2018-08-08
13 201841018096-FORM FOR STARTUP [08-08-2018(online)]-1.pdf 2018-08-08
13 201841018096-PETITION UNDER RULE 137 [15-03-2019(online)].pdf 2019-03-15
14 201841018096-FORM 18A [08-08-2018(online)].pdf 2018-08-08
14 201841018096-Proof of Right (MANDATORY) [15-03-2019(online)].pdf 2019-03-15
15 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [08-08-2018(online)].pdf 2018-08-08
15 201841018096-RELEVANT DOCUMENTS [15-03-2019(online)].pdf 2019-03-15
16 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [08-08-2018(online)]-1.pdf 2018-08-08
16 201841018096-Written submissions and relevant documents (MANDATORY) [15-03-2019(online)].pdf 2019-03-15
17 201841018096-FER.pdf 2018-08-29
17 201841018096-FORM-26 [05-03-2019(online)].pdf 2019-03-05
18 201841018096-HearingNoticeLetter.pdf 2019-02-07
18 201841018096-OTHERS [30-10-2018(online)].pdf 2018-10-30
19 201841018096-FORM 3 [21-11-2018(online)].pdf 2018-11-21
19 201841018096-FORM FOR STARTUP [30-10-2018(online)].pdf 2018-10-30
20 201841018096-ABSTRACT [30-10-2018(online)].pdf 2018-10-30
20 201841018096-FORM 3 [30-10-2018(online)].pdf 2018-10-30
21 201841018096-CLAIMS [30-10-2018(online)].pdf 2018-10-30
21 201841018096-FER_SER_REPLY [30-10-2018(online)].pdf 2018-10-30
22 201841018096-CORRESPONDENCE [30-10-2018(online)].pdf 2018-10-30
22 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [30-10-2018(online)].pdf 2018-10-30
23 201841018096-DRAWING [30-10-2018(online)].pdf 2018-10-30
24 201841018096-CORRESPONDENCE [30-10-2018(online)].pdf 2018-10-30
24 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [30-10-2018(online)].pdf 2018-10-30
25 201841018096-CLAIMS [30-10-2018(online)].pdf 2018-10-30
25 201841018096-FER_SER_REPLY [30-10-2018(online)].pdf 2018-10-30
26 201841018096-FORM 3 [30-10-2018(online)].pdf 2018-10-30
26 201841018096-ABSTRACT [30-10-2018(online)].pdf 2018-10-30
27 201841018096-FORM 3 [21-11-2018(online)].pdf 2018-11-21
27 201841018096-FORM FOR STARTUP [30-10-2018(online)].pdf 2018-10-30
28 201841018096-HearingNoticeLetter.pdf 2019-02-07
28 201841018096-OTHERS [30-10-2018(online)].pdf 2018-10-30
29 201841018096-FER.pdf 2018-08-29
29 201841018096-FORM-26 [05-03-2019(online)].pdf 2019-03-05
30 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [08-08-2018(online)]-1.pdf 2018-08-08
30 201841018096-Written submissions and relevant documents (MANDATORY) [15-03-2019(online)].pdf 2019-03-15
31 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [08-08-2018(online)].pdf 2018-08-08
31 201841018096-RELEVANT DOCUMENTS [15-03-2019(online)].pdf 2019-03-15
32 201841018096-FORM 18A [08-08-2018(online)].pdf 2018-08-08
32 201841018096-Proof of Right (MANDATORY) [15-03-2019(online)].pdf 2019-03-15
33 201841018096-FORM FOR STARTUP [08-08-2018(online)]-1.pdf 2018-08-08
33 201841018096-PETITION UNDER RULE 137 [15-03-2019(online)].pdf 2019-03-15
34 201841018096-FORM FOR STARTUP [08-08-2018(online)].pdf 2018-08-08
34 201841018096-FORM-26 [15-03-2019(online)].pdf 2019-03-15
35 201841018096-FORM-9 [08-08-2018(online)].pdf 2018-08-08
36 201841018096-EVIDENCE FOR REGISTRATION UNDER SSI [02-08-2018(online)].pdf 2018-08-02
36 Correspondence by Agent_ Form-1 And Power of Attorney_21-03-2019.pdf 2019-03-21
37 201841018096-FORM FOR STARTUP [02-08-2018(online)].pdf 2018-08-02
37 201841018096-Written submissions and relevant documents (MANDATORY) [17-04-2019(online)].pdf 2019-04-17
38 Marked Up Claims_Granted 311461_23-04-2019.pdf 2019-04-23
38 201841018096-FORM28 [02-08-2018(online)].pdf 2018-08-02
39 201841018096-REQUEST FOR CERTIFIED COPY [02-08-2018(online)].pdf 2018-08-02
39 Drawings_Granted 311461_23-04-2019.pdf 2019-04-23
40 Description_Granted 311461_23-04-2019.pdf 2019-04-23
40 201841018096-COMPLETE SPECIFICATION [15-05-2018(online)].pdf 2018-05-15
41 Claims_Granted 311461_23-04-2019.pdf 2019-04-23
41 201841018096-DECLARATION OF INVENTORSHIP (FORM 5) [15-05-2018(online)].pdf 2018-05-15
42 Abstract_Granted 311461_23-04-2019.pdf 2019-04-23
42 201841018096-DRAWINGS [15-05-2018(online)].pdf 2018-05-15
43 201841018096-PatentCertificate23-04-2019.pdf 2019-04-23
43 201841018096-FORM 1 [15-05-2018(online)].pdf 2018-05-15
44 201841018096-IntimationOfGrant23-04-2019.pdf 2019-04-23
44 201841018096-POWER OF AUTHORITY [15-05-2018(online)].pdf 2018-05-15
45 201841018096-RELEVANT DOCUMENTS [18-03-2020(online)].pdf 2020-03-18
45 201841018096-STATEMENT OF UNDERTAKING (FORM 3) [15-05-2018(online)].pdf 2018-05-15

Search Strategy

1 201841018096_search_23-08-2018.pdf

ERegister / Renewals

3rd: 22 Jun 2019

From 15/05/2020 - To 15/05/2021

4th: 22 Jun 2019

From 15/05/2021 - To 15/05/2022

5th: 22 Jun 2019

From 15/05/2022 - To 15/05/2023

6th: 22 Jun 2019

From 15/05/2023 - To 15/05/2024

7th: 22 Jun 2019

From 15/05/2024 - To 15/05/2025

8th: 22 Jun 2019

From 15/05/2025 - To 15/05/2026

9th: 22 Jun 2019

From 15/05/2026 - To 15/05/2027

10th: 22 Jun 2019

From 15/05/2027 - To 15/05/2028

11th: 22 Jun 2019

From 15/05/2028 - To 15/05/2029

12th: 22 Jun 2019

From 15/05/2029 - To 15/05/2030

13th: 22 Jun 2019

From 15/05/2030 - To 15/05/2031

14th: 22 Jun 2019

From 15/05/2031 - To 15/05/2032

15th: 22 Jun 2019

From 15/05/2032 - To 15/05/2033

16th: 22 Jun 2019

From 15/05/2033 - To 15/05/2034

17th: 22 Jun 2019

From 15/05/2034 - To 15/05/2035

18th: 22 Jun 2019

From 15/05/2035 - To 15/05/2036

19th: 22 Jun 2019

From 15/05/2036 - To 15/05/2037

20th: 22 Jun 2019

From 15/05/2037 - To 15/05/2038