Version: 1.5
Last Updated: March 2026

1. Introduction

The SMRP Automator is a Chrome Extension designed to streamline data entry for Dietetic modules within the Ministry of Health's SMRP Portal (MyHDW). It integrates directly with Google Sheets to eliminate manual double-entry, automates patient registration, and ensures data accuracy.

Key Features:
  • Extreme Speed & Timeout Guard: Executes clinical data entry in under 3 seconds, with a 15-second safety timeout for slow-loading portals.
  • Clinical Safety Guards: Includes a strict IC Match Guard and an "Unseen" patient bypass to prevent cross-patient data errors.
  • Three-Way Integration: Supports Inpatient (P.DALAM), Outpatient (P.LUAR), and Group Counseling (MNT BERKUMPULAN).
  • Audit Trail: Built-in history log to track your recent successful entries.
  • Registration Automation: Auto-generates sequential Registration Numbers (e.g., DT10001).

2. Installation Guide

Prerequisite: Dual Account Setup
Before installing, please ensure you are logged into two Google accounts in your Chrome browser simultaneously:
  1. Your official Workspace email (@moh.gov.my)
  2. A personal Gmail account (e.g., yourname@gmail.com)

You can install the SMRP Automator directly from the Chrome Web Store.

Step 1: Download from Store

  1. Visit the Chrome Web Store Link.
  2. Click the blue "Add to Chrome" button.
  3. Confirm by clicking "Add extension" in the popup.
Add to Chrome Button
Figure 2.0: Clicking 'Add to Chrome'

Step 2: Troubleshooting "Access Denied" Errors

Problem: When visiting the store link, you may see an error message saying:
"We are sorry, but you do not have access to Chrome Web Store."
Access Denied Error Screen
Figure 2.1: The Access Denied Error

Why is this happening?
Your browser is currently signed in with your official Ministry of Health account (@moh.gov.my). The system administrator for MOH has blocked access to the Chrome Web Store for security reasons.

The Solution:
You must switch to your personal Gmail account to perform the download.

  1. Click your Profile Icon at the top right of the Chrome browser.
  2. Select your personal account.
  3. Once switched to the personal profile, reload the Web Store link.
  4. You will now be able to click "Add to Chrome".
Switching to Personal Account
Figure 2.2: Switching Chrome Profiles

3. Google Sheet Configuration

The automation is tailored according to the E-Pelaporan Google Sheet Layout. Based on the Sheet Name selected, the extension will read data from the following specific columns:

Sheet Name Configuration
Figure 3.0: E-Pelaporan Structure Overview

A. Inpatient Data (Sheet: P.DALAM)

B. Outpatient Data (Sheet: P.LUAR)

C. Group Counseling Data (Sheet: MNT BERKUMPULAN)

4. Initial Setup

  1. Open Settings: Click the Gear Icon inside the extension.
    Setting Icon
    Figure 4.0: Opening Settings
  2. Link Spreadsheet: Paste your Spreadsheet ID from your Google Sheet URL (the string between /d/ and /edit) and select the Sheet Name.
    Spreadsheet ID
    Figure 4.1: Finding the Google Sheet ID
  3. Safety & Submission Toggles:
    • Auto-Submit Data: (Checked by default) The extension will automatically click the final save/submit buttons for you. Uncheck this if you prefer the automation to pause right before submission, allowing you to manually review the filled form.
    • Strict IC Match Guard: (Checked by default) A critical safety feature that extracts the patient's IC from your Google Sheet and compares it to the IC displayed on the SMRP Portal. If they do not match, the automator instantly aborts to prevent entering data into the wrong patient's file.
    Safety Toggles
    Figure 4.2: Configuring Safety Toggles
  4. AHP Number (Allied Health Practitioner):

    Enter your own IC Number (without dashes) or AHP Number into the "AHP Number" field in the settings menu.

    This is the unique identifier (IC / AHP Number) for the Dietitian performing the entry. It is NOT the patient's IC.
    AHP Setup
    Figure 4.3: Therapist Name & AHP
  5. RN Configuration (Registration Number):

    When you click "Add Clinical Support" to register a patient, the system generates a unique RN string. The extension automates the custom suffix part of this number.

    Format Example: HTAR110126SSDT10001
    • HTAR: Facility Location (Auto-generated by SMRP).
    • 110126: Date (Auto-generated by SMRP).
    • SS: System Code (Fixed).
    • DT10: DT Prefix (Configured in Extension Settings).
    • 001: Next RN Seq (Configured in Extension Settings).

    To Configure:

    • DT Prefix: Enter your department code (e.g., DT01, DT10, DT30).
    • Next RN Seq: Enter the starting number for the day (e.g., 001). This number auto-increments after every successful registration.
    RN Configuration
    RN Configuration Detail
    Figure 4.4: Configuring Registration Prefix and Sequence
  6. Authorize (CRITICAL STEP): Click Test Connection. A Google sign-in window will appear. You MUST log in using your official Workspace Email (@moh.gov.my). Do NOT use the personal email that you used to download the extension.
    Initial Setup
    Google Workspace Access Permission
    Google Workspace Access Success
    Figure 4.5: Successful Connection using Workspace Email
