WO2024012134A1 - 固件更新方法、装置、设备、系统及介质 - Google Patents

固件更新方法、装置、设备、系统及介质 Download PDF

Info

Publication number
WO2024012134A1
WO2024012134A1 PCT/CN2023/100074 CN2023100074W WO2024012134A1 WO 2024012134 A1 WO2024012134 A1 WO 2024012134A1 CN 2023100074 W CN2023100074 W CN 2023100074W WO 2024012134 A1 WO2024012134 A1 WO 2024012134A1
Authority
WO
WIPO (PCT)
Prior art keywords
firmware update
program
implantable medical
medical device
file
Prior art date
Application number
PCT/CN2023/100074
Other languages
English (en)
French (fr)
Inventor
唐建东
朱海丰
Original Assignee
景昱医疗科技(苏州)股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 景昱医疗科技(苏州)股份有限公司 filed Critical 景昱医疗科技(苏州)股份有限公司
Publication of WO2024012134A1 publication Critical patent/WO2024012134A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/40ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades

Definitions

  • This application relates to the technical fields of implantable medical devices, wireless communications and remote program control, such as firmware update methods, devices, equipment, systems and media.
  • Firmware is a program written in Erasable Programmable Read Only Memory (EPROM) or Electrically Erasable Programmable Read-Only Memory (EEPROM).
  • EPROM Erasable Programmable Read Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • Firmware refers to the device "driver" stored inside the device. Through firmware, the operating system can implement the operating actions of a specific machine according to standard device drivers. For example, optical drives, recorders, etc. all have internal firmware.
  • Firmware is the most basic and lowest-level working software of a system.
  • Implantable medical devices play a very important role in patients (controlling their condition and maintaining daily life), so implantable medical devices need to focus on safety issues when updating firmware.
  • CN110047586A discloses an implanted medical control device and a firmware interface update method and system thereof.
  • the method includes: establishing a Bluetooth communication connection with an intelligent device; receiving a write instruction sequence sent by the intelligent device through Bluetooth communication.
  • the input instruction sequence includes an interface write instruction sequence, wherein the interface write instruction includes firmware interface data and write location information; select an interface storage area in the flash memory according to the write location information, and write the firmware interface data Among the storage locations reserved in the selected interface storage area, the flash memory includes multiple interface storage areas, respectively used to store different types of firmware interfaces, and the storage locations are respectively reserved in each of the interface storage areas. ; Utilize the firmware interface data written in the storage location to update the firmware interface in the interface storage area.
  • implantable medicine Medical devices are implanted in the human body and cannot be seen or touched.
  • the status of the implanted medical device itself will greatly determine whether the firmware update can be successful, and this method only considers how to effectively reduce the data required for the update.
  • security is not considered, which poses a huge security risk.
  • This application provides firmware update methods, devices, equipment, systems and media to ensure that implantable medical devices can successfully complete the entire firmware update process under the premise of adapting the firmware update file and ensure personal safety.
  • this application provides a firmware update method for firmware update of implantable medical devices.
  • the method includes:
  • the implantable medical device is used to update the firmware of the implantable medical device.
  • this application provides a firmware update device configured to update the firmware of implantable medical devices.
  • the device includes:
  • condition detection module configured to obtain status information of the implantable medical device, and based on the status information, detect whether the implantable medical device meets firmware update conditions
  • a firmware receiving module configured to receive a firmware update file using a communication device if the implantable medical device meets the firmware update condition
  • a firmware update module configured to detect whether the firmware update file matches the implantable medical device, and if the firmware update file matches the implantable medical device, use the communication device to The firmware update file is written into the implantable medical device to implement the firmware update of the implantable medical device.
  • the present application provides an electronic device.
  • the electronic device includes a memory and a processor.
  • the memory stores a computer program.
  • the processor executes the computer program, the above firmware update method is implemented.
  • the present application provides a medical system, which includes an implantable medical device, a communication device, and the above-mentioned firmware update device.
  • the firmware update device is configured to communicate with the implantable medical device.
  • the medical device and the communication device perform data exchange respectively.
  • the present application provides a computer-readable storage medium storing a computer program.
  • the computer program is executed by a processor, the above firmware update method is implemented.
  • Figure 1 is a structural block diagram of a medical system provided by an embodiment of the present application.
  • Figure 2 is a schematic flow chart of a firmware update method provided by an embodiment of the present application.
  • Figure 3 is a schematic flow chart of receiving a firmware update file provided by an embodiment of the present application.
  • Figure 4 is a schematic flowchart of detecting whether an application program can run normally provided by an embodiment of the present application
  • Figure 5 is a structural block diagram of a firmware update device provided by an embodiment of the present application.
  • FIG. 6 is a structural block diagram of a firmware receiving module provided by an embodiment of the present application.
  • Figure 7 is a structural block diagram of an electronic device provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of a program product provided by an embodiment of the present application.
  • Implantable neurostimulation systems mainly include stimulators implanted in the body and program-controlled equipment outside the body.
  • Neuromodulation technology mainly implants electrodes into specific structures (i.e. target points) in the body through stereotaxic surgery, and the stimulator implanted in the patient's body sends electrical pulses to the target point through the electrodes to regulate the electrical activity and activity of the corresponding neural structures and networks. Its functions, thereby improving symptoms and relieving pain.
  • the stimulator can be an implantable nerve electrical stimulation device, an implantable cardiac electrical stimulation system (also known as a pacemaker), an implantable drug delivery device (Implantable Drug Delivery System, IDDS) and a lead adapter device any of them.
  • Implantable neuroelectric stimulation devices include, for example, Deep Brain Stimulation (DBS) systems, Implantable Cortical Nerve Stimulation (CNS) systems, and Implantable Spinal Cord Stimulation (SCS) systems.
  • DBS Deep Brain Stimulation
  • CNS Implantable Cortical Nerve Stimulation
  • SCS Implantable Spinal Cord Stimulation
  • ) system implantable sacral nerve stimulation (Sacral Nerve Stimulation, SNS) system, implantable vagus nerve stimulation (Vagus Nerve Stimulation, VNS) system, etc.
  • the stimulator can include an Implantable Pulse Generator (IPG), extension wires, and electrode wires.
  • IPG Implantable Pulse Generator
  • the IPG is placed inside the patient's body and relies on sealed batteries and circuits to provide controllable electrical stimulation energy to tissues in the body through the implanted Extension leads and electrode leads for specific tissues in the body Zones provide one or two controllable channels of specific electrical stimulation energy.
  • the extension lead is used in conjunction with the IPG as a transmission medium for electrical stimulation signals to transmit the electrical stimulation signals generated by the IPG to the electrode leads.
  • the electrode leads transmit the electrical stimulation signals generated by the IPG through multiple electrode contacts to release electrical stimulation energy to specific areas of the body tissue; the implantable medical device has one or more electrode leads on one or both sides, so A plurality of electrode contacts are provided on the electrode lead, and the electrode contacts may be uniformly or non-uniformly arranged in the circumferential direction of the electrode lead. As an example, the electrode contacts are arranged in an array of 4 rows and 3 columns (12 electrode contacts in total) in the circumferential direction of the electrode wire.
  • the electrode contacts may include stimulation electrode contacts and/or collection electrode contacts.
  • the electrode contacts may be in the shape of, for example, a sheet, a ring, a dot, or the like.
  • the stimulated body tissue may be the patient's brain tissue, and the stimulated site may be a specific part of the brain tissue.
  • the stimulated parts are generally different, the number of stimulation contacts used (single source or multiple sources), one or more channels (single channel or multi-channel) specific electrical stimulation signals
  • the application and stimulation parameter data are also different. This application does not limit the applicable disease types, which can be the disease types applicable to DBS, SCS, pelvic stimulation, gastric stimulation, peripheral nerve stimulation, and functional electrical stimulation.
  • DBS diseases that DBS can be used to treat or manage
  • spastic diseases such as epilepsy
  • pain migraine
  • mental illness such as major depressive disorder (Major Depressive Disorder, MDD)
  • bipolar disorder such as major depressive disorder (Major Depressive Disorder, MDD)
  • anxiety disorder e.g., post-traumatic stress disorder
  • mild depression e.g., depression
  • behavioral disorders e.sive compulsive disorder
  • mood disorders e.g., a depression
  • memory disorders e.sive compulsive disorder
  • cognitive disorders such as essential tremor or Parkinson's disease
  • Huntington's disease Alzheimer's disease, substance addiction disorders, autism, or other neurological or psychiatric diseases and impairments.
  • the program-controlled device when the program-controlled device and the stimulator establish a program-controlled connection, can be used to adjust the stimulation parameters of the stimulator's electrical stimulation signal, and the stimulator can also be used to sense the bioelectrical activity in the deep brain of the patient, and the sensed The bioelectric activity continues to adjust the stimulation parameters of the electrical stimulation signal of the stimulator.
  • the programmable device can be a doctor programmer or a patient programmer.
  • the doctor programmer can interact with the stimulator through the server, patient programmer, and stimulator.
  • the doctor's programmer can interact with the stimulator through the patient's programmer, and the doctor's programmer can also directly interact with the stimulator.
  • the patient programmer can also interact directly with the stimulator.
  • Figure 1 is a structural block diagram of a medical system 100 provided by an embodiment of the present application.
  • the medical system 100 includes: an implantable medical device 101, a communication device 102, and a firmware update device 103.
  • the firmware update device 103 performs data interaction with the implanted medical device 101 and the communication device 102 respectively.
  • the firmware update device 103 is configured to implement the steps of the firmware update method.
  • the implantable medical device 101 may include a stimulator implanted in the patient's body, and the communication device 102 may include a programmable device disposed outside the patient's body.
  • the program-controlled device may include, for example, one or more of a tablet computer, a laptop computer, a desktop computer, a mobile phone, and a smart wearable device.
  • the firmware update device 103 may be integrated with the implanted medical device 101 . In other implementations, the firmware updating device 103 may be integrated with the communication device 102 . In still other embodiments, the firmware updating device 103 may be provided independently of the implanted medical device 101 and the communication device 102 .
  • Figure 2 is a schematic flowchart of a firmware update method provided by an embodiment of the present application.
  • the method is used to update firmware of implantable medical devices, and the method includes:
  • Step S101 Obtain status information of the implantable medical device, and based on the status information, detect whether the implanted medical device meets firmware update conditions.
  • Step S102 If the implantable medical device meets the firmware update condition, use the communication device to receive the firmware update file.
  • Step S103 Detect whether the firmware update file matches the implantable medical device. If the firmware update file matches the implantable medical device, use the communication device to transfer the firmware update file to the implantable medical device. Write the implantable medical device to implement firmware update of the implantable medical device.
  • the firmware update conditions when updating the firmware of an implanted medical device, first obtain the status information of the implanted medical device and detect whether the implanted medical device meets the firmware update conditions. Only the implanted medical device itself meets the firmware update conditions. Only then will the communication device receive the firmware update file. If the implanted medical device does not meet the firmware update conditions, the communication device will not be allowed to receive the firmware update file to avoid occupying the storage space of the communication device and subsequent firmware update operations will not be performed. .
  • the firmware update file received by the communication device will not be directly written into the implantable medical device. Instead, it will detect whether the firmware update file matches the implantable medical device ( Whether the firmware update file is suitable for implantable medical devices), that is, whether the firmware update file can be applied to implantable medical devices. Only implantable medical devices meet the firmware update conditions and the firmware update file is consistent with the implantable medical device. When matching, the firmware update file will be written to the implantable medical device.
  • the method may further include:
  • the communication device is used to generate first prompt information and display the first prompt information.
  • the first prompt information is used to prompt that the implantable medical device does not meet the firmware update condition.
  • the method may further include:
  • the communication device is used to generate second prompt information and display the second prompt information.
  • the second prompt information is used to prompt that the firmware update file does not match the implantable medical device.
  • the implantable medical device includes a stimulator implanted in the patient's body
  • the communication device includes a program-controlled device disposed outside the patient's body, a patient terminal multimedia communication device, a doctor terminal multimedia communication device, and server.
  • the patient terminal multimedia communication device and the doctor terminal multimedia communication device may include one or more of a tablet computer, a laptop computer, a desktop computer, a mobile phone and a smart wearable device.
  • Programmed devices may include physician programmers and patient programmers.
  • the patient program controller is connected to the patient terminal multimedia communication equipment for two-way communication
  • the doctor program controller is connected to the doctor terminal multimedia communication equipment for two-way communication
  • the patient terminal multimedia communication equipment and the doctor terminal multimedia communication equipment are connected for two-way communication through a high-speed remote communication network.
  • the patient terminal multimedia communication device transmits the status information of the patient's implanted medical device to the doctor terminal multimedia communication device through a high-speed remote communication network.
  • the work of receiving the firmware update file can be completed by the patient terminal multimedia communication device or the doctor terminal multimedia communication device, and the work of writing the firmware update file into the implantable medical device can be completed by the doctor programmer or the patient programmer.
  • the status information includes the power of the implanted medical device and/or the communication quality score between the implanted medical device and the communication device;
  • the firmware update condition includes one of the following or Various: the power of the implantable medical device is not less than the preset power threshold; the communication quality score of the implantable medical device and the communication device is not less than the preset score threshold.
  • the communication device before using the communication device to receive the firmware update file, it is detected based on the status information of the implanted medical device whether it meets the firmware update conditions. Only the implanted medical device itself meets the firmware update conditions will the communication device receive the firmware update. files to avoid occupying the storage space of communication equipment.
  • the firmware update conditions include that the power of the implanted medical device is not less than the preset power threshold, satisfying the firmware update conditions indicates that the power of the implanted medical device is relatively high and can support it to complete the entire firmware update process; on the other hand, when the firmware update conditions include that the communication quality score between the implanted medical device and the communication device is not less than the preset score threshold, satisfying the firmware update conditions indicates that the communication quality between the implanted medical device and the communication device is good, and the implantable medical device can Firmware updates are implemented through data interaction with communication devices.
  • the preset power threshold may be 5%, 8% or 10%, and the preset score threshold may be 50, 60 or 90, for example.
  • This application does not limit the method of obtaining the communication quality score.
  • the communication quality estimation method disclosed in CN105474608A, the communication quality estimation method disclosed in CN113411672A, or the communication quality evaluation method disclosed in CN101091358A can be used.
  • step S101 may include:
  • the firmware update condition may also include: there is no abnormality in the patient's bioelectrical signal.
  • the patient's bioelectrical signal is input into the abnormality detection model to output the predicted similarity corresponding to the bioelectrical signal; wherein the abnormality detection model is used to compare the bioelectrical signal with each abnormality in the abnormality database.
  • the bioelectrical signals are compared to obtain the similarity between the bioelectrical signal and each abnormal bioelectrical signal, and the highest similarity among the multiple similarities corresponding to the bioelectrical signal is used as the prediction corresponding to the bioelectrical signal. Similarity; when the predicted similarity is not less than the first similarity threshold, it is determined that the bioelectric signal is abnormal; when the predicted similarity is less than the first similarity threshold, it is determined that the bioelectric signal is not abnormal. An exception occurs.
  • the abnormality detection model By inputting the patient's bioelectrical signals into the abnormality detection model, the abnormality detection model is used to determine the predicted similarity corresponding to the bioelectrical signals.
  • the abnormality detection model can call the abnormality database, which stores a large number of abnormal bioelectrical signals.
  • the signal can be that different patients are developing
  • the corresponding bioelectric signal at the time of onset can also be the bioelectric signal corresponding to the onset of the current patient's disease.
  • the abnormal bioelectric signals in the abnormal database can include the bioelectric signals corresponding to the onset of the Parkinson's disease.
  • the patient's bioelectrical signal compare the patient's bioelectrical signal with each abnormal bioelectrical signal in the abnormal database, use the highest similarity among multiple similarities as the predicted similarity, and compare the predicted similarity with the preset similarity threshold to determine whether the patient's bioelectrical signal is abnormal.
  • the higher the prediction similarity the more likely the patient's bioelectrical signal will be abnormal, and the more likely the patient will become ill.
  • the patient's bioelectrical signal will be compared with multiple pre-stored abnormality databases. Abnormal bioelectrical signals are compared one by one to find the abnormal bioelectrical signal with the highest similarity, which improves the accuracy of abnormality detection results.
  • the patient's bioelectrical signals can be collected using a bioelectrical collection device.
  • the bioelectricity collection equipment may include any one or more of the following: EEG collection equipment (such as electrode caps, cortical electrodes, intracranial electrodes, etc.), ECG collection equipment, and eye electricity collection.
  • the patient's bioelectrical signals may include any one or more of the following: electroencephalographic signals, electrocardiographic signals, electroocular signals, and electromyographic signals.
  • the bioelectrical collection device may be a stimulator implanted in the patient's body.
  • the patient's bioelectrical signals may include brain electrical signals.
  • the stimulator has the functions of sensing brain electrical signals and delivering electrical stimulation.
  • the predicted similarity can be expressed as a number or a percentage. When expressed as a number, the predicted similarity is, for example, 60, 80, or 90; when expressed as a percentage, the predicted similarity is, for example, 60%, 80%, or 90%. The higher the value, the better the predicted similarity. The higher the similarity.
  • This application does not limit the first similarity threshold, which may be 70%, 80% or 90%.
  • the training process of the anomaly detection model may include:
  • the first training set includes a plurality of first training data, each of the first training data includes a first sample signal for training, a second sample signal and the first sample Annotation data of the similarity between the signal and the second sample signal; for each first training data in the first training set, perform the following processing:
  • the first sample signal and the second sample signal in the first training data are respectively input into the preset first deep learning model to obtain a prediction of the similarity between the first sample signal and the second sample signal.
  • data update the model parameters of the first deep learning model based on the prediction data and annotation data of the similarity between the first sample signal and the second sample signal; detect whether the preset first training is satisfied End condition; if the preset first training end condition is met, the trained first deep learning model is used as the anomaly detection model; if the preset first training end condition is not met, the next first training end condition is used.
  • a training data continues to train the first deep learning model.
  • This application does not limit the preset first training end condition, which may be, for example, that the number of training times reaches a preset number of times (the preset number of times is, for example, 1 time, 3 times, 10 times, 100 times, 1000 times, 10000 times, etc.), Or it can be that all the training data in the first training set have completed one or more trainings, or it can be that the total loss value obtained in this training is not greater than the preset loss value.
  • Figure 3 is a schematic flowchart of receiving a firmware update file according to an embodiment of the present application.
  • the process of receiving the firmware update file using the communication device includes:
  • Step S201 Obtain the identification information and download address of the firmware update file.
  • Step S202 Use the communication device to download the file to be confirmed corresponding to the download address.
  • Step S203 Obtain the identification information of the file to be confirmed.
  • Step S204 When it is detected that the identification information of the file to be confirmed is consistent with the identification information of the firmware update file, use the file to be confirmed as the firmware update file.
  • the file downloaded according to the download address corresponding to the firmware update file may not be the real firmware update file, so the downloaded file to be confirmed needs to be verified. Only if the verification passes, can the file be verified. The correct firmware update file is received.
  • the verification method can be to compare the identification information of the file to be confirmed with the identification information of the firmware update file. If the two are consistent, it means that the file to be confirmed is the firmware update file. If they are inconsistent, it means that the file to be confirmed is another file. Download Wrong file.
  • the method of obtaining the identification information and download address of the firmware update file may include one or more of the following:
  • Method 1 The doctor terminal multimedia communication device automatically checks the firmware update file version matching the implantable medical device from the server based on the basic information (device identification) of the implantable medical device, thereby obtaining the download of the latest version of the firmware update file.
  • Information, download information includes identification information and download address.
  • Method 2 The patient terminal multimedia communication device checks whether there is a new firmware update file version from the server interface regularly (every day or every time the device is started).
  • Method three When the server releases a new firmware update file version, it can push a message to the patient's terminal multimedia device, or directly push it to the application (Application, APP) on the patient's mobile phone to remind the patient to use the patient's terminal multimedia communication device for implantable medical treatment.
  • the device undergoes a firmware update.
  • the identification information includes one or more of the following: Message-Digest Algorithm 2 (MD2) value, MD3 value, MD4 value, MD5 value, Secure Hash Algorithm-0 (Secure Hash Algorithm-0, SHA-0) value, SHA-1 value, and SHA-2 value.
  • MD2 Message-Digest Algorithm 2
  • MD3 value MD3 value
  • MD4 value MD5 value
  • Secure Hash Algorithm-0 Secure Hash Algorithm-0 (Secure Hash Algorithm-0, SHA-0) value
  • SHA-1 value SHA-2 value
  • the identification information may be a hash value
  • the hash value may include one or more of the following: MD2 value, MD3 value, MD4 value, MD5 value, SHA-0 value, SHA-1 value, and SHA-2 value
  • the process of obtaining identification information may be a hash operation process.
  • Information digest algorithm is a very important branch of cryptography algorithms. It extracts fingerprint information from all data to implement functions such as data signature and data integrity verification. Due to its irreversibility, it is sometimes used to encrypt sensitive information. . Information digest algorithm is also called Hash algorithm or hash algorithm.
  • MD5 which is developed from MD2, MD3, and MD4, was proposed by Ron Rivest (RSA Company) in 1992. It is widely used in data integrity verification, data (information) digest, data encryption, etc. MD2, MD4, and MD5 all generate a 16-byte (128-bit) check value, which is generally represented by a 32-bit hexadecimal number.
  • the algorithm of MD2 is slower but relatively safe, MD4 is fast but less secure, and MD5 is more secure and faster than MD4.
  • SHA is a series of cryptographic hash functions designed by the National Security Agency (NSA) and published by the National Institute of Standards and Technology (NIST). The first member of the SHA family was released in 1993. It was given the informal name "SHA-0" to avoid confusion with its successors. Two years later, the first successor to SHA, "SHA-1", was released. There are four additional variants that have been released to increase the output range and change some subtle design: SHA-224, SHA-256, SHA-384 and SHA-512 (these are sometimes called "SHA-2”) . Since the length of the data digest generated by SHA is longer, it is more difficult to collide and therefore more secure, which is the development direction of future information digest algorithms. Since the data digest length of the SHA series algorithms is longer, its operation speed is relatively slower than MD5.
  • the doctor selects the appropriate version of the firmware update file based on the device identification of the patient's implanted medical device, and sends the download address and the MD5 value of the firmware update file to the patient terminal multimedia communication device through the high-speed network.
  • the patient terminal Multimedia communication downloads files from the server according to the download address (files to be confirmed).
  • the patient terminal multimedia communication device checks whether the MD5 value of the downloaded file is equal to the MD5 value sent by the doctor. If the MD5 value of the downloaded file is equal to the MD5 value sent by the doctor, it means that the downloaded file is correct. If the MD5 value of the downloaded file is equal to If the value is not equal to the MD5 value sent by the doctor, it is an error, and an error message will be sent to the doctor's terminal multimedia communication device.
  • step S204 may include:
  • data verification is performed on the file to be confirmed, wherein the data verification includes cyclic redundancy check (Cyclic Redundancy). Check, CRC) and/or error checking and correction (Error Checking and Correction, ECC) verification; when the data verification is successful, it is determined that the data of the file to be confirmed is complete, and the file to be confirmed is used as the firmware update file; the method may also include: when the data verification fails , determining that the data of the file to be confirmed is incomplete, using the communication device to generate prompt information and display the prompt information.
  • CRC cyclic redundancy check
  • ECC error checking and Correction
  • data verification of the file to be confirmed needs to be performed to detect whether the data of the file to be confirmed is complete. If the data verification is successful, it indicates that the data of the file to be confirmed is complete; if the data verification fails, it indicates that the data of the file to be confirmed is complete. Confirm that the data in the file is incomplete, and use the communication device to display the corresponding prompt information to remind the user that the downloaded data is incorrect, so that the user can take corresponding remedial measures in a timely manner.
  • CRC32 algorithm which generates a 4-byte (32-bit) check value, usually in the form of an 8-digit hexadecimal number.
  • CRC should be called a data verification algorithm, but its function is similar to the information digest algorithm, so it is also used as a test algorithm.
  • ECC memory which stores a code encrypted with data in extra bits on the data bits.
  • the corresponding ECC code is also saved at the same time.
  • the saved ECC code will be compared with the ECC code generated when the data was read. If the two codes are not identical, they are decoded to determine which bit of the data is incorrect. The error bit is then discarded and the memory controller releases the correct data.
  • CRC can be used to check whether the data in the firmware update file is complete. If the data in the firmware update file is complete, the patient terminal multimedia communication device checks whether the downloaded firmware update file matches the implanted medical device. If the firmware update file matches The data is incomplete and a download failure prompt message is sent to the doctor terminal multimedia communication device.
  • the step of detecting whether the firmware update file matches the implanted medical device in step S103 may include:
  • the device identifier of the implantable medical device and the device identifier of at least one applicable device corresponding to the firmware update file match the device identifier of the implantable medical device with the device identifier of each applicable device ;
  • the device identification of the implantable medical device matches the device identification of one of the applicable devices, determine that the firmware update file matches the implantable medical device; when the implantable medical device When the device identifier of the device does not match the device identifiers of all applicable devices, it is determined that the firmware update file does not match the implantable medical device.
  • the firmware update file can only be applied to the corresponding device. Therefore, before writing the firmware update file, it is necessary to detect whether the firmware update file matches the implanted medical device, that is, the firmware update Whether the file can be applied on implantable medical devices, so as to avoid writing the firmware update file and then finding out that it cannot be applied, which wastes the limited memory space of the implantable medical device.
  • the device identifier of the implantable medical device can be matched with the device identifier of the applicable device of the firmware update file. If the match is successful, it means that the firmware update file can be applied to the implanted medical device; if the match fails, it means that the firmware update file can be applied to the implanted medical device. It cannot be used on this implantable medical device.
  • the device identification can be expressed in one or more of Chinese, letters, numbers, and characters.
  • patient Xiao Li and patient Xiao Zhang both want to update the firmware of their respective implantable medical devices.
  • the device identification of patient Xiao Li's implantable medical device is A001
  • the device identification of patient Xiao Zhang's implantable medical device is C001
  • the device identifications of applicable devices corresponding to the firmware update file include A001 and B001.
  • the firmware update file matches the patient Xiao Li's implanted medical device, but the firmware update file does not match the patient Xiao Zhang's implanted medical device.
  • the patient terminal multimedia communication device of the patient Xiao Zhang sends a prompt message indicating that the firmware matching fails. Doctor terminal multimedia communication equipment.
  • the process of detecting whether the firmware update file matches the implanted medical device in step S103 may include:
  • the device identification of the implantable medical device and the preset rules of the device identification of the applicable device corresponding to the firmware update file detect whether the device identification of the implantable medical device complies with the preset rule; if the If the device identification of the implantable medical device complies with the preset rule, it is determined that the detected firmware update file matches the implanted medical device; if the device identification of the implanted medical device does not comply with The preset rule determines that the detected firmware update file does not match the implanted medical device.
  • the method of detecting whether the firmware update file matches the implantable medical device may include one or more of the following:
  • Method 1 Convert the file name of the firmware update file into a regular expression, and use the regular expression to detect whether the firmware update file matches the implantable medical device.
  • Method 2 Write the device identification of the applicable device in the firmware update file, and the patient terminal multimedia communication device reads the file content and detects it.
  • Method 3 The server implements the detection logic, and the patient terminal multimedia communication device calls the server interface for detection.
  • the implantable medical device is a stimulator implanted in the patient's body, and the application corresponding to the firmware update file includes a program-controlled application of the stimulator;
  • the communication device is used to Writing the firmware update file to the implantable medical device includes: using the communication device to overwrite and write the firmware update file into a spare area of the stimulator to complete the firmware update of the stimulator;
  • the method also includes: after the firmware update is completed, detecting whether the program-controlled application of the stimulator can run normally; when it is detected that the program-controlled application of the stimulator can run normally, Determine that the stimulator firmware update is successful, set the backup area as the new main program area, and set the original main program area of the stimulator as the backup area, so that the stimulator can run using the new main program area Corresponding program-controlled application.
  • the implantable medical device can be a stimulator.
  • the communication device can be used to overwrite the firmware update file and write it into the spare area of the stimulator.
  • the spare area and the main program area are mutually exclusive. Two partitions are independently managed. In this way, if the firmware update fails, it will not affect the program operation of the current main program area, ensuring the normal operation of the stimulator.
  • step of using the communication device to write the firmware update file to the implantable medical device in step S103 may include:
  • the method may also include: at the end of the firmware update Then, restart the implantable medical device to jump to the application program corresponding to the firmware update file; when it is detected that the application program can run normally, it is determined that the firmware update of the implantable medical device is successful, and all The firmware update file is overwritten and written into the main program area of the implantable medical device.
  • the process of writing the firmware update file to the implantable medical device can be performed in two stages.
  • the communication device is first used to overwrite the firmware update file into the spare area of the implantable medical device.
  • the firmware update is successful or fails, it will not affect the program operation in the main program area, ensuring that the implant
  • the normal operation of the implantable medical device will only enter the second phase after completing the first phase, that is, after the firmware update is completed.
  • This phased overwriting method greatly ensures the safe operation of the main program area of implantable medical devices.
  • FIG 4 is a schematic flowchart of detecting whether an application program can run normally provided by an embodiment of the present application.
  • the communication device includes a program-controlled device disposed outside the patient's body; the process of detecting whether the program-controlled application of the stimulator can operate normally may include:
  • Step S301 Establish a program-controlled connection between the stimulator and the program-controlled device.
  • Step S302 Obtain the version information of the program-controlled application program of the stimulator and the version information of the program-controlled application program of the program-controlled device.
  • Step S303 When the version information of the program-controlled application of the stimulator matches the version information of the program-controlled application of the program-controlled device, it is determined that the program-controlled application of the stimulator can run normally.
  • Step S304 When the version information of the program-controlled application of the stimulator does not match the version information of the program-controlled application of the program-controlled device, it is determined that the program-controlled application of the stimulator cannot run normally.
  • the implantable medical device can be a stimulator
  • the communication device can be a program-controlled device.
  • An important indicator to detect whether the application can run normally is whether the program-controlled device can program the stimulator. You can first establish a program-controlled connection between the stimulator and the program-controlled device, and check the version information of the program-controlled application of the stimulator and the version information of the program-controlled application of the program-controlled device. If the two match, it means that the program-controlled device can program the stimulator. , the program-controlled application of the stimulator can run normally; if the two do not match, it means that the program-controlled device cannot program the stimulator, and the program-controlled application of the stimulator cannot run normally.
  • Version information can be expressed in one or more of Chinese, letters, numbers, and characters.
  • the version information may be A_01, B_01 or T#001, for example.
  • the version information of the program-controlled application program of patient Xiao Wang's stimulator is A_01
  • the version information of the program-controlled application program of patient Xiao Wang's patient program controller is C_01
  • the version information of the program-controlled application program of patient Xiao Wang's stimulator is The version information does not match the version information of the program-controlled application of the patient programmer.
  • the program-controlled application of the stimulator cannot run normally. Use the patient programmer of patient Xiao Wang to display a prompt message that the version of the program-controlled application does not match.
  • Figure 5 is a structural block diagram of a firmware update device provided by an embodiment of the present application.
  • Embodiments of the present application also provide a firmware update device, the implementation of which is consistent with the implementation and technical effects achieved described in the above method implementation, and part of the content will not be described again.
  • the firmware update device is configured to update the firmware of the implanted medical device.
  • the device includes: a condition detection module 101 configured to obtain status information of the implanted medical device, and based on the status information, detect Whether the implantable medical device meets the firmware update conditions; the firmware receiving module 102 is configured to use the communication device to receive the firmware update file if the implantable medical device meets the firmware update conditions; the firmware update module 103 is configured to Detect whether the firmware update file matches the implantable medical device, and if the firmware update file matches the implantable medical device, use the communication device to write the firmware update file into the implanted medical device. described implantable medical devices to achieve the Firmware updates for implantable medical devices.
  • the status information includes the power of the implanted medical device and/or the communication quality score between the implanted medical device and the communication device;
  • the firmware update condition includes one of the following or Various: the power of the implantable medical device is not less than the preset power threshold; the communication quality score of the implantable medical device and the communication device is not less than the preset score threshold.
  • Figure 6 is a structural block diagram of a firmware receiving module provided by an embodiment of the present application.
  • the firmware receiving module 102 includes: an address acquisition unit 201, configured to acquire the identification information and download address of the firmware update file; a file download unit 202, configured to use the communication device to download the download The file to be confirmed corresponding to the address; the identification acquisition unit 203 is configured to obtain the identification information of the file to be confirmed; the consistency detection unit 204 is configured to detect the identification information of the file to be confirmed and the identification of the firmware update file When the information is consistent, the file to be confirmed is used as the firmware update file.
  • the identification information includes one or more of the following: MD2 value, MD3 value, MD4 value, MD5 value, SHA-0 value, SHA-1 value, and SHA-2 value.
  • the consistency detection unit 204 is configured to: when detecting that the identification information of the file to be confirmed is consistent with the identification information of the firmware update file, perform data verification on the file to be confirmed, wherein , the data verification includes CRC and/or ECC verification; when the data verification is successful, it is determined that the data of the file to be confirmed is complete, and the file to be confirmed is used as the firmware update file; the device also includes : Failure prompt module, configured to determine that the data of the file to be confirmed is incomplete when data verification fails, and use the communication device to generate prompt information and display the prompt information.
  • the firmware update module 103 is configured to: obtain the device identifier of the implantable medical device and the device identifier of at least one applicable device corresponding to the firmware update file; The device identifier is matched with the device identifier of each applicable device; in the case where the device identifier of the implantable medical device matches the device identifier of one of the device identifiers of the at least one applicable device, determine that the device identifier of the implantable medical device matches the device identifier of the at least one applicable device.
  • the firmware update file matches the implantable medical device; when the device identifier of the implantable medical device does not match the device identifiers of all applicable devices, determine that the firmware update file matches the implanted medical device. The implantable medical device does not match.
  • the implantable medical device is a stimulator implanted in the patient's body, and the application program corresponding to the firmware update file includes a program-controlled application program of the stimulator;
  • the firmware update module 103 is configured to : Utilize the communication device to overwrite and write the firmware update file into the spare area of the stimulator to complete the firmware update of the stimulator;
  • the device further includes: a run detection module, configured to complete the firmware update after the Finally, detect whether the program-controlled application program of the stimulator can run normally;
  • the partition switching module is configured to confirm that when it is detected that the program-controlled application program of the stimulator can run normally,
  • the backup area is set as the main program area, and the original main program area of the stimulator is set as the backup area, so that the stimulator uses the new main program area to run the corresponding program area.
  • Programmable applications are configured to : Utilize the communication device to overwrite and write the firmware update file into the spare area of the stimulator to complete the firmware update of the stimulator;
  • the device further
  • the communication device includes a program-controlled device arranged outside the patient's body; the process of detecting whether the program-controlled application of the stimulator can operate normally includes: establishing a connection between the stimulator and the program-controlled device program-controlled connection; obtain the version information of the program-controlled application program of the stimulator and the version information of the program-controlled application program of the program-controlled device; when the version information of the program-controlled application program of the stimulator and the program-controlled application program of the program-controlled device are When the version information matches, it is determined that the program-controlled application of the stimulator can run normally; when the version information of the program-controlled application of the stimulator does not match the version information of the program-controlled application of the program-controlled device, it is determined that the stimulator The program-controlled application of the device cannot run normally.
  • Figure 7 is a structural block diagram of an electronic device provided by an embodiment of the present application.
  • the electronic device 200 may include, for example, at least one memory 210, at least one processor 220, and a bus 230 connecting different platform systems.
  • the memory 210 may include readable media in the form of volatile memory, such as random access memory (Random Access Memory, RAM) 211 and/or cache memory 212, and may also include read-only memory (Read-Only Memory, ROM) 213 .
  • RAM Random Access Memory
  • ROM Read-Only Memory
  • the memory 210 also stores a computer program, which can be executed by the processor 220, so that the processor 220 realizes the function of any of the above devices or the steps of any of the above methods, and the implementation manner is the same as described in the above method implementation.
  • the implementation methods and technical effects achieved are consistent, and some contents will not be described again.
  • Memory 210 may also include a utility 214 having at least one program module 215 including: an operating system, one or more application programs, other program modules, and program data, in each or a combination of these examples. May include implementation of network environment.
  • the processor 220 can execute the above-mentioned computer program, and can execute the utility tool 214.
  • the processor 220 may use one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC), digital signal processor (Digital Signal Processor, DSP), programmable logic device (Programmable Logic Device, PLD), complex programmable logic Device (Complex Programmable Logic Device, CPLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA) or other electronic components.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • PLD programmable logic device
  • complex programmable logic Device Complex Programmable Logic Device
  • CPLD Complex Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • Bus 230 may be a local bus representing one or more of several types of bus structures, including a memory bus or memory electronics, a peripheral bus, a graphics acceleration port, a processor, or any bus structure using a variety of bus structures.
  • the electronic device 200 may also communicate with one or more external devices 240, such as a keyboard, a pointing device, a Bluetooth device, etc., and may also communicate with one or more devices capable of interacting with the electronic device 200, and/or with a device that enables the electronic device 200 to 200 is any device capable of communicating with one or more other computing devices (eg, router, modem, etc.). This communication may occur through the input/output interface 250.
  • the electronic device 200 can also communicate with one or more networks (such as a local area network (Local Area Network, LAN), a wide area network (Local Area Network, WAN), and/or a public network, such as the Internet) through the network adapter 260.
  • networks such as a local area network (Local Area Network, LAN), a wide area network (Local Area Network, WAN), and/or a public network, such as the Internet
  • Network adapter 260 may communicate with other modules of electronic device 200 via bus 230. It should be understood that, although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 200, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, redundant arrays of independent disks (Redundant Arrays of Independent Disks, RAID) systems, tape drives and data backup storage platforms, etc.
  • This application also provides a computer-readable storage medium, which stores a computer program.
  • the computer program When the computer program is executed by a processor, the function of any one of the above devices or the method of realizing any one of the above methods is realized.
  • the implementation of the steps is consistent with the implementation described in the above-mentioned method implementation and the technical effects achieved, and part of the content will not be described again.
  • Figure 8 shows a schematic structural diagram of a program product for implementing a control method provided by this application.
  • the program product can adopt a portable compact disk read-only memory (Compact Disc-ROM, CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer.
  • the program product of the present application is not limited thereto.
  • the readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, apparatus or device.
  • the Program Product may take the form of one or more readable media in any combination.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof.
  • Examples of readable storage media include: electrical connection with one or more conductors, portable disk, hard disk, RAM, ROM, EPROM or flash memory, optical fiber, CD-ROM, optical storage device, magnetic storage parts, or any suitable combination of the above.
  • a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave carrying the readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
  • a readable storage medium may also be any readable medium that can transmit, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device.
  • the program code contained on the readable storage medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, radio frequency (Radio Frequency, RF), etc., or any suitable combination of the above.
  • programming languages include object-oriented programming languages such as Java, C++, etc., and also include conventional procedural programming languages such as C language or similar programming languages.
  • the program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server execute on.
  • the remote computing device may be connected to the user computing device through any kind of network, including a LAN or WAN, or may be connected to an external computing device (such as through the Internet using an Internet service provider) .

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Computer Security & Cryptography (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Electrotherapy Devices (AREA)
  • Stored Programmes (AREA)

Abstract

固件更新方法、装置、设备、系统及介质。所述固件更新方法包括:获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件(S101);若所述植入式医疗器械满足所述固件更新条件,则利用通信设备接收固件更新文件(S102);检测所述固件更新文件是否与所述植入式医疗器械相匹配,若所述固件更新文件与所述植入式医疗器械相匹配,则利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新(S103)。

Description

固件更新方法、装置、设备、系统及介质
本申请要求在2022年07月11日提交中国专利局、申请号为202210809879.9的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及植入式医疗器械、无线通信和远程程控的技术领域,例如涉及固件更新方法、装置、设备、系统及介质。
背景技术
固件(Firmware)是写入可擦写可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)或电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)中的程序。固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。固件是一个系统最基础最底层工作的软件。
随着医学的飞速发展,以及人们对疾病机理的认识不断进步,新的治疗模式和信号处理方法不断出现,需要对植入式医疗器械进行固件更新,实现功能增强或者修正功能缺陷。植入式医疗器械对患者(控制病情,维持日常生活)有很重要的作用,所以植入式医疗机械在固件更新时需要重点关注安全问题。
对于植入式医疗器械而言,一旦植入人体内,其硬件电路及固化在程序存储器内的应用程序就无法进行变更和更新,只能通过手术更换新的植入式医疗器械,这就导致对植入式医疗器械进行固件更新时需要患者本人亲自前往有能力做手术的医院,患者的住所往往离医院较远(近则几公里,远则几千公里),这种方式不仅需要花费大量的时间和金钱,加重了患者的经济负担,还会因为做手术对患者的身体造成一定的伤害。
CN110047586A公开了一种植入医疗控制设备及其固件界面更新方法和系统,所述方法包括:与智能设备建立蓝牙通信连接;接收所述智能设备通过蓝牙通信方式发送的写入指令序列,所述写入指令序列包括界面写入指令序列,其中的界面写入指令包括固件界面数据和写入位置信息;根据所述写入位置信息选择闪存中的界面存储区,并将所述固件界面数据写入所选的界面存储区中预留的存储位置中,所述闪存中包括多个界面存储区,分别用于存储不同类型的固件界面,每个所述界面存储区中分别预留所述存储位置;利用所述存储位置中写入的固件界面数据更新所在界面存储区中的固件界面。然而,植入式医 疗器械是植入于人体内的,看不见也摸不着,植入式医疗器械本身的状态会极大程度决定固件更新能否成功,而这种方式仅仅只考虑如何有效减小更新需要的数据量,提高界面数据更新效率,并未从安全性层面进行考虑,有着较大的安全隐患。
发明内容
本申请提供固件更新方法、装置、设备、系统及介质,确保植入式医疗器械在固件更新文件适配的前提下顺利地完成整个固件更新过程,保障人身安全。
第一方面,本申请提供了一种固件更新方法,用于对植入式医疗器械进行固件更新,所述方法包括:
获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件;
若所述植入式医疗器械满足所述固件更新条件,则利用通信设备接收固件更新文件;
检测所述固件更新文件是否与所述植入式医疗器械相匹配,若所述固件更新文件与所述植入式医疗器械相匹配,则利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新。
第二方面,本申请提供了一种固件更新装置,设置为对植入式医疗器械进行固件更新,所述装置包括:
条件检测模块,设置为获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件;
固件接收模块,设置为若所述植入式医疗器械满足所述固件更新条件,则利用通信设备接收固件更新文件;
固件更新模块,设置为检测所述固件更新文件是否与所述植入式医疗器械相匹配,若所述固件更新文件与所述植入式医疗器械相匹配,则利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新。
第三方面,本申请提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述固件更新方法。
第四方面,本申请提供了一种医疗系统,所述医疗系统包括植入式医疗器械、通信设备和上述固件更新装置,所述固件更新装置设置为与所述植入式医 疗器械和所述通信设备分别进行数据交互。
第五方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述固件更新方法。
附图说明
图1是本申请实施例提供的一种医疗系统的结构框图;
图2是本申请实施例提供的一种固件更新方法的流程示意图;
图3是本申请实施例提供的一种接收固件更新文件的流程示意图;
图4是本申请实施例提供的一种检测应用程序是否能正常运行的流程示意图;
图5是本申请实施例提供的一种固件更新装置的结构框图;
图6是本申请实施例提供的一种固件接收模块的结构框图;
图7是本申请实施例提供的一种电子设备的结构框图;
图8是本申请实施例提供的一种程序产品的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做描述,首先对本申请的应用领域进行说明。
植入式神经刺激系统主要包括植入体内的刺激器以及体外的程控设备。神经调控技术主要是通过立体定向手术在体内特定结构(即靶点)植入电极,并由植入患者体内的刺激器经电极向靶点发放电脉冲,调控相应神经结构和网络的电活动及其功能,从而改善症状、缓解病痛。其中,刺激器可以是植入式神经电刺激装置、植入式心脏电刺激系统(又称心脏起搏器)、植入式药物输注装置(Implantable Drug Delivery System,IDDS)和导线转接装置中的任意一种。植入式神经电刺激装置例如是脑深部电刺激(Deep Brain Stimulation,DBS)系统、植入式脑皮层神经刺激(Cortical Nerve Stimulation,CNS)系统、植入式脊髓电刺激(Spinal Cord Stimulation,SCS)系统、植入式骶神经电刺激(Sacral Nerve Stimulation,SNS)系统、植入式迷走神经电刺激(Vagus Nerve Stimulation,VNS)系统等。
刺激器可以包括植入式脉冲发生器(Implantable Pulse Generator,IPG)、延伸导线和电极导线,IPG设置于患者体内,依靠密封电池和电路向体内组织提供可控制的电刺激能量,通过植入的延伸导线和电极导线,为体内组织的特定 区域提供一路或两路可控制的特定电刺激能量。延伸导线配合IPG使用,作为电刺激信号的传递媒体,将IPG产生的电刺激信号,传递给电极导线。电极导线将IPG产生的电刺激信号,通过多个电极触点,向体内组织的特定区域释放电刺激能量;所述植入式医疗设备具有单侧或双侧的一路或多路电极导线,所述电极导线上设置有多个电极触点,所述电极触点可以均匀排列或者非均匀排列在电极导线的周向上。作为一个示例,所述电极触点以4行3列的阵列(共计12个电极触点)排列在电极导线的周向上。电极触点可以包括刺激电极触点和/或采集电极触点。电极触点例如可以采用片状、环状、点状等形状。
在一些实现方式中,受刺激的体内组织可以是患者的脑组织,受刺激的部位可以是脑组织的特定部位。当患者的疾病类型不同时,受刺激的部位一般来说是不同的,所使用的刺激触点(单源或多源)的数量、一路或多路(单通道或多通道)特定电刺激信号的运用以及刺激参数数据也是不同的。本申请对适用的疾病类型不做限定,其可以是DBS、SCS、骨盆刺激、胃刺激、外周神经刺激、功能性电刺激所适用的疾病类型。其中,DBS可以用于治疗或管理的疾病类型包括:痉挛疾病(例如,癫痫)、疼痛、偏头痛、精神疾病(例如,重度抑郁症(Major Depressive Disorder,MDD))、躁郁症、焦虑症、创伤后压力心理障碍症、轻郁症、强迫症(Obsessive Compulsive Disorder,OCD)、行为障碍、情绪障碍、记忆障碍、心理状态障碍、移动障碍(例如,特发性震颤或帕金森氏病)、亨廷顿病、阿尔茨海默症、药物成瘾症、自闭症或其他神经学或精神科疾病和损害。
本申请中,程控设备和刺激器建立程控连接时,可以利用程控设备调整刺激器的电刺激信号的刺激参数,也可以通过刺激器感测患者脑深部的生物电活动,并可以通过所感测到的生物电活动来继续调节刺激器的电刺激信号的刺激参数。
程控设备可以是医生程控器或者患者程控器。
当医生远程程控时,医生程控器可以通过服务器、患者程控器与刺激器进行数据交互。当医生线下和患者面对面进行程控时,医生程控器可以通过患者程控器与刺激器进行数据交互,医生程控器还可以直接与刺激器进行数据交互。患者程控器还可以直接与刺激器进行数据交互。
参见图1,图1是本申请实施例提供的一种医疗系统100的结构框图。
所述医疗系统100包括:植入式医疗器械101、通信设备102和固件更新装置103,所述固件更新装置103与所述植入式医疗器械101和所述通信设备102分别进行数据交互。
所述固件更新装置103被配置成实现固件更新方法的步骤。
所述植入式医疗器械101可以包括植入于患者体内的刺激器,所述通信设备102可以包括设置于所述患者体外的程控设备。
程控设备例如可以包括平板电脑、笔记本电脑、台式机、手机和智能穿戴设备中的一种或多种。
在一些实施方式中,固件更新装置103可以与植入式医疗器械101结合为一体。在另一些实施方式中,固件更新装置103可以与通信设备102结合为一体。在又一些实施方式中,固件更新装置103可以单独设置,独立于植入式医疗器械101和通信设备102。
下文将先对固件更新方法进行说明。
参见图2,图2是本申请实施例提供的一种固件更新方法的流程示意图。
所述方法用于对植入式医疗器械进行固件更新,所述方法包括:
步骤S101:获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件。
步骤S102:若所述植入式医疗器械满足所述固件更新条件,则利用通信设备接收固件更新文件。
步骤S103:检测所述固件更新文件是否与所述植入式医疗器械相匹配,若所述固件更新文件与所述植入式医疗器械相匹配,则利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新。
由此,在对植入式医疗器械进行固件更新时,首先获取植入式医疗器械的状态信息,检测植入式医疗器械是否满足固件更新条件,只有植入式医疗器械自身满足固件更新条件,才会让通信设备接收固件更新文件,如果植入式医疗器械不满足固件更新条件,就不会让通信设备接收固件更新文件,避免占用通信设备的存储空间,也不会进行后续的固件更新操作。
在植入式医疗器械自身满足固件更新条件时,并不会直接将通信设备接收到的固件更新文件写入植入式医疗器械,而是检测固件更新文件是否与植入式医疗器械相匹配(固件更新文件是否适配植入式医疗器械),也就是固件更新文件是否能在植入式医疗器械上应用,只有植入式医疗器械满足固件更新条件且固件更新文件与植入式医疗器械相匹配时,才将固件更新文件写入植入式医疗器械。
通过这种双重检测机制(状态检测结合适配检测),确保植入式医疗器械 在固件更新文件适配的前提下顺利地完成整个固件更新过程,一方面,避免植入式医疗器械在固件更新过程中因为自身状态不好导致更新失败,从根源上排除这种隐患(要么不更新,要么完整地更新,不存在更新到一半突然中断的情况),保障人身安全;另一方面,避免植入式医疗器械所使用的固件更新文件不适配,导致固件更新文件不可用,占用植入式医疗器械的内存(植入式医疗器械是植入人体内的,受限于体积,其内存有限)。
在一些实施方式中,所述方法还可以包括:
若所述植入式医疗器械不满足所述固件更新条件,则利用所述通信设备生成第一提示信息并显示所述第一提示信息。所述第一提示信息用于提示所述植入式医疗器械不满足所述固件更新条件。
在一些实施方式中,所述方法还可以包括:
若所述固件更新文件与所述植入式医疗器械不匹配,则利用所述通信设备生成第二提示信息并显示所述第二提示信息。所述第二提示信息用于提示所述固件更新文件与所述植入式医疗器械不匹配。
在一些实施方式中,所述植入式医疗器械包括植入于患者体内的刺激器,所述通信设备包括设置于所述患者体外的程控设备、患者终端多媒体通信设备、医生终端多媒体通信设备和服务器。其中,患者终端多媒体通信设备和医生终端多媒体通信设备可以包括平板电脑、笔记本电脑、台式机、手机和智能穿戴设备中的一种或多种。
程控设备可以包括医生程控器和患者程控器。
患者程控器与患者端终端多媒体通信设备相连接双向通信,医生程控器与医生终端多媒体通信设备相连接双向通信,患者终端多媒体通信设备与医生终端多媒体通信设备通过高速远程通信网络相连接双向通信。
患者终端多媒体通信设备将患者的植入式医疗器械的状态信息通过高速远程通信网络传输给医生终端多媒体通信设备。
接收固件更新文件的工作可以由患者终端多媒体通信设备或者医生终端多媒体通信设备完成,将固件更新文件写入植入式医疗器械的工作可以由医生程控器或者患者程控器完成。
在一些实施方式中,所述状态信息包括所述植入式医疗器械的电量和/或所述植入式医疗器械与所述通信设备的通信质量评分;所述固件更新条件包括以下一种或多种:所述植入式医疗器械的电量不小于预设电量阈值;所述植入式医疗器械与所述通信设备的通信质量评分不小于预设评分阈值。
由此,在利用通信设备接收固件更新文件之前,根据植入式医疗器械的状态信息检测其是否满足固件更新条件,只有植入式医疗器械自身满足固件更新条件,才会让通信设备接收固件更新文件,避免占用通信设备的存储空间。
一方面,当固件更新条件包括植入式医疗器械的电量不小于预设电量阈值时,满足固件更新条件表明植入式医疗器械的电量较高,可以支撑其完成整个固件更新过程;另一方面,当固件更新条件包括植入式医疗器械与通信设备的通信质量评分不小于预设评分阈值时,满足固件更新条件表明植入式医疗器械与通信设备的通信质量良好,植入式医疗器械可以通过与通信设备的数据交互实现固件更新。
本申请对预设电量阈值和预设评分阈值不作限定,预设电量阈值可以是5%、8%或者10%,预设评分阈值例如可以是50、60或者90。
本申请对通信质量评分的获取方式不做限定,例如可以采用CN105474608A公开的通信质量估计方法、CN113411672A公开的通信质量估计方法或者CN101091358A公开的通信质量评价方法。
在一些实施方式中,所述步骤S101可以包括:
获取所述患者的生物电信号;基于所述状态信息和所述患者的生物电信号,检测所述植入式医疗器械是否满足固件更新条件。其中,所述固件更新条件还可以包括:所述患者的生物电信号没有发生异常。
检测所述患者的生物电信号是否发生异常的过程如下:
将所述患者的生物电信号输入异常检测模型,以输出所述生物电信号对应的预测相似度;其中,所述异常检测模型用于将所述生物电信号分别与异常数据库中的每个异常生物电信号进行比对,得到所述生物电信号与每个异常生物电信号的相似度,将所述生物电信号对应的多个相似度中最高的相似度作为所述生物电信号对应的预测相似度;当所述预测相似度不小于第一相似度阈值时,确定所述生物电信号发生异常;当所述预测相似度小于所述第一相似度阈值时,确定所述生物电信号没有发生异常。
由于植入式医疗器械的固件更新过程较长(可能持续好几个小时),在对植入式医疗器械进行固件更新时,不仅要考虑植入式医疗器械本身的状态,还要考虑患者的身体状况能不能支持长时间的固件更新过程,如果患者的生物电信号发生异常,表明患者状态不佳,可能发病,是不适合进行固件更新的。
通过将患者的生物电信号输入异常检测模型,利用异常检测模型确定生物电信号对应的预测相似度,其中,异常检测模型可以调用异常数据库,异常数据库存储着大量的异常生物电信号,异常生物电信号可以是不同的病患在发病 时对应的生物电信号,还可以是当前患者本人在发病时对应的生物电信号,当前患者患有帕金森病时,异常数据库的异常生物电信号可以包括帕金森患者在发病时对应的生物电信号,将患者的生物电信号分别与异常数据库中的每个异常生物电信号进行比对,将多个相似度中最高的相似度作为预测相似度,通过比较预测相似度和预设相似度阈值的大小来判断患者的生物电信号是否发生异常,预测相似度越高,患者的生物电信号越有可能发生异常,患者越有可能发病,将患者的生物电信号与异常数据库预先存储的多个异常生物电信号逐一进行比对,找出相似度最高的异常生物电信号,提高了异常检测结果的准确性。
在一些实施方式中,患者的生物电信号可以利用生物电采集设备采集得到。
本申请对生物电采集设备不作限定,生物电采集设备可以包括以下任意一种或多种:脑电采集设备(例如电极帽、皮层电极、颅内电极等)、心电采集设备、眼电采集设备、肌电采集设备。相应地,患者的生物电信号可以包括以下任意一种或多种:脑电信号、心电信号、眼电信号、肌电信号。
在一应用中,生物电采集设备可以是植入于患者体内的刺激器,患者的生物电信号可以包括脑电信号,刺激器兼具感测脑电信号和递送电刺激的功能。
预测相似度可以用数字或者百分数表示,用数字表示时,预测相似度例如是60、80或者90;用百分数表示时,预测相似度例如是60%、80%或者90%,数值越高,预测相似度越高。
本申请对第一相似度阈值不作限定,其可以是70%、80%或者90%。
所述异常检测模型的训练过程可以包括:
获取第一训练集,所述第一训练集包括多个第一训练数据,每个所述第一训练数据包括用于训练的第一样本信号、第二样本信号以及所述第一样本信号和所述第二样本信号的相似度的标注数据;针对所述第一训练集中的每个第一训练数据,执行以下处理:
将所述第一训练数据中的第一样本信号和第二样本信号分别输入预设的第一深度学习模型,得到所述第一样本信号和所述第二样本信号的相似度的预测数据;基于所述第一样本信号和所述第二样本信号的相似度的预测数据和标注数据,对所述第一深度学习模型的模型参数进行更新;检测是否满足预设的第一训练结束条件;如果满足预设的第一训练结束条件,则将训练出的第一深度学习模型作为所述异常检测模型;如果不满足预设的第一训练结束条件,则利用下一个所述第一训练数据继续训练所述第一深度学习模型。
本申请对预设的第一训练结束条件不作限定,其例如可以是训练次数达到预设次数(预设次数例如是1次、3次、10次、100次、1000次、10000次等), 或者可以是第一训练集中的训练数据都完成一次或多次训练,或者可以是本次训练得到的总损失值不大于预设损失值。
参见图3,图3是本申请实施例提供的一种接收固件更新文件的流程示意图。
在一些实施例中,利用所述通信设备接收所述固件更新文件的过程包括:
步骤S201:获取所述固件更新文件的标识信息和下载地址。
步骤S202:利用所述通信设备下载所述下载地址对应的待确认文件。
步骤S203:获取所述待确认文件的标识信息。
步骤S204:当检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致时,将所述待确认文件作为所述固件更新文件。
由此,一般而言,根据固件更新文件对应的下载地址所下载到的文件(待确认文件)可能不是真正的固件更新文件,所以需要对下载到的待确认文件进行验证,只有验证通过,才算接收到正确的固件更新文件。
验证的方式可以是将待确认文件的标识信息和固件更新文件的标识信息进行比对,如果二者一致,表明待确认文件就是固件更新文件,如果不一致,表明待确认文件是其他的文件,下载错了文件。
在一些实施方式中,获取所述固件更新文件的标识信息和下载地址的方式可以包括以下一种或多种:
方式一:医生终端多媒体通信设备根据植入式医疗器械的基本信息(设备标识)自动从服务器检查与植入式医疗器械相匹配的固件更新文件版本,由此得到最新版本的固件更新文件的下载信息,下载信息包括标识信息和下载地址。
方式二:患者终端多媒体通信设备定时(每天或每次启动设备)从服务器接口检查是否有新的固件更新文件版本。
方式三:服务器发布新的固件更新文件版本时可以推送消息给患者终端多媒体设备,或者直接推送至患者手机上的应用程序(Application,APP),提醒患者利用患者终端多媒体通信设备对植入式医疗器械进行固件更新。
在一些实施例中,所述标识信息包括以下一种或多种:信息摘要算法2(Message-Digest Algorithm 2,MD2)值、MD3值、MD4值、MD5值、安全散列算法-0(Secure Hash Algorithm-0,SHA-0)值、SHA-1值、和SHA-2值。
由此,标识信息可以是散列值,散列值可以包括以下一种或多种:MD2值、MD3值、MD4值、MD5值、SHA-0值、SHA-1值、和SHA-2值,相应地,获取标识信息的过程可以是散列运算的过程。
可以通过对下载的待确认文件执行散列运算来检查数据的正确性,将计算出的散列值拿来和固件更新文件的散列值比较,如果两个值相同,表明下载的数据完整无误,没有被篡改过,从而可以放心地使用待确认文件。
信息摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。信息摘要算法也被称为哈希(Hash)算法或散列算法。
MD5,它由MD2、MD3、MD4发展而来,由Ron Rivest(RSA公司)在1992年提出,被广泛应用于数据完整性校验、数据(信息)摘要、数据加密等。MD2、MD4、MD5都产生16字节(128位)的校验值,一般用32位十六进制数表示。MD2的算法较慢但相对安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。
SHA是美国国家安全局(National SecurityAgency,NSA)设计,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)发布的一系列密码散列函数。SHA的家族第一个成员发布于1993年。它被取了一个非正式的名称“SHA-0”以避免与它的后继者混淆。两年之后,第一个SHA的后继者“SHA-1”发布了。另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计:SHA-224、SHA-256、SHA-384和SHA-512(这些有时候也被称做“SHA-2”)。由于SHA产生的数据摘要的长度更长,因此更难以发生碰撞,因此也更为安全,是未来信息摘要算法的发展方向。由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。
在一应用中,医生根据患者的植入式医疗器械的设备标识选择合适的固件更新文件的版本,并将下载地址及固件更新文件的MD5值通过高速网络发送给患者终端多媒体通信设备,患者终端多媒体通信根据下载地址从服务器下载文件(待确认文件)。
患者终端多媒体通信设备检查下载的文件的MD5值与医生发送的MD5值是否相等,若下载的文件的MD5值与医生发送的MD5值相等则表示下载的文件是正确的,若下载的文件的MD5值与医生发送的MD5值不相等则是错误的,并发送错误提示信息给医生终端多媒体通信设备。
在一些实施例中,所述步骤S204可以包括:
当检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致时,对所述待确认文件进行数据校验,其中,所述数据校验包括循环冗余校验(Cyclic Redundancy Check,CRC)和/或错误检查和纠正(Error Checking and  Correction,ECC)校验;当数据校验成功时,确定所述待确认文件的数据完整,将所述待确认文件作为所述固件更新文件;所述方法还可以包括:当数据校验失败时,确定所述待确认文件的数据不完整,利用所述通信设备生成提示信息并显示提示信息。
由此,在待确认文件通过验证之后,还需要对待确认文件进行数据校验以检测待确认文件的数据是否完整,数据校验成功,表明待确认文件的数据完整;数据校验失败,表明待确认文件的数据不完整,利用通信设备显示对应的提示信息,提示用户下载的数据出错,便于用户及时采取对应的补救措施。
CRC算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是CRC32算法,它产生一个4字节(32位)的校验值,一般是以8位十六进制数。CRC算法的优点在于简便、速度快,严格的来说,CRC更应该被称为数据校验算法,但其功能与信息摘要算法类似,因此也作为测试的算法。
ECC内存,它是在数据位上额外的位存储一个用数据加密的代码。当数据被写入内存,相应的ECC代码与此同时也被保存下来。当重新读回刚才存储的数据时,保存下来的ECC代码就会和读数据时产生的ECC代码做比较。如果两个代码不相同,他们则会被解码,以确定数据中的哪一位是不正确的。然后这一错误位会被抛弃,内存控制器则会释放出正确的数据。
在一应用中,可以使用CRC校验固件更新文件的数据是否完整,如果固件更新文件的数据完整,患者终端多媒体通信设备检查下载的固件更新文件是否与植入式医疗器械匹配,如果固件更新文件的数据不完整,发送下载失败的提示信息给医生终端多媒体通信设备。
在一些实施例中,所述步骤S103中检测所述固件更新文件是否与所述植入式医疗器械相匹配的步骤可以包括:
获取所述植入式医疗器械的设备标识与所述固件更新文件对应的至少一个适用器械的设备标识;将所述植入式医疗器械的设备标识与每个所述适用器械的设备标识进行匹配;当所述植入式医疗器械的设备标识与其中一个所述适用器械的设备标识相匹配时,确定所述固件更新文件与所述植入式医疗器械相匹配;当所述植入式医疗器械的设备标识与所有适用器械的设备标识都不匹配时,确定所述固件更新文件与所述植入式医疗器械不匹配。
由此,一般而言,固件更新文件只能在与之对应的器械上应用,所以,在写入固件更新文件之前,需要检测固件更新文件是否与植入式医疗器械相匹配,也就是固件更新文件是否能在植入式医疗器械上应用,从而避免写入固件更新文件之后才发现不能应用,白白占用植入式医疗器械有限的内存空间。
可以将植入式医疗器械的设备标识与固件更新文件的适用器械的设备标识进行匹配,匹配成功,则表明固件更新文件可以在该植入式医疗器械上应用;匹配失败,则表明固件更新文件不能在该植入式医疗器械上应用。
设备标识可以用中文、字母、数字、字符中的一种或多种表示。
在一应用中,患者小李和患者小张都要对各自的植入式医疗器械进行固件更新。其中,患者小李的植入式医疗器械的设备标识为A001,患者小张的植入式医疗器械的设备标识为C001,固件更新文件对应的适用器械的设备标识包括A001和B001。
则固件更新文件与患者小李的植入式医疗器械相匹配,固件更新文件与患者小张的植入式医疗器械不匹配,患者小张的患者终端多媒体通信设备发送固件匹配失败的提示信息给医生终端多媒体通信设备。
在另一些实施例中,所述步骤S103中检测所述固件更新文件是否与所述植入式医疗器械相匹配的过程可以包括:
获取所述植入式医疗器械的设备标识与所述固件更新文件对应的适用器械的设备标识的预设规则;检测所述植入式医疗器械的设备标识是否符合所述预设规则;如果所述植入式医疗器械的设备标识符合所述预设规则,则确定所述检测所述固件更新文件与所述植入式医疗器械相匹配;如果所述植入式医疗器械的设备标识不符合所述预设规则,则确定所述检测所述固件更新文件与所述植入式医疗器械不匹配。
在一些实施方式中,检测所述固件更新文件是否与所述植入式医疗器械相匹配的方式,可以包括以下一种或多种:
方式一:将固件更新文件的文件名转化为正则表达式,通过该正则表达式检测固件更新文件是否与植入式医疗器械相匹配。
方式二:在固件更新文件中写入适用器械的设备标识,患者终端多媒体通信设备读取文件内容后检测。
方式三:由服务端实现检测逻辑,患者终端多媒体通信设备调用服务器接口检测。
在一些实施例中,所述植入式医疗器械是植入于患者体内的刺激器,所述固件更新文件对应的应用程序包括所述刺激器的程控应用程序;所述利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,包括:利用所述通信设备将所述固件更新文件覆盖写入所述刺激器的备用区,以完成对所述刺激器的固件更新;所述方法还包括:在固件更新结束后,检测所述刺激器的程控应用程序是否能正常运行;当检测到所述刺激器的程控应用程序能正常运行时, 确定所述刺激器固件更新成功,将所述备用区设置为新的主程序区,将所述刺激器原来的主程序区设置为备用区,以使所述刺激器利用新的主程序区运行对应的程控应用程序。
由此,植入式医疗器械可以是刺激器,在将固件更新文件写入刺激器时,可以先利用通信设备将固件更新文件覆盖写入刺激器的备用区,备用区和主程序区是相互独立管理的两个分区,这样的话,固件更新如果失败,不会影响到当前的主程序区的程序运行,保障刺激器的正常运行。
当固件更新完成后,检测刺激器的程控应用程序能否正常运行,只有该程控应用程序能正常运行,固件更新才算成功,将当前程控应用程序所在的备用区设置为新的主程序区,将原来的主程序区设置为备用区(主程序区和备用区都可以运行程序,区别在于只允许主程序区运行程控应用程序,以响应程控),这样的话,刺激器可以利用新的主程序区运行对应的程控应用程序,通过主程序区和备用区的无缝切换,使得主程序区的程控功能不会(因为固件更新)被打断,保障刺激器的正常运行。
在另一些实施例中,所述步骤S103中利用所述通信设备将所述固件更新文件写入所述植入式医疗器械的步骤可以包括:
利用所述通信设备将所述固件更新文件覆盖写入所述植入式医疗器械的备用区,以完成对所述植入式医疗器械的固件更新;所述方法还可以包括:在固件更新结束后,重启所述植入式医疗器械以跳转进入所述固件更新文件对应的应用程序;当检测到所述应用程序能正常运行时,确定所述植入式医疗器械固件更新成功,将所述固件更新文件覆盖写入所述植入式医疗器械的主程序区。
由此,将固件更新文件写入植入式医疗器械的过程可以分别两个阶段进行。
第一阶段,先利用所述通信设备将固件更新文件覆盖写入植入式医疗器械的备用区,这样的话,固件更新不论结果成功还是失败都不会影响到主程序区的程序运行,保障植入式医疗器械的正常运行,只有在完成第一阶段后,也就是固件更新完成后,才会进入到第二阶段。
第二阶段,重启植入式医疗器械,跳转进入固件更新文件对应的应用程序,检测该应用程序能否正常运行,只有该应用程序能正常运行,固件更新才算成功,将固件更新文件覆盖写入植入式医疗器械的主程序区。
通过这种分阶段覆盖写入的方式大大保障了植入式医疗器械的主程序区的安全运行。
参见图4,图4是本申请实施例提供的一种检测应用程序是否能正常运行的流程示意图。
在一些实施例中,所述通信设备包括设置于所述患者体外的程控设备;检测所述刺激器的程控应用程序是否能正常运行的过程可以包括:
步骤S301:建立所述刺激器与所述程控设备之间的程控连接。
步骤S302:获取所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用程序的版本信息。
步骤S303:当所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息相匹配时,确定所述刺激器的程控应用程序能正常运行。
步骤S304:当所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息不匹配时,确定所述刺激器的程控应用程序不能正常运行。
由此,植入式医疗器械可以是刺激器,通信设备可以是程控设备,检测应用程序是否能正常运行的一个重要指标就是程控设备能否对刺激器进行程控。可以先建立刺激器与程控设备之间的程控连接,查看刺激器的程控应用程序的版本信息和程控设备的程控应用程序的版本信息,如果二者相匹配,表明程控设备可以对刺激器进行程控,刺激器的程控应用程序就可以正常运行;如果二者不匹配,表明程控设备不能对刺激器进行程控,刺激器的程控应用程序不能正常运行。
版本信息可以用中文、字母、数字、字符中的一种或多种表示。版本信息例如可以是A_01、B_01或者T#001。
在一应用中,患者小王的刺激器的程控应用程序的版本信息为A_01,患者小王的患者程控器的程控应用程序的版本信息为C_01,则患者小王的刺激器的程控应用程序的版本信息和患者程控器的程控应用的版本信息不匹配,刺激器的程控应用程序不能正常运行,利用患者小王的患者程控器显示程控应用程序版本不匹配的提示信息。
参见图5,图5是本申请实施例提供的一种固件更新装置的结构框图。
本申请实施例还提供了一种固件更新装置,其实现方式与上述方法实施方式中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
所述固件更新装置设置为对植入式医疗器械进行固件更新,所述装置包括:条件检测模块101,设置为获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件;固件接收模块102,设置为若所述植入式医疗器械满足所述固件更新条件,则利用通信设备接收固件更新文件;固件更新模块103,设置为检测所述固件更新文件是否与所述植入式医疗器械相匹配,若所述固件更新文件与所述植入式医疗器械相匹配,则利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述 植入式医疗器械的固件更新。
在一些实施例中,所述状态信息包括所述植入式医疗器械的电量和/或所述植入式医疗器械与所述通信设备的通信质量评分;所述固件更新条件包括以下一种或多种:所述植入式医疗器械的电量不小于预设电量阈值;所述植入式医疗器械与所述通信设备的通信质量评分不小于预设评分阈值。
参见图6,图6是本申请实施例提供的一种固件接收模块的结构框图。
在一些实施例中,所述固件接收模块102包括:地址获取单元201,设置为获取所述固件更新文件的标识信息和下载地址;文件下载单元202,设置为利用所述通信设备下载所述下载地址对应的待确认文件;标识获取单元203,设置为获取所述待确认文件的标识信息;一致检测单元204,设置为当检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致时,将所述待确认文件作为所述固件更新文件。
在一些实施例中,所述标识信息包括以下一种或多种:MD2值、MD3值、MD4值、MD5值、SHA-0值、SHA-1值、和SHA-2值。
在一些实施例中,所述一致检测单元204设置为:当检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致时,对所述待确认文件进行数据校验,其中,所述数据校验包括CRC和/或ECC校验;当数据校验成功时,确定所述待确认文件的数据完整,将所述待确认文件作为所述固件更新文件;所述装置还包括:失败提示模块,设置为当数据校验失败时,确定所述待确认文件的数据不完整,利用所述通信设备生成提示信息并显示提示信息。
在一些实施例中,所述固件更新模块103设置为:获取所述植入式医疗器械的设备标识与所述固件更新文件对应的至少一个适用器械的设备标识;将所述植入式医疗器械的设备标识与每个适用器械的设备标识进行匹配;在所述植入式医疗器械的设备标识与所述至少一个适用器械的设备标识中一个适用器械的设备标识相匹配的情况下,确定所述固件更新文件与所述植入式医疗器械相匹配;在所述植入式医疗器械的设备标识与所有适用器械的设备标识都不匹配的情况下,确定所述固件更新文件与所述植入式医疗器械不匹配。
在一些实施例中,所述植入式医疗器械是植入于患者体内的刺激器,所述固件更新文件对应的应用程序包括所述刺激器的程控应用程序;所述固件更新模块103设置为:利用所述通信设备将所述固件更新文件覆盖写入所述刺激器的备用区,以完成对所述刺激器的固件更新;所述装置还包括:运行检测模块,设置为在固件更新结束后,检测所述刺激器的程控应用程序是否能正常运行;分区切换模块,设置为当检测到所述刺激器的程控应用程序能正常运行时,确 定所述刺激器固件更新成功,将所述备用区设置为主程序区,将所述刺激器原来的主程序区设置为备用区,以使所述刺激器利用新的主程序区运行对应的程控应用程序。
在一些实施例中,所述通信设备包括设置于所述患者体外的程控设备;检测所述刺激器的程控应用程序是否能正常运行的过程包括:建立所述刺激器与所述程控设备之间的程控连接;获取所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用程序的版本信息;当所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息相匹配时,确定所述刺激器的程控应用程序能正常运行;当所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息不匹配时,确定所述刺激器的程控应用程序不能正常运行。
参见图7,图7是本申请实施例提供的一种电子设备的结构框图。
电子设备200例如可以包括至少一个存储器210、至少一个处理器220以及连接不同平台系统的总线230。
存储器210可以包括易失性存储器形式的可读介质,例如随机存取存储器(Random Access Memory,RAM)211和/或高速缓存存储器212,还可以包括只读存储器(Read-Only Memory,ROM)213。
存储器210还存储有计算机程序,计算机程序可以被处理器220执行,使得处理器220实现上述任一项装置的功能或者实现上述任一项方法的步骤,其实现方式与上述方法实施方式中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
存储器210还可以包括具有至少一个程序模块215的实用工具214,这样的程序模块215包括:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例的每一个或一种组合中可能包括网络环境的实现。
相应的,处理器220可以执行上述计算机程序,以及可以执行实用工具214。
处理器220可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他电子元件。
总线230可以为表示几类总线结构的一种或多种,包括存储器总线或者存储器电子设备、外围总线、图形加速端口、处理器或者使用多种总线结构的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备240例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入输出接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Local Area Network,WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、独立磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储平台等。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项装置的功能或者实现上述任一项方法的步骤,其实现方式与上述方法实施方式中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
参见图8,图8示出了本申请提供的一种用于实现控制方法的程序产品的结构示意图。程序产品可以采用便携式紧凑盘只读存储器(Compact Disc-ROM,CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本申请中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、EPROM或闪存、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意 组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括LAN或WAN,连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

Claims (12)

  1. 一种固件更新方法,用于对植入式医疗器械进行固件更新,包括:
    获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件;
    响应于所述植入式医疗器械满足所述固件更新条件,利用通信设备接收固件更新文件;
    检测所述固件更新文件是否与所述植入式医疗器械相匹配,响应于所述固件更新文件与所述植入式医疗器械相匹配,利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新。
  2. 根据权利要求1所述的固件更新方法,其中,所述状态信息包括以下至少之一:所述植入式医疗器械的电量;所述植入式医疗器械与所述通信设备的通信质量评分;
    所述固件更新条件包括以下至少一种:
    所述植入式医疗器械的电量不小于预设电量阈值;
    所述植入式医疗器械与所述通信设备的通信质量评分不小于预设评分阈值。
  3. 根据权利要求1所述的固件更新方法,其中,所述利用通信设备接收固件更新文件,包括:
    获取所述固件更新文件的标识信息和下载地址;
    利用所述通信设备下载所述下载地址对应的待确认文件;
    获取所述待确认文件的标识信息;
    在检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致的情况下,将所述待确认文件作为所述固件更新文件。
  4. 根据权利要求3所述的固件更新方法,其中,所述标识信息包括以下至少一种:信息摘要算法MD2值、MD3值、MD4值、MD5值、安全散列算法SHA-0值、SHA-1值、和SHA-2值。
  5. 根据权利要求3所述的固件更新方法,其中,所述在检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致的情况下,将所述待确认文件作为所述固件更新文件,包括:
    在检测到所述待确认文件的标识信息与所述固件更新文件的标识信息一致的情况下,对所述待确认文件进行数据校验,其中,所述数据校验包括循环冗余校验CRC和错误检查和纠正ECC校验中的至少之一;
    在数据校验成功的情况下,确定所述待确认文件的数据完整,将所述待确认文件作为所述固件更新文件;
    所述方法还包括:
    在数据校验失败的情况下,确定所述待确认文件的数据不完整,利用所述通信设备生成提示信息并显示所述提示信息。
  6. 根据权利要求1所述的固件更新方法,其中,所述检测所述固件更新文件是否与所述植入式医疗器械相匹配,包括:
    获取所述植入式医疗器械的设备标识与所述固件更新文件对应的至少一个适用器械的设备标识;
    将所述植入式医疗器械的设备标识与每个适用器械的设备标识进行匹配;
    在所述植入式医疗器械的设备标识与所述至少一个适用器械的设备标识中一个适用器械的设备标识相匹配的情况下,确定所述固件更新文件与所述植入式医疗器械相匹配;
    在所述植入式医疗器械的设备标识与所有适用器械的设备标识都不匹配的情况下,确定所述固件更新文件与所述植入式医疗器械不匹配。
  7. 根据权利要求1所述的固件更新方法,其中,所述植入式医疗器械是植入于患者体内的刺激器,所述固件更新文件对应的应用程序包括所述刺激器的程控应用程序;
    所述利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,包括:
    利用所述通信设备将所述固件更新文件覆盖写入所述刺激器的备用区,以完成对所述刺激器的固件更新;
    所述方法还包括:
    在固件更新结束后,检测所述刺激器的程控应用程序是否能正常运行;
    在检测到所述刺激器的程控应用程序能正常运行的情况下,确定所述刺激器固件更新成功,将所述备用区设置为主程序区,将所述刺激器原来的主程序区设置为备用区,以使所述刺激器利用新的主程序区运行对应的程控应用程序。
  8. 根据权利要求7所述的固件更新方法,其中,所述通信设备包括设置于所述患者体外的程控设备;
    检测所述刺激器的程控应用程序是否能正常运行,包括:
    建立所述刺激器与所述程控设备之间的程控连接;
    获取所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用程序的版本信息;
    在所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息相匹配的情况下,确定所述刺激器的程控应用程序能正常运行;
    在所述刺激器的程控应用程序的版本信息和所述程控设备的程控应用的版本信息不匹配的情况下,确定所述刺激器的程控应用程序不能正常运行。
  9. 一种固件更新装置,设置为对植入式医疗器械进行固件更新,包括:
    条件检测模块,设置为获取所述植入式医疗器械的状态信息,并基于所述状态信息,检测所述植入式医疗器械是否满足固件更新条件;
    固件接收模块,设置为响应于所述植入式医疗器械满足所述固件更新条件,利用通信设备接收固件更新文件;
    固件更新模块,设置为检测所述固件更新文件是否与所述植入式医疗器械相匹配,响应于所述固件更新文件与所述植入式医疗器械相匹配,利用所述通信设备将所述固件更新文件写入所述植入式医疗器械,以实现对所述植入式医疗器械的固件更新。
  10. 一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1-8任一项所述的固件更新方法。
  11. 一种医疗系统,包括植入式医疗器械、通信设备和权利要求9所述的固件更新装置,所述固件更新装置设置为与所述植入式医疗器械和所述通信设备分别进行数据交互。
  12. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的固件更新方法。
PCT/CN2023/100074 2022-07-11 2023-06-14 固件更新方法、装置、设备、系统及介质 WO2024012134A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210809879.9 2022-07-11
CN202210809879.9A CN114880001B (zh) 2022-07-11 2022-07-11 固件更新方法及相关装置

Publications (1)

Publication Number Publication Date
WO2024012134A1 true WO2024012134A1 (zh) 2024-01-18

Family

ID=82683409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/100074 WO2024012134A1 (zh) 2022-07-11 2023-06-14 固件更新方法、装置、设备、系统及介质

Country Status (2)

Country Link
CN (1) CN114880001B (zh)
WO (1) WO2024012134A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118152204A (zh) * 2024-05-13 2024-06-07 华安证券股份有限公司 基于taf微服务架构的接口智能化测试方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880001B (zh) * 2022-07-11 2022-09-27 苏州景昱医疗器械有限公司 固件更新方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184113A (zh) * 2011-05-12 2011-09-14 深圳市锘特达科技发展有限公司 植入式医疗设备的软件升级方法
CN104660717A (zh) * 2015-03-16 2015-05-27 北京品驰医疗设备有限公司 一种植入式医疗器械的远程监控系统的工作方法
US20160253471A1 (en) * 2015-02-27 2016-09-01 Zoll Medical Corporation Downloading and Booting Method and System for A Wearable Medical Device
CN113504932A (zh) * 2021-08-06 2021-10-15 恒为科技(上海)股份有限公司 一种固件数据更新方法和装置
CN114880001A (zh) * 2022-07-11 2022-08-09 苏州景昱医疗器械有限公司 固件更新方法及相关装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636163A (zh) * 2014-12-31 2015-05-20 青岛海尔科技有限公司 一种固件升级的方法及相关装置和系统
CN111258613B (zh) * 2020-03-11 2023-07-25 Oppo广东移动通信有限公司 固件升级方法、装置、电子设备以及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184113A (zh) * 2011-05-12 2011-09-14 深圳市锘特达科技发展有限公司 植入式医疗设备的软件升级方法
US20160253471A1 (en) * 2015-02-27 2016-09-01 Zoll Medical Corporation Downloading and Booting Method and System for A Wearable Medical Device
CN104660717A (zh) * 2015-03-16 2015-05-27 北京品驰医疗设备有限公司 一种植入式医疗器械的远程监控系统的工作方法
CN113504932A (zh) * 2021-08-06 2021-10-15 恒为科技(上海)股份有限公司 一种固件数据更新方法和装置
CN114880001A (zh) * 2022-07-11 2022-08-09 苏州景昱医疗器械有限公司 固件更新方法及相关装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118152204A (zh) * 2024-05-13 2024-06-07 华安证券股份有限公司 基于taf微服务架构的接口智能化测试方法及装置

Also Published As

Publication number Publication date
CN114880001A (zh) 2022-08-09
CN114880001B (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
WO2024012134A1 (zh) 固件更新方法、装置、设备、系统及介质
JP4364644B2 (ja) 埋め込み可能医療デバイスを遠隔操作でプログラムする方法および装置
US7565197B2 (en) Conditional requirements for remote medical device programming
CN113795299A (zh) 植入后患者状态和医疗装置性能的评估
JP2021525918A (ja) 患者医療装置によって生成された医療データの安全な共有のためのシステムおよび方法
US8140160B2 (en) Systems and methods for interacting with an implantable medical device
US12070292B2 (en) Systems and methods of integrating ambulatory medical devices
WO2024021959A1 (zh) 程控装置、医疗系统及计算机可读存储介质
US20060189854A1 (en) Method and apparatus for remotely programming implantable medical devices
US20130333054A1 (en) Post-download patient data protection in a medical device
EP1971945A2 (en) Remotely programming a patient medical device
EP4140534A1 (en) System and method for implantable medical device remote programming
CN111375130A (zh) 绑定患者控制设备与有源植入设备的方法及医用控制设备
CN116936060A (zh) 医疗系统的故障检测方法及相关装置
CN103561093B (zh) 植入式医疗器械的无线程控系统
Cao et al. Secure method for software upgrades for implantable medical devices
CN114870252A (zh) 可兼容多种ipg的程控器、服务器及神经刺激系统
CN114792562A (zh) 刺激发生控制设备、系统及计算机可读存储介质
US20240330448A1 (en) Medical device bio-firewall
WO2024101012A1 (ja) パルス高周波治療装置及びパルス高周波治療システム
US20240363235A1 (en) Systems and methods for global patient medical device data processing
CN116846626A (zh) 用于遥控医疗设备的电子设备及相关装置
WO2024099648A1 (en) Implant communication system and method for communicating with an implantable medical device
CN116825317A (zh) 程控配对方法、电子设备、存储介质及程序产品
WO2022189138A1 (en) Embedded app

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23838628

Country of ref document: EP

Kind code of ref document: A1