A BPM solution for medical staffing services

A BPM solution for medical staffing services

Itransition delivered a comprehensive Odoo-based CRM/ERP/HR solution that streamlines tender, employee, and project management with powerful data management and synchronization features.

Table of contents

Context

Maxmed Healthcare is a US-based healthcare service provider, specializing in medical staffing for private companies and governmental organizations, with the US Army, US Navy, US Air Force, and US Department of Health and Human Services among their clients.

Maxmed Healthcare's business model is based on winning healthcare contracts through participation in tenders. To manage their tender application process, ongoing and completed contracts, while keeping track of employee and financial data, the customer utilized a variety of disparate solutions. As the business expanded, the solutions could not meet Maxmed Healthcare’s needs, requiring more time and effort to upkeep and hindering business processes. Furthermore, since the systems weren’t integrated with each other, it was hard to ensure information accuracy and relevance.

This is why the customer wanted to develop an umbrella CRM/ERP/HR solution that can ensure efficient data management and synchronization. They also wanted to migrate data from legacy solutions and create centralized information storage.

Maxmed Healthcare initially aimed to develop a CRM/ERP/HR solution from scratch, but during the presale stage, our specialists analyzed Maxmed Healthcare workflows and concluded that we could meet all customer’s demands with a customized Odoo suite.

Maxmed Healthcare decided to collaborate with Itransition as they recognized our vast range of ERP consulting services and expertise accumulated within our ERP Center of Excellence, as well as our Odoo Silver Partner status.

Solution

Our team delivered an Odoo-based CRM/ERP/HR system that enables Maxmed Healthcare to conduct all their tender- and contract-related business operations in one place, significantly simplifying and streamlining operations. Itransition unified the recruitment and employee data in the Odoo solution, supplementing it with additional HR features. To ensure seamless adoption of the new system, Itransition performed data migration and transferred all the documents from legacy solutions to the Odoo solution.

Tender management

To be awarded a contract for staffing services, Maxmed Healthcare needs to win a tender by finding a suitable opportunity, then calculating project costs, and creating and submitting a proposal. Successful tender participation requires prompt team collaboration, efficient document management, and accurate financial calculations. For tender management, our customer previously utilized a legacy CRM solution Unity that lacked the necessary features to aggregate all the tender participation procedures in one place. In its place, we implemented the Odoo CRM module.

The dashboard with tender pipeline analytics

Maxmed Healthcare finds tender opportunities through the service that collects governmental tenders, creates newsletters according to the predefined filters, and sends them to recipients. Previously, the customer had to read through the newsletter, find suitable tenders, and manually fill in the information on leads in their CRM.

To automate and simplify this process, Itransition implemented a custom parsing functionality that recognizes information both in the newsletter and on the tender web page from the newsletter and matches the newsletter data with an Opportunity card template in the CRM. Having completed parsing, the system automatically creates a new Opportunity card with the lead and fills in the information. To maximize the effectiveness of email parsing, our team configured the system to download all the tender-related attachments and upload them to the Odoo solution for efficient document management.

To ensure each tender is properly attended to, Itransition’s team designed a checklist template for supervising activities that need to be finished before proposal submission. Managers can add, update, or delete checklist items in the CRM configuration menu, and once they ensure a particular activity is completed, they can mark it as done.

Since crafting a tender proposal requires managing a variety of documents, Itransition also implemented a document organization system using the Odoo Documents module that enables uploading, storing, and categorizing documentation. However, the out-of-the-box module didn’t allow for previewing and editing documents as attachments, and Maxmed Healthcare needed a more extensive attachment management functionality.

This is why Itransition implemented a system of third-party modules. The customer wanted to be able to edit documents in real-time, so Itransition implemented an integration with OneDrive through a third-party module. We customized the module so that managers can select a file they want to edit in Odoo and the system opens OneDrive in the edit mode. Also, Itransition improved the logic of creating folders in OneDrive to create an efficient document storing system, compatible with multiple Odoo modules. Since our customer utilized Google Drive on the daily basis, we established an integration with it and enhanced the solution with a third-party Google Drive picker. Also, to enable the system to export files from Google Drive, our team employed an OAuth2 protocol and REST API.

Managing attachments in the Opportunity card

To apply for a tender, Maxmed Healthcare creates a PDF file with their proposal. Itransition implemented a range of customizations, allowing managers to create proposals within the Odoo solution. First, managers create lists of documents and select a cover page. They can upload the necessary files from their personal computers, select from the ones already in the Documents module, or import them from Google Drive. Then the system merges all the files into one, creating a proposal PDF.

If they win a tender, Maxmed Healthcare needs to sign a contract with their customer to start fulfilling contract obligations. Our team realized this process via the out-of-the-box Sign module.

Budget calculation

When creating a tender proposal, Maxmed Healthcare’s employees need to calculate the cost of fulfilling project obligations. Previously, the customer utilized Excel spreadsheets for this purpose, which we substituted with a customized budget calculation functionality within the Odoo CRM.

When delivering the budget calculation functionality, Itransition communicated extensively with the Lead accountant to ensure our team had a thorough understanding of the company’s flow of funds.

Our team significantly expanded the regular features of the Odoo CRM by delivering a custom budget calculation functionality, located in a separate tab on the Opportunity card of the ongoing tender within the CRM tender-management pipeline. When calculating the project budget, managers first enter the types of staffing services required and the average salary per month and year for this position. However, to better tailor final work compensation to each employee, we added a wide variety of parameters that can affect the final pay. Striving to create a flexible system, we added an option for managers to manually input a new additional cost to the spreadsheet.

Filling in an employee work compensation spreadsheet

Considering the fact that Maxmed Healthcare fulfills contracts in many US states, we set up the system to automatically apply state tax rates and indexes to the final sum. The system selects the target state based on the geographical location of the healthcare facility that requested staffing services. Having calculated the budget, the system updates the project budget field in the Opportunity card. Maxmed Healthcare also needed the functionality to create PDF files with the whole project budget overview and separate work compensation tables for each employee. Itransition implemented this customization, allowing for automatic PDF generation which simplifies applying for a tender.

Contract obligations

To meet contract obligations, MaxmedHealthcare needs to conduct the following activities:

  • Find personnel that would meet their end-client’s requirements either directly or through a subcontractor
  • Perform medical services for a number of hours specified in the contract
  • Charge the end-client based on the time logged by employees
  • Pay medical personnel

The legacy system complicated this process because Maxmed Healthcare needed to combine various tools for project management, which increased the likelihood of errors. To help managers perform all the necessary contract-related activities, Itransition applied the Sales Order, Project, Purchase, and Invoicing modules.

The primary tool for contract obligation management was the Sales Order module. We renamed its Sales Order fields, labeling them as Contracts to streamline the new solution’s adoption. To access its features, managers can create a contract card in the module itself, but Itransition also added a custom option to create projects according to the template from the CRM, establishing a link between the tender and contract management pipelines. Our team also aligned relevant fields in the CRM and Sales Order cards and made sure the Contract card is filled in with the data from the related tender Opportunity card.

Managers leverage the Sales Order module to oversee the execution of ongoing contracts and keep the backlog of the completed ones. Similarly to the CRM module, Itransition added the option to add, edit, and delete Contract requirement checklists to the Sales Order, enabling managers to plan activities for contract fulfillment.

What is more, sometimes managers have to change the number of hours a particular healthcare worker needs to work under the terms of the contract. For this case, our team developed the de-obligation feature, enabling managers to reduce a selected employee’s workload by a particular number of hours, with the change synched up with the remaining work estimates across the system.

The Invoicing module allows Maxmed Healthcare to create and send clients’ invoices for hours employees worked on a specific contract. Managers can also register received payments either manually or automatically by matching the invoice with the corresponding information on a bank statement. When an invoice is created, we set up the system to move employees working on a certain contract from the relevant task to the contract card in the Sales Order module. Itransition altered the invoice calculation procedure so that it calculates the sum based on employee timesheets within a selected period.

