Skip to content

Dynamo Workflow BPMN (Business Process Model and Notation) model used in the Dynamo Healthcare application.

License

Notifications You must be signed in to change notification settings

Breezeware-OS/dynamo-workflow-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Dynamo

A powerful platform designed to supercharge business app development and streamline internal tool creation. Manage, organize, and innovateโ€”all in one place


  • Accelerate development and reduce effort. Leverage industry-specific templates, pre-built modules, and out-of-the-box features.
  • Ensure flexibility and scalability. Build applications with dynamic entities and choose from multiple multi-tenancy models.
  • Utilize familiar technologies: Java, Spring Boot, JavaScript, HTML, ReactJS, SpringAI, BPMN, Hibernate, PostgreSQL.
  • Expand at will. Dynamo provides unlimited customization and seamless integration options.

Languages and Tools:

css3 docker git html5 java javascript linux mocha postgresql react redux selenium spring


๐Ÿ“ŒContents

๐Ÿš€ How to start
๐Ÿ’ก Application screenshots
๐Ÿ“œ Release notes
๐Ÿค Support


๐Ÿš€ Getting started

Overview

This document provides a comprehensive overview of the Dynamo Workflow BPMN (Business Process Model and Notation) model used in the Dynamo Healthcare application. The workflow is designed to streamline patient visits by orchestrating interactions between patients, care teams, and physicians. Leveraging Camunda BPMN, this workflow ensures efficient task management, seamless collaboration, and enhanced patient care. This guide walks through setting up your Dynamo Workflow app using Docker Compose. It also covers how to set up authentication using Keycloak.

Release Name Description Release Date
MVP - 1.0.0 The Dynamo Workflow BPMN model is a robust framework designed to enhance patient care by automating and managing healthcare workflows. By clearly delineating roles, tasks, and decision points, it ensures that all stakeholders collaborate effectively, leading to improved patient outcomes and streamlined healthcare processes. Leveraging Camunda BPMN provides the flexibility and scalability needed to adapt to evolving healthcare needs. 04-10-2024

Using Docker Compose

Prerequisites

Before starting, ensure the following are installed and available on your system:

  • Docker or Docker Desktop - (Docker Version - 20.10.x and above)
  • Open ports: 8080, 8081, 3000, 3001, 3002, 5432 - Ensure that the following ports are not in use:

