The present invention relates in general to computing technology and relates more particularly to computing technology for visualizing variations in performance of a surgical procedure.
Computer-assisted systems, particularly computer-assisted surgery systems (CASs), rely on video data digitally captured during a surgery. Such video data can be stored and/or streamed. In some cases, the video data can be used to augment a person's physical sensing, perception, and reaction capabilities. For example, such systems can effectively provide the information corresponding to an expanded field of vision, both temporal and spatial, that enables a person to adjust current and future actions based on the part of an environment not included in his or her physical field of view. Alternatively, or in addition, the video data can be stored and/or transmitted for several purposes such as archival, training, post-surgery analysis, and/or patient consultation. The process of analyzing and comparing a large amount of video data from multiple surgical procedures to identify commonalities and differences can be highly subjective and error-prone due, for example, to the volume of data and to the numerous factors (e.g., patient condition, physician preferences, etc.) that impact the workflow of each individual surgical procedure that is being analyzed.
According to an aspect, a system for visualizing variations in performance of a surgical procedure includes one or more processors for executing computer readable instructions that control the one or more processors to perform operations. The operations include receiving a plurality of surgical videos, each of the plurality of surgical videos capturing a workflow of a same type of surgical procedure that is segmented into a segmented workflow that includes segments. The plurality of segmented workflows are analyzed to determine a standard workflow in the plurality of surgical videos. The plurality of segmented workflows are aligned to the standard workflow to identify variations from the standard workflow in the plurality of surgical videos. A visualization of the standard workflow and indicators of the variations are output to a display device.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the indicators are selectable by a user to provide additional information to the user about a corresponding variation.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the additional information includes a number of the plurality of surgical videos having the corresponding variation.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the additional information includes at least a portion of a segmented workflow of the plurality of segmented workflows having the corresponding variation.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the visualization is a compressed alignment visualization.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the visualization is a route visualization.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that a type of a variation is based on a location of an indicator in the visualization relative to the standard workflow.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the type is one of an additional segment, a different segment, or an eliminated segment relative to the standard workflow.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that only a subset of one or more of the segments, the variations, or the plurality of surgical videos are included in the visualization output to the display device.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the subset is selected by a user.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the operations further include segmenting each of the plurality of surgical videos into the segmented workflows.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that each of the segments are associated with a surgical phase.
According to another aspect, a computer-implemented method for visualizing variations in performance of a surgical procedure includes receiving a plurality of surgical videos, each of the plurality of surgical videos capturing a workflow of a same type of surgical procedure that is segmented into a segmented workflow that includes segments. Variations in the segmented workflows in the plurality of surgical procedures are determined by analyzing the plurality of segmented workflows to determine a standard workflow in the plurality of surgical videos and aligning the plurality of the segmented workflows to the standard workflow to identify the variations. A visualization of the variations is output to a display device.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include receiving user input via a user interface of the visualization; and in response to the user input, outputting to the display device, a second visualization that includes additional information describing the variations.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the additional information includes a portion of a segmented workflow having at least one of the variations.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include applying a filter to the visualization, the filter causing one or more of the visualization to include only a subset of the segments, the visualization to include only a subset of the variations, or the visualization to include only a subset of the plurality of surgical videos.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the subset of the plurality of surgical videos is selected by the filter based on a frequency of occurrence of one or more of the variations.
According to another aspect, a computer program product includes a memory device having computer-executable instructions stored thereon, which when executed by one or more processors cause the one or more processors to perform operations. The operations include visualizing variations in performance of a surgical procedure. The visualizing includes receiving a standard workflow of a plurality of surgical videos of a same type of surgical procedure and receiving workflows of the plurality of surgical videos. A visualization of variations between the standard workflow and one or more workflows of the plurality of surgical videos are output to a display.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that visualizing further includes: receiving user input via a user interface of the visualization; and in response to the user input, outputting, to the display device, a second visualization of one or more of the variations between the standard workflow and one or more workflows of the plurality of surgical videos.
In addition to one or more of the features described above or below, or as an alternative, further aspects may include that the second visualization depicts a subset of one or more of the workflows, the variations, or the plurality of surgical videos.
Additional technical features and benefits are realized through the techniques of the present invention. Aspects of the invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the detailed description and to the drawings.
The specifics of the exclusive rights described herein are particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features and advantages of the aspects of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The diagrams depicted herein are illustrative. There can be many variations to the diagrams and/or the operations described herein without departing from the spirit of the invention. For instance, the actions can be performed in a differing order, or actions can be added, deleted, or modified. Also, the term “coupled”, and variations thereof describe having a communications path between two elements and do not imply a direct connection between the elements with no intervening elements/connections between them. All of these variations are considered a part of the specification.
Exemplary aspects of the technical solutions described herein include systems and methods for visualizing variations in performance of medical procedures, where the visualizing is presented as deviations from a standard workflow. Surgeons or other medical professionals may want to view visualizations of the different workflows that they have performed for a given surgical procedure. This visualization can include a graphical representation where each row represents a different workflow such as the visualization 1000 shown in
One or more aspects described herein provide a new visualization that is more compact and easier for a user to understand. The new visualization can include an interactive plot that shows the user their average workflow for a group of surgical procedures and indicators of where deviations from the standard workflow occurred in the group of surgical procedures. The user can then expand the plot to obtain additional information about the deviations, or variations. Aspects can be used to help users identify how their workflows deviate from each other and to identify the deviations that are clinically important. Example visualizations can use colored or patterned squares to represent surgical phases in a compressed format that shows the average workflow and includes indicators of variations from the average workflow. Other example visualizations include route visualizations where the average workflow is shown as the main route and indicators that represent variations to the main route taken by one or more workflows. The indicators can be selected by the user to obtain additional information about the variations, which may include all or a subset of the sequence of phases or routes taken by the deviating workflows. Although described with respect to averages, a standard workflow can be defined in other ways. As such, references to average workflows are only provided as examples, and standard workflows are not limited to average workflows. Thus, a standard workflow can be defined as an average computed over a group of data or in other ways. For example, a standard workflow can be defined as a “gold standard” workflow representing the best possible workflow for a procedure. Further, a standard workflow can represent a most common workflow defined for a particular site, surgeon, or surgical group. As another example, a standard workflow can be selected or defined for a particular site, surgeon, or surgical group.
By displaying a visualization that depicts variations with respect to a standard, or average workflow, the process of identifying variations and gaining insights is simplified for the user. Filters can also be placed at the top of the visualizations on the phases and the occurrences of deviation branches. The filters can allow a user to remove phases they are not interested in and focus on key surgical phases. Filters can also allow a user to filter the deviations to the most common deviations or the least common deviations depending on their aim. In addition, non-clinically relevant deviations can also be filtered. Filters can be applied manually, automatically, or a combination of manual and automated methods can be applied to the workflows.
A key requirement to be able to standardize surgery is the ability to understand and compare surgical variation. Additionally, the capability to quantify variation and identify at what stage in surgery this variation occurs is also an important step towards understanding the relationships between surgical procedures, patient outcomes, and efficiency. One or more aspects of the present invention provide a representative average sequence for a data set, which can easily be compared to other groups and can be used to carry out multiple alignment, and a quantifiable value of variation throughout surgery which can be used to understand surgical standardization. This provides a robust standardization metric that allows adherence to an approach to be measured, and for improvements due to training to be tracked and quantified.
Contemporary approaches use non-linear temporal scaling (NLTS) methods to align a series of surgical workflows to identify variation between the workflows. The variation has been used to compare the standard practices in surgery between surgeons at different levels of training to understand the main differences between junior and senior surgeons. NLTS has two main steps: calculation of the average workflow, and multiple alignment of the workflows to the average. In contemporary approaches, the average sequences are calculated using dynamic time warping-barycenter-averaging (DBA). These contemporary methods have been used to identify different standards of surgical practice. However, there are limitations with contemporary approaches due to DBA being designed to be used on workflows of the same length, which is often not the case with surgical workflows. During DBA, the length of the average sequence cannot change, meaning that the initial average chosen at the start will set the length of the final average. This means the final average from the algorithm may not be the best possible average for the data set. As each sequence is aligned to this average sequence, this can have a large impact on the results. In addition, DBA is designed to be used with numerical data rather than categorical data like a surgical phase.
Exemplary aspects of the technical solutions described herein follow a similar logic as NLTs and start with the calculation of the average sequence. This average sequence can be used to identify key characteristics of a group, allowing large groups of sequences to be simplified into a single representative sequence. As described herein, the proposed averaging method is based on adaptive DBA (ADBA) which is an improvement over the use of DBA because it is designed to be used on sequences of different lengths. However, ADBA methods were designed to be used on numeric data and one or more aspects of the present invention described herein modify contemporary ADBA methods to work with categorical data, such as surgical phases. In one or more aspects, the average optimization in DBA, average optimization in ADBA, and initialization of both methods are modified. These changes use the medoid sequence, which is the sequence with the smallest sum-of-squares distance when compared to the sequences in the set, as a method to find the “best” average workflow.
In contemporary methods of initializing ADBA, any sequence can be chosen as the initial average, which will then be iteratively optimized. However, when using categorical data (such as surgical phase data), the choice of the initial average impacts the final average. One or more aspects of the present invention address this shortcoming of contemporary approaches by using all medoid sequences from the set as an initial average and the medoid is chosen out of all of the resulting averages.
In contemporary methods of optimization in DBA, the average of each element is found across the set of aligned sequences and the element in the average is updated to have this value. In one or more aspects of the present invention, the mode value is used instead. In the case of multiple modes, an average sequence is generated for each mode value as the element value. The medoid version of the average is then used going forward in the algorithm.
In contemporary methods of optimization in ADBA, elements are inserted or merged in the average sequence, where the value of the new element is the average of the elements on either side of it. In accordance with one or more aspects of the present invention, two average sequences are generated, one where the element has the value of the element to its right and the second with the value of the element to its left. The medoid average out of these two is then chosen and used going forward.
The modifications described above can be used to improve the final average from the modified ADBA, resulting in a final average that is more similar to the sequences in the data set.
In accordance with one or more aspects of the present invention, compact multiple alignment (CMA) is used to align each sequence within the set to the corresponding average sequence. This alignment is carried out on each sequence using dynamic time warping (DTW) with respect to the average. CMA allows multiple phases of the sequence to be aligned to a single phase in the average. Once all the sequences are aligned, they are “unpacked”, which includes expanding each sequence so that each phase is only aligned to a single phase. The alignment of the sequences is maintained by inserting repeated values of the previous phase in sequences with no phases to unpack. This prevents any phases from being ignored within sequences due to the alignment, therefore preventing any data loss.
In one example, one or more aspects of the present invention can be utilized to analyze Laparoscopic Roux-en-Y Gastric Bypass surgeries. The averaging method can be used to generate an average workflow for each set of surgeries (e.g., one set from each of several different hospitals). This can be used to identify differences in approaches for Laparoscopic Roux-en-Y Gastric Bypass between the hospitals. Comparison of the average workflows can identify, for example, one hospital of the group using a retro colic approach as standard and the most common approach used at each of the other hospitals. This provides an easily understandable way of comparing the approaches for each hospital. In another example, one or more aspects of the present invention are applied to Laparoscopic Cholecystectomy surgeries and the average workflows may be found based on the assigned grade of the gallbladder, with higher grades resulted in more complex workflows with repetitions of phases showing the increase in complexity of the surgery. The average workflows described herein can allow for easy comparison between groups as well as identification of their key characteristics.
In addition, one or more aspects of the present invention provide multiple alignment of workflows which allows for the possibility of many comparative measures to be calculated. The compact multiple alignment of the surgical workflows based on the average generates a set of aligned sequences of the same length with clear points of similarity and difference.
Measurable improvement in surgical interventions can be achieved by objectively quantifying surgical standardization, process efficiency and patient outcomes. One or more aspects of the present invention provide a methodology that can effectively achieve this for categorical data, such as surgical phase data. One or more aspects of the present invention improve upon contemporary approaches that use NLTS on surgical phase data by the use of a new, modified ADBA method. One or more aspects of the present invention provide a representative average sequence for a data set of surgical workflows, which can easily be compared to other groups (or data sets), and a quantifiable value of variation throughout surgery which can be used to understand surgical standardization. A robust standardization metric, such as that provided by one or more aspects of the present invention described herein allows a surgical approach to be measured and improvements due to training to be tracked and quantified.
In exemplary aspects of the technical solutions described herein, surgical data that is captured by a computer-assisted surgical (CAS) system and segmented into surgical phases is input to the analysis described herein to identify variations in performance of a medical procedure. As described herein, the examples use surgical data that has been segmented into segments that are associated with surgical phases. One skilled in the art will appreciated that the surgical data can also be segmented into segments based on observed anatomy, instrumentation, and/or other criteria that can be extracted from the surgical data.
Turning now to
A surgical procedure can include multiple phases, and each phase can include one or more surgical actions. A “surgical action” can include an incision, a compression, a stapling, a clipping, a suturing, a cauterization, a sealing, or any other such actions performed to complete a phase in the surgical procedure. A “phase” represents a surgical event that is composed of a series of steps (e.g., closure). A “step” refers to the completion of a named surgical objective (e.g., hemostasis). During each step, certain surgical instruments 108 (e.g., forceps) are used to achieve a specific objective by performing one or more surgical actions.
The video recording system 104 includes one or more cameras 105, such as operating room cameras, endoscopic cameras, etc. The cameras 105 capture video data of the surgical procedure being performed. The video recording system 104 includes one or more video capture devices that can include cameras 105 placed in the surgical room to capture events surrounding (i.e., outside) the patient being operated upon. The video recording system 104 further includes cameras 105 that are passed inside (e.g., endoscopic cameras) the patient 110 to capture endoscopic data. The endoscopic data provides video and images of the surgical procedure.
The computing system 102 includes one or more memory devices, one or more processors, a user interface device, among other components. All or a portion of the computing system 102 shown in
The machine learning models can include artificial neural networks, such as deep neural networks, convolutional neural networks, recurrent neural networks, encoders, decoders, or any other type of machine learning model. The machine learning models can be trained in a supervised, unsupervised, or hybrid manner. The machine learning models can be trained to perform detection and/or prediction using one or more types of data acquired by the CAS system 100. For example, the machine learning models can use the video data captured via the video recording system 104. Alternatively, or in addition, the machine learning models use the surgical instrumentation data from the surgical instrumentation system 106. In yet other examples, the machine learning models use a combination of video data and surgical instrumentation data.
Additionally, in some examples, the machine learning models can also use audio data captured during the surgical procedure. The audio data can include sounds emitted by the surgical instrumentation system 106 while activating one or more surgical instruments 108. Alternatively, or in addition, the audio data can include voice commands, snippets, or dialog from one or more actors 112. The audio data can further include sounds made by the surgical instruments 108 during their use.
In one or more examples, the machine learning models can detect surgical actions, surgical phases, anatomical structures, surgical instruments, and various other features from the data associated with a surgical procedure. The detection can be performed in real-time in some examples. Alternatively, or in addition, the computing system 102 analyzes the surgical data, i.e., the various types of data captured during the surgical procedure, in an offline manner (e.g., post-surgery). In one or more examples, the machine learning models detect surgical phases based on detecting some of the features such as the anatomical structure, surgical instruments, etc.
A data collection system 150 can be employed to store the surgical data, including the video(s) captured during the surgical procedures. The data collection system 150 includes one or more storage devices 152. The data collection system 150 can be a local storage system, a cloud-based storage system, or a combination thereof. Further, the data collection system 150 can use any type of cloud-based storage architecture, for example, public cloud, private cloud, hybrid cloud, etc. In some examples, the data collection system can use a distributed storage, i.e., the storage devices 152 are located at different geographic locations. The storage devices 152 can include any type of electronic data storage media used for recording machine-readable data, such as semiconductor-based, magnetic-based, optical-based storage media, or a combination thereof. For example, the data storage media can include flash-based solid-state drives (SSDs), magnetic-based hard disk drives, magnetic tape, optical discs, etc.
In one or more examples, the data collection system 150 can be part of the video recording system 104, or vice-versa. In some examples, the data collection system 150, the video recording system 104, and the computing system 102, can communicate with each other via a communication network, which can be wired, wireless, or a combination thereof. The communication between the systems can include the transfer of data (e.g., video data, instrumentation data, etc.), data manipulation commands (e.g., browse, copy, paste, move, delete, create, compress, etc.), data manipulation results, etc. In one or more examples, the computing system 102 can manipulate the data already stored/being stored in the data collection system 150 based on outputs from the one or more machine learning models, e.g., phase detection, structure detection, etc. Alternatively, or in addition, the computing system 102 can manipulate the data already stored/being stored in the data collection system 150 based on information from the surgical instrumentation system 106.
In one or more examples, the video captured by the video recording system 104 is stored on the data collection system 150. In some examples, the computing system 102 curate's parts of the video data being stored on the data collection system 150. In some examples, the computing system 102 filters the video captured by the video recording system 104 before it is stored on the data collection system 150. Alternatively, or in addition, the computing system 102 filters the video captured by the video recording system 104 after it is stored on the data collection system 150.
Turning now to
Turning now to
System 300 includes a data reception system 305 that collects surgical data, including the video data and surgical instrumentation data. The data reception system 305 can include one or more devices (e.g., one or more user devices and/or servers) located within and/or associated with a surgical operating room and/or control center. The data reception system 305 can receive surgical data in real-time, i.e., as the surgical procedure is being performed. Alternatively, or in addition, the data reception system 305 can receive or access surgical data in an offline manner, for example, by accessing data that is stored in the data collection system 150 of
System 300 further includes a machine learning processing system 310 that processes the surgical data using one or more machine learning models to identify one or more features, such as surgical phase, instrument, anatomical structure, etc., in the surgical data. It will be appreciated that machine learning processing system 310 can include one or more devices (e.g., one or more servers), each of which can be configured to include part or all of one or more of the depicted components of the machine learning processing system 310. In some instances, a part or all of the machine learning processing system 310 is in the cloud and/or remote from an operating room and/or physical location corresponding to a part or all of data reception system 305. It will be appreciated that several components of the machine learning processing system 310 are depicted and described herein. However, the components are just one example structure of the machine learning processing system 310, and that in other examples, the machine learning processing system 310 can be structured using a different combination of the components. Such variations in the combination of the components are encompassed by the technical solutions described herein.
The machine learning processing system 310 includes a machine learning training system 325, which can be a separate device (e.g., server) that stores its output as one or more trained machine learning models 330. The machine learning models 330 are accessible by a machine learning execution system 340. The machine learning execution system 340 can be separate from the machine learning training system 325 in some examples. In other words, in some aspects, devices that “train” the models are separate from devices that “infer,” i.e., perform real-time processing of surgical data using the trained machine learning models 330.
Machine learning processing system 310, in some examples, further includes a data generator 315 to generate simulated surgical data, such as a set of virtual images, or record the video data from the video recording system 104, to train the machine learning models 330. Data generator 315 can access (read/write) a data store 320 to record data, including multiple images and/or multiple videos. The images and/or videos can include images and/or videos collected during one or more procedures (e.g., one or more surgical procedures). For example, the images and/or video may have been collected by a user device worn by the actor 112 of
Each of the images and/or videos recorded in the data store 320 for training the machine learning models 330 can be defined as a base image and can be associated with other data that characterizes an associated procedure and/or rendering specifications. For example, the other data can identify a type of procedure, a location of a procedure, one or more people involved in performing the procedure, surgical objectives, and/or an outcome of the procedure. Alternatively, or in addition, the other data can indicate a stage of the procedure with which the image or video corresponds, rendering specification with which the image or video corresponds and/or a type of imaging device that captured the image or video (e.g., and/or, if the device is a wearable device, a role of a particular person wearing the device, etc.). Further, the other data can include image-segmentation data that identifies and/or characterizes one or more objects (e.g., tools, anatomical objects, etc.) that are depicted in the image or video. The characterization can indicate the position, orientation, or pose of the object in the image. For example, the characterization can indicate a set of pixels that correspond to the object and/or a state of the object resulting from a past or current user handling. Localization can be performed using a variety of techniques for identifying objects in one or more coordinate systems.
The machine learning training system 325 uses the recorded data in the data store 320, which can include the simulated surgical data (e.g., set of virtual images) and actual surgical data to train the machine learning models 330. The machine learning model 330 can be defined based on a type of model and a set of hyperparameters (e.g., defined based on input from a client device). The machine learning models 330 can be configured based on a set of parameters that can be dynamically defined based on (e.g., continuous or repeated) training (i.e., learning, parameter tuning). Machine learning training system 325 can use one or more optimization algorithms to define the set of parameters to minimize or maximize one or more loss functions. The set of (learned) parameters can be stored as part of a trained machine learning model 330 using a specific data structure for that trained machine learning model 330. The data structure can also include one or more non-learnable variables (e.g., hyperparameters and/or model definitions).
Machine learning execution system 340 can access the data structure(s) of the machine learning models 330 and accordingly configure the machine learning models 330 for inference (i.e., prediction). The machine learning models 330 can include, for example, a fully convolutional network adaptation, an adversarial network model, an encoder, a decoder, or other types of machine learning models. The type of the machine learning models 330 can be indicated in the corresponding data structures. The machine learning model 330 can be configured in accordance with one or more hyperparameters and the set of learned parameters.
The machine learning models 330, during execution, receive, as input, surgical data to be processed and subsequently generate one or more inferences according to the training. For example, the video data captured by the video recording system 104 of
The data reception system 305 can process the video and/or data received. The processing can include decoding when a video stream is received in an encoded format such that data for a sequence of images can be extracted and processed. The data reception system 305 can also process other types of data included in the input surgical data. For example, the surgical data can include additional data streams, such as audio data, RFID data, textual data, measurements from one or more surgical instruments/sensors, etc., that can represent stimuli/procedural states from the operating room. The data reception system 305 synchronizes the different inputs from the different devices/sensors before inputting them in the machine learning processing system 310.
The machine learning models 330, once trained, can analyze the input surgical data, and in one or more aspects, predict and/or characterize structures included in the video data included with the surgical data. The video data can include sequential images and/or encoded video data (e.g., using digital video file/stream formats and/or codecs, such as MP4, MOV, AVI, WEBM, AVCHD, OGG, etc.). The prediction and/or characterization of the structures can include segmenting the video data or predicting the localization of the structures with a probabilistic heatmap. In some instances, the one or more machine learning models include or are associated with a preprocessing or augmentation (e.g., intensity normalization, resizing, cropping, etc.) that is performed prior to segmenting the video data. An output of the one or more machine learning models can include image-segmentation or probabilistic heatmap data that indicates which (if any) of a defined set of structures are predicted within the video data, a location and/or position and/or pose of the structure(s) within the video data, and/or state of the structure(s). The location can be a set of coordinates in an image/frame in the video data. For example, the coordinates can provide a bounding box. The coordinates can provide boundaries that surround the structure(s) being predicted. The machine learning models 630, in one or more examples, are trained to perform higher-level predictions and tracking, such as predicting a phase of a surgical procedure and tracking one or more surgical instruments used in the surgical procedure.
While some techniques for predicting a surgical phase (“phase”) in the surgical procedure are described herein, it should be understood that any other technique for phase prediction can be used without affecting the aspects of the technical solutions described herein. In some examples, the machine learning processing system 310 includes a phase detector 350 that uses the machine learning models to identify a phase within the surgical procedure (“procedure”). Phase detector 350 uses a particular procedural tracking data structure 355 from a list of procedural tracking data structures. Phase detector 350 selects the procedural tracking data structure 355 based on the type of surgical procedure that is being performed. In one or more examples, the type of surgical procedure is predetermined or input by actor 112. The procedural tracking data structure 355 identifies a set of potential phases that can correspond to a part of the specific type of procedure.
In some examples, the procedural tracking data structure 355 can be a graph that includes a set of nodes and a set of edges, with each node corresponding to a potential phase. The edges can provide directional connections between nodes that indicate (via the direction) an expected order during which the phases will be encountered throughout an iteration of the procedure. The procedural tracking data structure 355 may include one or more branching nodes that feed to multiple next nodes and/or can include one or more points of divergence and/or convergence between the nodes. In some instances, a phase indicates a procedural action (e.g., surgical action) that is being performed or has been performed and/or indicates a combination of actions that have been performed. In some instances, a phase relates to a biological state of a patient undergoing a surgical procedure. For example, the biological state can indicate a complication (e.g., blood clots, clogged arteries/veins, etc.), pre-condition (e.g., lesions, polyps, etc.). In some examples, the machine learning models 330 are trained to detect an “abnormal condition,” such as hemorrhaging, arrhythmias, blood vessel abnormality, etc.
Each node within the procedural tracking data structure 355 can identify one or more characteristics of the phase corresponding to that node. The characteristics can include visual characteristics. In some instances, the node identifies one or more tools that are typically in use or availed for use (e.g., on a tool tray) during the phase. The node also identifies one or more roles of people who are typically performing a surgical task, a typical type of movement (e.g., of a hand or tool), etc. Thus, phase detector 350 can use the segmented data generated by machine learning execution system 340 that indicates the presence and/or characteristics of particular objects within a field of view to identify an estimated node to which the real image data corresponds. Identification of the node (i.e., phase) can further be based upon previously detected phases for a given procedural iteration and/or other detected input (e.g., verbal audio data that includes person-to-person requests or comments, explicit identifications of a current or past phase, information requests, etc.).
The phase detector 350 outputs the phase prediction associated with a portion of the video data that is analyzed by the machine learning processing system 310. The phase prediction is associated with the portion of the video data by identifying a start time and an end time of the portion of the video that is analyzed by the machine learning execution system 340. The phase prediction that is output can include an identity of a surgical phase as detected by the phase detector 350 based on the output of the machine learning execution system 340. Further, the phase prediction, in one or more examples, can include identities of the structures (e.g., instrument, anatomy, etc.) that are identified by the machine learning execution system 340 in the portion of the video that is analyzed. The phase prediction can also include a confidence score of the prediction. Other examples can include various other types of information in the phase prediction that is output.
It should be noted that although some of the drawings depict endoscopic videos being analyzed, the technical solutions described herein can be applied to analyze video and image data captured by cameras that are not endoscopic (i.e., cameras external to the patient's body) when performing open surgeries (i.e., not laparoscopic surgeries). For example, the video and image data can be captured by cameras that are mounted on one or more personnel in the operating room, e.g., surgeon. Alternatively, or in addition, the cameras can be mounted on surgical instruments, walls, or other locations in the operating room.
Turning now to
The surgical workflow database 402 stores video data captured, for example, by video recording system 104 of
All or a portion of the surgical workflow approach analysis module 404, surgical approach variation identification module 408, and surgical variation visualization module 406 can be implemented by computer instructions being executed by computing system 102 of
The surgical variation visualization module 406 shown in
The computing environment of
It is to be understood that the block diagram of
Turning now to
The method 500 shown in
Surgical workflow data (e.g., surgical video) is acquired or received, at block 502 of
At block 504, the surgical video is segmented into segments associated with surgical phases using, for example, visual cues in the video. For example, the visual cues can include but are not limited to surgical instruments, anatomical approaches, etc., in the video. The segmenting can include annotating the video and breaking the video up into multiple segments based on the annotating. According to aspects of the technical solutions described herein, the duration of the segments can also be used to identify surgical approaches or surgical variations within a surgical approach. In addition, certain surgical phases can be repeated in the same case.
As used herein, the term “case” refers to one iteration of the surgical procedure, that is, a single surgery represented by a single surgical workflow. The surgical workflow data, or dataset, acquired at block 502 can include several cases (hundreds or even thousands) of a particular type of surgical procedure obtained from different surgical service providers. The surgical workflow data can also be obtained for a single surgical service provider to analyze consistency and/or approaches used by the single surgical service provider.
At block 506 of
A simplified example includes five surgical workflows or cases, each segmented into a plurality of phases. “A”, “B”, “C”, and “D” each represent a different phase of a surgical procedure. As shown below, Surgical Workflow 0 is segmented (e.g., at block 504 of
In this example, the phases include phases A, B, C, and D and the sequences follow:
Using ADBA, the average of these sequences, or workflows, is the same as Surgical Workflow 2: A B C B A B D.
For the first six elements of the average, the phase in the average is the mode of the elements in the set of sequences. For the first element in each of the sequences the mode phase is A, the second is B, the third C, the fourth B, the fifth and the sixth B. The final element of the average is phase D, which is the most common last element in the set of elements. The sequences are different lengths, which is why the average phase is not necessarily the mode element near the end as the alignment using DTW has shifted the end points of the sequences relative each other. Exemplary processes for calculating the average workflow are described below in reference to
Once the average workflow is calculated, processing continues at block 508 of
Referring back to the example, each sequence is aligned to the average sequence using DTW which results in the following aligned sequences:
The order of the sequences has not changed, additional phases have just been added in where necessary, for the alignment to be carried out. This addition of phases is part of the unpacking process used to align each sequence.
At block 510, one or more visualizations of variations in the segmented workflows are displayed on a display device such as display device 410 of
In according with some aspects, the entropy is calculated for each phase in the aligned workflows. The calculated entropy includes a quantifiable value of surgical variation throughout the surgery. The entropy can be provided to the user as additional information about the variations.
The processing shown in
Turning now to
One or more aspects of the present invention alter the way that the DBA initializes and updates the average sequence are performed when compared with contemporary DBA methodologies. Contemporary methods of applying DBA specify that any sequence can be used for initialization, however, with categoric data (such as surgical phases) the initial average that is chosen impacts the final outcome. To account for this, one or more aspects of the present invention find all medoid sequences and then the DBA is run using each medoid as the initial average. The best average, the medoid, is then chosen at the end as the final average.
At block 602 of
The processing shown in
In contemporary approaches the average is updated by finding the barycenter average of each element based on the sequences in the set. However, this is not possible with categoric data. Therefore, in one or more aspects of the present invention, the mode value is found for each element. In the case of multiple modes different averages are created, one with each mode as the element value. The best average, the medoid, is then found and used going forward.
For example, for a set of sequences:
The modes of each element are as follows: A, A or B, C or B, D, E
The averages combining each of the potential modes include:
Turning now to
Similar to method 600 of
A simple example includes an average sequence of: A, B, C, D, E
If an element is to be inserted between B and C the two potential averages are:
In accordance with one or more aspects of the present invention, the best version of these two sequences, the medoid, will be used going forward.
Turning now to
At block 702, the DTW of the average to each sequence in the set is computed. The average is used to calculate the scaling coefficients. The scaling coefficients are a value for each element in the average which represents whether on average the element was matched to multiple elements in the sequences or vice versa. This gives an indication of whether the average is too long or too short at this point in comparison to the sequences. When the average is aligned using DTW to a sequence the alignment coefficient is calculated for each element in the average; 0 if the element is matched to one element in the sequence, if it is matched to multiple elements in the sequence, it is given a value of the number of elements it is matched to −1, or 1—the number of elements in the average matched to one element in the sequence. The scaling coefficients are then the sum of the alignment coefficients for each element for the average when aligned to each sequence in the set. For example, as shown in the block diagram 800 of
Processing continues at block 704 with partitioning the average and each sequence where the scaling coefficient changes sign. The partitioning includes separating the average sequence into sections, or partitions, where each section is either too long or too short when compared to the sequences. For example, for an average ABCDE with scaling coefficients −1, 0, −2, 2, 3 the average would be split into two partitions ABC and DE, the first being too long and the second being too short when compared to the sequences. Each partition will then be optimized differently by merging elements in partitions that are too long and inserting elements in partitions that are two short.
Processing continues at block 730 which is repeated for every partition created in block 704. This block optimizes each partition within the average by either inserting or merging elements within the partition and then carrying out DBA. This is repeated for each partition until the scaling coefficient of the partition has changed sign. The processing performed in block 730 includes blocks 706-716. At block 706, depending on the type of partition i.e., too long (negative scaling coefficients), too short (positive scaling coefficients) or matched (scaling coefficients of 0) a different optimization procedure will be carried out. For a partition that is the same size as the average sequence, processing continues at block 712. Alternatively, for a partition that is too short when compared to the sequences, block 708 is performed to insert an element into the partition. This includes creating two versions of the partition, one version where the inserted element has the value of the element on its left and another version where the inserted element has the value of the element on its right. Alternatively, for a partition that that too long when compared to the sequences, block 710 is performed to merge two elements from the average where the scaling partition is smallest. Two versions of the partition are created at block 710, one where the merged element has the value of the element to on the left and another where the merged element has the value of the element on the right.
At block 712, DBA, such as DBA method 600 of
At block 720, if the percentage difference between the new and previous average is less than a predefined value (e.g., 0.05%, 0.1%, 0.01%, etc.) or the maximum number of iterations has been reached then processing continues at block 610. Otherwise, processing continues at block 702 to perform another iteration. At block 610, the medoid average sequence, out of the averages from each initial medoid is located and used as the final average. In this manner, the medoid of these averages when compared to the set of sequences is found and that average is used going forward in the algorithm.
In accordance with one or more aspects, there are a few times in the algorithm that an average sequence is chosen from a list by selecting the medoid one (the optimization sections in DBA and ADBA and at the end of the algorithm). In the case that there is more than one medoid, the sequence with the lowest Levenshtein distance when compared to the data set is used. This is a common distance measure when comparing two lists of letters, as our phase data is.
The processing shown in
Turning now to
Turning now to
Turning now to
Turning now to
Turning now to
In the example compressed alignment visualization 1302 shown in
Visualization 1310 depicts additional information 1312 that can be output to a user (e.g., via a display device) in response to the user selecting the arrow below box 1304 of compressed alignment visualization 1302. The additional information can include additional phase sequences used by workflows in the group of workflows being analyzed. As shown in visualization 1310 of
Turning now to
Turning now to
Turning now to
Turning now to
Similarly, when the user selects the plus sign in the visualization 1600 of
The visualization 1700 of
Turning now to
Turning now to
Turning now to
The visualizations shown in
The additional information output to a user is not limited to the examples shown above as it can include any data related to the surgical procedures that is available and that may be helpful to the user. For example, additional interactive data can include displaying the name of a phase or the duration of the phase when the user hovers over the phase in the visualization. In according to one more aspects the user can select a particular workflow and get more details about any combination of the date, time and/or location of the procedure, non-identifying patient characteristics, patient outcome information, medical equipment and supplies utilized during the surgery, non-identifying or identifying medical personnel information and their roles in the procedure, etc. In addition, the user can select to view a particular portion of the surgical video associated with the workflow.
In addition, only a subset of the medical procedures or a subset of the workflows or a subset of the phases may be included in the analysis and presented in the visualizations. The selection of a filter to use to select the subset can be performed by the user and/or automatically selected by the system based on one or more user characteristics (name, title, location, etc.). The selection can be performed interactively in response to user input while the user is viewing the visualizations.
In accordance with aspects the filter can specify a subset of workflows such as, but no limited to, those with the most common deviations from the standard workflow, those with the least common deviations from the standard workflow, those with particular patient outcomes or patient characteristics, and/or those with more than a threshold number or percentage of deviation when compared to the standard workflow. In addition, the subset of workflows can be selected based on characteristics the health care professional(s) performing the procedure (e.g., years of experience, where they were trained, etc.), the facilities or medical tools/equipment used to perform the procedure, and/or any other information that is available to categorize medical procedures. In accordance with other aspects the filter can specify particular phases to be displayed so that the user can focus on phases of interest (e.g., key phases, phases associated deviations, phases associated with particular providers or medical equipment, etc.).
The visualizations shown in
Turning now to
As shown in
The computer system 2100 comprises an input/output (I/O) adapter 2106 and a communications adapter 2107 coupled to the system bus 2102. The I/O adapter 2106 may be a small computer system interface (SCSI) adapter that communicates with a hard disk 2108 and/or any other similar component. The I/O adapter 2106 and the hard disk 2108 are collectively referred to herein as a mass storage 2110.
Software 2111 for execution on the computer system 2100 may be stored in the mass storage 2110. The mass storage 2110 is an example of a tangible storage medium readable by the processors 2101, where the software 2111 is stored as instructions for execution by the processors 2101 to cause the computer system 2100 to operate, such as is described hereinbelow with respect to the various Figures. Examples of computer program product and the execution of such instruction is discussed herein in more detail. The communications adapter 2107 interconnects the system bus 2102 with a network 2112, which may be an outside network, enabling the computer system 2100 to communicate with other such systems. In one aspect, a portion of the system memory 2103 and the mass storage 2110 collectively store an operating system, which may be any appropriate operating system to coordinate the functions of the various components shown in
Additional input/output devices are shown as connected to the system bus 2102 via a display adapter 2115 and an interface adapter 2116 and. In one aspect, the adapters 2106, 2107, 2115, and 2116 may be connected to one or more I/O buses that are connected to the system bus 2102 via an intermediate bus bridge (not shown). A display 2119 (e.g., a screen or a display monitor) is connected to the system bus 2102 by a display adapter 2115, which may include a graphics controller to improve the performance of graphics-intensive applications and a video controller. A keyboard, a mouse, a touchscreen, one or more buttons, a speaker, etc., can be interconnected to the system bus 2102 via the interface adapter 2116, which may include, for example, a Super I/O chip integrating multiple device adapters into a single integrated circuit. Suitable I/O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI). Thus, as configured in
In some aspects, the communications adapter 2107 can transmit data using any suitable interface or protocol, such as the internet small computer system interface, among others. The network 2112 may be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others. An external computing device may connect to the computer system 2100 through the network 2112. In some examples, an external computing device may be an external web server or a cloud computing node.
It is to be understood that the block diagram of
The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer-readable program instructions described herein can be downloaded to respective computing/processing devices from a computer-readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network, and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
Computer-readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source-code or object code written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, 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), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some aspects, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer-readable program instruction by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to aspects 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-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various aspects of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The descriptions of the various aspects of the present invention have been presented for purposes of illustration but are not intended to be exhaustive or limited to the aspects disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described aspects. The terminology used herein was chosen to best explain the principles of the aspects, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the aspects described herein.
Various aspects of the invention are described herein with reference to the related drawings. Alternative aspects of the invention can be devised without departing from the scope of this invention. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present invention is not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.
The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains,” or “containing,” or any other variation thereof are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. The terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e., one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e., two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”
The terms “about,” “substantially,” “approximately,” and variations thereof are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ±8% or 5%, or 2% of a given value.
For the sake of brevity, conventional techniques related to making and using aspects of the invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and/or process details.
It should be understood that various aspects disclosed herein may be combined in different combinations than the combinations specifically presented in the description and accompanying drawings. It should also be understood that, depending on the example, certain acts or events of any of the processes or methods described herein may be performed in a different sequence, may be added, merged, or left out altogether (e.g., all described acts or events may not be necessary to carry out the techniques). In addition, while certain aspects of this disclosure are described as being performed by a single module or unit for purposes of clarity, it should be understood that the techniques of this disclosure may be performed by a combination of units or modules associated with, for example, a medical device.
In one or more examples, the described techniques may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include non-transitory computer-readable media, which corresponds to a tangible medium such as data storage media (e.g., RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer).
Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor” as used herein may refer to any of the foregoing structure or any other physical structure suitable for implementation of the described techniques. Also, the techniques could be fully implemented in one or more circuits or logic elements.
This application claims the benefit of U.S. Provisional Application No. 63/392,937, filed Jul. 28, 2023, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63392937 | Jul 2022 | US |