Developer Documentation

Object Model

Every resource in HealthCloud — platform objects like Organizations and Workflows, and FHIR R4 clinical objects like Patients and Observations — described with field-level documentation, JSON examples, relationships, and events.

All Objects

HealthCloud has two layers of objects: platform-native objects that represent your infrastructure, and FHIR R4 clinical objects that represent patient data.

🏢

Organization

Platform

The top-level account entity. All Projects, Assets, and Deployments belong to an Organization. Billing, RBAC, and audit logs are scoped here.

Fields

id
stringrequired

Unique identifier (org_...)

name
stringrequired

Display name of the organization

slug
stringrequired

URL-safe unique slug

plan
"starter"|"growth"|"enterprise"required

Subscription tier

hipaa_baa_signed
boolean

Whether a BAA is on file

created_at
string (ISO 8601)

Account creation timestamp

Example

{
  "id": "org_healthsystem_01",
  "name": "Riverside Health System",
  "slug": "riverside-health",
  "plan": "enterprise",
  "hipaa_baa_signed": true,
  "created_at": "2024-01-15T09:00:00Z"
}
📁

Project

Platform

A logical workspace inside an Organization. Projects group Assets, Deployments, Workflows, and Data Sources for a specific clinical use case.

Fields

id
stringrequired

Unique project identifier (proj_...)

org_id
stringrequired

Parent organization

name
stringrequired

Project display name

blueprint
string

Blueprint used to scaffold this project

status
"active"|"archived"required

Lifecycle status

environment
"sandbox"|"staging"|"production"required

Target environment

Example

{
  "id": "proj_rpm_2026",
  "org_id": "org_healthsystem_01",
  "name": "RPM Chronic Disease Program",
  "blueprint": "remote-patient-monitoring",
  "status": "active",
  "environment": "production"
}
📦

Asset

Platform

A versioned, publishable unit of healthcare AI — a model, agent, dataset, workflow template, or connector. Assets live in the Marketplace and can be deployed to Projects.

Fields

id
stringrequired

Asset identifier (asset_...)

type
"model"|"agent"|"dataset"|"connector"|"workflow"required

Asset category

name
stringrequired

Display name

version
stringrequired

Semantic version (e.g. 2.1.0)

publisher_id
stringrequired

Organization that published this asset

fhir_compatible
boolean

FHIR R4 I/O compliance flag

Example

{
  "id": "asset_glucose_anomaly_v2",
  "type": "model",
  "name": "Glucose Anomaly Detector",
  "version": "2.1.0",
  "publisher_id": "org_healthsystem_01",
  "fhir_compatible": true
}
🚀

Deployment

Platform

A live, running instance of an Asset in a specific environment. Deployments track configuration, resource allocation, health status, and runtime logs.

Fields

id
stringrequired

Deployment identifier (dep_...)

asset_id
stringrequired

The asset being deployed

project_id
stringrequired

Project this deployment belongs to

environment
"sandbox"|"staging"|"production"required

Target environment

status
"active"|"failed"|"stopped"required

Current deployment state

config
object

Runtime configuration key-value pairs

Example

{
  "id": "dep_glucose_prod_01",
  "asset_id": "asset_glucose_anomaly_v2",
  "project_id": "proj_rpm_2026",
  "environment": "production",
  "status": "active",
  "config": {
    "threshold_mgdl": 250,
    "alert_channel": "ehr_notification"
  }
}
🤖

Agent

Platform

An autonomous clinical AI agent with defined capabilities, tool access, and a structured input/output schema. Agents can be orchestrated in multi-step Workflows.

Fields

id
stringrequired

Agent identifier (agent_...)

name
stringrequired

Display name

type
"clinical"|"administrative"|"diagnostic"required

Agent purpose classification

capabilities
string[]required

List of actions this agent can perform

mcp_tools
string[]

MCP tool IDs available to this agent

input_schema
objectrequired

FHIR resource types this agent accepts

Example

{
  "id": "agent_anomaly_detector",
  "name": "Glucose Anomaly Agent",
  "type": "clinical",
  "capabilities": [
    "analyze_glucose_trend",
    "generate_alert",
    "route_to_care_team"
  ],
  "mcp_tools": ["fhir_read", "alert_create"],
  "input_schema": { "resource": "Observation" }
}
🔄

Workflow

Platform

A directed acyclic graph of Agents, data transformations, and conditional logic. Workflows define the orchestration logic for end-to-end clinical automation.

Fields

id
stringrequired

Workflow identifier (wf_...)

project_id
stringrequired

Project this workflow belongs to

name
stringrequired

Workflow display name

trigger
"event"|"schedule"|"manual"required

What starts this workflow

nodes
WorkflowNode[]required

Ordered array of processing steps

status
"active"|"paused"|"draft"required

Operational state

Example

{
  "id": "wf_rpm_alert_pipeline",
  "project_id": "proj_rpm_2026",
  "name": "RPM Alert Pipeline",
  "trigger": "event",
  "nodes": [
    { "type": "agent", "agent_id": "agent_anomaly_detector" },
    { "type": "condition", "if": "alert.severity >= HIGH" },
    { "type": "action", "action": "notify_provider" }
  ],
  "status": "active"
}
👤

Patient

FHIR R4Patient

The root entity for all clinical data. Represents a person receiving care. In HealthCloud, every Observation, Encounter, and Alert is linked to a Patient record.

Fields

id
stringrequired

Platform-assigned identifier (pat_...)

