# US 12,001,394 B1 · User programmatic interface for supporting data access control in a database system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,394 B1
- Document ID: US12001394B1
- Status: Granted
- Kind: B1
- Application number: 17/390,782
- Filed: 2021-07-30
- Granted: 2024-06-04
- Earliest claimed: 2017-08-10
- Assignees: Veeva Systems Inc.
- Applicants: Veeva Systems Inc.
- Inventors: Peter Gassner; Andrew Han; Timothy S. Murphy; Chatham Reed; Arno Sosna; Jon Stone; Igor Tsives
- Web page: https://patentgrep.com/patent/US12001394B1

## CPC

- G06F 16/144: {Query formulation}
- G06F 16/148: {File search processing}
- G06F 16/245: Query processing
- G06F 16/248: Presentation of query results
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 2221/2113: Multi-level security, e.g. mandatory access control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for providing an API for a database system. The API may be provided to enable external application developers to build applications that can support the dynamic security model of the content management system and describe the runtime properties of records in data objects. The API of may provide a record property object and/or a query describe object when returning data set in response to a query by providing information about actions an end user can take on the data records, and to provide metadata required to understand a data response.

## Claims

### Claim 1

A computer-implemented method for managing online identity in an identity management system, the method comprising:
enabling display of a user registration page on a first website in response to a request from the first website, wherein the first website is controlled by a first server, and is associated with the identity management system;
receiving identity registration information of a first user, wherein the identity registration information is for creating an identity for the first user in the identity management system;
creating a first identity record in the identity management system for the first user;
receiving identity verification information of the first user, wherein the identity verification information indicating if the first user is licensed in a geographic region;
comparing the identity verification information of the first user with data in a master data management system;
determining that there is a match in the master data management system for the identity verification information of the first user;
verifying that the first user is licensed in the geographic region;
receiving a first query; and
obtaining a first data record in response to the first query.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identity verification information comprises medical license information.

### Claim 3 (depends on 1)

The method of claim 1, wherein the identity verification information comprises an address.

### Claim 4 (depends on 1)

The method of claim 1, further comprising: marking the identity record of the first user in the identity management system to indicate that the first user is medically licensed.

### Claim 5 (depends on 1)

The method of claim 1, wherein the master data management system stores the first user's business address.

### Claim 6 (depends on 1)

The method of claim 1, wherein the master data management system stores physician specialty information.

### Claim 7 (depends on 1)

The method of claim 1, wherein the master data management system stores health care organization information.

### Claim 8 (depends on 1)

The method of claim 1, wherein the master data management system stores de-duplicated data from at least two sources.

### Claim 9 (depends on 1)

The method of claim 1, wherein the master data management system stores verified health care provider (“HCP”) data.

### Claim 10 (depends on 1)

The method of claim 1, wherein the identity registration information comprises the first user's email address and login credentials.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
receiving a login request from the first user from a second website run by a second service provider web server; and
authenticating the first user with data in the identity management system.

### Claim 12 (depends on 11)

The method of claim 11, wherein the identity management system and the second service provider web server communicate via a Security Assertion Markup Language (“SAML”) protocol when authenticating the first user.

### Claim 13 (depends on 12)

The method of claim 12, further comprising: redirecting the second website to a first URL designated by the identity management system.

### Claim 14 (depends on 12)

The method of claim 12, further comprising: sending a first authentication result from the identity management system to the second website.

### Claim 15 (depends on 11)

The method of claim 11, wherein the identity management system and the second service provider web server communicate via an OpenID Connect protocol when authenticating the first user.

### Claim 16 (depends on 15)

The method of claim 15, further comprising: redirecting the first user's browser to a second URL, and wherein the second URL comprises an authentication code.

### Claim 17 (depends on 15)

The method of claim 15, further comprising: sending an access token by the identity management system corresponding to the authentication code.

### Claim 18 (depends on 1)

The method of claim 1, further comprising: associating a primary key in a Customer Relationship Management system (“CRM”) with the identity record.

### Claim 19 (depends on 18)

The method of claim 18, further comprising: resolving the primary key with data from the identity management system.

### Claim 20

An identity management system, comprising:
an identity data storage device for storing identity data; and
an identity management server for:
enabling display of a user registration page on a first website in response to a request from the first website, wherein the first website is controlled by a first server, and is associated with the identity management system;
receiving identity registration information of the first user, wherein the identity registration information is for creating an identity for the first user in the identity management system;
creating a first identity for the first user;
storing the first identity as a first identity record in the identity data storage device;
receiving identity verification information of the first user, wherein the identity verification information indicating if the first user is licensed in a geographic region;
comparing the identity verification information of the first user with data in a master data management system;
determining that there is a match in the master data management system for the identity verification information of the first user;
verifying that the first user is licensed in the geographic region; and
authenticating the first user with data in the identity data storage device.
