A system comprising: a local user system configured to interact with an implantable medical device, the local user system comprising a programming head configured to provide a wireless communication link to the implantable medical device and comprising a programmer communicatively coupled to the programming head, the programmer configured to program and interrogate the implantable medical device via the programming head; and a local input device communicatively coupled to the local user system and configured to generate local events to program or interrogate the implantable medical device; wherein, to operate the local user system, the local user system is configured to receive local events from the local input device and remote events to program or interrogate the implantable medical device from a remote user system communicatively coupled to the local user system via a medical device remote access system; the local user system being configured to process a local event and ignore a remote event in response to receiving a local event and a remote event simultaneously; and the local user system configured to further: determine whether a local event or a remote event has been received; in response to determining that a local event to program or interrogate the implantable medical device has been received, determine whether a remote event to program or interrogate the implantable medical device is being processed; in response to determining that a remote event to program or interrogate the implantable medical device is being processed, abort the remote event; and process the local event to program or interrogate the implantable medical device. a local user system configured to interact with an implantable medical device, the local user system comprising a programming head configured to provide a wireless communication link to the implantable medical device and comprising a programmer communicatively coupled to the programming head, the programmer configured to program and interrogate the implantable medical device via the programming head; and a local input device communicatively coupled to the local user system and configured to generate local events to program or interrogate the implantable medical device; wherein, to operate the local user system, the local user system is configured to receive local events from the local input device and remote events to program or interrogate the implantable medical device from a remote user system communicatively coupled to the local user system via a medical device remote access system; the local user system being configured to process a local event and ignore a remote event in response to receiving a local event and a remote event simultaneously; and the local user system configured to further: determine whether a local event or a remote event has been received; in response to determining that a local event to program or interrogate the implantable medical device has been received, determine whether a remote event to program or interrogate the implantable medical device is being processed; in response to determining that a remote event to program or interrogate the implantable medical device is being processed, abort the remote event; and process the local event to program or interrogate the implantable medical device. determine whether a local event or a remote event has been received; in response to determining that a local event to program or interrogate the implantable medical device has been received, determine whether a remote event to program or interrogate the implantable medical device is being processed; in response to determining that a remote event to program or interrogate the implantable medical device is being processed, abort the remote event; and process the local event to program or interrogate the implantable medical device.