resourceType
"Patient"required

Always "Patient" for FHIR compliance

name
HumanName[]required

Given and family name array

birthDate
string (ISO 8601)

Date of birth (YYYY-MM-DD)

gender
"male"|"female"|"other"

Administrative gender

identifier
Identifier[]

MRN, SSN, or external identifiers

Example

{
  "id": "pat_123",
  "resourceType": "Patient",
  "name": [{
    "use": "official",
    "family": "Doe",
    "given": ["Jane"]
  }],
  "birthDate": "1985-06-15",
  "gender": "female",
  "identifier": [{
    "system": "http://hospital.org/mrn",
    "value": "MRN-2024-00123"
  }]
}
📊

Observation

FHIR R4Observation

A clinical measurement or finding — vital signs, lab results, device readings, and diagnostic assessments. The primary output of RPM devices and AI models.

Fields

id
stringrequired

Platform-assigned identifier (obs_...)

status
"final"|"preliminary"|"amended"required

Result finalization status

code
CodeableConceptrequired

LOINC code identifying the measurement type

subject
Reference (Patient)required

Patient this observation belongs to

valueQuantity
Quantity

Numeric result with unit

effectiveDateTime
string (ISO 8601)

When the measurement was taken

Example

{
  "id": "obs_456",
  "resourceType": "Observation",
  "status": "final",
  "code": {
    "coding": [{
      "system": "http://loinc.org",
      "code": "2339-0",
      "display": "Glucose [Mass/volume] in Blood"
    }]
  },
  "subject": { "reference": "Patient/pat_123" },
  "valueQuantity": {
    "value": 247,
    "unit": "mg/dL"
  },
  "effectiveDateTime": "2026-03-17T14:22:00Z"
}

Object Relationships

HealthCloud objects form a hierarchy from Organization down to FHIR clinical data. Understanding these relationships is key to designing effective clinical AI systems.

FromRelationshipToDescription
Organizationhas manyProjectAn Org owns one or more Projects
ProjectdeploysAssetProjects deploy Assets from the Marketplace
ProjectcontainsWorkflowProjects contain one or more Workflows
WorkfloworchestratesAgentWorkflows orchestrate Agents as nodes
AgentconsumesObservationAgents read FHIR Observations as input
Observationbelongs toPatientObservations are linked to a Patient
AssetbecomesDeploymentA deployed Asset becomes a Deployment

Object Lifecycle

Platform objects like Deployments, Workflows, and Agents move through a defined set of states. Transitions emit Platform Events that you can subscribe to via webhooks.

Draft

Created but not yet active. Editable, not processing.

Staging

Under test. Processes synthetic data only.

Active

Live in production. Processing real clinical data.

Paused

Temporarily suspended. Can be resumed without reconfiguration.

Archived

Permanently stopped. Audit logs retained for 7 years.

Permissions by Role

Access to objects is controlled by Organization-level RBAC. Each role has defined read/write permissions scoped to specific object types.

RoleObjectsAccess Level
OwnerOrganization, Project, Asset, Deployment, Workflow, AgentFull read/write/delete
AdminProject, Asset, Deployment, Workflow, AgentRead/write, no delete on Org
DeveloperAsset, Deployment, Workflow, AgentRead/write in assigned Projects
ViewerAll (read-only)Read-only across all objects
ClinicalPatient, ObservationRead PHI objects in approved Projects

Platform Events

Every state change on a platform object emits a structured event. Subscribe to events via the Webhooks API to build reactive integrations and monitoring.

Event TypeObjectDescription
deployment.createdDeploymentFired when a new deployment is provisioned
deployment.failedDeploymentFired when a deployment enters error state
workflow.run.completedWorkflowFired when a workflow execution finishes
workflow.run.failedWorkflowFired when a workflow execution encounters an error
agent.alert_generatedAgentFired when an agent emits a clinical alert
observation.receivedObservationFired when a new FHIR Observation is ingested

End-to-End Example

Trace a single glucose reading from device ingestion through AI analysis, alert routing, and billing — showing how all 8 objects interact in a real RPM workflow.

1

Device sends Observation

POST /api/v1/observations
// Glucose device transmits reading → FHIR Observation created
{ "resourceType": "Observation", "subject": "Patient/pat_123",
  "code": { "coding": [{ "code": "2339-0" }] },
  "valueQuantity": { "value": 285, "unit": "mg/dL" } }
2

Workflow triggers Agent

// Platform Event: observation.received
// Workflow wf_rpm_alert_pipeline receives trigger
// Agent agent_anomaly_detector is invoked with the Observation
{ "agent_id": "agent_anomaly_detector",
  "input": { "observation_id": "obs_456", "patient_id": "pat_123" } }
3

Agent generates alert

// Agent evaluates glucose vs. patient baseline (240 mg/dL)
// Threshold exceeded → alert generated
{ "type": "agent.alert_generated",
  "severity": "HIGH",
  "message": "Glucose 285 mg/dL exceeds threshold (240). Immediate review recommended.",
  "routed_to": "care_team_id_01" }
4

EHR + Billing updated

// FHIR Observation written to Epic via SMART on FHIR
// CPT billing event generated: 99457 (20 min device review)
{ "cpt_code": "99457", "duration_minutes": 22,
  "patient_id": "pat_123", "deployment_id": "dep_glucose_prod_01",
  "billing_month": "2026-03" }

Ready to Use These Objects?

Explore the API interactively, read end-to-end guides, or open Studio to start building your first clinical AI project.