The present invention discloses a method, system and apparatus for controlling a surgical system. In one embodiment, the method includes the act of obtaining hardware configuration information from a first patient subsystem communicatively coupled to a control subsystem and controlled by a control subsystem, in a control subsystem associated with the surgical system and And determining a software version to be used by the control subsystem and the first patient side subsystem, wherein determining a software version includes selecting the software version from among a plurality of software versions, Each software version is associated with a particular patient side subsystem The method comprising: instructing a first patient subsystem to use the software version Determining whether the software version is currently loaded in the control subsystem Responsive to determining that the software version is not currently loaded in the control subsystem, loading the software version into the control subsystem And initializing the surgical system.본 발명은 수술 시스템을 제어하는 방법, 시스템 및 장치를 개시한다. 하나의 실시형태에서, 상기 방법이 수술 시스템과 관련된 제어 서브시스템에서, 제어 서브시스템에 통신가능하게 결합되어 있고 제어 서브시스템에 의해 제어되는 제1 환자측 서브시스템으로부터 하드웨어 구성 정보를 입수하는 조치를 포함하고 제어 서브시스템과 제1 환자측 서브시스템에 의해 사용될 소프트웨어 버전을 결정하는 조치를 포함하고, 소프트웨어 버전을 결정하는 것이 복수의 소프트웨어 버전 중에서 상기 소프트웨어 버전을 선택하는 조치를 포함하고, 상기 복수의 소프트웨어 버전의 각각의 소프트웨어 버전이 특정 환자측 서브시스템과 관련되어 있고 제1 환자측 서브시스템에게 상기 소프트웨어 버전을 사용할 것을 명령하는 조치를 포함하고 상기 소프트웨어 버전이 상기 제어 서브시스템에 현재 로딩되어 있는지 여부를 결정하는 조치를 포함하고 상기 소프트웨어 버전이 상기 제어 서브시스템에 현재 로딩되어 있지 않다고 결정하는 것에 대응하여, 상기 소프트웨어 버전을 상기 제어 서브시스템에 로딩하는 조치를 포함하고 그리고 수술 시스템을 초기화하는 조치를 포함한다.