DialogMD Documentation
Welcome to DialogMD, a HIPAA-compliant platform for building intelligent healthcare chatflows without code.
What is DialogMD?
DialogMD is a visual chatflow builder designed specifically for healthcare organizations. Create conversational experiences for appointment booking, symptom triage, patient intake, and more—all while maintaining HIPAA compliance.
Key Features
- Visual Flow Builder: Drag-and-drop interface for creating complex conversation flows
- HIPAA Compliant: Built-in security features and audit logging
- AI-Powered Agents: Integrate with GPT-4, Claude, and other LLMs
- Custom Integrations: Connect to your EHR, scheduling system, and APIs
- Multi-Tenant Architecture: Manage multiple organizations with data isolation
Getting Started
Follow these steps to create your first chatflow in DialogMD.
1Create an Account
Sign up for a DialogMD account at /auth/sign-up. You'll need to verify your email and accept the HIPAA Business Associate Agreement.
2Set Up Your Tenant
Create your organization profile. This will be your workspace for managing flows, agents, and configurations.
3Create Your First Flow
Navigate to the dashboard and click "Create Flow". Choose from templates or start from scratch.
4Configure and Test
Add nodes to your flow, configure their properties, and use the test panel to see your chatflow in action.
5Deploy and Share
Publish your flow and share the link with patients or embed it on your website.
Flow Builder
The Flow Builder is the heart of DialogMD. Use it to visually design conversation flows by connecting nodes together.
Interface Overview
- Canvas: The main work area where you place and connect nodes
- Node Palette: Left sidebar containing all available node types
- Properties Panel: Configure selected node settings
- Test Panel: Right sidebar for testing your flow in real-time
- Toolbar: Save, publish, and manage flow settings
Creating a Flow
- Drag nodes: Drag node types from the palette onto the canvas
- Connect nodes: Click and drag from a node's output handle to another node's input
- Configure nodes: Double-click a node or click the edit icon to open properties
- Test flow: Use the test panel to simulate conversations
- Save and publish: Save your work and publish when ready
Important
Always test your flows thoroughly before publishing. Use the test panel to verify all paths work correctly and handle edge cases.
Node Types
Message Node
Displays a message to the user. Supports markdown formatting, variable interpolation, and media.
Configuration
| Property | Description |
|---|---|
message | The text content to display |
variables | Use {variableName} to insert variable values |
delay | Optional delay before showing message (milliseconds) |
Example Use Cases
- Welcome messages
- Instructions and explanations
- Confirmation messages
- Dynamic content with variable data
User Input Node
Collects input from users with support for multiple input types including text, email, phone, date, ratings, and more.
Input Types
- Text: Single or multi-line text input
- Email: Email address with validation
- Phone: Phone number with country code selector
- Code: Numeric, alphabetic, or alphanumeric codes (OTP, verification)
- Rating: Star rating (0-5 or configurable)
- Date: Date picker
- Time: Time picker
- Select: Single selection from dropdown
- Multi-select: Multiple selections
- Address: Full address with country autocomplete
Configuration
| Property | Description |
|---|---|
prompt | Question or instruction to show user |
inputType | Type of input to collect |
variableName | Variable name to store the response |
required | Whether input is required |
buttonText | Custom text for submit button (default: "Reply") |
Agent Node
Integrates AI agents powered by LLMs like GPT-4, Claude, or Llama. Configure system prompts, temperature, and tools for intelligent responses.
Configuration
| Property | Description |
|---|---|
agentId | Select configured agent from your library |
context | Additional context to provide the agent |
outputVariable | Variable to store agent's response |
disableUserReply | Auto-continue without user input |
hideOutput | Hide agent response from user (store only) |
Use Cases
- Symptom triage and assessment
- Answering patient questions
- Data extraction and classification
- Appointment scheduling assistance
Function Node
Execute custom JavaScript code to manipulate variables, perform calculations, or implement custom logic.
Available Functions
getVariable(name)- Get variable valuesetVariable(name, value)- Set variable valuetoday()- Get today's datenow()- Get current timestampuuid()- Generate unique IDparseJSON(str)- Parse JSON safely
Example
// Calculate age from birthdate
const birthdate = getVariable('birthdate')
const today = new Date()
const birth = new Date(birthdate)
const age = today.getFullYear() - birth.getFullYear()
setVariable('age', age)
// Determine if patient is eligible
if (age >= 18) {
setVariable('eligible', true)
} else {
setVariable('eligible', false)
}API Node
Make HTTP requests to external APIs or your EHR system. Extract data from responses and store in variables.
Configuration
| Property | Description |
|---|---|
apiConfigId | Select API configuration |
endpoint | API endpoint path |
method | HTTP method (GET, POST, PUT, DELETE) |
body | Request body (supports variable interpolation) |
responseMapping | Map response fields to variables using JSONPath |
Branching Node
Create conditional logic to route conversations based on variable values or conditions.
Configuration
Define conditions using JavaScript expressions. Each condition creates a new output path.
// Example conditions:
variables.age >= 18
variables.symptoms.includes('fever')
variables.urgency === 'high'Card Carousel Node
Display a carousel of cards for users to select from. Perfect for showing options, services, or products.
Card Properties
- Title: Card heading
- Description: Card details
- Image: Optional image URL
- Button Text: Selection button label
- Value: Value stored when selected
Appointment Booking Node
Enable patients to book appointments directly in the conversation. Integrates with your scheduling API.
Features
- Provider selection
- Date picker with available dates
- Time slot selection
- Automatic confirmation
- Calendar integration
Agents
Agents are AI-powered assistants that can understand natural language and respond intelligently. Configure agents in your library and reuse them across multiple flows.
Creating an Agent
- Navigate to Agents: Go to Dashboard → Agents
- Click "Create Agent"
- Configure Agent:
- Name and description
- Select LLM model (GPT-4, Claude, etc.)
- Set system prompt
- Configure temperature and max tokens
- Add tools and functions if needed
- Test: Use the test interface to validate responses
- Save: Agent is now available in your library
Best Practices
- Clear Instructions: Write detailed system prompts that explain the agent's role
- Context: Provide relevant context about the conversation in the agent node
- Temperature: Use lower values (0.1-0.3) for factual responses, higher (0.7-0.9) for creative tasks
- Safety: Include guidelines about HIPAA compliance and PHI handling in prompts
Environments
Environments allow you to maintain separate configurations for development, staging, and production.
Environment Types
Development
Use for building and testing new flows. Connect to test APIs and use sandbox credentials.
Staging
Pre-production environment for final testing with production-like data and configurations.
Production
Live environment serving real patients. Use production credentials and monitor carefully.
Credentials
Securely store API keys, tokens, and authentication credentials for your integrations.
Credential Types
- API Key: Simple key-based authentication
- Bearer Token: OAuth bearer tokens
- Basic Auth: Username and password
- OAuth 2.0: Full OAuth flow credentials
- Custom: Custom header-based authentication
Security Notice
Credentials are encrypted at rest and in transit. Never share credentials or commit them to code. Use environment-specific credentials.
API Configurations
Configure external APIs to integrate with your EHR, scheduling system, or other healthcare services.
Setting Up an API
- Create Configuration: Name your API and provide base URL
- Add Credentials: Link authentication credentials
- Configure Endpoints: Define endpoints, methods, and parameters
- Test Connection: Verify API connectivity
- Environment Setup: Configure for each environment
MCP Servers & Tools
Model Context Protocol (MCP) servers provide tools and resources that AI agents can use to access external data and perform actions.
What is MCP?
MCP is a standardized protocol for connecting AI models to external tools, databases, and APIs. It enables agents to perform actions like searching databases, calling APIs, or accessing files.
Use Cases
- Give agents access to patient databases
- Enable appointment booking capabilities
- Connect to medical knowledge bases
- Integrate with lab result systems
Themes
Customize the look and feel of your chatflows to match your brand.
Theme Options
| Setting | Description |
|---|---|
| Primary Color | Main brand color for buttons and accents |
| Secondary Color | Secondary accent color |
| Font Family | Custom font for messages |
| Chat Bubble Style | Rounded, square, or custom border radius |
| Logo | Custom logo to display in chat header |
Security & Compliance
DialogMD is built with healthcare security and HIPAA compliance as top priorities.
HIPAA Compliance
- End-to-end encryption for all data in transit and at rest
- Comprehensive audit logging of all PHI access
- Role-based access control (RBAC)
- Automatic session timeout and re-authentication
- Business Associate Agreement (BAA) included
Data Protection
- Multi-tenant Isolation: Complete data separation between organizations
- Encryption: AES-256 encryption for data at rest, TLS 1.3 for data in transit
- Backup & Recovery: Automated daily backups with point-in-time recovery
- Monitoring: 24/7 security monitoring and threat detection
Best Practices
Flow Design
- Keep it Simple: Start with the happy path, then add edge cases
- Clear Messages: Use plain language and avoid medical jargon when possible
- Error Handling: Always include error nodes and provide helpful messages
- Test Thoroughly: Test all conversation paths before publishing
- User Experience: Don't ask for information you already have
Variables
- Naming: Use descriptive camelCase names (e.g., patientFirstName)
- Scope: Variables persist throughout the conversation
- Privacy: Be mindful of PHI in variable names and values
- Validation: Always validate user input before storing
Performance
- API Calls: Minimize unnecessary API calls
- Agent Usage: Use agents strategically for complex tasks only
- Caching: Cache static data when possible
- Testing: Use development environment for testing