Patent Description:
Orthopedic joint repair surgeries involve repair and/or replacement of a damaged or diseased joint. Many times, an orthopedic joint repair procedure, such as joint arthroplasty as an example, involves replacing the damaged joint with an implant component that is attached to a patient's bone. There are numerous challenges associated with planning orthopedic joint repair surgeries. For example, selection of implant components that are appropriately sized and shaped to ensure an optimal surgical outcome can be challenging. <CIT> relates to systems and methods for assisting a surgeon and producing patient-specific medical devices.

This disclosure describes a variety of techniques for providing pre-operative and intra-operative planning and guidance for orthopedic joint repair surgeries. The techniques may be used independently or in various combinations to support particular phases or settings for orthopedic joint repair surgeries. In various examples, the disclosure describes techniques for using machine learning models, such as artificial neural networks, to recommend surgical items for use orthopedic joint repair surgeries. As described herein, a computing system may implement a cascade of machine learning models to recommend surgical items for use in orthopedic joint repair surgeries.

In one example, this disclosure describes a computer-implemented method for determining a suggested implant component to be implanted into a patient during an orthopedic surgery, the method comprising: applying, by a computing system, a first machine learning model to determine a suggested pathology, wherein an input vector of the first machine learning model includes a set of input data, the set of input data including anatomic parameters of the patient; applying, by the computing system, a second machine learning model to determine a suggested surgery, wherein an input vector of the second machine learning model includes an element that indicates the suggested pathology; applying, by the computing system, a third machine learning model to determine the suggested implant component to implant into the patient during the orthopedic surgery, wherein an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery; and outputting, by the computing system, an indication of the suggested implant component.

In another example, this disclosure describes a computing system configured to determine a suggested implant component to be implanted into a patient during an orthopedic surgery, the computing system comprising: a data storage system configured to store parameters of a first machine learning model, a second machine learning model, and a third machine learning model; and one or more processing circuits configured to: apply the first machine learning model to determine a suggested pathology, wherein an input vector of the first machine learning model includes a set of input data, the set of input data including anatomic parameters of the patient; apply the second machine learning model to determine a suggested surgery, wherein an input vector of the second machine learning model includes an element that indicates the suggested pathology; apply the third machine learning model to determine the suggested implant component to implanted into the patient during the orthopedic surgery, wherein an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery; and output an indication of the suggested implant component.

In another example, this disclosure describes a computing system for determining a suggested implant component to be implanted into a patient during an orthopedic surgery, the computing system comprising: means for applying a first machine learning model to determine a suggested pathology, wherein an input vector of the first machine learning model includes a set of input data, the set of input data including anatomic parameters of the patient; means for applying a second machine learning model to determine a suggested surgery, wherein an input vector of the second machine learning model includes an element that indicates the suggested pathology; means for applying a third machine learning model to determine the suggested implant component to implant into the patient during the orthopedic surgery, wherein an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery; and means for outputting an indication of the suggested implant component.

In another example, this disclosure describes a computer-readable data storage medium comprising instructions configured to cause one or more processors to apply a first machine learning model to determine a suggested pathology, wherein an input vector of the first machine learning model includes a set of input data, the set of input data including anatomic parameters of the patient; apply a second machine learning model to determine a suggested surgery, wherein an input vector of the second machine learning model includes an element that indicates the suggested pathology; apply a third machine learning model to determine the suggested implant component to implant into the patient during the orthopedic surgery, wherein an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery; and output an indication of the suggested implant component.

The details of various examples of the disclosure are set forth in the accompanying drawings and the description below. Various features, objects, and advantages will be apparent from the description, drawings, and claims.

Certain examples of this disclosure are described with reference to the accompanying drawings, wherein like reference numerals denote like elements. It should be understood, however, that the accompanying drawings illustrate only the various implementations described herein and are not meant to limit the scope of various technologies described herein. The drawings show and describe various examples of this disclosure. In the following description, numerous details are set forth to provide an understanding of the techniques of this disclosure. However, it will be understood by those skilled in the art that the techniques of this disclosure may be practiced without these details and that numerous variations or modifications from the described examples may be possible.

Orthopedic surgery can involve implanting one or more implant components into a patient to repair or replace a damaged or diseased joint of the patient. Today, surgical planning tools are available that use image data of the diseased or damaged joint to generate an accurate three-dimensional bone model that can be viewed and manipulated preoperatively by the surgeon. These surgical planning tools can enhance surgical outcomes by allowing the surgeon to simulate the orthopedic surgery, select or design implant components that more closely match the contours of the patient's actual bone, and select or design surgical instruments and guide tools that are adapted specifically for repairing the bone of a particular patient. Use of these planning tools may result in generation of a preoperative surgical plan, complete with implant components and surgical instruments that are selected or manufactured for the individual patient.

When planning an orthopedic surgery, the surgeon may have a plethora of implant components from which to select. For instance, in an example where the surgeon is planning a shoulder repair surgery, the surgeon may select from among various stemmed humeral implants, various stemless humeral implants, various wedged glenoid implants, various non-wedged glenoid implants, various glenoid platform implants, various humeral platform implants, and so on. Selecting the right implant components may be the difference between success and failure of the orthopedic surgery. For instance, selecting a glenoid implant component or humeral implant component that is too large or too small, having an incorrect shape, or having one or more other inappropriate aspects, may impact whether the patient recovers a full range of motion. In some instances, incorrect selection of implant components may lead to loosening of the implant components, which may lead to performance of an orthopedic revision surgery. Less experienced surgeons may struggle with how to select the correct implant components among the large number of available implant components available.

This disclosure describes techniques for using artificial intelligence (AI) techniques to suggest implant components for use in orthopedic joint repair surgeries. The AI techniques of this disclosure may be implemented in a surgical planning platform, such as the BLUEPRINT™ software system available from Wright Medical Technology, Inc. There have been several challenges associated with application of AI systems to planning orthopedic surgeries, particularly with respect to shoulder pathology. For example, challenges relate to structuring and training AI systems so that the AI systems are able to provide accurate and valuable suggestions for implant components.

In accordance with one or more techniques of this disclosure, a computing system implements a cascade of machine learning models, such as artificial neural networks (ANNs), to suggest implant components for use in orthopedic joint repair surgeries. For example, a computing system may apply a first machine learning model to determine a suggested pathology. In this example, an input vector of a machine learning model is or includes a set of input data that the machine learning model may use to generate a prediction or other type of output, such as a suggested pathology. The set of input data includes anatomic parameters of the patient. Furthermore, in this example, the computing system may apply a second machine learning model to determine a suggested surgery. In this example, an input vector of the second machine learning model includes an element that indicates the suggested pathology. Additionally, in this example, the computing system may apply a third machine learning model to determine the suggested implant component to implant into the patient during the orthopedic surgery. In this example, an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery. The computing system may output an indication of the suggested implant component. Using this cascade of machine learning models may produce more accurate suggestions for implant components.

