◆ Solution Architecture

Content Lifecycle Process

End-to-end architecture for pharmaceutical content creation, review, localisation, and distribution — orchestrated through Microsoft Azure AI Foundry and Microsoft Fabric.

Platform Microsoft AI Foundry + Fabric
States 8 lifecycle stages
Target cycle time < 24 working days
Reuse target > 45% modular content

The Central Question

What does Microsoft AI Foundry cover natively for pharmaceutical content operations, and what custom orchestration must be built? The guiding principle is Content-First, Platform-Second — the architecture serves the agreed review and governance process, not the other way around.

"Pharmaceutical content teams spend 60–70% of cycle time in handoff latency — waiting for the next reviewer to pick up a document. The goal of this architecture is to eliminate untracked handoffs by making every state transition an explicit, AI-assisted, measurable event within a unified Foundry orchestration layer."

What Microsoft Foundry Provides Natively

Azure AI Foundry (model hub + agent service) and Microsoft Fabric (OneLake + pipelines) together cover the AI backbone, data platform, and governance layer out of the box.

🤖
AI Model Catalogue

GPT-4o, GPT-4o-mini, Phi-4, and 1,700+ open models available via unified endpoint. Fine-tuning, prompt management, and A/B evaluation built in.

GPT-4o Phi-4 Fine-tuning
🧩
Agent Service

Stateful agents with tool use, memory, and multi-agent orchestration. Native MCP server support. Copilot Studio for no-code agent deployment.

Agents MCP Copilot Studio
🗄️
OneLake + Fabric Pipelines

Unified data lake with medallion architecture (Bronze → Silver → Gold). Real-time Eventstream ingestion, Spark notebooks, and SQL analytics endpoint.

OneLake Delta Lake Eventstream
🛡️
Content Safety + Purview

Azure AI Content Safety for automated compliance pre-screening. Microsoft Purview for data governance, lineage tracking, sensitivity labels, and audit logs.

Content Safety Purview DLP
🌐
Azure AI Translator

Neural machine translation for 100+ languages with custom glossary support. Domain-specific pharma models available via custom training on approved content corpus.

Neural MT Custom Glossary 100+ Languages
📊
Power BI + Real-Time Intelligence

Semantic models on top of OneLake Gold layer. Real-Time Intelligence dashboards for cycle time, SLA compliance, and content reuse analytics. Auto-refresh from Fabric pipelines.

Power BI RTI KQL

What Must Be Built

Four integration surfaces require custom development to connect Foundry's AI layer with the content operations workflow.

01
Brief Intelligence Agent

A Copilot Studio agent embedded in Microsoft Teams that captures campaign briefs via structured conversation, enriches them with brand guidelines and market data from OneLake, and submits a structured JSON brief to the content tracking Fabric lakehouse. Includes duplicate detection against existing content inventory.

02
Claims Validation Service

Azure Function triggered on each draft submission. Calls Azure AI Foundry with a specialised claims-check prompt that cross-references proposed claims against the approved claims register in OneLake. Returns a structured verdict (approved / needs-citation / flagged) before routing to human MLR review. Reduces unnecessary MLR cycles.

03
Event Router & State Machine

Azure Logic Apps workflow that listens to Fabric Eventstream state transitions and fans out notifications: Jira task creation for reviewers, Teams adaptive card notifications, Veeva PromoMats API sync for MLR state, and SharePoint metadata update for version control. Single source of truth — all downstream systems react to Foundry events, not to each other.

04
Publish & Distribution Pipeline

Post-approval Fabric data pipeline that packages approved master content for each channel (CMS via webhook, email via Dynamics 365, social schedulers via Graph API, Veeva CRM for field reps). Channel eligibility is determined by market approval metadata stored in OneLake. Auto-expiry is set as a Fabric notebook scheduled job that monitors publication date + configured shelf-life and triggers archival state transitions.

The Lifecycle Schema

Eight states map the full content journey. Click any state to expand inputs, automation logic, and decision criteria. State transitions are events published to Fabric Eventstream and consumed by the Event Router.

Requester
Brand Manager
Teams / Portal
1 Brief Submitted SLA: 1 day

Campaign brief captured via Teams AI agent. Structured JSON payload stored in Fabric lakehouse. Duplicate content check against active inventory.

▸ Click to expand
Inputs
  • Campaign objective & target audience
  • Product / indication
  • Channel & market scope
  • Reference materials
