Inferensys

Prompt

Conflict of Interest Detection Prompt for Authors

A practical prompt playbook for extracting funding declarations, employment affiliations, and competing interests from author metadata and disclosure statements in production AI workflows.
Data scientist building training data pipeline on laptop, data preprocessing visible, technical workspace.
PROMPT PLAYBOOK

When to Use This Prompt

Understand the job-to-be-done, ideal user, required context, and when not to use this prompt.

This prompt is designed for research synthesis and due-diligence AI systems that need to surface potential conflicts of interest (COI) from author-provided metadata and disclosure statements. It extracts structured data on funding sources, employment affiliations, and competing interests, then flags any undisclosed potential conflicts by cross-referencing declared affiliations against the research topic. Use this prompt when building evidence pipelines for grant review, journal submission checks, investment due diligence, or regulatory compliance workflows where author objectivity must be assessed before evidence is weighted.

The ideal user is an AI engineer or technical decision maker integrating COI detection into a production pipeline. The prompt assumes the input text contains disclosure statements or author metadata sections—it is not a general-purpose extraction prompt and will perform poorly on narrative prose, full-text articles, or unstructured author bios without explicit disclosure language. Required context includes the research topic or domain against which to cross-reference declared affiliations, a clear output schema for structured COI data, and a defined risk threshold for flagging undisclosed conflicts. The prompt works best when paired with a validation layer that checks extracted entities against known funding databases, employer records, or patent filings.

Do not use this prompt as a standalone compliance decision engine. It surfaces potential conflicts for human review but does not make final determinations about author bias or research validity. It is not suitable for real-time chat applications, consumer-facing products without human-in-the-loop review, or workflows where the input text lacks explicit disclosure language. In regulated domains such as pharmaceutical research or securities analysis, always route flagged outputs to a qualified reviewer and maintain an audit trail of the prompt version, input metadata, and extracted COI records. The next step after reading this section is to review the prompt template, adapt the placeholders to your domain, and design the validation harness before integrating it into your evidence pipeline.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Conflict of Interest Detection Prompt works, where it fails, and the operational prerequisites for production use.

01

Good Fit: Structured Disclosure Parsing

Use when: Author metadata, conflict-of-interest statements, and funding acknowledgments are available in structured or semi-structured text. Why: The prompt excels at extracting explicit declarations of employment, board seats, and grant funding from disclosure sections. Guardrail: Provide the disclosure text as a dedicated input field rather than relying on the model to locate it within a full paper.

02

Bad Fit: Implicit Relationship Inference

Avoid when: The goal is to infer undisclosed conflicts from co-authorship networks, citation patterns, or institutional affiliations without explicit statements. Why: The prompt is designed for extraction, not investigation. It will miss conflicts that require external knowledge or network analysis. Guardrail: Pair this prompt with a separate knowledge-graph or network-analysis module if undisclosed conflict detection is required.

03

Required Inputs: Disclosure Text and Author Metadata

What you need: A dedicated [DISCLOSURE_TEXT] field containing the conflict-of-interest statement, plus [AUTHOR_METADATA] with names, affiliations, and funding acknowledgments. Why: Without clean input separation, the model conflates general author information with specific conflict declarations. Guardrail: Pre-process PDFs or XML to extract disclosure sections before calling the prompt.

04

Operational Risk: Undisclosed Conflicts

What to watch: The prompt can only flag what is stated. Authors who omit conflicts entirely will produce clean output, creating a false sense of security. Guardrail: Add a secondary check that cross-references declared affiliations against known industry funding databases or requires human sign-off for high-stakes reviews.

05

Operational Risk: Ambiguous Language

What to watch: Authors may use vague language like 'potential consulting relationships' or 'occasional advisory roles' that evade clear classification. Guardrail: Configure the output schema to include a confidence score and an 'ambiguous_flag' boolean. Route flagged entries for human review before finalizing the conflict assessment.

06

Scale Consideration: Batch Processing

Use when: Processing multiple papers for a systematic review, journal editorial check, or due-diligence pipeline. Why: The structured output schema supports batch ingestion into a database for aggregate reporting. Guardrail: Implement a human-in-the-loop review queue for any detection with a confidence score below your defined threshold before publishing results.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready prompt template for extracting and flagging conflicts of interest from author disclosure statements.

This template is designed to be dropped directly into your application or evaluation harness. It instructs the model to act as a disclosure analyst, extracting structured conflict-of-interest (COI) data from provided author metadata and disclosure text. The prompt uses strict square-bracket placeholders for all variable inputs, allowing you to swap in your own data, output schema, and risk thresholds without altering the core instruction logic. The template is structured to produce a JSON array of findings, making it suitable for downstream database insertion, API responses, or human-review queues.