<FIG> is a block diagram illustrating an example system <NUM> that implements an AI system for suggesting a pathology of a patient, suggesting a surgery for the patient, and/or suggesting one or more implant component types, in accordance with a technique of this disclosure. As described in this disclosure, computing system <NUM> may use a cascade of machine learning models, such as neural networks or other types of machine learning models, to suggest implant components for use in orthopedic joint repair surgeries.

As shown in the example of <FIG>, system <NUM> includes a computing system <NUM>, a communication network <NUM>, a set of one or more client devices (collectively, "client devices <NUM>"). In other examples, system <NUM> may include more, fewer, or different devices and systems. In the example of <FIG>, computing system <NUM> and client devices <NUM> communicate via communication network <NUM>, such as the Internet.

Computing system <NUM> may include one or more computing devices. Computing system <NUM> and client devices <NUM> may include various types of computing devices, such as server computers, personal computers, smartphones, laptop computers, mixed reality (MR) or augmented reality (AR) visualization devices, virtual reality (VR) visualization devices, and other types of computing devices. In the example of <FIG>, computing system <NUM> includes one or more processing circuits <NUM>, a data storage system <NUM>, and a set of one or more communication interfaces <NUM>. Data storage system <NUM> is configured to store data. Communication interface(s) <NUM> may enable computing system <NUM> to communicate (e.g., wirelessly or using wires) to other computing systems and devices, such as client devices <NUM>. For ease of explanation, this disclosure may describe actions performed by processing circuits <NUM>, data storage system <NUM>, and communication interface(s) <NUM> as being performed by computing system <NUM> as a whole.

Users may use client devices <NUM> to access information generated by computing system <NUM>. Because computing system <NUM> may be remote from client devices <NUM>, users of client devices <NUM> may consider computing system <NUM> to be a cloud-based computing system. In other examples, some or all the functionality of computing system <NUM> may be performed by one or more of client devices <NUM>.

Planning an orthopedic surgery, such as a shoulder arthroplasty, may involve determining a pathology of a patient, selecting an orthopedic surgery to address the pathology, and selecting a set of implant components that will be used during the selected orthopedic surgery. In examples involving a shoulder of a patient, example pathologies may include primary glenoid humeral osteoarthritis (PGHOA), rotator cuff tear arthropathy (RCTA), instability, massive rotator cuff tear (MRCT), rheumatoid arthritis, post-traumatic arthritis, osteoarthritis, and so on.

Example orthopedic surgeries may include a stemless standard total shoulder arthroplasty, a stemmed standard total shoulder arthroplasty, a stemless reverse shoulder arthroplasty, a stemmed reverse shoulder arthroplasty, an augmented glenoid standard total shoulder arthroplasty, an augmented glenoid reverse shoulder arthroplasty, a shoulder hemiarthroplasty, and other types of orthopedic surgeries to repair a patient's shoulder joint. Example types of implant components may include differently sized glenoid protheses, humeral protheses with differently sized stems, prostheses with different shapes or angles, and so on.

The set of implant components that will be used during an orthopedic surgery may vary from patient to patient. Selecting an appropriate set of implant components for a specific patient may be challenging for a surgeon, especially if the surgeon does not perform the orthopedic surgery on a regular basis. Accordingly, it may be desirable to implement an automated process for recommending implant components to a surgeon.

This disclosure describes techniques and systems that implement an automatic process for suggesting implant components to a surgeon. As described herein, computing system <NUM> may implement a cascade of multiple artificial neural networks (ANN) (or other types of machine learning models) to recommend implant components to a surgeon. In some examples, the ANNs may be separately trained. An ANN may include an input layer, an output layer, and one or more hidden layers between the input layer and the output layer. ANNs may also include one or more other types of layers, such as pooling layers. Each layer on an ANN may include a set of artificial neurons, which are frequently referred to simply as "neurons. " The input layer includes a plurality of input layer neurons. Each input layer neuron in the plurality of input layer neurons corresponds to a different input element in an input vector. Outputs of the neurons in the input layer are provided as inputs to a next layer in the ANN. Each neuron of a layer after the input layer may apply a propagation function to the output of one or more neurons of the previous layer to generate an input value to the neuron. The propagation function computes a weighted sum of outputs of predecessor neurons. The following equations are example propagation functions: <MAT> <MAT> In Eq. <NUM> and Eq. <NUM>, pj(t) is an input to a neuron at time t, i an index of the predecessor neurons to the neuron, oi(t) is output of predecessor neuron i at time t, wij is a weight for the predecessor neuron i, and w0j is a bias term.

The neuron may apply an activation function to the input to compute an activation value. Example activation functions may include sigmoid activation functions, rectified linear unit (ReLU) activation functions, a TanH activation function, and so on. The neuron may then apply an output function to the activation value to generate an output value for the neuron. In some examples, the output function is an identity function. The output layer includes a plurality of output layer neurons. An output vector of an ANN includes the output values of the output layer of the ANN. Each output layer neuron in the plurality of output layer neurons corresponds to a different output element in a plurality of output elements. Applying a neural network to input data comprises providing the input data to input layer neurons of the neural network and, for each neuron of the neural network in a layer after the input layer, calculating an output value of the neuron based on output values of predecessor neurons.

As indicated above, computing system <NUM> may implement a cascade of multiple, separately trained ANNs to recommend implant components to a surgeon. The cascade of ANNs may include a first neural network, a second neural network, and at least one third neural network. The first neural network (i.e., a pathology suggestion neural network) suggests a pathology, the second neural network (i.e., a surgery suggestion neural network) suggests a surgery, and at least one third neural network (i.e., at least one component suggestion neural network) suggests one or more implant components for use in an orthopedic surgery on a particular patient. The input vectors of each of the second and third neural networks may include a complete input vector of the first neural network.

Implementing the automatic process for recommending implant components using a cascade of multiple, separately trained neural networks has been found to improve the accuracy and the training speed of an automatic process for suggesting implant components to a surgeon, relative to a single neural network that takes the same input vector as the first neural network and suggests implant components. In other words, for the same input vector, the cascade of neural networks may be more efficient to train and may produce better results than a single neural network. Moreover, providing the suggested pathology to the second and third neural networks and providing the suggested surgery to the third neural networks may improve the accuracy of suggestions produced by those neural networks.

In the example of <FIG>, data storage system <NUM> may include pathology suggestion neural network (NN) parameters <NUM>, surgery suggestion neural network parameters <NUM>, and component suggestion neural network parameters <NUM>. Parameters <NUM> include weights for neurons of the pathology suggestion neural network. Parameters <NUM> include weights for neurons of the surgery suggestion neural network. Parameters <NUM> include weights for neurons of the component suggestion neural network. Parameters <NUM>, <NUM>, <NUM> may also include other values, such as bias values, that control the output of the pathology suggestion neural network, the surgery suggestion neural network, and the component suggestion neural network.