1.1 Setup with Docker Compose

  1. Navigate to the project folder in your terminal.

  2. Run the following command to start the Docker containers:

    docker compose up

    This command will pull and download the necessary containers, and the client will run on localhost:3000.

  3. Default Credentials for patient app(http://localhost:3000) - No Credentials
    careteam app(http://localhost:3001) - Username: careteam@breezeware.net Password: breeze123 or Signup.
    provider app(http://localhost:3002) - Username: provider@breezeware.net Password: breeze123 or Signup (open in new browser window or incognito).

  4. Application Port

    • Backend Server - 8081
    • Patient Frontend Client - 3000
    • Careteam Frontend Client - 3001
    • Provider Frontend Client - 3002
    • Auth Server - 8080

1.2 If Docker not installed - Docker Installation

For Docker on Linux:

  1. Update your packages:

    sudo apt-get update
  2. Install Docker using:

    sudo apt install docker.io
  3. Verify installation:

    docker --version

For Docker Desktop on Mac/Windows:

  1. Download and install Docker Desktop from here.
  2. Follow the installation instructions and start Docker Desktop.

1.3 Troubleshooting

Checking and Managing Active Ports

Ensure that the following ports are not in use:

  • 8080
  • 8081
  • 3000
  • 3001
  • 3002
  • 5432

If any of these ports are active, you need to free them by killing the respective processes. You can check for active ports using:

lsof -i :<port_number>

To kill a process on a specific port:

kill -9 <process_id>

If you encounter file permission issues, use the following command:

sudo chown -R $USER:$USER postgres-data/

If this doesnโ€™t resolve the issue, try:

  • Resetting changes with Git:

    git checkout .
  • Deleting the project and re-cloning it.

If you encounter Error response from daemon: pull access denied for public.ecr.aws, use the following command:

docker logout public.ecr.aws

Additional Notes

  • Always verify that no other processes are using ports 8080, 8081, 3000, 3001, 3002, or 5432 before running the services.
  • If you encounter port issues, repeat the process to kill active ports as mentioned above.

This completes the setup for the Dynamo Workflow Template. If you have any more problems, please refer to the troubleshooting section or restart from the initial steps.

Features

  • Workflow Automation: Automate repetitive tasks to improve efficiency.
  • Real-Time Monitoring: Track the status of workflows and tasks in real-time.
  • Customizable Workflows: Easily design and modify workflows to fit specific healthcare processes.
  • Integration with Keycloak: Securely manage user authentication and authorization.
  • User-Friendly Interface: Simplified interface for managing workflows and monitoring tasks.

Application Screenshots

BPMN Model

The Dynamo Health Showcase Workflow BPMN Model Diagram visually represents the business processes involved in the healthcare ecosystem. This diagram illustrates the interactions between various entities such as patients, providers, and care teams throughout different stages of patient care. It serves as a blueprint for understanding how workflows are structured and how tasks are assigned, ensuring seamless collaboration and communication among all parties involved in the healthcare process.

Screenshot from 2024-10-03 17-49-57

The BPMN diagram visualizes the entire patient visit process, highlighting the flow of tasks, decision points, and interactions among different roles within the healthcare ecosystem.

Process Lanes

The workflow is organized into three distinct lanes, each representing a key stakeholder in the patient care process:

1. Patient

Role: Represents the patient initiating the visit.

Responsibilities:

  • Initiate Patient Visit: The process begins when the patient initiates a visit.
  • Submit Patient Intake Form: The patient fills out and submits the intake form, providing necessary personal and medical information.

2. Careteam

Role: Comprises healthcare professionals managing the patient's care.

Responsibilities:

  • Review Patient Intake Form: The care team reviews the information submitted by the patient to assess initial needs.
  • Set Physician Visit Consent: Determines whether a physician's involvement is required based on the intake form.
  • Take Patient Vitals: If consent is given, the care team measures the patient's vital signs.
  • Schedule Patient Follow-up: Arranges subsequent appointments or follow-up actions as needed.
  • Decision Gateway: Evaluates whether a physician visit is necessary based on predefined criteria.

3. Physician

Role: Medical professional responsible for diagnosing and treating the patient.

Responsibilities:

  • Review Patient Information: The physician examines the patient's details and medical history to provide appropriate care.

Key Workflow Components

1. Start Event

  • ID: StartEvent_1
  • Name: Initiate Patient Visit
  • Description: Marks the beginning of the patient visit process when the patient initiates the visit.

2. User Tasks

  • Submit Patient Intake Form

    • ID: submit-patient-intake-form
    • Description: Allows patients to provide personal and medical information necessary for their visit.
  • Review Patient Intake Form

    • ID: review-patient-intake-form
    • Description: Enables the care team to assess the submitted intake form and determine next steps.
  • Take Patient Vitals

    • ID: take-patient-vitals
    • Description: Involves measuring the patient's vital signs to inform medical decisions.
  • Review Patient Information

    • ID: physician-review-patient-information
    • Description: Physicians evaluate the patient's information to diagnose and plan treatment.

3. Service Tasks

  • Set Physician Visit Consent
    • ID: set-pyhsician-visit-consent
    • Description: Automates the decision-making process to determine if a physician's visit is required based on the intake form.
    • Delegate Expression: ${SetPhysicianVisitConsentDelegate}

4. Gateways

  • Physician Visit Required?

    • ID: Gateway_1q4nmfa
    • Type: Exclusive Gateway
    • Description: Decides whether a physician's involvement is necessary.
    • Conditions:
      • Yes: If physician_visit_required == 'yes', routes to physician review.
      • No: If physician_visit_required == 'no', routes to taking patient vitals.
  • Gateway_16rszf2

    • ID: Gateway_16rszf2
    • Type: Exclusive Gateway
    • Description: Controls the flow based on the physician's decision.

5. End Event

  • Patient Visit Completed
    • ID: Event_0jlojn7
    • Description: Signifies the completion of the patient visit process.

6. Sequence Flows

  • Flow_1unmuks: Start Event โ†’ Submit Patient Intake Form
  • Flow_0jd0ihf: Submit Patient Intake Form โ†’ Review Patient Intake Form
  • Flow_11jfo0s: Review Patient Intake Form โ†’ Set Physician Visit Consent
  • Flow_0j525sy: Set Physician Visit Consent โ†’ Physician Visit Required? Gateway
  • Flow_1nvxgob: Gateway โ†’ Take Patient Vitals (No)
  • Flow_1n4jror: Gateway โ†’ Physician Review Patient Information (Yes)
  • Flow_0b4mjtl: Gateway_16rszf2 โ†’ Take Patient Vitals
  • Flow_1dy26nc: Take Patient Vitals โ†’ Schedule Patient Follow-up
  • Flow_1axio3a: Physician Review Patient Information โ†’ Gateway_16rszf2
  • Flow_0myc3n9: Schedule Patient Follow-up โ†’ Patient Visit Completed

Form Integration

The workflow integrates dynamic forms for user interactions, ensuring that data is captured accurately and efficiently.

Take Patient Vitals Form

  • Form ID: Form_3
  • Components:
    • Vitals: Text view for displaying vitals information.
    • Systolic Blood Pressure (mmHg): Required text field.
    • Diastolic Blood Pressure (mmHg): Required text field.
    • Heart Rate (BPM): Required text field.
    • Height (cms): Required text field.
    • Weight (lbs): Required text field.
    • Notes: Required textarea for additional information.

Review Patient Information Form

  • Form ID: Form_0uvvpwt
  • Components:
    • Physician Notes: Text view for displaying notes.
    • Chief Complaint: Required textarea.
    • History of Present Illness: Required textarea.
    • Assessment and Plan: Required textarea.

Submit Patient Intake Form

  • Form ID: Form_1
  • Components:
    • General Information:
      • First Name: Required text field.
      • Middle Name: Optional text field.
      • Last Name: Required text field.
      • Gender: Required radio buttons.
      • Date of Birth: Required datetime field.
      • Language: Required select dropdown.
      • Marital Status: Required text field.
      • Occupation: Required text field.
    • Contact Information:
      • Email: Required text field.
      • Phone No: Required text field.
      • Address Line 1: Required text field.
      • Address Line 2: Optional text field.
      • City: Required text field.
      • State: Required text field.
      • Zipcode: Required text field.
    • Emergency Contact:
      • Name: Required text field.
      • Relationship: Required text field.
      • Phone No: Required text field.
    • Insurance Information:
      • Group Number: Required text field.
      • Policy Number: Required text field.
      • Insurance Provider: Required text field.
    • Medical History:
      • Previous and Current Medical Conditions: Required textarea.
      • Allergies: Required textarea.
      • Current Medications: Required textarea.
    • Smoking History:
      • How often do you experience your symptoms?: Required radio buttons.
      • How are your symptoms changing over time?: Required radio buttons.
      • On a scale of 1-10, how do you rate the pain?: Required select dropdown (default: 1).
      • How long have you had this pain? (days): Required text field.
      • Consent Checkbox: Required checkbox for consent to use information.
    • Alcohol Use:
      • Alcohol Use: Required radio buttons.
    • Purpose of Visit:
      • Symptoms: Required text field.

Workflow Execution

  1. Initiate Patient Visit:
    The patient starts the visit by submitting the intake form.

  2. Submit Patient Intake Form:
    The patient fills out and submits the intake form, providing essential information.

  3. Review Patient Intake Form:
    The care team reviews the submitted form to determine the necessary actions.

  4. Set Physician Visit Consent:
    Based on the intake form, the system decides if a physician's visit is required.

  5. Decision Gateway - Physician Visit Required?:

    • No:

      • Take Patient Vitals: The care team measures the patient's vital signs.
      • Schedule Patient Follow-up: Arranges follow-up appointments.
      • End Event: Marks the completion of the visit.
    • Yes:

      • Physician Review Patient Information: The physician reviews the patient's information.
      • Return to Gateway: Determines if further actions are needed based on the physician's review.

Integration with Camunda BPMN

The Dynamo Workflow leverages Camunda BPMN to manage and execute complex healthcare workflows. Key integrations include:

  • Process Definitions: Defined using BPMN XML files, outlining the sequence of tasks and decision points.
  • Task Management: User tasks are assigned to relevant stakeholders (patients, care teams, physicians) through Camunda Tasklist.
  • Form Handling: Camunda forms are integrated into user tasks for data collection and input.
  • Delegates and Service Tasks: Automate backend processes, such as setting physician visit consent, using Camunda delegates.
  • Monitoring and Administration: Utilize Camunda Cockpit and Admin Web for real-time monitoring and management of workflows.

Camunda Admin

The Camunda Admin Web interface is a comprehensive management tool that allows administrators to configure and monitor the Camunda BPM platform. This interface provides functionalities for managing process definitions, deploying new workflows, and configuring engine settings. Administrators can also monitor the status of deployed applications, making it easier to troubleshoot issues and optimize performance. The Admin Web is essential for maintaining the health and efficiency of the workflow management system. 1

2

3

Description:
The Camunda Admin interface serves as the administrative portal for managing and configuring the Camunda BPM platform. Administrators can:

  • Deploy and manage BPMN process definitions.
  • Monitor workflow executions and performance metrics.
  • Configure system settings and user permissions.
  • Access detailed logs for troubleshooting and optimization.

Key Features:

  • Process Deployment: Upload and manage BPMN diagrams.
  • User Management: Assign roles and permissions to team members.
  • System Monitoring: Real-time insights into workflow performance and bottlenecks.

Camunda Cockpit

Camunda Cockpit is a powerful monitoring tool that provides insights into the execution of workflows in real time. Users can track process instances, visualize running workflows, and analyze performance metrics. The Cockpit allows users to investigate process execution history, identify bottlenecks, and optimize workflows for better efficiency. It is particularly useful for operational teams and managers who need to ensure that workflows are running smoothly and meeting performance expectations. 1

2

3

4

Description:
Camunda Cockpit is a monitoring tool that provides visual insights into active and historical process instances. It allows users to:

  • Track the progress of ongoing workflows.
  • Analyze process metrics and identify inefficiencies.
  • Inspect individual process instances for debugging purposes.

Key Features:

  • Real-Time Monitoring: View active tasks and process statuses.
  • Historical Data Analysis: Access logs and metrics from completed processes.
  • Incident Management: Identify and resolve workflow-related issues promptly.

Camunda Tasklist

The Camunda Tasklist is a user-friendly application designed for task management within the BPMN workflow. Users, including providers and care team members, can view and manage their assigned tasks from this interface. The Tasklist allows users to complete tasks, add comments, and collaborate on ongoing processes. It provides an organized view of all pending and completed tasks, ensuring that team members can stay on top of their responsibilities and maintain efficient workflow operations. 1

2

3

4

Description:
The Camunda Tasklist is a user-centric application where team members can manage their assigned tasks. It offers:

  • A personalized dashboard displaying pending tasks.
  • Tools to claim, complete, and delegate tasks.
  • Integration with forms for data entry and task-specific actions.

Key Features:

  • Task Management: Organize and prioritize tasks efficiently.
  • Form Integration: Access and submit task-related forms directly.
  • Collaboration Tools: Communicate with team members within tasks.

Dynamo Patient

The Dynamo Patient Web portal serves as an intuitive interface for patients to access their health information and manage their care journey. Through this portal, patients can view medical records, schedule appointments, communicate with their healthcare providers, and participate in their care plans. The Dynamo Patient Web is designed to enhance patient engagement and empowerment, providing them with the tools they need to actively participate in their healthcare decisions. 1

2

3

4

5

Description:
The Dynamo Patient Web portal empowers patients to interact with their healthcare processes. Patients can:

  • Submit and manage intake forms.
  • Schedule appointments and view upcoming visits.

Key Features:

  • User-Friendly Interface: Intuitive design for easy navigation.
  • Secure Data Handling: Ensures patient data privacy and security.

Dynamo Careteam

The Dynamo Careteam Web application is tailored for care team members, enabling them to collaborate effectively in managing patient care. This interface allows care team members to access patient information, track workflows, and communicate with other healthcare professionals involved in a patient's care. With features designed for real-time collaboration and task management, the Dynamo Careteam Web enhances coordination and ensures that all members are aligned on patient care strategies. 1

2

3

4

Description:
The Dynamo Careteam Web application is tailored for care team members to manage patient workflows effectively. It enables:

  • Reviewing and processing patient intake forms.
  • Scheduling and managing patient follow-ups.
  • Coordinating with physicians and other healthcare professionals.
  • Monitoring patient vitals and medical history.

Key Features:

  • Workflow Management: Streamline care processes and task assignments.
  • Collaboration Tools: Facilitate communication among care team members.
  • Data Access: Securely access patient information and medical records.

Dynamo Provider

The Dynamo Provider Web platform is designed specifically for healthcare providers, offering them a comprehensive set of tools to manage their patient interactions and workflows. Providers can access patient records, review care plans, document patient interactions, and manage appointments through this interface. The Dynamo Provider Web streamlines the administrative aspects of patient care, allowing providers to focus more on delivering quality healthcare services. 1

2

3

4

5

Description:
The Dynamo Provider Web platform is designed for physicians to oversee and manage patient care. Physicians can:

  • Review detailed patient information and medical history.
  • Update patient records with diagnoses and treatment plans.
  • Coordinate with care teams to ensure comprehensive patient care.
  • Monitor patient progress and outcomes.

Key Features:

  • Comprehensive Dashboards: Access patient data and workflow statuses.
  • Reporting Tools: Generate reports on patient care and workflow efficiency.
  • Integration Capabilities: Connect with other healthcare systems and tools for enhanced functionality.

๐Ÿ—ƒ๏ธ Release notes

Dynamo is constantly evolving. Check out the changelog:

Dynamo 1.0.0. ๐Ÿš€

  • Support for workflow templates
  • Fix issues and bugs

Support

For any business inquiries, technical support, or to report issues, please contact support@breezeware.net.

Love Dynamo? Give our repo a star โญ โฌ†๏ธ.