Automation
  • GPT-4o brief enrichment with brand guidelines
  • Similarity search against OneLake content index
  • Auto-assign to content writer (round-robin)
  • Jira ticket creation with brief ID
Copilot Studio Teams Adaptive Card OneLake Bronze Jira
Content Writer
Medical Writer
Word / SharePoint
2 AI-Assisted Authoring SLA: 4 days

GPT-4o drafts initial content from brief. Writer refines in Word/SharePoint with AI Foundry sidebar. Modular content blocks reused from OneLake library where approved.

▸ Click to expand
Inputs
  • Structured brief from state 1
  • Approved claims register (OneLake Gold)
  • Brand voice & style guide embedding
  • Modular content library index
Automation
  • GPT-4o initial draft generation
  • Auto-insert approved modular blocks
  • Semantic similarity → suggest reuse candidates
  • Incremental version save to SharePoint (v0.x)
Azure OpenAI GPT-4o AI Foundry Sidebar SharePoint OneLake Gold Claims
System
AI Agent
Automated
3 Claims Validation SLA: < 4 hrs

Automated pre-screening via Claims Validation Service. Each claim cross-referenced against approved register. Draft returned with annotation overlay before human review.

▸ Click to expand
Validation Logic
  • Claim extraction via NER (fine-tuned Phi-4)
  • Semantic match to approved claims DB
  • Citation requirement check
  • Regulatory jurisdiction flag (per market)
Outcomes
  • ✓ Approved — proceeds to Brand Review
  • ⚠ Needs citation — writer notified
  • ✗ Flagged claim — blocked, Jira raised
  • Audit log written to OneLake Silver
Azure Functions AI Foundry Claims Agent OneLake Claims Register Purview Audit Log
Brand Owner
Editor
SharePoint
4 Brand Review SLA: 3 days

Brand owner reviews tone, messaging alignment, and visual guidelines. AI Foundry brand consistency score displayed alongside document. Inline comments tracked in SharePoint.

▸ Click to expand
Review Criteria
  • Brand voice consistency score (>85%)
  • Visual identity compliance
  • Message hierarchy alignment
  • Competitor mention check
Automation
  • AI brand consistency scoring on submit
  • Teams reminder at T+2 days if no action
  • Escalation to brand director at T+3 days
  • Revision delta highlighted on re-submission
AI Foundry Brand Scorer SharePoint Comments Teams Notification Jira Status Sync
Medical · Legal
Regulatory
Veeva PromoMats
5 MLR Review SLA: 5 days

Parallel Medical, Legal, and Regulatory review executed in Veeva PromoMats with electronic signatures (21 CFR Part 11). State synced back to Foundry via Veeva Spark event → Event Router.

▸ Click to expand
Parallel Tracks
  • Medical: safety, efficacy claims
  • Legal: IP, fair balance, disclaimer
  • Regulatory: label compliance, market suitability
  • All three must approve to proceed
Foundry Role
  • AI pre-brief summarises changes for reviewers
  • Veeva state → Eventstream event → Fabric
  • Rejection → revision loop capped at 2 cycles
  • E-signature audit trail stored in OneLake
Veeva PromoMats Veeva Spark Events Fabric Eventstream 21 CFR Part 11 e-sig
Content Owner
HQ
Locked Record
6 Approved Master Locked v1.0

MLR approval locks the master record in OneLake Gold. Immutable version pinned in Veeva DAM. Embedding index updated for modular content reuse. Expiry date set.

▸ Click to expand
OneLake Gold Record
  • Immutable Delta Lake record (append-only)
  • Purview sensitivity label applied
  • Embedding stored for semantic reuse search
  • Expiry date calculated from shelf-life config
Downstream Triggers
  • Localisation queue populated per market list
  • Salesforce campaign record updated
  • Content library index refreshed
  • Power BI reuse rate metrics updated
OneLake Gold (immutable) Purview DLP Label Salesforce Sync AI Embeddings Index
Local Market
Manager
Teams / Portal
7 Localisation SLA: 7 days

Azure AI Translator pre-translates into target languages with pharma glossary. Local teams review via Teams AI agent. Derivative records inherit parent approval metadata.

▸ Click to expand
Translation Pipeline
  • Azure AI Translator with pharma custom model
  • Custom glossary enforced (brand names, INN)
  • Back-translation confidence score displayed
  • Local reviewer accepts / corrects via Teams
Governance
  • Derivative linked to parent master in Purview
  • Market-specific regulatory addenda attached
  • Local MLR re-approval only if content changed >15%
  • Parallel market processing (all markets simultaneously)
