Title of Invention


Abstract System and methods for managing the development and manufacturing process of a pharmaceutical are disclosed. The method comprises capturing and recording the development and manufacturing history of the pharmaceutical drug in order to generate a product history. The product history is stored on a computer ind is searchable in multiple data dimensions in order to easily retrieve nformation. The system automatically provides compliance management procedures in order to comply with regulatory standards for the pharmaceutical ndustry.
This application claims priority to United States Patent Application 11/022,316, filed December 23,2004, which is hereby incorporated by reference in its entirety. This application is also related to United States Provisional patent application number 60/263,177 filed Januaiy 23,2001, which is hereby incorporated herein by reference in its entirety.
This invention relates to management of regulated industries. In particular, the present invention facilitates regulatory, tax compliance, inventory and e-warehouse management of heavily regulated process industries.
Heavily regulated and process oriented industries such as: oil & gas, food (e.g., agriculture products, processed food, meat/poultry etc.), beverages (e.g., consumable liquids such as spirits, wine, beer, juice, etc.), chemicals, consumer products (e.g.f cosmetics and skin care), and pharmaceutical drugs {e.g.9 chemical development, also known as drug substance), pharmaceutical development (also known as drug product), biopharmaceuticals (drug substance and drug product as well as generics} share a number of common characteristics. These kinds of heavily regulated process industries are extensively regulated by local, state, federal and international agencies (e.g., Food and Drug Administration (FDA), Trade and Tax Bureau (TTB part of Treasury) to ensure that safe and efficacious products are consumed by the public and that each of the products presented by companies in these aforementioned industries are not fraudulent or harmful (e.g.t that the product integrity is maintained for the life of the product). The product integrity is proven by comparing product records at one point in time against product history records of another point in time during the development, manufacturing and commercial sale of these products. This is challenging for these kinds of heavily regulated process industries because, by nature, they tend to produce products that are dynamically changing or very complex. Thus, the information associated with these product history records becomes more difficult to manage. For example, these

industries may require highly variable raw materials such as proteins secreted from mammalian cells or grape juice extracted from agriculture vine-grapes.
Another major requirement for "heavily regulated industries" is the ability of a company to demonstrate that ifs production processes from development through commercial manufacturing are fully traceable, meaning that a third party (such as an Agency, e.g.9 FDA) could come in and demand to see product history from one point in time to another. For instance, a company must be able to prove that "what it is producing is indeed being produced, in the manner it claims to be being produced in." These onsite inspections, audits, and information requests often focus on a particular process for a particular set of materials from one point in time to another. Failure to provide immutable proof of product history traceability has subjected companies to hefty fines as well as shutdowns.
In addition for failure to provide proof of the process over time, these industries are usually subject to large fines-or delays in production/ shutdowns for non-compliance of any part of the submission application, audits, labels, waste, emissions, safety, etc. Payment of appropriate taxes is an ongoing challenge as the payments are determined by the "amount produced" and "type" of product produced, all of which require extensive record keeping along many dimensions over time.
These industries are also "heavily process oriented" meaning that products are produced in a manner that consists of extensive combinations of steps such as complex blends, formulations and recipes. Another drawback is that in some of these industries (e.g., the pharmaceutical and beverage industries) extensive record keeping is required to create the product history "paper trail." Typically, the kind of record keeping required by these industries is a complete history of the product's lifecycle, often spanning from the raw materials to the final product and inclusive of all intermediate products across the supply chain. The type of information required in the record keeping of product history typically spans the following dimensions: personnel and their training requirements, process, materials, equipment, standards, and facility/environment information which collectively form the comprehensive information for the specified record.
These industries may also have complex order tracking for work personnel, equipment materials, processes (e.g., campaign planning and execution, work order generation, etc.). For instance, tracking the state of materials from raw material to intermediates, to final products etc. or tracking the equipment history (calibration, cleaning,

usage, etc.) requires a number of different kinds/pieces of information making it a complex process. Not only does the information in these areas have to be recorded and tracked, but it must be compared to standards set both internally within a company and externally by regulating authorities. Furthermore, it must be compared to itself at differing points in time (e.g., Commercial Manufacturing takes place in Year 9 and the equipment set up, calibration, cleaning, usage must be recorded, tracked and compared against the equipment history in Year 8, which was submitted to the FDA and is what the company's license to commercially manufacture is based upon.).
These types of regulated process industries are further challenged in that a number of different indirect/ input goods are produced along the path of creating the final product and all of these indirect/input/intermediate goods have be managed in a similar manner of recording information/tracking/comparingto different points in time as described above. Visibility is essential to achieving this comprehensive record keeping and management of information in these regulated process industries, yet at present these industries have low visibility at all levels of process input and product history across the supply chain.
Currently there are no broad web-based solutions that fully meet these kinds of complex needs such as comprehensive product history record keeping in process management of heavily regulated industries. In fact, many of the record keeping functions and filing processes for federal and state regulations still occur through outdated manual time-consuming means.
The present invention describes a system and a method for enabling information management across the supply chain fiom raw material to final product for regulated process industries. The system and method enables a company to manage extensive record keeping for heavily regulated products where the key components are often dynamically changing and are very complex to manage. The embodiments facilitate regulatory and tax database with automated compliance and tax reporting. For example, regulatory management and automated compliance are achieved by the system enabling a company to automatically demonstrate compliance with federal regulatory agency submission requirements(i.e., FDA Development History, Chemistry Manufacturing and Controls (CMC) and Pharmaceutical Development (Drug Product) submission requirements for license to manufacture drugs in

the U.S.); traceability of any dimension of drug development, and retrieval of key information necessary to meet audits, inspections, and product integrity inquisitions. Because the system and method is integrated with smart inventory and e-warehouse management solutions, the essential product history information from "candidate selection to commercial manufacturing" is automatically captured for comparisons, correlations, and verifications enabling the company to demonstrate compliance to the federal agency. For example, the full lifecycle management of raw materials, expendables and intermediates can be demonstrated. This information associated with raw materials and intermediates at each stage is cleverly and smartly leveraged into the record keeping needs of the company to demonstrate full product history of the lifecycle. The embodiments are applicable to heavily regulated industries such as, for example, beverages, food, oil, pharmaceutical drugs, and chemicals.
The present invention allows regulatory compliance integration with complete, real time web-based supply chain infrastructure to manage all essential product history from raw material stage to final product. The system has enough customization for each industry allowing the domain, regulatory and tax specificities to be appropriately addressed. Complete Product history includes key information along the essential dimensions of product development and manufacturing: People, Process, Materials, Equipment, Environment/Facility and Standards (regulatory and internal). The present invention allows for management of regulatory (standards) with automated compliance, tax reporting and in-process inventory management of development and production of pharmaceuticals.
The present invention provides industry-specific solutions to regulatory and tax compliance issues, including integrated industry-specific supply chain applications to assist in compliance. The present invention is designed to operate alongside existing information systems (such as ERP, MES, LIMS EDMS, etc.) to provide complimentary applications.
The system enables users to manage regulatory filings (such as the IND, NDA, BLA and ANDA), tax compliance, and inventory (raw material, excipients, additives, intermediates, final products both quarantined and released). This aspect reduces supply chain inefficiencies with a real-time, web-based, enterprise-wide supply chain infrastructure. A substantial reduction of the current cumbersome paper trail is achieved by the system and affords users a more accurate and timely compliance, thus avoiding violations and substantial fines/penalties.

The system may provide supply chain solutions to increase visibility throughout a regulated industry's operations. This aspect enables greater information management through secure access to real time information; and advanced planning. This aspect provides users worry-free management while reducing costs, inventory levels, and decreasing working capital needs. The system can be wireless ready, enabling the user to more efficiently and effectively manage critical data.
The system may provide clear comprehensive product history information, enabling the company to demonstrate product integrity and to show product traceability from one point in time to another along multiple dimensions of: people, process, materials, equipment, standards and environment/facility.
Through an extremely scalable platform, the system can enable real time web-based regulatory and tax compliance based supply chain infrastructure while also providing regulatory and tax compliance, inventory management, content management and supplier catalog management modules. Procurement, shipping management, demand and forecasting tools and regulatory e-filings complement the supply chain solutions.
The system can interface with many third party enterprise resource, planning applications and existing legacy systems. The system can be java-based, using open API systems, and can be highly scalable, flexible, robust, modular and portable (PDA and wireless capable). The system can use thin client architecture requiring only a web browser and implemented without requiring desktop installation. The system can support Secure Sockets Layer (SSL) to protect the transmission of content between the browser and the server. In addition, user identification and password protections may be embedded, as well as controls based upon user roles. .
The system of the present invention through the use of a core platform and modules can provide extensive management of record keeping across multiple dimensions over time. For instance, material management functionality for the pharmaceutical manufacturing industry is provided by the system and method. Specifically, die chain of custody for drug substances can be recorded such as the starting materials, reagents, solvents, intermediates, bulk and final API. The system manages all related information for each material type (COArs, Specs, etc.). Material traceability from loading dock to "tablet" is provided by knowing with certainty the who, what, where, when and how of all materials. Furthermore, it is possible to create and locate materials. Requests, orders, inventory, dispense, dispose and

transfer of materials are known. The chain of documentation is also recorded through the use of status, signoff, alerts, authentication, e-signatures, and hazard profiles. Similar functionality exists for all dimensions of pharmaceutical development over time (as mentioned above and further explained below).
The quality of the product can be managed by the system. The material qualification ID and use tests are recorded, as well as raw material specifications. Materials can be sorted and tracked on any characteristic of the material by the system (ex. evaluation date, purity).
The system can also manage the equipment used in the manufacturing process. Reservation for equipment use, as well as equipment characteristics, usage and availability can be viewed with the system. Furthermore, equipment usage, loaning borrowing, and decommission can be tracked. The maintenance and cleaning of equipment can also be tracked with the system.
Those skilled in the art will appreciate these and other advantages and benefits of various embodiments of the invention upon reading the following detailed description of a preferred embodiment with reference to the below-listed drawings.
FIG. 1 is a block diagram of a system according to a first embodiment;
FIG. 2 is a diagram illustrating operation of an embodiment of a supply-side chain management application;
FIG. 3 is a block diagram illustrating hardware components for implementing a web based supply-side chain management application;
FIG. 4 illustrates the dimensions of data to be collected and analyzed;
FIG. 5 illustrates a platform overview for the core module of the system;
FIG. 6 is a typical structure of a winery in accordance with the prior art;

FIG. 7 is a diagrammatic representation of an item master in accordance with the present invention; and
FIG. 8 illustrates the process flow of a winery and the various records generated in accordance with the prior art
FIG. 1 is a block diagram of a product conformance management system 5 having an inventory management module 100, a regulation module 200, a content management module 300, a catalog management module 400, a process module SOO, a supplier module 600, and a core module 1000. It will be recognized by those of ordinary skill in the art that the number and types of modules available may change on the type of industry. For example, for the pharmaceutical industry, there may also be a material management module, an equipment management module, a standards module, a method execution module, and a traceability module. In this regard, a solution for a specific industry may contain many suites which are a collection of modules. Each of the modules is independently deployable on the platform. By having the multiple modules, the solution can be easily deployed and expanded at customer sites in a phased manner.
The inventory management module 100 includes domain knowledge of the pharmaceutical industry to specifically address the needs of that industry. Specifically, the inventory management module records the movement of raw and starting materials as they move through the production process. In addition, the inventory management module 100 provides visibility into a company's inventory of material (raw, intermediate, bulk and final product) at any location at the subsidiary or corporate level, as well as tracks the inventory through the production process. The inventory management module 100 implements inventory threshold levels for reorder points and compliance requirements and triggers a notification via the system, email, pager or WAP. The inventory management module 100 also provides the ability for both the manufacturer and their supplier to view internal inventory levels. The inventory management module 100 provides for receipt, issue and return of goods, movement of goods, and verification of goods locations. Accordingly, the inventory management module can track goods through the development process into and through the production cycle.

The regulation module 200 addresses the need for compliance with complex and varied federal and state regulations for pharmaceutical production. The regulation module 200 provides current regulatory and tax compliance information affecting the pharmaceutical industry. This regulatory and tax database will also include automated compliance and tax reporting. The regulation module 200 will be linked with the Federal Drug Administration (FDA), state agencies, and other on-line sources of legal information to create this database. The key components of the regulation module 200 are centered around the submission process of investigational and new drug applications for chemical, biological and generic entities. The module 200 combined with the platform (core module 1000) enables an electronic product history record (ePHR) to be created for both development and manufacturing. At present, this product history record can be specific in the Pharmaceutical Industry to the Development environment (called an electronic development record (eDR)) or to commercial manufacturing (called an electronic Product History Record (ePHR)).
The ePHR and eDR are both created automatically from the extensive record keeping functions in the system which have key pieces of information relating to the various dimensions of development over time. The dimensions of development include: people, process, materials, equipment, standards, environment/facility. The ePHR and eDR provide context around the chemical or biological structure enabling downstream and upstream development and manufacturing colleagues to capture learnings and compare product histories between different compounds, stages, conditions, etc. Once a new chemical or biological structure is identified ("candidate selection") the system 5 captures key information along the various dimensions automatically creating the eDR and ePHR.
The ePHR and eDR enable companies to meet pre-approval inspections and post approval inspections conducted by federal agencies more effectively; to gain approvals for drug applications more readily; and to produce products at a higher level of quality, with greater visibility, and in a more efficient manner. Furthermore, the eDR and ePHR enable companies to demonstrate appropriate and necessary information to pass onsite and remote audits and to provide faster and more efficient means for submitting post approval changes. The ePHR and eDR also provide fester and better resolution of "out of specification incidence" (OOS) in both Development and Manufacturing of Pharmaceutical Drugs. Ultimately, overtime, companies can expect a greater level of "process understanding" as the ePHR and eDR enable complex information to be aggregated in one place with context and

dimensions of development preserved overtime and over the life of the product. Any authorized user has the ability to search, retrieve, analyze and correlate any component of the ePHR and/or eDR to facilitate greater process understanding.
The content management module 300 is a relational database of industry-specific, company-specific, activity specific or supplier-specific information such as documents, inventory alerts, specification sheets, Certificates of Analysis (COA), Methods, Standards (both company specific or internal as well as external/Agency specific).
Suppliers that sell products typically have some sort of catalog, whether it be online or in hardcopy. The catalog management module 400 provides the manufacturer with a consolidated view of similar products across a number of suppliers and provides the company with a list of ingredients, cost associated with each product, procurement related information to each product and quarantine/release information.
The process module 500 captures data from various stages of the pharmaceutical production. The captured data can include activity records or lab analyses records. The records allow traceability for audit and regulatory compliance of all stages of material (from raw material to intermediates to bulk product to final product). Process module 500 also enables extensive record keeping through campaign planning and execution, tying all process steps, people involved, equipment used, materials used/stage, standards followed, lab condition and facility location information. The culmination of this process information enables the physical and chemical attributes of the new "heavily regulated11 compound being developed to be managed more efficiently. By linking the chemical or biological structure to the process steps in the aforementioned manner, the system 5 is able to more effectively manage the regulated process industry (such as pharmaceuticals). Moreover, the same methods applied to chemical entities are also applicable to biopharmaceutical entities and generic products.
The supplier module 600 provides the company/user the ability to manage suppliers and the associated catalog of products purchased by the company as well as the costs associated with the transaction. For example procurement of raw materials, excipients, or starting materials in the Pharmaceutical industry occurs at multiple stages over time. Material procurement needs change, as the product being developed progresses from Candidate Selection to Commercial Manufacturing (e.g., purity levels of required starting materials at Candidate Selection time period are much higher than starting materials used in Commercial

manufacturing time periods). Hence, the information associated with each and every starting material must be captured along the way or "in process" and this information is typically provided by the supplier in the form of a "Certificate of Analysis". Because these kinds of information/record keeping must be comparable from one time period to another, companies must record and track this information. Currently tracking is done by manual or hand processes and is very cumbersome. Supplier module 600 along with core module 1000 enables the company to have an automated system for tracking and recording this type of information.
Core module 1000 (also referred to as the "Product Conformance Management (PCM) Platform) is the base module for the system 5. The core module 1000 implements the functionalities of the system 5 and is a common platform that can be configured by the customer for various business and regulatory processes in the company. The core module 1000 manages the library of all information regarding material, equipment, process, people, standards and environment related to a customer's regulated process. The core module 1000 dynamically defines all attributes according to the customer's requirements. The core module 1000 provides valid values (either ranges or enumerations) and defines data types and value generation algorithms (if any). The core module 1000 can also define units of measure and support conversion between different units.
Furthermore, core module 1000 manages the states of all information objects, workflow for approval and "state" changes (e.g., management of the dynamic and highly variable changes). Sites and locations, as well as organizational hierarchy is managed by the core module 1000. The core module 1000 manages users, user groups and user functions and provides the infrastructure for setting up alerts and delivering notifications to the users subscribed to the alerts. The core module 1000 moves data between software systems in a validated mode and ensures compliance with government regulations (e.g., 21 C.F.R. Part 11). Furthermore, versioning support is provided in the core module 1000. The core module 1000 also creates an audit trail of changes to the data captured in the system, attachments to any information object in the system and any number of notes attached to any information object in the system.
In order to maintain the security of the system 5, the core module 1000 provides access through a login which is a combination of user identification and a password. After three unsuccessful attempts, the user account should be disabled and an administrator

notified. Only an administrator should have the ability to unlock the account. Additionally, details about the user name, title, email address, telephone number, effective dates of usage of the system and the physical location of the user are maintained by the core module 1000. The login service also identifies any of the applications of the system 5 that are authorized for the user to access and the role in which the access is permitted.
Core module 1000 also provides external authentication support by which users can be authenticated by an external system. The externals service is called with the user's identification and password. The core module 1000 can handle successful and unsuccessful attempts similar to the authentication process within the system 5. When external authentication is used, all account and password management should be handled by the external service.
System 5 can model various roles for access. These roles would not have to map to functional roles of the individual within the enterprise. The roles defined in the system are primarily used to control the access to various features of the system. Roles can be associated with an application or made available to all or a combination of applications. Roles may be location specific or enterprise wide. A user has the ability to have more than one role in the system. The role identifies the functionality of the system the role can access (e.g., menu items, screens, etc.). Furthermore, the role identifies actions the role can execute on the functionality it can access (e.g., read, write, update, delete, list, etc.). The role identifies the specific fields/attributes that are accessible.
In order to authenticate the input of records into the system 5, core module 1000 supports the use of a generic method of collecting user signatures electronically. This service will be invoked by the applications when ever the requirement for an electronic signature arises. The user will be prompted for the user's ID and password which will be verified for accuracy. A reusable user interface component is available for all applications to ensure easy and consistent implementation of electronic signatures. This reusable component accepts the user's ID as a parameter and pre-fiils that information when the user interface is presented to the user. This is an aid when a continuous set of signatures is needed to be accepted. Each signature is stored against the activity or information being certified/signed off by the user.
Alerts are very important to the system 5. Alerts will be used for a large number of activities and pro-active notifications. Therefore, the alerts are highly scalable and generic.

Customers can associate alerts to objects identified by an application at any time without having to shutdown the system.
Each application identifies objects that are expected to have alerts associated with them (e.g., work orders, material receipt, equipment schedule, etc.) and the various attributes of the object whose change of value would result in an alert. It is possible to define the type of comparison that is performed against the attribute to generate the alert. All common types of comparison-equality, inequality, greater than, lesser than, range or list, can be supported.
Types of actions which trigger alerts are user actions which change an object (create, modify, delete) and time based triggers (check overdue activities). Optionally, it is possible to attach a custom code to be executed when the alert condition is reached. This will help embed computational logic, if required for generating notifications.
In a deployed system, an administrator is able to publish the alerts that are available to the users of the system 5. This is done by identifying the roles and/or users who are allowed to subscribe to a given alert. Publication is achieved through the generic system wide publish/subscribe mechanism.
When a user attempts to subscribe to alerts, only those published to the user and the user's role should be listed. Users can then choose the actual alert that they want to subscribe to and provide the information required to complete die subscription. Through a user interface, the end user is able to define the exact conditions when they want to be notified. The end user has the ability to select the object and its attributes and assign the values which would trigger the notification. Depending on the user's object level permissions, the user can specify notification criteria only for attributes the user has read access.
The user has the ability to select the method of delivery of the notification. Notifications are delivered to the user's personal alert list in the system 5. Additionally, the user can choose to have the alert delivered by email. It will also be recognized that alert notifications can be delivered to pagers and cell phones.
Ensuring that the user is properly alerted is a key responsibility of the system 5 and hence the core module 1000. An alerts pane on each of the pages of the system 5 is generated by the core module 1000. The pane identifies the alert and some key attributes of the notification. When the user is active in any application of the system 5, the alerts pane is constantly updated with the latest notifications that have not been acknowledged by the user.

All notifications to the user are viewable through an interface dedicated to alert notifications. The user is able to view all of the relevant details of the notification through this interface and also manage the notifications. The user is able to acknowledge having seen the notification so that it is no longer shown in the alerts pane and/or delete the notification.
Applications of the system 5 need to co-exist with multiple commercial enterprise applications and niche products, as well as with many custom in-house solutions. For successful deployments of the applications and to achieve being a repository of electronic product development, the core module 1000 should be capable of easily exchanging data with other systems. To achieve this, the core module 1000 provides an integration framework that is used to configure or build the integrations. The framework complies with the following requirements:
Middleware Independence. No assumptions should be made based on vendor specific middleware products. Deployment engineers should be able to configure the framework to communicate with any external system or middleware (e.g., TIBCO, WebMethods, SeeBeyond, Vitria, etc) which may be specified by the customer. Only industry standards like web services and JMS should be supported.
XML Data Format. Data moving between the systems should be encoded in XML to conform to industry trends. Existing industry standard specifications like BatchML from World Batch Forum can be supported.
Integration Event Based Triggers. The framework can move data in real time, based on data modification triggers as well as through periodic batch mode updates. The integration framework can hook into the generic system wide alert notification framework to achieve this.
Back-end (application level) Integration Support. Based on event triggers, the framework should be able to post the data to a web service, URL (http port), JMS server, or through simple export to sequentially labeled files. The integration framework should be able to accept incoming data through a web service or a JMS server.
Bi-directional Data Exchange. System 5 can publish data out from the system as well as ability to insert and modify data within the system.
Identification of System of Record. System 5 has the ability to define a list of applications and identify one of the systems as the owner of record (master) for each data item.

Organizational Mapping. Generally the name of the organizational unit will be required to provide the context of the data being exchanged. The name given to a particular organization unit may differ between different external systems and between those of the system 5. The core module 1000 provides a means of mapping these names. This mapping should not be assumed to be a simple 11 mapping.
Attribute Mapping. One data item may be identified by two different names in two different systems. The framework should provide a generic name mapping functionality (for example where integrations are deployed without middleware). Mappings should be configurable on-site both during and after deployment. It should be possible to associate multiple groups of mappings with a particular external system, using mapping set identifiers).
UOMMapping. For parametric data it is common that the unit of measure used in the source system for a particular data item is different than the unit of measure that the target system is expecting. The integration framework should include a mechanism to handle this. The mapping should be configurable on-site both during and after deployment. It should be possible to associate multiple groups of mappings with a particular external system using mapping set identifiers).
Backward Compatibility. The framework defines a published open API. Minor revision version changes to the API should not require changes to integrations built using the API. Where there is a version incompatibility, the version mismatch should be detected and reported.
Performance and Scalability. Transactions need to be processed in direct proportion to the number of transactions processed by the system 5. Theoretically, an edit of any object in the system could trigger a data movement through the integration framework. The end-to-end delay and throughput overhead imposed on transactions by the integration framework should not be a major factor in the overall end-to-end delay or throughput experienced by the actual user.
Logging. Data exchange events are logged with errors for debug by the framework. Optionally, debug logs are available to help track data movement. All logs are at user specified locations and should be self-maintaining When a log reaches a preset size it should be closed and renamed as an archive with logging continuing to an new file.
Administration Support. The framework provides a user interface for the

administrator to identify all active configured integrations (e.g., objects for which messages are being published or received) and monitor their health. The administrator can configure new integrations, enable and disable specific integrations, and inspect (debug, event, error) logs from this interface.
System Configurability. Data to be exchanged, data mapping and direction of the exchange are configurable at the time of deployment based on the needs of the customer. Configuration can be limited to certain entries in configuration files and some graphical user interface driven data entry.
A goal of the system S is to enable information sharing. Though a database based system makes this easy to achieve, there are many instances where different pieces of information have to be specifically delivered to a user or an external interface. To achieve this, the system 5 provides a generic mechanism to publish and subscribe information. The mechanism has the ability to register various objects in the application that may be a candidate for publication. The objects may be alerts, score cards, reports, data packages, etc. Hie rules for publishing are based on the type of object being published. The system can support three types of publication:
- System Defined—Pre-configured in the system and cannot be removed;
- Administrator Defined-managed only by the administrator, and
- End User Defined—managed by die end user.
At the time of publication, it should be possible to identify the users, user groups and roles that are authorized to subscribe to the publication. All users in the system can look up the various alerts that have been published to them and decide which ones they want to subscribe to. It may be possible for the user to provide additional information to identify objects of their interest while subscribing to a publication. For example, while subscribing to an alert, the user can provide the condition under which a notification should be generated.
Workflow is an important and critical service provided by system 5. In any business, processes, roles and functions change constantly. It is possible to associate states and routing information to any object in the system and use the work flow mechanism to ensure that the object gets routed accordingly. The system 5 is able to support a default workflow for an object as well as an operating mode specific workflow.

The application programmer can register objects types in the application that would go through a workflow. The application can trigger a workflow based on its internal logic. The workflow service determines the current state of the object and propagates it through the workflow based on the state. The state sequence is defined and controlled by the user in the transaction layer of the system 5.
Workflow enables routing serially from one user to the next or parallel to multiple users from one user. Furthermore, workflow enables synchronization after parallel routing or routing to a user or user role. Optional recipients of the object whose actions will not alter the state of the object are also routed. Workflow also enables routing to backup approvers if no response is received from the primary approver within a user defined time limit. End users should be able to see the workflow an object goes through and also the current position of the object in the workflow.
Whenever an application submits an object for routing, the workflow manager determines the current state and generates an alert for the next user/users in the chain. The user can get to the actual object directly from a hyperlink on the alert notification, by locating the object from its corresponding 'Locate" page or from the list of pending activities in user's home page or workspace.
Once the user gets the object, the user is presented the list of actions that the user can take on the object. These actions will be determined by the state transition sequence defined for the object.
Many industries are highly document driven. Quite often certain pieces of information of interest to users are available only in a document. It is also difficult to predict which objects in the system will have attachments. This requires a generic framework through which a user can attach a document to any object in the system that the user has permission to create. Users should be able to identify the file on the local system which is to be uploaded to a controlled shared area on the server. All users with permission to view the primary object would also be allowed to view the attachment. There should be no limit on the number of attachments that an object may have. The local system can have the viewer capable of displaying the attachment.
An application programmer should be able to register object types for life cycle management. This registration should ensure that all objects of that type are committed to an audit trail. In future releases of the platform, it should be possible to reconstruct the object

through the user interface. It should be possible to determine at one place in the system all the object types that are being collected in an audit trail.
Each and every object in the system 5 has a date and time stamp. The time stamp is accurate to the nearest second. Irrespective of the physical location of the user, the stamps should be in a single time zone for all objects in the system. There should not be any ambiguity about the sequence of events.
The data model layer of the core module 1000 provides extreme flexibility to die developers of applications for the system 5 and to end users who need to define key objects in the system. The data model layer provides the framework for building various dimensions of the system that need extensibility even after deployment. The system 5 provides the ability to define new object sets and build a classification hierarchy under them. Application programmers may use the generic access functionality to manipulate the objects or define their own specific objects to implement specialized business logic. Reusable user interface components are available to invoke the functionality provided in this layer within applications.
It is possible to add a new object category at any place in the hierarchy. Adding a new category would require the user to identify its location in the hierarchy and give it a unique identification. A category's name should be unique within its hierarchy.
Once a category has been added to the hierarchy, it is possible to define the properties of the category. This would require the user to provide the name for the property, the data type and size, identify whether the value in the property should be unique, define default values for the property, and define valid enumerated values or value ranges. Typically, a category should inherit the properties of its ancestors.
Though having information about objects in each dimension in the system is helpful, being able to create relationships between dimensions is a critical requirement The system S is the repository for electronic development records and tracking relationships between the various dimensions is a major focus. Application programmers can register relationships between objects and the properties of the relationship. This concept can be extended to ensure that additional relationships can be created as a part of the deployment task.
The behavior of core module 1000 and die applications built on it is dependent on the operating modes configured on the system. The operating mode is a key factor determining the workflow associated with any object, the states an object passes through, and rules for

verification of the data. The core module 1000 defines any number of operating modes for the system 5. Applications will use the operating mode to determme their behavior-Default and valid values for attributes may be defined in the data model layer for the various dimensions. However, these values are subject to change based on operating modes. Additionally, the verification of data pertaining to the transactions themselves should be dependent on the operating mode. This requires the platform to provide a service for defining the verification criteria dependent of the operating mode. If such criteria is not provided at this layer, the system should default to the criteria provided in the data model layer.
For any object that needs to go through a workflow, it is possible to define state transition sequences. State sequences may vary by operating mode and/or location and it is possible to alter the state sequence. When such changes occur, the state sequence should be versioned so that it is possible to determine the exact state sequence an object passed through.
It is hard to predict all the reports required and computations that need to be done on large data sets like electronic development records. The core module 1000 has "Locate" functions in the system 5 to provide various easy methods of getting to this complex data. Since Excel is the tool of choice for many industries, users have the ability to export the data returned from these searches to Excel.
Each application within the system 5 should be able to define its reports and associate them with a role. These reports are available to all the users assigned to the role. The reports may typically be defined using an external report writer and may be served by the corresponding report generator. Need for new reports rise regularly at most companies. So, it should be possible to continuously add new reports to the system and associate them with the roles defined in the system. This should ensure that the user's choice of reports is automatically updated when the user logs into the system.
Users should be able to provide search criteria for the report being requested. This will ensure that the user gets a report only for the subset they are interested in. Applications of the system 5 can pre-define data packages of interest to the application. These packages may be a collection of predefined reports and can include score cards, checklists and search criteria within the system. Once the package is defined, it should be possible to publish it and subscribe to it using the generic publish/subscribe service of the platform.
Core module 1000 provides a generic framework for defining dashboards. These dashboards should provide aggregate visibility based on a type of object in the system.

business processes and form templates and implements best practices. Furthermore, the transaction layer 502 provides a single user interface, lot traceability throughout production and in-progress visibility.
Data model layer 504 includes correlation modeling 524 and dimension modeling 400. The data model layer 504 only needs to be configured once and includes master libraries. The data model layer 504 is scalable and extendable and provides a central repository of related content In this regard, the data model layer 504 is rapidly deployed and promotes reuse.
The shared services layer 506 provides security, data management, publish and subscribe services, search services and framework integration.
FIG. 2 is a diagram conceptually illustrating operation of an embodiment consistent with the present invention to provide infrastructure that will enable supply chain solutions for regulated industries. The supply chain solution 10 is used with a website 12, which represents one or more applications through which users can engage in worry-free management of their inventory, production, etc. A user with system 22 may interact with website 12 online (or otherwise) using a web browser 26 communicating through a network connection such as the Internet 16 or other type of network in order to obtain information about the status of their production for example.
FIG. 3 is a block diagram illustrating exemplary hardware components for implementing system 10 for enabling supply chain solutions for regulated industries. System 30 includes a user system 37 having a user machine 38 connected with a network 60 such as the Internet, providing a network connection for participating in IP ordering. Other user systems, such as user system 56 may also be connected with network 60 for obtaining production status. User system 56, and other user systems, may include the same components as user system 37.
Users at user systems 37 and 56 interact with a server 76 to obtain production status information. Server 76 provides and maintains the web site 12 for providing a network connection to the application(s) through which users can obtain and share information. System 30 may also include the ability to access one or more web site servers 58 in order to obtain content from the World Wide Web, if desired. Only two user systems are shown for illustrative purposes, however, system 30 may include many user machines and may be scalable to add or delete user machines to or from the network.

User machine 38 illustrates typical components of a user machine. User machine 38 typically includes a memory 40, a secondary storage device 50, a processor 52, an input device 54, a display device 48, and an output device 46. Memory 40 may include random access memory (RAM) or similar types of memory, and it may store one or more applications 44, and a web browser 42, for execution by processor 52. Secondary storage device 50 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage. Processor 52 may execute applications or programs stored in memory 40 or secondary storage 50, or received from the Internet or other network 60.
Input device 54 may include any device for entering information into machine 38, such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder. Display device 48 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display. Output device 46 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
Web browser 42 is used to access the application(s) through the web site 12 and display various web pages through which the user can collaborate information, and examples of those web pages are described below. Examples of web browsers include the Netscape Navigator program and the Microsoft Internet Explorer program. Any web browser, co-browser, or other application capable of retrieving content from a network and displaying pages or screens may be used.
Examples of user machines for interacting with the web site 12 include personal computers, laptop computers, notebook computers, palm top computers, network computers, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
Server 76 typically includes a memory 62, a secondary storage device 74, a processor 72, an input device 70, a display device 68, and an output device 66. Memory 62 may include RAM or similar types of memory, and it may store one or more applications 64 for execution by processor 72. Secondary storage device 74 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage. Processor 72 executes the application(s), which is stored in memory 62 or secondary storage 74, or received from the Internet or other network 60. Input device 70 may include any device for entering

information into server 76, such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder. Display device 68 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display. Output device 66 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
Also, processor 72 may execute one or more software applications 64 in order to provide the functions described in this specification, and the processing may be implemented in software, such as software modules, for execution by computers or other machines. The processing may provide and support web pages described in this specification and otherwise for display on display devices associated with the users' computers. The term "screen" refers to any visual element or combinations of visual elements for displaying information or forms; examples include, but are not limited to, user interfaces on a display device or information displayed in web pages or in windows on a display device. The screens may be fonnatted, for example, as web pages in Hypertext Markup Language (HTML), Extensible Markup Language (XML) or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the system.
The screens include various sections, as explained below, to provide information or to receive information or commands. The term "section with respect to screens refers to a particular portion of a screen, possibly including the entire screen. Sections are selected, for example, to enter information or commands or to retrieve information or access other screens. The selection may occur, for example, by using a cursor-control device to "click on" or "double click on" the section. Alternatively, sections may be selected by entering a series of keystrokes or in other ways such as through voice commands or use of a touch screen. In addition, although die screens described below illustrate a particular arrangement and number of sections in each screen, other arrangements are possible and different numbers of sections in the screens may be used to accomplish the same or similar functions of displaying information and receiving information or commands- Also, the same section may be used for performing a number of functions, such as both displaying information and receiving a command.
Although only one server is shown, system 30 may use multiple servers as 15 necessary or desired to support the users and may also use back-up or redundant servers to

prevent network downtime in the event of a failure of a particular server. In addition, although machine 37 and server 76 are depicted with various components, one skilled in the art will appreciate that these machines and the server can contain additional or different components. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling a computer system, such as machine 37 and server 76, to perform a particular method.
Non-limiting examples of drugs include, but are not limited to those that satisfy the Lipinski's Rule of Five: (i) not more than five hydrogen bond donors (e.g., OH and NH groups), (ii) not more than ten hydrogen bond acceptors (e.g. N and O), (iii) a molecular weight under 500 Daltons, and (iv) a LogP under 5. The "Rule of Five11 is so called because three of the four criteria involve the number five. See, Lipinski, 1997, Adv. Drug Del. Rev. 23, 3, which is hereby incorporated herein by reference in its entirety. In some embodiments, criteria in addition to Lipinski's Rule of Five are imposed. For example, in some embodiments, the drug has five or fewer aromatic rings, four or fewer aromatic rings, three or fewer aromatic rings, or two or fewer aromatic rings. In some embodiments, a drug is any organic compound having a molecular weight of less than 2000 Daltons. In some embodiments, the drug is any compound listed in Approved Drug Products with Therapeutic Equivalence Evaluations, 25th Edition, U.S. Department of Health and Human Services, Food and Drug Administration, Center for Drug Evaluation and Research, 2005, which is hereby incorporated by reference in its entirety.
The systems and methods of the present invention can be used to analyze drugs that are solubilized, mixed with, or interspersed in a carrier. As used herein, the term "carrier" refers to a diluent, adjuvant, excipient, or vehicle. Carriers can be liquids, such as water and oils, including those of petroleum, animal, vegetable or synthetic origin, such as peanut oil, soybean oil, mineral oil, sesame oil and the like. The vehicles {e.g.9 pharmaceutical vehicles) can be saline, gum acacia, gelatin, starch paste, talc, keratin, colloidal silica, urea, and the like. In addition, auxiliary, stabilizing, thickening, lubricating and coloring agents can be used. When administered to a patient, the carriers are preferably sterile. Water can be the

carrier when composition is administered intravenously. Saline solutions and aqueous dextrose and glycerol solutions can also be employed as liquid vehicles, particularly for injectable solutions. Suitable vehicles also include excipients such as starch, glucose, lactose, sucrose, gelatin, malt, rice, flour, chalk, silica gel, sodium stearate, glycerol monostearate, talc, sodium chloride, dried skim milk, glycerol, propyleneglycol, water, ethanol and the like. Compositions, if desired, can also contain minor amounts of wetting or emulsifying agents, or pH buffering agents.
RivaCommerce, Inc (Riva) was founded in May 2000 and plans to provide enterprise wide supply chain management solutions for the global beverage industry. Riva is an application service provider (ASP) of supply chain management solutions focusing on building smart inventory and warehouse management solutions which integrate complex functions such as regulatory and compliance management.
The initial focus for the next two years will be the global wine industry, but Riva's model is applicable to any heavily regulated industry. By enabling its customers to manage their inventory and warehouse, Riva's web-based supply chain solutions offer enormous opportunities to increase visibility and make more informed operational decisions through secure access to real time information.
The beverage industry as a whole, is still largely using legacy systems. One of the greatest challenges this industry faces is managing the complex regulatory and compliance process alongside the production of beverages in the legacy environment. Riva Commerce is well positioned to be the dominant technology provider in a potentially very large market segment where there has been little automation.
Riva Commerce has partnered with Wipro Technologies (Wipro) for building the supply chain solution. This document is the result of the study conducted by Wipro to understand die product requirements.

2.1 Introduction
The beverage industry as a whole is still largely using legacy systems. One of the greatest challenges this industry faces is managing the complex regulatory and compliance process alongside the production of beverages in die legacy environment. The proposed product should address some of these primary issues and scale up at a later date to provide a comprehensive solution for the wine industry.
2.2 Issues
The following are few of the important issues faced by the wine industry, which the proposed product is expected to solve:
1. Currently, a lot of wineries do not have a consolidated view of their inventory position across all locations. This is primarily because of lack of integration across primitive IT systems used by the winery. The proposed product will provide a snap shot view of the inventory position across all locations.
2. The purchasing department does not have a consolidated view of the inventory position and hence are unable to initiate purchasing at the right time. The proposed system would provide a mechanism for each user to set up thresholds based on which alerts can be sent.
3. The weak area in most wineries today is in record keeping for regulatory compliance. In small wineries, the records are maintained in ledgers. Since this is a manual process and record keeping of each process is done separately, tracing the entire cycle from grapes to wine becomes difficult.
4. The regulatory authority requires all wineries to furnish periodic data in a standard format. It becomes extremely difficult for the wineries to get the required data to prepare the regulatory documents. Some of the large wineries have appointed external consultants to do the job. The proposed product plans to leverage on the data generated by the inventory and process modules to generate regulatory documents.
5. Wineries are highly regulated and there is need to have adequate trace ability from wine to grapes. This is a very important feature especially during audits. The product has to provide features that would help to trace from wine to grape through the production process.

6. Wineries have a large number of suppliers who supply bottles, corks, barrels and such other materials that go into the making of wine. Currently, the supplier records are maintained manually in ledgers. This makes it difficult to pick the right supplier when there is a need. The proposed product has to keeps track of suppliers arid catalog electronically.
7. There is a lot of information exchange that happens between the employees of the winery, their suppliers, label making agencies etc. Currently, these mteractions happen over phone, fax and email. Once these interactions happen, there is no trace of it. The proposed product should have facility to share documents within and outside the organization.
2.3 Modularity
The proposed product has to be modular for the following reasons:
1. Different customers may decide to purchase one or more modules depending on budget and functional constraints.
2. The product would be enhanced by adding additional modules over a period of time.
The following are the various modules of the proposed system. A brief description of the requirements is provided. The requirements are discussed in depth in the subsequent chapters.
2.3.1 Core Module
The core module is the underlying module for the entire system. The core module implements functionality common across the entire product. The set of functionality that is required in the core module are:
- User Management
- Roles and Security Management
- Organization Structure^Management
- System Administration
- Functional masters like Item Master and Supplier Master
- Alert Functionality

2.3.2 Process Module
The process module captures data emanating from various stages of wine production. The data captured may be activity records or lab analysis records. These records play a critical part in implementing trace ability that is required for audit and regulatory compliance.
2.3.3 Inventory Module
The inventory module provides the ability to a customer to manage inventory. The following functionality is envisaged as part of this module:
- Good Receipt and Issue
- Movement of goods
- Physical Verification
2.3.4 Supplier Module
The supplier module provides the ability to manage suppliers and the associated catalog. The following functionality is envisaged as part of this module:
- Managing supplier information
- Managing catalog information
2.3.5 Content Module
The content module would contain the required functionality for managing content. The content can be
- News articles
- Industry briefs
- Riva Commerce updates
The content module would provide the facility for users to post and share content with other users either withm or outside the organization. This functionality is helpful to share label related documents with creative team and product related documents with suppliers.

2.3.6 Regulation Module
The regulation module would provide the required functionality for regulatory compliance. It would have the facility to generate statutory reports as per B ATF requirements.
2.4 Integrated Solution
The application architecture would be such that the process, inventory, supplier, content and regulation modules can woric independently or work as a cohesive lot, if all the modules were purchased, integration across these modules would be possible.
2.5 Context based help
The functionality to support context based help would be provided. Each help page would be identified with a unique code. The content of the help page has to be setup during initial implementation. From each of the web pages, the user can navigate to the help page. The help page is context sensitive which implies, it would be relevant to the web page from which the user navigates. All web pages would have a corresponding help page. Two or more web pages may share a common help page.
2.6 Alerts
The user is kept informed of various system events through alerts. Alerts help to draw attention of the user to various events, which is of interest to him.
2.6.1 Registration
The user should have the facility to register for the various kinds of alerts that are triggered by the system. For example, if it is a news alert, he should be able to specify his areas of interest.
2.6.2 Delivery of Alerts
Alerts can be delivered through multiple channels:
A. On the web site after login
B. Through email
C. Through SMS messaging

The exact nature and content delivered through the various channels will be finalized during product consulting.
2.7 Reports
The following are the various kinds of reports that have to be supported by the system:
1. Administrative reports
2. Functional reports
3.1 Introduction
The core module is the underlying module for the entire system. The core module implements functionality common across the entire product. The core module provides the underlying infrastructure for the rest of the modules.
3.2 Conceptual Design
The product is envisaged to have two distinct user interfaces.
1. Configuration interface
2. Functional interface.
While the configuration side will handle setting up the product for use, the functional side is broken up into modules that are masters and transactions.
3.3 Configuration Interface
The configuration interface would house modules to support the configuration elements. These functionalities will enable the Riva Commerce implementation and administrative team to set up the system for its client in an ASP mode. Also in the case of the system being owned by Riva Commerce's client, the key users from the client organization would be responsible for managing the configuration.
The key users who are authenticated into the system will have access to the following modules based on the access rights set-up by the administrator.

The configuration interface will allow the users a functional way of configuring without knowing technical aspects of the codes, etc). The various modules are:
1. Global Configuration
2. Functional Configuration
3.3.1 Global Configuration:
These are the basic configuration elements, which will be set up by the user initially. The parameters that will be configured here are cuirency, language, countries, states, UOM, etc. The above parameters once configured will enable the system to function smoothly on the functional side.
3.3.2 Functional Configuration:
The functional configuration area will be split as per the modules in the functional side. All the parameters and drop down menus are to be configured in this space. For example, numbering ranges of records, activities in the work-order, location, buyer code, item category, tank numbers, barrel numbers, lot numbers, composition, vintage, etc.
Typical set of configurations required during setup is explained below:
1. Activities: The wine making process flow contains various activities like deceiving, CrushingiDesteming, Fermentation, Desteming, Rack and Clear, Fine and Stabilizing, Filtering, Bottling and others. These activities will be configured to form inputs :o the transaction where work-order activity details are recorded. This will enable a single >vork-order format to serve recording of all activities in the wine making process.
2. Number Ranges: Each items in the item master, suppliers in the supplier master, Lots and documents in the process management module will have a unique number which m\\ be generated internally.
3. The item master configuration elements are Item Category, Vintage, Buyer codes, )hysical inventory verification type, number of levels of catalog, hierarchy etc.
Items are grouped into categories. The categories may or may not be hierarchical, rhe facility to create and manage categories has to be supported by the system. A category ypically has a name, description and a parent identifier. Inventory data can then be queried >ased on the category.

