A computer-implemented method, comprising: receiving, by a control module of a patient care device, from a device remote from the control module, a new configuration package, wherein the new configuration package comprises versions of firmware for the control module and a first functional module connected to the control module of the patient care device; storing, by the control module, the new configuration package in a first memory bank of the control module, wherein a second configuration package is stored in a second memory bank of the control module when the new configuration package is received, and wherein the second configuration package comprises a current version of firmware for the control module and the first functional module, wherein the control module is configured to, on receiving an activation command and determining that the patient care device is inactive, switching, by the control module, execution of a current version of firmware for the control module stored in the second memory bank to a new version of firmware for the control module included in the new configuration package and stored in the first memory bank of the control module; determining, by the control module, based on information associated with the new configuration package, that the new configuration package includes a new version of firmware for the first functional module that is different from a stored version of the firmware for the first functional module connected to the control module; and based on determining that the new version of firmware is different than the stored version, transmitting, by the control module, the new version of firmware to the first functional module, wherein the new version is stored on the first functional module in a different memory bank than a memory bank currently storing a firmware currently used by the first functional module; receiving, by the control module from the first functional module, a message that the new version of firmware for the functional module was successfully stored in the first functional module; causing, by the control module, the first functional module to initiate a reboot process to execute the new version of firmware. receiving, by a control module of a patient care device, from a device remote from the control module, a new configuration package, wherein the new configuration package comprises versions of firmware for the control module and a first functional module connected to the control module of the patient care device; storing, by the control module, the new configuration package in a first memory bank of the control module, wherein a second configuration package is stored in a second memory bank of the control module when the new configuration package is received, and wherein the second configuration package comprises a current version of firmware for the control module and the first functional module, wherein the control module is configured to, on receiving an activation command and determining that the patient care device is inactive, switching, by the control module, execution of a current version of firmware for the control module stored in the second memory bank to a new version of firmware for the control module included in the new configuration package and stored in the first memory bank of the control module; determining, by the control module, based on information associated with the new configuration package, that the new configuration package includes a new version of firmware for the first functional module that is different from a stored version of the firmware for the first functional module connected to the control module; and based on determining that the new version of firmware is different than the stored version, transmitting, by the control module, the new version of firmware to the first functional module, wherein the new version is stored on the first functional module in a different memory bank than a memory bank currently storing a firmware currently used by the first functional module; receiving, by the control module from the first functional module, a message that the new version of firmware for the functional module was successfully stored in the first functional module; causing, by the control module, the first functional module to initiate a reboot process to execute the new version of firmware.