Azure AI Translator Copilot Studio Review OneLake Derivatives Purview Lineage
System
Automation
Fabric Scheduler
8 Live & Monitoring Ongoing

Content distributed to all approved channels. Fabric scheduled notebook monitors expiry dates and content performance. Auto-expiry transitions content to archive state.

▸ Click to expand
Distribution
  • CMS webhook (web channels)
  • Dynamics 365 (email campaigns)
  • Graph API (SharePoint, Teams)
  • Veeva CRM (field sales content)
Monitoring
  • Engagement metrics → OneLake Silver
  • T-30 day expiry warning → owner notification
  • Auto-archive on expiry date (Fabric notebook)
  • Reuse suggestions pushed to brief agent
CMS Webhook Dynamics 365 Veeva CRM Fabric Notebook Power BI RTI

Microsoft Foundry Architecture

Three architectural layers: AI Intelligence (Foundry model hub + agents), Data Platform (Fabric + OneLake), and Governance (Purview + Content Safety). All state events flow through a unified Eventstream bus.

AI Intelligence
🏗️
Azure AI Foundry
Model hub, prompt management, agent service, evaluations. Unified endpoint for all AI operations.
🤖
Copilot Studio Agents
Brief Intelligence Agent, Brand Review Assistant, Localisation Review Agent. No-code deployment with Teams integration.
Azure OpenAI GPT-4o
Drafting, claims extraction (NER), brand consistency scoring, change summarisation for reviewers.
🌐
Azure AI Translator
Neural MT with pharma custom model + brand glossary. Back-translation confidence scoring.
🛡️
Azure Content Safety
Automated content moderation layer before any public-facing output. Configurable severity thresholds per market.
Data Platform
🗄️
Microsoft Fabric + OneLake
Unified data lake with medallion layers. Bronze: raw events. Silver: cleaned state transitions. Gold: approved content records.
Fabric Eventstream
Real-time event bus. All state transitions published here. Consumed by Event Router (Logic Apps) and analytics pipelines.
📓
Fabric Notebooks (Spark)
Batch processing for embeddings refresh, expiry management scheduler, claims register sync from source systems.
📊
Power BI + Real-Time Intelligence
Cycle time, SLA compliance, revision counts, content reuse rate. Live KQL dashboards for ops teams.
🔧
Azure Logic Apps
Event Router: consumes Eventstream, fans out to Jira, Teams, Veeva, Salesforce, CMS. Single integration hub.
Governance
🔍
Microsoft Purview
Data lineage from brief to live content. Sensitivity labels (Confidential, MLR-Approved). GxP audit trail. DLP policy enforcement.
✍️
E-Signature (21 CFR Part 11)
Veeva PromoMats handles MLR e-signatures. Signature events synced to Purview audit log via Spark event → Eventstream bridge.
🔐
Entra ID + RBAC
Role-based access enforced at Fabric workspace level. Reviewer access scoped to assigned documents only. Conditional access for regulated data.
📋
Claims Register (OneLake Gold)
Master list of all approved claims with references, market scope, expiry, and status. Single source of truth for the Claims Validation Service.
Expiry Management
Fabric scheduled notebook runs daily. T-30 warning notification. T-0 auto-archive with Purview label update. Expiry reason logged.

Integration Map

All external system connections route through Azure Logic Apps (Event Router), eliminating point-to-point integrations. Foundry's Eventstream is the single source of lifecycle truth.

System Direction Integration Type Purpose
Veeva PromoMats Bidirectional Spark Events + REST API MLR workflow states, e-signatures, DAM asset versioning
Jira Outbound REST API via Logic Apps Task creation on state transition, status sync, SLA tracking
Microsoft Teams Outbound Teams Adaptive Cards + Bot Reviewer notifications, brief capture, approval confirmations
Salesforce Bidirectional Salesforce Connect + REST Campaign record creation, market approval status, CRM sync
SharePoint / OneDrive Bidirectional Graph API Document authoring, version history, reviewer access scoping
CMS (Web) Outbound Webhook (Logic Apps) Publish approved content to digital properties per market
Dynamics 365 Outbound Dataverse connector Email campaign scheduling with approved content packages
Veeva CRM Outbound Veeva REST API Push approved localised content to field sales CLM
SAP Inbound SAP Integration Suite Product metadata, market authorisation status, regulatory dates

Data Flow