text
You are a disclosure analyst. Your task is to extract and flag conflicts of interest from the provided author disclosure statements and metadata.

# INPUT
Author Name: [AUTHOR_NAME]
Author Metadata: [AUTHOR_METADATA]
Disclosure Text: [DISCLOSURE_TEXT]

# OUTPUT SCHEMA
Return a valid JSON object with the following structure:
{
  "author": "string",
  "findings": [
    {
      "type": "funding | employment | competing_interest | undisclosed_potential",
      "description": "string (concise, factual description of the conflict)",
      "source_quote": "string (exact text from the disclosure that supports this finding)",
      "confidence": "high | medium | low",
      "requires_human_review": true | false
    }
  ],
  "no_conflicts_found": true | false,
  "analysis_notes": "string (brief summary of the overall assessment)"
}

# CONSTRAINTS
- Only report conflicts that are explicitly stated or strongly implied by the disclosure text.
- For "undisclosed_potential" types, flag only if the author metadata (e.g., known employer, recent grants) suggests a conflict that is absent from the disclosure. Set confidence to "low" and requires_human_review to true.
- Do not invent or assume conflicts not supported by the provided text.
- If no conflicts are found, set no_conflicts_found to true and return an empty findings array.

# RISK LEVEL
[RISK_LEVEL]

# EXAMPLES
[EXAMPLES]

To adapt this template, replace the square-bracket placeholders with your production data. [AUTHOR_NAME] and [AUTHOR_METADATA] should be populated from your author database or submission system. [DISCLOSURE_TEXT] is the raw text of the disclosure statement. The [RISK_LEVEL] placeholder allows you to inject context-specific instructions—for example, in a high-stakes regulatory workflow, you might add: 'This is a HIGH-RISK review. All findings must be flagged for human review. Err on the side of caution.' The [EXAMPLES] placeholder should be filled with one or two few-shot examples demonstrating the desired output format, especially for edge cases like undisclosed potential conflicts. After generating the output, validate the JSON structure and route any finding with requires_human_review: true to a review queue before accepting the result.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Conflict of Interest Detection Prompt. Each placeholder must be populated before the prompt is sent. Validation notes describe how to check input quality and what to do when an input is missing or malformed.

PlaceholderPurposeExampleValidation Notes

[AUTHOR_NAME]

Full name of the author being evaluated

Maria Chen, PhD

Non-empty string. Reject if null or whitespace. Normalize to Last, First format before lookup.

[AUTHOR_AFFILIATIONS]

Current and past institutional affiliations from manuscript metadata

Stanford University (2021-present); Genentech (2018-2021)

Array of strings or structured JSON. If empty, set flag affiliations_missing: true. Do not infer from other fields.

[DISCLOSURE_STATEMENT]

Full text of the author's conflict of interest disclosure section

Dr. Chen reports consulting fees from Pfizer and grant support from NIH R01-HL123456.

Raw text block. If null or contains only 'None declared', set disclosure_provided: false. Do not parse funding from body text here.

[FUNDING_SOURCES]

List of funding entities extracted from the manuscript acknowledgments or funding section

["NIH R01-HL123456", "Pfizer unrestricted grant"]

Array of strings. Cross-reference with [DISCLOSURE_STATEMENT] for omissions. Empty array is valid but triggers undisclosed-funding check.

[MANUSCRIPT_TOPIC_TERMS]

Key terms describing the manuscript's subject domain for relevance matching

["PCSK9 inhibitors", "LDL cholesterol", "cardiovascular outcomes"]

Array of 3-10 strings. Used to assess whether a disclosed relationship is topically relevant. Reject if fewer than 3 terms.

[AUTHOR_ROLE]

The author's stated role on the manuscript

First author; Corresponding author

Enum: First author, Corresponding author, Senior author, Co-author, Contributor. Defaults to Co-author if unspecified. Senior and corresponding authors trigger higher scrutiny thresholds.

[PUBLICATION_DATE]

Date of manuscript submission or publication in ISO 8601 format

2024-03-15

Parse as date. Used to calculate recency windows for financial relationships. Reject if unparseable. Default lookback window is 36 months unless overridden.

[REVIEWER_FLAG]

Whether the author also served as a reviewer or editor for this submission

Boolean. If true, escalate to human review regardless of other findings. Defaults to false if not provided.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Conflict of Interest Detection prompt into a production application with validation, retries, and human review gates.