As noted above, the pathology suggestion neural network, the surgery suggestion neural network, and the component suggestion neural network may be separately trained. In other words, each of these neural networks goes through a training process that is independent of the training processes used to train other ones of these neural networks. For instance, computing system <NUM> may train the pathology suggestion neural network, the surgery suggestion neural network, and the component suggestion neural network separately from each other. When computing system <NUM> trains the pathology suggestion neural network, computing system <NUM> may perform a training process that updates the values of weights of the pathology suggestion neural network based on error values indicative of differences between likelihood values output by the pathology suggestion neural network for various pathologies and target output values for the pathologies. Similarly, computing system <NUM> may perform a training process that updates the values of weights of the surgery suggestion neural network based on error values indicative of differences between likelihood values output by the surgery suggestion neural network for various surgeries and target output values for the surgeries. Likewise, computing system <NUM> may perform a training process that updates the values of weights of a component suggestion neural network based on error values indicative of differences between likelihood values output by the component suggestion neural network for various implant components and target output values for the implant components.

In the example of <FIG>, data storage system <NUM> may store training data <NUM>. As described in greater detail elsewhere in this disclosure, computing system <NUM> may use training data <NUM> to train the pathology suggestion neural network, the surgery suggestion neural network, and the component suggestion neural network. Training data <NUM> include training datasets regarding past orthopedic surgery cases. In some examples, each respective training dataset corresponds to a different training data patient in a plurality of training data patients and comprises a respective training input vector and a respective target output vector.

For each respective training dataset, the training input vector of the respective training dataset comprises a value for each element of a plurality of input elements. For each respective training dataset, the target output vector of the respective training dataset comprises a value for each element of the plurality of output elements. In this example, computing system <NUM> may use the plurality of training datasets to train the pathology suggestion neural network, surgery suggestion neural networks, and component suggestion neural networks.

<FIG> is a conceptual block diagram illustrating an example system for suggesting a pathology, surgery, and implant components for a patient, in accordance with one or more aspects of this disclosure. In the example of <FIG>, computing system <NUM> implements a pathology suggestion neural network <NUM>, a surgery suggestion neural network <NUM>, and one or more component suggestion neural networks <NUM>.

Pathology suggestion neural network <NUM> is configured to suggest a pathology based on a set of input data <NUM> for a patient. For instance, in one example, the suggested pathologies may include one or more of primary glenoid humeral osteoarthritis (PGHOA), rotator cuff tear arthropathy (RCTA) instability, massive rotator cuff tear (MRCT), rheumatoid arthritis, post-traumatic arthritis, and osteoarthritis.

Pathology suggestion neural network <NUM> has an input layer, an output layer, and one or more hidden layers between the input layer and the output layer. For instance, in one example, pathology suggestion neural network <NUM> has two hidden layers between the input layer and the output layer. Each layer of pathology suggestion neural network <NUM> includes a plurality of artificial neurons. For instance, a first hidden layer may include <NUM> artificial neurons and a second hidden layer may include <NUM> artificial neurons. The artificial neurons in the input layer of pathology suggestion neural network <NUM> may include a respective artificial neuron for each element of an input vector of pathology suggestion neural network <NUM>. The input vector of pathology suggestion neural network <NUM> may include each element of input data <NUM>.

The output layer of pathology suggestion neural network <NUM> may include a plurality of artificial neurons. The artificial neurons in the output layer of pathology suggestion neural network <NUM> include a respective artificial neuron that outputs a value of a respective element of an output vector of pathology suggestion neural network <NUM>. Each element of the output vector of pathology suggestion neural network <NUM> may correspond to a different potential pathology. Thus, different neurons in the output layer of pathology suggestion neural network <NUM> correspond to different pathologies in a plurality of pathologies. The plurality of pathologies may include primary glenoid humeral osteoarthritis, rotator cuff tear arthropathy instability, massive rotator cuff tear, rheumatoid arthritis, post-traumatic arthritis, osteoarthritis, and so on. In some examples, for each element of the output vector of pathology suggestion neural network <NUM>, the value of the element indicates a likelihood that the values in the input vector of pathology suggestion neural network <NUM> correspond to the potential pathology. For instance, the value of the element may indicate a probability or a value corresponding to a level of confidence that the values in the input vector of pathology suggestion neural network <NUM> correspond to the potential pathology. Computing system <NUM> may determine that the suggested pathology is the potential pathology with the greatest likelihood. In some examples, computing system <NUM> may also output indications of the likelihoods of the potential pathologies, including the suggested pathology and, in some examples, the other potential pathologies.

Surgery suggestion neural network <NUM> is configured to suggest a surgery based on the suggested pathology and input data <NUM> for the patient. For instance, in one example, the suggested surgery may be a type of shoulder surgery. In this example, the suggested surgery may be a stemless standard total shoulder arthroplasty, a stemmed standard total shoulder arthroplasty, a stemless reverse shoulder arthroplasty, a stemmed reverse shoulder arthroplasty, an augmented glenoid standard total shoulder arthroplasty, or an augmented glenoid reverse shoulder arthroplasty. In other examples, the suggested surgery may be a standard shoulder arthroplasty or a reverse shoulder arthroplasty.

Surgery suggestion neural network <NUM> has an input layer, an output layer, and one or more hidden layers between the input layer and the output layer. For instance, in one example, surgery suggestion neural network <NUM> has two hidden layers between the input layer and the output layer. The input layer of surgery suggestion neural network <NUM> may include a plurality of artificial neurons. The artificial neurons in the input layer of surgery suggestion neural network <NUM> include a respective artificial neuron for each element of an input vector of surgery suggestion neural network <NUM>. The input vector of surgery suggestion neural network <NUM> may include each element of input data <NUM> and an element indicating the suggested pathology. Thus, the determination of the suggested pathology may be based in part on the suggested pathology of the patient.

The output layer of surgery suggestion neural network <NUM> may include a plurality of artificial neurons. The artificial neurons in the output layer of surgery suggestion neural network <NUM> include a respective artificial neuron that outputs a value of a respective element of an output vector of surgery suggestion neural network <NUM>. Each element of the output vector of surgery suggestion neural network <NUM> may correspond to a different potential surgery. For instance, a first element of the output vector may correspond to a standard shoulder arthroplasty and a second element of the output vector may correspond to a reverse shoulder arthroplasty. Thus, different neurons in an output layer of surgery suggestion neural network <NUM> may correspond to different orthopedic surgeries in a plurality of orthopedic surgeries. The plurality of orthopedic surgeries includes two or more of: anatomical total shoulder arthroplasty, reverse total shoulder arthroplasty, or shoulder hemiarthroplasty.

