# US 10,320,878 B2 · System and method for preserving causality of audits

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

- Number: US 10,320,878 B2
- Document ID: US10320878B2
- Status: Granted
- Kind: B2
- Application number: 14/731,123
- Filed: 2015-06-04
- Published: 2015-09-24
- Granted: 2019-06-11
- Earliest claimed: 2013-10-14
- Assignees: Medidata Solutions, Inc.
- Applicants: Medidata Solutions, Inc.
- Inventors: Aaron Weiner; Matthew Szenher; Nolan Carroll; Isaac Wong
- Web page: https://patentgrep.com/patent/US10320878B2

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F 16/273: {Asynchronous replication or reconciliation}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G16H 10/20: for electronic clinical trials or questionnaires
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

A system for preserving causality of audits may include an upstream service, a downstream service, and an audit service. The upstream service receives a first request including a trace ID and a first span ID, generates a first audit concerning a resource owned by the upstream service and having the trace ID and the first span ID as metadata, persists the first audit to a first database, and generates a second request including the trace ID, a parent span ID, and a second span ID. The downstream service receives the second request from the upstream service, generates a second audit concerning a resource owned by the downstream service and having the trace ID, second span ID, and parent span ID as metadata, and persists the second audit to a second database. The audit service receives and asynchronously centralizes the first and second audits. The metadata can be used to infer causality of the audits. A method for preserving causality of audits is also disclosed and claimed.

## Claims

### Claim 1

A unified clinical system for determining causality of audits, comprising:
a clinical study web service that receives a first HTTP request including a trace ID and a first span ID, generates a first audit concerning a resource owned by said clinical study web service and having the trace ID and the first span ID as metadata, persists the first audit to a study database, and generates a second HTTP request including the trace ID, a parent span ID, and a second span ID;
an authorization web service that receives the second HTTP request from the clinical study web service, generates a second audit concerning a resource owned by said authorization web service and having the trace ID, second span ID, and parent span ID as metadata, and persists the second audit to an authorization database; and
an audit service for receiving and asynchronously centralizing the first and second audits, wherein the trace ID, first and second span IDs, and parent span ID are used to determine causality.

### Claim 2 (depends on 1)

The system of claim 1, wherein the clinical study web service converts the first span ID to the parent span ID and generates the second span ID.

### Claim 3 (depends on 1)

The system of claim 1, further comprising a logging service for logging the first and second HTTP requests.

### Claim 4 (depends on 1)

The system of claim 1, wherein the resource owned by the clinical study web service is a clinical study.

### Claim 5 (depends on 1)

The system of claim 1, wherein the resource owned by the authorization web service is an authorization.

### Claim 6 (depends on 1)

The system of claim 1, further comprising a front-end process that generates the trace ID, first span ID, and first HTTP request.

### Claim 7 (depends on 1)

The system of claim 1, further comprising a study optimization service that receives an HTTP request from the authorization web service, generates a third audit concerning a resource owned by said study optimization service and having the trace ID, a third span ID, and a second parent span ID as metadata, and persists the third audit to a study optimization database.

### Claim 8 (depends on 7)

The system of claim 7, wherein the audit service receives and asynchronously centralizes the third audit.

### Claim 9 (depends on 1)

The system of claim 1, further comprising a study optimization service that receives an HTTP request from the clinical study web service, generates a third audit concerning a resource owned by said study optimization service and having the trace ID, a third span ID, and the parent span ID as metadata, and persists the third audit to a study optimization database.

### Claim 10 (depends on 1)

The system of claim 1, wherein the first audit is based on an audit exported from a clinical device.

### Claim 11 (depends on 1)

The system of claim 1, wherein the first audit is based on an audit from a workflow service.