Since Maxmed Healthcare has a wide variety of contracts, managers needed a tool to help them keep track of contract termination dates, so we enabled the system to send notifications 90, 30, or 15 days prior to the end date. Itransition also developed a customization that allows Maxmed Healthcare to archive the completed contract whilst keeping the records in the system.

Even though the Sales Order module allows conducting high-level contract management, it is unsuitable for breaking down a large contract into small attainable objectives. To provide Maxmed Healthcare with an efficient planning tool, Itransition leveraged the Project module, which functionality enables managers to create contract-related tasks, schedule activities and assign them to employees, and oversee project progress.

As for the Projects module customization, we enabled managers to link employees manually. Alternatively, the system can do it automatically when importing the timesheets from Paycom, a solution that our customer employs for some of their HR operations. Our team also enabled the solution to present the contract statistics as a spreadsheet, listing the provided staffing services, contract time periods, and invoices. To deal with finished projects, Itransition implemented the project archiving functionality similar to the one in the Sales Order.

Certain contracts require Maxmed Healthcare to engage subcontractors for outsourcing the staffing services from third-party entities. Itransition utilized an out-of-the-box Purchase module, allowing Maxmed Healthcare to:

  • Select and compare vendors by requesting quotations
  • Order staffing services to execute contract obligations
  • Confirm the received services and validate invoices
  • View a graphical representation of subcontractor-related activity

Recruitment and employee management

Paycom integration

Maxmed Healthcare utilizes Paycom, a US solution that offers a specter of HR services, including talent acquisition and management, time and labor handling, and payroll.

When collaborating with Itransition, Maxmed Healthcare was intent on keeping Paycom for their streamlined HR operations. This is why our team integrated Paycom with the Odoo solution for data consistency and implemented Odoo modules that seamlessly fit with the Paycom specifics.

To export data from Paycom, Itransition first designed a report template in Paycom, matching all the Paycom fields with Odoo, to notify Paycom about the type and location of data the system needs to export. According to the rules outlined in the report template, once per day Paycom transfers the data to the Paycom FTP server, then the Odoo system collects and parses it, matching the data from the Paycom report with the related Odoo modules. To transfer data from Paycom to Odoo, we leveraged a system of Odoo modules, including the out-of-the-box Recruitment module for all the talent acquisition data and Payroll for employee work compensation.

Time Off calendar overview

Itransition utilized the Timesheets module for the Paycom timesheets with logs of the time employees spent on contract-related obligations. Apart from the regular time logs, on Paycom Maxmed Healthcare employees also create requests for holidays, legal leaves, and sick days, so for this type of data, our team implemented the Odoo Time Off module. To align Odoo features with Paycom-specific rules for assigning days off, Itransition equipped the Odoo module with custom features, including the possibility to set the time-off starting date as the first day of the calendar year or the employee hiring date. Furthermore, we provided the rollover functionality, enabling the customer to choose whether the allocated time-off can roll over to the next period and set the limit for the rollover.

Advancing the HR functionality

Maxmed Healthcare wanted us to extend the HR-related functionality beyond the integration with Paycom.

For employee management, we implemented the Employees module with customizations that extend the range of HR document management functionality. Itransition enabled managers to add files to employee cards. For storing general employee documentation (CVs, qualification certificates, etc.), managers can utilize the attachments field in the Employee card. Furthermore, out team implemented a custom Documents tab in the Employee card, enabling managers to store contract-related documentation (health checkup results, vaccination certificates, etc.).

For storing employee-related data and documentation, the customer leveraged two services, Unity and NetSmart, a legacy solution for hospital management. Using Unity, managers kept track of document expiration dates (health and vaccination certificates, licenses, etc.), timely reminding medical personnel to renew or update them. As the Maxmed Healthcare business grew, tracking employee profiles was becoming increasingly difficult. In order to simplify document validity handling, we set up the system to track document expiration dates. It sends notifications to employees and their managers about the need to renew the documents.

