CN108965416B - Medical data sharing method and device, computer equipment and storage medium - Google Patents
Medical data sharing method and device, computer equipment and storage medium Download PDFInfo
- Publication number
- CN108965416B CN108965416B CN201810725981.4A CN201810725981A CN108965416B CN 108965416 B CN108965416 B CN 108965416B CN 201810725981 A CN201810725981 A CN 201810725981A CN 108965416 B CN108965416 B CN 108965416B
- Authority
- CN
- China
- Prior art keywords
- terminal
- medical data
- sharing platform
- instruction
- address
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
The application relates to a medical data sharing method, a medical data sharing device, a computer device and a storage medium. The method comprises the steps that when a second terminal receives an instruction of sending medical data to a first terminal, a first address identification of the first terminal is inquired, and a first network address corresponding to the first address identification is obtained; connecting the second terminal with the first terminal through the first network address; when the connection fails, connecting the second terminal with the sharing platform; acquiring a first public key corresponding to the first terminal from the sharing platform, and encrypting the medical data through the first public key to obtain a forwarding instruction; sending a forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a corresponding first response result returned by the first terminal to the second terminal; and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result. By adopting the method, medical data sharing can be realized.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a medical data sharing method and apparatus, a computer device, and a storage medium.
Background
With the development of communication technology, medical data stored in each medical institution can be theoretically shared, so that the medical needs of patients can be met.
However, the sharing of medical data of each medical institution cannot meet the current requirement, for example, when one medical institution a needs medical data of another medical institution B, it is common that a patient takes a written medical record that was last seen at the medical institution B to a doctor of the medical institution a for viewing, so that only the content of the written medical record can be given, and after the medical record is lost, the medical data is lost, and thus the medical institution a cannot obtain the medical data of the medical institution B.
Disclosure of Invention
In view of the above, it is necessary to provide a medical data sharing method, apparatus, computer device and storage medium capable of implementing medical data sharing in view of the above technical problems.
A medical data sharing method, the method comprising:
when a second terminal receives an instruction of sending medical data to a first terminal, inquiring a first address identifier of the first terminal and acquiring a first network address corresponding to the first address identifier;
connecting the second terminal with the first terminal through the first network address;
when the connection between the second terminal and the first terminal fails, connecting the second terminal with a shared platform;
acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting medical data through the first public key, and obtaining a forwarding instruction according to the encrypted medical data;
sending the forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result corresponding to the encrypted medical data returned by the first terminal to the second terminal;
and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result.
In one embodiment, the method further comprises:
when the connection with the sharing platform fails, performing first broadcast on the medical data;
and receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the successfully-sent medical data as successful sending according to the second response result.
In one embodiment, the method further comprises:
when a second terminal receives a user account instruction for sending medical data to a sharing platform, acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier;
establishing connection between the second terminal and a sharing platform through the second network address;
when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account;
and sending the encrypted medical data to a corresponding user account in the sharing platform.
In one embodiment, the method further comprises:
when an abstract of medical data sent by a first terminal is received, acquiring a transaction identifier and an associated transaction identifier corresponding to the medical data;
inquiring whether medical data corresponding to the associated transaction identification is stored locally;
if the first address identification of the first terminal exists, the second address identification of the second terminal, the summary of the medical data and the transaction identification are used for generating a first verification instruction;
sending the first verification instruction to a sharing platform, wherein the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data;
and when a successful verification result corresponding to the first verification instruction returned by the shared platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, the method further comprises:
when medical data corresponding to the associated transaction identifier is not stored locally, performing second broadcast on the associated transaction identifier, wherein the second broadcast is used for indicating a current terminal connected with the second terminal to inquire whether medical data corresponding to the associated transaction identifier exists locally in the current terminal, if so, returning the corresponding medical data to the second terminal, if not, taking the terminal connected with the current terminal as the current terminal, and continuing to send the second broadcast to the current terminal;
receiving medical data corresponding to the second broadcast returned by the current terminal storing the medical data;
generating a second verification instruction by using the third address identifier of the current terminal storing the medical data, the second address identifier of the second terminal, the summary of the medical data and the transaction identifier;
sending the second verification instruction to a sharing platform, wherein the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data;
and when a successful verification result corresponding to the second verification instruction returned by the shared platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, after receiving the medical data corresponding to the second broadcast and returned by the terminal storing the medical data, the method further includes:
detecting whether the terminal identification of the receiver of the medical data is the same as a local second terminal identification;
if so, decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification, and storing the decrypted medical data to the local in an index mode;
and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
In one embodiment, the method further comprises:
receiving an input medical data query instruction;
inquiring whether corresponding medical data are stored locally according to the medical data inquiry instruction;
when the corresponding medical data are locally stored, decrypting the medical data through a second private key locally stored, and displaying the decrypted medical data;
when the corresponding medical data are not stored locally, sending the medical data query instruction to a sharing platform;
and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
A medical data sharing apparatus, the apparatus comprising:
the first query module is used for querying a first address identifier of a first terminal and acquiring a first network address corresponding to the first address identifier when a second terminal receives an instruction of sending medical data to the first terminal;
the first connection module is used for connecting the second terminal with the first terminal through the first network address; when the connection between the second terminal and the first terminal fails, connecting the second terminal with a shared platform;
the first acquisition module is used for acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key and obtaining a forwarding instruction according to the encrypted medical data;
the first sending module is used for sending the forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result which is received and returned by the first terminal and corresponds to the encrypted medical data to the second terminal;
and the first receiving module is used for receiving a first response result returned by the sharing platform and marking the medical data which is successfully sent as successful sending according to the first response result.
A computer device comprising a memory storing a computer program and a processor implementing the steps of any of the methods described above when the processor executes the computer program.
A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method of any of the above.
According to the medical data sharing method, the medical data sharing device, the computer equipment and the storage medium, when the second terminal needs to send medical data to the first terminal, the first address identification of the first terminal is firstly inquired, the first network address corresponding to the first address identification is obtained, the second terminal tries to be connected with the first terminal through the first network address, if the connection fails, the second terminal is connected with the sharing platform, and the medical data of the second terminal is sent to the first terminal through the sharing platform.
Drawings
FIG. 1 is a diagram of an application scenario of a medical data sharing method according to an embodiment;
FIG. 2 is a flow diagram illustrating a method for sharing medical data according to one embodiment;
FIG. 3 is a flow diagram that illustrates the data indexing steps, in one embodiment;
FIG. 4 is a block diagram showing the structure of a medical data sharing apparatus according to an embodiment;
FIG. 5 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The medical data sharing method provided by the application can be applied to the application environment shown in fig. 1. The system comprises a sharing platform and a plurality of terminals which can communicate with the sharing platform, such as a first terminal, a second terminal, a third terminal and the like shown in fig. 1, wherein the sharing platform can provide medical data forwarding service, user account storage service, file storage service, key management service, address service and the like. When medical data needing to be sent to the first terminal exist in the second terminal, a first address identifier of the first terminal is inquired, a first network address corresponding to the first address identifier is obtained, and the second terminal is connected with the first terminal through the first network address; when the connection between the second terminal and the first terminal fails, the second terminal connects the second terminal with the sharing platform; the second terminal can acquire a first public key corresponding to the first terminal from the sharing platform, encrypt the medical data through the first public key, and obtain a forwarding instruction according to the encrypted medical data; the second terminal sends a forwarding instruction to the sharing platform, the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal, and a first response result corresponding to the encrypted medical data and returned by the first terminal is received and returned to the second terminal; and the second terminal receives a first response result returned by the sharing platform, and marks the successfully-sent medical data as successfully-sent medical data according to the first response result. The first terminal, the second terminal and the third terminal may be, but are not limited to, various personal computers, notebook computers, smart phones, tablet computers and portable wearable devices, and the sharing platform may be implemented by an independent server or a server cluster formed by a plurality of servers.
In one embodiment, as shown in fig. 2, a medical data sharing method is provided, which is exemplified by the method applied to the second terminal in fig. 1, and includes the following steps:
s202: when the second terminal receives an instruction of sending the medical data to the first terminal, the first address identification of the first terminal is inquired, and a first network address corresponding to the first address identification is obtained.
Specifically, when the user makes a doctor in the medical institution a to generate medical data and then transfers to the medical institution B, the medical institution a needs to send the medical data of the user to the medical institution B at this time, that is, the second terminal has medical data to be sent to the first terminal. Therefore, the user can operate on the second terminal, for example, select the medical data required to be sent to the first terminal, and after the selection is completed, receive an instruction for sending the selected medical data to the first terminal.
The first address identification is generated by the sharing platform according to a block chain wallet address generation mode when the first terminal registers in the sharing platform, and the first address identification can uniquely determine the identification address of the first terminal in the whole network. Specifically, the registration of the medical institution to the sharing platform comprises the following steps: the method comprises the steps that firstly, a medical institution uploads information such as an organization code, an organization name, an address, a contact person, a contact way and the like through a terminal of the medical institution, a sharing platform generates a secret key corresponding to the organization code through a CA authority authentication service (since the whole system uses an asymmetric secret key technology as an encryption, decryption and signature means, a third-party CA authority authentication center is particularly introduced to provide the secret key for the whole system), wherein the secret key comprises a public key and a private key, and a unique identification address, namely an address identifier in the text, of the whole network corresponding to the organization code is generated according to a wallet address generation way of a block chain, and the medical institution address identifier and the secret key are informed of generation. The method comprises the steps that a server node is installed and deployed in a medical institution under a user line, a private key generated by a sharing platform is stored in the server node, a network address of the deployed server node is obtained, the network address is encrypted through the private key and then uploaded to the sharing platform, and therefore the sharing platform decrypts the network address, namely an IP address, according to a public key corresponding to the private key and stores the network address, an address identifier and the like in a related mode.
Therefore, after the first address identifier of the first terminal is queried, the corresponding first network address, that is, the IP address, may be obtained according to the first address identifier.
S204: connecting the second terminal with the first terminal through the first network address; and when the connection between the second terminal and the first terminal fails, connecting the second terminal with the sharing platform.
Specifically, after acquiring the first network address of the first terminal, the second terminal attempts to establish a connection with the first terminal through the first network address, for example, a three-way handshake manner may be used. When the second terminal is successfully connected with the first terminal, the second terminal firstly acquires a first public key corresponding to the first terminal, then encrypts the medical data through the first public key and sends the encrypted medical data to the first terminal, so that after the encrypted medical data sent by the second terminal is acquired by the first terminal, the encrypted medical data can be decrypted through a locally stored first private key corresponding to the first public key, the decrypted medical data is stored, after the encrypted medical data is stored, the first terminal returns a response message to the second terminal to confirm that all encrypted medical data are successfully transmitted, and after the second terminal receives the response message that all encrypted medical data are successfully transmitted, the successfully transmitted medical data are marked as successfully transmitted. And if the encrypted medical data received by the second terminal fails to be transmitted, the encrypted medical data can be transmitted to the first terminal again.
In addition, if the second terminal fails to connect with the first terminal, the second terminal attempts to connect the second terminal with the shared platform, that is, the second terminal is connected with the shared platform through the locally stored network address of the shared platform.
S206: and acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key, and obtaining a forwarding instruction according to the encrypted medical data.
When the second terminal is successfully connected with the sharing platform, the first public key corresponding to the first terminal is obtained, the second terminal encrypts medical data to be sent to the first terminal through the first public key, and a forwarding instruction is obtained according to the encrypted medical data. Specifically, the second terminal encrypts medical data to be sent to the first terminal through the first public key, obtains a preset forwarding instruction template, and adds the encrypted medical data to the preset forwarding instruction template to obtain a forwarding instruction.
S208: and sending a forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result corresponding to the encrypted medical data returned by the first terminal to the second terminal.
Specifically, the second terminal sends the generated forwarding instruction to the sharing platform, the forwarding instruction carries the medical data encrypted by the first public key, after the sharing platform receives the encrypted medical data, the encrypted medical data may be added to a forwarding queue of a shared platform, the shared platform being connected to the first terminal, and the encrypted medical data corresponding to the forwarding queue is forwarded to the first terminal, and after the encrypted medical data is received by the first terminal, the encrypted medical data is decrypted by a first private key which is locally stored by the first terminal and corresponds to the first public key to obtain plaintext medical data, a first response result is sent to the sharing platform, namely, the first response result of successful medical data reception, and the sharing platform removes the corresponding medical data in the sending queue after receiving the first response result. And optionally, if the first response result returned by the first terminal is a failure in sending, the sharing platform may send the first response result to the first terminal again as the medical data failed in sending, so as to ensure that the medical data is successfully sent.
S210: and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result.
Specifically, after the sharing platform receives a first response result which is successfully sent, the sharing platform returns the first response result to the corresponding second terminal, and the second terminal marks the medical data which is successfully sent as successful sending according to the first response result.
And optionally, a queue to be confirmed may be generated at the second terminal, the encrypted medical data to be sent to the first terminal is stored in the queue to be confirmed, and when the encrypted medical data is successfully sent, the encrypted medical data is deleted from the queue to be confirmed. And if the encrypted medical data received by the second terminal fails to be sent, the encrypted medical data can be sent to the sharing platform again, so that the sharing platform can send the encrypted medical data again.
According to the medical data sharing method, when the second terminal needs to send medical data to the first terminal, the first address identification of the first terminal is inquired firstly, the first network address corresponding to the first address identification is obtained, the second terminal tries to be connected with the first terminal through the first network address, if the connection fails, the second terminal is connected with the sharing platform, and the medical data of the second terminal is sent to the first terminal through the sharing platform.
In one embodiment, the medical data sharing method may further include: when the connection with the sharing platform fails, performing first broadcast on the medical data; and receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the medical data which is successfully transmitted as successful transmission according to the second response result.
Specifically, when the connection between the second terminal and the sharing platform fails, the second terminal may broadcast the first medical data over the whole network, that is, perform the first broadcast on the first medical data, and optionally, the second terminal first obtains the first public key corresponding to the first terminal, encrypts the medical data through the first public key, and then performs the first broadcast on the encrypted medical data. The broadcasting process is that the second terminal firstly sends the encrypted medical data to a current terminal connected with the second terminal, the current terminal judges whether the encrypted medical data is sent to the current terminal, if not, the terminal connected with the current terminal is taken as the current terminal, and the encrypted medical data is continuously sent to the current terminal until one current terminal judges that the encrypted medical data is sent to the current terminal, namely the first terminal, and after the first terminal receives the encrypted medical data, the encrypted medical data can be judged to be sent to the current terminal according to a receiving party in the encrypted medical data. Specifically, referring to the following table, the transmission format of the medical data among the first terminal, the second terminal, the third terminal and the shared platform may be:
the first terminal decrypts the encrypted medical data through a first private key corresponding to a locally stored first public key to obtain a plaintext of the corresponding medical data, stores the plaintext of the medical data, and then returns response information of successful medical data reception to the second terminal in a broadcasting mode, so that the second terminal can mark the medical data as successful transmission after receiving the response information of successful medical data reception, and optionally can generate a queue to be confirmed in the second terminal, the encrypted medical data to be transmitted to the first terminal are stored in the queue to be confirmed, and when the second terminal receives the encrypted medical data and successfully transmits the encrypted medical data, the encrypted medical data are deleted from the queue to be confirmed.
In the above embodiment, when the second terminal cannot be connected to the first terminal and cannot be connected to the sharing platform, the second terminal may send the medical data to the first terminal in a broadcast manner, so that the medical data can be accurately shared.
In one embodiment, the medical data sharing method may further include: when the second terminal receives a user account instruction for sending the medical data to the sharing platform, acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier; establishing connection between the second terminal and the sharing platform through a second network address; when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account; and sending the encrypted medical data to a corresponding user account in the sharing platform.
Specifically, the second address identifier is an identification address corresponding to a user account generated by the sharing platform according to a wallet address generation manner of the blockchain when the user registers on the sharing platform, and the second address identifier can uniquely determine the user account or the user over the whole network. When a user registers on a sharing platform, the name, the identification number, the contact way and the like of the user are uploaded to the sharing platform, the sharing platform firstly verifies whether the name, the identification number, the contact way and the like uploaded by the user are correct through a real-name authentication system, if the name, the identification number, the contact way and the like uploaded by the user are correct, a corresponding secret key including a public key and a private key is generated through a CA authority authentication mechanism, the private key is sent to an individual, and the network address, namely an IP address, of the sharing platform is used as a second network address corresponding to the user.
When the medical data of the second terminal is to be sent to an individual, that is, the second terminal receives a user account instruction for sending the medical data to the sharing platform, that is, the medical data needs to be sent to the user account of the sharing platform, the second terminal first obtains a second address identifier corresponding to the user account, and obtains a second network address corresponding to the second address identifier. And then the second terminal is connected with the sharing platform through the second network address, after the connection is successful, the medical data is encrypted through the second public key, the encrypted medical data is sent to the sharing platform, after the sharing platform receives the encrypted medical data, the encrypted medical data is stored, response information of successful medical data reception is returned to the second terminal, and therefore the second terminal marks the corresponding medical data as successful reception according to the response information of successful medical data reception.
Optionally, a queue to be confirmed may be generated at the second terminal, the encrypted medical data to be sent to the shared platform is stored in the queue to be confirmed, and when the encrypted medical data is successfully sent after being received by the second terminal, the encrypted medical data is deleted from the queue to be confirmed.
In the above embodiment, after a person finishes seeing a disease in a medical institution and needs to see medical data generated by the current visit, the hospital sends the medical data to the sharing platform for storage, specifically, obtains a second address identifier corresponding to a user account, and obtains a second network address corresponding to the second address identifier; establishing connection between the second terminal and the sharing platform through a second network address; when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account; and sending the encrypted medical data to a corresponding user account in the sharing platform, so that the user can log in the sharing platform to check the corresponding medical number.
In one embodiment, the medical data sharing method may further include: when the abstract of the medical data sent by the first terminal is received, acquiring a transaction identifier and an associated transaction identifier corresponding to the medical data; inquiring whether medical data corresponding to the associated transaction identification is stored locally; if the first address identification of the first terminal, the second address identification of the second terminal, the summary of the medical data and the transaction identification are available, a first verification instruction is generated; sending a first verification instruction to the sharing platform, wherein the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the first verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, the medical data sharing method may further include: when medical data corresponding to the associated transaction identifier is not stored locally, performing second broadcast on the associated transaction identifier, wherein the second broadcast is used for indicating a current terminal connected with a second terminal to inquire whether the medical data corresponding to the associated transaction identifier exists locally in the current terminal, if so, returning the corresponding medical data to the second terminal, and if not, taking the terminal connected with the current terminal as the current terminal and continuously sending the second broadcast to the current terminal; receiving medical data corresponding to the second broadcast returned by the current terminal storing the medical data; generating a second verification instruction by using a third address identifier of the current terminal storing the medical data, a second address identifier of a second terminal, the abstract of the medical data and the transaction identifier; sending a second verification instruction to the sharing platform, wherein the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the second verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
Specifically, the medical data source querying step may include:
when the second terminal receives the summary of the medical data sent by the first terminal, wherein the data format is shown in the table above, the encrypted content and the plaintext content are both the summary of the medical data, and there are associated transaction identification and transaction identification. The second terminal firstly extracts the abstract, the transaction identification and the transaction association identification of the medical data from the received medical data according to a preset data format.
The second terminal inquires whether medical data corresponding to the associated transaction identification is stored locally, if so, a first verification instruction is generated by directly sending a first address identification of the first terminal, a second address identification of the second terminal, the abstract of the medical data and the transaction identification to a sharing platform for verification, when the sharing platform receives the first verification instruction, the sharing platform firstly inquires whether the sharing platform stores the first address identification of the first terminal, if so, the first terminal is proved to be a legal terminal, then the sharing platform can also inquire whether the sharing platform stores the second address identification of the second terminal, and if so, the sharing platform establishes the association relationship among the second terminal, the abstract of the medical data and the transaction identification, so that when inquiring according to the abstract of the medical data or the transaction identification next time, the sharing platform may recommend the second terminal to the corresponding terminal directly according to the association relationship, and after passing the validity verification of the sharing platform, the second terminal may send the corresponding medical data to the first terminal, that is, repeat the above steps S202 to S210. And if the validity verification of the first terminal fails, namely the first terminal is not registered in the sharing platform, the second terminal of the sharing platform returns illegal information of the first terminal, so that the second terminal is disconnected with the first terminal in time.
When the second terminal does not locally store the medical data corresponding to the associated transaction identifier, performing a second broadcast on the associated transaction identifier, for example, first sending the second broadcast to a current terminal connected with the second terminal, inquiring whether the medical data corresponding to the associated transaction identifier is locally stored in the current terminal by the current terminal, and if so, returning the corresponding medical data to the second terminal; and if the current terminal does not exist, taking the terminal connected with the current terminal as the current terminal, and continuously sending the second broadcast to the current terminal until some current terminal storing the medical data returns the medical data corresponding to the second broadcast. Then the second terminal generates a second verification instruction by using the third address identifier of the current terminal storing the medical data, the second address identifier of the second terminal, the abstract of the medical data and the transaction identifier, when the sharing platform receives the second verification instruction, the sharing platform firstly inquires whether the sharing platform stores the third address identifier of the current terminal, if so, the sharing platform proves that the current terminal is a legal terminal, and then also inquires whether the sharing platform stores the second address identifier of the second terminal, and similarly, if so, the sharing platform proves that the second terminal is legal, and establishes an association relationship among the current terminal, the abstract of the medical data and the transaction identifier, so that when inquiring according to the abstract of the medical data or the transaction identifier next time, the sharing platform can directly recommend the current terminal storing the medical data to the corresponding terminal according to the association relationship, and after passing the legal verification of the shared platform, the second terminal may send the corresponding medical data to the first terminal, i.e., repeat the above steps S202 to S210. And if the validity verification of the current terminal fails, namely the current terminal is not registered in the sharing platform, the second terminal of the sharing platform returns illegal information of the current terminal, so that the second terminal is disconnected with the current terminal in time. Optionally, the verification process may further include a verification process for the first terminal, which may be specifically referred to above and is not described herein again.
In practical application, the first terminal is a medical institution a, the second terminal is a medical institution B, and the current terminal is a medical institution C for example, first the medical institution B receives a summary of medical data sent by the medical institution a, where the summary includes a transaction identifier txID of the medical data and an associated transaction identifier lntxid, first the medical institution B checks whether medical data corresponding to the associated transaction identifier lntxid exists in a local database, and if so, verifies the validity of the transaction to the shared platform directly through the address identifier of the medical institution a, the address identifier of the medical institution B, the summary of the medical data, i.e., a hash256 value and a file transaction representation txID, i.e., verifies the validity of the medical institution a, e., verifies whether the medical institution a has been registered on the platform, and the like, if the transaction corresponding to the associated transaction identifier lnxid does not exist in the local database of the medical institution B, the transaction corresponding to the associated transaction identifier injid is inquired through broadcasting of the whole network so as to obtain the medical data corresponding to the associated transaction identifier injid, and after the medical institution B obtains the medical data corresponding to the injid, the validity of the medical institution sending the medical data needs to be verified, including the address identifier of the medical institution B, the abstract of the medical data, namely the hash256 value and the archive transaction identifier TxID, so that the validity of the transaction can be verified to the platform.
In one embodiment, the step of broadcasting the query-related transaction corresponding to the transaction identification injxid over the whole network may include: taking the case that another medical institution C receives the query request of the medical institution B about the transaction corresponding to the associated transaction identifier InTxID as an example, the medical institution C searches whether the transaction corresponding to the associated transaction identifier InTxID exists in the local database, and if the transaction exists, the transaction is sent to the medical institution B in a data sending manner, and if the transaction does not exist, the medical institution C forwards the query request to the peer machine, that is, forwards the query request to other medical institutions connected with the medical institution C.
Optionally, the receiving of the broadcast data may also be performed by broadcasting, for example, when the current terminal stores the medical data, the medical data is returned to the corresponding second terminal in a broadcast manner, and optionally, after the second terminal receives the data, a message that the receiving is successful may also be sent to the current terminal in a broadcast manner, that is, the medical structure C in the foregoing, where the broadcast manner may refer to the above, and is not described herein again.
In one embodiment, referring to fig. 3, fig. 3 is a flowchart of a data indexing step in an embodiment, the medical data sharing method may further include a step of indexing data, which may be after receiving medical data corresponding to the second broadcast returned by the terminal storing the medical data, and the step of indexing data may include:
s402: and detecting whether the terminal identification of the receiver of the medical data is the same as the local second terminal identification.
Specifically, when the second terminal receives the medical data, the data format of the second terminal is as shown in the table above, where the data format includes the terminal identifier of the receiving party, so that when the second terminal receives the medical data, it may first detect whether the receiving party in the medical data is itself, and if so, continue to step S404, otherwise continue to step S406. The detection process may be to determine whether the terminal identifier of the receiving party in the medical data is the same as the second terminal identifier of the second terminal, where the terminal identifier may also be replaced by an address identifier, which is not described herein again.
S404: and if so, decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification, and storing the decrypted medical data to the local in an index mode.
Specifically, when the two terminals are the same, that is, the second terminal is the receiving party, the medical data is decrypted by using the second private key corresponding to the second terminal identifier stored locally, and then the decrypted data is stored locally in an indexing manner, for example, by using fields such as the receiving party, the sending party, and the transaction identifier to index.
S406: and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
Specifically, when the difference is different, that is, the second terminal is not the receiving party, the plaintext in the medical data is acquired, and the plaintext is stored locally, where the plaintext may be stored in an indexing manner, which may facilitate subsequent query, for example, indexing by fields such as the receiving party, the sending party, and the transaction identifier.
In the above embodiment, when the second terminal receives the medical data, it is first determined whether the second terminal is a receiving party, and if so, the second terminal decrypts the medical data and stores the decrypted medical data to the local in an indexing manner, and if not, the plaintext is stored to the local in an indexing manner, so that subsequent query can be facilitated.
In one embodiment, the medical data sharing method may further include accessing the medical data at any time, where the accessing of the medical data at any time may include: receiving an input medical data query instruction; inquiring whether the corresponding medical data are stored locally according to the medical data inquiry instruction; when the corresponding medical data are locally stored, the medical data are decrypted through a second private key which is locally stored, and the decrypted medical data are displayed; when the corresponding medical data are not stored locally, a medical data query instruction is sent to the sharing platform; and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
Specifically, a user of the second terminal may query some corresponding medical data through the second terminal at any time, for example, the user may input a medical data query instruction through operations such as clicking on a display interface of the second terminal, for example, a feature of the medical data to be queried may be first input into the second terminal, and then an obtaining button is clicked, so that the second terminal may receive the medical data query instruction, and according to the generated medical data query instruction, the second terminal specifically queries whether the corresponding medical data is locally stored according to the feature of the medical data to be queried, and if the corresponding medical data is locally stored, the locally stored second private key decrypts the medical data, and displays the decrypted medical data. If the corresponding medical data are not stored locally, the second terminal sends a medical data query instruction to the sharing platform, the sharing platform judges a terminal for storing the medical data according to the characteristics of the medical data carried in the query instruction, then the corresponding medical data are obtained from the terminal for storing the medical data, and the medical data are sent to the second terminal.
Optionally, the personal user may also access the medical data at any time through the sharing platform, for example, the user queries the medical data from the sharing platform through the address identifier, then the sharing platform returns the corresponding medical data to the terminal corresponding to the user, and the terminal corresponding to the user decrypts the medical data through the private key and then views the medical data.
In the embodiment, the user can access the medical data at any time through the terminal to view the medical data.
It should be understood that although the various steps in the flow charts of fig. 2-4 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-4 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternating with other steps or at least some of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 4, there is provided a medical data sharing apparatus including: a first query module 100, a first connection module 200, a first acquisition module 300, a first sending module 400 and a first receiving module 500, wherein:
the first query module 100 is configured to query a first address identifier of the first terminal and obtain a first network address corresponding to the first address identifier when the second terminal receives an instruction to send medical data to the first terminal.
A first connection module 200, configured to connect a second terminal with a first terminal through a first network address; and when the connection between the second terminal and the first terminal fails, connecting the second terminal with the sharing platform.
The first obtaining module 300 is configured to obtain a first public key corresponding to the first terminal from the sharing platform, encrypt the medical data through the first public key, and obtain a forwarding instruction according to the encrypted medical data.
The first sending module 400 is configured to send a forwarding instruction to the sharing platform, where the forwarding instruction is used to instruct the sharing platform to send the encrypted medical data to the first terminal, and return a first response result corresponding to the encrypted medical data, which is received and returned by the first terminal, to the second terminal.
The first receiving module 500 is configured to receive a first response result returned by the sharing platform, and mark the medical data that is successfully sent as successful sending according to the first response result.
In one embodiment, the medical data sharing apparatus may further include:
the first broadcasting module is used for carrying out first broadcasting on the medical data when the connection with the sharing platform fails.
And the second receiving module is used for receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the medical data which is successfully sent as successful sending according to the second response result.
In one embodiment, the medical data sharing apparatus may further include:
and the second query module is used for acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier when the second terminal receives a user account instruction for sending the medical data to the sharing platform.
And the second connection module is used for establishing connection between the second terminal and the sharing platform through a second network address.
And the second acquisition module is used for encrypting the medical data through the public key corresponding to the user account when the second terminal is successfully connected with the sharing platform.
And the second sending module is used for sending the encrypted medical data to a corresponding user account in the sharing platform.
In one embodiment, the medical data sharing apparatus may further include:
and the third acquisition module is used for acquiring the transaction identifier and the associated transaction identifier corresponding to the medical data when the abstract of the medical data sent by the first terminal is received.
And the third inquiry module is used for inquiring whether medical data corresponding to the associated transaction identification is stored locally.
And the first verification module is used for generating a first verification instruction by using the first address identifier of the first terminal, the second address identifier of the second terminal, the summary of the medical data and the transaction identifier if the first verification instruction exists.
And the third sending module is used for sending the first verification instruction to the sharing platform, and the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data.
And the third receiving module is used for continuously inquiring the first address identifier of the first terminal and acquiring the first network address corresponding to the first address identifier when a successful verification result corresponding to the first verification instruction returned by the sharing platform is received.
In one embodiment, the medical data sharing apparatus may further include:
and the second broadcasting module is used for carrying out second broadcasting on the associated transaction identifier when medical data corresponding to the associated transaction identifier is not stored locally, the second broadcasting is used for indicating a current terminal connected with the second terminal to inquire whether the medical data corresponding to the associated transaction identifier exists locally in the current terminal or not, if so, the corresponding medical data is returned to the second terminal, and if not, the terminal connected with the current terminal is used as the current terminal, and the second broadcasting is continuously sent to the current terminal.
And the fourth receiving module is used for receiving the medical data which is returned by the current terminal and is stored with the medical data and corresponds to the second broadcast.
And the second verification module is used for generating a second verification instruction by using the third address identifier of the current terminal, the second address identifier of the second terminal, the summary of the medical data and the transaction identifier, which are stored with the medical data.
And the fourth sending module is used for sending the second verification instruction to the sharing platform, and the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data.
And the fifth receiving module is used for continuously inquiring the first address identifier of the first terminal and acquiring the first network address corresponding to the first address identifier when a successful verification result corresponding to the second verification instruction returned by the sharing platform is received.
In one embodiment, the medical data sharing apparatus may further include:
and the detection module is used for detecting whether the terminal identification of the receiver of the medical data is the same as the local second terminal identification.
The storage module is used for decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification when the medical data are the same as the second private key, and storing the decrypted medical data to the local in an index mode; and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
In one embodiment, the medical data sharing apparatus may further include:
and the sixth receiving module is used for receiving the input medical data query instruction.
And the third query module is used for querying whether the corresponding medical data is locally stored according to the medical data query instruction.
And the first decryption module is used for decrypting the medical data through the locally stored second private key and displaying the decrypted medical data when the corresponding medical data is locally stored.
The second decryption module is used for sending a medical data query instruction to the sharing platform when the corresponding medical data is not stored locally; and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
For specific limitations of the medical data sharing apparatus, reference may be made to the above limitations of the medical data sharing method, which are not described herein again. The various modules in the medical data sharing device can be implemented in whole or in part by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 5. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a medical data sharing method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 5 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, there is provided a computer device comprising a memory storing a computer program and a processor implementing the following steps when the processor executes the computer program: when the second terminal receives an instruction of sending medical data to the first terminal, inquiring a first address identifier of the first terminal and acquiring a first network address corresponding to the first address identifier; connecting the second terminal with the first terminal through the first network address; when the connection between the second terminal and the first terminal fails, connecting the second terminal with the sharing platform; acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key, and obtaining a forwarding instruction according to the encrypted medical data; sending a forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result which is received and returned by the first terminal and corresponds to the encrypted medical data to the second terminal; and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when the connection with the sharing platform fails, performing first broadcast on the medical data; and receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the medical data which is successfully transmitted as successful transmission according to the second response result.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when the second terminal receives a user account instruction for sending the medical data to the sharing platform, acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier; establishing connection between the second terminal and the sharing platform through a second network address; when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account; and sending the encrypted medical data to a corresponding user account in the sharing platform.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when the abstract of the medical data sent by the first terminal is received, acquiring a transaction identifier and an associated transaction identifier corresponding to the medical data; inquiring whether medical data corresponding to the associated transaction identification is stored locally; if the first address identification of the first terminal, the second address identification of the second terminal, the summary of the medical data and the transaction identification are available, a first verification instruction is generated; sending a first verification instruction to the sharing platform, wherein the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the first verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, the processor, when executing the computer program, further performs the steps of: when medical data corresponding to the associated transaction identifier is not stored locally, performing second broadcast on the associated transaction identifier, wherein the second broadcast is used for indicating a current terminal connected with a second terminal to inquire whether the medical data corresponding to the associated transaction identifier exists locally in the current terminal, if so, returning the corresponding medical data to the second terminal, and if not, taking the terminal connected with the current terminal as the current terminal and continuously sending the second broadcast to the current terminal; receiving medical data corresponding to the second broadcast returned by the current terminal storing the medical data; generating a second verification instruction by using a third address identifier of the current terminal storing the medical data, a second address identifier of a second terminal, the abstract of the medical data and the transaction identifier; sending a second verification instruction to the sharing platform, wherein the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the second verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, after receiving the medical data corresponding to the second broadcast returned by the terminal storing the medical data, the processor, implemented when executing the computer program, may further include: detecting whether the terminal identification of the receiver of the medical data is the same as the local second terminal identification; if so, decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification, and storing the decrypted medical data to the local in an index mode; and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
In one embodiment, the processor, when executing the computer program, further performs the steps of: receiving an input medical data query instruction; inquiring whether the corresponding medical data are stored locally according to the medical data inquiry instruction; when the corresponding medical data are locally stored, the medical data are decrypted through a second private key which is locally stored, and the decrypted medical data are displayed; when the corresponding medical data are not stored locally, a medical data query instruction is sent to the sharing platform; and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of: when the second terminal receives an instruction of sending medical data to the first terminal, inquiring a first address identifier of the first terminal and acquiring a first network address corresponding to the first address identifier; connecting the second terminal with the first terminal through the first network address; when the connection between the second terminal and the first terminal fails, connecting the second terminal with the sharing platform; acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key, and obtaining a forwarding instruction according to the encrypted medical data; sending a forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result which is received and returned by the first terminal and corresponds to the encrypted medical data to the second terminal; and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result.
In one embodiment, the computer program when executed by the processor further performs the steps of: when the connection with the sharing platform fails, performing first broadcast on the medical data; and receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the medical data which is successfully transmitted as successful transmission according to the second response result.
In one embodiment, the computer program when executed by the processor further performs the steps of: when the second terminal receives a user account instruction for sending the medical data to the sharing platform, acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier; establishing connection between the second terminal and the sharing platform through a second network address; when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account; and sending the encrypted medical data to a corresponding user account in the sharing platform.
In one embodiment, the computer program when executed by the processor further performs the steps of: when the abstract of the medical data sent by the first terminal is received, acquiring a transaction identifier and an associated transaction identifier corresponding to the medical data; inquiring whether medical data corresponding to the associated transaction identification is stored locally; if the first address identification of the first terminal, the second address identification of the second terminal, the summary of the medical data and the transaction identification are available, a first verification instruction is generated; sending a first verification instruction to the sharing platform, wherein the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the first verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, the computer program when executed by the processor further performs the steps of: when medical data corresponding to the associated transaction identifier is not stored locally, performing second broadcast on the associated transaction identifier, wherein the second broadcast is used for indicating a current terminal connected with a second terminal to inquire whether the medical data corresponding to the associated transaction identifier exists locally in the current terminal, if so, returning the corresponding medical data to the second terminal, and if not, taking the terminal connected with the current terminal as the current terminal and continuously sending the second broadcast to the current terminal; receiving medical data corresponding to the second broadcast returned by the current terminal storing the medical data; generating a second verification instruction by using a third address identifier of the current terminal storing the medical data, a second address identifier of a second terminal, the abstract of the medical data and the transaction identifier; sending a second verification instruction to the sharing platform, wherein the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data; and when a successful verification result corresponding to the second verification instruction returned by the sharing platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
In one embodiment, the receiving of the medical data corresponding to the second broadcast returned by the terminal storing the medical data, when the computer program is executed by the processor, may further include: detecting whether the terminal identification of the receiver of the medical data is the same as the local second terminal identification; if so, decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification, and storing the decrypted medical data to the local in an index mode; and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
In one embodiment, the computer program when executed by the processor further performs the steps of: receiving an input medical data query instruction; inquiring whether the corresponding medical data are stored locally according to the medical data inquiry instruction; when the corresponding medical data are locally stored, the medical data are decrypted through a second private key which is locally stored, and the decrypted medical data are displayed; when the corresponding medical data are not stored locally, a medical data query instruction is sent to the sharing platform; and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.
Claims (10)
1. A method of medical data sharing, the method comprising:
when a second terminal receives an instruction of sending medical data to a first terminal, inquiring a first address identifier of the first terminal and acquiring a first network address corresponding to the first address identifier;
connecting the second terminal with the first terminal through the first network address;
when the connection between the second terminal and the first terminal fails, connecting the second terminal with a shared platform;
acquiring a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key, acquiring a preset forwarding instruction template, and adding the encrypted medical data to the preset forwarding instruction template to obtain a forwarding instruction;
sending the forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result corresponding to the encrypted medical data returned by the first terminal to the second terminal;
and receiving a first response result returned by the sharing platform, and marking the medical data which is successfully sent as successful sending according to the first response result.
2. The method of claim 1, further comprising:
when the connection with the sharing platform fails, performing first broadcast on the medical data;
and receiving a second response result corresponding to the first broadcast and returned by the first terminal, and marking the successfully-sent medical data as successful sending according to the second response result.
3. The method of claim 1, further comprising:
when a second terminal receives a user account instruction for sending medical data to a sharing platform, acquiring a second address identifier corresponding to the user account and acquiring a second network address corresponding to the second address identifier;
establishing connection between the second terminal and a sharing platform through the second network address;
when the second terminal is successfully connected with the sharing platform, encrypting the medical data through a public key corresponding to the user account;
and sending the encrypted medical data to a corresponding user account in the sharing platform.
4. A method according to any one of claims 1 to 3, characterized in that the method further comprises:
when an abstract of medical data sent by a first terminal is received, acquiring a transaction identifier and an associated transaction identifier corresponding to the medical data;
inquiring whether medical data corresponding to the associated transaction identification is stored locally;
if the first address identification of the first terminal exists, the second address identification of the second terminal, the summary of the medical data and the transaction identification are used for generating a first verification instruction;
sending the first verification instruction to a sharing platform, wherein the first verification instruction is used for indicating the sharing platform to verify the validity of the medical data;
and when a successful verification result corresponding to the first verification instruction returned by the shared platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
5. The method of claim 4, further comprising:
when medical data corresponding to the associated transaction identifier is not stored locally, performing second broadcast on the associated transaction identifier, wherein the second broadcast is used for indicating a current terminal connected with the second terminal to inquire whether medical data corresponding to the associated transaction identifier exists locally in the current terminal, if so, returning the corresponding medical data to the second terminal, if not, taking the terminal connected with the current terminal as the current terminal, and continuing to send the second broadcast to the current terminal;
receiving medical data corresponding to the second broadcast returned by the current terminal storing the medical data;
generating a second verification instruction by using the third address identifier of the current terminal storing the medical data, the second address identifier of the second terminal, the summary of the medical data and the transaction identifier;
sending the second verification instruction to a sharing platform, wherein the second verification instruction is used for indicating the sharing platform to verify the validity of the medical data;
and when a successful verification result corresponding to the second verification instruction returned by the shared platform is received, continuously inquiring the first address identification of the first terminal, and acquiring the first network address corresponding to the first address identification.
6. The method according to claim 5, wherein after receiving the medical data corresponding to the second broadcast returned by the terminal storing the medical data, the method further comprises:
detecting whether the terminal identification of the receiver of the medical data is the same as a local second terminal identification;
if so, decrypting the medical data through a second private key which is locally stored and corresponds to the second terminal identification, and storing the decrypted medical data to the local in an index mode;
and if the data are not the same, acquiring the plaintext in the medical data, and storing the plaintext to the local.
7. A method according to any one of claims 1 to 3, characterized in that the method further comprises:
receiving an input medical data query instruction;
inquiring whether corresponding medical data are stored locally according to the medical data inquiry instruction;
when the corresponding medical data are locally stored, decrypting the medical data through a second private key locally stored, and displaying the decrypted medical data;
when the corresponding medical data are not stored locally, sending the medical data query instruction to a sharing platform;
and receiving the medical data corresponding to the medical data query instruction returned by the sharing platform, decrypting the medical data through a second private key stored locally, and displaying the decrypted medical data.
8. A medical data sharing apparatus, the apparatus comprising:
the first query module is used for querying a first address identifier of a first terminal and acquiring a first network address corresponding to the first address identifier when a second terminal receives an instruction of sending medical data to the first terminal;
the first connection module is used for connecting the second terminal with the first terminal through the first network address; when the connection between the second terminal and the first terminal fails, connecting the second terminal with a shared platform;
the first obtaining module is used for obtaining a first public key corresponding to the first terminal from the sharing platform, encrypting the medical data through the first public key, obtaining a preset forwarding instruction template, and adding the encrypted medical data to the preset forwarding instruction template to obtain a forwarding instruction;
the first sending module is used for sending the forwarding instruction to the sharing platform, wherein the forwarding instruction is used for instructing the sharing platform to send the encrypted medical data to the first terminal and returning a first response result which is received and returned by the first terminal and corresponds to the encrypted medical data to the second terminal;
and the first receiving module is used for receiving a first response result returned by the sharing platform and marking the medical data which is successfully sent as successful sending according to the first response result.
9. A computer device comprising a memory and a processor, the memory storing a computer program, wherein the processor implements the steps of the method of any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810725981.4A CN108965416B (en) | 2018-07-04 | 2018-07-04 | Medical data sharing method and device, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810725981.4A CN108965416B (en) | 2018-07-04 | 2018-07-04 | Medical data sharing method and device, computer equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965416A CN108965416A (en) | 2018-12-07 |
CN108965416B true CN108965416B (en) | 2022-04-15 |
Family
ID=64485500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810725981.4A Active CN108965416B (en) | 2018-07-04 | 2018-07-04 | Medical data sharing method and device, computer equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965416B (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324787B (en) * | 2018-12-14 | 2023-06-23 | 北京沃东天骏信息技术有限公司 | Method and device for displaying block chain data in block chain browser |
CN111382420A (en) * | 2018-12-29 | 2020-07-07 | 金联汇通信息技术有限公司 | Data transaction method, device, system, electronic equipment and readable storage medium |
CN109919691B (en) * | 2019-02-27 | 2021-06-08 | 腾讯科技(深圳)有限公司 | Data processing system, method and device |
CN111726268B (en) * | 2019-03-19 | 2022-04-12 | 佛山市顺德区美的电热电器制造有限公司 | Data sharing method and device, equipment and storage medium |
CN110148475B (en) * | 2019-04-03 | 2023-10-27 | 平安科技(深圳)有限公司 | Medical information sharing method and device, readable storage medium and server |
CN112152980A (en) * | 2019-06-28 | 2020-12-29 | 深圳迈瑞生物医疗电子股份有限公司 | Data transmission method, medical ventilation equipment and storage medium |
CN110706766A (en) * | 2019-08-31 | 2020-01-17 | 华南理工大学 | Electronic medical record management system and referral method based on block chain |
CN110910978B (en) * | 2019-11-21 | 2024-04-09 | 腾讯科技(深圳)有限公司 | Information processing method and related device applied to blockchain network |
CN111883228B (en) * | 2020-07-28 | 2023-07-07 | 平安科技(深圳)有限公司 | Knowledge graph-based health information recommendation method, device, equipment and medium |
CN112988427B (en) * | 2021-04-14 | 2024-03-01 | 深圳证券交易所 | Data exchange method, device and medium |
CN113779621B (en) * | 2021-08-24 | 2023-08-22 | 浙江数秦科技有限公司 | Data sharing method based on block chain |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453612A (en) * | 2016-11-10 | 2017-02-22 | 华中科技大学 | Data storage and sharing system |
CN107330301A (en) * | 2017-08-25 | 2017-11-07 | 遵义博文软件开发有限公司 | Managing medical information platform based on recognition of face |
CN107784338A (en) * | 2017-02-08 | 2018-03-09 | 平安医疗健康管理股份有限公司 | Method for managing medical information and device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150154357A1 (en) * | 2013-11-29 | 2015-06-04 | Nokia Corporation | Method and appratus for determining consent to access medical data based on an aggregate reponse |
-
2018
- 2018-07-04 CN CN201810725981.4A patent/CN108965416B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453612A (en) * | 2016-11-10 | 2017-02-22 | 华中科技大学 | Data storage and sharing system |
CN107784338A (en) * | 2017-02-08 | 2018-03-09 | 平安医疗健康管理股份有限公司 | Method for managing medical information and device |
CN107330301A (en) * | 2017-08-25 | 2017-11-07 | 遵义博文软件开发有限公司 | Managing medical information platform based on recognition of face |
Non-Patent Citations (1)
Title |
---|
构建安全通畅的数字化医院信息***――以天津医院为例;刘琳等;《医学信息学杂志》;20090920;第30卷(第09期);22-25 * |
Also Published As
Publication number | Publication date |
---|---|
CN108965416A (en) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965416B (en) | Medical data sharing method and device, computer equipment and storage medium | |
CN109471844B (en) | File sharing method and device, computer equipment and storage medium | |
CN109862041B (en) | Digital identity authentication method, equipment, device, system and storage medium | |
CN110365670B (en) | Blacklist sharing method and device, computer equipment and storage medium | |
CN108055274B (en) | Encryption and sharing method and system based on alliance chain storage data | |
CN109325870B (en) | Method and system for sharing private data | |
CN110581860B (en) | Identity authentication method, device, storage medium and equipment based on block chain | |
CN109325342B (en) | Identity information management method, device, computer equipment and storage medium | |
US8832795B2 (en) | Using a communications network to verify a user searching data | |
US10503918B2 (en) | Process to access a data storage device of a cloud computer system | |
US10050944B2 (en) | Process to access a data storage device of a cloud computer system with the help of a modified Domain Name System (DNS) | |
CN111740966B (en) | Data processing method based on block chain network and related equipment | |
CN109768979B (en) | Data encryption transmission method and device, computer equipment and storage medium | |
CN110049016A (en) | Data query method, apparatus, system, equipment and the storage medium of block chain | |
JP6967449B2 (en) | Methods for security checks, devices, terminals and servers | |
CN112804354B (en) | Method and device for data transmission across chains, computer equipment and storage medium | |
CN113572743B (en) | Data encryption and decryption methods and devices, computer equipment and storage medium | |
CN107172001B (en) | Control method and device of website proxy server and key proxy server | |
CN110611725B (en) | Node access method, node access device, computer equipment and storage medium | |
US20090185679A1 (en) | Method for electronically signing electronic documents and method for verifying an electronic signature | |
US20170200020A1 (en) | Data management system, program recording medium, communication terminal, and data management server | |
KR102171377B1 (en) | Method of login control | |
US20090210714A1 (en) | Method for electronically signing electronic documents and method for verifying an electronic signature | |
US10396989B2 (en) | Method and server for providing transaction keys | |
JP2024025805A (en) | Storage system download terminal, key terminal, and storage server processing encrypted file while keeping private key hidden in key terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |