# Patent

## Title
Sample management for a sales call

## Abstract

Systems and methods are provided that record details of product samples given to a customer. A request to add one or more product sample records is received, and in response, user interface showing product sample information for available product samples is presented. The user interface may include a field for entering a quantity of each product sample given to the customer. One or more product sample records is recorded corresponding to each product sample for which a quantity was entered in the user interface.

## Background
FIELD OF THE INVENTION
One embodiment is directed to customer relationship management, and more particularly directed to sample management during a sales call.
BACKGROUND INFORMATION
In recent years, the annual rate of increase among physicians has remained relatively flat while the number of pharmaceutical sales representatives has grown considerably overall, even accounting for recent reductions in field force sizes. As a result, sales call effectiveness has waned in the face of a changing market and physicians' increasingly busy schedules, forcing life sciences organizations to transform their sales and marketing capabilities. Pharmaceutical companies face stiff challenges in terms of completion, cost escalation and reduction in margins, while promoting their products by sending out sales representatives to doctors, hospitals and other medical organizations. Typically the sales representatives, in the few minutes that they get with the audience/doctors, orally explain the complicated details of the medical product and then give handouts, such as presentation material on the product in paper form. A very likely result of such an approach is that after the session the audience would have already forgotten much, depending on the oral presentation skills of the representative, and the handouts most likely be thrown away. Furthermore, the sales representative may not come away with a written or other record of the presentation such as how much time was spent addressing the various details of the product, or what samples were left with the physician.
SUMMARY OF THE INVENTION
One embodiment is a system for recording details of product samples given to a customer. A request to add one or more product sample records is received. The system then retrieves product sample information for available product samples and populates an inventory list with the product sample information in a user interface The user interface includes a field for entering a quantity of each product sample given to the customer. The system then creates one or more product sample records corresponding to each product sample for which a quantity was entered.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system that can implement a sales call management (“SCM”) system in accordance with an embodiment;
FIG. 2 illustrates a method of providing Sales Call Management and analytics in accordance with an embodiment;
FIG. 3 illustrates example call details user interface (“UI”) of the SCM system in accordance with an embodiment;
FIG. 4A illustrates a screenshot of an example UI requiring numerous mouse clicks;
FIG. 4B illustrates another screenshot of an example UI requiring numerous mouse clicks;
FIG. 4C illustrates yet another screenshot of an example UI requiring numerous mouse clicks;
FIG. 4D illustrates yet another screenshot of an example UI requiring numerous mouse clicks;
FIG. 5 illustrates an example business component in accordance with an embodiment;
FIG. 6 illustrates a block diagram of the SCM system in accordance with an embodiment;
FIG. 7 illustrates a method of recording sample details in accordance with an embodiment;
FIG. 8 illustrates an example screenshot of a sample details UI of the SCM system in accordance with an embodiment; and
FIG. 9 illustrates another example screenshot of the sample details UI of the SCM system in accordance with an embodiment



DETAILED DESCRIPTION
Embodiments are directed to systems and methods for recording details about sample products left with a customer/physician during a sales call presentation. A sales call management (“SCM”) system includes a tabular user interface the presents a sales representative with a list of samples that are on-hand and unexpired. At the end of the sales call, the sales representative is presented with this user interface when they elect to add a record of samples left with the physician. The sales representative adds a quantity to a row corresponding to the sample products that were left with the physician. Accordingly, the sales representative may quickly create an accurate record, and the physician can sign off on it in order to comply with government regulations.
FIG. 1 is a block diagram of a system 10 that can implement an embodiment of a SCM system. System 10 includes a bus 12 or other communication mechanism for communicating information, and a processor 22 coupled to bus 12 for processing information. Processor 22 may be any type of general or specific purpose processor. System 10 further includes a memory 14 for storing information and instructions to be executed by processor 22. Memory 14 can be comprised of any combination of random access memory (“RAM”), read only memory (“ROM”), static storage such as a magnetic or optical disk, or any other type of computer readable media. System 10 further includes a communication device 20, such as a network interface card, to provide access to a network. Therefore, a user may interface with system 10 directly, or remotely through a network or any other method.
Computer readable media may be any available media that can be accessed by processor 22 and includes both volatile and nonvolatile media, removable and non-removable media, and communication media. Communication media may include computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Processor 22 is further coupled via bus 12 to a display 24, such as a Liquid Crystal Display (“LCD”), for displaying information to a user. A cursor control device 28, such as a touch screen, is further coupled to bus 12 to enable a user to interface with system 10. In one embodiment, system 10 is a tablet PC.
In one embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. The modules include an operating system 15 that provides operating system functionality for system 10, and a customer relationship management (“CRM”) module 200 that provides enterprise-level applications for customer relationship management. The modules further include a SCM module 100, which is described in greater detail below. System 10 may be coupled to a database 17 for storing additional data.
FIG. 2 illustrates a flow diagram of the functionality of SCM module 100 in accordance with an embodiment. In one embodiment, the functionality of the flow diagram of FIG. 2, and FIG. 7 below, is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality may be performed by hardware (e.g., through the use of an application specific integrated circuit (“ASIC”), a programmable gate array (“PGA”), a field programmable gate array (“FPGA”), etc.), or any combination of hardware and software. Initially, digital presentation content is loaded on the SCM system 10 (200). Digital presentation content may be used by brand managers, marketing managers and sales operation managers as a sales communication tool for more effective communication in order to acquire, retain and develop profitable customer relationships and improve marketing and sales effectiveness. Examples of digital presentation content includes presentations in the form of Flash files, PowerPoint files, word documents, movie files, Portable Document files, etc. A “message” refers to a slide, page or segment of a presentation conveying a specific message that managers wish to track.
After loading the digital presentation content on SCM system 10, an administrator or manager may then create a “messaging plan” for the sales representative to use (210). The messaging plan is a sequence of digital presentation content used to deliver the tracked message regarding the product. When a sales representative makes a sales call, a messaging plan is selected on the SCM system 10 and details about the call are entered into the system (220). During the sales call, the SCM system 10 dynamically and automatically collects analytical data such as time spent by the sales representative on each presentation slide and the sequence of slide presentation (230). For example, SCM system may include a timer (not shown) for recording the time spent on each slide or segment of the presentation.
Once the sales presentation is over, the analytical data collected during the session is written back to database 17 (240). After the call, the sales representative may also enter additional details about the sales call such a samples and promotional items left with the doctor or audience, issues about the call, or questionnaires dropped during the call. FIG. 3 illustrates an example screenshot of a UI 310 for SCM system 10 where the sales representative can enter call details in promotional items section 320, samples dropped section 330, issues section 340, and questionnaires section 350. The screenshot UI 310 displays in presentation details section 360 the messages that were presented to the contact in the detailing session, the sequence of presented messages and their parent messaging plans (i.e., the messaging plan to which the messages belong), and duration of presentation of each message. Ultimately, information about the sales call and other sales calls regarding the same product may be used to develop marketing strategies for that product based on the success of the sales calls.
Samples dropped section 330 allows the sales representative to record details about sample and promotional pharmaceutical products (hereinafter “samples”) that are left with a physician during a sales call. Government regulations sometime require that the sales representative keep accurate records of what samples are left with the physician, and the physician must “sign off” on the veracity of these records. However, during a sales call a sales representative often has very little time with the physician, and thus it is difficult to keep these records without wasting the physician's time. In a typical CRM application for the pharmaceutical industry, such as Oracle® Life Sciences, data entry for the sample details requires too much time because of the numerous mouse clicks required to navigate various menus and applets.
For example, FIGS. 4A-D illustrates an example screenshot of a UI 410 of a CRM application in the prior art that includes samples dropped section 330. To make an entry in samples dropped section 330, the sales representative first clicks on the “New” button 420 as illustrated in FIG. 4A. Then, as illustrated in FIG. 4B, the sales representative chooses a product from a drop down menu 430. This spawns a popup window 440, as illustrated in FIG. 4C, where the sales representative selects a product lot from the lot number column 450, and then selects the “OK” button 460. The sales representative then enters the quantity of samples dropped in quantity column 470, as illustrated in FIG. 4D, and then selects “Save record” option 480 on popup menu 490. Ultimately, 5 or 6 mouse clicks are necessary to enter details for one dropped sample. Typically, sales representatives leave many samples, thus recording sample details becomes a time consuming process. One workaround is to pre-enter the data before the sales call, or enter the data after the sales call. However, this can lead to inaccurate entries which could result in noncompliance with government regulations.
An embodiment of SCM system 10 includes a virtual business component that communicates with other business components in SCM system 10 to present a sales representative with a unified user interface for an applet that lists products that are available to drop. When a sales representative clicks an “Add” button to add a product, the sales representative is presented with the list and is required to enter only the quantity of the product samples that were left with the physician. SCM system 10 then creates a record for each product sample dropped including the quantity. Accordingly, much less time is required to record the details of samples that were left with the physician. A virtual business component, business component, and applet are explained below.
Business components define a logical entity that associates columns from one or more tables into a single structure. A business component, except a virtual business component, has a base table assigned to it. The base table provides columns of data for use as fields in the business component. That is, fields in the business component map to columns in the base table. For example, a contact business component may map to a contact table. A first name field in the contact business component would map to a first name column in the contact table, a last name field in the contact business component would map to a last name column in the contact table, etc. In addition to including data from base tables, business components can also include data from joined tables. The relationship between the business component and the additional table is defined using a join. A joined table provides rows on a one-to-one basis to the business component as a result of a foreign key relationship between the joined table and the base table of the business component. That is, for every record in the business component (which corresponds to a row in the base table) there can be a corresponding row in the joined table. However, not every record in the base table will have a record in the joined table.
FIG. 5 illustrates an example block diagram of business component 501, its base table 510, and a joined table 520. The mapping between business component 501 and base table 510 is as follows: primary key field 502 maps to primary key column 512, field F1 503 maps to column B1 513, and field F2 504 maps to column B2 514. The mapping between business component 510 and joined table 520 is as follows: field F3 505 maps to column J1 525 and field F4 506 maps to column J2 526. Foreign key column B3 515 refers to primary key column 521, creating the row join. Thus, a business component not only encapsulates data, but is used by the developer to define the behavior of the entity.
Applets are user interface objects that allow users to view, enter, and modify data from a single business component. They occupy a section of a view and include data controls, such as fields, text boxes, and check boxes, as well as other types of controls, such as buttons that invoke methods and ActiveX controls. Applets can be configured to display as forms, lists of records, charts, or hierarchical trees. Applets can be configured to allow data entry for a single record, to provide a scrolling table displaying multiple records, or to display business graphics or a navigation tree. Applets allow users access to the data of a single business component.
Thus, business components provide a layer of wrapping over tables, and applets reference these business components rather than the underlying tables. This design creates convenience (i.e., all associated columns are together in one bundle), developer-friendly naming, and the isolation of the developer role from the system administrator role. Virtual business components provide a code-based mechanism for communicating with multiple business components, as well as external data sources. An applet does not distinguish between a virtual business component and a table-based business component.
FIG. 6 illustrates a conceptual block diagram of SCM system 10 including business component 610 and virtual business component 620, and a base applet 630. Base applet 630 may be an interactive detailing session application for SCM system 10, and may have UI 630 as a user interface. Business component 610 is created by joining tables of on-hand inventory (i.e., the actual inventory of the sales representative), original inventory (i.e., the inventory that was allocated to the sales representative by the manufacturer during the last allocation), product lot numbers (i.e., the lot number or batch number of a particular sample), and expiration dates for samples. In an embodiment, business component 610 retrieves the inventory information through CRM modules 200. Business component 610 includes a search facility to filter out, for example, lots of samples that have expired and thus should not be sampled, products where the on-hand quantity is zero, and products that have been flagged to discontinue sampling (e.g., because of pending litigation). These tables may be stored in database 17.
FIG. 7 illustrates a flow diagram of the functionality of SCM system 10 in accordance with an embodiment. When a sales representative wishes to record details about a sample dropped in base applet 630 by clicking an “Add” button (710), virtual business component 620 loads and queries business component 610 to acquire a list of available products and product lots to sample (720). Virtual business component 620 then presents the list, e.g., via a popup window, to the sales representative and prompts them to enter a quantity for each of the product lots distributed (730). When the sales representative closes the popup window by clicking “OK” (740) the virtual business component creates a record of the product and product lot number in base applet 630 (750).
FIG. 8 illustrates an example screenshot of UI 810 of base applet 630 in SCM system 10. UI 810 includes samples dropped section 330 as previously discussed. Note that samples dropped section 330 includes details for three samples that were already dropped, including the sample's product name in column 820, product lot number in column 830, and quantity left with the physician in column 840. When a sales representative clicks on “Add” button 850, they are presented with popup window 900 as illustrated in FIG. 9. Popup window 900 includes table 910 of the available products to sample. Table 910 includes product name column 920, allocation start date column 930 indicating the date the samples were given to the sales representative, allocation end date column 940 indicating the date the sales representative should return unused samples, lot number column 950, expiration date column 960, and quantity column 970 in which the sales representative enters the quantity of each product lot that was sampled. When the sales representative clicks “OK” button 980, this data is captured and updated in base applet 630. Popup window 900 further includes best lots button 990 that filters the available products and presents a list of the best product lots based on expiration dates.
The functionality of virtual business component 620 is, in part, achieved by two methods: one for querying other business components and presenting the data to the sales representative, and one for capturing the quantity of sample product lots dropped and updating the records in the base applet 630. Example code for the two methods, LoadCallProducts( ) and UpsertCallProducts( ), are presented below:












METHOD NAME:  CSSLSBCVCallProducts::LoadCallProducts


  ErrCode CSSLSBCVCallProducts::LoadCallProducts(BOOL


  bShowAll)


  {


  //Get source Business Component using “User Property” value.


   GetUserProperty(SStext(“Source BusComp”), strBusCompName);


   DOCHILD (pBusObj,GetBusComp(strBusCompName,


   pPickListBusComp));


   //Query this Business Component (BC) to get data populated in


   popup


   //applet. This BC already has joins and search specification to show


   //data.


   DOCHILD (pPickListBusComp, Execute(TRUE));


   DOCHILD (pPickListBusComp, Home( ));


  //For each record, create a record in Virtual BC (it will not create


  //record in physical database) and populate data from source BC


   DO (NewRecord(FALSE));


     for (index = 0; EnumFields (index == 0, strFieldName,


pField); index++)


     {


      if (pPickListBusComp->FieldValue (strFieldName,


strFldVal) == OK)


      {


       DO(SetFieldValue (strFieldName, strFldVal, TRUE,


       TRUE


));


      }


     }


  //Copy quantity from Base applet which were inserted last cycle.


     DOCHILD (pParentBC, SetSearchSpec (strUserProperty,


strFldVal));


     DOCHILD (pParentBC, Execute(TRUE));


     DOCHILD (pParentBC, Home( ));


     if (pParentBC->CheckActiveRow ( ) == OK)


     {


       DOCHILD(pParentBC, FieldValue


(strUserProperty,strQty));


       DO (SetFieldValue(strUserProperty, strQty));


     }


     DO (WriteRecord( ));


  }


METHOD NAME:  CSSLSBCVCallProducts::UpsertCallProducts


  ErrCode CSSLSBCVCallProducts::UpsertCallProducts( )


  {


   GetUserProperty(SStext(“Parent BusComp”), strUserProperty);


   DOCHILD


   (GetBusObj( ),GetBusComp(strUserProperty,pParentBC));


   //For each record in Virtual BC, see if quantity is entered or not


     DO(FieldValue(strQtyField,strQty));


     DO(FieldValue(strUserProperty,strFldVal));


     DOCHILD (pSqlObj, SetSearchSpec (strUserProperty,


     strFldVal));


    DOCHILD (pSqlObj, Execute( ));


    //If the strQty = 0 and corresponding record is found in parent


    //applet, then it will delete the record


    if (strQty.IsEmpty( ) && pSqlObj->Home(&record) == OK)


    {


     DOCHILD(pSqlObj,DeleteRecord(&record,TRUE));


    }


    //If the strQty > 0 then it will Create the record in the parent


    //applet


    else if (!strQty.IsEmpty( ) && pSqlObj->Home


    (&record) != OK)


    {


     DOCHILD(pSqlObj,NewRecord(&record, FALSE));


    //For each field in VBC


  {


      DO(FieldValue(strUserProperty,strFldVal));


        DOCHILD(pSqlObj, SetFieldValue(strUserProperty,


strFldVal));


  }


     DOCHILD(pSqlObj,WriteRecord(&stmtArray));


    }


    //If the quantity for existed record is modified then it will


    //modify the record in the Parent applet


    else if (!strQty.IsEmpty( ))


    {


     DOCHILD (pSqlObj, UpdateRecord(&record));


      DO(FieldValue(strUserProperty,strFldVal));


      DOCHILD(pSqlObj,FieldValue(&record,strUserProperty,


strParentFieldVal));


      if (SSstrcmp(strParentFieldVal,strFldVal)!= 0)


      {


       DOCHILD(pSqlObj, SetFieldValue(strUserProperty,


strFldVal));


       bRecordchanged =TRUE;


      }


     }


     if(bRecordchanged)


     {


      DOCHILD(pSqlObj,WriteRecord(&stmtArray));


     }


    }


   }


  //Commit all SQL transactions in one action


   if (stmtArray.GetNumSqlStmts( )>0)


   {


    DOCHILD(pSqlObj,WriteRecordArray(stmtArray));


    DOCHILD(pSqlObj,FinishWriteRecord(FALSE));


    stmtArray.Empty( );


   }


  }









