Developer Guides

Step-by-Step Guides

Practical, code-first tutorials for building healthcare AI applications on HealthCloud. Each guide takes you from zero to a working production system.

Quickstart โ€” 0 to Running in 5 Steps

Get the HealthCloud platform running with your first workflow execution in under 10 minutes.

1

Get Your API Key

Generate an API key from your HealthCloud developer account.

bash
export HC_API_KEY=hc_test_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2

Create a Project

Create a project to house your assets and deployments.

http
POST /v1/projects
{
  "name": "My First Project",
  "organization_id": "org_123",
  "environment": "sandbox"
}
3

Install an Agent

Install a pre-built agent from the HealthCloud Marketplace.

http
POST /v1/assets/install
{
  "asset_id": "agent_diagnostic_v1",
  "project_id": "proj_abc"
}
4

Deploy the Asset

Deploy the installed agent to your sandbox environment.

http
POST /v1/deployments
{
  "asset_id": "agent_diagnostic_v1",
  "project_id": "proj_abc",
  "environment": "sandbox",
  "config": {}
}
5

Run a Workflow

Execute a diagnostic workflow and receive a result.

http
POST /v1/workflows/run
{
  "workflow_id": "uti_screening",
  "input": {
    "patient_id": "pat_demo_001"
  }
}

// Response
{
  "status": "completed",
  "result": {
    "diagnosis": "UTI Likely",
    "confidence": 0.91,
    "recommended_action": "antibiotic_treatment"
  }
}

End-to-End Application Guides

Complete tutorials for the most common healthcare AI use cases on HealthCloud.

๐Ÿงช

Build a Diagnostic AI Application

Intermediate45 min

Create an AI-powered screening application for UTI detection using HealthCloud diagnostic models, FHIR-native data storage, and automated provider notification.

1

Install the Diagnostic Model

Install the UTI Diagnostic Model from the marketplace into your project.

HTTP
POST /v1/assets/install
{
  "asset_id": "model_uti_diagnostic_v2",
  "project_id": "proj_abc"
}
2

Connect a Clinical Dataset

Link a synthetic patient dataset to use for model validation.

HTTP
POST /v1/integrations/configure
{
  "type": "dataset",
  "dataset_id": "ds_synthetic_uti_1k",
  "project_id": "proj_abc"
}
3

Create the Screening Workflow

Define the end-to-end workflow from symptom intake to result delivery.

HTTP
POST /v1/workflows
{
  "name": "UTI Screening",
  "steps": [
    "collect_intake_form",
    "run_uti_diagnostic_model",
    "generate_lab_order",
    "notify_provider"
  ]
}
4

Deploy the API Endpoint

Deploy the workflow as an accessible API endpoint.

HTTP
POST /v1/deployments
{
  "workflow_id": "wf_uti_screening",
  "environment": "production",
  "expose_endpoint": true
}

Sample Output

200 OK
{
  "diagnosis": "Likely UTI",
  "confidence": 0.92,
  "evidence": ["dysuria", "frequency", "elevated_wbc"],
  "recommended_action": "antibiotic_treatment",
  "suggested_order": "urine_culture"
}
โค๏ธ

Remote Patient Monitoring (RPM)

Intermediate60 min

Build a continuous vital-sign monitoring system that ingests device data, normalizes to FHIR, triggers anomaly detection, and alerts care teams.

1

Connect the Device API

Configure a device connector for Dexcom continuous glucose monitoring.

HTTP
POST /v1/integrations/configure
{
  "type": "device",
  "provider": "dexcom",
  "credentials": {
    "client_id": "dc_client_xxx",
    "client_secret": "dc_secret_xxx"
  }
}
2

Normalize Data to FHIR

Configure the FHIR normalization pipeline for glucose readings.

HTTP
POST /v1/pipelines/fhir-mapping
{
  "source": "dexcom_glucose",
  "target_resource": "Observation",
  "loinc_code": "2339-0",
  "unit": "mg/dL"
}
3

Create the Alert Workflow

Define threshold-based alert logic and care team notification.

HTTP
POST /v1/workflows
{
  "name": "Glucose Alert Workflow",
  "trigger": {
    "event": "observation.created",
    "condition": "value > 180 OR value < 70"
  },
  "steps": ["anomaly_detection", "risk_score", "alert_provider"]
}
4

Deploy the Monitoring Agent

Deploy the RPM monitoring agent to run continuously.

HTTP
POST /v1/deployments
{
  "asset_id": "agent_rpm_monitor_v1",
  "config": {
    "check_interval_minutes": 5,
    "alert_channel": "webhook"
  }
}

Sample Output

200 OK
{
  "alert_type": "glucose_critical_high",
  "patient_id": "pat_123",
  "observation": {
    "value": 247,
    "unit": "mg/dL",
    "recorded_at": "2026-03-17T14:22:00Z"
  },
  "severity": "urgent",
  "provider_notified": true
}
๐Ÿ“„

Automate Prior Authorization

Advanced90 min

Build a fully automated prior authorization workflow that connects EHR data, submits to payer APIs, tracks status, and handles appeals.

1

Install the Prior Auth Agent

Install the HealthCloud Prior Authorization Agent.

HTTP
POST /v1/assets/install
{
  "asset_id": "agent_prior_auth_v1",
  "project_id": "proj_abc"
}
2

Connect the CMS API

Configure the CMS Prior Authorization API integration.

HTTP
POST /v1/integrations/configure
{
  "type": "payer",
  "provider": "cms",
  "api_version": "PAS_R4",
  "endpoint": "https://prior-auth.cms.gov/fhir/r4"
}
3

Create the Auth Workflow

Build the end-to-end prior auth workflow with appeals handling.