This prompt is designed to operate as a structured extraction step inside a larger due-diligence or research synthesis pipeline. It should not be exposed directly to end users as a free-text chat interface. Instead, wire it as a single-turn extraction call that receives pre-processed author metadata and disclosure statements, and returns a typed JSON object that downstream systems can ingest. The prompt expects two primary inputs: an [AUTHOR_PROFILE] containing name, affiliations, and known funding sources, and a [DISCLOSURE_TEXT] containing the verbatim conflict-of-interest statement or acknowledgments section from the publication. If your system retrieves these from PDFs or HTML, run document extraction and normalization before calling this prompt—do not pass raw scanned text or unparsed markup.

Validation and retry logic is critical because the output drives compliance and editorial decisions. After receiving the model response, validate the JSON structure against the expected schema: conflicts_detected (boolean), declared_conflicts (array of objects with entity, relationship_type, disclosure_verbatim), potential_undeclared_conflicts (array of objects with entity, evidence_source, confidence), and assessment_notes (string). If the JSON fails to parse, retry once with a repair prompt that includes the raw output and the schema. If the confidence field for any undeclared conflict falls below a configurable threshold (we recommend 0.7), route that item to a human review queue rather than surfacing it automatically. Log every extraction attempt with the input hash, model version, raw output, validation result, and reviewer decision for auditability.

Model choice and tool use should match the risk profile. For high-stakes applications—journal submissions, regulatory filings, grant reviews—use a model with strong instruction-following and structured output support (GPT-4o, Claude 3.5 Sonnet, or equivalent). Enable structured output mode if your provider supports it, rather than relying on parse-and-repair loops. This prompt does not require tool calls or retrieval-augmented generation during extraction, but you may chain it with an upstream RAG step that fetches author publication histories, funding databases (e.g., NIH RePORTER, Crossref Funder Registry), or institutional affiliation records to improve undeclared conflict detection. If you add retrieval, pass the retrieved evidence into the [AUTHOR_PROFILE] field as structured context, not as raw search results. Always include a human review gate before any flagged conflict is surfaced to an external audience—this prompt identifies signals, not final determinations.

IMPLEMENTATION TABLE

Expected Output Contract

Structured output fields the model must return for each author disclosure evaluation. Use this contract to validate responses before downstream ingestion.

Field or ElementType or FormatRequiredValidation Rule

author_id

string

Must match the [AUTHOR_ID] input exactly; non-empty

author_name

string

Must match the [AUTHOR_NAME] input; non-empty

disclosure_text

string

Must be the raw [DISCLOSURE_TEXT] input; null if input was null

funding_sources

array of objects

Each object must have 'funder_name' (string), 'grant_id' (string|null), 'relationship_type' (enum: direct, institutional, in-kind)

employment_affiliations

array of objects

Each object must have 'organization' (string), 'role' (string|null), 'current' (boolean), 'dates_mentioned' (string|null)

competing_interests_declared

array of strings

Each entry must be a non-empty string summarizing a declared interest; empty array if none found

undisclosed_conflict_flags

array of objects

Each object must have 'concern' (string), 'evidence_fragment' (string), 'severity' (enum: low, medium, high, critical), 'requires_human_review' (boolean)

confidence_score

number

Float between 0.0 and 1.0 representing overall extraction confidence; values below 0.6 must trigger human review

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when detecting conflicts of interest in author disclosures and how to prevent it.

01

Undisclosed Funding Sources

What to watch: The model accepts the absence of a disclosure statement as evidence of no conflict. Authors may omit funding from industry sponsors, and the prompt treats missing data as clean data. Guardrail: Require explicit disclosure text as input. If no disclosure section is found, flag the author record as 'incomplete' rather than 'no conflict.' Never infer absence from silence.

02

Employment Affiliation Blind Spots

What to watch: The model misses conflicts when an author lists an academic affiliation but holds a concurrent industry position, paid advisory role, or board seat not declared in the same document. Guardrail: Cross-reference affiliation fields against external employment signals when available. Prompt the model to flag single-affiliation listings when the author's publication history suggests multiple institutional ties.

03

Temporal Scope Creep

What to watch: The model flags a conflict from a decade-old funding relationship that is no longer relevant, or misses a recent conflict because the disclosure predates the current work. Guardrail: Include a temporal relevance window in the prompt constraints. Require the model to note the date of each disclosure and apply a configurable recency threshold before classifying a conflict as active.

04

Over-Classification of Benign Relationships

What to watch: The model flags every industry co-authorship, conference sponsorship, or institutional grant as a conflict, producing noisy output that reviewers ignore. Guardrail: Define materiality thresholds in the prompt. Distinguish between direct financial interest, personal compensation, and general institutional funding. Output a severity tier so reviewers can triage rather than dismiss.

05

Entity Resolution Failures