Vintage represents the year of the harvest of grapes and the configuration element should provide for years in the form of 1998,1999, 2000 etc. Such vintage figures will be picked up during the creation of lots on receipt of grapes.
Buyer code is the userid of the person responsible for purchasing. Allocation of a buyer code to an item in the item master not only will facilitate querying on inventory data based on a buyer code but also will be able to restrict viewing of information based on the code.
Composition configuration will provide opportunity for the user to create varietal and appellation of grapes in the item master with percentages. For example; varietal - cabernet (100%), appellation - Cabernet (Dry Creek 80% & Napa 20%).
4. The supplier master configuration elements are the categories, which can be hierarchical and will provide the ability to drill down, when the catalog is presented.
5. Locations represent physical demarcations of areas where the tanks or barrels are located.
6. The functional modules will require configuration for creation of tank numbers, barrel numbers, service status and groups.
The tank numbers and barrel numbers are used to identify the tank or barrel uniquely. Service Status provides information of the barrel in terms of whether in use or empty.
3.4 Functional Interface
The functional interface will house the various modules comprising masters and transactions. The masters is a central repository for data. Transaction module permits users within the winery for performing the various functions. Users will be accessing this section of the system after authenticating through a login/password. The user will then be able to perform the relevant, tasks to which he has been given access.
3.4.1 User Management
The user management module in the system is to be used for creating, editing and deleting users and roles. It is also used to grant and revoke permissions.
1. The system will provide a user interface to capture all the users of their details in the form of Name, Title, Phone No., Fax No., Email, Location, Department, etc. The location, department etc, will map them into the organizational structure of the winery. The