Connection Failed?
If your connection fails, it almost always means you accidentally selected the wrong email address during the sign-in prompt.

How to fix: You must uninstall and reinstall the extension. This clears the browser cache and resets the Google login prompt, allowing you to click "Test Connection" again and properly select your @moh.gov.my email.

Activity Log (History): Click the clock icon (left of the settings gear) at any time to view a log of your most recently submitted data entries.

Activity Log
Figure 4.6: Activity Log Panel

5. Workflows

Before You Begin: Preparation

1. Understanding Row Numbers (Row Num):

The 'Row Num' field in the extension tells the automator exactly which patient's data to grab from your Google Sheet. Look at your spreadsheet, find the specific row number on the far left edge for the patient you are working on (e.g., Row 14), and type that exact number into the extension.

Row Number Explanation
Figure 5.0: How to locate the Row Number

2. Portal Navigation:

  1. Log in to the SMRP portal as usual.
    SMRP Portal Login
    Step 1: SMRP Portal Login
  2. Search for the patient using their IC number.
    Search Patient by IC
    Step 2: Searching by IC
  3. You must land on the Patient Summary Page. The extension will only work if you trigger it from this specific page.
    Patient Summary Page
    Step 3: The SMRP Patient Summary Page

Workflow A: Outpatient & Group Counseling Registration

Use this workflow for new outpatient or Group Counseling cases that need a new Registration Number (RN).

[Video: Outpatient Registration Workflow]
Video 5.0: Step-by-step Registration Workflow
Warning: Do NOT click "Start Outpatient Reg" for Inpatient (Ward) cases. Inpatients are already registered by the hospital registry. Only perform this action if the inpatient registration was not performed by the hospital registry.
  1. Ensure you are on the Patient Summary Page.
    Patient Summary Page
    Step 1: Ensure you are on the Summary Page
  2. Click the gear icon, then change the sheet name to P.LUAR or MNT BERKUMPULAN, and set the Row Num to the patient's row in your Google Sheet.
    Change sheet name to P.LUAR or MNT BERKUMPULAN
    Step 2: Change Sheet Name and Row Num
  3. Check that the Next RN Seq is correct.
    Check RN Sequence
    Step 3: Verify the RN Sequence
  4. Click Start Outpatient Reg.
    Start Outpatient Reg Button
    Step 4: Execute Registration
πŸ€– Automator Action (No user action required):
The extension will automatically click "Add Clinical Support", fill in the Date (08:00 AM), generate the RN using your DT Prefix + Sequence, and hit Submit.
Automated Registration Process
Automator running registration process

Workflow B: Clinical Data Entry

Scenario 1: Outpatient (Individual)

[Video: Outpatient Clinical Data Entry Workflow]
Video 5.1: Step-by-step Clinical Entry Workflow
  1. Ensure you are on the Patient Summary Page.
    Patient Summary Page
    Step 1: Ensure you are on the Summary Page
  2. Click the gear icon, then change the sheet name to P.LUAR, and set the Row Num to the patient's row.
    Change sheet name to P.LUAR
    Step 2: Change Sheet Name and Row Num
  3. Click Fetch & Fill Clinical Data.
    Fetch and Fill Button
    Step 3: Execute Clinical Filling
πŸ€– Automator Action (No user action required):
The extension scans for "Sokongan Klinikal" and "SSDT" in the RN list, finds the visit row matching your Sheet Date, verifies the patient's IC matches, opens the form, and fills out all clinical data instantly.
Automated Outpatient Entry
Automator filling outpatient forms

