System and method for master data management
Abstract
Some implementations may provide a computer-assisted method for master data management, the method including: receiving configuration information defining a model of entities, each entity encoding attributes of a prescriber of one or more healthcare products; receiving specification information defining mapping logic, searching logic, and matching logic, and merging logic for processing base entities and related entities of the model; receiving data from more than one source customer databases, the customer database including data encoding prescribers of healthcare products and being maintained by more than one organizations; translating the received data into staging data according to the mapping logic in the received specification information; generating master data by processing the staging data according to the searching logic, matching logic, and merging logic in the received specification information; and synchronizing at least a portion of the master data to at least one of the source customer databases.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A computer-assisted method for master data management, the method comprising:
receiving configuration information encoding a model that defines base entities and related entities, each base entity representing a prescriber of one or more healthcare products, each related entity encoded to include attributes of a base entity; receiving specification information defining mapping logic, searching logic, matching logic, and merging logic for processing base entities and related entities of the model; receiving data from more than one source customer databases, the source customer databases including data encoding prescribers of healthcare products and being maintained by more than one organizations; translating the received data into staging data according to the mapping logic in the received specification information by incorporating the received mapping logic into an extraction, transformation, and loading (ETL) layer between the more than one source customer databases and the staging data such that database data from the more than one source customer databases are automatically transferred via a secure file transfer process after having been converted to staging data in a manner that maps at least one related entity via a many to one mapping to related base entities; based on the received configuration information and the received specification information, generating a master data schema that specifies the base entities as well as mapping and merging logic to relate the base entities by virtue of the related entities; generating master data by processing the staging data according to the searching logic, matching logic, and merging logic in the received specification information such that base entities under the master data schema are matched according to the matching logic and the matched base entities are subsequently merged according to the merging logic; and publishing the master data schema to cause at least a portion of the master data to be synchronized through the ETL layer at the source customer databases such that when data in a first source customer database is updated, a second source customer database, different from the first source customer database, is automatically synchronized in accordance with the master data schema, wherein both the first and the second source customer databases encode information from entities that have been mapped under the many-to-one mapping.
2. The method of claim 1 , wherein processing the staging data comprises:
based on the searching logic and matching logic in the received specification information, identifying staging data that encodes a particular prescriber.
3. The method of claim 2 , wherein identifying staging data that encodes the prescriber further comprises:
generating a matching score for the identified staging data based on the matching logic.
4. The method of claim 3 , wherein generating a matching score further comprises:
weighing and combining contributions of matching attributes of the prescriber as encoded by the identified staging data.
5. The method of claim 3 , wherein identifying staging data encoding the prescriber, further comprises:
identifying multiple instances of staging data corresponding to the particular prescriber.
6. The method of claim 5 , further comprising:
ranking the identified instances of staging data according to the corresponding matching scores.
7. The method of claim 5 , further comprising:
identifying duplicate instances of staging data encoding the same prescriber.
8. The method of claim 5 , further comprising:
identifying less updated instances encoding the same prescriber; and pruning the identified less updated instances.
9. The method of claim 5 , wherein processing the staging data further comprises:
flagging the identified instances of staging data to an operator.
10. method of claim 9 , further comprising:
receiving operator feedback to prune an identified instance.
11. The method of claim 9 , further comprising:
receiving operator feedback that chooses an identified instance as a unique instance encoding the particular prescriber.
12. The method of claim 1 , wherein publishing to cause at least a portion of the master data to be synchronized includes publishing to cause at least a portion of the master data to be synchronized to a source customer database for which the generated master data includes data encoding a prescriber that is inconsistent with data in the source customer database that encodes the same prescriber.
13. The method of claim 1 , wherein translating the data into staging data comprises:
converting data encoding a prescriber of healthcare products from one entity in a customer database to another entity under the received data model.
14. The method of claim 1 , further comprising:
receiving configuration information in an extendable mark-up language.
15. The method of claim 1 , wherein receiving data comprises: receiving data from a customer relationship management (CRM) database.
16. The method of claim 1 , wherein receiving data comprises: receiving data from an enterprise relationship management (ERM) database.
17. A computer system comprising a processor and at least one memory, the processor is configured to perform the operations of:
receiving configuration information encoding a model that defines base entities and related entities, each base entity representing a prescriber of one or more healthcare products, each related entity encoded to include attributes of a base entity; receiving configuration information encoding a model that defines base entities and related entities, each base entity representing a prescriber of one or more healthcare products, each related entity encoded to include attributes of a base entity; receiving specification information defining mapping logic, searching logic, matching logic, and merging logic for processing base entities and related entities of the model; receiving data from more than one source customer databases, the source customer databases including data encoding prescribers of healthcare products and being maintained by more than one organizations; translating the received data into staging data according to the mapping logic in the received specification information by incorporating the received mapping logic into an extraction, transformation, and loading (ETL) layer between the more than one source customer databases and the staging data such that database data from the more than one source customer databases are automatically transferred via a secure file transfer process after having been converted to staging data in a manner that maps at least one related entity via a many to one mapping to related base entities; based on the received configuration information and the received specification information, generating a master data schema that specifies the base entities as well as mapping and merging logic to relate the base entities by virtue of the related entities; generating master data by processing the staging data according to the searching logic, matching logic, and merging logic in the received specification information such that base entities under the master data schema are matched according to the matching logic and the matched base entities are subsequently merged according to the merging logic; and publishing the master data schema to cause at least a portion of the master data to be synchronized through the ETL layer at the source customer databases such that when data in a first source customer database is updated, a second source customer database, different from the first source customer database, is automatically synchronized in accordance with the master data schema, wherein both the first and the second source customer databases encode information from entities that have been mapped under the many-to-one mapping.
18. The computer system of claim 17 , wherein processing the staging data comprises:
based on the searching logic and matching logic in the received specification information, identifying staging data encoding a prescriber.
19. The computer system of claim 17 , wherein publishing to cause at least a portion of the master data to be synchronized includes publishing to cause at least a portion of the master data to be synchronized to a customer database for which the generated master data includes data encoding a prescriber that is inconsistent with data in the customer database that encodes the same prescriber.
20. The computer system of claim 17 , wherein translating the data into staging data comprises: incorporating the received mapping logic into an extraction, transformation, and loading (ETL) layer between the more than one customer database and the staging data.
21. The computer system of claim 17 , wherein translating the data into staging data comprises: converting data encoding a prescriber of healthcare products from one entity in a customer database to another entity under the received data model.
22. The computer system of claim 17 , further comprising:
receiving configuration information in an extendable mark-up language.
23. The computer system of claim 17 , wherein receiving data comprises: receiving data from a customer relationship management (CRM) database.
24. The computer system of claim 17 , wherein receiving data comprises: receiving data from an enterprise relationship management (ERM) database.
25. A non-transitory computer-readable medium comprising software instructions that, when executed by a processor of a computer, cause the processor to perform the operations of:
receiving configuration information encoding a model that defines base entities and related entities, each base entity representing a prescriber of one or more healthcare products, each related entity encoded to include attributes of a base entity; receiving specification information defining mapping logic, searching logic, matching logic, and merging logic for processing base entities and related entities of the model; receiving data from more than one source customer databases, the source customer databases including data encoding prescribers of healthcare products and being maintained by more than one organizations; translating the received data into staging data according to the mapping logic in the received specification information by incorporating the received mapping logic into an extraction, transformation, and loading (ETL) layer between the more than one source customer databases and the staging data such that database data from the more than one source customer databases are automatically transferred via a secure file transfer process after having been converted to staging data in a manner that maps at least one related entity via a many to one mapping to related base entities; based on the received configuration information and the received specification information, generating a master data schema that specifies the base entities as well as mapping and merging logic to relate the base entities by virtue of the related entities; generating master data by processing the staging data according to the searching logic, matching logic, and merging logic in the received specification information such that base entities under the master data schema are matched according to the matching logic and the matched base entities are subsequently merged according to the merging logic; and publishing the master data schema to cause at least a portion of the master data to be synchronized through the ETL layer at the source customer databases such that when data in a first source customer database is updated, a second source customer database, different from the first source customer database, is automatically synchronized in accordance with the master data schema, wherein both the first and the second source customer databases encode information from entities that have been mapped under the many-to-one mapping.
26. A method comprising:
translating source data into staging data based on a set of mapping logic, wherein the staging data is based on a data model that defines a set of base entities and a set of related entities for each of the set of base entities, each base entity in the set of base entities representing a prescriber in a set of prescribers and each related entity comprising an attribute of a corresponding prescriber; loading the staging data into a master account database, wherein the set of mapping logic is incorporated into an extraction, transformation, and loading (ETL) layer between a plurality of source customer databases where the source data is hosted and the master account database; generating, from the staging data, master data based at least in part on a set of search logic, a set of match logic, and a set of merge logic; generating, from the staging data, a master data schema based at least in part on the set of search logic, the set of match logic, and the set of merge logic, the master data schema to relate base entities among the set of base entities based on their corresponding related entities; and synchronizing, through the ETL layer, the master data across the plurality of source customer databases, such that when data in a first source customer database of the plurality of source customer databases is updated, a second source customer database of the plurality of source customer databases is automatically synchronized in accordance with the master data schema.
27. The method of claim 26, wherein generating the master data comprises: identifying one or more base entities of the staging data that each represent a particular prescriber based on the searching logic and matching logic.
28. The method of claim 27, wherein identifying the one or more base entities of the staging data that each represent the particular prescriber comprises:
generating a match score for each of the set of base entities based on the set of matching logic, wherein base entities that have a match score that exceeds a threshold represent the particular prescriber.
29. The method of claim 28, wherein generating a matching score for a base entity of the set of base entities comprises:
weighing and combining related entities of the base entity that match attributes of a master entity representing the particular prescriber, the master entity stored in the master account database.
30. The method of claim 29, further comprising:
identifying, from among base entities that do not have a match score above the threshold, one or more base entities that potentially represent the particular prescriber; and persisting base entities that do not have a match score above the threshold and do not potentially represent the particular prescriber as unique entities in the master account database.
31. The method of claim 30, further comprising:
for each of the one or more base entities that potentially represent the particular prescriber, determining whether to merge the base entity into the master entity based on the set of merge logic.
32. The method of claim 29, further comprising:
for each of the one or more base entities that represent the particular prescriber: determining whether the base entity is less updated than the master entity; and pruning the base entity if it is less updated than the master entity, and merging the base entity into the master entity if it is more updated than the master entity.
33. A system comprising:
a memory; and one or more processors operatively coupled to the memory, the memory storing instructions that, when executed by the one or more processors, cause the one or more processors to:
translate source data into staging data based on a set of mapping logic, wherein the staging data is based on a data model that defines a set of base entities and a set of related entities for each of the set of base entities, each base entity in the set of base entities representing a prescriber in a set of prescribers and each related entity comprising an attribute of a corresponding prescriber;
load the staging data into a master account database, wherein the set of mapping logic is incorporated into an extraction, transformation, and loading (ETL) layer between a plurality of source customer databases where the source data is hosted and the master account database;
generate, from the staging data, master data based at least in part on a set of search logic, a set of match logic, and a set of merge logic;
generate, from the set of staging data, a master data schema based at least in part on the set of search logic, the set of match logic, and the set of merge logic, the master data schema to relate base entities among the set of base entities by virtue of their corresponding related entities; and
synchronize, through the ETL layer, the master data across the plurality of source customer databases, such that when data in a first source customer database of the plurality of source customer databases is updated, a second source customer database of the plurality of source customer databases is automatically synchronized in accordance with the master data schema.
34. The system of claim 33, wherein to generating the master data comprises:
identifying one or more base entities of the staging data that each represent a particular prescriber based on the searching logic and matching logic.
35. The system of claim 34, wherein identifying the one or more base entities of the staging data that each represent the particular prescriber comprises:
generating a match score for each of the set of base entities based on the set of matching logic, wherein base entities that have a match score that exceeds a threshold represent the particular prescriber.
36. The system of claim 35, wherein generating a matching score for a base entity of the set of base entities comprises:
weighing and combining related entities of the base entity that match attributes of a master entity representing the particular prescriber, the master entity stored in the master account database.
37. The system of claim 36, wherein the instructions, when executed, cause the one or more processors to:
identify, from among base entities that do not have a match score above the threshold, one or more base entities that potentially represent the particular prescriber; and persist base entities that do not have a match score above the threshold and do not potentially represent the particular prescriber as unique entities in the master account database.
38. The system of claim 37, wherein the instructions, when executed, cause the one or more processors to:
for each of the one or more base entities that potentially represent the particular prescriber, determine whether to merge the base entity into the master entity based on the set of merge logic.
39. The system of claim 36, wherein the instructions, when executed, cause the one or more processors to:
for each of the one or more base entities that represent the particular prescriber:
determine whether the base entity is less updated than the master entity; and
prune the base entity if it is less updated than the master entity, and merge the base entity into the master entity if it is more updated than the master entity.
40. A non-transitory computer-readable medium having instructions stored thereon which, when executed by one or more processors, cause the one or more processors to:
translate source data into staging data based on a set of mapping logic, wherein the staging data is based on a data model that defines a set of base entities and a set of related entities for each of the set of base entities, each base entity in the set of base entities representing a prescriber in a set of prescribers and each related entity comprising an attribute of a corresponding prescriber; load the staging data into a master account database, wherein the set of mapping logic is incorporated into an extraction, transformation, and loading (ETL) layer between a plurality of source customer databases where the source data is hosted and the master account database;
generate, from the staging data, master data based at least in part on a set of search logic, a set of match logic, and a set of merge logic;
generate, from the set of staging data, a master data schema based at least in part on the set of search logic, the set of match logic, and the set of merge logic, the master data schema to relate base entities among the set of base entities by virtue of their corresponding related entities; and
synchronize, through the ETL layer, the master data across the plurality of source customer databases, such that when data in a first source customer database of the plurality of source customer databases is updated, a second source customer database of the plurality of source customer databases is automatically synchronized in accordance with the master data schema.
41. The system of claim 40, wherein generating the master data comprises:
identifying one or more base entities of the staging data that each represent a particular prescriber based on the searching logic and matching logic.
42. The system of claim 41, wherein identifying the one or more base entities of the staging data that each represent the particular prescriber comprises:
generating a match score for each of the set of base entities based on the set of matching logic, wherein base entities that have a match score that exceeds a threshold represent the particular prescriber.
43. The system of claim 42, wherein generating a matching score for a base entity of the set of base entities comprises:
weigh and combine related entities of the base entity that match attributes of a master entity representing the particular prescriber, the master entity stored in the master account database.
44. The system of claim 43, wherein the instructions, when executed, cause the one or more processors to:
identify, from among base entities that do not have a match score above the threshold, one or more base entities that potentially represent the particular prescriber; and persist base entities that do not have a match score above the threshold and do not potentially represent the particular prescriber as unique entities in the master account database.
45. The system of claim 44, wherein the instructions, when executed, cause the one or more processors to: for each of the one or more base entities that potentially represent the particular prescriber, determine whether to merge the base entity into the master entity based on the set of merge logic.
46. The system of claim 43, wherein the instructions, when executed, cause the one or more processors to:
for each of the one or more base entities that represent the particular prescriber:
determine whether the base entity is less updated than the master entity; and
prune the base entity if it is less updated than the master entity, and merge the base entity into the master entity if it is more updated than the master entity.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.