Content data follows a medallion architecture in OneLake. All AI operations read from the Gold layer and write back enriched metadata. Eventstream is the real-time nervous system.

OneLake Medallion Flow
Source Systems
SAP · Veeva · SharePoint · Jira
Bronze Layer
Raw events & documents
Silver Layer
Cleaned state transitions + audit log
Gold Layer
Approved content records + claims register
AI Foundry
Reads claims, embeddings, guidelines
Power BI
Cycle time · Reuse · SLA dashboards
Event-Driven State Transitions
State Change
Any lifecycle state transition
Fabric Eventstream
Real-time event bus
Logic Apps Router
Fan-out to all consumers
Jira · Teams · Veeva
Notifications & task creation
Purview Audit Log
GxP-compliant audit trail

Implementation Roadmap

Four phases from process definition to full AI optimisation. Phase 0 must complete before committing to integration investment — no automation of undefined processes.

Phase 0
6 weeks
Foundation
Define process before platform. Manual pilot with one content type and two markets.
  • Map current content creation process (as-is swimlane)
  • Validate 8 lifecycle states with content ops, medical, brand
  • Audit existing claims register completeness
  • Baseline metrics: current cycle time, revision count, reuse rate
  • Identify approved modular content blocks for OneLake seeding
Phase 1
2 – 3 months
Core Tooling
Lightweight infrastructure: state tracking, brief agent, Teams notifications.
  • Fabric lakehouse + OneLake setup with Bronze/Silver/Gold layers
  • Brief Intelligence Agent in Copilot Studio (Teams)
  • State machine in Logic Apps with Eventstream
  • Jira integration + Teams adaptive card notifications
  • Basic Power BI cycle time dashboard
Phase 2
4 – 6 months
Full Integration
AI-assisted authoring, claims validation, Veeva MLR sync, localisation pipeline.
  • Azure AI Foundry project setup + GPT-4o authoring endpoint
  • Claims Validation Service (Azure Functions + NER model)
  • Veeva PromoMats ↔ Eventstream bridge for MLR state
  • Azure AI Translator localisation pipeline with pharma glossary
  • Salesforce + SAP integration via Logic Apps
  • Purview lineage + sensitivity labels across OneLake
Phase 3
6 – 12 months
AI Optimisation
Predictive analytics, modular content library at scale, AI-driven review pre-screening.
  • Modular content library with semantic search across 1,000+ approved blocks
  • Predictive cycle time model (flag high-risk submissions early)
  • Fine-tuned claims extraction model on company-specific corpus
  • Multi-channel publish pipeline (CMS, Dynamics, Veeva CRM)
  • Real-Time Intelligence dashboards for content ops leadership
  • Automated expiry management + content refresh suggestions

Key Metrics

Baseline measurements from Phase 0 define the starting point. Targets are validated after Phase 1 pilot and revised before Phase 2 investment.

< 24
Working Days
Brief to Approved Master
≤ 1.5
MLR Revision Cycles
Average per content item
> 45%
Modular Reuse Rate
Approved blocks reused
> 80%
Claims Pre-Approval
Auto-validated before MLR
< 4 hrs
Handoff Latency
Automated state transitions
100%
Audit Trail Coverage
GxP-compliant via Purview

Risks & Mitigations

Automating an undefined process
Building the Foundry integration layer before the content workflow is agreed forces rework and embeds bad process at scale.
Phase 0 mandatory: complete swimlane mapping and manual pilot before any Foundry investment. No exceptions.
Incomplete claims register
Claims Validation Service accuracy depends entirely on the quality and completeness of the approved claims register in OneLake Gold.
Dedicate 2 weeks in Phase 0 to claims register audit and remediation. Define owner. Set minimum coverage threshold before activating auto-validation.
Veeva MLR state sync complexity
Veeva Spark event schema changes break the Eventstream bridge silently, causing state drift between Foundry and PromoMats.
Schema validation on ingestion with dead-letter queue and alerting. Regular Veeva API version checks in CI pipeline.
AI-generated content regulatory risk
GPT-4o draft output may introduce unapproved claims or misleading language that passes claims validation but fails MLR.
AI output is always a starting draft, never submitted directly. Brand voice scoring and claims pre-validation are gates, not approvals. Human review is non-negotiable.
Low market team adoption of localisation flow
Local teams may bypass the Copilot Studio review agent and edit translated content offline, breaking lineage tracking in Purview.
Enforce SharePoint-only edit access for derivatives. Lock offline export until localisation state is completed. Measure adoption in Power BI and address per-market.