As disclosed, SCM system 10 includes a virtual business component that queries other business components to build a list of product samples that are on-hand and unexpired. The SCM system 10 then presents this list to the sales representative, who can quickly enter quantity information for the product sample lots that were are left with the physician. Accordingly, SCM system 10 provides faster and more efficient sample detailing by allowing the multiple record entries at the same time, reducing the number of mouse clicks required to record an entry, and ensuring more accurate records and thus better government compliance.
Some embodiments of the invention have been described as computer-implemented processes. It is important to note, however, that those skilled in the art will appreciate that the mechanisms of the invention are capable of being distributed as a program product in a variety of forms. The foregoing description of example embodiments is provided for the purpose of illustrating the principles of the invention, and not in limitation thereof, since the scope of the invention is defined solely by the appended claims.

## Claims

1. A method, implemented by a processor, for recording details of product samples given to a customer, comprising:
displaying, using an applet, a first window within a user interface, the first window including a customer information section, a presentation section and a samples dropped section including a selectable add samples interface element;
during a presentation of digital content to an audience, automatically collecting analytical data including at least one metric that measures a feature of the presentation during the presentation, and, after the presentation of digital content is completed, writing the analytical data to a database;
in response to receiving a selection of the add samples interface element:
retrieving, using a virtual business component, product sample information for available product samples from a plurality of business components, the product sample information including a product name, a product lot number and an expiration date, each business component defining a logical entity that associates columns from a plurality of tables stored within the database that contain at least a portion of the product sample information into a single structure, the virtual business component including a code-based entity that communicates with the plurality of business components and the applet, and
displaying, using the applet, a second window within the user interface, the second window including a list of product lots based on the product sample information retrieved by the virtual business component, a selectable best lots interface element and a selectable update data interface element, the list of product lots including a product name, a product lot number, an expiration date and a field for entering a quantity of each product sample given to the customer;

in response to receiving a selection of the best lots interface element:
filtering, using the virtual business component, the list of product lots based on expiration date to create a list of best product lots, and
displaying, using the applet, the list of best product lots in the second window of the user interface; and

in response to receiving a selection of the update data interface element:
capturing, using the virtual business component, a quantity of each product sample given to the customer from the list of best product lots,
creating, using the virtual business component, a product sample record for each product sample given to the customer, the product sample record including a product name, a product lot number and a quantity, and
recording, using the virtual business component, the product sample records in the database.

2. The method of claim 1, wherein a plurality of product sample records are recorded at substantially the same time.

3. The method of claim 1, wherein the product samples are pharmaceutical samples.

4. The method of claim 3, wherein the product sample record includes a name of the customer to which the product sample was given.

5. The method of claim 4, wherein the customer is a physician.

6. The method of claim 5, further comprising acquiring a signature from the physician verifying that he received one or more product samples.

7. The method of claim 1, wherein the digital content includes a plurality of presentation slides, and the at least one metric includes at least one of a time spent on each presentation slide or a sequence of slide presentation.

8. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to record details of product samples given to a customer by:
displaying, using an applet, a first window within a user interface, the first window including a customer information section, a presentation section and a samples dropped section including a selectable add samples interface element;
during a presentation of digital content to an audience, automatically collecting analytical data including at least one metric that measures a feature of the presentation during the presentation, and, after the presentation of digital content is completed, writing the analytical data to a database;
in response to receiving a selection of the add samples interface element:
retrieving, using a virtual business component, product sample information for available product samples from a plurality of business components, the product sample information including a product name, a product lot number and an expiration date, each business component defining a logical entity that associates columns from a plurality of tables stored within the database that contain at least a portion of the product sample information into a single structure, the virtual business component including a code-based entity that communicates with the plurality of business components and the applet, and
displaying, using the applet, a second window within the user interface, the second window including a list of product lots based on the product sample information retrieved by the virtual business component, a selectable best lots interface element and a selectable update data interface element, the list of product lots including a product name, a product lot number, an expiration date and a field for entering a quantity of each product sample given to the customer;

in response to receiving a selection of the best lots interface element:
filtering, using the virtual business component, the list of product lots based on expiration date to create a list of best product lots, and
displaying, using the applet, the list of best product lots in the second window of the user interface; and

in response to receiving a selection of the update data interface element:
capturing, using the virtual business component, a quantity of each product sample given to the customer from the list of best product lots,
creating, using the virtual business component, a product sample record for each product sample given to the customer, the product sample record including a product name, a product lot number and a quantity, and
recording, using the virtual business component, the product sample records in the database.

9. The computer-readable medium of claim 8, wherein a plurality of product sample records are recorded at substantially the same time.

10. The computer-readable medium of claim 8, wherein the product samples are pharmaceutical samples.

11. The computer-readable medium of claim 10, wherein the product sample record includes a name of the customer to which the product sample was given.

12. The computer-readable medium of claim 11, wherein the customer is a physician.

13. The computer-readable medium of claim 12, further comprising acquiring a signature from the physician verifying that he received one or more product samples.

14. The computer-readable medium of claim 8, wherein the digital content includes a plurality of presentation slides, and the at least one metric includes at least one of a time spent on each presentation slide or a sequence of slide presentation.

15. A system for recording details of product samples given to a customer, comprising:
a display;
a memory; and
a processor, coupled to the memory and the display, configured to:
display, using an applet, a first window within a user interface, the first window including a customer information section, a presentation section and a samples dropped section including a selectable add samples interface element;
during a presentation of digital content to an audience, automatically collect analytical data including at least one metric that measures a feature of the presentation during the presentation, and, after the presentation of digital content is completed, write the analytical data to a database;
in response to receiving a selection of the add samples interface element:
retrieve, using a virtual business component, product sample information for available product samples from a plurality of business components, the product sample information including a product name, a product lot number and an expiration date, each business component defining a logical entity that associates columns from a plurality of tables stored within the database that contain at least a portion of the product sample information into a single structure, the virtual business component including a code-based entity that communicates with the plurality of business components and the applet, and
display, using the applet, a second window within the user interface, the second window including a list of product lots based on the product sample information retrieved by the virtual business component, a selectable best lots interface element and a selectable update data interface element, the list of product lots including a product name, a product lot number, an expiration date and a field for entering a quantity of each product sample given to the customer;

in response to receiving a selection of the best lots interface element:
filter, using the virtual business component, the list of product lots based on expiration date to create a list of best product lots, and
display, using the applet, the list of best product lots in the second window of the user interface; and

in response to receiving a selection of the update data interface element:
capture, using the virtual business component, a quantity of each product sample given to the customer from the list of best product lots,
create, using the virtual business component, a product sample record for each product sample given to the customer, the product sample record including a product name, a product lot number and a quantity, and
record, using the virtual business component, the product sample records in the database.

16. The system of claim 15, wherein the product samples are pharmaceutical samples.

17. The system of claim 15, wherein a plurality of product sample records are recorded at substantially the same time.

18. The system of claim 16, wherein the product sample record includes a name of the customer to which the product sample was given.

19. The system of claim 18, wherein the customer is a physician.

20. The system of claim 19, further comprising acquiring a signature from the physician verifying that he received one or more product samples.