system will provide a drill down representation of users based upon the org. structure. The key system administrators will use this functionality to locate users within the system in order to monitor, edit or delete their details.
2. The user will be provided with a user id and password using which he can log on to the system. The user will have the facility to change the password.
3. The system will provide an interface to create, edit and delete roles in the system with access rights at a granular level within the module. Hie rights will be that of create, edit and view type at a granular level within a module. The access rights will be configurable for a certain period as well. A detailed description of a particular role will be available on selection of a role.
4. Each user can be assigned a role from within the system with default access rights. The access rights set-up for a user here are modifiable and will supersede the access rights of the role.
5. The facility to group users has to be supported. Addition and removal of users in a group is possible from the system.
6. The groups set up by the administrator would appear in the inventory management (alerts) and content management (document sharing) modules.
7. Users will have the ability to create his own groups. These groups are applicable only to that user.
8. The granularity of access control will be as follows:

- Module (E.g. Inventory function
- Transaction (E.g. Inventory status)
- Rights (Add, modify, delete)
- Data Bound (E.g. Inventory item x, document y )
Module: Access can be granted selectively to few modules. Wineries may buy selective modules and hence this feature is required.
Transaction: The administrator in the winery may grant rights to transactions.
Rights: Within a transaction, the rights between different users may vary. Few of them may have full control while for the rest it may be view only.
Data Bound: The right may be restricted to specific data items. For eg. a user may be granted right to view inventory for item x and item y only. By default the right is granted on all items but may be restricted if necessary.

The administrator generates administrative reports. These reports are for administrative functions like:
A. User reports
B. Roles and access right reports
The capability to generate reports based on the following dimensions has to be present:
- Date range
- Location
- Groups
- Departments
3.4.2 System Administration
A section of this module will provide all the system tools to the administrator to execute all batch upload of data for the masters and tools to upload catalog data from CSV format.
3.4.3 Organization Structure:
A typical structure for a winery is illustrated in Figure 6. The system will be designed to capture a hierarchical organizational structure. The structure can be managed using this facility. When a new node is added to the structure, the type of the node e.g., plant, storage, purchasing organization is specified. The links between the various nodes are established using parent child relationship.
3.4.4 Item Master
The item master module contains the data and parameters that define each material used in the system for transaction.
The item master views will be classified based on General information, Purchasing Information and Storage and Inventory information. All the information specific to these views will be captured in the respective views and will be used as default values in the transaction screen of the users in the functional side. The system will have three views as of

now but will be extended to many more views like sales, accounting, costing etc. when the application is scaled for more functionality.
A diagrammatic representation of the item master is illustrated in Figure 7.
1. General View: The general view will capture information like item descriptions, base unit of measure, alternate unit of measures, conversion factors for UOM, physical dimensions if applicable, weight, volume, unit of weight and volume, long text, active/delete flag, composition, item categories for catalog hierarchy, etc.
2. Purchasing View: The purchasing view will capture information like item category, procurement times, lot indicator (whether items are managed in lots), inspection flag, buyer code (person involved in procurement and is approved suppliers) etc.
3. Storage View: The storage view will capture information like issue unit of measure, physical inventory verification type, shelf life data, storage location quantities (dynamically adjusted with goods receipt and issue), storage conditions like temperature, humidity etc.
The item master module will provide features for creation, editing and marking for deletion of all items.
The capability to generate item master report based on the following dimensions has to be present:
- Date range
- Organization Unit (e.g, storage location)
- Categories
- Buyer code
3.4.5 Supplier Master
Just as a material master is required to define a material, so a supplier master is required to define a supplier. Similarly, various views will be available for a supplier master.
The supplier master view will be classified based on general information only. All the information specific to this view will be captured in the respective fields and will be used as defeult values in the transaction screen of the users in the functional side; The system will have one view as of now but will be extended to many more views like purchasing and accounting views, when the application is scaled for more functionality.

General View: The general view will capture information like supplier name address, telephone number, fax number, E-mail, categories and sub-categories, meta-data elements for user search in the supplier management module, and the status of the supplier as active or inactive through a flag.
The capability to generate supplier master report based on the following dimensions has to be present:
- Date range
- Organization Unit
- Categories
4.1 Introduction
This module will serve the winery operations user in the record keeping of their various activities and processes right from grape buying to final bottling. Record keeping of this sort will enable the audit of BATF users for records. The module will be able to capture some of the operational data which data that will help the user in
1. Tracking their processes
2. Post mortem of process parameters
3. Serve as audit records for the regulatory bodies like BATF
4. Help in generating Form 702
The process of wine making has a set of activities, which vary depending upon the type of wine being produced, Irrespective of type of wine produced, the kind of records generated during the process can be categorized into four types.
1. Activity Work Order
2. Analysis Record
3. Inventory Record
4. Tank/Barrel Record

4.2 Process Flow
The process flow of a winery and the various records generated as illustrated in Figure 8. The process flow outlined here is very generic and not comprehensive. It can vary based on the type of wine (Sparkling wine, Port wine etc). Also it is expected that large wineries would have fairly complex processes.
Each of these boxes would actually be an activity in the wine making process and therefore would have a workorder associated with it. It is also expected that some lab sample analysis will be performed during some of the activities. Control records are also generated in various activities.
The module will provide the various activities to the user for entering either the work-order or the lab analysis or the process control records.
The system will provide lot traceability form bottling, backward to the variety of grapes that was inputted. This lot management functionality will uniquely identify the flow of lot through the activities in the process, thereby tying lots to the work-orders as well.
Inventoiy data will also be generated through records at various stages of the process.
4.3 Lot Management
The wine making process is managed in lots in order to have traceability throughout the process. Once the grapes are received, lots are created through an interface for every variation in the grapes received. Unique lot numbers will be assigned to the lot. Reference can be made to the year of harvest / procurement as well. The lots can also be further subdivided into sub-;lots if the chemical analysis necessitates sub-division. A summary record for each lot is created providing details of supplier, quality, shelf life if any, the status of the lot as active/inactive and any comments associated with the lot. This document serves as the history of the lot
As we get into each activity of the winemaking process, the work-orders record the various steps whereby the quantity of each lot getting into the activity is recorded. The process continues till the last activity in the process is reached. Here the lot finally moves out into the bottle.
In case of blending as an activity, various lots of wine come together in a tankftarrel for further processing. In such a case, a new lot number is allocated to the output for traceability.

4.4 Record Keeping
The system will be designed to provide user interfaces in the various stages of the process to record the following:
1. Activity work-order.
This record is generated before and during each activity in the process. This records the activity, the lot processed, the inputs to the activity, the origination of inputs, the equipment/tank number and details where the activity is being carried out etc. Each activity will be associated with a unique work order and a bottle is traced back to the receiving lot through a lot number. Each activity like Receive, Crush, Fermentation etc, will contain a workorder. The work-order will be created for a date, previous reference if any, shift etc. Each line item in the work-order represents a step in the activity with all specific details like that of lot number, location from, location to, quantity, added (+) / removed (-), and Quality.
For example, the activity of bottling 125 gallons of cabernet will be recorded in the following two steps:
Step 1 : Bottle Cabernet LotNo.:L99-123 Location from: Tank 400 Location to: Bldg. 1 Add/Remove: + Quantity: 125 gals Quality: OK
Step 2: Closure Bottle Quantity: 52 Cases Location from: Bldg. I
The impact of a record generation of this activity would mean increase of inventory of case goods wine by 125 gallons, reduction of 52 cases of empty bottles and reduction of in-process inventory of wine from tank 400.
Similar activity work-orders can be generated for fermentation where the individual steps could also refer addition of various grades of additives like tartaric Acid, SO2 etc. Additives are added as inventory items. For an activity like "receiving grapes" the system

will also capture the supplier and/or the carrier of such item. In other cases, carrier information is not required.
The system provides a feature by which a check on the inventory availability of every line item added can be done from the activity work-order. The pop-up will report the inventory on-hand, WIP etc, by weight, volume etc.
The user can also do a quick analysis for the amounts added and removed in the work-order. The variances (Removed - Added) will then be reported in weight, volume etc. for a quick review by the user before posting the work-order.
The system will also provide a feature for saving a filled out work-order as a template for re-use later. Such templates will typically be used in circumstances where an activity detail is very commonly used and therefore data entry for the user may be reduced.
2. Analysis Record
Lab Record: This record is kept as a log of analysis and evaluations are made in the winery laboratory. It is essential that the precise source, variety, weight of grapes and fruits have documentation in the winery files. BATF inspections will require this information in order to trace production output and the label statements on the resulting wine are factual. Such analysis and record keeping is done both on the arrival of grapes (Brix-Ball, pH, etc.) and also on the tank's content for various chemical parameters (ALC, TA, etc.).
Process Record: Fermentation control record is one such record, which tracks for a tank and a lot, the chemical parameters like ALC, TA etc. by date and time.
3. Inventory Record
Record keeping for grapes in the form of weigh tag (scale ticket) and record keeping for all other bought out direct materials like additives of the wine making process, bottles, corks etc. will be supported by the system. Physical inventory verification records with respect to book inventory of all cellar materials, bulk wine and cased goods to be also performed by the users in the system.
4. Tank/Barrel Record.
Tanks and Barrels are equipment which are continuously being used in the winery for various activities like fermentation, aging, fine and stabilize etc. Maintaining the tank and

barrel histories is useful not only to track capacities available but also to review the physical status of things for replacement or rectification. For example, barrels come of various kinds of wood and add a certain property to the wine when aged in it. Also the barrel's ability to transmit this property to the wine reduces with time and therefore after a certain amount of elapsed time the barrel either is disposed or it goes in for treatment. Treatment normally involves re-toasting so as to get a fresh life. System will provide a feature, which will be tracking each individual barrel or tank by its unique number and location. Records like the kind of barrellAank, its status (empty etc.) and the activity associated with it (inspection, Top, Fill, Toast etc) will be entered by the user for future tracking.
4.5 Reports
The system has to support a set of transactional reports:
A. Activity Reports
B. Lab Analysis
C. Control Reports
The capability to generate reports based on the following dimensions has to be present:
- Date range
- Location -Tank
- Barrel -Lots
- Category
5.1 Introduction
This module will serve the users in searching inv status of items in various storage locations for an item. Also the user-will be able to make searches on a keyword for an item, so as to obtain the inventory status of items in various storage locations. The user can then set the threshold for items at a storage location or a combination of storage locations for

generating alert to another user or group of users. The inventory data will be fed into the system through process records created in the process module.
5.2 Module Requirements
The module should have the following capabilities:
1. Select on storage location: The organizational units configured in the configuration side of the system will be represented in a drill down mode for the user to click and chose the relevant location on which he wants to check the inventory status.
2. Select on item: The items from the item master will be available to the user in a catalog format. The catalog will be a hierarchical representation with the item categories defined in the item master. The user will be able to drill down to the lowest level of the catalogue for selection of an item.
3. Search on key word: This feature will provide the user of this module a keyword search facility on some meta-data predefined in the item master. The search will display a set of items for the user to select.
4. Selection of items and/or storage locations will provide the user to see the inventory status of the item along with some predefined parameters in the item master.
5. The user should then be able to set threshold for inventory both at a single storage location and/or a combination of storage location. The user also defines the user/group of user that needs to receive the alert. As soon as the inventory status of the item falls below the threshold set-up the system should be able to generate an alert report for communication to a user/group of users as allocated by the user earlier. The message content of the alert will be predefined and the alerts will be visible to the user from the alert module on login.
6. User interfaces will enable the user to record physical verification of cellar materials, bulk wine and cased goods. The physical inventory figures will be compared with the book inventory and reconciliation will be done if authorized by the user.
5.3 Inventory Alerts
inventory alerts are configured either by the user himself or by some other user who thinks that this information would be vital to the user.

inventory alerts can be configured based on the minimum and maximum stock levels of an item in one or more locations. The ability to group locations together and set alerts should be provided.
5.4 Reports
The capability to generate inventory status reports based on the following dimensions has to be present:
- Date range
- Location -Tank -Barrel -Lots
- Category
6.1 Introduction
This module will serve the users (primarily the purchasing users) the ability to search details of suppliers based on items or on supplier themselves. The supplier module will have two distinct components namely, the supplier information and the catalog information. The supplier information would contain details of the supplier and the catalog would contain details of the items supplied. The supplier information can be used independently even if the catalog has not been updated.
1. Select a supplier This feature will enable the user to drill down and select a specific supplier from a supplier catalogue. The catalogue will be built on certain hierarchies as category and these categories will be an input to the system in the supplier master.
2. Select on item: The items from the item catalog will be available to the user in a catalog format The catalog will be a hierarchical representation with the item categories defined. The user will be able to drill down to the lowest level of the catalogue for selection of an item. This hierarchical organization of this catalog would be different from the organization of categories in the item master. A user interface would be required to organize and manage the categories.

3. A facility to upload supplier catalog on to the system will be provided. The catalog has to be in predefined CSV format for upload. Typical data elements that are captured are product identifier, description, image etc.
4. Search on certain data elements defined in the supplier master for items supplied by the supplier: the search will display a set of suppliers matching the search criteria. On selection of a particular supplier the user will be able to view the supplier details.
6.2 Supplier Alerts
Supplier alerts are raised based on activity that happens on the system. For example, if a new supplier is added to the system, catalog is changed then a supplier event will be raised. Some of the other events that may raise supplier alerts are:
a. Supplier related news items
b. Location changes
When content is published using the content management module, a facility should exist to flag it as a supplier alert.
6.3 Reports
The capability to generate supplier reports based on the following dimensions has to be present:
- Date range
- Location
- Category -Item
7.1 Introduction
Form 702 is usually filed on a periodic basis by the wineries giving details of inventory position of the wine. Also, as per BATF requirements excise tax forms have to be filed periodically.

7.2 Module Requirements
1. Form 5120.17 (702) is usually filed in a monthly basis by the wineries giving details of inventory position of the wine. This reporting is normally done for a date range (mostly monthly) and is uniquely identified by a registration no. Part 1 of the report contains broadly two sections, bulk wines and bottled wines. Reporting of various tasks under production and use are done primarily on the categories formed by the wine's alcohol content ranges ( 2. The system will provide user interfaces for filling the data for these forms and will keep an archive of the same for future records. Any transactional data from the other modules that can be pulled up into the Form 702 will be complied with in the system.
3. Capturing of data will be done through various transactions of the process and inventory module. The system will provide a feature by which a base tally sheet for reporting will be generated containing all the data elements and the respective data computed from all transactional data captured. The user will review this base report and make ail corrections. Other entries will also be done by the user, which the system has not captured during the process transactions. Once the user has completed his review of this tally sheet with all his corrections and new entries added, he will be able to generate a report of Form 702 for submission to the BATF.
4. Also, as per BATF requirements excise tax forms (F 5000.24) have to be filed periodically. The format captures all the tax and tax related elements for the winery. The system will provide user interfaces for filling the data for these forms and will keep an archive of the same for future records.
However, the data is primarily of financial nature and cannot be generated from within the system.

7.3 Reports
The capability to generate compliance reports based on the following dimensions has to be present:
- Date range
- Organization unit
- Registration number 8 CONTENT MODULE
8.1 Introduction.
The Content Module is a standalone module with support for the following features:
1. Manage content like industry briefc, news articles and other content items
2. Provide ability to upload and share documents
The two sub-components of the Content Module have to be logically split so that either of the two can function independently.
8.2 Content Management
The following are the various kinds of content that has to be supported:
1. Industry News
2. Best Practices
3. White Papers
4. Events
5. Company News
6. Riva Commerce Information
Only the top n items (configurable by user) will be displayed. The items displayed can be based on date, priority etc which is user configurable. The rest of the content items will be displayed in the archive section. When a content is uploaded a facility has to be provided to notify if it as an alert and the category to which it belongs (news alerts, supplier alerts etc.).

8.2.1 Industry News
The facility to display industry news has to be provided. It is envisaged that there would be tie-ups with content providers for providing Industry News. The integration with the content provider is expected to be through a URL link. The content resides on the content providers server and would be linked through a URL.
The facility to provide industry news is limited to the ASP model. In cases where the product is bought, the winery may subscribe to this service. If it does so, the same web page which is accessible through the ASP service would be made available to the winery. It is assumed that the users in the winery would be on the Internet so as to access the industry news web pages hosted in the ASP environment.
8.2.2 Best Practices
Riva Commerce would have in-house think tank who would publish Best Practices. The following features are required for publishing:
1. Uploading content
2. Entering meta data about the content like title, author, keywords, description etc.
3. Deleting content
4. Archiving content
The content published would be available to all the subscribers in the ASP model. In case of a bought-out model, the subscribers would directly access the content from the hosted ASP environment through the Internet
8.2.3 White Papers
Riva Commerce would have in-house think tank who would publish White Papers. The features and functionality required are same as Best Practices.
8.2.4 Events
Riva Commerce would publish the list of events applicable to the wine industry. The features and functionality required are same as Best Practices.

8.2.5 Company News
The internal news of the company can be posted here. It is visible only to the employees of that company. The right to post content on this section should reside with few individuals from the company. Some of the other features like upload, meta data, archive are same as Best Practices.
8.2.6 Riva Commerce Information
This section would contain information about Riva Commerce. This may include information related to new services, product releases etc.
This section is common and available to all companies. Some of the other features like upload, meta data, archive are same as Best Practices.
8.3 Document Sharing
The ability to share documents between users of the organization, suppliers and creative agencies (for label design) is of at most importance. This module should help share documents among the various parties. The following are the salient requirements for this module:
1. Users should have the ability to upload documents into a central repository
2. Users have to key in meta data information like keywords, description etc. The set of meta data elements gathered would be the same for all documents.
3. Users should have the ability to create a hierarchical folder within which documents woul;d be stored.
4. When a user shares a document the folder structure is also shared. The name of the author is prefixed to the folder name to distinguish it from local folders.
5. Labels would be stored in one of the folders named "Labels"
6. Users should have the ability to grant rights to documents so that it is available only to selected users/group.
7. All documents uploaded should be stamped with author and date information.
8.4 Viewing Documents
The document can be viewed only by the owner and the user/group authorized by the owner. Access by other individuals will not be possible. The rights can be granted at the

document level and not at the folder level. When a document is shared, the reference to the document is maintained. Multiple copies of the document are not created to save resources.
The documents are indexed with date and author/sender. The documents are available to the user in a drill down format from the library.
8.5 Search Documents
Users will have the ability to search documents based on meta data values. The search can be a simple search based on keywords or an advanced search based on the various meta data elements. All documents will have a standard set of meta data elements.
8.6 Reports
The content reports would contain details (meta data) of the various content uploaded onto the system.
- Date range
- Category
- Author
- Keywords
8.7 Alerts
8.7.1 News Alerts
The news items that are of interest to the user are displayed as an alert. The number of news alerts to display in the alert section is user configurable. The areas of interest of the user can be selected and alerts raised when content that matches the interest is published, the news alert can be raised when any of the content types (described in content management) are published.
8.7.2 Document Alerts
Document alerts are raised when critical documents are shared with other users/groups. When a document is shared, the ability to raise document alert has to be provided. If an alert were raised, it would be visible under document alerts.

Some of the additional requirements that have been envisaged but may not implemented during the initial product release are documented in this chapter.
The following are few of the additional requirements for the proposed product:
9.1. Mobile Device
One of the goals of the proposed system is to make usage of the system as simple and convenient as possible. The reason for failure of a large number of solutions existing in the market today is because of the cumbersome data entry procedures. Hence, it is envisaged hat a mobile device, which can be carried into the plant, can be used as a convenience device for data gathering.
The following are the functional requirements:
1. The mobile device should have a bar code reader to scan barcodes. It is envisaged that the barrels, tanks and lots in inventory would be bar coded,
2. The barcode reader should direct the data to the standard input so that no change in the application would be required even if the keyboard is used for data input.
3. The mobile device should be a wireless device so that it can be carried to the workplace.
4. The mobile device should communicate with the system either using wireless protocols such as WAP or may be based on RF signals. The choice would be made during product consulting.
5. If WAP is used, the mobile device has to be WAP-enabled.
6. In case of RF signals, a server which would receive the transmitted signal and interface with the system is required at each of the plants. A separate application to handle communication would be required.
7. The data on the mobile device, e,g. list of tanks should be synchronized with the central system at all times. If a new tank is added then the mobile device should display the tank number in the drop down.
9.2 Adapters for selected ERPs
In some of the large wineries, which have existing ERP systems, it may be necessary to build adapters that would facilitate integration with the proposed system. An analysis of

the systems used has to be done before such and adapter can be developed. In the first phase, a CSV file has to be generated from the back end system and uploaded through a batch process.
9.3 Foreign Language Support
There has to be support in the system to support multiple languages. It is envisaged that the initial release would be in English but the subsequent release can be French.
9.4 Foreign Currency Support
The initial version of the software would support US dollars as a single currency. However, the later versions need to support multi currencies.
9.5 Floating Licenses
A floating license manager would be required to manage licenses when the product is sold to a large winery. The floating license manager should support a variety of licensing mechanisms based on users, connections and logins.
The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the invention as defined in the following claims, and their equivalents, in which all terms are to be understood in their broadest possible sense unless otherwise indicated.

1. A method for managing the development and manufacturing of a drug, the method
comprising the steps of:
recording information about the, drug;
assigning the information to data dimensions in a plurality of data dimensions;
determining correlations between data dimensions in the plurality of data dimensions;
determining a context to the information;
searching the correlations between data dimensions in the plurality of data dimensions in response to the context; and
retrieving information about the development and manufacturing of the drug in view of the context, thereby managing the development and manufacturing of a drug.
2. The method of claim 1 wherein the information is assigned to at least one of a data dimension selected from the group consisting of material, people, standard, equipment, environment/facility and process.
3. The method of claim 1, wherein the context defines changes to the information over time and events,
4. The method of claim 1 wherein the correlations relate to common information in different data dimensions for said drug.
5. A system for managing the development and manufacturing process of a pharmaceutical drug, the system comprising:
a plurality of recording modules for recording information about the pharmaceutical drug development and manufacturing history of the pharmaceutical drug over time; and
a core module in communication with the recording modules, the core module being configured to provide a platform for the tracking of the information across multiple data dimensions.
6. The system of claim 5 wherein the core module is configured to assign the
information to a data dimension.

7. The system of claim 5 wherein the core module is configured to assign the information to at least one of a data dimension selected from the group consisting of material, people, process, equipment, environment and standard.
8. A method for determining a manufacturing process of a pharmaceutical drug with a computer, the method comprising the following steps:
recording data relating to the development of the drug with the computer;
recording data relating to the production of the drug with the computer;
correlating the data in multiple dimensions using the computer thereby forming correlated data; and
determining a manufacturing process of the drug by searching the correlated data over time in order to determine a plurality of processes used in the manufacture of the drug based on the multiple dimensions over time.
9. The method of claim 8 further comprising the step of searching the correlated data over time with a context to determine the processes used in the manufacture of the drug.
10. The method of claim 8, the method further comprising searching the correlated data to trace processes used in the manufacturing of the drug.
11. The method of claim 8, the method further comprising searching the correlated data to trace processes used in the manufacturing and development of the drug.
12. The method of claim 8, the method further comprising searching the correlated data to trace processes used in the development of the drug.
13. The method of claim 8 wherein the plurality of processes include a plurality of ingredients used to develop and manufacture the drug.

14. A method of recording a product history of a pharmaceutical drug with a computer,
the method comprising the steps of:
capturing the development history of the drug with the computer;
capturing the manufacturing history of the drug with the computer;
recording the development history and the manufacturing history with the computer; and
generating a multi-dimensional data set of the manufacturing history and the development history of the pharmaceutical drug that is the product history of the pharmaceutical drug.
15. The method of claim 14, the method further comprising searching the multi
dimensional data set in order to trace the product history of the pharmaceutical drug.



2795-CHENP-2007 AMENDED CLAIMS 15-10-2013.pdf

2795-chenp-2007 assignment 21-04-2011.pdf

2795-CHENP-2007 ASSIGNMENT 15-10-2013.pdf

2795-chenp-2007 correspondence. others 21-04-2011.pdf

2795-chenp-2007 form-1 21-04-2011.pdf

2795-chenp-2007 form-6 21-04-2011.pdf

2795-chenp-2007 power of attorney 21-04-2011.pdf



2795-CHENP-2007 AMENDED CLAIMS 17-01-2012.pdf

2795-CHENP-2007 AMENDED CLAIMS 30-01-2012.pdf

2795-chenp-2007 correspondence others 21-04-2011.pdf

2795-CHENP-2007 CORRESPONDENCE OTHERS 26-05-2011.pdf



2795-CHENP-2007 FORM-13 15-10-2013.pdf

2795-chenp-2007 form-13 21-04-2011.pdf

2795-CHENP-2007 FORM-13 . 15-10-2013.pdf

2795-CHENP-2007 FORM-3 17-01-2012.pdf

2795-CHENP-2007 FORM-5 17-01-2012.pdf

2795-CHENP-2007 OTHER PATENT DOCUMENT 30-01-2012.pdf

2795-CHENP-2007 POWER OF ATTORNEY 17-01-2012.pdf

2795-CHENP-2007 CORRESPONDENCE OTHERS 30-01-2012.pdf

2795-CHENP-2007 CORRESPONDENCE OTHERS 31-03-2011.pdf

2795-CHENP-2007 FORM-3 30-01-2012.pdf






2795-chenp-2007-form 1.pdf

2795-chenp-2007-form 3.pdf

2795-chenp-2007-form 5.pdf



Patent Number 257704
Indian Patent Application Number 2795/CHENP/2007
PG Journal Number 44/2013
Publication Date 01-Nov-2013
Grant Date 29-Oct-2013
Date of Filing 25-Jun-2007
# Inventor's Name Inventor's Address
PCT International Classification Number G01N 33/48
PCT International Application Number PCT/US2005/046905
PCT International Filing date 2005-12-21
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 11/022,316 2004-12-23 U.S.A.