Our customer also wanted a tool to enable efficient internal communication among Maxmed Healthcare managers. For this business objective, our team opted for the Discuss module, which allows for sending direct messages and creating channels for different employee groups.

Since managers communicate with employees via emails, they also required an Odoo feature that would provide a single point of access to all the communication history with each employee. Our team enabled managers to drag-and-drop emails in the chat as EML files, with the solution storing them as an email log. As a result, managers can access all the letters addressed to a particular employee directly via Odoo. To simplify communication, Itransition also leveraged the Calendar module, allowing managers to schedule one-time and recurring meetings based on the availability of potential participants, select relevant tags, and set reminders.

We implemented the Helpdesk module to allow end clients to create complaints about medical personnel and provide our customer with an efficient tool for handling support tickets. However, Maxmed Healthcare managers also required an internal tool for dealing with employee-related issues, such as unacceptable or unprofessional behavior. For this case, we integrated a third-party Notices and Disciplinary Measures module, which enabled managers to create offenses, issue notices, and assign disciplinary measures. Itransition also added a custom warning notice template which is aligned with Maxmed Healthcare specifics of processing offenses, for example, has fields for adding employee’s remarks and corrective actions.

Creating a notice with a disciplinary measure

Acknowledging employee cards are located in the Odoo Employees module, we needed to establish a custom link between the Helpdesk, Notice, and Employees modules so that all the issues, relating to a particular employee, would be listed on their profiles. When the manager reviews the ticket created on the Helpdesk by the client dissatisfied with medical staffing services, managers can link employees to the relevant Helpdesk ticket. As one of the reasons for issuing a disciplinary measure to an employee can be a customer complaint in the Helpdesk module, Itransition provided a custom option to link the Helpdesk ticket to a particular notice for employees to understand the reason for receiving disciplinary measures.

Data migration

In order to make the Odoo-based solution a single point of access for all Maxmed Healthcare data, Itransition performed data migration.

Our customer stored client tender, contract, and employee documentation on Unity. To migrate data to Odoo, we retrieved the Unity database backup from the customer using Microsoft SQL. Itransition studied the spreadsheet structure and matched relevant fields in Unity spreadsheets with Odoo templates. Considering Odoo is a complex and interconnected solution, with the data in a certain module required for the correct functioning of other modules, Itransition designed a specific data migration roadmap to ensure the most interdependent data enters the system first. To enable the migration, our team also wrote a script in Python, enabling us to retrieve the data from the database and import it into Odoo.

Another challenge was posed by attachments and the fact that Unity allowed store them only in binary format. As Odoo does not support binary, our team had to download all the attachments from Unity, convert them into modern file formats (DOC, XLS, PDF), and migrate them into Odoo, attaching them to related Opportunity cards and employee profiles using a script.

The customer stored financial data, including budget calculations, invoices, contract and payment information, in Excel spreadsheets. To import Excel files in Odoo, our team manually aligned the spreadsheets with Odoo templates, moving data to correspondent Odoo fields.

When performing data migration, we found out that the Invoicing module posed a challenge. To import invoices, we first needed to migrate the employee timesheets because Maxmed Healthcare charges their clients based on the time employees spent on contract-related obligations. Therefore, in order to establish a link between the invoices and timesheets, our team developed a custom script, enabling us first create timesheets via Odoo Timesheets using Excel data. Now, after the system has created timesheets, the script uses the timesheets to create Invoices.

During the data migration, we also encountered inaccuracies in documentation which stemmed from the absence of synchronization in the legacy solutions. To ensure data accuracy on Odoo, we collaborated with stakeholders, solving the issues to enable the Odoo solution to work properly across all the modules.

Results

Itransition delivered a comprehensive Odoo-based CRM/ERP/HR solution, efficiently tailoring it to the customer’s tender and project management needs and streamlining business processes. The unified solution enables Maxmed Healthcare to store all the data in one place and eliminates the need for updating and synchronizing information.