In some examples, for each element of the output vector of surgery suggestion neural network <NUM>, the value of the element indicates a likelihood that the values in the input vector of surgery suggestion neural network <NUM> correspond to the potential surgery. For instance, the value of the element may indicate a probability or a value corresponding to a level of confidence that the values in the input vector of surgery suggestion neural network <NUM> correspond to the potential surgery. Computing system <NUM> may determine that the suggested surgery is the potential surgery with the greatest likelihood. In some examples, computing system <NUM> may also output indications of the likelihoods of the potential surgeries, including the suggested surgery and, in some examples, the other potential surgeries.

As noted above, computing system <NUM> may implement one or more component suggestion neural networks <NUM>. Each of component suggestion neural networks <NUM> may correspond to a different implant component type. In this disclosure, an implant component type is a set of implant components that fulfill the same functional role during or after the orthopedic surgery. By using different component suggestion neural networks for different implant component types, each of the component suggestion neural networks may be trained more directly to select an appropriate implant component within an implant component type, rather than training a single neural network to concurrently identify the most appropriate implant components within a plurality of implant component types. Each of component suggestion neural networks <NUM> is configured to suggest one or more implant components within the corresponding implant component type. Each of component suggestion neural networks <NUM> may receive, as input, input data <NUM> for the patient, data indicating the suggested pathology, and data indicating the suggested surgery. In some examples, component suggestion neural networks <NUM> may receive, as input, input data in addition to input data <NUM>. For example, component suggestion neural networks <NUM> may receive input data indicating additional anatomic parameters, such as one or more of humeral head medial offset, humeral head lateral offset, internal diameter of diaphysis, external diameter of diaphysis, and so on.

Thus, in some examples, computing system <NUM> may apply a first component suggestion neural network to determine a first suggested implant component to be implanted into a patient during an orthopedic surgery and may also apply a second component suggestion neural network to determine a second suggested implant component to be implanted into the patient during the orthopedic surgery. In such examples, the second component suggestion neural network is separate from the first component suggestion neural network. Furthermore, in such examples, the first suggested implant component belongs to a first implant component type and the second suggested implant component belongs to a second implant component type. In such examples, the first and second suggested implant components may be designed for attachment to different bones of the patient. For instance, in an example where the orthopedic surgery is a shoulder repair surgery, the first suggested implant component may be a glenoid implant and the second suggested implant component may be a humeral implant component.

As mentioned above, an implant component type is a set of implant components that fulfill the same functional role during or after the orthopedic surgery. For instance, in an example involving shoulder repair surgery, a first one of component suggestion neural networks <NUM> may correspond to a set of humeral implant components, a second one of component suggestion neural networks <NUM> may correspond to a set of glenoid implant components, a third one of component suggestion neural networks <NUM> may correspond to a set of bone grafts to be grafted between the patient's glenoid and the glenoid implant, and so on. In this example, the set of humeral implant components may include various implant components that are to be attached to the patient's humerus. For instance, the set of humeral implant components may include a set of stemmed humeral implants and a set of stemless humeral implants. The set of stemmed humeral implants may include stemmed humeral implants having different sizes and shapes. Likewise, the set of stemless humeral implants may include stemless humeral implants having different sizes and shapes.

The set of glenoid implant components may include various implant components that are to be attached to the patient's glenoid. For instance, the set of glenoid implant components may include a set of wedged-platform glenoid implants, a set of non-wedged-platform glenoid implants, a set of pegged glenoid implants, and a set of keeled glenoid implants. The set of wedged-platform glenoid implants may include wedged-platform glenoid implants having various sizes and shapes. The set of non-wedged-platform glenoid implants may include non-wedged-platform glenoid implants having various sizes and shapes. Platform glenoid implants are glenoid implants that may serve as platforms for either cup-shaped glenoid implant components in anatomical total shoulder arthroplasties or glenospheres for reverse total shoulder arthroplasties. Each of these sets within the set of glenoid implant components may include glenoid implants having various sizes and shapes.

Different sizes and shapes of implant components (e.g., humerus implant components and glenoid implant components) may be used for different patients. For instance, in a standard total shoulder arthroplasty, a surgeon may attach a glenoid prothesis to a patient's scapula. One side of the glenoid prothesis is in contact with the patient's scapula and an opposite side of the glenoid prothesis defines a cup in which a head of a humeral prothesis may slide. Because different patients may have differently shaped scapulae and/or different types of bone loss, the scapula-facing sides of glenoid protheses may need to have different shapes. For instance, the scapula-facing sides of glenoid protheses may need to have no wedge or wedges of different thicknesses in order to accommodate for different amounts of asymmetric bone loss. Accordingly, the recommended implant component may be a glenoid prothesis having a correct shape for a particular patient. In some examples, the recommended implant component may be further customized.

Each of component suggestion neural networks <NUM> has an input layer, an output layer, and one or more hidden layers between the input layer and the output layer. For instance, in one example, each of component suggestion neural networks <NUM> has two hidden layers between the input layer and the output layer. The input layer of each of component suggestion neural networks <NUM> may include a plurality of artificial neurons. For each of component suggestion neural networks <NUM>, the artificial neurons in the input layer of the component suggestion neural network includes a respective artificial neuron for each element of an input vector of the component suggestion neural network.

For each of component suggestion neural networks <NUM>, the input vector of the component suggestion neural network may include each element of input data <NUM>, an element indicating the suggested pathology, and an element indicating the suggested surgery. The output layer of each of component suggestion neural networks <NUM> may include a plurality of artificial neurons. The artificial neurons in the output layer of a component suggestion neural network includes a respective artificial neuron that outputs a value of a respective element of an output vector of the component suggestion neural network. Each element of the output vector of a component suggestion neural network may correspond to a different implant component. For instance, a first element of the output vector may correspond to a first type of stemmed humeral implant, a second element of the output vector may correspond to a second type of stemmed humeral implant, a third element of the output vector may correspond to a first type of stemless humeral implant, a fourth element of the output vector may correspond to a second type of stemless humeral implant, and so on. Thus, different neurons in the output layer of a component suggestion neural network may correspond to different implant components. In some examples, different output neurons of the component suggestion neural network may correspond to different combinations of sizes and shapes for one or more different types of implant components. In some examples, for each element of the output vector of a component suggestion neural network, the value of the element indicates a likelihood that the corresponding implant component should be used, given values in the input vector of the component suggestion neural network.