HTTP
POST /v1/workflows
{
  "name": "CMS Prior Authorization",
  "steps": [
    "extract_patient_data",
    "verify_eligibility",
    "submit_prior_auth",
    "track_status",
    "handle_denial"
  ]
}
4

Configure Webhook Callbacks

Subscribe to payer approval and denial events via webhooks.

HTTP
POST /v1/webhooks
{
  "url": "https://your-app.com/webhooks/prior-auth",
  "events": [
    "prior_auth.approved",
    "prior_auth.denied",
    "prior_auth.pending_info"
  ]
}

Sample Output

200 OK
{
  "authorization_id": "auth_cms_456789",
  "status": "approved",
  "patient_id": "pat_123",
  "procedure_code": "99091",
  "valid_from": "2026-03-18",
  "valid_to": "2026-06-18",
  "payer": "CMS"
}
๐Ÿ”—

Connect an EHR (Epic / Athenahealth)

Intermediate30 min

Configure a bidirectional FHIR integration with Epic or Athenahealth to sync patient data, write observations, and launch SMART apps.

1

Configure the EHR Connector

Select and configure your EHR connector from the integration catalog.

HTTP
POST /v1/integrations/configure
{
  "type": "ehr",
  "provider": "epic",
  "fhir_base_url": "https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4",
  "auth_type": "smart_on_fhir"
}
2

Authenticate with SMART on FHIR

Complete the OAuth 2.0 SMART on FHIR authorization flow.

HTTP
// Redirect user to Epic authorization
GET /v1/integrations/epic/authorize?
  response_type=code&
  client_id=hc_app_xxx&
  scope=patient/*.read+launch/patient&
  redirect_uri=https://your-app.com/callback
3

Map FHIR Resources

Define which FHIR resources to sync and how they map to your data model.

HTTP
POST /v1/integrations/epic/resource-map
{
  "resources": ["Patient", "Observation", "Condition", "Encounter"],
  "sync_frequency": "real_time",
  "direction": "bidirectional"
}
4

Sync Patient Data

Initiate the first patient data synchronization.

HTTP
POST /v1/integrations/epic/sync
{
  "patient_ids": ["pat_123", "pat_456"],
  "resources": ["Patient", "Observation"],
  "date_range": {
    "start": "2025-01-01",
    "end": "2026-03-17"
  }
}

Sample Output

200 OK
{
  "sync_id": "sync_epic_789",
  "status": "completed",
  "resources_synced": {
    "Patient": 142,
    "Observation": 3847,
    "Condition": 289,
    "Encounter": 712
  },
  "duration_ms": 4230
}
๐Ÿค–

Multi-Agent Workflow with MCP

Advanced2 hrs

Coordinate multiple AI agents using the Model Context Protocol (MCP) to build a collaborative prior authorization and eligibility verification system.

1

Create an MCP Session

Initialize an MCP session to coordinate multiple agents.

HTTP
POST /v1/mcp/sessions
{
  "agents": [
    "agent_intake_v1",
    "agent_eligibility_v1",
    "agent_prior_auth_v1",
    "agent_followup_v1"
  ],
  "context": {
    "patient_id": "pat_123",
    "workflow": "prior_authorization"
  }
}
2

Attach Agents to the Session

Attach each agent to the shared MCP session context.

HTTP
POST /v1/mcp/sessions/sess_abc/agents
{
  "agent_id": "agent_eligibility_v1",
  "role": "eligibility_verifier",
  "permissions": ["read_patient", "query_payer"]
}
3

Share Context Between Agents

Inject shared patient context that all agents can access.

HTTP
POST /v1/mcp/sessions/sess_abc/context
{
  "patient": {
    "id": "pat_123",
    "condition": "UTI",
    "payer": "CMS"
  },
  "insurance": {
    "member_id": "CMS_9876543",
    "plan": "Medicare Part B"
  }
}
4

Execute the Workflow

Run the multi-agent workflow with shared context.

HTTP
POST /v1/mcp/sessions/sess_abc/execute
{
  "workflow": "coordinated_prior_auth",
  "mode": "sequential"
}

Sample Output

200 OK
{
  "session_id": "sess_abc",
  "status": "completed",
  "agents_executed": 4,
  "steps_completed": [
    "intake_collected",
    "eligibility_verified",
    "prior_auth_submitted",
    "followup_scheduled"
  ],
  "authorization_id": "auth_mcp_001",
  "total_duration_ms": 1847
}

More Guides by Use Case

Clinical

Clinical Applications

  • Diagnostic AI Application
  • Remote Patient Monitoring
  • Clinical Documentation AI
Operational

Operational Workflows

  • Prior Authorization Automation
  • Claims Processing
  • Eligibility Verification
AI & Data

AI & Data Pipelines

  • Multi-Agent MCP Workflow
  • Connect an EHR
  • Dataset Curation Pipeline

Starter Templates

Launch from a pre-built project template with full demo data and architecture already configured.

Best Practices

Follow these patterns from day one to build production-grade healthcare AI systems.

๐Ÿ”„

Use Workflows for Orchestration

Never call agents directly from your application. Use workflows to define, sequence, and monitor every step.

๐Ÿงฑ

Keep Agents Modular

Each agent should do one thing well. Compose complex logic from multiple focused agents via MCP sessions.

๐Ÿ“ก

Leverage Events and Webhooks

Build event-driven systems by subscribing to HealthCloud events rather than polling API endpoints.

๐Ÿฅ

Normalize Everything to FHIR

Store all clinical data as FHIR R4 resources to ensure interoperability and AI model compatibility.

Need More Help?

Try the interactive API Explorer, review the Object Reference, or open Studio to build with a template.