The amount of information being processed and stored is rapidly increasing as technology advances. Today, large volumes of data can be stored in computer-based systems using a variety of structured data stores. For example, one type of data store is a so-called “flat” file such as a spreadsheet, plain-text document, or XML document. Another type of data store is a relational database comprising one or more tables. Other examples of data stores include, without limitation, file systems, object collections, record collections, arrays, hierarchical trees, linked lists, stacks, and combinations thereof.
Numerous organizations, including industry, retail, and government entities, recognize that important information and decisions can be drawn if massive data sets can be analyzed to identify patterns of behavior. Collecting and classifying large sets of data in an appropriate manner allows these entities to more quickly and efficiently identify these patterns, thereby allowing them to make more informed decisions.
Reference will now be made to the accompanying drawings which illustrate exemplary embodiments of the present disclosure and in which:
This application expressly incorporates herein the entirety of the following documents: U.S. Provisional Patent Application No. 61/916,795, titled “Methods and Systems for Analyzing Entity Performance,” filed on Dec. 16, 2013; U.S. Non-Provisional patent application Ser. No. 14/045,720, titled “Systems and Methods for Analyzing Performance of an Entity,” filed on Oct. 3, 2013; and U.S. Non-Provisional patent application Ser. No. 13/827,491, titled “Resolving Similar Entities from a Transaction Database,” filed on Mar. 14, 2013.
Reference will now be made in detail to the embodiments, the examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
The following embodiments are generally directed to collecting, processing, analyzing, and displaying information for healthcare-related entities, which can also be referred to in the following embodiments as entities. These entities can include medical provider entities, such as a particular doctor, a doctor's office having one or more doctors, a hospital, etc. The healthcare-related entities can also include pharmacies, such as Walgreens™, CVS Caremark™, etc. Moreover, the healthcare-related entities can include health insurance payers, such as Cigna™, Aetna™, Kaiser Permanente™, etc. The healthcare-related entities can interact with member entities, such as an individual person seeking medical services (e.g., seeking medical advice, prescriptions, pharmaceutical drugs, etc.).
Using the information that is collected, processed, analyzed, and displayed, a number of useful insights associated with healthcare-related entities can be inferred. For example, these insights can relate to: an ability to detect any irregularities such as fraud associated with medical claims and/or prescription claims; an ability by a medical provider entity to be able to analyze and compare its performance with other medical provider entities in a given region; an ability to perform a cohort analysis, where a cohort can be a group of entities that share an attribute. Other forms of insights can include providing a summary of the kinds of medical services being offered by medical provider entities. And, as yet a further example, the insights can include providing a performance comparison between different locations of the same medical provider entity.
The term healthcare-related data can be used to comprise medical claim data, prescription medicine data, pharmacy claim data, clinical data, and the like. The terms interactions, transactions, claims, and medical claims are intended to convey the same meaning and can be used interchangeably throughout this disclosure. In some embodiments, medical claims can be referred to as interactions between various entities involved in healthcare industry. As described herein, interactions can refer to any transaction or communication between two or more healthcare-related entities. For example, interactions can be at least one of: medical claims associated with a member entity, a medical provider entity, and a healthcare insurance provider entity; a prescription associated with a member entity and a medical provider entity; and a pharmaceutical drug transaction associated with a member entity, a medical provider entity, and a pharmacy entity. It is appreciated that other interactions are possible within the scope and spirit of this disclosure.
Data fusion system 100 comprises a definition component 110 and a translation component 120, both implemented by one or more processors of one or more computing devices or systems executing hardware and/or software-based logic for providing various functionality and features of the present disclosure, as described herein. As will be appreciated from the present disclosure, data fusion system 100 can comprise fewer or additional components that provide the various functionalities and features described herein. Moreover, the number and arrangement of the components of data fusion system 100 responsible for providing the various functionalities and features described herein can further vary from embodiment to embodiment.
Definition component 110 generates and/or modifies ontology 150 and a schema map 140. Exemplary embodiments for defining an ontology (such as ontology 150) are described in U.S. Pat. No. 7,962,495 (the '495 patent), issued on Jun. 14, 2011, the entire contents of which are expressly incorporated herein by reference for all purposes. Consistent with certain embodiments disclosed in the '495 patent, a dynamic ontology may be used to create a database. To create a database ontology, one or more object types may be defined, where each object type includes one or more properties. The attributes of object types or property types of the ontology can be edited or modified at any time. And, for each property type, at least one parser definition may be created. The attributes of a parser definition can be edited or modified at any time.
In some embodiments, each property type is declared to be representative of one or more object types. A property type is representative of an object type when the property type is intuitively associated with the object type. Alternatively, each property type has one or more components and a base type. In some embodiments, a property type can comprise a string, a date, a number, or a composite type consisting of two or more string, date, or number elements. Thus, property types are extensible and can represent complex data structures. Further, a parser definition can reference a component of a complex property type as a unit or token.
An example of a property having multiple components is an Address property having a City component and a State component. An example of raw input data is “Los Angeles, Calif.” An example parser definition specifies an association of imported input data to object property components as follows: {CITY}, {STATE}→Address:State, Address:City. In some embodiments, the association {CITY}, {STATE} is defined in a parser definition using regular expression symbology. The association {CITY}, {STATE} indicates that a city string followed by a state string, and separated by a comma, comprises valid input data for a property of type Address. In contrast, input data of “Los Angeles Calif.” would not be valid for the specified parser definition, but a user could create a second parser definition that does match input data of “Los Angeles Calif.” The definition Address:City, Address:State specifies that matching input data values map to components named “City” and “State” of the Address property. As a result, parsing the input data using the parser definition results in assigning the value “Los Angeles” to the Address:City component of the Address property, and the value “CA” to the Address:State component of the Address property.
According to some embodiments, schema map 140 can define how various elements of schemas 135 for data sources 130 map to various elements of ontology 150. Definition component 110 receives, calculates, extracts, or otherwise identifies schemas 135 for data sources 130. Schemas 135 define the structure of data sources 130; for example, the names and other characteristics of tables, files, columns, fields, properties, and so forth. Definition component 110 furthermore optionally identifies sample data 136 from data sources 130. Definition component 110 can further identify object type, relationship, and property definitions from ontology 150, if any already exist. Definition component 110 can further identify pre-existing mappings from schema map 140, if such mappings exist.
Based on the identified information, definition component 110 can generate a graphical user interface 115. Graphical user interface 115 can be presented to users of a computing device via any suitable output mechanism (e.g., a display screen, an image projection, etc.), and can further accept input from users of the computing device via any suitable input mechanism (e.g., a keyboard, a mouse, a touch screen interface, etc.). Graphical user interface 115 features a visual workspace that visually depicts representations of the elements of ontology 150 for which mappings are defined in schema map 140.
In some embodiments, transformation component 120 can be invoked after schema map 140 and ontology 150 have been defined or redefined. Transformation component 120 identifies schema map 140 and ontology 150. Transformation component 120 further reads data sources 130 and identifies schemas 135 for data sources 130. For each element of ontology 150 described in schema map 140, transformation component 120 iterates through some or all of the data items of data sources 130, generating elements of object model 160 in the manner specified by schema map 140. In some embodiments, transformation component 120 can store a representation of each generated element of object model 160 in a database 170. In some embodiments, transformation component 120 is further configured to synchronize changes in object model 160 back to data sources 130.
Data sources 130 can be one or more sources of data, including, without limitation, spreadsheet files, databases, email folders, document collections, media collections, contact directories, and so forth. Data sources 130 can include data structures stored persistently in non-volatile memory. Data sources 130 can also or alternatively include temporary data structures generated from underlying data sources via data extraction components, such as a result set returned from a database server executing an database query.
Schema map 140, ontology 150, and schemas 135 can be stored in any suitable structures, such as XML files, database tables, and so forth. In some embodiments, ontology 150 is maintained persistently. Schema map 140 can or cannot be maintained persistently, depending on whether the transformation process is perpetual or a one-time event. Schemas 135 need not be maintained in persistent memory, but can be cached for optimization.
Object model 160 comprises collections of elements such as typed objects, properties, and relationships. The collections can be structured in any suitable manner. In some embodiments, a database 170 stores the elements of object model 160, or representations thereof. Alternatively, the elements of object model 160 are stored within database 170 in a different underlying format, such as in a series of object. property, and relationship tables in a relational database.
According to some embodiments, the functionalities, techniques, and components described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices can be hard-wired to perform the techniques, or can include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or can include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or any combination thereof. Such special-purpose computing devices can also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices can be desktop computer systems, portable computer systems, handheld devices, networking devices, or any other device that incorporates hard-wired and/or program logic to implement the techniques.
Throughout this disclosure, reference will be made to an entity such as, for example, a medical provider entity and a member entity. It is appreciated that a medical provider entity can include, for example, a medical professional such as a doctor, a hospital, or a medical clinic or the like, and a member entity can include, for example, an individual person seeking medical services (e.g., seeking medical advice, prescriptions, pharmaceutical drugs, etc.) from a medical provider entity. It is appreciated that a member entity can represent either individual persons or can represent a group of persons (e.g., a group of persons living under one roof as part of a family). In some embodiments, a member entity can be represented by a number of an individual or a number for an entire family. It will also be understood that a medical provider entity can represent either the entity itself or individual persons involved with the entity.
In embodiments described herein, data fusion system 100 can provide a medical provider entity, such as a hospital, or a third-party, such as a health insurance payer entity, to analyze information to analyze performance of the medical provider entity and also to compare the medical provider entity's performance with other medical provider entities. Also, a health insurance payer entity can analyze medical claims associated with a particular medical provider entity to detect any possible fraud associated with the provider entity. Additionally, medical provider entitles can evaluate its performance using comparative analysis.
One or more components of system 200 can be computing systems configured to analyze medical provider entity performance. As further described herein, components of system 200 can include one or more computing devices (e.g., computer(s), server(s), etc.), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.), and other known computing components. In some embodiments, the one or more computing devices are configured to execute software or a set of programmable instructions stored on one or more memory devices to perform one or more operations, consistent with the disclosed embodiments. Components of system 200 can be configured to communicate with one or more other components of system 200, including one or more medical provider entity analysis systems 210, one or more medical services systems 220, one or more geographic data systems 230, one or more medical provider entity management systems 240, and one or more member entity data systems 250. In certain aspects, users can operate one or more components of system 200. The one or more users can be employees of, or associated with, an entity corresponding to the respective component(s) (e.g., someone authorized to use the underlying computing systems or otherwise act on behalf of the entity).
Medical provider entity analysis system 210 can be a computing system configured to analyze medical provider entity performance. For example, medical provider entity analysis system 210 can be a computer system configured to execute software or a set of programmable instructions that collect or receive medical interaction data, member entity data, and medical provider entity data and process it to determine various insights associated with the medical provider entity or a member entity. Medical provider entity analysis system 210 can be configured, in some embodiments, to utilize, include, or be a data fusion system 100 (see, e.g.,
Medical provider entity analysis system 210 can include one or more computing devices (e.g., server(s)), memory storing data and/or software instructions (e.g., database(s), memory devices, etc.) and other known computing components. According to some embodiments, medical provider entity analysis system 210 can include one or more networked computers that execute processing in parallel or use a distributed computing architecture. Medical provider entity analysis system 210 can be configured to communicate with one or more components of system 200, and it can be configured to provide analysis of medical provider entities via an interface(s) accessible by users over a network (e.g., the Internet). For example, medical provider entity analysis system 210 can include a web server that hosts a web page accessible through network 260 by medical provider entity management systems 240. In some embodiments, medical provider entity analysis system 210 can include an application server configured to provide data to one or more client applications executing on computing systems connected to medical provider entity analysis system 210 via network 260.
In some embodiments, medical provider entity analysis system 210 can be configured to determine the actual revenue for a medical provider entity or specific medical provider entity location by processing and analyzing data collected from one or more components of system 200. For example, medical provider entity analysis system 210 can determine that the medical clinic located at 123 Main St, in Burbank, Calif., is actually generating $60,000 of revenue per month. Medical provider entity analysis system 210 can provide an analysis of a medical provider entity performance based on a target for revenue (or number of member entities) and the actual revenue for the medical provider entity. For example, for the medical clinic located at 123 Main St., Burbank, Calif., the medical provider entity analysis system 210 can provide an analysis that the clinic is performing above expectations. Exemplary processes that can be used by medical provider entity analysis system 210 are described below.
Medical provider entity analysis system 210 can, in some embodiments, generate and/or provide a user interface communicating data related to one or more medical provider entities. For example, in some embodiments, medical provider entity analysis system 210 includes a web server that generates HTML code, or scripts capable of generating HTML code, that can be displayed in a web browser executing on computing device. Medical provider entity analysis system 210 can also execute an application server that provides user interface objects to a client application executing on a computing device, or it can provide data that is capable of being displayed in a user interface in a client application executing on a computing device. In some embodiments, medical provider entity analysis system 210 can generate user interfaces that can be displayed within another user interface. For example, medical provider entity analysis system 210 can generate a user interface for display within a parent user interface that is part of a word processing application, a presentation development application, a web browser, or an illustration application, among others. Alternatively, generating a user interface can include generating the code that when executed displays information (e.g., HTML) on the user interface. In some embodiments, generating a user interface can include providing commands and/or data to a set of instructions that when executed render a user interface capable of being shown on a display connected to a computing device. Alternatively, the user interface can include a map, indications of the medical provider entity locations on a map, and indications of the sales or interactions associated with the medical provider entity locations. Examples of some (although not all) user interfaces that can be generated by medical provider entity analysis system 210 are described below.
Referring again to
Geographic data systems 230 can include one or more computing devices configured to provide geographic data to other computing systems in system 200 such as medical provider entity analysis system 210. For example, geographic data systems 230 can provide geodetic coordinates when provided with a street address or vice-versa. In some embodiments, geographic data systems 230 exposes an application programming interface (API) including one or more methods or functions that can be called remotely over a network, such as network 260. According to some embodiments, geographic data systems 230 can provide information concerning routes between two geographic points. For example, medical provider entity analysis system 210 can provide two addresses and geographic data systems 230 can provide, in response, the aerial distance between the two addresses, the distance between the two addresses using roads, and/or a suggested route between the two addresses and the route's distance.
According to some embodiments, geographic data systems 230 can also provide map data to medical provider entity analysis system 210 and/or other components of system 200. The map data can include, for example, satellite or overhead images of a geographic region or a graphic representing a geographic region. The map data can also include points of interest, such as landmarks, malls, shopping centers, schools, or popular restaurants or retailers, for example.
Medical provider entity management systems 240 can be one or more computing devices configured to perform one or more operations consistent with disclosed embodiments. For example, medical provider entity management systems 240 can be a desktop computer, a laptop, a server, a mobile device (e.g., tablet, smart phone, etc.), or any other type of computing device configured to request medical provider entity analysis from medical provider entity analysis system 210. According to some embodiments, medical provider entity management systems 240 can comprise a network-enabled computing device operably connected to one or more other presentation devices, which can themselves constitute a computing system. For example, medical provider entity management systems 240 can be connected to a mobile device, telephone, laptop, tablet, or other computing device.
Medical provider entity management systems 240 can include one or more processors configured to execute software instructions stored in memory. Medical provider entity management systems 240 can include software or a set of programmable instructions that when executed by a processor performs known Internet-related communication and content presentation processes. For example, medical provider entity management systems 240 can execute software or a set of instructions that generates and displays interfaces and/or content on a presentation device included in, or connected to, medical provider entity management systems 240. In some embodiments, medical provider entity management systems 240 can be a mobile device that executes mobile device applications and/or mobile device communication software that allows medical provider entity management systems 240 to communicate with components of system 200 over network 260. The disclosed embodiments are not limited to any particular configuration of medical provider entity management systems 240.
Medical provider entity management systems 240 can be one or more computing systems associated with one or more medical provider entities providing medical products (e.g., pharmacies selling drugs) and/or medical services (e.g., hospital, private clinic, etc.). For ease of discussion, the exemplary embodiments presented herein relate to medical interactions involving healthcare consultations between a medical provider (e.g., a doctor) and a member entity (e.g., patient). Medical provider entity management systems 240, however, is not limited to systems associated with only doctors and can be applicable to other healthcare-related entities, such as pharmacies and healthcare-related equipment.
Member entity data systems 250 can include one or more computing devices configured to provide demographic data regarding member entities (e.g., patients seeking healthcare-related services from medical provider entities). For example, member entity data systems 250 can provide information regarding the name, address, gender, income level, age, email address, or other information about member entities. Member entity data systems 250 can include public computing systems such as computing systems affiliated with the National Plan and Provider Enumeration System, U.S. Bureau of the Census, the U.S. Bureau of Labor Statistics, or FedStats, or it can include private computing systems such as computing systems affiliated with health insurance payers, credit bureaus, social media sites, marketing services, or some other organization that collects and provides demographic data.
Network 260 can be any type of network or combination of networks configured to provide electronic communications between components of system 200. For example, network 260 can be any type of network (including infrastructure) that provides communications, exchanges information, and/or facilitates the exchange of information, such as the Internet, a Local Area Network, or other suitable connection(s) that enables the sending and receiving of information between the components of system 200. Network 260 may also comprise any combination of wired and wireless networks. In some embodiments, one or more components of system 200 can communicate directly through a dedicated communication link(s), such as links between medical provider entity analysis system 210, medical services systems 220, geographic data systems 230, medical provider entity management systems 240, and member entity data systems 250.
As noted above, medical provider entity analysis system 210 can include a data fusion system (e.g., data fusion system 100) for organizing data received from one or more of the components of system 200.
As illustrated in
Computer system 300 also includes a main memory 306, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304. Main memory 306 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304. Such instructions, after being stored in non-transitory storage media accessible to processor 304, render computer system 300 into a special-purpose machine that is customized to perform the operations specified in the instructions.
Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304. A storage device 310, such as a magnetic disk, optical disk, hard drive, or USB thumb drive (Flash drive), etc. is provided and coupled to bus 302 for storing information and instructions.
Computer system 300 can be coupled via bus 302 to a display 312, such as a cathode ray tube (CRT), liquid crystal display, or touch screen, for displaying information to a computer user. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. The input device typically has two degrees of freedom in two axes, a first axis (for example, x) and a second axis (for example, y), that allows the device to specify positions in a plane. In some embodiments, the same direction information and command selections as cursor control can be implemented via receiving touches on a touch screen without a cursor.
Computing system 300 can include a user interface module to implement a graphical user interface that can be stored in a mass storage device as executable software codes that are executed by the one or more computing devices. This and other modules can include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
In general, the term “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, Lua, C or C++. A software module can be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It is appreciated that software modules can be callable from other modules or from themselves, and/or can be invoked in response to detected events or interrupts. Software modules configured for execution on computing devices can be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code can be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions can be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules can be comprised of connected logic units, such as gates and flip-flops, and/or can be comprised of programmable units, such as programmable gate arrays or processors. The modules or computing device functionality described herein are preferably implemented as software modules, but can be represented in hardware or firmware. Generally, the modules described herein refer to logical modules that can be combined with other modules or divided into sub-modules despite their physical organization or storage.
Computer system 300 can implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 300 to be a special-purpose machine. According to some embodiments, the operations, functionalities, and techniques and other features described herein are performed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions can be read into main memory 306 from another storage medium, such as storage device 310. Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.
The term “non-transitory media” as used herein refers to any non-transitory media storing data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media can comprise non-volatile media and/or volatile media. Non-volatile media can include, for example, optical or magnetic disks, such as storage device 310. Volatile media can include dynamic memory, such as main memory 306. Common forms of non-transitory media can include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
Non-transitory media is distinct from, but can be used in conjunction with, transmission media. Transmission media can participate in transferring information between storage media. For example, transmission media can include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Various forms of media can be involved in carrying one or more sequences of one or more instructions to processor 304 for execution. For example, the instructions can initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 300 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 302. Bus 302 carries the data to main memory 306, from which processor 304 retrieves and executes the instructions. The instructions received by main memory 306 can optionally be stored on storage device 310 either before or after execution by processor 304.
Computer system 300 can also include a communication interface 318 coupled to bus 302. Communication interface 318 can provide a two-way data communication coupling to a network link 320 that can be connected to a local network 322. For example, communication interface 318 can be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 318 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 318 can send and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 320 can typically provide data communication through one or more networks to other data devices. For example, network link 320 can provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326. ISP 326 in turn can provide data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 328. Local network 322 and Internet 328 can both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 320 and through communication interface 318, which carry the digital data to and from computer system 300, can be example forms of transmission media.
Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318. In the Internet example, a server 330 can transmit a requested code for an application program through Internet 328, ISP 326, local network 322 and communication interface 318. The received code can be executed by processor 304 as it is received, and/or stored in storage device 310, or other non-volatile storage for later execution. In some embodiments, server 330 can provide information for being displayed on a display.
Alternatively, data structure 400 can be a column-oriented database management system that stores data as sections of columns of data rather than rows of data. This column-oriented DBMS can have advantages, for example, for data warehouses, customer relationship management systems, and library card catalogs, and other ad hoc inquiry systems where aggregates are computed over large numbers of similar data items. A column-oriented DBMS can be more efficient than an RDBMS when an aggregate needs to be computed over many rows but only for a notably smaller subset of all columns of data, because reading that smaller subset of data can be faster than reading all data. A column-oriented DBMS can be designed to efficiently return data for an entire column, in as few operations as possible. A column-oriented DBMS can store data by serializing each column of data of data structure 400. For example, in a column-oriented DBMS, data associated with a category (e.g., member entity identification category 415) can be stored serially such that data associated with that category for all interactions of data structure 400 can be accessed in one operation.
As shown in
Interaction number category 410 can uniquely identify each interaction of data structure 400. For example, data structure 400 depicts ten million healthcare-related interactions as illustrated by interaction number category 410 of the last row of data structure 400 as 10,000,000. In
Member entity identification category 415 can identify a member entity. In some embodiments, member entity identification category 415 can represent a name (e.g., Member 1 for interaction 401; Member N for interaction 499M) of the member entity. Alternatively, member entity identification category 415 can represent a code uniquely identifying the member entity (e.g., ME002 for interaction 402). For example, the identifiers under the member entity identification category 415 can be any identifier (e.g., social security number, tax identification number, etc) that can uniquely identify a person or a group of people.
Member entity location category 420 can represent a location information of the member entity. In some embodiments, member entity location category 420 can represent the location information by providing at least one of: a state of residence (e.g., state sub-category 422; California for element 401) of the member entity; a city of residence (e.g., city sub-category 424; Palo Alto for interaction 401) of the member entity; a zip code of residence (e.g., zip code sub-category 426; 94304 for interaction 401) of the member entity; and a street address of residence (e.g., street address sub-category 428; 234 University Ave., for interaction 401) of the member entity. In some embodiments, a separate database can provide member entity location category 420 with additional addresses and contact information of the member entity.
Medical provider entity identification category 430 can identify a medical provider entity (e.g., a hospital and a medical clinic). In some embodiments, medical provider entity identification category 430 can represent a name of the medical provider entity (e.g., Provider 2 for interaction 402). Alternatively, medical provider entity identification category 430 can represent a code uniquely identifying the medical provider entity (e.g., MPE001 for interaction 401). For example, medical provider entity identification category 430 can represent a National Provider Identifier as defined by the National Plan and Provider Enumeration System (NPPES). The Centers for Medicare & Medicaid Services, which is a part of U.S. Department of Health and Human Services has developed the NPPES to assign unique identifiers for healthcare providers and health plans. The purpose of NPPES and National Provider Identifier is to improve the efficiency and effectiveness of the electronic transmission of healthcare-related information. In some embodiments, the medical provider entity can be represented by more than one identifier under the medical provider entity identification category 430. For example, the medical provider entity identification category 430 can represent a license number of a doctor. When the doctor is licensed in multiple states, he will have multiple license numbers with each license number uniquely identifying the doctor.
Medical provider entity location category 440 can represent a location information of the medical provider entity. In some embodiments, medical provider entity location category 440 can represent the location information by providing at least one of: a state where the medical provider entity is located (e.g., state sub-category 442; California for interaction 401); a city where the medical provider entity is located (e.g., city sub-category 444; Palo Alto for interaction 401); a zip code where the medical provider entity is located (e.g., zip code sub-category 446; 94304 for interaction 401); and a street address where the medical provider entity is located (e.g., street address sub-category 448; 214 Porter Dr. for interaction 401). In some embodiments, a separate database can provide medical provider entity location category 440 with additional addresses and contact information of the medical provider entity.
Specialty of medical provider entity category 450 can identify a type of specialty of the medical provider entity involved in each interaction. In some embodiments, specialty of medical provider entity category 450 of the medical provider entity can be identified by a category name customarily used in the industry (e.g., internal medicine for interaction 401) or by an identification code that can identify a type of the medical provider entity (e.g., SMPE123 for interaction 403). Medical diagnosis category 455 can identify a type of medical diagnosis involved in each interaction. In some embodiments, medical diagnosis category 455 can be identified by a category name customarily used in the industry (e.g., diabetes for interaction 401) or by an identification code that can identify a medical diagnosis (e.g., MD002 for interaction 403). In some embodiments, a separate database can provide specialty of medical provider entity category 450 with practice details for the medical provider entity.
Medical procedure category 460 can identify a type of medical procedure associated with medical diagnosis 450 involved in each interaction. In some embodiments, medical procedure category 460 can be identified by a category name customarily used in the industry (e.g., prescription glasses for interaction 403) or by an identification code that can identify a medical procedure (e.g., MP005 for interaction 405). Interaction amount category 465 can represent a transaction amount (e.g., $245.34 for interaction 401) involved in each interaction. Time of interaction category 470 can represent a time at which the interaction was executed. In some embodiments, time of interaction category 470 can be represented by a date (e.g., date sub-category 472; Jan. 20, 2014, for interaction 401) and time of the day (e.g., time sub-category 474; 10:32 AM local time for interaction 401). Time sub-category 474 can be represented in either military time or some other format. Alternatively, time sub-category 474 can be represented with a local time zone of either medical provider entity location category 440 or member entity location category 420.
In some embodiments, each interaction can include categories of information including (not shown in
In some embodiments, member entity demographic information can be stored in each interaction. For example, member entity demographic information can include at least one of: member entity age category, member entity gender category, member entity income category, and member entity with children category. In some embodiments, member entity age category can represent age information associated with the member entity; member entity gender category can represent gender information (e.g., Male or Female) associated with the member entity; member entity income category can represent income information (e.g., greater than $100,000 per year) associated with the member entity; and member entity with children category can represent whether the member entity has any children under 18 or not. For example, if the member entity comprises children under 18, a positive indication can be stored and if the member entity does not comprise children under 18, a negative indication can be stored. In some embodiments, member entity with children category can store information representing a number of children associated with the member entity.
In some embodiments, database 170 can include data associated with pharmacy interactions and/or medical interactions. For example, data sets associated with pharmacy and medical interactions that include several categories of information can be depicted in tables below. It is appreciated that Tables 1-3 depict merely exemplary categories of information that can be associated with the various healthcare-related entities and are not meant to be limiting. It will also be understood that data categories depicted in Tables 1-3 can be alternative to or complementary to the data categories described in
An exemplary data table associated with interactions is provided below in Table 1:
Another exemplary data table associated with member entities is provided below in Table 2:
Another exemplary data table associated with medical provider entities is provided below in Table 3:
In some embodiments, an objective for analyzing healthcare-related data is to provide a generalizable platform for analyzing performance of various entities involved in healthcare industry including, medical provider entities, member entities, healthcare insurance provider entities, etc.
In step 510, the medical provider entity analysis system can receive a request that includes one or more filter selections for analyzing a performance of one or more entities of multiple healthcare-related entities. In some embodiments, the request can be received from a medical provider entity (e.g., a hospital), which can be interested in analyzing its performance with regards to the one or more filter selections. In some embodiments, one or more filter selections of the received request can comprise a selection to represent data associated with at least one of: members; providers; claims; procedures; diagnoses; and time. Alternatively, the one or more filter selections can comprise a selection to represent data associated with at least one of: charts; histograms; maps; numbers; and time.
In some embodiments, the one or more filter selections can comprise a selection to represent data associated with at least one of: demographic information representing at least one of age, gender, income, social security number, and location associated with the member entity; information representing the medical provider entity's location; information representing the medical provider entity's identification; information representing the medical provider entity's specialty; information representing an amount associated with an interaction; information representing a medical diagnosis associated with an interaction; information representing a medical procedure associated with an interaction; and a time associated with an interaction. An exemplary block diagram of a user interface with exemplary filter selections is shown in
In some embodiments, the process of analyzing a performance of one or more entities of multiple healthcare-related entities can be implemented without having to receive one or more filter selections. Such a process can be implemented, for example, by having the medical provider entity analysis system (comprise one or more predetermined filter selections. These exemplary one or more predetermined filter selections can include the same selections as the one or more filters (e.g., add new filter 605 shown in
In step 520, the medical provider entity analysis system can access a data structure (e.g., data structure 400) including information that specifies a plurality of categories of healthcare-related interactions associated with multiple healthcare-related entities. The data structure can represent information associated with a very large number of interactions. In some embodiments, the data structure can represent information for tens of millions of healthcare-related interactions (e.g., data structure 400 depicting 10 million healthcare-related interactions). The data structure can be similar to the exemplary data structure 400 described in
In step 530, the medical provider entity analysis system can identify a set of categories from the plurality of categories within the data structure based on the received filter selections. The set of identified categories, for example, can be one or more of the plurality of categories of the data structure (e.g., data structure 400). In some embodiments, there can be a mapping between the one or more filter selections and the plurality of categories. For example, a filter selection for member entity zip code can be mapped to member entity location category 420 and further to zip code sub-category 426. Another exemplary mapping can exist between a filter selection for gender (e.g., gender 816 in
Based on the one or more filter selections, the medical provider entity analysis system (e.g., medical provider entity analysis system 210) can identify some categories of the data structure that are relevant for analyzing the performance of the one or more entities (e.g., medical provider entity) regarding member entity demographics including a location (e.g., zip code) of the member entities. In an example where the received filter selection include members 810 and further member zipcode 815, the medical provider entity analysis system can identify categories associated with a number of interaction (e.g., number category 410 as shown in
At step 540, the medical provider entity analysis system can process information associated with the identified categories to generate or provide performance information of one or more entities of the multiple healthcare-related entities in accordance with the one or more filter selections. In some embodiments, a first entity of the one or more entities can be a medical provider entity. One or more entities of the multiple healthcare-related entities can comprise one or more groups of entities of the multiple healthcare-related entities. For example, a group of entities can be defined such that the group of entities has similar characteristics, such as all dentist clinics within a given zip code or all pharmacy store locations (e.g., Walgreens™) within a city (e.g., San Jose, Calif.). Processing the identified categories can comprise creating a new data structure that is different from the data structure of step 520. In some embodiments, the new data structure may comprise only the identified categories of step 530 or one or more subsets of those categories. Alternatively, processing the identified categories can be performed on the existing data structure of step 520 (e.g., data structure 400).
By way of example, when the one or more filter selections includes “member zip code,” the system can process information that is associated with identified categories based on the filter selections such as a number of interaction (e.g., number category 410), an identity of member entities (e.g., member entity identification category 415), a location of member entities (e.g., member entity location category 420 including at least zip code sub-category 426), and categories associated with member entity demographics including member entity age category, member entity gender category, and member entity income category. In some embodiments, data associated with identified categories can be stored in either a row-oriented database or a column-oriented database, as described above with respect to data structure 400. Processing information can involve performing statistical analysis on data stored in the identified categories. Performing statistical analysis, for example, can include various computations of data associated with identified categories. For example, if an identified category is interaction amount category 460, processing information can include performing an aggregate of the interaction amount to compute a total amount for all interactions associated with the medical provider entity. It is understood that processing information can include other examples of performing statistical analysis, including but not limited to, computing an average, mean, maximum, minimum, or standard deviation for a series of data.
In some embodiments, processing the information of the identified categories can result in a multitude of useful insights regarding the behavior of member entities or the performance of the medical provider entities. An exemplary insight can be to provide a summary of the entity's performance. Such an insight, for example, can be represented in a dashboard illustrating a medical providing entity's performance. For example,
In some embodiments, dashboard 610 can represent information related to claims, member entities, or providing entities associated with one or more filter selections. For example,
Some of useful insights, for example, can relate to the kinds of services (e.g., doctor visit) availed or products bought (e.g., prescription drugs or medical equipment) by member entities, a location where member entities avail the services or buy the products, a time as to when member entities avail the services or buy the products, the frequency with which member entities avail the services or buy the products, a location of residence of member entities, demographics information of member entities including their age and income level.
In some embodiments, processing the information of the identified categories can result in a multitude of additional useful insights regarding the performance of medical provider entities. For example, such additional insights can relate to an ability to detect any irregularities such as fraud associated with medical claims and/or prescription claims; an ability by a provider to be able to analyze and compare its performance with other providers in a given region; an ability to perform a cohort analysis, where a cohort can be a group of entities that share an attribute. Other forms of insights can include providing a summary of the kinds of medical services being offered by medical provider entities; a performance comparison between different locations of the same medical provider entity; etc. It is understood that the above-listed insights are merely exemplary and a number of other insights can be drawn within the scope and spirit of this disclosure.
In some embodiments, the medical provider entity analysis system can process (in step 540) information of a data structure that is updated in real-time. That is, processing of information can occur on the data structure that comprises up-to-date interaction data at the time of an execution of step 540. Alternatively, the medical provider entity analysis system can process information of a data structure that is not updated in real-time. That is, processing of information can occur on the data structure that does not comprise up-to-date interaction data at the time of an execution of step 540. For example, processing of information can occur on a data structure that is updated only periodically (e.g., on a daily or weekly basis) and not in real-time. In exemplary embodiments comprising one or more predetermined filter selections, the medical provider entity analysis system can process information (step 540) in the same fashion as that of the exemplary embodiments where one or more filter selections can be received from a user.
In step 550, the medical provider entity analysis system can generate a user interface that includes the performance information indicating the performance of the one or more entities (e.g., medical provider entity). In some embodiments, the user interface can comprise a representation of a geographic region. The user interface can also comprise a representation of locations of the one or more entities overlaid on the geographic region; and further a representation of sub-geographic regions overlaid on a geographic region. Alternatively, the user interface can include a representation of the performance of the one or more entities over geographic or sub-geographic regions associated with a location of the one or more entities. For example, geographic or sub-geographic regions can be associated with a location of either a member entity or a medical provider entity. In some embodiments, the user interface can include a representation of the performance as a dashboard (e.g., dashboard 610 of
In exemplary embodiments comprising one or more predetermined filter selections, the medical provider entity analysis system can provide the processed information (step 550) in the same fashion as that of the exemplary embodiments where one or more filter selections can be received from a user. Exemplary user interfaces are depicted in
Claims 611 can represent a number of claims associated with provider 104 either over its lifetime or for a particular period of time. In some embodiments, claims 611 can represent a number of claims associated with interactions based on received filter selections. Providers 612 can represent a number of medical provider entities associated with interactions of provider 104. In this particular example, because provider 104 is the only medical provider entity selected, providers 612 represents a value 1. Alternatively, if two or more medical provider entities are selected to be depicted on user interface 600, providers 612 can have a value greater than 1. Members 613 can represent a number of member entities associated with interactions of provider 104. In this particular example, members 613 represents a value 26 signifying that each of the 26 claims associated with provider 104 is further associated with a unique member entity. Alternatively, if any member entity associated with provider 104 is involved in more than one interaction with provider 104, members 613 can have a value less than a number represented by claims 611 (e.g., less than 26 for claims 611).
Monthly claims (AVG) 614 can represent an average number of claims associated with provider 104 per month either over its lifetime or for a particular period of time. In some embodiments, monthly claims (AVG) 614 can represent an average number of claims associated with received filter selections. Weekly claims (AVG) 615 can represent an average number of claims associated with provider 104 per week either over its lifetime or for a particular period of time. In some embodiments, weekly claims (AVG) 615 can represent an average number of claims associated with received filter selections. Monthly payout (AVG) 616 can represent an average claim amount that provider 104 is able to get reimbursed for the services they perform per month either over its lifetime or for a particular period of time. It is understood that the above-described user interface elements are not limiting and there can be other user interface elements within the scope of this disclosure.
User interface 700 can represent a dashboard (e.g., dashboard 770) that depicts a performance metric for an entity selected (e.g., provider 104 of
User interface 700 can include a map (not shown in
User interface 800 can also depict sub-filter selections that can be associated with a filter selection. For example, user interface 800 can depict sub-filter selections associated with member entities (e.g., members 810) that can include a selection associated with member entity's identification (e.g., SSN 811 that can represent a social security number), member entity's age (e.g., age 812), member entity's city (e.g., member city 813), member entity's state (e.g., member state 814), member entity's zip code (e.g., member zipcode 815), and member entity's gender (e.g., gender 816). It is understood that sub-filter selections associated with other filter selections (e.g., providers 820, claims 830, and time 840) can be included within user interface 800 such that each such filter selection can have sub-filter selections similar to that of filter selection members 810. For example, providers 820 can include sub-filter selections (not shown in
User interface 900 also includes another bar graph depicting members by cost 920 that represents a bar graph of interactions associated with provider 104 such that member entities are depicted in a bar graph in a decreasing order of cost associated with the member entity. Members by cost 920, similar to diagnoses by cost 910, can include a column representing an identity of member entity involved (e.g., type 922) and a bar graph portion representing a cost associated with the member entity using bars (e.g., magnitude 924) such that the higher the cost associated with a member entity, the longer the bar associated with the member entity. For example, type 922 represents “928483” as the member entity with the highest cost and is depicted as the longest bar in the bar graph. While bar graphs of
User interface 1100 can include a dashboard representing a performance summary of an entity. For example, dashboard 1110 can represent a performance summary of member entity, member 8640894, that includes number of claims (e.g., claims 1111), a number of medical provider entities (e.g., providers 1112), a number of member entities (e.g., members 1113), average number of claims in a month (e.g., monthly claims (AVG) 1114), average number of weekly claims (e.g., weekly claims (AVG) 1115), and average payout on a monthly basis (e.g., monthly payout (AVG) 1116).
The various user interface elements of dashboard 1100 can be similar to the elements of dashboard 610 of
Monthly claims (AVG) 1114 can represent an average number of claims associated with member 8640894 per month either over the member's lifetime or for a particular period of time. In some embodiments, monthly claims (AVG) 1114 can represent an average number of claims associated with received filter selections. Weekly claims (AVG) 1115 can represent an average number of claims associated with member 8640894 per week either over the member's lifetime or for a particular period of time. In some embodiments, weekly claims (AVG) 1115 can represent an average number of claims associated with received filter selections. Monthly payout (AVG) 1116 can represent an average claim amount that was involved in each interaction of member 8640894 per month either over the member's lifetime or for a particular period of time. It is understood that the above-described user interface elements are not limiting and there can other user interface elements within the scope of this disclosure.
User interface 1100 also includes a bar chart or bar graph depicting a performance metric of member 8640894 for exemplary filter selections (e.g., procedures by cost 1121). Procedures by cost 1121 represents a bar graph of interactions associated with member 8640894 such that the procedures are depicted in a bar graph in a decreasing order of cost associated with the procedure. Procedures by cost 1121 can include a column representing a type of procedure involved (e.g., type 1122) and a bar graph portion representing a cost associated with the procedure using bars (e.g., magnitude 1123) such that the higher the cost of a procedure, the longer the bar associated with the procedure. While the bar graph is depicted as a horizontal bar graph, it is understood that a vertical bar graph, a histogram, or any other type of statistical analysis depiction can be used to represent the information depicting a performance metric of a healthcare-related entity. It will also be understood that user interface 1100 can include user-friendly features such that a user can click on magnitude 1123 to toggle between a descending order and an ascending order for the representation. Furthermore, while user interface 1100 shows only the top nine representations on the bar graph, a user can select an option (e.g., more 1129) to increase or decrease the number of depicted representations on the bar graph.
As stated above, one of the objectives for analyzing healthcare-related data is to be able to provide a generalizable platform for analyzing performance of various entities involved in healthcare industry including, medical provider entities, member entities, healthcare insurance provider entities, etc. In some embodiments, fraud associated with medical claims can be detected by analyzing and comparing medical claim data with that of local, regional, and/or national medical claim data. For example, medical claim fraud can be detected by identifying any irregularities associated with medical claims, as described in
In step 1505, a medical provider entity analysis system can receive a first input representing a first healthcare-related entity to implement a process for comparing a performance of healthcare-related entities. In some embodiments, a medical provider entity (e.g., a hospital) that can be interested in comparing its performance with one or more healthcare-related entities can receive the first input. The first input can comprise one or more filter selections. The one or more filter selections can comprise a selection to represent data associated with at least one of: members; providers; claims; procedures; diagnoses; and time. In some embodiments, the one or more filter selections can comprise a selection to represent data associated with at least one of: charts; histograms; maps; numbers; and time.
In step 1510, the medical provider entity analysis system can access a data structure (e.g., data structure 400) including information that specifies a plurality of categories of information showing healthcare-related interactions associated with multiple healthcare-related entities. The data structure can represent information associated with a very large number of interactions. In some embodiments, the data structure can represent information for tens of millions of healthcare-related interactions (e.g., data structure 400 depicting ten million healthcare-related interactions). The data structure can be similar to the exemplary data structure 400 described in
In step 1515, the medical provider entity analysis system can identify a first set of interactions within the data structure that are associated with the first healthcare-related entity. The first set of identified interactions, for example, can be part of the data structure (e.g., data structure 400). In some embodiments where the first input comprises one or more filter selections, there can be a mapping between the first input filter selections and a plurality of categories of the data structure associated with the first set of interactions. For example, a filter selection representing medical provider entity's location zip code can be mapped to medical provider entity location category 440 and further to zip code sub-category 446. Another exemplary mapping can exist between a filter selection for medical provider entity's specialty and a category or a sub-category associated with a specialty of medical provider entity (element 450 of
For embodiments where one or more filter selections are received, the medical provider entity analysis system (e.g., medical provider entity analysis system 210) can identify relevant categories of the first set of interactions of the data structure based on the received filter selections. For example, if the received filter selection involves a location of a member entity (e.g., member zipcode 815), the medical provider entity analysis system can identify categories associated with a number of interaction (e.g., number category 410), an identity of member entities (e.g., member entity identification category 415), and a location of member entities (e.g., member entity location category 420 including at least zip code sub-category 426). Alternatively, member entity location category 420 can be identified along with one or more categories of state sub-category 422, city sub-category 424, zip code sub-category 426, and street address sub-category 428.
In step 1520, the medical provider entity analysis system can process information associated with the identified first set of interactions to generate or provide performance information of the first healthcare-related entity. In embodiments with received filter selections, performance of the first healthcare-related entity can be analyzed in accordance with the received filter selections. In some embodiments, the first healthcare-related entity can be a single medical provider entity (e.g., a medical clinic). Alternatively, the first healthcare-related entity can comprise one or more groups of healthcare-related entities as identified by the received filter selections. For example, a group of healthcare-related entities can be defined such that the group of entities have similar characteristics, such as all dentist clinics within a given zip code or all pharmacy store locations (e.g., Walgreens™) within a city (e.g., San Jose, Calif.). Processing the identified categories can comprise creating a new data structure that is different from the data structure of step 1510, and comprising only the identified first set of interactions of step 1515 or one or more subsets of the categories comprised in those interactions. Alternatively, processing the identified first set of interactions can be performed on the existing data structure of step 1510 (e.g., data structure 400).
In some embodiments, data associated with identified categories can be stored in either a row-oriented database or a column-oriented database, as described above with respect to data structure 400. Processing information can involve performing statistical analysis on data stored in the identified categories. Performing statistical analysis, for example, can include various computations of data associated with identified categories. For example, if an identified category is interaction amount category 460, processing information can include performing an aggregate of the interaction amount to compute a total amount for all interactions associated with the medical provider entity. It is understood that processing information can include other examples of performing statistical analysis, including but not limited to, computing an average, mean, maximum, minimum, or standard deviation for a series of data.
In some embodiments, the medical provider entity analysis system can process information of a data structure that is updated in real-time. That is, processing of information can occur on the data structure that comprises up-to-date interaction data at the time of processing step 1520. Alternatively, the medical provider entity analysis system can process information of a data structure that is not updated in real-time. That is, processing of information can occur on the data structure that does not comprise up-to-date interaction data at the time of processing step 1520. For example, processing of information can occur on a data structure that is updated only periodically (e.g., on a daily or weekly basis) and not in real-time. In step 1525, the medical provider entity analysis system can generate a user interface that includes the performance information of the first healthcare-related entity indicating a performance of the first healthcare-related entity (e.g., medical provider entity). In some embodiments, user interface of step 1525 can be similar to the user interface described in step 550 above.
After depicting a performance of the first healthcare-related entity, the method can proceed with a series of steps for comparing the performance of the first entity with either a second entity or a group of healthcare-related entities. To assist with the comparison, in step 1530, the medical provider entity analysis system can receive a second input representing one or more filter selections. In some embodiments, the second input can be received from a medical provider entity (e.g., a hospital). The second input filter selections can comprise a selection to represent data associated with at least one of: members; providers; claims; procedures; diagnoses; and time. Alternatively, the second input filter selections can comprise a selection to represent data associated with at least one of: charts; histograms; maps; numbers; and time. In embodiments where the first input comprises a first set of filter selections, the second input comprises a second set of filter selections. Alternatively, in some embodiments, the second input filter selections can be the same as the first input filter selections.
In some embodiments, the second input filter selections can comprise a selection to represent data associated with at least one of: demographic information representing at least one of age, gender, income, social security number, and location associated with the member entity; information representing the medical provider entity's location; information representing the medical provider entity's identification; information representing the medical provider entity's specialty; information representing an amount associated with an interaction; information representing a medical diagnosis associated with an interaction; information representing a medical procedure associated with an interaction; and a time associated with an interaction.
In step 1535, the medical provider entity analysis system can identify a second set of interactions within the data structure based on the second input filter selections. The second set of identified interactions, for example, can be part of the data structure (e.g., data structure 400). In some embodiments, there can be a mapping, similar to the mapping described in step 1515, between the second input filter selections and a plurality of categories of the data structure associated with the second set of interactions.
Based on the second input filter selections, the medical provider entity analysis system can identify some categories of the second set of interactions of the data structure that are relevant for comparing the performance of the first healthcare-related entity with one or more other entities. For example, the medical provider entity analysis system can identify categories, similar to the identified categories described in step 1515, associated with a number of interaction (e.g., number category 410), an identity of member entities (e.g., member entity identification category 415), and a location of member entities (e.g., member entity location category 420 including at least zip code sub-category 426). In some embodiments, member entity location category 420 can be identified along with one or more categories of state sub-category 422, city sub-category 424, zip code sub-category 426, and street address sub-category 428.
In step 1540, the medical provider entity analysis system can process information associated with the identified second set of interactions to generate or provide performance information of a second healthcare-related entity associated with the second set of interactions. In some embodiments, the second healthcare-related entity can be a group of entities that share an attribute (e.g., cohort). Processing of information of step 1540 can be similar to the processing of information described in step 1520 above. In step 1545, the medical provider entity analysis system can generate a user interface (or modify user interface of step 1525) to include the performance information of the second healthcare-related entity (or a group of healthcare-related entities) indicating a performance of the second healthcare-related entity (or the group of healthcare-related entities) on the same user interface as in step 1525.
In step 1550, the medical provider entity analysis system can compare the performance of the first healthcare-related entity with the performance of the second healthcare-related entity (or a group of healthcare-related entities). In some embodiments, the second healthcare-related entity (or a group of healthcare-related entities) can be identified based on the second input filter selections. In step 1555, the medical provider entity analysis system can display a representation of a performance comparison between the first healthcare-related entity and that of the second healthcare-related entity (or a group of healthcare-related entities) on the user interface. For example, a first healthcare-related entity (e.g., an health insurance payer) can be interested in analyzing billing practices of a specific doctor (e.g., a pathologist with an identification, provider 108 of
For purposes of illustration, assume a situation where an analyst is evaluating billing practices of provider 108. In such a case, user interface 1700 can include a user interface element to add one or more filter selections (e.g., add new filter 1705 and add new filter 1755). User interface 1700 can include a user interface element to display a time period (e.g., date 1701 and date 1751) associated with a performance metric depicted in
In some embodiments, a performance associated with all interactions with provider 108 can be displayed in an exemplary dashboard (e.g., dashboard 1710 of user interface 1700). Dashboard 1710 can include a performance summary of medical provider entity, provider 108, that includes a number of claims (e.g., claims 1711), a number of medical provider entities (e.g., providers 1712), a number of member entities (e.g., members 1713), average number of claims in a month (e.g., monthly claims (AVG) 1714), average number of weekly claims (e.g., weekly claims (AVG) 1715), and average payout on a monthly basis (e.g., monthly payout (AVG) 1716).
User interface 1700 can also include a bar graph for depicting a performance of provider 108. For example, user interface 1700 includes procedures by cost bar graph 1720 that depicts various procedures involved with provider 108 in a descending order of a cost associated with the procedures. Procedures by cost bar graph 1720 can further include a column representing a type of procedure involved (e.g., type 1721) and a bar graph portion representing a cost associated with the procedures using bars (e.g., magnitude 1722) such that the higher the cost of a procedure, the longer the bar associated with the procedure. For example, type 1721 represents “CT Scan for Therapy Guide” as the procedure with the second highest cost and is depicted as the second longest bar in the bar graph.
Next, as detailed in step 1530, the medical provider entity analysis system can receive a second input representing one of more filter selections to enable a performance comparison between provider 108 and a group of healthcare-related entities. For example, the second input can be received by selecting add new filter 1755 as depicted in user interface 1700. The possible filter selections of add new filter 1755 can be similar to all possible values as described in steps 1515 and 1530. An exemplary second input filter selection can be depicted by provider state 1753 in user interface 1700. In this example, provider state 1753 indicates a value as FL, signifying that a state of a medical provider entity as Florida. Accordingly, in step 1535, a second set of interactions can be identified that are associated with all medical providing entities that are located in the state of Florida. Then in step 1540, the identified second set of interactions can be analyzed to evaluate a performance of all entities associated with the second input filter selections, i.e., entities located in Florida. For example, user interface 1700 depicts dashboard 1710 that also includes a performance summary of the second set of interactions based on the second input filter selections (e.g., provider state 1753 of Florida). In this example, the performance summary includes number of claims (e.g., claims 1761), a number of medical provider entities (e.g., providers 1762), a number of member entities (e.g., members 1763), average number of claims in a month (e.g., monthly claims (AVG) 1764), average number of weekly claims (e.g., weekly claims (AVG) 1765), and average payout on a monthly basis (e.g., monthly payout (AVG) 1766).
It is understood that dashboard 1710 can provide a simplified side-by-side performance comparison between first healthcare-related entity and a second healthcare-related entity. In some embodiments, the second entity can be two or more healthcare-related entities or a cohort of healthcare-related entities (e.g., save a cohort 1410). For example, dashboard 1710 depicts total claims associated with provider 108 to be 71 (as identified by element 1711) while the total claims associated with medical providing entities located in Florida to be 8,471,010 (as identified by element 1761). This comparison can provide a quick overview of how many claims provider 108 is processing compared to all such providers in the state of Florida. While the above-described second input filter selections refer to a state, it will be understood that by changing the second input filter selections to a zip code, for example, element 1761 can indicate the total number of claims processed within that particular zip code.
User interface 1700 also shows procedures by cost for the first healthcare-related entity (in this case provider 108) as compared to an aggregate group of medical provider entities. In the procedures by cost 1720 portion of this exemplary bar graph, the left hand side shows the types of procedures (e.g., type 1721) and their costs of interactions associated with provider 108 (e.g., magnitude 1722). On the right hand side, the costs for those procedures as provided by an aggregate group of medical providers are shown (e.g., magnitude 1723). While
The aggregate group of medical providers could be local, regional, or national medical provider entities that are the same or are similar to the medical provider entity at issue (in this case, provider 108). The aggregate group of medical providers can be identified based on the second input filter selections (e.g., filter selection 1753 for Florida). Delta chart 1725 in the middle of the two procedures by cost portion shows a comparison between provider 108's cost of procedure versus the aggregate group of medical providers' normalized cost of the same procedure. For example, for the CT Scan for Therapy Guide procedure, the cost of this procedure as compared between provider 108 and the aggregate group of medical provider entities leaned heavily towards the medical provider entity, thereby providing an indication that further investigation may be needed. On the other hand, the costs for the Office/Outpatient Visit Est procedures were similar between provider 108 and the aggregate group of medical provider entities, thereby providing an indication that further investigation might not be needed. It is understood that the above-described method for analyzing and comparing entity performance to identify fraud is only exemplary and not meant to be limiting.
User interface 1600 can also depict sub-filter selections that can be associated with a filter selection. For example, user interface 1600 can depict sub-filter selections associated with member entities (e.g., members 1610) that can include a selection associated with member entity's identification (e.g., SSN 1611 that can represent a social security number), member entity's age (e.g., age 1612), member entity's city (e.g., member city 1613), member entity's state (e.g., member state 1614), member entity's zip code (e.g., member zipcode 1615), and member entity's gender (e.g., gender 1616). It is understood that sub-filter selections associated with other filter selections (e.g., providers 1620, claims 1630, and time 1640) can be included within user interface 1600 such that each such filter selection can have sub-filter selections similar to that of filter selection, members 1610. For example, providers 1620 can include sub-filter selections (not shown in
Moreover, using a similar type of analysis as shown in, for example,
It is understood that a user interface similar to interfaces 1700 and/or 1800 can be generated to depict top prescribing entities. While
Medical provider entity analysis system 210 can perform cohort analysis of interactions to detect any irregularities including fraud. A cohort can be defined, saved, and loaded from memory as described in
In the foregoing specification, embodiments have been described with reference to numerous specific details that can vary from implementation to implementation. Certain adaptations and modifications of the embodiments described herein can be made. Therefore, the above embodiments are considered to be illustrative and not restrictive.
This application claims the benefit of priority to U.S. Provisional Patent Application No. 61/923,187, filed on Jan. 2, 2014, and to U.S. Provisional Patent Application No. 61/923,189, also filed on Jan. 2, 2014, the disclosures of which are expressly incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61923189 | Jan 2014 | US | |
61923187 | Jan 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16249705 | Jan 2019 | US |
Child | 16582962 | US | |
Parent | 14289596 | May 2014 | US |
Child | 16249705 | US |