Because the input vectors of component suggestion neural networks <NUM> include elements indicating the suggested surgery, component suggestion neural networks <NUM> may assign comparatively low likelihood values (e.g., <NUM>) to implant components that are incompatible with the suggested surgery. For example, cup-shaped glenoid implants are incompatible with a reverse total shoulder arthroplasty. Accordingly, in this example, a component suggestion neural network corresponding to glenoid implants may be trained to assign a likelihood value of <NUM> to the cup-shaped glenoid implants when the suggested surgery is a reverse total shoulder arthroplasty. Furthermore, because the input vectors of component suggestion neural networks <NUM> include elements indicating the suggested pathology, the component suggestion neural networks <NUM> may be trained to assign low likelihood values to implant components that are unlikely to be used with the suggested pathology. For example, a non-wedged glenoid implant component may be unlikely to be used when the suggested pathology involves erosion of one rim of the patient's glenoid.

Although the above examples have described component recommendation neural networks corresponding to different implant component types, computing system <NUM> may implement component recommendation neural networks corresponding to a two or more implant component types or all implant component types.

In some examples, the set of input data <NUM> provided to pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM> may include the same data. Thus, surgery suggestion neural network <NUM> may have the same input as pathology suggestion neural network <NUM>, plus the suggested pathology. Similarly, component suggestion neural networks <NUM> may have the same input as surgery suggestion neural network <NUM>, plus the suggested surgery. Reusing input data <NUM> may simplify the process of training and applying pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM>. In other examples, the computing system may provide different sets of input data pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM>.

The set of input data <NUM> may include various types of data. For instance, in some examples, the set of input data <NUM> may include data related to anatomic parameters, bony landmark metrics, data related to bony density, and data related to clinical measurements. Anatomic parameters may include indications of the presence of physical anatomic features of the patient or measurements of physical anatomic features of the patient. Examples of anatomic parameters may include parameters corresponding to at least one of: glenoid wear orientation, glenoid bone loss, humeral bone loss, a Hill-Sachs lesion, or a Bankart lesion. In one such example, the clinical measurements may include measurements of retroversion, subluxation, orientation, and so on, or various bones or joints. Bony landmark metrics may be numerical values characterizing distances or angles between landmarks on one or more bones of the patient. Examples of bony landmark metrics include the distance between the patient's humerus and glenoid, a distance between the patient's acromion and humeral head, a glenoid coracoid process angle, an infra-glenoid tubercle angle, and so on. Data related to clinical measurements may include the patient's body mass index (BMI), patient activities, patient profiles, scapula critical shoulder sagittal angle, scapula acromion index, and so on. The anatomic parameters, bony landmark metrics, data related to bony density, data related to clinical measurements, and/or other types of data may be generated or obtained in a variety of ways, including measurements or functions of measurements obtained from medical images, CT models, medical records, and so on.

In some examples, the set of input data <NUM> may include one or more of the following:.

In some examples, input data <NUM> may include information (e.g., in combination with zero or more other example types of input data described herein) based on a rotator cuff assessment of the patient. For instance, input data <NUM> may include information, alone or in combination with morphological inputs described above, regarding fatty infiltration of the rotator cuff muscles, atrophy of the rotator cuff muscles, and/or other information about the patient's rotator cuff muscles. In some examples, the information regarding the patient's rotator cuff may be expressed in terms of a class in a shoulder pathology classification system, such as a Warner classification system or a Goutalier classification system.

<FIG> illustrates an example neural network <NUM> that may be implemented by computing system <NUM> with the system of <FIG>. Pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, or component suggestion neural networks <NUM> may be implemented using a neural network, such as neural network <NUM>. In the example of <FIG>, neural network <NUM> includes an input layer <NUM>, an output layer <NUM>, and one or more hidden layers <NUM> between input layer <NUM> and output layer <NUM>. In the example of <FIG>, neurons are represented as circles. Although in the example of <FIG>, each layer is shown as including six neurons, layers in neural network <NUM> may include more or fewer neurons. Furthermore, although neural network <NUM> is shown in <FIG> as being a fully connected network, neural network <NUM> may have a different architecture. For instance, neural network <NUM> may not be a fully connected network, may have one or more convolutional layers, or may otherwise have a different architecture from that shown in <FIG>.

In some examples, neural network <NUM> can be or can include one or more artificial neural networks (also referred to simply as neural networks). A neural network can include a group of connected nodes, which also can be referred to as neurons or perceptrons. A neural network can be organized into one or more layers. Neural networks that include multiple layers can be referred to as "deep" networks. A deep network can include an input layer, an output layer, and one or more hidden layers positioned between the input layer and the output layer. The nodes of the neural network can be connected or non-fully connected.

Neural network <NUM> can be or can include one or more feed forward neural networks. In feed forward networks, the connections between nodes do not form a cycle. For example, each connection can connect a node from an earlier layer to a node from a later layer.

In some instances, neural network <NUM> can be or can include one or more recurrent neural networks. In some instances, at least some of the nodes of a recurrent neural network can form a cycle. Recurrent neural networks can be especially useful for processing input data that is sequential in nature. In some instances, a recurrent neural network can pass or retain information from a previous portion of the input data sequence to a subsequent portion of the input data sequence through the use of recurrent or directed cyclical node connections.

In some examples, sequential input data can include time-series data (e.g., sensor data versus time or imagery captured at different times). For example, a recurrent neural network can analyze sensor data versus time to detect or predict a swipe direction, to perform handwriting recognition, etc. Sequential input data may include words in a sentence (e.g., for natural language processing, speech detection or processing, etc.); notes in a musical composition; sequential actions taken by a user (e.g., to detect or predict sequential application usage); sequential object states; etc. Example recurrent neural networks include long short-term (LSTM) recurrent neural networks; gated recurrent units; bi-direction recurrent neural networks; continuous time recurrent neural networks; neural history compressors; echo state networks; Elman networks; Jordan networks; recursive neural networks; Hopfield networks; fully recurrent networks; sequence-to- sequence configurations; etc..

In some implementations, neural network <NUM> can be or can include one or more convolutional neural networks. In some instances, a convolutional neural network can include one or more convolutional layers that perform convolutions over input data using learned filters. Filters can also be referred to as kernels. Convolutional neural networks can be especially useful for vision problems such as when the input data includes imagery such as still images or video.

Neural network <NUM> may be or include one or more other forms of artificial neural networks such as, for example, deep Boltzmann machines; deep belief networks; stacked autoencoders; etc. Any of the neural networks described herein can be combined (e.g., stacked) to form more complex networks.

In the example of <FIG>, an input vector <NUM> includes a plurality of input elements. Each of the input elements may be a numerical value. Input layer <NUM> includes a plurality of input layer neurons. Each input layer neuron in the plurality of input layer neurons included in input layer <NUM> may correspond to a different input element in a plurality of input elements. In other words, input layer <NUM> may include a different neuron for each input element in input vector <NUM>.

