A consumer typically manages many aspects of health care. As the consumer performs various management tasks related to health care (e.g., deciding whether to subscribe to a health plan, monitoring payment of claims by health care plans, deciding on contributions to and/or withdrawals from a health care savings account, etc.), the consumer may use information from many different sources (e.g., health plan providers, financial institutions holding health savings accounts, health care service providers, etc.).
Some of the information that the consumer needs for health care management may be available to the consumer electronically from these sources. In addition, some of the sources may provide applications with limited capabilities that the consumer may use to access and manage the health care related information available from the source. For example, health plan providers maintain repositories of subscriber health plan data including health claims received from service providers, the status of payments made to these providers under subscriber benefit plans, subscriber coverage and limits, etc. Many health plan providers also provide the capability for subscribers (i.e., consumers enrolled in a provided health plan) to access data. Specifically, the subscribers may view, and perhaps modify, some of the subscriber health care data regarding the subscribers' health claims and benefit plans via applications provided on the health plan providers' web sites. For example, a subscriber may view the status of pending claims under a benefit plan provided by a health plan using such an application. Similarly, financial institutions may provide the capability for a consumer to view balances of health care savings accounts and to make electronic payments to health care providers from the accounts.
Other health care information that a consumer may need is available to the consumer via paper reports (e.g., bills, laboratory reports, etc.) or orally (e.g., telephone calls to/from health care providers) even though the information is maintained electronically by the information sources. Many of these information sources have the capability to electronically exchange relevant parts of the consumer's health care information with other information sources (e.g., a physician or dentist may electronically submit claims to a health plan provider for services provided to the consumer, a physician may electronically receive a report from a laboratory regarding tests performed for the consumer, etc.). Consumers are not able to electronically access or transfer such information.
In general, in one aspect, the invention relates to a method for transferring health care data between a consumer health care application and a plurality of health care information sources. The method includes requesting a first portion of health care data corresponding to a consumer from a first health care information source of the plurality of health care information sources, receiving the first portion of health care data from the first health care information source, storing the first portion of health care data in a health care data repository, requesting a second portion of health care data corresponding to the consumer from a second health care information source of the plurality of health care information sources, receiving the second portion of health care data from the second health care information source, storing the second portion of health care data in the health care data repository, and accessing the first portion of health care data and the second portion of health care data from the health care data repository.
In general, in one aspect, the invention relates to a method for transferring health care data between a consumer health care application and a health care information source. The method includes sending a first request message comprising a first request for performing a first action corresponding to a first portion of health care data, receiving a first response message corresponding to the first request message, wherein the first response message comprises a result of performing the first action, and processing the first response message, wherein the first request message and the first response message adhere to a health care data transfer protocol.
In general, in one aspect, the invention relates to a health care data transfer system including a health care information source configured to store a portion of health care data corresponding to a consumer, and a health care data access service operatively connected to the health care information source. The health care data access service includes functionality to send a request message including a request for performing an action corresponding to the portion of health care data to the health care information source, receive a response message corresponding to the request message, wherein the response message includes a result of performing the action, and process the response message, wherein the request message and the response message adhere to a health care data transfer protocol.
In general, in one aspect, the invention relates to a health care data transfer system including a first health care information source corresponding to a first health care business domain, wherein the first health care information source includes a first portion of health care data corresponding to a consumer, a second health care information source corresponding to a second health care business domain, wherein the second health care information source includes a second portion of health care data corresponding to the consumer, and a health care data access service operatively connected to the first health care information source and the second health care information source. The health care data access service includes functionality to receive the first portion of health care data and the second portion of health care data, and store the first portion of health care data and the second portion of health care data.
In general, in one aspect, the invention relates to a health care data transfer system including a health care data repository configured to store health care data corresponding to a plurality of consumers, wherein the health care data is received from a plurality of health care information sources, and a health care data import component configured to import the health care data from the plurality of health care information sources using messages adhering to a health care data transfer protocol.
In general, in one aspect, the invention relates to a computer readable medium having computer program code embodied therein for causing a computer system to transfer health care data between a consumer health care application and a plurality of health care information sources. The computer program code including program instructions to request a first portion of health care data corresponding to a consumer from a first health care information source of the plurality of health care information sources, receive the first portion of health care data from the first health care information source, store the first portion of health care data in a health care data repository, request a second portion of health care data corresponding to the consumer from a second health care information source of the plurality of health care information sources, receive the second portion of health care data from the second health care information source, store the second portion of health care data in the health care data repository, and access the first portion of health care data and the second portion of health care data from the health care data repository.
In general, in one aspect, the invention relates to a computer readable medium having computer program code embodied therein for causing a computer system to transfer health care data between a consumer health care application and a health care information source. The computer program code includes program instructions to send a first request message including a first request for performing a first action corresponding to a first portion of health care data, receive a first response message corresponding to the first request message, wherein the first response message includes a result of performing the first action, and processing the first response message, wherein the first request message and the first response message adhere to a health care data transfer protocol
Other aspects and benefits of the invention will be apparent from the following description and the appended claims.
Specific embodiments of the invention will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
In the following detailed description of embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
In general, embodiments of the invention provide a method and system for health care data transfer between health care information sources and consumers. A consumer, as used herein, includes anyone that consumes health care services directly (e.g., a patient, employee, test subject, or other direct consumer of health care services) or indirectly (e.g., a health plan customer service representative, a medical professional, or other indirect consumer of health care services).
More specifically, in one or more embodiments of the invention, health care data may be transferred between health care information sources, a consumer health care application, and/or an intermediary health care data access service using a health care data transfer (HCDT) protocol. The HCDT protocol provides a standard for how a health care information source exposes health care data to consumer health care applications and/or an intermediary health care data access service. That is, the HCDT protocol defines the messages used to send and receive health care data and the data structures used in the messages to represent health care data in the health care business domains of the health care information sources. The health care business domains may include any aspect of consumer health care (e.g., a health plan business domain, a financial business domain, a patient records business domain, a pharmacy business domain, a laboratory business domain, a medical imaging business domain, a medical device business domain, a provider billing business domain, a medical research/analytics business domain, a patient education business domain, a dental business domain, a vision care business domain, an alternative medical treatment business domain, a physical fitness business domain, a physical therapy business domain, a rehabilitation business domain, an assisted care business domain, a practice management business domain, a psychology business domain, etc.).
In some embodiments of the invention, components of the health care data transfer system communicate with each other via a network (e.g., a wide area network (WAN) such as the Internet, a wireless network, a local area network (LAN) or a combination of networks). Each health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) corresponds to a source of consumer health care information (e.g., a health plan provider such as Aetna, United Healthcare, Humana, etc., a financial institution, a health care provider such as a physician, dentist, pharmacist, hospital, or laboratory, etc.) and may be configured to store consumer health care data related to the business domain of the health care information source. For example, if the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) is a health plan provider, the consumer health care data may include health claim data from benefit claims (e.g., medical claims, dental claims, pharmacy claims, vision claims, etc.) submitted by or on behalf of members (i.e., consumers who are covered under a health plan offered by the health plan provider) to one or more benefit plans included in a health plan provided by the health plan provider.
Each health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) may be configured to allow a health care data access service (e.g., Health Care Data Access Service (104)), with proper authentication, to download (i.e., import) health care data corresponding to one or more consumers. For example, if the health care information source is a health plan provider, the health care data access service (e.g., Health Care Data Access Service (104)) may download health plan data corresponding to one or more members. In one or more embodiments of the invention, the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) is configured to authenticate the health care data access service (e.g., Health Care Data Access Service (104)) according to member authentication information stored on the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) in accordance with the privacy and security requirements of the Health Insurance Portability and Accountability Act (HIPAA) in a manner known in the art before allowing the download of the health plan data associated with the member.
In one or more embodiments of the invention, the health care data access service (e.g., Health Care Data Access Service (104)) is configured to provide backend services (e.g., storage and retrieval of information) to a consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) accessible by a consumer using a consumer system (e.g., Consumer System A (100), Consumer System B (102)). The health care data access service (e.g., Health Care Data Access Service (104)) is also configured to receive requests related to the health care data from the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) and to generate responses to those requests. The health care data access service (e.g., Health Care Data Access Service (104)) includes a health care data import component (130), a consumer authentication component (128), management utilities (132), a notification component (138), and a health care data repository (126).
In some embodiments of the invention, the health plan data import component (128) is configured to import health care data associated with consumers from each health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) identified in each consumer's registration information (explained in more detail below) and to store the imported health care data in the health care data repository (126). In one or more embodiments of the invention, the health care data repository (126) may be, for example, a database, a file system, one or more data structures configured in the memory of the health care data access service (e.g., Health Care Data Access Service (104)), or a suitable combination thereof. In one or more embodiments of the invention, the health plan data import component (128) is configured to import only new health care data (i.e., health care data added to a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) since the last time health care data was imported). In addition, in one or more embodiments of the invention, the health plan data import component (130) is configured to import health care data from the health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) periodically (e.g., each night after midnight).
In one or more embodiments of the invention, the consumer authentication component (128) is configured to receive consumer registration information from a consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)). In some embodiments of the invention, the consumer authentication component (128) is configured to receive and store the consumer's registration information (i.e., the authentication information a consumer uses to access a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) and the authentication information the consumer uses to access the health care data access service (e.g., Health Care Data Access Service (104))). For example, the consumer's registration information may include a login name, a password, an account number and benefit plan identification information for each health care information source that has the consumer's health care data. In one or more embodiments of the invention, the consumer authentication component (128) is configured to submit the consumer's authentication information to a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) to gain access to health care data associated with the consumer.
In one or more embodiments of the invention, the management utilities (132) include functionality for the administration of the health care data access service (e.g., Health Care Data Access Service (104)). Such functionality may include, for example, functionality to view and control the state of the health care data access service (e.g., Health Care Data Access Service (104)), to maintain a log of critical errors, to maintain an access log per HIPAA requirements, to provide system usage metrics, and to purge old data.
In one or more embodiments of the invention, the notification component (138) includes functionality to notify a consumer registered with the health care data access service (e.g., Health Care Data Access Service (104)) of various events related to the consumer's health care data that may occur. For example, the notification component may include functionality to notify a consumer that the consumer's health care data is available after the consumer's initial registration with the health care data access service (e.g., Health Care Data Access Service (104)). The notification component (138) may also be include functionality to notify a consumer when new health care data for the consumer is received from one or more of the consumer's identified health care information sources. Further, in some embodiments of the invention, the notification component may be configured to receive a targeted notification from a health care information source and send the notification to one or more consumers. For example, a health care information source may want to advertise a new service to multiple consumers or notify multiple consumers of a special event (e.g., open enrollment). In one or more embodiments of the inventions, the notification component (138) may provide a notification to a consumer by sending an electronic mail message, sending a Short Message Service (SMS) message, displaying a message when the consumer logs into the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)), and/or any other suitable notification means.
In one or more embodiments of the invention, the health care data access service (e.g., Health Care Data Access Service (104)) may include one or more servers (not specifically shown) configured to provide the functionality of the health care data access service (e.g., Health Care Data Access Service (104)). For example, one or more servers may be configured to import and store consumer health care data from the health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)), and/or one or more servers may be configured to manage network traffic between other servers in the health care data access service (e.g., Health Care Data Access Service (104)) and consumer systems (e.g., Consumer System A (100), Consumer System B (102)). In addition, in one embodiment of the invention, one or more servers in the health care data access service (e.g., Health Care Data Access Service (104)) may be configured to host the Consumer Health Care Application B (124).
In one or more embodiments of the invention, the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) includes functionality to display consumer health care data to a consumer and receive requests related to the health care data from the consumer. The consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) may also include functionality to send requests for consumer health plan data to the health care data access service (e.g., Health Care Data Access Service (104)) and to receive responses to those requests. In some embodiments of the invention, the Consumer Health Care Application B (124) may be installed on a web server and accessed by a consumer using a Web Browser B (136). In some embodiments of the invention, the Consumer Health Care Application A (124) may be installed on a Consumer System A (100). Furthermore, in some embodiments of the invention, the Consumer Health Care Application A (122) may be downloaded from a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) and installed on the Consumer System A (100).
In one or more embodiments of the invention, the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) is configured to register a consumer with the health care data access service (e.g., Health Care Data Access Service (104)). More specifically, in one or more embodiments of the invention, the consumer health care application is configured to receive registration information from the consumer that includes the consumer's authentication information for accessing the health care data access service (e.g., user identification and password). In addition, the consumer health care application is configured to receive the identities of the health care information sources that have the consumer's health care data and the consumer's authentication information for each health care information source. For example, if the health care information source is a health plan provider, the consumer's registration information may include the identifying information for the health plans to which the consumer subscribes and the consumer's authentication information for each health plan. In one or more embodiments of the invention, a consumer's authentication information may include a consumer's user identification and password for logging into an access interface (not specifically shown) of a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)).
A consumer system (e.g., Consumer System A (100), Consumer System B (102)) may be a desktop computer, a laptop computer, a mobile device, such as a cell phone or personal digital assistant, or any other computing system suitable for using a consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)). In some embodiments of the invention, a consumer uses a web browser (Web Browser A (134), Web Browser B (136)), (e.g., Microsoft® Internet Explorer, Mozilla's Firefox, Opera Software's Opera, etc.) installed on the consumer system (e.g., Consumer System A (100), Consumer System B (102)) to access the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)).
Although not specifically shown in
In such embodiments, the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) is configured to import the consumer's health care data directly from the consumer's health care information sources and store the imported health care data in the health care data repository in the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)). Further, in some embodiments of the invention, the health care data access service (e.g., Health Care Data Access Service (104)) may be configured to import and store health care data from the health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) that is common to multiple consumers (e.g., benefit claim code descriptions, pharmaceutical drug descriptions, etc.) and provide that information to consumer health care applications (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) rather than requiring that each consumer health care application store and maintain such common health care data.
As is explained in more detail below in relation to
In some embodiments of the invention, a health care information source (e.g., Health Care Information Source C (116)) may be configured to use the HCDT protocol to receive messages and send responses to the health care data access service (e.g., Health Care Data Access Service (104)) and/or consumer health care applications (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)). Other health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114)) that do not support the HCDT protocol may be operatively connected to a HCDT server (e.g., HCDT Server A (106), HCDT Server A (108)) that serves as a HCDT interface for translating HCDT protocol messages into the message format(s) understood by the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)) and vice versa.
That is, in one or more embodiments of the invention, the HCDT server (e.g., HCDT Server A (106), HCDT Server A (108)) is configured to receive an HCDT request message from another entity in the health care data transfer system (e.g., the health care data access service (e.g., Health Care Data Access Service (104)) or a consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124))), determine what action is required based on the message, and translate that action into one or more requests to the corresponding health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)) in a format understood by the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)). The HCDT server (e.g., HCDT Server A (106), HCDT Server A (108)) is also configured to receive the results of the one or more requests from the health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)), translate the results into an HCDT response message corresponding to HCDT request message including the results, and send the HCDT response message back to the requesting entity.
Furthermore, the HCDT server (e.g., HCDT Server A (106), HCDT Server A (108)) is configured to receive a request from the corresponding health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)), translate the request into an HCDT request message, and sent the HCDT request message to another HCDT conversant entity in the health care data transfer system. The HCDT server (e.g., HCDT Server A (106), HCDT Server A (108)) is also configured to receive the HCDT response message corresponding to the request message, translate the contents of the response message into one or messages in a format understood by the corresponding health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114)), and send the one or more messages to the source.
In one or more embodiments of the invention, those components of the health care data transfer system configured to exchange health care data using the HCDT protocol (e.g., the health care data access service (e.g., Health Care Data Access Service (104)), the HCDT servers (e.g., HCDT Server A (106), HCDT Server A (108)), and the Health Care Information Source C (116)) include HCDT web services (not specifically shown) configured to perform the communication. As is explained in more detail below in reference to
Further, each HCDT web service includes a definition of the data structures that may be used in the HCDT messages transmitted to and by that HCDT web service. Many of these data structures are specific to the health care business domain represented by the HCDT web service. More specifically, an HCDT web service corresponding to a health care information source (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) includes data structure definitions specific to the health care business domain of the health care information source. For example, if a health care information source is a health plan provider, the corresponding HCDT web service includes data structure definitions corresponding to the health plan business domain. And, if a health care information source is a financial institution, the corresponding HCDT web service includes data structure definitions corresponding to the financial business domain.
In one or more embodiments of the invention, the health care data access service (e.g., Health Care Data Access Service (104)) may include one HCDT web service for each health care business domain of the health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)) for exchanging health care data with those sources. Further, in those embodiments of the invention in which a consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) communicates directly with the health care information sources (e.g., Health Care Information Source A (112), Health Care Information Source B (114), Health Care Information Source C (116)), the consumer health care application may also include one HCDT web service for each health care business domain. For example, if one health care information source corresponds to a health plan business domain and another corresponds to a financial business domain, the health care data access service (e.g., Health Care Data Access Service (104)) and/or the consumer health care application (e.g., Consumer Health Care Application A (122), Consumer Health Care Application B (124)) includes two HCDT web servers, one specific to the health plan business domain and one specific to the financial domain.
FIGS. 2 and 40A-40D show the formats of the HCDT protocol messages in accordance to one or more embodiments of the invention. As was previously explained, in the HCDT protocol, an action related to health care data (i.e., a request for health care data and a request for modifications to health care data) is communicated in a request message corresponding to the action. The result of the action is communicated in a response message corresponding to the request message.
An HCDT request message (200) includes an action identifier (204) and parameters (206). The action identifier (204) uniquely identifies the action to be performed by the recipient of the HCDT request message (200). The parameters (206) include any additional information needed by the recipient to perform the requested action. An HCDT response message (202) includes an action result (208). The action result (208) contains the result of performing the requested action.
In one or more embodiments of the invention, the action identifier (204) may specify one of four actions: get (i.e., fetch) health care data corresponding to a health care topic or a health care catalog, or set (i.e., modify) health care data corresponding to a health care topic or a health care catalog. The term modify and any variations thereof as used herein to describe a set request includes both a change to existing health care data and the addition of new health care data. Health care topics and health care catalogs are explained in more detail below.
The health care topic or the health care catalog for which data is to be fetched is specified as one of the parameters (206) of a get request message. In addition, search criteria may be specified as one of the parameters (206) of a get request message. The search criteria may be used to further define the data to be fetched. For example, the search criteria may be a date range that specifies that only data that falls within the date range should be returned. Further, the action result (208) in the response message corresponding to a get request message may be a data structure containing the requested health care data or an indication that the requested get action was not completed (e.g., an exception). The data structure corresponds to the health care topic or health care catalog specified in the get request message.
The health care topic or the health care catalog to be modified is specified as one of the parameters (206) of a set request message. Further, a data structure corresponding to the specified health care topic or health care catalog that contains the data to be used to modify the health care topic or health care catalog is also included as one of the parameters (206) of a set request message. The action result (208) in the response message corresponding to a set request message may be an indication that the requested set action was completed successfully (e.g., an acknowledgement) or an indication that the requested set action was not completed (e.g., an exception).
The HCDT messages may be transmitted over the network to the intended recipient using one or more communication protocols (e.g., HyperText Transfer Protocol (HTTP), Transmission Control Protocol (TCP) and Internet Protocol (IP)). In some embodiments of the invention, an HCDT message is encoded using, for example, Extensible Markup Language (XML). The encoded HCDT message is then sent to the intended recipient using one or more of the communication protocols.
Prior to sending the encoded HCDT message, metadata is associated with the encoded HCDT message. The metadata corresponds to data that is required by the network communication protocols. For example, if the encoded HCDT message is sent using HTTP, one or more of the following pieces of metadata must accompany the encoded data: general-header data, request-header data, response-header data, and entity-header data.
The intended recipient, upon receipt of the encoded HCDT message and metadata, processes the encoded HCDT message using the metadata. Processing the encoded HCDT message typically includes sending the encoded data through the various layers (i.e., physical layer, network layer, transport layer, etc.) of the Open Systems Interconnection (OSI) model in the recipient using the metadata, decoding the encoded HCDT message using the metadata, and performing the specified action of the HCDT message to generate a result.
Once the result has been generated, the recipient performs the same steps described above with respect to initiating the transmission to send a response message including the result to the initiator. Specifically, the recipient encodes the response message, generates the necessary metadata, and sends the metadata and the encoded response message to the initiator using one or more communication protocols. In one or more embodiments of the invention, the request/response message exchange is in accordance with the Simple Object Access Protocol (SOAP).
In one or more embodiments of the invention, in the HCDT protocol, the health care data in each of the health care business domains of the health care information sources is categorized into topics and catalogs. These topics and catalogs define the data structures used for the exchange of health care data within a health care data transfer system. A topic is an addressable, logical categorization of related health care data and a catalog is an addressable, logical categorization of related topics that organizes topics into manageable groups. The topics and catalogs for a particular health care business domain define the groupings of health care data (i.e., data structures) that may be referenced in an HCDT message directed to a health care information source or a health care data access service having health care data in that health care business domain.
In general, topics and catalogs defined for a health care business domain are unique to the types of health care data found in that domain. For example, in a health plan business domain, the defined topics may include a medical claims topic, a pharmacy claims topic, a members topic, a benefit plans topic, etc. These topics are explained in more detail below. In addition, for example, a defined catalog in a health plan business domain may be a user catalog that includes a collection of topics for one user (e.g., a consumer using a consumer health care application). Such a catalog may include the medical claims topic, the pharmacy claims topic, the members topic, etc. and may be used in a HCDT message to retrieve or modify data for one user in the included topics rather than requiring a message for each topic.
Further, in one or more embodiments of the invention, the HCDT protocol includes a predefined set of topics and catalogs for each type of health care business domain found in a health care data transfer system. Each health care information source in the same health care business domain is required to communicate using all topics and catalogs in the predefined set for that domain to the extent the health care information source can provide the data represented by a topic or catalog. However, if a health care information source has no data corresponding to a topic or to an element of a topic, the health care information source may indicate that the topic or element is not supported if requested to provide the corresponding data. For example, in the health plan business domain, a health plan provider may provide medical benefits but not pharmacy benefits. Thus, the health plan provider has no data corresponding to pharmacy claims and the pharmacy claims topic and the elements corresponding to pharmacy claims in the user catalog is not supported by that health plan provider.
Further, in one or more embodiments of the invention, some instances of a health care business domain may have health care data that is exclusive to those instances. Thus, the HCDT protocol includes functionality to define additional topics and/or to extend the predefined topics and catalogs for that health care business domain to include the exclusive health care data.
In one or more embodiments of the invention, the HCDT protocol includes some topics and catalogs that are common across all health care business domains and are included in each predefined set of topics and catalogs for each type of health care business domain. More specifically, the HCDT protocol may include topics and catalogs related to exception handling in each of the predefined sets of topics and catalogs that provide a consistent way of communicating information regarding exceptions that occur when processing HCDT request messages.
In
A member record identifier (302) is a value that uniquely identifies the member record represented by the member topic (300). The member identification (304) includes information that uniquely identifies a member of a health plan. This information may include a member identifier that uniquely identifies a member and a data source system identifier that identifies the system within the health plan provider that generated the member identifier.
The member subscriber relation (306) includes information regarding a member's relationship to a subscriber. This information may include a code indicating the relationship and subscriber identification information that identifies the subscriber corresponding to the member. The subscriber identification information may include a subscriber identifier that uniquely identifies the subscriber and a data source system identifier that uniquely identifies the system within the health plan provider that generated the subscriber identifier.
The name (308) may include the member's last name, first name, middle name, and name suffix. The address (310) may include the member's current mailing address, city, county, state, zip code, country, province, and/or metropolitan statistical area (MSA) code. Demographic info (312) may include the member's date of birth and a gender code indicating the member's gender. Last update (314) is the date that the member information in the member topic (300) was last updated.
Web site information (506) includes the URLs of the health plan home page, the health plan user preferences web page, the health plan email preferences web page, a claim details web page, a provider lookup web page, and a user authorization web page. Web site information (506) also includes information identifying how the health plan provider handles user support. The user support information may include a URL for a support web page, a telephone number, a fax number, one or more email addresses, and hours of operation of the support organization. Further, web site information (506) includes contact information for dispute resolution. The contact information includes one or more email addresses, a mailing address, and a URL for a dispute resolution web page. In some embodiments of the invention, the web site information may be used by a consumer health care application to provide the URLs and other information to a consumer.
Identification (508) includes a payer identifier, the name and address of the payer, and an organization label. A payer identifier uniquely identifies the payer organization for the health plan. An organization label is the name of the payer organization for the health plan. HCDT details (510) include details about the HCDT installation of the health plan provider. These details include version information and a URL of the health plan domain specification. Last update (512) may include the date that the information in the health plan detail topic (500) was last updated.
Benefit plan details (706) includes a benefit plan record identifier that uniquely identifies the benefit plan record represented by the benefit plan topic (700), a short name for the benefit plan, a text description of the benefit plan, the date the benefit plan ends, and the date on which the information regarding the benefit plan became or will become valid. Benefit plan details (706) may also include the group name of the employer group covered by the benefit plan, the URL of the web site for the benefit plan, an identifier for the system within the health plan provider that generated the benefit plan record, and the date the benefit plan record was last updated.
Benefit limit details (906) may include a benefit limit record identifier that uniquely identifies the benefit limit record represented by the benefit limit topic (900) and a responsibility identifier that uniquely identifies the set of patient responsibility attributes that are associated with the benefit plan to which the benefit limit applies. Benefit limit details (906) may also include the patient responsibility type (e.g., co-pay, co-insurance, deductible, out of pocket, etc.) represented by the benefit limit topic (900), the dollar amount for the patient responsibility, if applicable, and the benefit percentage for the patient responsibility type, if applicable. Further, benefit limit details (906) may include a plan network indicator that indicates whether the patient responsibility values are considered to be in the benefit plan network or out of the benefit plan network. In addition, benefit limit details (906) may include a textual label associated with the patient responsibility, the type of coverage associated with the patient responsibility (e.g., medical, pharmacy, vision dental, etc.), an indication of whether the benefit limit is a family or an individual limit, and the date the benefit limit record was last updated.
Coverage details (1108) include the details of a member's coverage. Coverage details (1108) may include a coverage record identifier that uniquely identifies the coverage record represented by the coverage topic (1100) and the effective start and end dates for the member's benefit coverage under the benefit plan. Coverage details (1108) may also include a medical coverage indicator, a pharmacy coverage indicator, a dental coverage indicator, and a vision coverage indicator. The value of each of these indicators denotes whether or not the benefit plan includes that coverage. In addition, coverage details (1108) may include the employer's identification number (i.e., group number) for the member or associated subscriber, the group name, contact information, and the date the coverage record was last updated.
Patient responsibility details (1308) may include a patient responsibility record identifier that uniquely identifies the patient responsibility record represented by the accumulator topic (1300) and a responsibility identifier that uniquely identifies the set of patient responsibility attributes that are associated with the benefit plan. Patient responsibility details (1308) may also include the patient responsibility type (e.g., co-pay, co-insurance, deductible, out of pocket, etc.) represented by the accumulator topic (1300), a textual label associated with the patient responsibility type, and the type of coverage associated with the patient responsibility (e.g., medical, pharmacy, vision dental, etc.). In addition, patient responsibility details (1308) may include the current accumulated dollar amount for the patient responsibility and the date range in which the current dollar amount is calculated. Further, patient responsibility details (1308) may include a plan network indicator that indicates whether the patient responsibility values are considered to be in the benefit plan network or out of the benefit plan network and the date the patient responsibility record was last updated.
The provider identification (1506) includes information that uniquely identifies the primary care provider. This information may include a provider identifier that uniquely identifies the primary care provider and a data source system identifier that identifies the system within the health plan provider that generated the primary care provider identifier. The provider taxonomies (1508) include information about the specialties of the primary care provider. This information may include a taxonomy code for each specialty of the primary care provider.
The effective begin date (1510) specifies the date on which the primary care provider is associated with the member. The effective end date (1512) specifies the date on which the primary care provider is no longer associated with the member. The name (1514) may include the primary care provider's last name, first name, middle name, and name suffix. Last update (1516) is the date that the primary care provider information in the primary care provider topic (1500) was last updated.
The provider identification (1704) includes information that uniquely identifies the provider. This information may include a provider identifier that uniquely identifies the provider and a data source system identifier that identifies the system within the health plan provider that generated the provider identifier. The provider group details (1706) may include an identifier that uniquely identifies the group practice or clinic with which the provider is affiliated and the name of group practice or clinic. The provider group details (1706) may also include information as to whether the provider participates in the provider network of the health plan provider. The provider taxonomies (1708) include information about the specialties of the provider. This information may include a taxonomy code for each specialty of the provider.
The name (1710) may include the provider's last name, first name, middle name, and name suffix. The address (1712) may include the provider's current mailing address, city, county, state, zip code, country, province, and/or metropolitan statistical area (MSA) code. The phone (1714) may include the provider's telephone number. The email (1716) may include the provider's email address. The web link (1718) may include the URL of the provider's web site. Last update (1720) may include that date that the information in the provider topic (500) was last updated.
The medical claim record identifier (1902) uniquely identifies the medical claim record represented by the medical claim topic (1900). The member identification (1904) includes an identifier that uniquely identifies the member. Benefit plan identification (1906) includes detailed information that uniquely identifies the benefit plan associated with the medical claim. This information includes a benefit plan identifier that uniquely identifies the benefit plan and a date on which the benefit plan starts. Payer identification (1908) includes a payer identifier that uniquely identifies the payer organization of the health plan provider responsible for paying the medical claim.
The claim payer reference (1910) includes reference information regarding the medical claim that is intended for internal use by the payer of the claim. This information may include a payer claim control number that uniquely identifies services under an encounter or claim audit number or patient control number. The claim status (1912) includes information about the status of the medical claim. This information may include a claim status code that identifies the approval or denial status of the medical claim. The claim processing dates (1914) includes information regarding various dates the medical claim was processed. This information may include the date the medical claim record was last updated in the health care data repository, the beginning and ending dates of the period included on the medical claim, and the date the medical claim was received by the payer.
Admission discharge details (1916) include admission and discharge information related to the services included in the medical claim. This information may include a code indicating the priority of the admission, a code indicating the source of the admission, the admission date and time, and the discharge date and time. The place of service (1918) includes information about the place where a medical service included in the medical claim was performed for the member. This information may include a code identifying where the service was performed and a code that identifies the type of facility where the service was performed. This facility code may be the first and second positions of the Uniform Bill Type Code for Institutional Services or the Place of Service Code from the Electronic Media Claims National Standard format.
The claim codes (1920) include additional codes describing the claim. These codes may include a frequency code specifying the frequency of the claim, a patient status code indicating the member's status at the time of admission, outpatient service, or start of care, and a diagnosis related group code that represents the member's classification in a patient classification scheme that clusters patients into categories on the basis of illness, disease, and medical problems. The frequency code may be the third position of the Uniform Billing Claim Form Bill Type.
The claim provider reference (1922) includes reference information regarding the medical claim that is used internally by the service provider who submitted the claim. This information may include a number, code, or value that indicates the services provided for the medical claim were authorized by the payee and a medical record number that is uniquely assigned to the member by the provider for retrieval of the member's medical records.
The diagnosis (1924) includes information about the diagnosis associated with the services claimed in the medical claim. This information includes a principal diagnosis code that identifies the medical condition chiefly responsible for the claimed medical service and may also include one or more additional diagnosis codes identifying other conditions that co-existed at the time the medical service was rendered.
The claim procedure (1926) includes information about medical procedures performed as part of the services included in the medical claim. This information may include a principal ICD9 procedure code that identifies the procedure performed for definitive treatment rather than for diagnostic or exploratory purposes, or which was necessary to take care of a complication. This principal procedure is also the procedure most closely related to the principal diagnosis. The information may also include one or more additional ICD9 procedure codes that identify other procedures included in the medical claim. ICD-9 is an acronym used in the medical field that stands for International Classification of Diseases, ninth revision. The ICD9 codes are alphanumeric codes that represent any known disease or medical condition.
The claim provider charge (1928) includes information about the amounts charged by service providers associated with the medical claim. This information may include a claim charge amount that is the sum of all charges included in the medical claim. The claim plan payment (1930) includes information about payments made on the medical claim by the member's benefit plan. This information includes the amount paid by the payer on the medical claim and may include a payment indicator that indicates if the payment was made to the member or to the service provider.
The claim COB payment (1932) includes information about payments made on the medical claim by the member's other payer (i.e., another health plan provider of which the member is a member). This information may include a claim COB indicator that indicates if any payments on the medical claim involved coordination of benefits and the amount paid on the medical claim by the other payer. The claim member balance (1934) includes information about the amounts paid or payable by the member on the medical claim. This information may include a patient responsibility amount that is the amount of the claim charge that the member is responsible for paying.
The claim providers (1936) include information about any service providers that were involved in the medical services covered by the claim. This information may include provider information for the provider that referred the member to the rendering provider for the medical services, for the billing provider, and for the provider that rendered the medical services. The provider information may include the provider identification and the provider taxonomies. The provider identification includes information that uniquely identifies the provider. This information may include a provider identifier that uniquely identifies the provider and a data source system identifier that identifies the system within the health plan provider that generated the provider identifier. The provider taxonomies include information about the specialties of the provider. This information may include a taxonomy code for each specialty of the provider. For the rendering provider, the provider information may also include information as to whether the rendering provider participates in the provider network of the health plan provider.
The medical services topics (138, 1940, 1942) each represent information about a medical service included in the medical claim. A medical service topic is explained in more detail below in relation to
The medical service record identifier (2102) uniquely identifies the medical service record represented by the medical service topic (1900). The service reference (2104) includes reference information regarding medical service that is intended for internal use by the payer of the medical claim including the medical service. This information may include a payer claim control service line number that uniquely identifies the service within a claim and a privacy restriction indicator that indicates if details regarding the service are omitted due to privacy restrictions.
The service dates (2106) includes information about various dates related to the medical service. This information may include the start and end dates of the medical service and the date of payment for the service or the date the payer denied payment for the medical service. The service diagnosis (2108) includes information about the diagnosis associated with the medical service. This information includes a principal diagnosis code that identifies the medical condition chiefly responsible for the medical service and may also include one or more additional diagnosis codes identifying other conditions that co-existed at the time the medical service was rendered.
The service place of service (2110) includes information about the place where the medical service was performed. This information may include a code identifying where the service was performed. The service procedure (2112) includes information about the medical service performed. This information may include a service line revenue code indicating a classification of hospital charges as defined by the National Uniform Billing Committee. This information may also include a procedure type code that identifies the type and source of the procedure code identifying the medical service, the procedure code, and one or more procedure modifiers that identify special circumstances related to the performance of the medical service. In addition, this information may include a service unit count that represents the number of service units approved by a pricing or re-pricing entity.
The service adjustment reason (2114) includes information about why an adjustment was made to the medical service. This information may include one or more line item patient responsibility reason codes and/or one or more noncovered reason codes. A line item patient responsibility reason code is a code that indicates why the patient is responsible for paying to the medical service. A noncovered reason code indicates the reason some amount related to the medical service was denied or not covered.
The service remark code (2116) includes codes related to non-financial information regarding the adjudication of a claim including the medical service. These codes may include one or more remark codes representing the non-financial information and/or one or more custom information codes that are specific to the health plan provider processing a claim including the medical service.
The service provider charge (2118) includes the amount charged by the service provider for the medical service. The service plan payment (2120) includes information about payments made by a benefit plan for the medical service. This information may include the actual amount paid to the provider of the medical service and the amount saved on the medical service due to a contractual arrangement with the service provider. The service COB payment (2122) includes the amount paid the medical service under coordination of benefits.
The service member balance (2124) includes information about amounts payable or paid by a member for the medical service. This information may include a line item deductible amount that is the amount of the member's deductible applied to the charge for the medical service and a line item coinsurance amount that is the amount paid by the member's coinsurance for the medical service. This information may also include a line item copay amount that is the member's copay amount for the medical service and a line item patient responsibility amount that is the amount of the charge for the medical service that is determined to be the member's responsibility for paying.
The service noncovered payment (2126) includes the amount of charges related to the medical service that were denied or not covered. The service provider (2128) includes information about the provider that rendered the medical service. This information may include a provider identifier that uniquely identifies the service provider and a data source system identifier that identifies the system within the health plan provider that generated the service provider identifier. The provider taxonomies include information about the specialties of the provider. This information may include a taxonomy code for each specialty of the service provider. The last update (2130) is the date and time the medical service information was last updated in the health care data repository.
The pharmacy claim record identifier (2202) uniquely identifies the pharmacy claim record represented by the pharmacy claim topic (2200). The member identification (2204) includes an identifier that uniquely identifies the member. Benefit plan identification (2206) includes detailed information that uniquely identifies the benefit plan associated with the pharmacy claim. This information includes a benefit plan identifier that uniquely identifies the benefit plan and a date on which the benefit plan starts. Payer identification (2208) includes a payer identifier that uniquely identifies the payer organization of the health plan provider responsible for paying the pharmacy claim.
The claim payer reference (2010) includes reference information regarding the pharmacy claim that is intended for internal use by the payer of the claim. This information may include a payer claim control number that uniquely identifies the pharmacy service under an encounter or claim audit number or patient control number. The claim provider reference (2212) includes reference information regarding the pharmacy claim that is used internally by the service provider who submitted the claim. This information may include a number, code, or value that indicates the services provided for the pharmacy claim were authorized by the payee and a pharmacy record number that is uniquely assigned to the member by the provider for retrieval of the member's pharmacy records.
The claim status (2214) includes codes related to non-financial information regarding the adjudication of the pharmacy claim. These codes may include one or more remark codes representing the non-financial information and/or one or more custom information codes that are specific to the health plan provider processing the pharmacy claim. The claim provider charge (2216) includes information about the amounts charged by service providers associated with the pharmacy claim. This information may include a claim charge amount that is the sum of all charges included in the pharmacy claim.
The claim plan payment (2218) includes information about payments made on the pharmacy claim by the member's benefit plan. This information includes the amount paid by the payer on the pharmacy claim and may include a payment indicator that indicates if the payment was made to the member or to the service provider. The claim COB payment (2220) includes information about payments made on the pharmacy claim by the member's other payer (i.e., another health plan provider of which the member is a member). This information may include a claim COB indicator that indicates if any payments on the pharmacy claim involved coordination of benefits and the amount paid on the pharmacy claim by the other payer.
The claim member balance (2222) includes information about the amounts paid or payable by the member on the pharmacy claim. This information may include a patient responsibility amount that is the amount of the claim charge that the member is responsible for paying. The service noncovered payment (2224) includes the amount of charges related to the pharmacy claim that were denied or not covered.
The prescription (2226) includes information about the member's prescription included in the pharmacy claim. This information may include the National Council for Prescription Drug Programs (NCPDP) provider identification number for the pharmacy that filled the prescription, the name of the dispensing pharmacy, and the eleven digit national drug code (NDC) for the prescribed drug. This information may also include a DAW (dispense as written) code that indicates whether or not the prescriber's instructions regarding generic substitution were followed, the estimated number of days the prescription will last, the quantity dispensed, and a code indicating whether the prescription is original or a refill. Further, this information may also include the date the prescription was filled, the date the prescription was written, and the date and time the prescription claim information was last updated in the health care data repository.
The service provider (2228) includes information about the provider that filled the prescription. This information may include a provider identifier that uniquely identifies the service provider and a data source system identifier that identifies the system within the health plan provider that generated the service provider identifier. The provider taxonomies include information about the specialties of the provider. This information may include a taxonomy code for each specialty of the service provider.
A code description topic includes search criteria (2602) and one or more code descriptions (2604, 2606, 2608). The search criteria (2602) include the search criteria used to locate the code descriptions (2604, 2606, 2608). A code description (2604, 2606, 2608) may include an identifier for the code and a description of the code.
A users with updates topic (3000) includes one or more user identifications (3002, 3004, 3006). A user identification (3002, 3004, 3006) may be a user name, sign-on name, an identifier that was selected or assigned via an authorization process with a health plan provider or any other suitable identifier that uniquely identifies a user.
A user catalog request batch topic (3100) includes one or more user catalog search criteria (3102, 3104, 3106). User catalog search criteria (3102, 3104, 3106) include the elements required to authenticate a user and request user catalog data from a health plan provider. These elements may include the payer identification, user credentials, and date search criteria. The payer identification includes a payer identifier that uniquely identifies a payer organization of the health plan provider. The user credentials include the elements required to authenticate the user with the payer organization. These elements may include user identification and the user's password. The user identification may be a user name, sign-on name, an identifier selected or assigned via an authorization process with the health plan, or any other suitable type of identification. The date search criteria include the date range (i.e., start date/time and end date/time) for which the user catalog data is requested.
A plan admin catalog (3300) may include search criteria (3302), a health plans detail topic (3304), a benefit plans topic (3306), a benefit limits topic (3308), and a providers topic (3310). The search criteria (3302) include the search criteria used to locate the data included in the topics (3304-3310). The formats of the topics (3304-3310) are described in more detail above. Each of these topics (3304-3310) may include information for the health plan provider as described above in relation to
A batch user catalog (3400) may include search criteria (3402) and a users batch topic (3404). The search criteria (3402) include the search criteria used to locate the data included in the users batch topic (3404). The format of the users batch topic (3404) is described in more detail above in reference to
An exception catalog (3500) may include search criteria (3502), an exception summary (3504), and an exception data topic (3506). The search criteria (3502) include the search criteria used in a get request that resulted in the exception(s). The exception summary (3504) includes summary information about the exceptions. This summary information may include a code that identifies the type of exception and an identifier of the catalog that was being accessed when the exception occurred. The exception data topic (3506) includes additional data regarding the exception. The format of an exception data topic is explained below in reference to
An exception topic (3600) may include search criteria (3602), an exception summary (3604), and an exception data topic (3606). The search criteria (3602) include the search criteria included in a get request resulting in the exception. The exception summary (3604) includes summary information about an exception. This summary information may include a code that identifies the type of exception and an identifier of the topic that was being accessed when the exception occurred. The exception data topic (3606) includes additional data regarding the exception. The format of an exception data topic is explained below in reference to
As previously explained, in one or more embodiments of the invention, the HCDT protocol may be implemented by HCDT web services configured to perform the communication. In such embodiments, the service interfaces of HCDT web services (i.e., the message formats and protocol bindings of the HCDT protocol) may be defined using the Web Services Description Language (WSDL). The WSDL description provides an overview of the HCDT web service, including the supported operations and messages of the HCDT web service and where the HCDT web service is located. Further, the health care topics and health care catalogs of the health care domain corresponding to the HCDT web service may be defined as Extensible Markup Language (XML) schema in one or more XML Schema Definition (XSD) files.
The WSDL description may be stored with the HCDT web service on the host server (e.g., a health care data access service, an HCDT server, etc.) or may be registered in a web service registry. A client of the HCDT web service may invoke the HCDT web service as defined by the WSDL description by calling functions defined in the HCDT WSDL file using SOAP messages. For example, in some embodiments of the invention, a consumer health care application may use SOAP to call functions defined in the HCDT WSDL file describing the web service application on the health care data access service. Similarly, the health care data access service may use SOAP to call functions defined in the WSDL files describing the HCDT web services on HCDT servers and vice versa.
Each of the HCDT web services exposes four methods that implement the four actions of the HCDT protocol: a set topic data method, a get topic data method, a set catalog data method, and a get catalog data method. Referring to
As shown in
As shown in
As shown in
In the illustrated call flows, getTopicData is a get topic data method (4002), setTopicData is a set topic data method (4014), getCatalogData is a get catalog data method (4026), and setCatalogData is a set catalog data method (4038), as described above in reference to
The health plan provider HCDT web service (4102) invokes the setTopicData method with the specified parameters to authenticate the user using the user authentication topic data and returns a set topic data response message to the health care data access service HCDT web service (4100) reporting the outcome of executing the setTopicData method. The set topic data response message includes either an acknowledge topic (i.e., AcknowledgeTopic) if the authentication is successful or an exception topic (i.e., ExceptionTopic) if the authentication is not successful.
In a subscribe/unsubscribe call flow (4106), the health care data access service HCDT web service (4100) sends a set topic data request message to the health plan provider HCDT web service (4102) to update a user's subscription status. The set topic data request message includes an identifier corresponding to the setTopicData method and parameters for the setTopicData method. These parameters are a topic identifier for the application subscription topic (i.e., ApplicationSubscriptionTopicID), and the application subscription topic data (i.e., ApplicationSubscriptionTopic).
The health plan provider HCDT web service (4102) invokes the setTopicData method with the specified parameters to update the user's subscription status based on the application subscription topic data and returns a set topic data response message to the health care data access service HCDT web service (4100) reporting the outcome of executing the setTopicData method. The set topic data response message includes either an acknowledge topic (i.e., AcknowledgeTopic) if the update is successful or an exception topic (i.e., ExceptionTopic) if the update is not successful.
In a user data request call flow (4108), the health care data access service HCDT web service (4100) sends a get catalog data request message to the health plan provider HCDT web service (4102) to request all or some portion of a user's health care data. The get catalog data request message includes an identifier corresponding to the getCatalogData method and parameters for the getCatalogData method. These parameters are a catalog identifier for the user catalog (i.e., UserCatalogID), and optional search criteria (i.e., UserCatalogSearchCriteria). If present, the search criteria specify what portion of the user's health care data is requested. If the search criteria are not included, the request is for all of the user's health care data specified by the user catalog.
The health plan provider HCDT web service (4102) invokes the getCatalogData method with the specified parameters to retrieve the user's health care data and returns a get catalog data response message to the health care data access service HCDT web service (4100). The get catalog data response message includes a user catalog (i.e., UserCatalog) containing the user's health care data if the request is successfully completed or an exception catalog (i.e., ExceptionCatalog) if the request is not successfully completed.
In a plan administrative data call flow (4110), the health care data access service HCDT web service (4100) sends a get catalog data request message to the health plan provider HCDT web service (4102) to request all or some portion of the administrative data of the health plan provider. The get catalog data request message includes an identifier corresponding to the getCatalogData method and parameters for the getCatalogData method. These parameters are a catalog identifier for the plan admin catalog (i.e., PlanAdminCatalogID), and optional search criteria (i.e., PlanAdminCatalogSearchCriteria). If present, the search criteria specify what portion of the health plan provider's administrative data is requested. If the search criteria are not included, the request is for all of the health plan provider's administrative data specified by the plan admin catalog.
The health plan provider HCDT web service (4102) invokes the getCatalogData method with the specified parameters to retrieve the health plan provider's administrative data and returns a get catalog data response message to the health care data access service HCDT web service (4100). The get catalog data response message includes a plan admin catalog (i.e., PlanAdminCatalog) containing the health plan provider's administrative data if the request is successfully completed or an exception catalog (i.e., ExceptionCatalog) if the request is not successfully completed.
In a batch update call flow (4112), the health plan provider HCDT web service (4102) sends a set topic data request message to the health care data access service HCDT web service (4100) to inform the health care data access service that updated health care data is available for users of the health care data access service. The set topic data request message includes an identifier corresponding to the setTopicData method and parameters for the setTopicData method. These parameters are a topic identifier for the users with updates topic (i.e., UsersWithUpdatesTopicID), and the users with updates topic data (i.e., UsersWithUpdatesTopic).
The health care data access service HCDT web service (4100) invokes the setTopicData method with the specified parameters to inform the health care data access service that updates are available from the health plan provider for the users identified in the users with updates topic data. The health care data access service HCDT web service (4100) also returns a set topic data response message to the health plan provider HCDT web service (4102) reporting the outcome of executing the setTopicData method. The set topic data response message includes either an acknowledge topic (i.e., AcknowledgeTopic) if the set request is successfully completed or an exception topic (i.e., ExceptionTopic) if the set request is not successfully completed.
If the set request is successful, the health care data access service HCDT web service (4100) sends a set topic data request message to the health plan provider HCDT web service (4102) to request the updated health care data for the users identified in the users with updates topic data. The set topic data request message includes an identifier corresponding to the setTopicData method and parameters for the setTopicData method. These parameters are a topic identifier for the user catalog request batch topic (i.e., UserCatalogRequestBatchTopicID), and the user catalog request batch topic data (i.e., UserCatalogRequestBatchTopic).
The health plan provider HCDT web service (4102) invokes the setTopicData method with the specified parameters to authenticate each of the users and to initiate the transfer of the users' updated health care data based on the user catalog request batch topic data. The health plan provider HCDT web service (4102) also returns a set topic data response message to the health care data access service HCDT web service (4100) reporting the outcome of executing the setTopicData method. The set topic data response message includes either an acknowledge topic (i.e., AcknowledgeTopic) if the authentication and initiation are successfully completed or an exception topic (i.e., ExceptionTopic) if the authentication and initiation are not successfully completed.
If the authentication and initiation are successfully completed, the health plan provider HCDT web service (4102) sends a set catalog data request message to the health care data access service HCDT web service (4100) with the users' updated health care data. The set catalog data request message includes an identifier corresponding to the setCatalogData method and parameters for the setCatalogData method. These parameters are a topic identifier for the batch user catalog (i.e., BatchUserCatalogID), and the batch user catalog data (i.e., BatchUserCatalog).
The health care data access service HCDT web service (4100) invokes the setCatalogData method with the specified parameters to update the users' health care data. The health care data access service HCDT web service (4100) also returns a set topic data response message to the health plan provider HCDT web service (4102) reporting the outcome of executing the setCatalogData method. The set catalog data response message includes either an acknowledge topic (i.e., AcknowledgeTopic) if the update is successful or an exception topic (i.e., ExceptionTopic) if the update is not successful.
The health plan provider HCDT web service (4102) invokes the getTopicData method with the specified parameters to retrieve the code description data and returns a get topic data response message to the health care data access service HCDT web service (4100). The get topic data response message includes a code description topic (i.e., CodeDescriptionTopic) containing the code description data if the request is successfully completed or an exception catalog (i.e., ExceptionCatalog) if the request is not successfully completed
The user data sequenced response call flow (4116) illustrates the call flow when a get catalog data request message for a user catalog as described above in reference to the first use call flow (4108) results in the transfer of a large volume of health care data from a health plan provider to a health care data access service. Rather than transfer the large volume of health care data in a single get catalog data response message, the health care data is sent as a series of smaller data transfers. The first data transfer in the series is the user catalog returned in the get catalog data response message. The remainder of the data transfers are in accordance with the user data sequenced response call flow (4116).
In a user data sequenced response call flow (4116), the health plan provider HCDT web service (4102) sends a set catalog data request message to the health care data access service HCDT web service (4100). The set catalog data request message includes an identifier corresponding to the setCatalogData method and parameters for the setCatalogData method. These parameters are a catalog identifier for the user catalog (i.e., UserCatalogID), and a user catalog (i.e., UserCatalog) containing a portion of the health care data being returned in response to the get catalog data request message for a user catalog. The health care data access service HCDT web service (4100) invokes the setCatalogData method with the specified parameters to update the user's health care data based on the content of the user catalog.
The plan administrative data sequenced response call flow (4118) illustrates the call flow when a get catalog data request message for a plan admin catalog as described above in reference to the plan administrative data call flow (4110) results in the transfer of a large volume of administrative data from a health plan provider to a health care data access service. Rather than transfer the large volume of administrative data in a single get catalog data response message, the administrative data is sent as a series of smaller data transfers. The first data transfer in the series is the plan admin catalog returned in the get catalog data response message. The remainder of the data transfers is in accordance with the plan administrative data sequenced response call flow (4118).
In a plan administrative data sequenced response call flow (4118), the health plan provider HCDT web service (4102) sends a set catalog data request message to the health care data access service HCDT web service (4100). The set catalog data request message includes an identifier corresponding to the setCatalogData method and parameters for the setCatalogData method. These parameters are a catalog identifier for the plan admin catalog (i.e., UserCatalogID), and a plan admin catalog (i.e., PlanAdminCatalog) containing a portion of the administrative data being returned in response to the get catalog data request message for a plan admin catalog. The health care data access service HCDT web service (4100) invokes the setCatalogData method with the specified parameters to update the health plan provider's administrative data based on the content of the plan admin catalog.
In a health check call flow (4120), the health care data access service HCDT web service (4100) sends a get topic data request message to the health plan provider HCDT web service (4102) to request version information. The get topic data request message includes an identifier corresponding to the getTopicData method and a parameter for the getTopicData method. The parameter is a topic identifier for the version info topic (i.e., VersionInfoTopicID).
The health plan provider HCDT web service (4102) invokes the getTopicData method with the specified parameters to retrieve the version information and returns a get topic data response message to the health care data access service HCDT web service (4100). The get topic data response message includes a version info topic (i.e., VersionInfoTopic) containing the version information if the request is successfully completed or an exception topic (i.e., ExceptionTopic) if the request is not successfully completed.
In one or more embodiments of the invention, the entity sending the request message may be a health care data access service and the entity receiving the request message may be a health care information source (and vice-versa). In some embodiments of the invention, the entity sending the request message may be a consumer health care application and the entity receiving the request message may be a health care information source and/or a health care data access service (and vice-versa). In addition, in some embodiments of the invention, an HCDT server may be associated with a health care information source and may send or receive the request message for the health care information source. Further, in one or more embodiments of the invention, the request message may be directed to a web service on the entity receiving the request message.
After the request message is processed by the receiving entity, a response message corresponding to the request message is received by the entity sending the request message (ST4220). If the request message was a get request message, the response message includes the requested health care data. More specifically, the response message includes the requested health care data in a data structure corresponding the requested topic or catalog. If the request message was a set request message, the response message may include either an acknowledgement of the request, indicating that the set request was successfully completed or an exception indicating that the set request was unsuccessful.
The entity that originally sent the request message then processes the response message (ST4230). If the request message was a get request message, processing the response message may include storing the health care data in the response message in a health care data repository if the requesting entity was a health care data access service or a consumer health care application. If the requesting entity was a health care information source, processing the response message may include storing the health care data in one or more databases maintained by the health care information source. If the requesting entity was an HCDT server, processing the response message may include translating the response message into one or more messages in a format understood by the health care information source associated with the HCDT server.
If the request message was a set request message, processing the response message may include logging the acknowledgement or the exception included in the response message, requesting additional information regarding an exception from the entity that received the request message, and/or notifying a user of the acknowledgement or exception. Further, if the requesting entity was an HCDT server, processing the response message may include translating the response message into one or more messages in a format understood by the health care information source associated with the HCDT server.
In one or more embodiments of the invention, the entity receiving the request message may be a health care data access service and the entity sending the request message may be a health care information source (and vice-versa). In some embodiments of the invention, the entity receiving the request message may be a consumer health care application and the entity sending the request message may be a health care information source and/or a health care data access service (and vice-versa). In addition, in some embodiments of the invention, an HCDT server may be associated with a health care information source and may send or receive the request message for the health care information source. Further, in one or more embodiments of the invention, the request message may be directed to a web service on the entity receiving the request message.
After receiving the request message, the action specified by the request message is identified (ST4320) and the action is performed by the receiving entity using the parameters, if any, included in the request message (ST4330). If the request message is a get request message, the identified action is to fetch the requested health care data corresponding to the topic or catalog identified in the parameters and the search criteria, if any. Performing the action includes locating the requested health care data and generating a response message including the requested data in a data structure corresponding to the topic or catalog.
If the receiving entity is a health care data access service or a consumer health care application, locating the requested data includes accessing the data in a health care data repository. If the receiving entity is a health care information source, locating the requested data includes accessing the data in one or more databases maintained by the health care information source. If the receiving entity is an HCDT server, locating the requested data includes translating the action into one or more messages in a format understood by the health care information source associated with the HCDT server, sending the messages to the health care information source to access the requested data, and receiving responses to the messages that include the requested data.
If the request message is a set request message, the identified action is to modify health care data stored by the receiving entity in accordance with the contents of the topic or catalog data structure included in the request message. Performing the action includes making the requested modifications and generating a response message including an acknowledgement to indicate the success performing the action or an exception to indicate the action was not successfully completed.
If the receiving entity is a health care data access service or a consumer health care application, making the requested modifications includes storing the data corresponding to the modifications in a health care data repository. If the receiving entity is a health care information source, making the requested modifications includes storing the data corresponding to the modifications in one or more databases maintained by the health care information source. If the receiving entity is an HCDT server, making the requested modifications includes translating the action into one or more messages in a format understood by the health care information source associated with the HCDT server, sending the messages to the health care information source to make the requested modifications, and receiving responses to the messages that indicate whether the modifications were successfully completed.
Once the response message corresponding to the request message is generated, the response message is sent to the requesting entity (ST4340). As explained above, the response message includes the result of performing the requested action (e.g., a data structure corresponding to a topic or catalog, an acknowledgement or an exception).
The health care data access service then requests the health care data corresponding to the user from each of the identified health care information sources. The request process includes authenticating the user with each of the identified health care information sources using the authentication information supplied by the user (ST4420) and sending request messages to each identified health care information source requesting the health care data corresponding to the user (ST4430).
The health care data access service then receives response messages corresponding to the request messages that include the requested health care data from each health care information source (ST4440). Upon receipt, the health care data access service processes the response message to store the health care data in a health care data repository (ST4450).
After response messages from each health care data source are received and processed, the health care data access service notifies the user that the health care data is now available in the health care data repository (ST4460). The user may then access the data using the consumer health care application.
After the initial download of the health care data from the identified health care information sources, the health care data corresponding to the user is periodically updated from each of the user's health care information sources (ST4470). In one or more embodiments of the invention, either the health care data access service or a health care information source may initiate a periodic update. When new health care data is downloaded for the user as the result of a periodic update, the health care data access service notifies the user that new health care data is available in the health care data repository (ST4480).
Those skilled in the art will appreciate that in one or more embodiments, the invention provides the ability for a consumer to access health care data from multiple health care information sources from a single consumer health care application. Further, embodiments of the invention provide a standard protocol for requesting and modifying health care data in different health care business domains. This protocol may be used for communication of health care data between health care information sources corresponding to the health care business domain and a consumer health care application and/or a health care data access service. In some embodiments of the invention, this protocol may also be used for communication of health care data between a consumer health care application and a health care data access service.
Embodiments of the invention may be implemented on virtually any type of computer regardless of the platform being used. For example, as shown in
Further, those skilled in the art will appreciate that one or more elements of the aforementioned computer system (4500) may be located at a remote location and connected to the other elements over a network. Further, embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the invention may be located on a different node within the distributed system. In one or more embodiments of the invention, the node corresponds to a computer system. Alternatively, the node may correspond to a processor with associated physical memory. The node may alternatively correspond to a processor with shared memory and/or resources. Further, software instructions to perform embodiments of the invention may be stored on a computer readable medium such as a compact disc (CD), a diskette, a tape, a file, or any other computer readable storage device.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.