This disclosure relates generally to relational database systems and more particularly to data structures and processing in relational database systems. Even more particularly, embodiments disclosed herein relate to a system and method of creating implementation defined segments at runtime based on metadata.
For a software system to support the data needs of two or more vertical industries, it usually must make compromises in what data is available, or provide a large superset (e.g. the ability to encompass the data needs of all the industries it is desired to support) with many unused data items in order to satisfy the greatest common denominator. For instance, those demographic data items that may be important in a medical record registration application, may not have any use to a hotels central reservation system.
One way to support multiple vertical markets with the same application or software system (product) is to have a very generic data storage capability which does not have anything specific to a given industry, application or format. The problem with this approach is that the data items which are specific to an industry or application may be those that are most valuable to the customer. Some industries have Electronic Data Interchange Standards that can be used, but they do not fit every application and rarely have wide acceptance.
Another solution to the above problem is to create a large, all encompassing data model which tries to anticipate every conceivable contingency. This is cumbersome to install, and requires that the users wade through unused scaffolding if their particular business does not require the extra fields. And despite best efforts, they may still have requirements which are not included in the model.
Embodiments disclosed herein provide systems and methods that can eliminate or reduce the disadvantages of previously developed solutions to supporting multiple vertical industries with the same software system. More particularly, embodiments disclosed herein provide a way to describe data objects that will be used by the Initiate Identity Hub™ Software, and to store that description inside the Identity Hub database in a set of metadata tables known generically as the data dictionary. Initiate™ and Initiate Identity Hub™ are trademarks of Initiate Systems, Inc. Once a data object has been described, the Identity Hub can use the information to:
1. Define persistent storage for the object in the database for any relational database management system (RDBMS) type supported by the Identity Hub software;
2. Create internal structures to hold the data and process business rules and demographic comparisons against the data object;
3. Create the on-the-wire protocol definition that describes the data object to remote clients using APIs such as the Initiate Identity Hub APIs. The communication software (e.g., contained in the Identity Hub) can transmit and receive these data objects without prior, hard coded knowledge; and
4. Provide a mechanism in the APIs to query the Identity Hub at runtime about what data objects exist, what fields and data types they contain, and additionally how they might be displayed or formatted on various clients.
Embodiments disclosed herein may be implemented entirely in software or may be implemented at least partially in hardware.
By adopting embodiments disclosed here to generate Implementation Defined Segments (IDS), software implementers (e.g., partners, customers, or Initiate services employees) can create custom attribute segments on an installation by installation basis. The users of the Initiate Identity Hub software can benefit from having access to the data that is vital to their industry or application specific data needs. Each customer does not have to conform to some pre-defined, limiting data model. Moreover, there is no need to create custom application code for sites that want to take advantage of this feature. The IDS data segments will behave substantially exactly like hard-coded, pre-defined segments. The legacy pre-defined segments in use in older implementations can use the IDS technology under the covers, and over time the pre-defined segments can be deprecated, and replaced with a pure IDS implementation.
Other features, advantages, and objects of the disclosure will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings.
A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description, taken in conjunction with the accompanying drawings in which like reference numbers indicate like features and wherein:
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and are not necessarily drawn to scale.
Preferred embodiments of the present invention and the various features and advantageous details thereof are explained more fully with reference to the examples illustrated in the accompanying drawings where like numerals are used to refer to like and corresponding parts or elements. Descriptions of known computer languages, data structures, programming techniques, operating systems, network protocols, and the like are omitted so as not to unnecessarily obscure the invention in detail. Skilled artisans should understand, however, that the detailed description and the specific examples, while disclosing preferred embodiments of the invention, are given by way of illustration only and not by way of limitation. Various substitutions, modifications, additions or rearrangements within the scope of the underlying inventive concept(s) will become apparent to those skilled in the art after reading this disclosure.
Each of client and server computers 12 and 16 is an example of a data processing system. ROM 122 and 162, RAM 124 and 164, HD 126 and 166, and database 18 include media that can be read by CPU 120 or 160. Therefore, each of these types of memories includes a data processing system readable medium. Within this disclosure, the term “data processing system readable medium” is used interchangeably with the term “computer-readable storage medium.” These memories may be internal or external to computers 12 and 16.
Embodiments described herein may be implemented in suitable software code that may reside within ROM 122 or 162, RAM 124 or 164, or HD 126 or 166. In addition to those types of memories, some instructions implementing embodiments disclosed herein may be contained on a data storage device with a different data processing system readable storage medium, such as a floppy diskette.
In an illustrative embodiment, the computer-executable instructions may be lines of compiled C++, Java, or other language code. Other computer architectures may be used. For example, some functions of client computer 12 may be incorporated into server computer 16, and vice versa. Further, other client computers (not shown) or other server computers (not shown) similar to client computer 12 and server computer 16, respectively, may also be connected to network 14.
Communications between client computer 12 and server computer 16 can be accomplished using electronic, optical, radio frequency, or other signals. When a user is at client computer 12, client computer 12 may convert the signals to a human understandable form when sending a communication to the user and may convert input from a human to appropriate electronic, optical, radio frequency, or other signals to be used by client computer 12 or server computer 16.
Embodiments of Hub 300 provide accurate, scalable, and deployable solutions for customer-centric master data management as Hub 300 enables business entities to create complete, real-time views of data from various data sources 350 and applications 360 to more effectively manage, control, analyze and integrate customer, patient or constituent information and relationships while protecting data privacy. In particular, Hub 300 has the ability to handle hundreds of millions of records in sub-second response times with unique proprietary matching and linking technology that identifies and resolves information routinely, even when there is duplicate, fragmented or incomplete data. Within this context, Manager 330, embodied in a software application, enables administrators and implementers (i.e., system administrators, application administrators, database administrators, software developers, software engineers, system architect, and those responsible for implementing Initiate™ software applications) to easily manage Hub 300 software environment via a user interface. In this example, Manager 330 is installed on a server and accessible via an Intranet. In some embodiments, Manager 330 can be installed and run directly on a workstation.
Data segments or simply segments coincide with data schema of Hub 300 to define behavior of Engine 320 and member information. In some embodiments, a set of pre-defined (“fixed”) segments are created and packaged with Hub 300 prior to deployment. In some embodiments, implementers can add member-attribute implementation defined (“custom”) segments through Manager 330 upon/after deployment. Within this disclosure, each segment is a data structure which encapsulates a single row from the coinciding database table. In embodiments disclosed herein, segments are used as data storage structures for data that may be read from a database (e.g., database 350), or sent in from a client application (e.g., application 360). When Engine 320 operates on data, it passes around a set of these segment objects (i.e., they are Shared Objects).
In some embodiments, there are three types of segments: dictionary segments, member segments, and audit segments. Audit segments enable reporting and tracking. Member segments define individual entities (i.e., members and members associated with an entity), member attributes, and task workflow. In some embodiments, only member attribute segments can be defined at the time of implementation. Dictionary segments contain type definition and lookup values. These values define customer specific data, engine behavior, and other segment types. Dictionary segments can be divided into five sections.
a. Type Definition—provides lookup values to define data types used by Hub 300;
b. Segment Definitions—enable the definition of internal (internal to Hub 300) and customer-specific (i.e., implementation defined) segments that are maintained by Hub 300;
c. Source Definitions—enable the definition of source systems recognized by Hub 300 and the interactions therebetween;
d. Use Segments—provide Hub 300 specific configuration that defines behavior of Engine 320, which includes comparison, derived data, and standardization strategies, as well as linkage rules and other behavior rules; and
e. User Access Definition Segments—define valid Hub 300 users and their associated access control rules, including user IDs and permissions.
In
In the past, a segment was defined by what was referred to as a package. Packages were hard-coded C language structures that defined the data fields, what data type those fields were, and how the system should treat those fields. Packages proved to be a very powerful way to describe data in a manner that the rest of the Initiate Identity Hub™ software could use to operate on the data. However, because these packages were hard-coded C language structures, if a new segment definition is needed, a code change had to be made in the Initiate Identity Hub™ engine, a database table that matched the change had to be made, and any API changes needed for others to be able to access the new segment also had to be made.
Embodiments of an Implementation Defined Segments subsystem disclosed herein represent an innovative way to support new segments without having to ship and support new code at each customer site that has unique data requirements. Instead of the package mechanism described above, a set of database tables, also referred to as metadata tables, would be read at system start-up to define the shape of the package data structures. If an implementer or administrator needs to change a segment, or add a new one, the implementer/administrator could just add the proper data to the database, and on the next restart of Engine 320, Hub 300 would behave exactly as if the segment information had been hard-coded in the packages.
Part of the IDS metadata defines how the data should be stored and persisted in a database. The mpi_seghead table gives the table name, and the segXfld table identifies the field name, the field data type, and field length (if needed). The tables defined above include flags which allow a user to define a segment that contains virtual fields, or virtual attributes. At a field level, the mpi_segxfld.isvirtual flag defines whether or not a data field should be stored. If it is marked as virtual, the Identity Hub engine will create space to store values, and will transport the values to and from any calling client application, but it will not save those values in the database. At an attribute level, the mpi_segattr.isvirtual flag says that the Identity Hub should not store the entire attribute. The IDS meta-data stores a generic data type that is not specific to any given relational database that the Identity Hub has been ported to. A mechanism in the Identity Hub engine translates from this generic data type to a RDBMS specific type through the use of a lookup file that is contained outside the database. A sample section of this file for the Oracle database is given below:
The IDS sub-system looks up the generic data type on the left from the mpi_segxfld table, and it is translated to the RDBMS specific type on the right. The reason this file is not stored in the database is that Engine 320 needs the RDBMS specific types prior to creating the segment metadata tables when the system is first installed. Hub 300 has utility programs that can create a database from the generic data types for any RDBMS that Hub 300 has been ported to. When defining a new segment, Manager 330 will export the generic DDL statement used to make the database specific table and indexes. An example is show below for a fictional customer segment that contains a customer name, phone number, a customer id number, and date that shows when the customer first started doing business:
The generated DDL statement above contains not only the fields defined by the user, but also the fields used to join this data table to the rest of the data model of Hub 300 and to provide for attribute-level auditing. The additional scaffolding is generated automatically and may change as future versions of Hub 300 may need to change the data model. As discussed above, these Data Definition Language (DDL) statements are sent to the file system instead of the database, so that they can be used to create the empty tables before the database is fully populated.
In some embodiments, every segment used by Hub 300 could be built by the IDS technology disclosed herein. In some embodiments, the scope of the IDS capability of Manager 330 is limited to a sub-section of the data model called Member Attributes. Member Attributes are data segments that contain the demographic data used for comparison by Hub 300. They are the most likely point in the data model for a customer to want to customize or add additional capability. However, as one skilled in the art can appreciate, the scope of the IDS capability may be extended to include all but a small kernel of segments that will need to remain pre-defined so that the system may bootstrap itself at startup.
In some embodiments, Manager 330 is programmed to enable an implementer or an administrator to define Implementation Defined Segments and the attributes that use these segments. As an example,
The IDS subsystem described above provides a way to programmatically access the IDS metadata and determine what data segments are available, and what data fields they are made up of. Hub 300 includes a set of programming APIs (Application Programming Interfaces) as libraries that can be called from the C++ or Java programming language. These same APIs are used on pre-built applications so they can adapt to new data segments in the same manner that a custom built client application would. In some embodiments, the APIs have metadata classes that allow a programmer to find out at run-time how many segments are defined in the system, and for each of those segments, what fields and data types are they made up of. Additional classes allow the creation of an Implementation Defined Segment, and access to the data in each of the fields in either its native data type or as a generic string representation. When writing data to Hub 300, the programmer most often knows the shape of the attribute (what fields exist and their data type). In some cases, the incoming data may be in string format. and the API can convert it to the proper underlying data type for the caller. The dictionary store contains the metadata required to figure out what attribute is linked to a particular segment and the API will ensure that the proper amount of storage to hold that segment is allocated. By interrogating the metadata tables, knowledge of the shape of a particular segment can be obtained, as well as the number of segments defined (e.g., for an embodiment of Engine 320).
When a user initiates an action (e.g., a retrieve), a specific interaction (e.g., MEMGET) sends the retrieve criteria to Hub 300. The returned data includes segments (e.g., MEMHEAD, MEMATTR, MEMNAME, MEMADDR, MEMPHONE, MEMTYPE, and/or MEMIDENT) containing the requested member data from the applicable tables (e.g., mpi_memhead, mpi_memattr, mpi_memname, mpi_memaddr, mpi_memphone, mpi_memtype, and/or mpi_memident). Depending upon the interaction, the specific criteria, and the information stored in Database 340 about a member, multiple segments may be returned. This process is illustrated in
Although the present invention has been described in detail herein with reference to the illustrative embodiments, it should be understood that the description is by way of example only and is not to be construed in a limiting sense. It is to be further understood, therefore, that numerous changes in the details of the embodiments of this invention and additional embodiments of this invention will be apparent to, and may be made by, persons of ordinary skill in the art having reference to this description. It is contemplated that all such changes and additional embodiments are within the scope of the invention as detailed in the following claims.
This application claims priority from U.S. Provisional Application No. 60/845,073, filed Sep. 15, 2006, entitled “METHOD AND SYSTEM FOR IMPLEMENTATION DEFINED SEGMENTS USING META-DATA,” which is fully incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4531186 | Knapman | Jul 1985 | A |
5020019 | Ogawa | May 1991 | A |
5134564 | Dunn et al. | Jul 1992 | A |
5247437 | Vale et al. | Sep 1993 | A |
5321833 | Chang et al. | Jun 1994 | A |
5323311 | Fukao et al. | Jun 1994 | A |
5333317 | Dann | Jul 1994 | A |
5381332 | Wood | Jan 1995 | A |
5442782 | Malatesta et al. | Aug 1995 | A |
5497486 | Stolfo et al. | Mar 1996 | A |
5535322 | Hecht | Jul 1996 | A |
5535382 | Ogawa | Jul 1996 | A |
5537590 | Amado | Jul 1996 | A |
5555409 | Leenstra et al. | Sep 1996 | A |
5561794 | Fortier | Oct 1996 | A |
5583763 | Atcheson et al. | Dec 1996 | A |
5600835 | Garland et al. | Feb 1997 | A |
5606690 | Hunter et al. | Feb 1997 | A |
5615367 | Bennett et al. | Mar 1997 | A |
5640553 | Schultz | Jun 1997 | A |
5651108 | Cain et al. | Jul 1997 | A |
5675752 | Scott et al. | Oct 1997 | A |
5675753 | Hansen et al. | Oct 1997 | A |
5694593 | Baclawski | Dec 1997 | A |
5694594 | Chang | Dec 1997 | A |
5710916 | Barbara et al. | Jan 1998 | A |
5734907 | Jarossay et al. | Mar 1998 | A |
5765150 | Burrows | Jun 1998 | A |
5774661 | Chatterjee | Jun 1998 | A |
5774883 | Anderson | Jun 1998 | A |
5774887 | Wolff et al. | Jun 1998 | A |
5778370 | Emerson | Jul 1998 | A |
5787431 | Shaughnessy | Jul 1998 | A |
5787470 | DeSimone et al. | Jul 1998 | A |
5790173 | Strauss | Aug 1998 | A |
5796393 | MacNaughton et al. | Aug 1998 | A |
5805702 | Curry | Sep 1998 | A |
5809499 | Wong et al. | Sep 1998 | A |
5819264 | Palmon et al. | Oct 1998 | A |
5835712 | DuFresne | Nov 1998 | A |
5835912 | Pet | Nov 1998 | A |
5848271 | Caruso et al. | Dec 1998 | A |
5859972 | Subramaniam et al. | Jan 1999 | A |
5862322 | Anglin et al. | Jan 1999 | A |
5862325 | Reed et al. | Jan 1999 | A |
5878043 | Casey | Mar 1999 | A |
5893074 | Hughes et al. | Apr 1999 | A |
5893110 | Weber et al. | Apr 1999 | A |
5905496 | Lau et al. | May 1999 | A |
5930768 | Hooban | Jul 1999 | A |
5960411 | Hartman et al. | Sep 1999 | A |
5963915 | Kirsch | Oct 1999 | A |
5987422 | Buzsaki | Nov 1999 | A |
5991758 | Ellard | Nov 1999 | A |
5999937 | Ellard | Dec 1999 | A |
6014664 | Fagin et al. | Jan 2000 | A |
6016489 | Cavanaugh et al. | Jan 2000 | A |
6018733 | Kirsch et al. | Jan 2000 | A |
6018742 | Herbert, III | Jan 2000 | A |
6026433 | D'Arlach et al. | Feb 2000 | A |
6049847 | Vogt et al. | Apr 2000 | A |
6067549 | Smalley et al. | May 2000 | A |
6069628 | Farry et al. | May 2000 | A |
6078325 | Jolissaint et al. | Jun 2000 | A |
6108004 | Medl | Aug 2000 | A |
6134581 | Ismael et al. | Oct 2000 | A |
6185608 | Hon et al. | Feb 2001 | B1 |
6223145 | Hearst | Apr 2001 | B1 |
6269373 | Apte et al. | Jul 2001 | B1 |
6297824 | Hearst et al. | Oct 2001 | B1 |
6298478 | Nally et al. | Oct 2001 | B1 |
6311190 | Bayer et al. | Oct 2001 | B1 |
6327611 | Everingham | Dec 2001 | B1 |
6330569 | Baisley et al. | Dec 2001 | B1 |
6356931 | Ismael et al. | Mar 2002 | B2 |
6374241 | Lamburt et al. | Apr 2002 | B1 |
6385600 | McGuinness et al. | May 2002 | B1 |
6389429 | Kane et al. | May 2002 | B1 |
6446188 | Henderson et al. | Sep 2002 | B1 |
6449620 | Draper | Sep 2002 | B1 |
6457065 | Rich et al. | Sep 2002 | B1 |
6460045 | Aboulnaga et al. | Oct 2002 | B1 |
6496793 | Veditz et al. | Dec 2002 | B1 |
6502099 | Rampy et al. | Dec 2002 | B1 |
6510505 | Burns et al. | Jan 2003 | B1 |
6523019 | Borthwick | Feb 2003 | B1 |
6529888 | Heckerman et al. | Mar 2003 | B1 |
6556983 | Altschuler et al. | Apr 2003 | B1 |
6557100 | Knutson | Apr 2003 | B1 |
6621505 | Beauchamp et al. | Sep 2003 | B1 |
6633878 | Underwood | Oct 2003 | B1 |
6633882 | Fayyad et al. | Oct 2003 | B1 |
6633992 | Fayyad et al. | Oct 2003 | B1 |
6647383 | August et al. | Nov 2003 | B1 |
6662180 | Aref et al. | Dec 2003 | B1 |
6687702 | Vaitheeswaran et al. | Feb 2004 | B2 |
6704805 | Acker et al. | Mar 2004 | B1 |
6718535 | Underwood | Apr 2004 | B1 |
6742003 | Heckerman et al. | May 2004 | B2 |
6757708 | Craig et al. | Jun 2004 | B1 |
6795793 | Shayegan et al. | Sep 2004 | B2 |
6807537 | Thiesson et al. | Oct 2004 | B1 |
6842761 | Diamond et al. | Jan 2005 | B2 |
6842906 | Bowman-Amuah | Jan 2005 | B1 |
6879944 | Tipping et al. | Apr 2005 | B1 |
6907422 | Predovic | Jun 2005 | B1 |
6922695 | Skufca et al. | Jul 2005 | B2 |
6957186 | Guheen et al. | Oct 2005 | B1 |
6990636 | Beauchamp et al. | Jan 2006 | B2 |
6996565 | Skufca et al. | Feb 2006 | B2 |
7035809 | Miller et al. | Apr 2006 | B2 |
7043476 | Robson | May 2006 | B2 |
7099857 | Lambert | Aug 2006 | B2 |
7143091 | Charnock et al. | Nov 2006 | B2 |
7155427 | Prothia | Dec 2006 | B1 |
7181459 | Grant et al. | Feb 2007 | B2 |
7249131 | Skufca et al. | Jul 2007 | B2 |
7330845 | Lee et al. | Feb 2008 | B2 |
7487173 | Medicke et al. | Feb 2009 | B2 |
7526486 | Cushman, II et al. | Apr 2009 | B2 |
7567962 | Chakrabarti et al. | Jul 2009 | B2 |
7620647 | Stephens et al. | Nov 2009 | B2 |
7627550 | Adams et al. | Dec 2009 | B1 |
7685093 | Adams et al. | Mar 2010 | B1 |
7698268 | Adams et al. | Apr 2010 | B1 |
7788274 | Ionescu | Aug 2010 | B1 |
20020007284 | Schurenberg et al. | Jan 2002 | A1 |
20020073099 | Gilbert et al. | Jun 2002 | A1 |
20020080187 | Lawton | Jun 2002 | A1 |
20020087599 | Grant et al. | Jul 2002 | A1 |
20020095421 | Koskas | Jul 2002 | A1 |
20020099694 | Diamond et al. | Jul 2002 | A1 |
20020152422 | Sharma et al. | Oct 2002 | A1 |
20020156917 | Nye | Oct 2002 | A1 |
20020178360 | Wenocur et al. | Nov 2002 | A1 |
20030004770 | Miller et al. | Jan 2003 | A1 |
20030004771 | Yaung | Jan 2003 | A1 |
20030018652 | Heckerman et al. | Jan 2003 | A1 |
20030023773 | Lee et al. | Jan 2003 | A1 |
20030051063 | Skufca et al. | Mar 2003 | A1 |
20030065826 | Skufca et al. | Apr 2003 | A1 |
20030065827 | Skufca et al. | Apr 2003 | A1 |
20030105825 | Kring et al. | Jun 2003 | A1 |
20030120630 | Tunkelang | Jun 2003 | A1 |
20030145002 | Kleinberger et al. | Jul 2003 | A1 |
20030158850 | Lawrence et al. | Aug 2003 | A1 |
20030174179 | Suemondt et al. | Sep 2003 | A1 |
20030182101 | Lambert | Sep 2003 | A1 |
20030195836 | Hayes et al. | Oct 2003 | A1 |
20030195889 | Yao et al. | Oct 2003 | A1 |
20030195890 | Oommen | Oct 2003 | A1 |
20030220858 | Lam et al. | Nov 2003 | A1 |
20030227487 | Hugh | Dec 2003 | A1 |
20040107189 | Burdick et al. | Jun 2004 | A1 |
20040107205 | Burdick et al. | Jun 2004 | A1 |
20040122790 | Walker et al. | Jun 2004 | A1 |
20040143477 | Wolff | Jul 2004 | A1 |
20040143508 | Bohn et al. | Jul 2004 | A1 |
20040181526 | Burdick et al. | Sep 2004 | A1 |
20040181554 | Heckerman et al. | Sep 2004 | A1 |
20040220926 | Lamkin et al. | Nov 2004 | A1 |
20040260694 | Chaudhuri et al. | Dec 2004 | A1 |
20050004895 | Schurenberg et al. | Jan 2005 | A1 |
20050015381 | Clifford et al. | Jan 2005 | A1 |
20050015675 | Kolawa et al. | Jan 2005 | A1 |
20050050068 | Vaschillo et al. | Mar 2005 | A1 |
20050055345 | Ripley | Mar 2005 | A1 |
20050060286 | Hansen et al. | Mar 2005 | A1 |
20050071194 | Bormann et al. | Mar 2005 | A1 |
20050075917 | Flores et al. | Apr 2005 | A1 |
20050114369 | Gould et al. | May 2005 | A1 |
20050149522 | Cookson et al. | Jul 2005 | A1 |
20050154615 | Rotter et al. | Jul 2005 | A1 |
20050210007 | Beres et al. | Sep 2005 | A1 |
20050228808 | Mamou et al. | Oct 2005 | A1 |
20050240392 | Munro et al. | Oct 2005 | A1 |
20050256740 | Kohan et al. | Nov 2005 | A1 |
20050256882 | Able et al. | Nov 2005 | A1 |
20050273452 | Molloy et al. | Dec 2005 | A1 |
20060053172 | Gardner et al. | Mar 2006 | A1 |
20060053173 | Gardner et al. | Mar 2006 | A1 |
20060053382 | Gardner et al. | Mar 2006 | A1 |
20060064429 | Yao | Mar 2006 | A1 |
20060080312 | Friedlander et al. | Apr 2006 | A1 |
20060116983 | Dettinger et al. | Jun 2006 | A1 |
20060117032 | Dettinger et al. | Jun 2006 | A1 |
20060129605 | Doshi | Jun 2006 | A1 |
20060129971 | Rojer | Jun 2006 | A1 |
20060136205 | Song | Jun 2006 | A1 |
20060161522 | Dettinger et al. | Jul 2006 | A1 |
20060167896 | Kapur et al. | Jul 2006 | A1 |
20060179050 | Giang et al. | Aug 2006 | A1 |
20060190445 | Risberg et al. | Aug 2006 | A1 |
20060195560 | Newport | Aug 2006 | A1 |
20060265400 | Fain et al. | Nov 2006 | A1 |
20060271549 | Rayback et al. | Nov 2006 | A1 |
20060287890 | Stead et al. | Dec 2006 | A1 |
20070005567 | Hermansen et al. | Jan 2007 | A1 |
20070016450 | Bhora et al. | Jan 2007 | A1 |
20070055647 | Mullins et al. | Mar 2007 | A1 |
20070067285 | Blume et al. | Mar 2007 | A1 |
20070073678 | Scott et al. | Mar 2007 | A1 |
20070073745 | Scott et al. | Mar 2007 | A1 |
20070094060 | Apps et al. | Apr 2007 | A1 |
20070150279 | Gandhi et al. | Jun 2007 | A1 |
20070192715 | Kataria et al. | Aug 2007 | A1 |
20070198481 | Hogue et al. | Aug 2007 | A1 |
20070198600 | Betz | Aug 2007 | A1 |
20070214129 | Ture et al. | Sep 2007 | A1 |
20070214179 | Hoang | Sep 2007 | A1 |
20070217676 | Grauman et al. | Sep 2007 | A1 |
20070250487 | Reuther | Oct 2007 | A1 |
20070260492 | Feied et al. | Nov 2007 | A1 |
20070276844 | Segal et al. | Nov 2007 | A1 |
20070276858 | Cushman et al. | Nov 2007 | A1 |
20070299697 | Friedlander et al. | Dec 2007 | A1 |
20080005106 | Schumacher et al. | Jan 2008 | A1 |
20080016218 | Jones et al. | Jan 2008 | A1 |
20080120432 | Lamoureaux et al. | May 2008 | A1 |
20080126160 | Takuechi et al. | May 2008 | A1 |
20080243832 | Adams et al. | Oct 2008 | A1 |
20080243885 | Harger et al. | Oct 2008 | A1 |
20080244008 | Wilkinson et al. | Oct 2008 | A1 |
20090089317 | Ford et al. | Apr 2009 | A1 |
20090089332 | Harger et al. | Apr 2009 | A1 |
20090089630 | Goldenberg et al. | Apr 2009 | A1 |
20090198686 | Cushman, II et al. | Aug 2009 | A1 |
20100114877 | Adams et al. | May 2010 | A1 |
20100174725 | Adams et al. | Jul 2010 | A1 |
20100175024 | Schumacher et al. | Jul 2010 | A1 |
20110010214 | Carruth | Jan 2011 | A1 |
20110010346 | Goldenberg et al. | Jan 2011 | A1 |
20110010401 | Adams et al. | Jan 2011 | A1 |
20110010728 | Goldenberg et al. | Jan 2011 | A1 |
20110191349 | Ford et al. | Aug 2011 | A1 |
Number | Date | Country |
---|---|---|
9855947 | Dec 1998 | WO |
0159586 | Aug 2001 | WO |
0159586 | Aug 2001 | WO |
0175679 | Oct 2001 | WO |
03021485 | Mar 2003 | WO |
2004023297 | Mar 2004 | WO |
2004023311 | Mar 2004 | WO |
2004023345 | Mar 2004 | WO |
2009042931 | Apr 2009 | WO |
2009042941 | Apr 2009 | WO |
Entry |
---|
Fair, “Record Linkage in the National Dose Registry of Canada”, European Journal of Cancer, 33:S37-S43, XP005058648 ISSN: 0959-8049, Apr. 1997. |
Ohgaya, Ryosuke et al., “Conceptual Fuzzy Sets—, NAFIPS 2002, Jun. 27-29, 2002, pp. 274-279.Based Navigation System for Yahoo!”. |
Xue, Gui-Rong et al., “Reinforcing Web-Object Categorization Through Interrelationships”, Data Mining and Knowledge Discover, vol. 12, Apr. 4, 2006, pp. 229-248. |
Jason Woods, et al., “Baja Identity Hub Configuration Process”, Publicly available on Apr. 2, 2009, Version 1.3. |
Initiate Systems, Inc. “Refining the Auto-Link Threshold Based Upon Scored Sample”, Publicly available on Apr. 2, 2009; memorandum. |
Initiate Systems, Inc. “Introduction”, “False-Positive Rate (Auto-Link Threshold)”, Publicly available on Apr. 2, 2009; memorandum. |
Jason Woods, “Workbench 8.0 Bucket Analysis Tools”, Publicly available on Apr. 2, 2009. |
“Parsing” Publicly available on Oct. 2, 2008. |
Initiate, “Business Scenario: Multi-Lingual Algorithm and Hub,” Publicly available on Apr. 2, 2009. |
Initiate, “Business Scenario: Multi-Lingual & Many-To-Many Entity Solutions”, Publicly available on Apr. 2, 2009. |
Initiate, “Relationships-MLH”, presentation; Publicly available on Sep. 28, 2007. |
Initiate, “Multi-Lingual Hub Support viaMemtype Expansion”, Publicly available on Apr. 2, 2009. |
Initiate Systems, Inc. “Multi-Language Hubs”, memorandum; Publicly available on Apr. 2, 2009. |
Initiate, “Business Scenario: Support for Members in Multiple Entities”, Publicly available on Oct. 2, 2008. |
Initiate, “Group Entities”, Publicly available on Mar. 30, 2007. |
Jim Cushman, MIO 0.5: MIO As a Source; Initiate; Publicly available on Oct. 2, 2008. |
Initiate, “Provider Registry Functionality”, Publicly available on Oct. 2, 2008. |
Edward Seabolt, “Requirement Specification Feature #NNNN Multiple Entity Relationship”, Version 0.1—Draft; Publicly available on Oct. 2, 2008. |
Initiate, “Arriba Training Engine Callouts”, presentation; Publicly available on Mar. 30, 2007. |
Initiate, “Business Scenario: Callout to Third Party System”, Publicly available on Oct. 2, 2008. |
John Dorney, “Requirement Specification Feature #NNNN Conditional Governance”, Version 1.0—Draft; Publicly available on Oct. 2, 2008. |
Initiate, Release Content Specification, Identity Hub Release 6.1, RCS Version 1.0; Publicly available on Sep. 16, 2005. |
Initiate, “Initiate Identity Hub™ Manager User Manual”, Release 6.1; Publicly available on Sep. 16, 2005. |
End User Training CMT; CIO Maintenance Tool (CMT) Training Doc; Publicly available on Sep. 29, 2006. |
“Hierarchy Viewer—OGT 3.0t”, Publicly available on Sep. 25, 2008. |
“Building and Searching the OGT”, Publicly available on Sep. 29, 2006. |
Sean Stephens, “Requirement Specification B2B Web Client Architecture”, Version 0.1—Draft; Publicly available on Sep. 25, 2008. |
“As of: OGT 2.0”, Publicly available on Sep. 29, 2006. |
Initiate, “Java SDK Self-Training Guide”, Release 7.0; Publicly available on Mar. 24, 2006. |
Initiate, “Memtype Expansion Detailed Design”, Publicly available on Apr. 2, 2009. |
Adami, Giordano et al., “Clustering Documents in a Web Directory”, WIDM '03, New Orleans, LA, Nov. 7-8, 2003, pp. 66-73. |
Chen, Hao et al., “Bringing Order to the Web: Automatically Categorizing Search Results”, CHI 2000, CHI Letters, vol. 2, Issue 1, Apr. 1-6, 2000, pp. 145-152. |
“Implementation Defined Segments—Exhibit A”, Publicly available on Mar. 20, 2008. |
Initiate, “Implementation Defined Segments—Gap Analysis”, Publicly available on Mar. 20, 2008. |
“Supporting Hierarchies”, Publicly available on Nov. 29, 2007. |
Xue, Gui-Rong et al., “Implicit Link Analysis for Small Web Search”, SIGIR '03, Toronto, Canada, Jul. 28-Aug. 1, 2003, pp. 56-63. |
Liu, Fang et al., “Personalized Web Search for iMproving Retrieval Effectiveness”, IEEE Transactions on Knowledge and Data Engineering vol. 16, No. 1, Jan. 2004, pp. 28-40. |
Anyanwu, Kemafor et al. “SemRank: Ranking complex Relationship Search Results on the Semantic Web”, WWW 2005, Chiba, Japan May 10-14, 2005, pp. 117-127. |
International Preliminary Report on Patentability, PCT/US2008/58404, Mar. 21, 2011, 4 pages. |
European Search Report/EP07795659.7, Apr. 15, 2011, 7 pages. |
International Search Report and Written Opinion, for PCT/US2007/012073, Mailed Jul. 23, 2008, 12 pages. |
International Preliminary Report on Patentability Issued in PCT/US2007/013049, Mailed Dec. 17, 2008. |
International Search Report and Written Opinion issued in PCT/US2007/013049, mailed Jun. 13, 2008. |
Office Action issued in U.S. Appl. No. 11/809,792, mailed Aug. 21, 2009, 14 pages. |
Oracle Data Hubs: “The Emperor Has No Clothes?”, Feb. 21, 2005, Google.com, pp. 1-9. |
IEEE, no matched results , Jun. 30, 2009, p. 1. |
IEEE, no matched results, 1 pg., Sep. 11, 2009. |
Office Action issued in U.S. Appl. No. 11/522,223 dated Aug. 20, 2008, 16 pgs. |
Office Action issued in U.S. Appl. No. 11/522,223 dated Feb. 5, 2009, Adams, 17 pages. |
Notice of Allowance issued for U.S. Appl. No. 11/522,223, dated Sep. 17, 2009, 20 pages. |
De Rose, et al. “Building Structured Web Community Portals: A Top-Down, Compositional, and Incremental Approach”, VDLB, ACM, pp. 399-410, Sep. 2007. |
Microsoft Dictionary, “normalize”, at p. 20, Fifth Edition, Microsoft Corp., downloaded from http://proquest.safaribooksonline.com/0735614954 on Sep. 8, 2008. |
Office Action issued in U.S. Appl. No. 11/521,928 dated Apr. 1, 2009, 22 pages. |
Office Action issued in U.S. Appl. No. 11/521,928 dated Sep. 16, 2008, 14 pages. |
Notice of Allowance issued for U.S. Appl. No. 11/521,928, dated Sep. 18, 2009, 20 pages. |
Gopalan Suresh Raj, Modeling Using Session and Entity Beans, Dec. 1998, Web Comucopia, pp. 1-15. |
Scott W. Ambler, Overcoming Data Design Challenges, Aug. 2001, p. 1-3. |
XML, JAVA, and the future of the Web, Bosak, J., Sun Microsystems, Mar. 10, 1997, pp. 1-9. |
Integrated Document and Workflow Management applied to Offer Processing a Machine Tool Company, Stefan Morschheuser, et al., Dept. of Information Systems I, COOCS '95 Milpitas CA, ACM 0-89791-706-5/95, p. 106-115. |
Hamming Distance, HTML. Wikipedia.org, Available: http://en.wikipedia.org/wiki/Hamming—distance (as of May 8, 2008). |
Office Action Issued in U.S. Appl. No. 11/521,946 mailed May 14, 2008, 10 pgs. |
Office Action issued in U.S. Appl. No. 11/521,946 mailed Dec. 9, 2008, 10 pgs. |
Office Action issued in U.S. Appl. No. 11/521,946 mailed May 13, 2009, 12 pgs. |
Freund et al., Statistical Methods, 1993, Academic Press Inc., United Kingdom Edition, pp. 112-117. |
Merriam-Webster dictionary defines “member” as “individuals”. |
Waddington, D., “Does it signal convergence of operational and analytic MDM?” retrieved from the internet:<URL: http://www.intelligententerprise.com>, 2 pages, Aug. 2006. |
International Search Report mailed on Oct. 10, 2008, for PCT Application No. PCT/US07/20311 (10 pp). |
International Search Report and Written Opinion issued in PCT/US07/89211, mailing date of Jun. 20, 2008. |
International Search Report and Written Opinion for PCT/US08/58404, dated Aug. 15, 2008. |
International Search Report and Written Opinion mailed on Dec. 3, 2008 for International Patent Application No. PCT/US2008/077985. |
Gu, Lifang, et al., “Record Linkage: Current Practice and Future Directions,” CSIRO Mathematical and Informational Sciences, 2003, pp. 1-32. |
O'Hara-Schettino, et al., “Dynamic Navigation in Multiple View Software Specifications and Designs,” Journal of Systems and Software, vol. 41, Issue 2, May 1998, pp. 93-103. |
International Search Report and Written Opinion mailed on Oct. 10, 2008 for PCT Application No. PCT/US08/68979. |
International Search Report and Written Opinion mailed on Dec. 2, 2008 for PCT/US2008/077970. |
International Search Report and Written Opinion mailed on Aug. 28, 2008 for Application No. PCT/US2008/58665, 7 pgs. |
C.C. Gotlieb, Oral Interviews with C.C. Gotlieb, Apr. 1992, May 1992, ACM, pp. 1-72. |
Google.com, no match results, Jun. 30, 2009, p. 1. |
Supplementary European Search Report for EP 07 79 5659 dated May 18, 2010, 5 pages. |
European Communication for EP 98928878 (PCT/US9811438) dated Feb. 26, 2006. |
European Communication for EP 98928878 (PCT/US9811438) dated Mar. 10, 2008. |
European Communication for EP 98928878 (PCT/US9811438) dated Jun. 26, 2006. |
Gill, “OX-LINK: The Oxford Medical Record Linkage System”, Internet Citation, 1997. |
Newcombe et al., “The Use of Names for Linking Personal Records”, Journal of the American Statistical Association, vol. 87, Dec. 1, 1992, pp. 335-349. |
European Communication for EP 07795659 (PCT/US2007013049) dated May 27, 2010. |
Emdad Ahmed, “A Survey on Bioinformatics Data and Service Integration Using Ontology and Declaration Workflow Query Language”, Department of Computer Science, Wayne State University, USA, Mar. 15, 2007, pp. 1-67. |
International Preliminary Report on Patentability, PCT/US2007/89211, Apr. 30, 2012, 6 pages. |
European Search Report/EP07795108.5, May 29, 2012, 6 pages. |
Martha E. Fair, et al., “Tutorial on Record Linkage Slides Presentation”, Chapter 12, pp. 457-479, Apr. 1997. |
Number | Date | Country | |
---|---|---|---|
20080069132 A1 | Mar 2008 | US |
Number | Date | Country | |
---|---|---|---|
60845073 | Sep 2006 | US |