Invented by Todd D. Power, Mark E. Pennell, Eric K. Kimn, Sean R. Moore, Sangeeth Sridharan, Mohan Singh Randhava, Jorge F. Pozas Trevino, Pablo Antonio Gonzalez Cervantes, Kevin M. Lynch, Apple Inc
The Apple Inc invention works as followsInformation regarding the locations, brands and gateways of a medical provider can be obtained (e.g. via an online portal). These information can be used in order to create a data object which represents the relationships between the medical provider’s locations, brands and gateways. This data object could be stored in a database that can be searched by a device. A user of the device can search the database in order to find a medical provider that provides care for the user. Once the medical provider is identified, it can be connected to the gateway of the medical provider to download the electronic health records associated with that user.
Background for Techniques for building databases of medical providers
Users usually visit more than one medical institution to receive treatment. A user might visit the neighborhood clinic periodically for annual physicals and minor medical procedures. A user’s physical record is stored on a computer and can be transferred. This is an electronic health record. The clinic can maintain a copy of the user’s EHR (e.g. using an EHR, also known as an EMR system). A medical professional can update the electronic record when the user comes to the clinic. Other health institutions may maintain different versions of the electronic health records. The user might have been taken to an emergency room after an accident or visited another clinic on vacation. The user may have had an electronic health record created at each of the three locations: the surgery center, the hospital emergency room and the clinic. These records may be maintained by different EHR systems. EHR systems can provide patient portals to access health records. These portals may be built and maintained by various organizations. Accessing them each could require unique user credentials. Once the user has logged in, her access to certain portions of her electronic record is limited. Computer systems can maintain a connection to one EHR system. However, when they try to maintain multiple connections to multiple EHR systems programmatically, problems may arise. Data inconsistencies can also occur between electronic health records that are sourced from multiple EHR systems, as different medical professionals may contribute to different instances of the electronic record. The conventional data correction techniques may not be sufficient to correct these types of data inconsistencies.
A system consisting of one or multiple computers can be configured in such a way that it performs certain operations or actions. This is done by installing software, firmware, or hardware on the system, which, when used, causes the system to perform these actions. A computer program can be configured to perform a particular operation or action by including instructions which, when executed by a data processing apparatus, causes the apparatus to perform that action. A system is included in one general aspect. It includes: a computer memory that stores computer-executable instruction and a processor connected to the memory, configured to execute those instructions. The computer-executable instruction allows the processor to receive information from an authorized user operating a device of an organization entity about a plurality brand entities and location entities and at least a gateway. The processor is configured to associate the plurality brand entities, based on at least part of the information, with the plurality location entities in order to create a set of first relationships. The processor is configured to create a second set relationships by combining, at least partially, the information from the multiple location entities and the at-least one gateway entity. At least two location entities share the same gateway entity. The processor is configured to also store the respective entity IDs, the first relationship set, and the second relationship set in a database. The processor is configured to create a search index that represents the respective entity IDs, the first relationship set, and the second relationship set stored in the database. The processor is configured to allow a second device to search for the database using the search index. This can be done by searching the database with the search index to find at least one of the brand entity, location entity, organization entity or gateway entity. This aspect also includes corresponding computer systems and apparatuses, as well as computer programs stored on one or multiple computer storage devices.
The plurality of location entitys includes physical locations where users receive medical treatment.” The system in which the gateway entity is linked to an electronic health record system that maintains electronic health records of multiple users. The system in which storing respective entity identifiers and first and second sets of relationships includes storing data objects that represent the organization entity and plurality brand entities and plurality location entities. The system in which the processor is configured to execute computer-executable instruction to at least send a communication to a second device operated by a user to enable the device to connect with the at least gateway and download health records associated with the user. The described techniques can be implemented in hardware, software, a process or method, or a method.
One general aspect” includes a computer implemented method that includes: receiving information from a user device about a plurality location entities, and at least a gateway entity. The plurality location entities, and the at-least one gateway entity are associated with respective entity IDs. The computer-implemented methods also include associating the plurality location entities, based largely on the information, with the one or more gateway entities to create a collection of location-gateway relations, where the one or more gateway entities are shared by at least two location entities. The computer-implemented methods also include storing respective entity identifiers as well as the set of location and gateway relationships in a data base. The computer-implemented methods also include allowing a second device to search for at least a single entity from the plurality location entities or at least ONE gateway entity in the database. This aspect also includes corresponding computer systems and apparatuses, as well as computer programs stored on one or multiple computer storage devices.
Implementations can include one or more features. Before receiving the information, the computer-implemented technique further includes providing an interface on the second device. The interface comprises a plurality text fields. The computer-implemented methods wherein receiving the information comprises receiving at least a portion of the data via text input in the plurality text fields. The computer-implemented methods where receiving information includes receiving a least a portion of information from a file that was uploaded by the first device to a server, the file including configuration data usable by the second device to connect to the atleast one gateway entity. The computer-implemented methods wherein the information comprises configuration information that can be used by the second device to connect to the atleast one gateway entity. The computer-implemented methods wherein the configuration information comprises a plurality links that resolve to the atleast one gateway entity. Before storing the respective entities identifiers, and the set location-gateway relations in the database the computer-implemented methods simulates a user connection with the at least gateway entity by using test credentials that are identified from the data. The computer-implemented methods wherein the information includes information about a plurality brand entities. The computer-implemented methods wherein: the method includes further: The method may include associating the plurality brand entities with the plural of location units to create a brand-location relationship, and at least two of the location entities from the plurality are shared by at least one of the location units. The computer-implemented methods may also include storing in the database the respective entity identifiers as well as the set of brand location relationships. The computer-implemented methods wherein the respective entity IDs, the location-gateway relationship set, and the brand-location relationship set are stored in an object data associated with an organizational entity. The described techniques can be implemented in hardware, software, a process or method, or a computer accessible medium.
One general aspect is a computer-implemented technique that includes: receiving at a user’s device and from the server a client secret, and a unique client identifier, which identifies the device. The client secret was initially generated by a server and then periodically modified and shared by the device. The computer-implemented methods also include providing, at least partially based on input from a user device, credentials for a user account. These credentials enable, at least partly, connection to a portal entity in order to download electronic health records associated with the account. In response to a gateway entity’s first communication, the computer-implemented technique also includes providing the client identifier to the gateway. The computer-implemented methods also include receiving a client identifier, a client secret and a refresh token from the Gateway entity, based, at least partially, on the provision of the client identifier. The first access token allows, at least partly, the connection to the Gateway entity for the downloading of electronic health records. The computer-implemented methods also include providing the gateway entity with the first refresh token as well as the client identifier and client secret. In response to a second message from the gate entity, the computer-implemented methods also include connecting to the gate entity and downloading electronic health record data. This aspect also includes corresponding computer systems and apparatuses, as well as computer programs stored on one or multiple computer storage devices.
Implementations can include any or all of the following features.” The computer-implemented methods where the client secret is specific to the gateway entity. The computer-implemented methods where the client secret is specific to a number of gateway entities, including the gateway entity and the plurality operated by an organisation. The computer-implemented methods whereby updating the client secrets causes notifications to be sent out to user devices that depend on the client secrets. The computer-implemented technique wherein the client secret will be maintained by the owner of the server. Implementations of described techniques can include hardware, software, a process or method, or computer programs on a computer accessible medium.
In the next description, we will describe various examples. To provide a better understanding of the examples, we have included specific configurations and detail to help explain. One skilled in the field will be able to see that the examples can be used without the specifics. In addition, some well-known features can be simplified or omitted to avoid obscuring the example.
Examples” of the disclosure include, among others, methods, systems and devices as well as computer-readable media, for obtaining electronic records from different sources, processing them to allow efficient storage and retrieval and presenting the medical information in the electronic records uniformly using a health app on a user device. The users of the electronic health records typically seek treatment from different medical providers. The medical providers can be from the same provider (e.g. a clinic and hospital owned by the one entity) or they may come from different organizations (e.g. a dialysis center owned by one entity and an imaging centre owned by another entity). These medical providers can each maintain a part of the electronic health records of an individual user using EHR systems.
Some medical providers provide web portals, such as patient portals, that allow users the ability to interact and/or view their electronic health records. It is unlikely that one web portal can contain a complete electronic record for each user, as the medical industry consists of so many different organisations and users are likely to receive care from multiple organizations. Users may need to use multiple web sites, but some medical providers do not offer web portals. This makes it difficult for users to get a full picture of their medical records.
The EHR systems hosting the web portals could be configured differently. Each EHR system may have its own unique data storage formats and user and administrator functionalities, as well as coding schemas. The system described allows for individual and ongoing data pipelines with each of these disparate source systems. The system provides a platform to normalize data storage formats, administrator and user functionality, and coding schemes from these disparate source once a pipeline has been connected. Once each pipeline is connected, data can be stored in a uniform form, with predefined user functionality and according to one coding scheme. This not only improves the technical capabilities of a computer, but also optimizes data storage from disparate sources. Data is optimized in terms of storage capacity and access to storage. The computing device is more efficient than other devices when it comes to accessing electronic health records. It frees up computing resources to perform other tasks.
The system described allows users to search relevant medical providers, and to download their electronic health records to their smartphones or to other user devices from medical providers. This connection can be a data pipe connection to the medical provider in some cases. A provider subscription system acts as an intermediary for user devices to gateways in EHR systems. Gateways are essentially outlets or endpoints that the EHR system provides. These endpoints can be used to download data from EHR systems.
In general, the subscription system for medical providers provides a way to onboard new medical practitioners into the system. The user devices can search the database to find provider information. Provider information could include location information on medical providers, or configuration information of one or more gateways that are associated with medical providers. Users can search for their medical providers using their devices. This searching is done in such a way as to obscure, for the provider subscription system, any relationship between users and medical providers. After medical providers are identified through searching, user devices receive information about the medical providers. These provider details are used by the user devices to connect with gateways that correspond with identified medical providers. Gateways send electronic health records to the user devices in an industry-standard format, such as Fast Healthcare Interoperability Resource FHIR created by Health Level Seven International Standards Organization. The techniques described herein manage the frequency of the user devices connecting to the gateways both initially and in future to check for updated electronic health records registered on the EHR systems.
Once electronic health records are downloaded onto the user’s device, they are then stored using a data model. The electronic health records will also be processed by an indexing algorithm that indexes each medical term as a medical expression (e.g. an index including several expression primitives). A second data model is used to store the medical term expressions, which can be serialized or computational forms. On the user’s device, information relating to the medical terms is stored. Medical term expressions can be used to organize, search and/or enhance health record data from electronic health records. It may be necessary to standardize the medical entries that were entered into electronic health records by different medical professionals. They may use different formats and abbreviations to describe the exact same thing. A first doctor might write the prescription “Tylenol, 500 mg oral daily” A second doctor could write the same prescription, but as “500 MG of acetaminophen taken orally daily.” These two prescriptions could be medically identical. Conventional indexing systems, however, may not be able to detect this similarity. These two prescriptions that may be in an electronic health record of a user can be represented uniformly using the medical terms described in this document (e.g.?Tylenol oral 500 MG daily?). This allows similar entries to be grouped, found during a search and used for comparison.
All instances of “Tylenol” or “Tylenol 500 MG?” are to be grouped together. “With respect to using medical term expressions for grouping, all instances of?Tylenol? The user interface can be used to group together data from many different instances of an electronic health record. Conventional techniques may only allow you to view the instances in the appropriate instance of an electronic health record. This example may provide a more detailed and complete view of the user’s medical history. This could be useful to the user or medical professionals in making future decisions for the patient.
Using medical term expressions to search, the user can search her medical records (e.g. a collection of instances from her electronic health record) for information on her heart. The keyword heart can be converted into a medical expression to perform the search. The results can be displayed in any way that is appropriate. The results can include instances where the heart of the user was mentioned in the electronic record (e.g. a timeline of events related to the heart of the user).
The medical terms can also be accompanied by contextual information, in the form metadata. This contextual information may be used to enhance underlying medical terms. As an example, if we continue with the prescriptions mentioned above, the metadata (e.g. images of pills, instructions for use, etc.) associated with medical terms can be presented to the user when “Tylenol oral 500 MG daily” is displayed. “For example, continuing with the prescriptions discussed above, ingredients can be associated with medical term expressions and presented when?Tylenol 500 MG oral daily?
Figures: FIG. According to one example, FIG. 1 shows a block diagram and flowchart 102 of a process 100 that enables the storage and retrieval on user devices of electronic health records. Diagram 102 shows a user device 104. This can be any electronic device that is capable of communicating over a network, such as the Internet. In some cases, the user device can be a smartphone. The user device is operated or associated with a user 106. “The user 106 is a representative patient whose electronic medical records are subject to this specification.
The diagram 102 includes also provider user device. The provider user devices 108 may be any electronic device that is capable of communicating over a network, such as the Internet. In some cases, the provider device 108 may be a laptop or personal computer on which a user 110 can interact. The provider 110 is an example representative of a healthcare provider who uses a provider user device to interact with the provider subscription system 112 using a provider user device. The EHR system 114 stores medical information associated with a medical provider, such as electronic health records for patients of that provider. The EHR system may be linked to one or more providers of medical care (e.g. organization entities, brand entities and/or location entities). The EHR system can store, organize and/or manage health records generated by medical professionals. The EHR System 114 can include one or multiple gateways. Each gateway may have one or several endpoints that allow for multiple connections to be made between the EHR System 114 and electronic devices. In some cases, the EHR system may be able to interact with user devices like the user device 104 using a gateway application programming API. The gateway APIs can define a set function calls to communicate between the EHR System 114 and the User Device 104.
FIGS. “FIGS. According to a few examples, 43 and 44), 4500 and 4600, as well as 4700, 4880, 5000 and 5100 are shown. These processes and all other processes described in this document are shown as logical flow charts, where each operation represents a series of operations which can be implemented by hardware, computer instructions or a combination of both. The operations can be computer-executable instruction stored on non-transitory storage media. When executed by one processor, these instructions perform the recited operation. Computer-executable instruction include routines and programs that perform specific functions or implement certain data types. The order of operations is not meant to be construed to be a limitation. Any number of operations described can be combined and/or run in parallel in order to implement processes.
As noted above, the code may be stored on a non-transitory computer-readable storage medium, for example, in the form of a computer program including a plurality of instructions executable by one or multiple processors. The code can be stored in a non-transitory storage medium that is computer-readable, such as a computer program that includes a number of instructions executable on one or more processors.Click here to view the patent on Google Patents.