Scenario 2: Inpatient (Ward)

  1. Ensure you are on the Patient Summary Page.
    Patient Summary Page
    Step 1: Ensure you are on the Summary Page
  2. Click the gear icon, then change the sheet name to P.DALAM, and set the Row Num to the patient's row.
    Change sheet name to P.DALAM
    Step 2: Change Sheet Name and Row Num
  3. Click Fetch & Fill Clinical Data.
    Fetch and Fill Button
    Step 3: Execute Clinical Filling
Possible Error: If a popup appears saying "No Inpatient Visit found earlier than ...... Check portal dates.", it means the portal could not locate the hospital visit.
Click here to jump to the Troubleshooting Guide for the solution.
πŸ€– Automator Action (No user action required):
The extension checks Column Q to ensure the patient is not marked "Unseen". It then scans for "Pesakit Dalam" rows earlier than your admission date, verifies the patient's IC, and fills the clinical form.
Automated Inpatient Entry
Automator filling inpatient forms

Scenario 3: Group Counseling

  1. Ensure you are on the Patient Summary Page.
    Patient Summary Page
    Step 1: Ensure you are on the Summary Page
  2. Click the gear icon, then change the sheet name to MNT BERKUMPULAN, and set the Row Num to the patient's row.
    Change sheet name to MNT
    Step 2: Change Sheet Name and Row Num
  3. Click Fetch & Fill Clinical Data.
    Fetch and Fill Button
    Step 3: Execute Clinical Filling
πŸ€– Automator Action (No user action required):
The extension finds the correct date row, verifies the IC, auto-sets "Consultation Type" to Group Class, and fills the rest of the form.
Automated Group Entry
Automator filling group forms

6. Troubleshooting Guide

Navigation & Safety Errors

Error / Symptom Solution
Popup: "❌ IC Mismatch Guard!" The IC number in your Google Sheet does not match the patient currently open in the MyHDW Portal. Verify you are on the correct patient's file. If the portal is genuinely missing the IC, you can bypass this by unchecking the Strict IC Match Guard in settings.
IC Mismatch Error
Figure 6.0: IC Mismatch Guard Alert
Popup: "⏸️ The data in row is Unseen..." Column Q in the P.DALAM sheet is marked as "True". The automator safely aborted to prevent filling out a blank form.
Unseen Patient Alert
Figure 6.1: Unseen Patient Bypass Alert
Popup: "No Inpatient Visit found earlier than ...... Check portal dates." 1. Check Dates: Ensure Sheet date matches Portal.

2. Expand View: Scroll down in SMRP and change items per page to All or 20.
Expand View Setting
Additional Expand View Setting
Figure 6.2: Expanding items per page in SMRP

3. Not Registered as Inpatient: If the error persists even after changing the items per page setting to 'All', it means the hospital registry didn't register this patient as 'Pesakit Dalam'. You are required to create an RN using the "Start Outpatient Reg" button. After creating the RN, click the "Add SS" button > "Dietetic" to enter the data entry page, then click the "Fetch & Fill Clinical Data" button.
Manual RN and Fetch
Figure 6.3: Manually registering and entering Dietetic page
"⏳ Timeout: MyHDW Portal took too long..." The portal took longer than 15 seconds to load the form. Refresh the portal page and try clicking the extension button again.
Timeout Alert
Figure 6.4: Timeout Safety Alert

Data & Connection Errors

Error / Symptom Solution
"Auth Failed" / Connection Failed You authorized the wrong Google account. Uninstall and reinstall the extension, then click Test Connection and select your @moh.gov.my email.
Auth Failed Error
Figure 6.5: Connection Failed Error

7. View Modes

You can customize how the extension appears on your screen.

Option A: Sidebar Mode (Recommended)

Best for continuous data entry. The panel stays open while you navigate.

  1. Right-click the SMRP Automator icon.
  2. Check "Open in Side Panel".
  3. Click the icon to open the persistent side panel.
Side bar mode
Figure 7.0: Sidebar Mode

Option B: Popup Mode

Best for quick, single-use actions.

  1. Right-click the extension icon.
  2. Uncheck "Open in Side Panel".
  3. Click the icon to open as a floating window.
Popup mode menu
Popup mode active
Figure 7.1: Popup Mode