Entropy-based measure of process model variation for surgical workflows
The system addresses the challenge of interpreting surgical workflow variations by using entropy-based measures to visualize and highlight key points in surgical process models, enhancing the understanding of surgical datasets through improved clustering and outlier identification.
Patent Information
- Application Number
- PCT/EP2025/065907
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-07
- Filing Date
- 2025-06-06
- Publication Date
- 2025-12-11
AI Technical Summary
Analyzing large volumes of surgical video data to identify commonalities in surgical procedures is highly subjective and error-prone due to varying factors like patient condition and physician preferences, making it difficult to understand and interpret surgical workflow variations.
A system and method that utilize entropy-based measures to analyze surgical workflows by determining node entropy and total entropy in process models, resizing nodes based on weighted entropy, and visualizing the flow diagram to highlight variations and decision points, using extensions of EIM and ATC for outlier identification and clustering.
Facilitates clinical interpretation of large and varied surgical datasets by identifying principal workflows, outliers, and decision points, providing a simplified and comprehensible visualization of surgical process models.
Smart Images

Figure EP2025065907_11122025_PF_FP_ABST
Abstract
Description
ENTROPY-BASED MEASURE OF PROCESS MODEL VARIATION FORSURGICAL WORKFLOWSBACKGROUND
[0001] The present disclosure relates in general to computing technology and relates more particularly to computing technology for entropy-based measure of process model variations for surgical workflows.
[0002] 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.
[0003] 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 can be highly subjective and error-prone due, for example, to the volume of data and the numerous factors (e.g., patient condition, physician preferences, etc.) that impact the workflow of each individual surgical procedure that is being analyzed.SUMMARY
[0004] According to an aspect, a system includes a memory device and one or more processors coupled with the memory device. The one or more processors are configured to access a flow diagram of a process model of a plurality of phases associated with workflows of a surgical procedure, the flow diagram including a graph including aplurality of nodes indicative of the phases connected sequentially by one or more edges. The one or more processors are configured to determine a node entropy of each of the nodes of the graph, determine a route probability of transitioning through the graph to reach each of the nodes, and determine a total entropy as a weighted sum of the node entropy and the route probability of each of the nodes. The one or more processors can be configured to resize one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy and output the flow diagram to a user interface after resizing the one or more of the nodes.
[0005] According to another aspect, a computer-implemented method for surgical workflow visualization includes accessing a flow diagram of a process model of a plurality of phases associated with workflows of a surgical procedure, the flow diagram including a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges. The method also includes determining a node entropy of each of the nodes of the graph, determining a total entropy of the graph, resizing one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy, and outputting the flow diagram to a user interface after the resizing.
[0006] According to a further aspect, a computer program product includes a memory device with computer readable instructions stored thereon, where executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations. The operations include accessing a flow diagram of a process model associated with workflows of a surgical procedure, the flow diagram including a graph including a plurality of nodes connected sequentially by one or more edges. The operations can also include determining a node entropy of each of the nodes of the graph, determining a total entropy of the graph, resizing one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy, and outputting the flow diagram to a user interface after the resizing.
[0007] 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.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] 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:
[0009] FIG. 1 depicts a computer-assisted surgery (CAS) system according to one or more aspects;
[0010] FIG. 2 depicts a surgical procedure system according to one or more aspects;
[0011] FIG. 3 depicts a system for analyzing video captured by a video recording system according to one or more aspects;
[0012] FIG. 4 depicts a flowchart of a method for facilitating clinical interpretation of large and varied datasets of surgical workflow according to one or more aspects;
[0013] FIG. 5 depicts a process of an effective infrequent sequence miner (EIM);
[0014] FIG. 6 depicts a process of a modified EIM according to one or more aspects;
[0015] FIG. 7 depicts a process of process model generation and resizing according to one or more aspects;
[0016] FIG. 8 depicts process map visualizations of two clusters according to one or more aspects;
[0017] FIG. 9 depicts a process map visualization of combined clusters of FIG. 8 according to one or more aspects;
[0018] FIG. 10 depicts a process map visualization with variation grouping according to one or more aspects;
[0019] FIG. 11 depicts an example of process model visualization adjustments according to one or more aspects;
[0020] FIG. 12 depicts an example of process model visualization adjustments according to one or more aspects;
[0021] FIG. 13 depicts an example of a user interface on a display according to one or more aspects;
[0022] FIG. 14 depicts an example of a user interface on a display according to one or more aspects;
[0023] FIG. 15 depicts a process of entropy -based variation determination and process model visualization adjustment according to one or more aspects; and
[0024] FIG. 16 depicts a computer system according to one or more aspects.
[0025] 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.DETAILED DESCRIPTION
[0026] Aspects of the technical solutions described herein relate to analyzing surgical workflow data. Aspects include a process mining pipeline for extracting principal workflows from a set of surgical phase sequences. A dataset of surgical workflows with significant variation can be difficult to interpret. Aspects of the pipeline described herein identify groups of principal workflows and extract atypical workflows. A process map can be mined from the principal workflows for simpler visualization and clinical interpretation of the data.
[0027] Exemplary aspects of the technical solutions described herein include systems and methods for understanding the main workflows, identifying outliers, and understanding variation and key decision points in large datasets of surgical workflows. Aspects described herein can be used to facilitate clinical interpretation of large and varied dataset by identifying principal workflows, outliers, and decision points, and by pinpointing variation.
[0028] Aspects described herein can include the following steps to prepare process models for display based on workflows: identify phases that rarely occur in any of the workflows; identify common sub-sequences, or substrings (super-phases) within the dataset and merge these into one phase; identify outlier workflows using an extension to an effective infrequent sequence mining method (EIM) (e.g., extension allows EIM to handle repeated phrases) or by clustering the workflows using an extension to Active Trace Clustering (“ATC” or “ActiTraC”) (e.g., extension includes cluster optimization to improve final clusters); remove outliers and compress sequences using the identified super-phases before carrying out Bayesian Model Merging (BMM); and use BMM and / or phase transition matrices to identify decision points in the workflows. The decision points can be points in the model where there are multiple possible routes to take after a phase, or in a transition matrix where there are multiple phases that are likely transitions after a phase).
[0029] Large-scale datasets of surgical workflows can be difficult to understand and interpret due to considerable variation in the way surgeries are performed. A workflow isthe segmentation of a surgical procedure into a sequence of steps or phases; low-level information such as action-anatomy -instrument tuples may also be considered. As described herein, surgical cases can be broken into phases, the major events occurring in the surgery. Even high-level segmentation of a surgical case into phases can present prohibitive complexity for process modelling. In accordance with aspects described herein, a simplified representation for a large set of surgical workflows that will allow the building of a surgical process model is provided.
[0030] In according to aspects, process modeling has three main goals of discovering processes based on event logs, checking the conformance of new logs to a process model, and enhancing processes. Aspects described herein focus on process discovery, as it forms the basis for the latter two goals. Surgical process models can facilitate the clinical interpretation of large and varied datasets by compressing and visualizing the stages that constitute the surgical procedure. Visualization of surgical process models, in particular, is a challenging, yet valuable tool for the clinical interpretation of data. Process models also help with extracting outliers, identifying surgical decision points, and pinpointing variation in the dataset.
[0031] Aspects described herein include a pipeline for separating large surgical datasets into clusters of principal workflows and into a separate set of atypical workflows. A principal workflow is usually the most commonly occurring workflow, or a minor variation thereof. Major variations suggest the presence of alternative approaches and imply that the data should be split into smaller groups of low variation. In accordance with aspects, the dataset can be clustered using an extension of active trace clustering. This can include identifying similar cases based on common substrings and iteratively clusters the dataset based on the fitness and complexity of the resulting process map, using a heuristic miner. This results in clusters that generate representative and comprehensible process maps. Sequences that do not fit within any clusters or are highly unlikely given their cluster process model can be identified as atypical.
[0032] A surgical process may have sections that are near-deterministic and can be characterized by substrings of phases that follow a rigid order. Identifying these parts of the process can be interesting clinically and offers a twofold simplification for process modeling. A part of the clustering process can include creating a feature set to calculate similarity; a feature set used by aspects described herein utilizes common substrings within a dataset to create clusters with common substrings. Secondly, as a final preprocessing step, the common substrings are merged into “super-phases”, which according to one or more aspects, are made up of at least three consecutive phases. This provides compression of the dataset for the final process mapping.
[0033] In accordance with aspects, an extension of BMM can be used to create a process map to visualize each cluster. In accordance with aspects, restrictions on merging prevent any loops within the process map, resulting in an easily comprehensible map, even in the presence of repeated activities. In accordance with one or more aspects, additions have been made to this method to increase efficiency and identify an optimal number of merges based on the precision and complexity of the resulting map.
[0034] The pipeline described herein is procedure-agnostic and does not require expert input.
[0035] 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 understand the main workflows, identify outliers and to understand the variation and key decision points. Aspects enhance visualization of a flow diagram of a process model based on workflows, for example, to draw attention to nodes and / or edges that are more likely to be of interest due to higher amounts of variation.
[0036] Phase segmentation data can be used to build a process model of a surgical procedure. A process model can be formed as a graph, where each node is a surgical phase, and edges represent transition probabilities from one phase to another, forexample. Transition probabilities can be used to calculate entropy for each node in the graph. Entropy of the entire graph can be defined using a probability distribution of all routes through the graph. Two entropy determinations can be connected at the node level and graph level. Entropy -based measure of variation of the graph can be determined as a weighted sum of the entropies at each node. Graph entropy can quantify an amount of variation in a dataset and can be used for comparisons, e.g., between surgeons, hospitals, or a surgeon across time. Weighted node entropies can show how the total entropy is decomposed across the graph and where the largest sources of variation reside. Entropy decomposition can be used to adjust process model visualization and highlight one or more nodes that most contribute to variation. Other modifications to the process model visualization can include highlighting certain routes though the graph, re-centering the graph around a certain path, and highlighting nodes and / or edges of interest.
[0037] Turning now to FIG. 1, an example computer-assisted system (CAS) system 100 is generally shown in accordance with one or more aspects. The CAS system 100 includes at least a computing system 102, a video recording system 104, and a surgical instrumentation system 106. As illustrated in FIG. 1, an actor 112 can be medical personnel that uses the CAS system 100 to perform a surgical procedure on a patient 110. Medical personnel can be a surgeon, assistant, nurse, administrator, or any other actor that interacts with the CAS system 100 in a surgical environment. The surgical procedure can be any type of surgery. In other examples, actor 112 can be a technician, an administrator, an engineer, or any other such personnel that interacts with the CAS system 100. For example, actor 112 can record data from the CAS system 100, configure / update one or more attributes of the CAS system 100, review past performance of the CAS system 100, repair the CAS system 100, and / or the like including combinations and / or multiples thereof.
[0038] 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 actionsperformed 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. In addition, a particular anatomical structure of the patient may be the target of the surgical action(s).
[0039] The video recording system 104 includes one or more cameras 105, such as operating room cameras, endoscopic cameras, and / or the like including combinations and / or multiples thereof. 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 (e.g. e.g., 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.
[0040] 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 FIG. 1 can be implemented for example, by all or a portion of computer system 1600 of FIG. 16. Computing system 102 can execute one or more computer-executable instructions. The execution of the instructions facilitates the computing system 102 to perform one or more methods, including those described herein. The computing system 102 can communicate with other computing systems via a wired and / or a wireless network.
[0041] 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 storagearchitecture, for example, public cloud, private cloud, hybrid cloud, and / or the like including combinations and / or multiples thereof. In some examples, the data collection system can use a distributed storage, e.g., 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, and / or the like including combinations and / or multiples thereof. For example, the data storage media can include flash-based solid-state drives (SSDs), magnetic-based hard disk drives, magnetic tape, optical discs, and / or the like including combinations and / or multiples thereof.
[0042] 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, and / or the like including combinations and / or multiples thereof), data manipulation commands (e.g., browse, copy, paste, move, delete, create, compress, and / or the like including combinations and / or multiples thereof), data manipulation results, and / or the like including combinations and / or multiples thereof. In one or more examples, the computing system 102 can manipulate the data already stored / being stored in the data collection system 150. 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.
[0043] 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 curates 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 inaddition, the computing system 102 filters the video captured by the video recording system 104 after it is stored on the data collection system 150. Instrument data (e.g., robotic logs, electrosurgical instrument logs, etc.) can also be stored in the data collection system 150.
[0044] A surgical data management system 160 can provide access to portions of data captured in the data collection system 150, as well as data and records stored in other systems. The surgical data management system 160 can establish user access permissions to patient and surgical data. The surgical data management system 160 can also control access through an interface based on the user access permissions. Access to the surgical data management system 160 can be provided through one or more applications or secure web pages. The surgical data management system 160 can be a stand-alone application, module, and / or an extension of another system. Additional aspects of the surgical data management system 160 can include accessing artificial intelligence (Al)-powered surgical video and analytics. Further aspects of the surgical data management system 160 can include accessing simulation materials that can assist surgeons to prepare, practice, and teach surgical procedures. Further aspects of the surgical data management system 160 can include integrating aspects of equipment in an operating room, surgery planning, rating surgeon performance, and other such features. The surgical data management system 160 can also provide access to technical specifications and information relating to the use of surgical instruments, for example.
[0045] Turning now to FIG. 2, a surgical procedure system 200 is generally shown according to one or more aspects. The example of FIG. 2 depicts a surgical procedure support system 202 that can include or may be coupled to the CAS system 100 of FIG. 1. The surgical procedure support system 202 can acquire image or video data using one or more cameras 204. The surgical procedure support system 202 can also interface with one or more sensors 206 and / or one or more effectors 208. The sensors 206 may be associated with surgical support equipment and / or patient monitoring. The effectors 208 can be robotic components or other equipment controllable through the surgicalprocedure support system 202. The surgical procedure support system 202 can also interact with one or more user interfaces 210, such as various input and / or output devices. The surgical procedure support system 202 can store, access, and / or update surgical data 214 associated with a training dataset and / or live data as a surgical procedure is being performed on patient 110 of FIG. 1. The surgical procedure support system 202 can store, access, and / or update surgical objectives 216 to assist in training and guidance for one or more surgical procedures. User configurations 218 can track and store user preferences.
[0046] The surgical procedure support system 202 can also communicate with other systems through a network 230. For example, the surgical procedure support system 202 can communicate with a surgical workflow variation visualizer 240 and a surgical data post-processing system 250 through the network 230. Other types of devices, such as a computing device 234 (e.g., a mobile phone, laptop, personal computer, or tablet computer), can communicate directly with the surgical procedure support system 202 or through the network 230. As one example, user interfaces 210 may be connected to or integrated with the surgical procedure support system 202 by a wired connection while the computing device 234 connects to the surgical procedure support system 202 via a wireless connection. In some aspects, the computing device 234 can execute or link to another computer system that executes the surgical data management system 160 of FIG. 1 to access various data sources through the network 230.
[0047] The surgical data post-processing system 250 can receive surgical data and associated data generated by the surgical procedure support system 202 and may be separately stored and secured through other data storage. Access to specific data or portions of data through the surgical data post-processing system 250 may be limited by associated permissions. The surgical data post-processing system 250 may include features such as video viewing, video sharing, data analytics, and selective data extraction.
[0048] The surgical workflow variation visualizer 240 can provide viewing access to surgical workflows and associated data sources, such as surgical data 214, data collected in the one or more storage devices 152 of FIG. 1, and post-processed data generated by the surgical data post-processing system 250 that is associated with the surgical workflows. For example, surgical instrument data, video data, and artificial intelligence generated data can be accessed for viewing through the surgical workflow variation visualizer 240 to view context information associated with nodes of a process model of surgical workflows. The surgical data post-processing system 250 may generate surgical performance metrics and comparison data across data sets collected at multiple locations, making analytics data available to the surgical workflow variation visualizer 240. The surgical workflow variation visualizer 240 can load and analyze surgical workflow data of a user, for example, when the user performs a login or otherwise activates the surgical workflow variation visualizer 240. In some aspects, the surgical workflow variation visualizer 240 can present surgical workflows as a flow diagram of a process model associated with workflows of a surgical procedure, for instance, as selected by a user through a user interface. The flow diagram can be modified to resize one or more nodes to draw attention to portions that have a higher level of entropy. Other types of highlighting and modification of the flow diagram can be provided as furth described herein. In some aspects, the surgical workflow variation visualizer 240 and / or surgical data post-processing system 250 can be components of the surgical data management system 160 of FIG. 1.
[0049] One or more computing device 264 (e.g., a mobile phone, laptop, personal computer, or tablet computer), can execute the surgical data management system 160 of FIG. 1 to access various data sources through a network 260. The network 230 may be within a facility or multiple facilities maintained within a private network. The network 260 may be a wider area network, such as the internet. Accordingly, the networks 230 and 260 may have access to different files and data sets along with shared access to select files and data sets. In some aspects, networks 230 and 260 can be combined.
[0050] Turning now to FIG. 3, a system 300 for analyzing video and data is generally shown according to one or more aspects. In accordance with aspects, the video and data is captured from video recording system 104 of FIG. 1. The analysis can result in predicting features that include surgical phases and structures (e.g., instruments, anatomical structures, etc.) in the video data using machine learning. System 300 can be the computing system 102 of FIG. 1, or a part thereof in one or more examples. System 300 uses data streams in the surgical data to identify procedural states according to some aspects.
[0051] 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, e.g., 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 FIG. 1.
[0052] 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 machinelearning 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.
[0053] 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,” e.g., perform real-time processing of surgical data using the trained machine learning models 330.
[0054] 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 FIG. 1 (e.g., surgeon, surgical nurse, anesthesiologist, etc.) during the surgery, a non-wearable imaging device located within an operating room, or an endoscopic camera inserted inside the patient 110 of FIG. 1. The data store 320 is separate from the data collection system 150 of FIG. 1 in some examples. In other examples, the data store 320 is part of the data collection system 150.
[0055] 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 anoutcome 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 imagesegmentation 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.
[0056] 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 (e.g., 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).
[0057] 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 (e.g., prediction). The machine learning models 330 can include, for example, a fully convolutional network adaptation, an adversarial network model, anencoder, 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.
[0058] 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 FIG.1 can include data streams (e.g., an array of intensity, depth, and / or RGB values) for a single image or for each of a set of frames (e.g., including multiple images or an image with sequencing data) representing a temporal window of fixed or variable length in a video. The video data that is captured by the video recording system 104 can be received by the data reception system 305, which can include one or more devices located within an operating room where the surgical procedure is being performed. Alternatively, the data reception system 305 can include devices that are located remotely, to which the captured video data is streamed live during the performance of the surgical procedure. Alternatively, or in addition, the data reception system 305 accesses the data in an offline manner from the data collection system 150 or from any other data source (e.g., local or remote storage device).
[0059] 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 instrum ents / 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.
[0060] The machine learning models 330, once trained, can analyze the input surgical data, and in one or more aspects, predict and / or characterize features (e.g., 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 features 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 330, 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.
[0061] 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 355identifies a set of potential phases that can correspond to a part of the specific type of procedure.
[0062] 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.
[0063] 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 (e.g., 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 includesperson-to-person requests or comments, explicit identifications of a current or past phase, information requests, etc.).
[0064] 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 segments of the video where each segment corresponds to and includes 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 additional data dimensions such as, but not limited to, 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.
[0065] 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 (e.g., cameras external to the patient’s body) when performing open surgeries (e.g., 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.
[0066] Turning now to FIG. 4, a flowchart of a method 400 for facilitating clinical interpretation of large and varied datasets of surgical workflow is generally shown in accordance with one or more aspects. All or a portion of the processing shown in the method 400 of FIG. 4 can be performed for example, by computing system 102 of FIG. 1, or a part thereof in one or more examples. The method 400 shown in FIG. 4 includesusing super-phases as a way of simplifying sequences, using extensions to BMM, using extensions to EIM (e.g., use of super-phases and higher order transition matrices), and combining BMM and EIM.
[0067] The method 400 shown in FIG. 4 is a pipeline of different methods including: identifying rare phases and transitions; clustering of sequences and outlier identification using a modified version of Active Trace Clustering; super-phase identification by finding common subsequences to compress the workflows; a modified version of BMM to create a flow diagram of the data; and identification of decision points using BMM or transition matrices.
[0068] In a first step of method 400, a surgical dataset 402 is accessed, rare phases 404 are identified and partitioned as cases without rare phases 406 and cases with rare phases 408. In a second step of method 400, the cases without rare phases 406 are clustered 410 with principal workflows 412 identified and cases not clustered 414 or in small outlier clusters identified. In a third step of method 400, super-phases 420 are identified from the principal workflows 412. In a fourth step of method 400, a process model 430 or flow diagram can be created from each cluster of the principal workflows 412. In a fifth step of the method 400, decision points 440 can be identified in the process model 430. The cases not clustered 414 or in small outlier clusters can be identified as outliers 450 and the outliers can be characterized 460 in a sixth step of the method 400.
[0069] The processing shown in FIG. 4 is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 4 are to be included in every case. Additionally, the processing shown in FIG. 4 can include any suitable number of additional operations.
[0070] Turning now to FIG. 5, a process 500 performed by an EIM is generally shown. The EIM can be used to discover infrequent sequences in sequences of data that represent important variations within the data. These infrequent sequences that represent important variations within the data should not be discarded, but should be kept and used by themodeling of the data. At block 502, frequent sequences are identified based on an input threshold value. At block 504, the most variable phase based on conditional entropy is removed from all infrequent sequences (e.g., remove the noise in the system). If there is no noise within the data, phases need not be removed. At block 506, the most likely paths are found from a transition matrix based on the infrequent sequences. At block 508, the most likely paths that have a similarity above the input threshold value, when compared to the other paths, are identified as the effective infrequent sequences.
[0071] The processing shown in FIG. 5 is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 5 are to be included in every case. Additionally, the processing shown in FIG. 5 can include any suitable number of additional operations.
[0072] Turning now to FIG. 6, a process 600 performed by a modified EIM is generally shown in accordance with one or more aspects. The processing of the modified EIM shown in FIG. 6 can account for characteristics of surgical workflow data including for example, the possibility of repeated phases in a workflow sequence (or sequence of phases) and remove the need for manual setting of the frequent threshold and similarity threshold, replacing it with an automated approach. This method could be used within the pipeline, in addition to or instead of the active trace clustering, to identify outlier sequences. At block 602, the input threshold value of block 502 can be selected based on a distribution of sequences. At block 604, higher-order transition matrices can be used to create simulated paths based on determining that repeats of phases exist in the sequences. This can be performed in place of block 506. At block 606, outlier identification can be performed on similarity scores that are based on adjacency. At block 608, effective infrequent sequences can be identified based on determining which sequences are not identified as outliers. Blocks 606 and 608 can be performed as an alternative to finding paths that are above the input threshold value in block 508.
[0073] The processing shown in FIG. 6 is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 6 areto be included in every case. Additionally, the processing shown in FIG. 6 can include any suitable number of additional operations.
[0074] Turning now to FIG. 7, a process 700 of process model generation and resizing is generally shown in accordance with one or more aspects. The surgical workflow variation visualizer 240 of FIG. 2 can access a set of workflows 702 associated with a surgical procedure. For instance, the set of workflows 702 can be generated by phase detector 350 predicting phase information based on surgical videos in real-time during a surgical procedure or stored surgical videos. The set of workflows 702 to be analyzed can include phase information associated with a group of surgeons or the same surgeon performing the same surgical procedure over a period of time. In order to understand how consistently the same surgical procedure is performed for the selected set of workflows 702, the surgical workflow variation visualizer 240 build a process model 704 that illustrates transitions between phases and how frequently each type of transition was observed in the set of surgical workflows 702. Nodes of the process model 704 can present phases, and edges of the process model 704 can represent transitions between phases. Each of the edges may have an associated edge indicative of a number of times or frequency in which each of the transitions was observed in the set of workflows 702. The process model 704 can be output on a user interface of a display. To further assist in visualizing an amount of variation occurring in the process model 704, the surgical workflow variation visualizer 240 can determine entropy values indicative of variations at one or more of the nodes and modify a flow diagram of the process model 704 as flow diagram 706 using entropy-based resizing.
[0075] Entropy can be used to measure variation or a level of surprise of an event. For example, Surgeon 1 uses techniques A, B and C equally. The surprise associated to each choice is -log(l / 3) = 1.6, and the total entropy is 3 * 1 / 3*1.6 = 1.6. As another example, Surgeon 2 uses techniques A 98% of the time and techniques B and C 1% of the time each. The surprise associated to technique A is low, -log(0.98)=0.03, while the surprise associated to techniques B and C are high, -log(O.Ol) = 6.6. However, B and C have verylow probabilities of ever occurring, leading to a lower overall entropy of 0.98*0.03 + 2*0.01*6.6 = 0.16.
[0076] Entropy can be expressed according to equation 1.Entropy = - S Pflog Pi (1)Here, pi is the probability of an event, and log pi is a level of surprise of an event.
[0077] Entropy of an entire graph can be determined by identifying all routes through the graph and the probability of each route. Route probabilities can be computed based on a node transition probability matrix. For example,PABDEP=PA^BPB^D PD^E PE^P . . . . , , indicates probabilities ot transitioning between nodes.
[0078] Entropy can be calculated for each node based on the probability distribution of edges leaving the node. For example, if a first edge transitioned from a first node to a second node 68 of 80 times and a second edge transitioned from the first node to a third node 12 of 80 times, then the first edge would have a probability of 0.85 and the second edge would have a probability of 0.15. This would result in a node entropy of 0.44 per equation 1.
[0079] The total entropy can be computed as a weighted sum of node entropies according to equation 2.Entropy = £ Pstart^x Entropyx(2) where Pstart^x is a probability of landing in node x.
[0080] FIG. 8 depicts process map visualizations of two clusters 802, 804 according to one or more aspects. Clusters 802, 804 can be a split of a dataset. For instance, the first cluster 802 may contain the most common sequence and a minor variation of this workflow where the “Preparation” phase was missing. The second cluster 804 cancontain the rest of the data. Both clusters can have one substring that was common to at least 90% of the sequences in the cluster. BMM can be carried out on masked sequences, and a second round of model merging can be done after unmasking the super-phases.The ensuing process map visualizations of clusters 802 and 804 are shown in the example of FIG. 8. Each edge in the graph can be labelled with the number of sequences with that transition. For ease of visualization, infrequent edges can be shown as dotted lines and infrequent nodes with different display characteristics, allowing the frequent nodes and edges to stand out. For this dataset, no atypical cases were identified at any point of the pipeline.
[0081] Due to the simplicity of the two process maps, and the similarities between them, a combined model can be generated to give an overall process model. For example, the clusters 802 and 804 can be combined as a process map 900 of combined clusters in the visualization of FIG. 9. The combined process model (process map 900) shows a clear pathway that most of the sequences follow. Minor variations, such as “CleaningCoagulation” occurring as the last phase of the sequence in three out of 80 videos, can be seen as faint deviations from the main path. A more common variation occurs after “GallbladderDissection”, which may indicate a point of decision for the operating surgeon to perform “CleaningCoagulation” before “GallbladderPackaging” rather than after it. These visual cues can help medical experts to focus on the most variable parts of the operation and do further clinical assessment.
[0082] FIG. 10 depicts a process map 1000 visualization with variation grouping according to one or more aspects. The surgical workflow variation visualizer 240 of FIG. 2 can identify different regions of variation within the process map 1000. For example, a first region 1002 shows low variation with a small fraction of workflows following a different path. A second region 1004 shows no variation with all workflows following the same path (e.g., same sequence of phases). A third region 1006 shows high variation with several different workflows in parallel. A fourth region 1008 shows low variationwith a small fraction of workflows following a different path. The third region 1006 would have the most entropy as compared to regions 1002, 1004, and 1008.
[0083] FIG. 11 depicts an example of process model visualization adjustments 1100 according to one or more aspects. The surgical workflow variation visualizer 240 of FIG. 2 can access or generate a flow diagram 1102 of a process model, where the flow diagram 1102 can be a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges. The edges can be labelled with weights indicative of how frequently transitions occur between pairs of nodes. The surgical workflow variation visualizer 240 can resize one or more of the nodes based on the node entropy of the nodes weighted relative to the total entropy. A flow diagram 1104 can be output to a user interface after resizing the one or more of the nodes. The surgical workflow variation visualizer 240 may also adjust the flow diagram 1104 as flow diagram 1106 to center the graph around a specific sequence, such as the highest occurring path through the graph or other selectable sequences.
[0084] FIG. 12 depicts an example of process model visualization adjustments 1200 according to one or more aspects. In the example of FIG. 12, the surgical workflow variation visualizer 240 of FIG. 2 can access or generate a flow diagram 1202 of a process model, where the flow diagram 1202 can be a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges. The edges can be labelled with weights indicative of how frequently transitions occur between pairs of nodes. Flow diagram 1204 is an example of one type of adjustment to the flow diagram 1202, where nodes can be resized based on combined weights of edges pointing to each node and the entropy at each node. Flow diagram 1206 is an example of one type of adjustment to the flow diagram 1202, where edges are resized based on the number of sequences passing through the edges. Flow diagram 1208 is an example of one type of adjustment to the flow diagram 1202, where individual sequences are highlighted, for instance, using color and / or thickness to distinguish sequences. Flow diagram 1210 is an example of one type of adjustment to the flow diagram 1202, where the graph is centeredabout a selected sequence. Other variations and / or combinations of adjustments can be performed based on user input and / or configuration options through the surgical workflow variation visualizer 240.
[0085] In some aspects, the surgical workflow variation visualizer 240 of FIG. 2 can also allow users to interact with the flow diagrams 1202-1210 to explore various related content. For example, a user can click on a specific workflow path, and the surgical workflow variation visualizer 240 can generate a list of all videos that use the selected path along with other related information, such as patient demographics and efficiency / effectiveness in terms of patient outcomes based on historical data from previously performed procedures. As a further example, the surgical workflow variation visualizer 240 can allow users to generate video clips by highlighting sections of a workflow diagram, such as section 1212 of flow diagram 1210. In this example, the highlight of section 1212 can use timestamp data or other markers / delimiters to extract a video clip that captures content representing nodes of flow diagram 1210 within section 1212 based on a video associated with the flow diagram 1210. The surgical workflow variation visualizer 240 can allow users to generate multiple video clips by selecting one or more areas of a workflow diagram for video clip generation. Further, where multiple sections of a workflow diagram are highlighted, the surgical workflow variation visualizer 240 can provide an option to extract the video clips separately or stitched together to form a combined video that includes the selected sections.
[0086] In some aspects, the workflow variation visualizer 240 of FIG. 2 can allow users to filter workflows and contents displayed for visualization and summarizing subsets of data. For example, applying a filter to a workflow, such as flow diagram 1210, aspects of visualization can be filtered for associated data points. Examples of filter options can include patient demographics, frequency of occurrence, complication occurrence, efficiency, and other such categories for data filtering. The filtering options can be used, for instance, during pre-operative planning, when considering potential workflow impacts based on past results from similar patients and conditions. Filteringcan also be used to highlight particular nodes of interest, such as key decision points. Key decision points can be identified based on phases having variation above a key decision threshold with respect to a next phase transition. As one example, node 1214 of flow diagram 1210 can be identified as a key decision point. Using the workflow variation visualizer 240, a user can make a selection to only show key decision points in a particular color and / or level of opacity to make corresponding nodes, such as node 1214, easier to identify visually. Key decision points can be examined in further detail, for instance, by tapping or clicking on a node (e.g., node 1214) that is a key decision point. For example, selecting node 1214 can provide options to view video segments with multiple transition outcomes previously observed. In some aspects, nodes can be resized according to variability, such as phase variability associated with a next transition. Node sizing based on next phase transition variability can make it easier to spot key decision points. Transition edges may also or alternatively be highlighted to visually illustrate variability associated with a next phase transition. Highlighting can include changing line thickness, color, opacity, solid / dashed, or other such techniques.
[0087] FIG. 13 depicts an example of a user interface 1302 on a display 1300 according to one or more aspects. The user interface 1302 can be generated by the surgical workflow variation visualizer 240 of FIG. 2. The user interface can depict flow diagrams 1304, graphs 1306 (e.g., variation metric plots), and other such information, such as text and links to underlying source content (e.g., surgical videos used to develop process models). The user interface 1302 can detect user inputs, such as hovering, click / tap events, zoom in / out, and other navigation / selection inputs. The user interface 1302 can be customized for personal computer display, tablet computer display, mobile device display, and other such types of displays (e.g., augmented reality displays). The user interface 1302 can be accessible through an application or web page, for example, and may be part of a set of surgical analytical tools that support review and analysis of surgical data for a variety of types of surgical procedures. The user interface 1302 can also support transitioning to other views, such as those depicted in FIGS. 11, 12, and 14.
[0088] FIG. 14 depicts an example of a user interface 1402 on a display 1400 according to one or more aspects. The user interface 1402 can be generated by the surgical workflow variation visualizer 240 of FIG. 2. The user interface 1402 can allow a user to explore a learning curve plot and view supporting data. For instance, by clicking on a selected point on a plot in the user interface, a corresponding workflow graph 1404 can be displayed. This can assist users in visualizing workflow variability over time to track progress towards standardization. At each stage of the learning curve, the user can view the corresponding workflow graph 1404 to see improvements. The user can also select one or more nodes of the corresponding workflow graph 1404 and view corresponding video in the video viewer 1406. The video viewer 1406 can be synchronized with display aspects of the corresponding workflow graph 1404. For example, during video playback through the video viewer 1406, portions of the corresponding workflow graph 1404 can be highlighted to provide context as to which phase the video is currently depicting during playback. Tags or other metadata associated with the video can be used to synchronize video playback with highlighting of specific nodes of the corresponding workflow graph 1404. Highlighting can include a change in color, size, opacity, outline, or other such property to distinguish one or more nodes from other nodes of the corresponding workflow graph 1404. The user can adjust viewing aspects of the corresponding workflow graph 1404, for instance, to re-center, zoom in, or zoom out. When displayed alongside the video viewer 1406, the corresponding workflow graph 1404 can be interactive, allowing a user to select a phase and changing the current playback in the video viewer 1406 to navigate to a corresponding timestamp in the video. Other information and display options can also be presented, such as summary data.
[0089] FIG. 15 depicts a process 1500 of entropy -based variation determination and process model visualization adjustment according to one or more aspects. The process 1500 can be performed by the surgical workflow variation visualizer 240 of FIG. 2.
[0090] At block 1502, a flow diagram of a process model of a plurality of phases associated with workflows of a surgical procedure can be accessed. The flow diagram can be a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges.
[0091] At block 1504, a node entropy can be determined of each of the nodes of the graph. The node entropy can be determined, for instance, based on equation 1.
[0092] At block 1506, a route probability of transitioning through the graph can be determined to reach each of the nodes.
[0093] At block 1508, a total entropy can be determined as a weighted sum of the node entropy and the route probability of each of the nodes. The total entropy can be determined, for instance, based on equation 2.
[0094] At block 1510, one or more of the nodes can be resized based on the node entropy of one or more of the nodes weighted relative to the total entropy.
[0095] At block 1512, the flow diagram can be output to a user interface after resizing one or more of the nodes.
[0096] In some aspects, the phases can be determined based on video of multiple surgical cases of the surgical procedure.
[0097] In some aspects, the surgical workflow variation visualizer 240 can be configured to access a surgical dataset that includes the phases associated with the workflows of the surgical procedure, identify and remove cases with one or more rare phases, cluster remaining cases without the one or more rare phases to form principal workflows and identify outliers, identify super-phases in the principal workflows, wherein the super-phases comprise subsequences of multiple phases, and create the flow diagram that masks the super-phases from the principal workflows.
[0098] In some aspects, the surgical workflow variation visualizer 240 can identify a sequence within the graph and center the flow diagram around the sequence on the user interface. In some aspects, the surgical workflow variation visualizer 240 can also filter display of the flow diagram based on a user selection.
[0099] In some aspects, the node entropy can be based on a probability distribution of each of the one or more edges leaving each of the nodes. Alternatively, the node entropy can be based on a probability distribution of each of the one or more edges arriving at each of the nodes. Further, the node entropy can be based on a probability distribution of a combination of each of the one or more edges arriving at and leaving each of the nodes. Furthermore, a combination of arriving and departing edges can be weighted, such as 40% arriving weight and 60% departing weight, 30% arriving weight and 70% departing weight, 20% arriving weight and 80% departing weight, and other such combinations. The selection of only arriving edges, only leaving / departing edges, or a combination thereof can be performed through a user interface to allow users to see different visualizations depending on which edge type and / or weighting is selected.
[0100] In some aspects, the surgical workflow variation visualizer 240 can resize at least one of the one or more edges on the user interface based on a number sequences passing through the one or more edges. In some aspects, the surgical workflow variation visualizer 240 can identify one or more key decision points including one or more of the nodes with a next transition variability exceeding a variation threshold.
[0101] In some aspects, the surgical workflow variation visualizer 240 can identify a sequence within the graph and highlight the sequence on the user interface. The highlight can include, for example, a change in edge thickness and / or color. In some aspects, the surgical workflow variation visualizer 240 can generate a video clip from video associated with a selected portion of the sequence.
[0102] In some aspects, the surgical workflow variation visualizer 240 can exclude one or more subsequences of the graph from being displayed on the user interface based on adisplay threshold. The display threshold can be a minimum probability the one or more edges and nodes being reached in routes through the graph.
[0103] In some aspects, the surgical workflow variation visualizer 240 can modify the flow diagram on the user interface based on a user selection to exclude the one or more subsequences of the graph, where modification of the flow diagram can include merging one or more portions of the graph associated with excluding the one or more subsequences.
[0104] The processing shown in FIG. 15 is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 15 are to be included in every case. Additionally, the processing shown in FIG. 15 can include any suitable number of additional operations.
[0105] Models can be used to map out surgical processes to give a flow chart like model. Contemporary approaches have included using a model merging process, which can be configured to not allow loops, meaning that the model can read from left to right (or top to bottom) making a clear and easy to understand flow chart. The use of a visualization like this can be a way to show users different workflows for a procedure. It may also allow incorporation of information from the surgical maps to include clinical information within the visualization. This allows the extraction of this clinical information more easily and quickly.
[0106] Model merging can be used to create a model of surgical data, with the states within the model being iteratively merged to improve the score of the model based on the input observations. This can be performed by maximizing the probability of the model, given training data. For a model M and data D, the P(M|D) is proportional to P(D|M)P(M). P(M) can be found using the forward algorithm or an approximate value using Viterbi paths. Merges of states are allowed if the merges give the same observation and if the merges maximize P(D|M). At each iteration of the process two states can be merged together to simplify the model. The two states to be merged can be chosen on thebelow criteria; the merge results in the same observation (phase), the merge results in the highest P(D|M) for the data out of all the possible merges, and the merge does not result in a loop in the model (added to ensure the models are easier to read from left to right). The model can continue merging states until there are no more possible merges or until the maximum number of iterations has been reached or until the score of the model has converged.
[0107] Aspects described herein extend the current methodology used for the merging process to make it more robust and efficient when looking at surgical phase data. At the start of the modeling process each observation can be treated as unique and all its values are given a unique state value. However, for surgical workflow data there are often multiple observations which contain the same set of values. To improve the speed of the model merging process the same observations are collected together and given the same state values. This is the same as essentially merging all the states that are part of the same observation workflow together before continuing the merging process. This can greatly reduce the number of states in the model at the start, thereby speeding up the merging process significantly.
[0108] At each iteration in the current methodology only one merge may be applied to the model. In according to aspects described herein multiple merges are allowed, which can speed up the merging process. Multiple merges can be allowed given the following conditions: all the merges have the highest P(D|M); and none of the merges will interact with each other (e.g., every route through the model does not pass through more than one merge).
[0109] The current method prevents any merges that would result in loops in the model to ensure that the model is able to be read from left to right. In one or more aspects described herein, an additional condition can be added to specify that a merge cannot result in a route through the surgical map that is impossible. This is determined based on procedure specific rules (e.g., what phases must be present within the surgery) or based on the training data. This prevents any merges that result in an unrealistic surgical map.
[0110] The current merging method continues until either the maximum number of iterations has been reached, the score has converged, or there are no more possible merges. Determining the best tolerance of the score can be difficult as this can vary between datasets and procedures. In according with aspects an additional performance metric has been defined as the percentage of possible routes through the model that occur within the training data. This performance metric can identify whether too many merges have been carried out on the model, meaning that some information from the input data has been lost. The performance metric can be used instead of or in addition to the score of the model to identify when the merging process should be stopped.[OHl] In according to additional aspects, the method can be extended to include both surgical phase and surgical instrumentation data to provide a double layered model that shows the instrumentation model within each phase.
[0112] The extensions to the merging method described herein have several technical benefits. One technical benefit is an increase in speed and efficiency because the state values are applied based on distinct input observations rather than all observations individually, and / or due to multiple merges being allowed if they have the highest P(D|M) value and won’t interact with each other. Another technical benefit is that the merging method is more robust because it prevents merges that would result in unrealistic paths through the model, and / or because it uses the performance metric based on the number of routes in the model that occur within the observation data to identify when merging should be stopped. Restricting merges can prevent the precision of the model from decreasing too much and preventing identification of multiple possible workflows that never occur in the data. Further technical benefits have to do with extending the merging method to include multiple layers of data (e.g., can have a model for surgical phase workflow with an instrumentation workflow model within each phase). This can allow users to see their overall workflow and break it down to look at each part in more detail.
[0113] Aspects described herein can have applications within patient outcomes, with additional data such as complexity, complications and length of stay. Aspects of the pipeline and the resulting process maps can be used to understand the differences in workflow and their corresponding impact on patient outcomes. There is also room to extend the process models to include more granular data including phase duration and instrument usage.
[0114] In according to aspects, a graphical representation of the identified surgical approaches (or other data) can be output for display on a display device. User input may be received via a user interface of the graphical representation and a second graphical representation including for example, providers that use one or more of the identified surgical approaches, may be output for display on the display device. In this manner, the visualization is interactive and can be modified based on input from a user. One skilled in the art will appreciate that any number of different visualizations containing different data and in different formats can be provided based on contents of the surgical workflow data for output to a display device, such as, for example, display 1300 of FIG. 13.
[0115] Turning now to FIG. 16, a computer system 1600 is generally shown in accordance with an aspect. The computer system 1600 can be an electronic computer framework comprising and / or employing any number and combination of computing devices and networks utilizing various communication technologies, as described herein. The computer system 1600 can be easily scalable, extensible, and modular, with the ability to change to different services or reconfigure some features independently of others. The computer system 1600 may be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer system 1600 may be a cloud computing node. Computer system 1600 may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system 1600 may bepracticed in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.
[0116] As shown in FIG. 16, the computer system 1600 has one or more central processing units (CPU(s)) 1601a, 1601b, 1601c, etc. (collectively or generically referred to as processor(s) 1601). The processors 1601 can be a single-core processor, multi-core processor, computing cluster, or any number of other configurations. The processors 1601 can be any type of circuitry capable of executing instructions. The processors 1601, also referred to as processing circuits, are coupled via a system bus 1602 to a system memory 1603 and various other components. The system memory 1603 can include one or more memory devices, such as read-only memory (ROM) 1604 and a random-access memory (RAM) 1605. The ROM 1604 is coupled to the system bus 1602 and may include a basic input / output system (BIOS), which controls certain basic functions of the computer system 1600. The RAM is read-write memory coupled to the system bus 1602 for use by the processors 1601. The system memory 1603 provides temporary memory space for operations of said instructions during operation. The system memory 1603 can include random access memory (RAM), read-only memory, flash memory, or any other suitable memory systems.
[0117] The computer system 1600 comprises an input / output (I / O) adapter 1606 and a communications adapter 1607 coupled to the system bus 1602. The I / O adapter 1606 may be a small computer system interface (SCSI) adapter that communicates with a hard disk 1608 and / or any other similar component. The I / O adapter 1606 and the hard disk 1608 are collectively referred to herein as a mass storage 1610.
[0118] Software 1611 for execution on the computer system 1600 may be stored in the mass storage 1610. The mass storage 1610 is an example of a tangible storage medium readable by the processors 1601, where the software 1611 is stored as instructions for execution by the processors 1601 to cause the computer system 1600 to operate, such asis 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 1607 interconnects the system bus 1602 with a network 1612, which may be an outside network, enabling the computer system 1600 to communicate with other such systems. In one aspect, a portion of the system memory 1603 and the mass storage 1610 collectively store an operating system, which may be any appropriate operating system to coordinate the functions of the various components shown in FIG. 16.
[0119] Additional input / output devices are shown as connected to the system bus 1602 via a display adapter 1615 and an interface adapter 1616 and. In one aspect, the adapters 1606, 1607, 1615, and 1616 may be connected to one or more I / O buses that are connected to the system bus 1602 via an intermediate bus bridge (not shown). A display 1619 (e.g., a screen or a display monitor) is connected to the system bus 1602 by a display adapter 1615, 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 1602 via the interface adapter 1616, 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 FIG. 16, the computer system 1600 includes processing capability in the form of the processors 1601, and storage capability including the system memory 1603 and the mass storage 1610, input means such as the buttons, touchscreen, and output capability including the speaker 1623 and the display 1619.
[0120] In some aspects, the communications adapter 1607 can transmit data using any suitable interface or protocol, such as the internet small computer system interface, among others. The network 1612 may be a cellular network, a radio network, a wide areanetwork (WAN), a local area network (LAN), or the Internet, among others. An external computing device may connect to the computer system 1600 through the network 1612. In some examples, an external computing device may be an external web server or a cloud computing node.
[0121] It is to be understood that the block diagram of FIG. 16 is not intended to indicate that the computer system 1600 is to include all of the components shown in FIG. 16. Rather, the computer system 1600 can include any appropriate fewer or additional components not illustrated in FIG. 16 (e.g., additional memory components, embedded controllers, modules, additional network interfaces, etc.). Further, the aspects described herein with respect to computer system 1600 may be implemented with any appropriate logic, wherein the logic, as referred to herein, can include any suitable hardware (e.g., a processor, an embedded controller, or an application-specific integrated circuit, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware, in various aspects. Various aspects can be combined to include two or more of the aspects described herein.
[0122] According to an aspect, a system includes a memory device and one or more processors coupled with the memory device. The one or more processors can be configured to access a surgical dataset that includes a plurality of phases associated with workflows of a surgical procedure, identify and remove cases with one or more rare phases, and cluster remaining cases without the one or more rare phases to form principal workflows and identify outliers. The one or more processors can further be configured to identify super-phases in the principal workflows, where the super-phases include subsequences of multiple phases. The one or more processors can further be configured to create a flow diagram that masks the super-phases from the principal workflows.
[0123] In some aspects, the phases can be determined based on video of multiple surgical cases of the surgical procedure. The one or more processors can be configured to identify one or more decision points in the flow diagram and characterize the outliers. The one or more processors can be configured to generate one or more models based onthe principal workflows with the super-phases masked and perform a modified Bayesian model merging on the one or more models to create the flow diagram that is free of loops, where the modified Bayesian model merging can operate on the super-phases to reduce a number of nodes to merge.
[0124] In some aspects, the one or more processors can be configured to perform hidden Markov model merging on a model of the surgical dataset to generate a surgical workflow map. The hidden Markov model merging can include at least one of: allocating states of an unmerged model based on distinct workflows in the surgical dataset, performing multiple merges in a same iteration if the states do not interact, restricting merges based on whether after the merge, there is an unrealistic path through the model, and identifying when to stop merging based on how often a route occurs in training data.
[0125] In some aspects, the one or more processors can be configured to identify frequent sequences of the phases based on an input threshold value, remove a most variable phase from the infrequent sequences based on conditional entropy, find one or more most likely paths from a transition matrix based on the infrequent sequences, and identify effective infrequent sequences as most likely paths that have a similarity above the input threshold value when compared to other paths.
[0126] In some aspects, the one or more processors can be configured to select an input threshold value based on a distribution of sequences of phases, use higher-order transition matrices to create simulated paths based on determining that repeats of phases exist in the sequences, perform outlier identification on similarity scores that are based on adjacency, and identify effective infrequent sequences based on determining which sequences are not identified as the outliers.
[0127] In some aspects, the one or more processors can be configured to determine a probability of transitioning to each phase next to create a plurality of simulated paths, remove a simulated path based on the simulated path reaching a length restriction, findone or more most likely paths from a transition matrix based on the infrequent sequences, and identify effective infrequent sequences as most likely paths that have a similarity above the input threshold value when compared to other paths.
[0128] In some aspects, the one or more processors can be configured to select an input threshold value based on a distribution of sequences of phases, use higher-order transition matrices to create simulated paths based on determining that repeats of phases exist in the sequences, perform outlier identification on similarity scores that are based on adjacency, and identify effective infrequent sequences based on determining which sequences are not identified as the outliers.
[0129] In some aspects, the one or more processors can be configured to determine a probability of transitioning to each phase next to create a plurality of simulated paths, remove a simulated path based on the simulated path reaching a length restriction, compare each infrequent workflow to the simulated paths to create a similarity score, and form clusters based on the similarity score.
[0130] In some aspects, the one or more processors can be configured to determine upper bounds for outlier detection using a cumulative distribution function and classify sequences as effective infrequent sequences based on determining that the sequences are not identified as the outliers.
[0131] In some aspects, the one or more processors can be configured to identify a most common sequence of phases to start a cluster, identify a most similar sequence to the cluster to use as a test sequence, add the test sequence to the cluster based on determining that a new process map has a fitness above a threshold, add a sequence to the cluster based on determining that the sequence fits within the new process map, and begin a new cluster with one or more remaining sequences based on one or more s conditions being met for the new cluster.
[0132] According to another aspect, a computer-implemented method for extracting principal workflows from a set of surgical phase sequences can include receiving the setof surgical phase sequences; identifying rare phases in the set of surgical phase sequences; removing workflows containing the rare phases from the set of surgical phase sequences; clustering the workflows in the set of surgical phase sequences using iterative model-based clustering; generating a flow diagram based on the clustered surgical phase sequences; and / or outputting the flow diagram via a user interface.
[0133] In some aspects, the flow diagram can include an indication of surgical decision points. Some aspects can include where prior to the clustering, at least a subset of the surgical phases is grouped together into super-phases that are treated by the clustering as a single surgical phase. Generating can include performing hidden Markov model merging on the clustered surgical phase sequences.
[0134] According to a further aspect, a computer program product includes a memory device with computer readable instructions stored thereon, where executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations. The operations can include accessing a set of surgical phase sequences comprising a plurality of phases associated with workflows of a surgical procedure, identifying rare phases in the set of surgical phase sequences, removing workflows containing the rare phases from the set of surgical phase sequences, clustering the workflows in the set of surgical phase sequences, generating a flow diagram based on the clustered surgical phase sequences, and outputting the flow diagram via a user interface.
[0135] In some aspects, generating can include performing merging on the clustered surgical phase sequences.
[0136] In some aspects, merging can include creating a hidden Markov model using input training data with a transmission matrix, an emission matrix, and an initial probability, finding possible merges of states that result in a same observation and does not result in a loop, scoring each of the possible merges, applying a best merge of thehidden Markov model based on the scoring as a merged hidden Markov model, and providing the merged hidden Markov model to generate the flow diagram.
[0137] In some aspects, merging can include creating a hidden Markov model using input training data, finding possible merges of states that result in a same observation, does not result in a loop, and results in a realistic path through the hidden Markov model. The merging can also include scoring each of the possible merges, applying a best merge of the hidden Markov model based on the scoring as a merged hidden Markov model and an absence of interaction with a previous merge, and providing the merged hidden Markov model to generate the flow diagram.
[0138] In some aspects, a computer-implemented method for surgical workflow visualization can include accessing a flow diagram of a process model of a plurality of phases associated with workflows of a surgical procedure, the flow diagram comprising a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges, determining a node entropy of each of the nodes of the graph, determining a total entropy of the graph, resizing one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy, and outputting the flow diagram to a user interface after the resizing.
[0139] In some aspects, the computer-implemented method can include selecting between one or more display options comprising a default option that defines a primary sequence through the workflows based on transition occurrences, and one or more variant options comprising one or more of: a proctored workflow, a department workflow, a planned workflow, and an average workflow; and outputting the flow diagram with deviation visualizations to the user interface based on the selecting.
[0140] In some aspects, the computer-implemented method can include detecting a route-type selection associated with one or more of: a patient type and a complication, and highlighting a route through the graph based on identifying the route corresponding to the route-type selection.
[0141] In some aspects, the computer-implemented method can include detecting a hovering event above one of the nodes or edges of the flow diagram, and outputting supplemental information on the user interface based on detecting the hovering event. In some aspects, the computer-implemented method can include navigating video playback to a corresponding timestamp that aligns with the hovering event.
[0142] In some aspects, a computer program product includes a memory device with computer readable instructions stored thereon, wherein executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations. The operations can include accessing a flow diagram of a process model associated with workflows of a surgical procedure. The flow diagram can be a graph including a plurality of nodes connected sequentially by one or more edges. The operations can also include determining a node entropy of each of the nodes of the graph, determining a total entropy of the graph, resizing one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy, and outputting the flow diagram to a user interface after the resizing.
[0143] In some aspects, the operations can include identifying one or more subsequences of the graph having a probability of being reached in routes through the graph below a display threshold, and excluding the one or more subsequences from being displayed on the user interface.
[0144] In some aspects, the operations can include merging one or more portions of the graph to exclude the one or more subsequences.
[0145] In some aspects, edge highlighting in the flow diagram on the user interface can be selectable between frequency -based highlighting and preferred sequence based highlighting.
[0146] In some aspects, the operations can include displaying a learning curve plot and supporting data based on a selected point of the learning curve plot.
[0147] 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.
[0148] 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.
[0149] 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. Anetwork 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.
[0150] 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.
[0151] 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 ofblocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0152] 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.
[0153] 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.
[0154] 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. Forexample, 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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, e.g., one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, e.g., two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”
[0159] 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.
[0160] 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.
[0161] 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 theexample, 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.
[0162] 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).
[0163] 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.
Claims
CLAIMSWhat is claimed is:
1. A system (100, 200, 1600) comprising: a memory device; and one or more processors coupled with the memory device, the one or more processors configured to: access a flow diagram of a process model (430, 704) of a plurality of phases associated with workflows of a surgical procedure, the flow diagram comprising a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges; determine a node entropy of each of the nodes of the graph; determine a route probability of transitioning through the graph to reach each of the nodes; determine a total entropy as a weighted sum of the node entropy and the route probability of each of the nodes; resize one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy; and output the flow diagram to a user interface (210, 1302, 1402) after resizing the one or more of the nodes.
2. The system (100, 200, 1600) of claim 1, wherein the phases are determined based on video of multiple surgical cases of the surgical procedure.
3. The system (100, 200, 1600) of claims 1 or 2, wherein the one or more processors are configured to: access a surgical dataset that includes the phases associated with the workflows of the surgical procedure;identify and remove cases with one or more rare phases; cluster remaining cases without the one or more rare phases to form principal workflows and identify outliers; identify super-phases in the principal workflows, wherein the super-phases comprise subsequences of multiple phases; and create the flow diagram that masks the super-phases from the principal workflows.
4. The system (100, 200, 1600) of any of claims 1 to 3, wherein the one or more processors are configured to: identify a sequence within the graph; and center the flow diagram around the sequence on the user interface (210, 1302, 1402), and optionally filter display of the flow diagram based on a user selection through the user interface (210, 1302, 1402).
5. The system (100, 200, 1600) of any of claims 1 to 4, wherein the node entropy is based on a probability distribution of each of the one or more edges leaving each of the nodes and / or arriving at each of the nodes.
6. The system (100, 200, 1600) of any of claims 1 to 5, wherein the one or more processors are configured to: resize at least one of the one or more edges on the user interface (210, 1302, 1402) based on a number sequences passing through the one or more edges, and optionally identify one or more key decision points comprising one or more of the nodes with a next transition variability exceeding a variation threshold.
7. The system (100, 200, 1600) of any of claims 1 to 6, wherein the one or more processors are configured to: identify a sequence within the graph; andhighlight the sequence on the user interface (210, 1302, 1402), wherein the highlight optionally comprises a change in edge thickness and / or color, and optionally, generate a video clip from video associated with a selected portion of the sequence.
8. The system (100, 200, 1600) of any of claims 1 to 7, wherein the one or more processors are configured to: exclude one or more subsequences of the graph from being displayed on the user interface (210, 1302, 1402) based on a display threshold, wherein the display threshold optionally comprises a minimum probability the one or more edges and nodes being reached in routes through the graph; and optionally, modify the flow diagram on the user interface (210, 1302, 1402) based on a user selection to exclude the one or more subsequences of the graph, wherein modification of the flow diagram comprises merging one or more portions of the graph associated with excluding the one or more subsequences.
9. A computer-implemented method for surgical workflow visualization, the method comprising: accessing a flow diagram of a process model (430, 704) of a plurality of phases associated with workflows of a surgical procedure, the flow diagram comprising a graph including a plurality of nodes indicative of the phases connected sequentially by one or more edges; determining a node entropy of each of the nodes of the graph; determining a total entropy of the graph; resizing one or more of the nodes based on the node entropy of the one or more of the nodes weighted relative to the total entropy; andoutputting the flow diagram to a user interface (210, 1302, 1402) after the resizing.
10. The computer-implemented method of claim 9, further comprising: selecting between one or more display options comprising a default option that defines a primary sequence through the workflows based on transition occurrences, and one or more variant options comprising one or more of: a proctored workflow, a department workflow, a planned workflow, and an average workflow; and outputting the flow diagram with deviation visualizations to the user interface (210, 1302, 1402) based on the selecting.
11. The computer-implemented method of claims 9 or 10, further comprising: detecting a route-type selection associated with one or more of: a patient type and a complication; and highlighting a route through the graph based on identifying the route corresponding to the route-type selection.
12. The computer-implemented method of any of claims 9 to 11, further comprising: detecting a hovering event above one of the nodes or edges of the flow diagram; and outputting supplemental information on the user interface (210, 1302, 1402) based on detecting the hovering event, and optionally navigating video playback to a corresponding timestamp that aligns with the hovering event.
13. A computer program product comprising a memory device with computer readable instructions stored thereon, wherein executing the computer readable instructions by one or more processing units causes the one or more processing units to perform the method of any of claims 9 to 12.
14. The computer program product of claim 13, wherein the operations further comprise: identifying one or more subsequences of the graph having a probability of being reached in routes through the graph below a display threshold; and excluding the one or more subsequences from being displayed on the user interface (210, 1302, 1402); and optionally, merging one or more portions of the graph to exclude the one or more subsequences.
15. The computer program product of claims 13 or 14, wherein edge highlighting in the flow diagram on the user interface (210, 1302, 1402) is selectable between frequencybased highlighting and preferred sequence based highlighting, and the operations optionally comprise displaying a learning curve plot and supporting data based on a selected point of the learning curve plot on the user interface (210, 1302, 1402).
Citation Information
Patent Citations
Aligned workflow compression and multi-dimensional workflow alignment
WO2024052458A1
Mapping surgical workflows including model merging
WO2024100286A1