What to watch: The model fails to connect a disclosed relationship with 'PharmaCorp Inc.' to the same entity listed as 'PharmaCorp International' in the study sponsor field. String mismatch produces false negatives. Guardrail: Include an entity normalization step before conflict detection. Provide known aliases, subsidiary relationships, and parent-company mappings in the prompt context when available.

06

Structured Output Drift Under Ambiguity

What to watch: When disclosures are vague or use hedging language, the model either hallucinates a clean structured record or omits the ambiguous entry entirely. Guardrail: Require an explicit confidence field and an 'ambiguous_disclosure' flag in the output schema. When language is uncertain, the model must preserve the original text and mark it for human review rather than resolving ambiguity silently.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing whether the conflict-of-interest detection prompt produces accurate, complete, and production-safe outputs before deployment.

CriterionPass StandardFailure SignalTest Method

Funding disclosure extraction

All declared funding sources in [AUTHOR_METADATA] and [DISCLOSURE_TEXT] are extracted with source, grant ID, and year when present

Missing a funding source explicitly stated in the input; extracting a funding source not present in the input (hallucination)

Run against 10 golden author profiles with known funding disclosures; compare extracted list to ground truth; require 100% recall and 100% precision

Employment affiliation extraction

All current and past (within 3 years) employer affiliations are extracted with organization name, role, and date range from [AFFILIATION_TEXT]

Omitting a listed employer; fabricating an employer not in the input; missing the date range when provided

Test against 10 author profiles with pre-labeled affiliation spans; require exact-match organization name and date range when present

Competing interest flagging

Each extracted relationship is correctly classified as 'declared_conflict', 'potential_undisclosed_conflict', or 'no_conflict_detected' per [CONFLICT_DEFINITIONS]

Classifying a declared relationship as no conflict; flagging a clearly unrelated organization as a conflict; missing an undisclosed conflict when the author's topic directly involves a prior employer

Use 15 labeled examples with known conflict classifications; measure F1 >= 0.90 for each class; manually review all 'potential_undisclosed_conflict' flags

Undisclosed conflict detection

When [MANUSCRIPT_TOPIC] overlaps with a prior affiliation or funding source not declared in [DISCLOSURE_TEXT], the output flags it with specific evidence and a confidence score

Failing to flag a clear overlap (e.g., author writes about drug efficacy while previously employed by the manufacturer without disclosure); flagging an overlap with no plausible connection

Test with 10 constructed scenarios where undisclosed conflicts are known; require recall >= 0.85; manually verify all flagged cases include specific evidence spans

Output schema compliance

Output is valid JSON matching [OUTPUT_SCHEMA] with all required fields present and correctly typed; null used only where data is genuinely absent

Missing required fields; wrong types (e.g., string instead of array); null where data exists in input; extra fields not in schema

Validate output against JSON Schema definition programmatically; run 50 test cases; require 100% schema compliance

Confidence score calibration

Confidence scores in [0,1] correlate with evidence strength; scores >= 0.8 only when multiple explicit signals present; scores <= 0.3 when evidence is weak or ambiguous

Assigning confidence >= 0.9 to a single weak signal; assigning confidence <= 0.1 to a clearly documented conflict; uniform scores across all outputs

Plot confidence score distribution across 50 test cases; verify monotonic relationship with evidence count; spot-check 10 high-confidence and 10 low-confidence outputs for reasonableness

Evidence citation format

Every flagged conflict includes a citation field with source document identifier, relevant excerpt, and character offset range from the input text

Missing citation on a flagged conflict; citation excerpt does not match the input text; offset range is invalid or points to wrong location

Parse all citation offsets and verify they match the input text at those positions; require 100% valid offsets; spot-check 20 citations for excerpt accuracy

Null handling and abstention

When [AUTHOR_METADATA] and [DISCLOSURE_TEXT] contain no conflict signals, output returns empty arrays with a summary indicating no conflicts detected, not fabricated findings

Returning fabricated conflicts when input is clean; returning error or invalid JSON when no conflicts exist; omitting the summary field

Test with 5 clean author profiles known to have no conflicts; require empty conflict arrays, valid JSON, and a truthful summary message

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Add a strict JSON output schema with fields: conflict_found (boolean), conflict_type (enum: financial, employment, board_role, patent, family, none), disclosed (boolean), evidence_spans (array of quoted text), and confidence (0-1). Wrap the prompt in a retry loop that validates schema compliance. Log every assessment with the model version, input hash, and output for audit.

Watch for

  • Silent format drift when the model returns extra fields or omits evidence_spans
  • Confidence scores that don't correlate with actual detection accuracy—add eval cases with known conflicts
  • Missing human review for confidence < 0.85 or conflict_type values other than none
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.