Furthermore, in the example of <FIG>, an output vector <NUM> includes a plurality of output elements. Each of the output elements may be a numerical value. Output layer <NUM> includes a plurality of output layer neurons. Each output layer neuron in the plurality of output layer neurons corresponds to a different output element in the plurality of output elements. In other words, each output layer neuron in output layer <NUM> corresponds to a different output element in output vector <NUM>.

Input vector <NUM> may include a wide variety of information. For example, input vector <NUM> may include any of the types of input data discussed elsewhere in this disclosure. For instance, in examples where pathology suggestion neural network <NUM> is implemented using neural network <NUM>, input vector <NUM> may include input data <NUM>. In examples where surgery suggestion neural network <NUM> is implemented using neural network <NUM>, input vector <NUM> may include input data <NUM> and data indicating a suggested pathology. In examples where one or more of component suggestion neural networks <NUM> are implemented using neural network <NUM>, input vector <NUM> may include input data <NUM>, data indicating a suggested pathology, and data indicating a suggested surgery.

<FIG> is a flowchart illustrating an example operation for determining a suggested pathology, suggested surgery, and suggested implant component type, in accordance with one or more aspects of this disclosure. In the example of <FIG>, computing system <NUM> may train pathology suggestion neural network <NUM> (<NUM>). Additionally, the computing system may train surgery suggestion neural network <NUM> (<NUM>). The computing system may also train component suggestion neural networks <NUM> (<NUM>). A discussion of training pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM> is provided elsewhere in this disclosure.

Furthermore, in the example of <FIG>, computing system <NUM> may obtain input data <NUM> for a patient (<NUM>). For instance, computing system <NUM> may retrieve all or part of input data <NUM> from an electronic medical record or other electronic storage system. In some examples, computing system <NUM> may automatically generate one or more parts of input data <NUM> based on analysis of medical imaging data. In some examples, computing system <NUM> may receive indications of user input of one or more parts of input data <NUM>. In some examples, computing system <NUM> may obtain one or more parts of input data <NUM> from client devices <NUM>.

Computing system <NUM> may then apply pathology suggestion neural network <NUM> to input data <NUM> to determine a suggested pathology for the patient (<NUM>). Computing system <NUM> may apply surgery suggestion neural network <NUM> to input data <NUM> and data indicating the suggested pathology to determine a suggested surgery for the patient (<NUM>). Computing system <NUM> may apply one of component suggestion neural networks <NUM> to input data <NUM>, data indicating the suggested pathology, and data indicating the suggested surgery to determine a suggested implant component type for the patient (<NUM>).

Computing system <NUM> may output an indication of the suggested pathology, the suggested surgery, and/or a suggested implant component (<NUM>). Computing system <NUM> may output the indication of the suggested pathology, the suggested surgery, and suggested implant component in one or more of various ways. For example, computing system <NUM> may output the indication of at least one of the suggested pathology, the suggested surgery, or the suggested implant component for display on a display screen of computing system <NUM>. In some examples, computing system <NUM> may output the indication of at least one of the suggested pathology, the suggested surgery, or the suggested implant component to one or more of client devices <NUM> (<FIG>). In such examples, client devices <NUM> may output an indication of the suggested pathology, the suggested surgery, or the suggested implant component for display. In other examples, computing system <NUM> or client devices <NUM> may output audible indications of the suggested pathology, the suggested surgery, and/or the suggested implant component.

The indication of the suggested pathology may include text describing or naming the suggested pathology, a numerical index corresponding to the suggested pathology, or other data that identifies the suggested pathology. The indication of the suggested surgery may include text describing or naming the suggested surgery, a numerical index corresponding to the suggested surgery, or other data that identifies the suggested surgery. The indication of the suggested implant component may include text describing or naming the suggested implant, a part number of the suggested implant, or other data that identifies the suggested implant component.

As noted above, computing system <NUM> may train pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM>. When training a neural network such as pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, or component suggestion neural networks <NUM>, computing system <NUM> may perform multiple iterations of a training process for the neural network. During each iteration of the training process for the neural network, computing system <NUM> may provide a training dataset as input to the neural network. Computing system <NUM> may apply the neural network to the training dataset to generate an output vector corresponding to the training dataset. Computing system <NUM> may then apply a cost function (i.e., a loss function) to determine a cost value based on the output vector of the neural network and a target vector for the training dataset. Computing system <NUM> may apply one of various cost functions to determine the cost value. For example, computing system <NUM> may apply a mean-squared error function or another type of cost function to determine the cost value. After determining the cost value, computing system <NUM> may apply a backpropagation algorithm that may update the weights of inputs to individual neurons in the neural network.

As noted elsewhere in this disclosure, each output layer neuron in the plurality of output layer neurons corresponds to a different output element in a plurality of output elements. In examples where the neural network is pathology suggestion neural network <NUM>, each output layer neuron may correspond to a different type of shoulder pathology. In examples where the neural network is surgery suggestion neural network <NUM>, each output layer neuron may correspond to a different type of shoulder surgery. In examples where the neural network is one of component suggestion neural networks <NUM>, each output layer neuron may correspond to a different type of implant component. Each output element in the plurality of output elements of the neural network corresponds to a different element pathology in an output vector. In this example, computing system <NUM> may generate a plurality of training datasets from past shoulder surgery cases. Each respective training dataset corresponds to a different training data patient in a plurality of training data patients and comprises a respective training input vector and a respective target output vector.

For each respective training dataset, the training input vector of the respective training dataset comprises a value for each element of the plurality of input elements (e.g., each element of input data <NUM>). For each respective training dataset, the target output vector of the respective training dataset comprises a value for each element of the plurality of output elements. In this example, computing system <NUM> may use the plurality of training datasets to train the neural network. Additionally, in this example, computing system <NUM> may obtain a current input vector that corresponds to a current patient. The computing system may apply pathology suggestion neural network <NUM> to the current input vector to generate a current output vector. Computing system <NUM> may then determine, based on the current output vector, a classification of a shoulder condition of the current patient, which also may be referred to as a shoulder classification.

In accordance with a technique of this disclosure, computing system <NUM> trains pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and each of component suggestion neural networks <NUM> separately. For example, computing system <NUM> may train pathology suggestion neural network <NUM> through a process that reduces differences between output of pathology suggestion neural network <NUM> and target output values specifying target values for pathologies. In this example, computing system <NUM> may train surgery suggestion neural network <NUM> through a process that reduces differences between output of surgery suggestion neural network <NUM> and target output values for surgeries. Furthermore, in this example, computing system <NUM> may train each of component suggestion neural networks <NUM> through a process that reduces differences between output of the component suggestion neural network and target output values for an implant component type.

As noted above, computing system <NUM> may use a plurality of training datasets to train a neural network, such as pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM>. Each respective training dataset may correspond to a different training data patient in a plurality of training data patients. For instance, a first training dataset may correspond to a first training data patient, a second training dataset may correspond to a second training data patient, and so on. A training dataset may correspond to a training data patient in the sense that the training dataset may include information regarding the patient. The training data patients may be real patients. In some examples, the training data patients may include simulated patients.

