1. Technical Field
The present invention relates to methods, systems, and apparatuses for an electronic prior authorization (ePA) accelerator.
2. Background Art
The National Council for Prescription Drug Programs (NCPDP) is an American National Standards Institute accredited, standards development organization that promulgates standards for healthcare solutions. The NCPDP standard for ePA is a standard for providing the electronic adjudication of a benefit that needs authorization from a provider/payer. This standard is extensible markup language (XML) based, provides for XML messages to be transmitted between a requester/prescriber and a provider/payer, and is required for ePA. However, the standard is complex and each of the vast number of electronic medical record (EMR) and electronic healthcare record (EHR) system vendors in the healthcare marketplace must comply with this XML communication standard when performing a transaction for an ePA using their respective systems.
Methods, systems, and apparatuses are described for an electronic prior authorization (ePA) accelerator, substantially as shown in and/or described herein in connection with at least one of the figures, as set forth more completely in the claims.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments and, together with the description, further serve to explain the principles of the embodiments and to enable a person skilled in the pertinent art to make and use the embodiments.
Embodiments will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.
The present specification discloses numerous example embodiments. The scope of the present patent application is not limited to the disclosed embodiments, but also encompasses combinations of the disclosed embodiments, as well as modifications to the disclosed embodiments.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Furthermore, it should be understood that spatial descriptions (e.g., “above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,” “vertical,” “horizontal,” etc.) used herein are for purposes of illustration only, and that practical implementations of the structures described herein can be spatially arranged in any orientation or manner.
Numerous exemplary embodiments are described as follows. It is noted that any section/subsection headings provided herein are not intended to be limiting. Embodiments are described throughout this document, and any type of embodiment may be included under any section/subsection. Furthermore, disclosed embodiments may be combined with each other in any manner.
In today's healthcare marketplace, doctors may prescribe medications to patients that require prior authorization (PA). For instance, before prescribing or providing expensive prescription medications and/or medications for certain conditions, a doctor or pharmacist may be required to obtain a prior approval of an insurance carrier of the patient (e.g., from a pharmacy benefits management (PBM) system utilized by the insurance carrier) to ensure that the medication prescribed will be paid for by the insurance carrier. Provisioning PA electronically (i.e., electronic prior authorization (ePA)) is more efficient than traditional methods of PA. However, the NCPDP standard for ePA requires that messages for adjudicating an ePA be transmitted in strict accordance with a promulgated XML format.
In embodiments, a unique ePA accelerator is described that utilizes a user interface (UI) service component and a UI generation component that allows ePA requestors using ePA requestor systems (e.g., systems provided by electronic medical record (EMR) and electronic health record (EHR) system vendors) to seamlessly and efficiently adhere to the NCPDP XML standard for ePA when communicating electronically with ePA provider systems (e.g., PBM systems) utilized by ePA providers. The embodiments described herein provide for a hub model implementation of a system for facilitating the provision of an ePA by an ePA provider (e.g., a payer, insurance company, or insurance company representative) to an ePA requestor (e.g., a doctor, a pharmacist, or a prescriber). Additionally, embodiments allow for modeling, tracking, and updating of the state of ePA adjudications and the reporting thereof to ePA providers and ePA requestors.
For example,
In embodiments, ePA accelerator 102 is configured to receive messages from ePA requestor systems 104, 106 intended for ePA provider systems 112, 114, and messages from ePA provider systems 112, 114 intended for ePA requestor systems 104, 106. In some embodiments, messages received from ePA provider systems 112, 114 may be formatted according to the NCPDP XML standard, and ePA accelerator 102 is configured to provide information from the received XML messages to ePA requestor systems 104, 106 in a non-XML format such as JavaScript, a version of a JavaScript language such as JavaScript Object Notation (JSON), a HyperText Markup Language (HTML), and/or the like. Similarly, in embodiments messages received from ePA requestor systems 104, 106 may be in non-XML formats, and ePA accelerator 102 is configured to provide information from the received non-XML messages to ePA provider systems 112, 114 in accordance with the NCPDP XML standard. Accordingly, ePA accelerator 102 is configured to operate in a hub model in which all or a portion of communications between ePA requestor systems and ePA provider systems go through ePA accelerator 102. ePA accelerator 102 is configured to provide a dynamically generated UI to one or more client computers of ePA requestor systems 104, 106, as described further herein. ePA accelerator 102 is also configured to track and/or model ePA request/response processes and/or communications between ePA requestor systems 104, 106 and ePA provider systems 112, 114. ePA accelerator 102 may be implemented as a system, as one or more computers, e.g., a server computer(s), and/or as distributed computing resources, according to embodiments.
In embodiments, ePA requestor systems 104, 106 may be an application(s), a computer(s) and/or a system(s), or any combination thereof, provided by EMR/EHR system vendors to be utilized by ePA requestors. For the purposes of this disclosure, a computer of an ePA requestor that is used by the ePA requestor to access an ePA requestor system may be considered a computer of the ePA requestor system. ePA requestor systems 104, 106 may be related or independent entities. An ePA requestor, using an ePA requestor system (e.g., 104, 106) may request initiation of an ePA process from an ePA provider that uses an ePA provider system (e.g., 112, 114) via ePA accelerator 102. An ePA requestor system may provide information, via ePA accelerator 102, to an ePA provider system in an ePA request responsive to a question set provided from the ePA provider system for obtaining an ePA. ePA requestor systems 104, 106 may utilize the dynamically generated UI provided from ePA accelerator 102 to facilitate ePA processes as described herein, according to embodiments.
In embodiments, ePA providers may be payers, insurance companies, and/or their representatives, that use pharmacy benefits management (PBM) systems associated therewith. ePA providers may be related or independent entities. ePA providers may use ePA provider systems such as ePA provider systems 112, 114 to provide questions or question sets in messages sent to ePA requestor systems such as ePA requestor systems 104, 106 used by ePA requestors via ePA accelerator 102. Responses to ePA requests that indicate acceptance, denial, etc., of the ePA request may also be sent using ePA provider systems 112, 114. In embodiments, messages sent by ePA provider systems 112, 114 may be sent in accordance with the NCPDP XML standard. In other words, the standard requires that messages have certain content that is formatted in a certain manner, and messages sent by ePA provider systems may include such content in such a format. It should be noted that messages from independent ePA provider systems to ePA requestor systems need not include the same questions (either in form and/or content) for similar or identical ePA requests while still conforming to the NCPDP XML standard.
In embodiments, network 116 may be the Internet and/or any other network over which ePA request/response processes and/or communications between ePA requestor systems 104, 106 and ePA provider systems 112, 114 may be transmitted. In embodiments, network 116 may comprise one or more individual networks. Network connections (e.g., 118, 120, 122, 124, and/or 126) may each be either wired connections or wireless connections, or may be a combination of wired and wireless connections.
As shown in
Again referring to the NCPDP XML messaging standard,
The embodiments described herein allow for different ePA requestors to communicate with different ePA providers without having to handle raw XML messages, as per the NCPDP XML standard, while still conforming to the message standard. In other words, when an ePA requestor uses an ePA requestor system, such as an EMR/EHR system provided by an EMR/EHR system vendor, to communicate with an ePA provider through its associated ePA provider system, the ePA requestor and the ePA requestor system are not required to be able to handle NCPDP XML standard messages. Thus, the techniques and embodiments described herein provide for improvements in processes for obtaining an ePA.
For instance, methods, systems, and apparatuses are provided for obtaining an ePA and for state tracking, in accordance with the inventive techniques. In an example aspect, a computer-readable storage medium having computer program instructions encoded thereon that, when executed by a processing device, perform a method for facilitating the delivery of an electronic prior authorization (ePA) by an ePA provider system to an ePA requestor system. The method includes receiving over a computer network a representation of a first XML message relating to an ePA request from the ePA requestor system and dynamically generating a user interface (UI) based on at least a portion of the representation. The method also includes presenting the UI to a user of the ePA requestor system, and dynamically generating a user input message based on information received from the user via the UI.
In another example aspect, a system is disclosed for modeling the state of an ePA request/response process. The system includes a storage component configured to persistently store a framework model of the ePA request/response process and to persistently store one or more state representations, and a state modeling component. The state modeling component is configured to track a current state of the ePA request/response process according to the model. The state modeling component is also configured to identify a change from the current state of the ePA request/response process to a new state of the ePA request/response process, and to generate a state representation based on the new state of the ePA request/response process. The state modeling component is further configured to provide the state representation to the at least one storage component for storage thereby.
In yet another example aspect, a method performed by one or more servers for facilitating the delivery of at least one electronic prior authorization (ePA) by an ePA provider system to an ePA requestor system is provided. The method includes providing computer-executable instructions to a client computer of the ePA requestor system over a network, the instructions, when executed by the client computer, performing a client-side method comprising: dynamically generating a user interface (UI) based on at least a portion of a representation of a first XML message relating to at least one ePA request from the ePA requestor system that is received over the network. The method also includes receiving the first XML message from the ePA provider system over the network, the first XML message relating to the at least one ePA request from the ePA requestor system, dynamically generating the representation, and providing the representation to the client computer. The method further includes generating, subsequent to providing the representation, a second XML message based on information received from the client computer, the information being obtained by the client computer via the UI, and transmitting the second XML message to the ePA provider system over the network.
It is contemplated that embodiments described herein with respect to an ePA accelerator are not so limited, and that other types and aspects of ePA, as well as prior authorizations generally, may be utilized in such embodiments, as would be understood by a person of skill in the relevant art(s) having the benefit of this disclosure.
Various example embodiments are described in the following subsections. In particular, example UI embodiments are described, followed by example ePA accelerator embodiments. Example operational embodiments are subsequently described. Next, further example embodiments and advantages are described. Finally, some concluding remarks are provided.
In accordance with the inventive embodiments described herein,
UI 400 may include a patient identification information section 404 for displaying information about a patient (e.g., a patient for which an ePA process regarding a prescription will take place), and may include one or more selection portions 402 from which a user may be able to select UI displays with information and functionality associated with more detailed information about the patient. For instance, selection portions 402 may include selectable options for, without limitation, the following: a patient summary, a problem list, a medication list, a results review, communications, documents, and/or prior authorization. In embodiments for ePA, selecting prior authorization may provide or display to a user of the UI a question area 406.
Question area 406 may be implemented according to described embodiments, thereby enabling the ePA requestor system to provide a means for carrying out the ePA request/response protocol without having to generate or interpret the raw XML messages required by the NCPDP XML messaging standard, as shown in
It should be noted that references to a “UI” or a “portion of a UI” may be used interchangeably throughout this disclosure unless explicitly stated otherwise. For instance, if a component of ePA accelerator 102 dynamically generates a UI, it is also intended that this component may dynamically generate a portion of a UI (e.g., question area 406) according to embodiments.
The embodiments described herein may be configured in various ways as will become apparent to a person of skill in the relevant art(s) having the benefit of this disclosure.
For instance,
Components and entities outside of ePA accelerator components 522 are also shown in ePA accelerator implementation 500 of
In embodiments, message processing component 502 is configured to receive and process incoming messages from PBM system 516 being transmitted to an ePA requestor system via browser 514, as well as transmitted messages from an ePA requestor system via browser 514 to PBM system 516. For example, message processing component 502 is configured to receive ePA initiation requests and ePA requests from ePA requestor systems. ePA initiation requests may be received via application server 518 (which may allow for the inclusion of data stored therein in an ePA initiation request). Message processing component 502 is configured to transmit the ePA initiation requests and XML versions of the ePA requests to PBM system 516. Similarly, message processing component 502 is configured to receive ePA initiation responses and ePA responses from PBM system 516. Message processing component 502 is configured to process/parse each of the received responses and requests, and provide processed/parsed message information to window service component 504 and/or message event service component 506.
In embodiments, windows service component 504 is configured to receive processed/parsed message outputs from message processing component 502. The processed/parsed message outputs may be audited and have portions thereof placed in an audit table from which tasks and additional messages may be generated and from which tasks and messages may be stored in DB 508.
Additionally, windows service component 504 may be configured to provide various services to ePA requestor systems and browser 514, and to PBM systems 516. For instance, in embodiments, windows service component 504 may operate as an audit component configured to audit the state of the ePA adjudication. For example, as shown in
Once stored in DB 508, state information for a given ePA adjudication may be provided to ePA requestor systems from UI service component 510 via browser 514 and to PBM systems 516 by the embodiments of ePA accelerator components 522 via message processing component 502.
In embodiments, message event service component 506 is configured to generate a workflow, as described herein, based on the processed message. For example, a question set in a NCPDP XML message from PBM system 516 may be represented as workflow tasks and messages created by message event service component 506. Such tasks and messages may be provided to UI service component 510 to generate representations of NCPDP XML messages to be used for dynamically creating a UI for presentation to the user, as described below. In embodiments, the workflow tasks and messages may be stored along with state information in DB 508.
In embodiments, UI service component 510 is configured to receive the tasks and messages from message event service component 506 and generate an initial load page for the UI to be presented by UI generation component 512. UI service component 510 is also configured to generate a list of distributed tasks that may be provided to UI generation component 512 for display via UI generation component 512 in browser 514 upon request by ePA requestors using ePA requestor systems 104, 106. UI service component 510 is further configured to generate non-XML versions (JavaScript, JSON, HTML, and/or the like) of questions, e.g., provided in an ePA initialization response or ePA response, to be utilized by UI generation component 512. UI service component 510 may generate the non-XML question representations by translating information from the received message into classes and objects that may be utilized by UI generation component 512 according to classes and objects of class diagram 600 of
UI service component 510 is also configured to receive answers to questions and information from ePA requestor systems 104, 106 via UI generation component 512 and generate a corresponding NCPDP XML message to be provided to PBM system 516.
In embodiments, UI generation component 512 is configured to display a task list and allow ePA requestors (i.e., users) using ePA requestor systems 104, 106 to select a task associated with answering the questions provided from ePA provider systems 112, 114. UI generation component 512 is also configured to dynamically generate a UI for presentation to a user via browser 514 responsive to the selected task. In some embodiments, UI generation component 512 may be embedded within browser 514 after being provided to an ePA requestor system, and browser 514 may be a further embodiment of UI 400 of
The provisioning functionality of UI service component 510 described above may be carried out according to various known protocols and standards/specifications such as, but not limited to, HTML and HTML calls, asynchronous JavaScript and XML (AJAX), JavaScript, etc., and not only those protocols and standards/specifications shown or described are contemplated.
Additional details regarding the operational flow of ePA accelerator components 522 are described in below with respect to
A set of server classes in a server class structure 602 residing in ePA accelerator 102 (e.g., in UI service component 510), and a set of client classes in a client class structure 604 residing in UI generation component 512 embedded in browser 514 of ePA requestor systems 104, 106 are shown. One or more of ePA accelerator components 522 of
Server class structure 602 may include a message service class 610, a message type class 612, a message mapper class 614, a message builder class 616, a message data transfer object (DTO) class 618, a question DTO class 620, a free text question class 622, a select question class 624, a date question class 626, and a numeric question class 628. Client class structure 604 may include a question service class 630, a question factory class 632, a checkbox question class 634, a radio question class 636, a date question class 638, a free text question class 640, a numeric question class 642, a question controller class 644, a multi-select HTML class 646, a single-select HTML class 648, a date HTML class 650, a free text HTML class 652, and a numeric HTML class 654. Server classes will now be described in further detail.
Message service class 610 retrieves a received XML message from a database, e.g., DB 508.
Message type class 612 is a de-serializing class that takes parsed, de-serialized XML message strings and converts these strings into a server-specific object type, e.g., a Microsoft® .NET C# object.
Message mapper class 614 translates de-serialized XML objects into DTO objects (e.g., maps the XML version into a JSON version of the object).
Message builder class 616 converts objects that represent information and/or answers to the questions that are received from ePA requestor systems 104, 106 via UI generation component 512 (e.g., in JSON format) into de-serialized XML objects.
Message DTO class 618 supports message mapper class 614 by translating information from the XML message, e.g., patient information, drug information, etc., into a format that may be utilized by UI generation component 512 (e.g., JSON format).
Question DTO class 620 supports message mapper class 614 by translating questions from the XML message, into a format that may be utilized by UI generation component 512 (e.g., JSON format).
Free text question class 622 supports message mapper class 614 and question DTO class 620 by translating free text questions from the XML message into format that may be utilized by UI generation component 512 (e.g., JSON format).
Select question class 624 supports message mapper class 614 and question DTO class 620 by translating selectable answer questions from the XML message into a format that may be utilized by UI generation component 512 (e.g., JSON format).
Date question class 626 supports message mapper class 614 and question DTO class 620 by translating date-related questions from the XML message into format a that may be utilized by UI generation component 512 (e.g., JSON format).
Numeric question class 628 supports message mapper class 614 and question DTO class 620 by translating numeric answer questions from the XML message into a format that may be utilized by UI generation component 512 (e.g., JSON format).
Similarly, a radio question class (not shown) may be included in embodiments to support message mapper class 614 and question DTO class 620 by translating radio button questions from the XML message into a format that may be utilized by UI generation component 512 (e.g., JSON format).
Client classes will now be described in further detail. Question service class 630 receives questions (e.g., per question DTO class 620) from UI service component 510 of ePA accelerator 102. Question service class 630 also transmits completed question/answer and information sets back to UI service component 510.
Question factory class 632 parses the received questions to determine types of the questions received by question service class 630 and makes sure the determined question types conform with NPCPD standard question types.
Each of checkbox question class 634, radio question class 636, date question class 638, free text question class 640, and numeric question class 642 supports question factory class 632 by providing the appropriate, respective question type that was determined.
Question controller class 644 determines how to render, and then renders, the questions determined by question factory class 632 in a view for the UI (e.g., in an HTML view) by loading the appropriate HTML view class (listed below) that corresponds to the determined questions from question factory class 632 (e.g., in JSON format). As an ePA requestor, using a dynamically generated UI executing on a computer of ePA requestor systems 104, 106, answers a question, question controller class 632 reads the answer and populates the corresponding question with the answer for transmission back to ePA accelerator 102 by question service class 630. Question controller class 644 also manages the navigation of the question set based on the answers entered, allowing a dynamic generation of the next question (e.g., a UI portion) to be displayed also based on the type of the next question determined by question factory class 632.
Each of multi-select html class 646, single-select html class 648, date html class 650, free text html class 652, and numeric html class 654 include HTML fragments to support question controller class 644 by providing the appropriate HTML view.
Accordingly, client class structure 604, e.g., through implementation of the described question factory class 632 and question controller class 644, along with their respective supporting classes, provides the ability to dynamically generate question views (e.g., UI portions) based, at least in part, on answers to preceding questions. In this way, a library of forms for specific instances of each and every question and/or format thereof that could be posed by an ePA provider is unnecessary, allowing for a more efficient, automated ePA request/response process. In other words, the combination of client class structure 604 and server class structure 602, together with the hub model implementation described in embodiments herein, allows for any number of ePA provider systems 112, 114 to communicate with any number of ePA requestor systems 104, 106 using any number of different question formats or content for each of ePA provider systems 112, 114, while still maintaining seamless, dynamic generation of UIs presented to ePA requestors using ePA requestor systems 104, 106 without adding complexity to the ePA requestor systems and/or processes.
Interaction at the service level of workflow engine 702 may take place against a series of managers (a process manager 708, a task manager 710, and a queue manager 712) that interact with the corresponding process or task instances. Instance-specific information may be passed to processing engine 702 via an initiating object interface 714 which is an interface controller implemented in order to pass the relevant information, e.g., description of the task, to whom or what entity is the task assigned, a completion date, an authorization number, etc., supplied from the user to ePA accelerator 102 embodiments through the API definition. In workflow engine 702, process manager 708, and task manager 710 are configured to consult with an RDF model 738 and interpret RDF model 738 to determine necessary actions. Necessary actions include, without limitation, determining a next task, creating an instance of the next task, and distributing the next task, and, as noted, may be based on RDF model 738. Following the interpretation and instantiation of the appropriate process/tasks, the instance of the object is persisted to a database (DB) 742 (which may be an embodiment of DB 508 of
Account portals 740 allow for authentication of users to ePA accelerator 102 embodiments. Queue manager 712 is configured to prioritize pending tasks based on, e.g., required completion dates, to close out tasks that pass their required completion date, to distribute the next task that is queued, and to provide a notification of the cancelled task.
It is also contemplated that more than one RDF model may be stored in RDF model 738. For example, changes to the NCPDP standard may require that a new, updated RDF model be created and stored for implementation on the date of the forthcoming standard change.
Within process definition 810 may lie all of the remaining defining constructs to support the instantiation of a single process of the defined type. Associated with a process are two additional objects that support a defined collection of priority levels 818 (linked by has-priority-level slot 838), an example 820 is shown, and publication statuses 822 (linked by has-release slot 836) that are then associated with process definition 810 to define its level of priority/importance and corresponding delivery level (e.g., development, QA, or production, as in example 824). Like process definition 810, task definition 806 may also contain all of the defining constructs to support the instantiation of a task instance and the behavior it is to exhibit. Associated with a task are two additional objects that support defined collection of priority levels 818 (linked by has-priority-level slot 840) and action types 814 (linked by has-invocation-type/has-post-invocation-type slot 842) that are then associated with task definition 806 to define its levels of priority/importance and its corresponding action it is to execute against, examples of which are electronic interaction operands, as shown in example 816, such as AND, OR, XOR, as well as external method interaction. Finally, within task definition 806 is the definition of the rules to be executed upon in workflow engine 702 of
Systems and apparatuses utilizing ePA accelerator techniques as described herein may, without limitation, perform their functions according to the exemplary operational embodiments described in this Section.
For instance,
As shown, user 960 may begin the process via an application that may include browser 514 which may be used to access a network (e.g., network 116) such as the Internet. At 902, user 960 transmits an ePA initiation request that is received by message processing component 502. At 904, message processing component 502 saves the received request message. In embodiments, the saved request message may be provided to windows service component 504 and to DB 508 (shown in
At 912, PBM system 516 may respond to the ePA initiation request from 908 by providing an ePA initiation response that is received by message processing component 502. The ePA initiation response may include a question set (i.e., a questionnaire) requiring answers and/or information from user 960. Message processing component 502 provides an invoke process message to message event service component 506 at 914, and at 918, the task created at 910 is closed, while a task is created for user 960 at 920. At 916, message processing component 502 provides an informational message to user 960 via browser 514 that a response to the ePA initiation request has been received.
At 922, user 960 requests a worklist associated with ePA initiation response from message event service component 506 via UI generation component 512. A worklist response is presented via UI generation component 512 from message event service component 506, and the requested worklist is displayed to user 960 at 924.
At 926, user 960 selects a worklist task via UI generation component 512, and a get question message is provided to UI service component 510. In response, at 928 UI service component 510 provides a task message to UI generation component 512, and UI service component 510 creates a questionnaire response at 930. In embodiments, the questionnaire response includes a representation of the question set provided in the ePA initiation response at 912 in a format of JavaScript, JSON, HTML, and/or the like, to be utilized by UI generation component 512. At 932, UI service component 510 provides the questionnaire response to UI generation component 512. In embodiments, UI generation component 512 generates a UI or portion thereof within browser 514 for presenting to user 960. The representation of the question set provided at 930 may be provided in the UI or portion thereof.
Responsive to the display of the representation of the question set provided at 930, user 960 may answer questions and/or provide requested information via UI generation component 512 within browser 514. This is exemplarily embodied by UI 400 of
At 950, PBM system 516) provides an ePA response that is received by message processing component 502. The ePA response is parsed by ePA accelerator 102, e.g., by message processing component 502, and tasks in the ePA request/response process may be updated accordingly. Message processing component 502 sends and invoke process message to message event service component 506 at 952, and at 954, message event service component 506 closes the task created at 946. The closing of the task at 954 may be logged and used for tracking and modeling the process state. At 956, an informational message related to the ePA response is provided to user 960 via browser 514.
At 958, a worklist request may be sent from UI generation component 512 to message processing component 502 to provide and updated worklist that reflects the current state of the ePA process. It should be noted that the ePA response provided at 950 may indicate that additional information is required to make an ePA determination. In such cases, the ePA response may include additional questions and requests for information in a questionnaire similar to that provided by PBM system 516 at 912. Accordingly, one or more iterations of the process described above, but beginning at 912, may take place until an ePA provider using PBM system 516 has sufficient information to make a determination regarding the ePA request. Once a determination is made, the ePA response at 950 may indicate that the ePA request is, without limitation: approved, denied, deferred, and/or closed (e.g., due to the patient associated with the ePA request no longer being affiliated with the ePA provider using PBM system 516).
In some embodiments, one or more of steps of transaction flow 900 may not be performed. Moreover, steps in addition to or in lieu of steps of transaction flow 900 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps of transaction flow 900 may be performed out of the order shown in
In
In embodiments, flowchart 1000 may be a method executed by a computer or may be a method performed by a processing device in accordance with computer program instructions encoded on a computer-readable storage medium, where the method is for facilitating the delivery of an electronic prior authorization (ePA) by an ePA provider system to an ePA requestor system. Flowchart 1000 may be a method performed by one or more computers, such as, but without limitation, server computers that may be part of a distributed server configuration.
Flowchart 1000 begins with step 1002. At step 1002, a representation of a first XML message relating to an ePA request from the ePA requestor system is received over a computer network. For example, an XML message such an ePA response or an ePA initiation response that is related to an ePA request may be transmitted over a network, e.g., network 116 of
At step 1004, a user interface (UI) is dynamically generated based on at least a portion of the representation. For example, a UI generation component (e.g., UI generation component 512 of
At step 1006, the UI is presented to a user of the ePA requestor system. For instance, the dynamically generated UI of step 1004 may be presented for viewing to an ePA requestor or user, e.g., at UI 108, 110 of
At step 1008, a user input message is dynamically generated based on information received from the user of the UI. For instance, UI 108, 110, UI generation component 512, and/or UI component 736 may receive user inputs via the UI generated in step 1004 and presented in step 1006. As a user provides inputs via the UI, the inputs are received and a user input message is dynamically generated that may subsequently be transmitted to an ePA accelerator (e.g., ePA accelerator 102 of
In some example embodiments, one or more of steps 1002, 1004, 1006, and/or 1008 of flowchart 1000 may not be performed. Moreover, steps in addition to or in lieu of steps 1002, 1004, 1006, and/or 1008 of flowchart 1000 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps 1002, 1004, 1006, and/or 1008 of flowchart 1000 may be performed out of the order shown in
Turning now to
Flowchart 1100 begins with step 1102. At step 1102, a first portion of the UI is dynamically generated based on a first portion of the representation. In embodiments, a UI as described herein, may include one or more areas of content through which a user such as an ePA requestor may provide inputs. In embodiments, each area of content may include one or more questions and/or requests for data corresponding to portions of question sets sent in XML messages from ePA provider systems, and different areas of content may be sequentially presented to a user upon completion of the previous area. An exemplary area of content is shown in
At step 1104, the first portion of the UI is presented to the user of the ePA requestor system. For instance, the first portion may be presented for viewing on an embedded UI or UI portion in an application executing on a computer of an ePA requestor system as similarly described above with respect to step 1006 of flowchart 1000.
At step 1106, information is received from the user via the first portion of the UI. In embodiments, such information may be referred to as user input. Referring back to question area 406 of
At step 1108, a second portion of the UI is dynamically generated based on a second portion of the representation and on information received from the user via the first portion of the UI. For example, the received user input and another portion of the representation may be used to dynamically generate a second portion of the UI. In embodiments, such as question area 406, Question 2 of 6 may be dynamically generated based on the XML message representation and the user's answer to Question 1 of 6, e.g., by UI generation component 512 of
At step 1110, the second portion of the UI is presented to the user of the ePA requestor system. For instance, the second portion may be presented for viewing on an embedded UI or UI portion in an application executing on a computer of an ePA requestor system as similarly described above with respect to step 1006 of flowchart 1000 and/or step 1104.
In some example embodiments, one or more of steps 1102, 1104, 1106, 1108, and/or 1110 of flowchart 1100 may not be performed. Moreover, steps in addition to or in lieu of steps 1102, 1104, 1106, 1108, and/or 1110 of flowchart 1100 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps 1102, 1104, 1106, 1108, and/or 1110 of flowchart 1100 may be performed out of the order shown in
In
In embodiments, flowchart 1200 may be a method executed by a computer or may be a method performed by a processing device in accordance with computer program instructions encoded on a computer-readable storage medium, where the method is for facilitating the delivery of an electronic prior authorization (ePA) by an ePA provider system to an ePA requestor system. Flowchart 1200 may be a method performed by one or more computers, such as server computers.
Flowchart 1200 begins with step 1202. At step 1202, computer-executable instructions are provided to a client computer of the ePA requestor system over a network. In embodiments, the instructions, when executed at the client computer, perform a client-side method comprising: dynamically generating a user interface (UI) based on at least a portion of a representation of a first XML message relating to at least one ePA request from the ePA requestor system that is received over the network. In some embodiments, the client-side method may include some or all of the steps of flowchart 1000 of
At step 1204, a first XML message is received from the ePA provider system over the network, the first XML message relating to the at least one ePA request from the ePA requestor system. For example, ePA accelerator 102 may be configured to receive an XML message from ePA provider system 112 or 114. The first XML message may be transmitted from the ePA provider system responsive to the ePA provider system receiving an ePA initiation request or an ePA request, and may contain one or more question sets relating to an ePA. In embodiments, the first XML message may be formatted according to the NPCDP XML message standard.
At step 1206, a representation is dynamically generated. For instance, ePA accelerator 102 may be configured to dynamically generate the representation by processing the XML message (e.g., using message processing component 502 of
At step 1208, the representation is provided to the client computer. For instance, ePA accelerator 102 may be configured to provide the representation to a client computer of ePA requestor system 104 or 106 via network 116, as shown in
At step 1210, a second XML message is generated, subsequent to providing the representation, based on information received from the client computer, the information being obtained by the client computer via a user interface (UI). In embodiments, ePA accelerator 102 may be configured to generate the second XML message. For example, UI services component 510 may receive the information from the client computer and generate the second XML message (e.g., according to the NPCDP XML message standard). The second XML message may subsequently be transmitted from ePA accelerator 102 via network 116 to ePA provider system 112 or 114.
At step 1212, the second XML message is transmitted to the ePA provider system over the network. For example, message processing component 502 may transmit the second XML message to ePA provider systems 112, 114 over network 116.
In some example embodiments, one or more of steps 1202, 1204, 1206, 1208, 1210, and/or 1212 of flowchart 1200 may not be performed. Moreover, steps in addition to or in lieu of steps 1202, 1204, 1206, 1208, 1210, and/or 1212 of flowchart 1200 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps 1202, 1204, 1206, 1208, 1210, and/or 1212 of flowchart 1200 may be performed out of the order shown in
Turning now to
Flowchart 1300 begins with step 1302. At step 1302, a representation is received over a network. In embodiments, the representation may be the dynamically generated representation of step 1206 of flowchart 1200, and the network may be network 116 of
At step 1304, a UI is dynamically generated based on at least a portion of a representation of a first XML message relating to at least one ePA request from the ePA requestor system that is received over the network. In embodiments, step 1304 may be performed in a similar manner as step 1004 of flowchart 1000 and/or step 1102 of flowchart 1100. A UI as described herein, may include one or more areas of content through which a user such as an ePA requestor may provide inputs. In embodiments, each area of content may include one or more questions and/or requests for data corresponding to portions of question sets sent in XML messages from ePA provider systems, and different areas of content may be sequentially presented to a user upon completion of the previous area. An exemplary area of content is shown in
At step 1306, the UI is provided to a user of the client computer. For instance, the first portion may be presented for viewing on an embedded UI in an application executing on a computer of an ePA requestor system as similarly described above with respect to step 1006 of flowchart 1000.
At step 1308, a user input message is dynamically generated that includes at least a portion of the information obtained by the client computer via the UI. For example, the received user input may be obtained by UI generation component 512 according to the operation described with respect to client class structure 604 of
At step 1310, the user input message is transmitted to the one or more servers over the network. For instance, the user input message may be transmitted from UI generation component 512 to UI service component 510 of
In some example embodiments, one or more of steps 1302, 1304, 1306, 1308, and/or 1310 of flowchart 1300 may not be performed. Moreover, steps in addition to or in lieu of steps 1302, 1304, 1306, 1308, and/or 1310 of flowchart 1300 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps 1302, 1304, 1306, 1308, and/or 1310 of flowchart 1300 may be performed out of the order shown in
In
In embodiments, flowchart 1400 may be a method executed by a computer or may be a method performed by a processing device in accordance with computer program instructions encoded on a computer-readable storage medium, where the method is for modeling the state of an electronic prior authorization (ePA) request/response process. Flowchart 1400 may be a method performed by one or more computers, such as server computers, that are configured to process instructions and store data and/or information related to the execution of flowchart 1400.
Flowchart 1400 begins with step 1402. At step 1402, a current state of an ePA request/response process is tracked according to a framework model of the ePA request/response process. In embodiments, the framework model is a model of the ePA request/response process based at least in part on a framework (e.g., RDF), and may be dynamically generated and stored by ePA accelerator 102 of
At step 1404, a change from the current state of the ePA request/response process to a new state of the ePA request/response process is identified. In embodiments, ePA accelerator 102, e.g., by windows service component 504 and/or message event service component 506 of
At step 1406, a state representation is generated based on the new state of the ePA request/response process. For instance, ePA accelerator 102, e.g., by windows service component 504 and/or message event service component 506 of
At step 1408, the state representation is provided to a storage component for storage. For instance, ePA accelerator 102 may be configured to include database 508 which may store new state representation information such as the newly created tasks and/or messages.
At step 1410, the storage component is queried for information related to the one or more state representations of the ePA request/response process. In embodiments, a task list request for ePA providers or ePA requestors may be received from ePA provider systems 112, 114 or ePA requestor systems 104, 106 respectively. In response, DB 508 may be queried for current and/or past state representations that may be subsequently provided to the requesting entity for viewing and/or selection.
At step 1412, the information is provided to a UI service component. For example, the result of the query in step 1410 is provided from DB 508 to UI service component 510.
At step 1414, a message that includes the information is generated, the message being formatted such that the message may be utilized by a UI on a computer of an ePA requestor system. In embodiments, UI service component 510 may generate the message in a JavaScript, JSON, and/or HTML format, or the like, and provide the message to UI generation component 512 for viewing and/or selection.
As noted in step 1410, an ePA provider using an ePA provider system may request a task list that includes ePA process state information. Accordingly, it is contemplated that additional steps similar to steps 1412 and 1414 may be performed for providing task and state information to an ePA provider system commensurate with embodiments described herein.
In some example embodiments, one or more of steps 1402, 1404, 1406, 1408, 1410, 1412, and/or 1414 of flowchart 1400 may not be performed. Moreover, steps in addition to or in lieu of steps 1402, 1404, 1406, 1408, 1410, 1412, and/or 1414 of flowchart 1400 may be performed (some of which were described above). Further, in some example embodiments, one or more of steps 1402, 1404, 1406, 1408, 1410, 1412, and/or 1414 of flowchart 1400 may be performed out of the order shown in
A device, as defined herein, is a machine or manufacture as defined by 35 U.S.C. §101. Devices may be digital, analog or a combination thereof. Devices may include integrated circuits (ICs), one or more processors (e.g., central processing units (CPUs), microprocessors, digital signal processors (DSPs), etc.) and/or may be implemented with any semiconductor technology, including one or more of a Bipolar Junction Transistor (BJT), a heterojunction bipolar transistor (HBT), a metal oxide field effect transistor (MOSFET) device, a metal semiconductor field effect transistor (MESFET) or other transconductor or transistor technology device. Such devices may use the same or alternative configurations other than the configuration illustrated in embodiments presented herein.
Techniques and embodiments, including methods, described herein may be implemented in hardware (digital and/or analog) or a combination of hardware and software and/or firmware. Techniques described herein may be implemented in one or more components. Embodiments may comprise computer program products comprising logic (e.g., in the form of program code or instructions as well as firmware) stored on any computer useable storage medium, which may be integrated in or separate from other components. Such program code, when executed in one or more processors, causes a device to operate as described herein. Devices in which embodiments may be implemented may include storage, such as storage drives, memory devices, and further types of computer-readable media. Examples of such computer-readable storage media include, but are not limited to, a hard disk, a removable magnetic disk, a removable optical disk, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROM), and the like. In greater detail, examples of such computer-readable storage media include, but are not limited to, a hard disk associated with a hard disk drive, a removable magnetic disk, a removable optical disk (e.g., CDROMs, DVDs, etc.), zip disks, tapes, magnetic storage devices, MEMS (micro-electromechanical systems) storage, nanotechnology-based storage devices, as well as other media such as flash memory cards, digital video discs, RAM devices, ROM devices, and the like. Such computer-readable storage media may, for example, store computer program logic, e.g., program modules, comprising computer executable instructions that, when executed, provide and/or maintain one or more aspects of functionality described herein with reference to the figures, as well as any and all components, steps and functions therein and/or further embodiments described herein.
Computer readable storage media are distinguished from and non-overlapping with communication media. Communication media embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media as well as wireless media such as acoustic, RF, infrared and other wireless media. Example embodiments are also directed to such communication media.
The ePA accelerator embodiments and/or any further systems, sub-systems, and/or components disclosed herein may be implemented in hardware (e.g., hardware logic/electrical circuitry), or any combination of hardware with software (computer program code configured to be executed in one or more processors or processing devices) and/or firmware.
The embodiments described herein, including systems, methods/processes, and/or apparatuses, may be implemented using well known processing devices, telephones (smart phones and/or mobile phones), servers, and/or, computers, such as a computer 1500 shown in
Computer 1500 can be any commercially available and well known communication device, processing device, and/or computer capable of performing the functions described herein, such as devices/computers available from International Business Machines®, Apple®, Sun®, HP®, Dell®, Cray®, Samsung®, Nokia®, etc. Computer 1500 may be any type of computer, including a desktop computer, a server, etc.
Computer 1500 includes one or more processors (also called central processing units, or CPUs), such as a processor 1506. Processor 1506 is connected to a communication infrastructure 1502, such as a communication bus. In some embodiments, processor 1506 can simultaneously operate multiple computing threads.
Computer 1500 also includes a primary or main memory 1508, such as random access memory (RAM). Main memory 1508 has stored therein control logic 1524 (computer software), and data.
Computer 1500 also includes one or more secondary storage devices 1510. Secondary storage devices 1510 include, for example, a hard disk drive 1512 and/or a removable storage device or drive 1514, as well as other types of storage devices, such as memory cards and memory sticks. For instance, computer 1500 may include an industry standard interface, such a universal serial bus (USB) interface for interfacing with devices such as a memory stick. Removable storage drive 1514 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
Removable storage drive 1514 interacts with a removable storage unit 1516. Removable storage unit 1516 includes a computer useable or readable storage medium 1518 having stored therein computer software 1526 (control logic) and/or data. Removable storage unit 1516 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. Removable storage drive 1514 reads from and/or writes to removable storage unit 1516 in a well-known manner.
Computer 1500 also includes input/output/display devices 1504, such as touchscreens, LED and LCD displays, monitors, keyboards, pointing devices, etc.
Computer 1500 further includes a communication or network interface 1518. Communication interface 1520 enables computer 1500 to communicate with remote devices. For example, communication interface 1520 allows computer 1500 to communicate over communication networks or mediums 1522 (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. Network interface 1520 may interface with remote sites or networks via wired or wireless connections.
Control logic 1528 may be transmitted to and from computer 1500 via the communication medium 1522.
Any apparatus or manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer 1500, main memory 1508, secondary storage devices 1510, and removable storage unit 1516. Such computer program products, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent embodiments of the invention.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the embodiments. Thus, the breadth and scope of the embodiments should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
This application claims the benefit of U.S. Provisional Patent Application No. 62/039,336, filed on Aug. 19, 2014, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62039336 | Aug 2014 | US |