A medical device comprising: one or more processors ; and one or more non-transitory memory modules communicatively coupled to the one or more processors and storing machine-readable instructions that, when executed, cause the one or more processors to at least: detect a plurality of computing devices remote from the medical device ; simultaneously establish a peer-to-peer connection with each computing device among the plurality of computing devices ; compare a version of a software program installed on the medical device and versions of the software program installed on each computing device among the plurality of computing devices ; determine which of the medical device and the plurality of computing devices has the most recent version of the software program ; and upon determination that one of the computing devices among the plurality of computing devices has the most recent version of the software program , receive installation software associated with the most recent version of the software program from the one of the computing device among the plurality of computing devices determined to have the most recent version of the software program , and execute the installation software to upgrade the software program on the medical device to the most recent version. one or more processors ; and one or more non-transitory memory modules communicatively coupled to the one or more processors and storing machine-readable instructions that, when executed, cause the one or more processors to at least: detect a plurality of computing devices remote from the medical device ; simultaneously establish a peer-to-peer connection with each computing device among the plurality of computing devices ; compare a version of a software program installed on the medical device and versions of the software program installed on each computing device among the plurality of computing devices ; determine which of the medical device and the plurality of computing devices has the most recent version of the software program ; and upon determination that one of the computing devices among the plurality of computing devices has the most recent version of the software program , receive installation software associated with the most recent version of the software program from the one of the computing device among the plurality of computing devices determined to have the most recent version of the software program , and execute the installation software to upgrade the software program on the medical device to the most recent version. detect a plurality of computing devices remote from the medical device ; simultaneously establish a peer-to-peer connection with each computing device among the plurality of computing devices ; compare a version of a software program installed on the medical device and versions of the software program installed on each computing device among the plurality of computing devices ; determine which of the medical device and the plurality of computing devices has the most recent version of the software program ; and upon determination that one of the computing devices among the plurality of computing devices has the most recent version of the software program , receive installation software associated with the most recent version of the software program from the one of the computing device among the plurality of computing devices determined to have the most recent version of the software program , and execute the installation software to upgrade the software program on the medical device to the most recent version. <EOS>