Each respective training dataset may include a respective training input vector and a respective target output vector. For each respective training dataset, the training input vector of the respective training dataset comprises a value for each element of the plurality of input elements. In other words, the training input vector may include a value for each input layer neuron of the neural network. For each respective training dataset, the target output vector of the respective training dataset may comprise a value for each element of the plurality of output elements. In other words, the target output vector may include a value for each output layer neuron of the neural network.

In some examples, the values in a target output vector are binary (e.g., <NUM> or <NUM>). For instance, in a target output vector used with pathology suggestion neural network <NUM>, the target output vector may indicate <NUM> for all pathologies except for a pathology that a surgeon identified for the corresponding training data patient, which may have a value of <NUM>. Likewise, in a target output vector used with surgery suggestion neural network <NUM>, the target output vector may indicate <NUM> for all surgeries except for a surgery that a surgeon identified for treating the corresponding training data patient, which may have a value of <NUM>. In a target output vector used with a component suggestion neural network, the target output vector may indicate <NUM> for all implant components except for an implant component that a surgeon identified for the corresponding training data patient, which may have a value of <NUM>.

In some examples, the values in a target output vector are confidence values. Such confidence values may, in turn, be based on levels of confidence expressed by one or more trained healthcare professionals, such as orthopedic surgeons. For instance, a trained healthcare professional may be given the information in the training input vector of a training dataset (or information from which the training input vector of the training dataset is derived) and may be asked to provide a confidence level that the training data patient has a pathology belonging to each pathology in a set of pathologies. For instance, in an example where the set of pathologies includes PGHOA, RCTA instability, MRCT, and rheumatoid arthritis, the healthcare professional may indicate that their level of confidence that the training data patient's pathology is PGHOA is <NUM> (meaning she does not at all believe that the training data patient's pathology is PGHOA), indicate that their level of confidence that the training data patient's pathology is RCTA instability is <NUM>; indicate that their level of confidence that the training data patient's pathology is MRCT is <NUM> (meaning they are fairly confident that the training data patient's pathology is MRCT); indicate that their level of confidence that the training data patient's pathology is rheumatoid arthritis is <NUM> (meaning she believes that there is a smaller chance that the training data patient's pathology is rheumatoid arthritis). Similar examples may be provided with respect to surgeries and implant components. In some examples, computing system <NUM> may apply the inverse of the confidence value function to the confidence values provided by the healthcare professional to generate values to include in the target output vector. In some examples, the confidence values provided by the healthcare professional are the values included in the target output vector.

Different healthcare professionals may have different levels of confidence that the same training data patient has a pathology belonging to each pathology in a plurality of pathologies. Likewise, different healthcare professionals may have different levels of confidence that the same training data patient should have the same surgery. Similarly, different healthcare professionals may have different levels of confidence that the same training data patient should have a particular implant component in a set of implant components. Hence, in some examples, the confidence values upon which the values in a target output vector are based may be averages or otherwise determined from the confidence levels provided by multiple healthcare professionals.

In some such examples, the confidence levels of some healthcare professionals may be given greater weight in a weighted average of confidence levels than the confidence levels of other healthcare professionals. For instance, the confidence levels of a preeminent orthopedic surgeon may be given greater weight than the confidence levels of other orthopedic surgeons. In another example, the confidence levels of healthcare professionals or training data patients in particular regions or hospitals may be given greater weight than healthcare professionals or training data patients from other regions or hospitals. Advantageously, such weighted averaging may allow the neural network (e.g., pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, component suggestion neural networks <NUM>) to be tuned according to various criteria and preferences.

For instance, a healthcare professional may prefer to use a neural network that has been trained such that confidence levels are weighted in particular ways. In some examples where training datasets include training datasets based on a healthcare professional's own cases, the healthcare professional (e.g., an orthopedic surgeon) may prefer to use a neural network trained using training datasets where the healthcare professional's own cases are weighted more heavily or exclusively using the healthcare professional's own cases. In this way, the neural network may generate output tailored to the healthcare professional's own style of practice. For instance, the neural network may be more likely to output indicates of surgeries or implant components preferred by the healthcare professional. Moreover, healthcare professionals and patients may have difficulty trusting the output of a computing system. Accordingly, in some examples, computing system <NUM> may provide information indicating that the neural network was trained to emulate the decisions of the healthcare professionals themselves and/or particularly trusted orthopedic surgeons.

In some examples, the confidence levels of different healthcare professionals for the same training data patient may be used in generating different training datasets. For instance, the confidence levels of a first healthcare professional with respect to a particular training data patient may be used to generate a first training dataset and the confidence levels of a second healthcare professional with respect to the same training data patient may be used to generate a second training dataset.

Furthermore, in some examples, computing system <NUM> may provide confidence values for output to one or more users. For instance, computing system <NUM> may provide the confidence values to client devices <NUM> for display to one or more users. In this way, the one or more users may be better able to understand how computing system <NUM> may have arrived at the suggested pathology, suggested surgery, and suggested implant components.

In some examples, as part of generating the training datasets, computing system <NUM> may select the plurality of training datasets from a database of training datasets based on one or more training dataset selection criteria. In other words, computing system <NUM> may exclude certain training datasets from the training process of the neural network if the training datasets do not satisfy the training dataset selection criteria.

There may be a wide variety of training dataset selection criteria. For instance, in one example, the one or more training data set selection criteria may include which surgeon operated on the plurality of training data patients. In some examples, the one or more training dataset selection criteria include a geographic region in which the training data patients live. In some examples, the one or more training dataset selection criteria include a geographic region associated with one or more surgeons (e.g., a region in which the one or more surgeons practice, live, were licensed, were trained, etc.).

In some examples, the one or more training dataset selection criteria include postoperative health outcomes of the training data patients. In such examples, the postoperative health outcomes of the training data patients may include one or more of: postoperative range of motion, presence of postoperative infection, or postoperative pain. Thus, in such examples, the training datasets upon which the neural network is trained may exclude training datasets where adverse health outcomes occurred.

Additional training datasets may be added to the database over time and computing system <NUM> may use the additional training datasets to train pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM>. Thus, pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, and component suggestion neural networks <NUM> may continue to improve over time as more training datasets are added to training data <NUM>.

Although the techniques of this disclosure have been described with respect to a cascade of artificial neural networks, specific examples of this disclosure may be implemented in which one or more of the artificial neural networks are replaced by other types of machine learning models, such as support vector machines (SVMs) or random forest models. For instance, in the example of <FIG>, one or more of pathology suggestion neural network <NUM>, surgery suggestion neural network <NUM>, or one or more of component suggestion neural network(s) <NUM> may be replaced with another type of machine learning model that performs a similar function.

When a machine learning model is implemented using an SVM, training data <NUM> (<FIG>) includes a set of samples. Each sample of training data <NUM> includes an input vector and a target classification. The input vector includes a set of features. The features in the input vector may include data for a specific patient, and in some examples, may also include other types of data regarding the specific patient. The target classification is a pre-determined classification associated with the specific patient.

Furthermore, computing system <NUM> may determine a set of weights w based on training data <NUM>. The set of weights w includes a weight for each feature of the input vector. Furthermore, computing system <NUM> may determine whether an input vector belongs to a first classification or a second classification, and hence, whether a patient associated with the input vector is associated with the first classification or the second classification, by applying the following formula: <MAT> In the equation above, x denotes the input vector, b denotes a bias term, and ŷ is an index of the class.

Furthermore, in examples where computing system <NUM> implements an SVM algorithm, computing system <NUM> may determine the weights w and the bias term b using linear SVM classification or nonlinear SVM classification. Training an SVM classifier entails determining values of w and b that maximize a margin between two lines (i.e., support vectors) that are parallel to a linear decision boundary while avoiding or limiting margin violations (i.e., input vectors that are between the support vectors). In some examples, computing system <NUM> may use a stochastic gradient descent algorithm, a sequential minimal optimization algorithm, or another algorithm to determine the values of w and b.

In some examples, to use the sequential minimal optimization algorithm, computing system <NUM> may solve the quadratic programming problem expressed by: <MAT> subject to: <MAT> and <MAT>.

In the equations above, n indicates a number of samples in the dataset, yi and yj indicate target classifications of the samples, xi and xj indicate input vectors of the samples, αi and αj are Lagrange multipliers, K(xi, xj) is a kernel function, and C is a SVM hyperparameter. Computing system <NUM> may use various kernel functions as K(xi, xj), such as a linear kernel function, a polynomial kernel function, a Gaussian Radial Basis Function (RBF) kernel function, a sigmoid kernel function, or another type of kernel function.

To solve the quadratic programming problem expressed above, computing system <NUM> may find a Lagrange multiplier α<NUM> that violates the Karush-Kuhn-Tucker (KKT) conditions for the optimization problem. Computing system <NUM> may then determine a second Lagrange multiplier α<NUM> and optimize the pair (α<NUM>, α<NUM>). Computing system <NUM> may repeat these steps until convergence. When the Lagrange multipliers satisfy the KKT conditions within a tolerance (e.g., a user-defined tolerance), the sequential minimal optimization problem is solved. Computing system <NUM> may determine the set of weights w and the bias term b as: <MAT> and <MAT>.

In another example, computing system <NUM> may implement a machine learning model using a random forest algorithm. In this example, computing system <NUM> may generate a plurality of decision trees using randomly selected samples from training data <NUM>. In other words, for each decision tree in the plurality of decision trees, computing system <NUM> may generate a tree-specific training dataset that is a subset of the samples in training data <NUM>. In some examples, computing system <NUM> may use bagging or pasting to select the samples in the tree-specific training datasets for the plurality of decision trees. In examples where the classifier algorithm is implemented using a random forest algorithm, each sample of training data <NUM> includes an input vector and a target classification. The input vector includes a set of features. The features in the input vector may include bony landmark data for a specific patient, and in some examples, may also include other types of data regarding the specific patient. The target classification is a pre-determined classification associated with the specific patient.

Furthermore, in examples where the classifier algorithm is implemented using a random forest algorithm, each of the decision trees outputs a proposed classification associated with the patient. Computing system <NUM> may then select one of the proposed classifications as the classification associated with the patient. For example, computing system <NUM> may use a voting system in which computing system <NUM> selects, as the classification associated with the patient, a most common one of the proposed classifications.

In examples where the classifier algorithm is implemented using a random forest algorithm, computing system <NUM> may generate the decision trees using one or more of a variety of decision tree training algorithms. For instance. in some examples, computing system <NUM> generates the decision tress using a Classification and Regression Tree (CART) algorithm. To perform the CART algorithm, computing system <NUM> may split the tree-specific training data subset into two subsets using a single feature k and a threshold tk. To select feature k and threshold tk, computing system <NUM> may search for a pair (k, tk) that produces the "purest" subsets of the tree-specific training data set. A subset is considered "pure" if all of the target classifications in the subset are the same. Example measures for determining the purity of a subset include a Gini impurity measure, an entropy impurity measure, and so on. The following equation is an example cost function that surgical assistance system <NUM> may use to generate cost values that surgical assistance system <NUM> may use for comparing combinations of pairs (k, tk). <MAT> In the equation above, Gleft/right is a measure of the impurity of the left/right subset, and mleft/right is a number of instances in the left/right subset. The "left" and "right" subsets are so named because they may correspond to left and right branches of a decision tree.

In the CART algorithm, after selecting a pair (k, tk) that splits the tree-specific training data subset into two subsets, computing system <NUM> may further divide these two subsets in the same manner as described above. Computing system <NUM> may continue recursively dividing subsets in this manner using a maximum depth is reached or surgical assistance system <NUM> is unable to determine any combination of features and thresholds that reduce impurity within a subset.

While the techniques been disclosed with respect to a limited number of examples, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations there from. For instance, it is contemplated that any reasonable combination of the described examples may be performed. It is intended that the appended claims cover such modifications and variations as fall within the true spirit and scope of the invention.

Operations described in this disclosure may be performed by one or more processors, which may be implemented as fixed-function processing circuits, programmable circuits, or combinations thereof, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Fixed-function circuits refer to circuits that provide particular functionality and are preset on the operations that can be performed. Programmable circuits refer to circuits that can programmed to perform various tasks and provide flexible functionality in the operations that can be performed. For instance, programmable circuits may execute instructions specified by software or firmware that cause the programmable circuits to operate in the manner defined by instructions of the software or firmware. Fixed-function circuits may execute software instructions (e.g., to receive parameters or output parameters), but the types of operations that the fixed-function circuits perform are generally immutable. Accordingly, the terms "processor" and "processing circuity," as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein.

Claim 1:
A computer-implemented method for determining a suggested implant component to be implanted into a patient during an orthopedic surgery, the method comprising:
applying, by a computing system, a first machine learning model to determine a suggested pathology, wherein an input vector of the first machine learning model includes a set of input data, the set of input data including anatomic parameters of the patient;
applying, by the computing system, a second machine learning model to determine a suggested surgery, wherein an input vector of the second machine learning model includes an element that indicates the suggested pathology;
applying, by the computing system, a third machine learning model to determine the suggested implant component to implant into the patient during the orthopedic surgery, wherein an input vector of the third machine learning model includes an element that indicates the suggested pathology and an element that indicates the suggested surgery; and
outputting, by the computing system, an indication of the suggested implant component.