Galaxy Watch Features - ECG / BP

Search This thread

the_passenger

Senior Member
Aug 25, 2006
467
24
remove it with:

sdb shell
pkgcmd -u -n com.samsung.health.samd.ecg

then install again with Tizen Studio (Device Manager)
 

sprcreative

Member
May 30, 2018
11
7
Yeah, I found this last night messing around. Signing the ECG tpk that was posted a few pages back will install on my US Galaxy Watch 3 R845U (5.5.0.1 most recent). So now I have 2 working ECGs but no BP haha :cyclops:

At least this confirms we can still sideload apps on the R840/845 etc., running the newly updated 5.5.0.1. I'm messing around trying to merge the BP and ECG tpks - not sure if I'm making any progress at all, but at least different results each time I install. I know the whole issue is with the samd.bp being locked down but would there be any way to install a BP tpk as a separate app like the ECG can be?

@adfree is kind enough to have posted the firmware and instructions to downgrade... I just like the battle sometimes to see if there is a work around to get BP working before I flash. Lots of clever people here!

I tried by changing the app id to samd.bp2 so that it would install, it worked, smh regonized it but in the calibration it got stuck. Then I assumed the smh app would be hard coded to the service name but i need to change it because we cant delete the pre installed samd.bp.

Then I tried to trick it by using samd without .bp as name but for the service use the exact same name, it worked for the ecg but the bp app would not even start anymore. But when trying to revert to my ecg.tpk that didn't work anymore too so i had to reset the watch, now im back on the ecg.tpk. Could be that one of my tests screwed up the services.

If you start changing names, don't use the samd-home launcher, its hard coded to search for samd.bp, by changing the nodisplay parameter you can bypass the launcher.

But for the samd.bp with only ecg inside it that I used to make a ecg only tpk, that build is more recent(109) then the samd.bp with bp still inside it (still 29). Perhaps we just need a newer build of the combo app for 5.5.0.1?
 
Last edited:

Hbmtg

Member
Nov 25, 2019
40
22
Huntington Beach
I tried by changing the app id to samd.bp2 so that it would install, it worked, smh regonized it but in the calibration it got stuck. Then I assumed the smh app would be hard coded to the service name but i need to change it because we cant delete the pre installed samd.bp.

Then I tried to trick it by using samd without .bp as name but for the service use the exact same name, it worked for the ecg but the bp app would not even start anymore. But when trying to revert to my ecg.tpk that didn't work anymore too so i had to reset the watch, now im back on the ecg.tpk. Could be that one of my tests screwed up the services.

If you start changing names, don't use the samd-home launcher, its hard coded to search for samd.bp, by changing the nodisplay parameter you can bypass the launcher.

But for the samd.bp with only ecg inside it that I used to make a ecg only tpk, that build is more recent(109) then the samd.bp with bp still inside it (still 29). Perhaps we just need a newer build of the combo app for 5.5.0.1?

Thanks for the suggestions! I think I'm getting somewhere. I was able to get BP back on my watch (R845U) ...just trying to find a corresponding SHM on my phone to connect with.
 

Attachments

  • 1.png
    1.png
    131.8 KB · Views: 156

adfree

Senior Member
Jun 14, 2008
10,619
6,175
Samsung Galaxy Watch 4
Samsung Galaxy S22
Need help from Galaxy Watch 3 user, with working Blood Oxygen.

Blood Oxygen related.
https://xdaforums.com/showpost.php?p=83621535&postcount=3

Please I need this file from GW3. :angel:

Exported to JSON it contains some weired data...
Example:
Code:
{
        "data1": "ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U=",
        "data2": null,
        "id": "dashboard@com.samsung.shealth.widget",
        "ordering": 1,
        "reserved1": null,
        "reserved2": null,
        "rowid": 85,
        "subid": null,
        "uid": "1ef61569319ed1de59dc00053cd39022"
    },

data1 is Base64 encrypted... no idea what it is...

So IMHO easier to copy file to GWA2...

Thanx in advance.

Best Regards
 

sprcreative

Member
May 30, 2018
11
7
Thanks for the suggestions! I think I'm getting somewhere. I was able to get BP back on my watch (R845U) ...just trying to find a corresponding SHM on my phone to connect with.

That's the easy part, if you have the .175 SMH installed it should go further, I suspect the service is not running.
If the service is running, SMH will pick it up and the app on the watch will give the button to open app instead of download app. If i pushed open app on the watch it would open SMH automaticly, I could also start callibration but then the app on the watch should change, that it didn't do. Then the app on the phone would go further with instructions until it said measuring on watch but the watch would not do anything until SMH gives a time out.

So i had BP running, SMH reconigized it, BP could start SMH but SMH could not control the BP app, why exactly not is still an open question here but my best guess so far is it needs a new build, the 5.5.0.1 changed a lot with permissions
 

Hbmtg

Member
Nov 25, 2019
40
22
Huntington Beach
That's the easy part, if you have the .175 SMH installed it should go further, I suspect the service is not running.
If the service is running, SMH will pick it up and the app on the watch will give the button to open app instead of download app. If i pushed open app on the watch it would open SMH automaticly, I could also start callibration but then the app on the watch should change, that it didn't do. Then the app on the phone would go further with instructions until it said measuring on watch but the watch would not do anything until SMH gives a time out.

So i had BP running, SMH reconigized it, BP could start SMH but SMH could not control the BP app, why exactly not is still an open question here but my best guess so far is it needs a new build, the 5.5.0.1 changed a lot with permissions

Yeah, so far with the SHMs I've been using, the watch BP app shows to Open App on Phone - which it does. It goes all the way through calibrate, and while the SHM phone app moves forward, the watch BP measure doesn't kick in at this point....will keep at it. At least moving somewhere :good:
 

EQMOD

Member
Nov 1, 2017
26
1
Need help from Galaxy Watch 3 user, with working Blood Oxygen.

Blood Oxygen related.
https://xdaforums.com/showpost.php?p=83621535&postcount=3

Please I need this file from GW3. :angel:

Exported to JSON it contains some weired data...
Example:
Code:
{
        "data1": "ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U=",
        "data2": null,
        "id": "dashboard@com.samsung.shealth.widget",
        "ordering": 1,
        "reserved1": null,
        "reserved2": null,
        "rowid": 85,
        "subid": null,
        "uid": "1ef61569319ed1de59dc00053cd39022"
    },

data1 is Base64 encrypted... no idea what it is...

So IMHO easier to copy file to GWA2...

Thanx in advance.

Best Regards

after based64 decode this came out ;

d41d8cd98f00b204e9800998ecf8427e

Could be an ID of something
 

adfree

Senior Member
Jun 14, 2008
10,619
6,175
Samsung Galaxy Watch 4
Samsung Galaxy S22
@EQMOD

I have used Phone and the Wear Plugin crap to remove Widgets...
So I left only 1 as template...

Now i will try if change only 1 String...
And if I can copy to SM-R820...

Best Regards

Edit 1.

Writing to watch work... push...
But first attempt failed.

Still need .home.db from Galaxy Watch 3 with Blood Oxygen enabled.

Edit 2.

Code:
{
        "data1": "ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U=",
        "data2": null,
        "id": "[COLOR="Red"][B]bp@com.samsung.health.samd.bp.widget[/B][/COLOR]",
        "ordering": 1,
        "reserved1": null,
        "reserved2": null,
        "rowid": 92,
        "subid": null,
        "uid": "3f670d71547276a23a27ee8db1bbc3c4"
    }

Used this as template and replaced only by text string:
Code:
oxygensaturation@com.samsung.shealth.widget

IMHO I need correct data1 and uid field...
 
Last edited:

Hbmtg

Member
Nov 25, 2019
40
22
Huntington Beach
@EQMOD

I have used Phone and the Wear Plugin crap to remove Widgets...
So I left only 1 as template...

Now i will try if change only 1 String...
And if I can copy to SM-R820...

Best Regards

Edit 1.

Writing to watch work... push...
But first attempt failed.

Still need .home.db from Galaxy Watch 3 with Blood Oxygen enabled.

Edit 2.

Code:
{
        "data1": "ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U=",
        "data2": null,
        "id": "[COLOR="Red"][B]bp@com.samsung.health.samd.bp.widget[/B][/COLOR]",
        "ordering": 1,
        "reserved1": null,
        "reserved2": null,
        "rowid": 92,
        "subid": null,
        "uid": "3f670d71547276a23a27ee8db1bbc3c4"
    }

Used this as template and replaced only by text string:
Code:
oxygensaturation@com.samsung.shealth.widget

IMHO I need correct data1 and uid field...

Sorry for the first few attempts - too long on the computer today :silly: PMd you the link for home.db
 
Sep 30, 2020
13
0
For your study, take a look at ASUS VIVOWATCH SP (or older VIVOWATCH BP). They can track BP automatically at programmable intervals.

Do you own any of those watches? Can you show me a screenshot of the interval setting? (My boss does not want to buy another watch without knowing if the watch can do that for sure).

Thanks!
 
Sep 30, 2020
13
0
I own Vivowatch BP, the new model is Vivowatch SP.
This is a screenshot of the silent BP measurements from Vivowatch BP:

Awesome. Thanks!

And you don't have to put the finger on the sensor (I read something about the ECG being on top of th watch?).

The interval it measures seems kinda random? Between 15 and 20+ Min?

But still that looks perfect
 

plouprou

Member
Oct 5, 2017
38
19
Valencia
Awesome. Thanks!

And you don't have to put the finger on the sensor (I read something about the ECG being on top of th watch?).

The interval it measures seems kinda random? Between 15 and 20+ Min?

But still that looks perfect

On background measurements you dont have to put your finger on the sensor, only for on demand measurements you has.
Interval is set to 10 minutes but I suppose that some of the measurements fail due to movement or anything like this.
 
Sep 30, 2020
13
0
On background measurements you dont have to put your finger on the sensor, only for on demand measurements you has.
Interval is set to 10 minutes but I suppose that some of the measurements fail due to movement or anything like this.

Thank you again! And yes our medical 3500€ device also has huge Problems with movement. So movement artefacts are a Problem. As is light coming from other sources during the measurement.
 

jurastefo

Senior Member
Sep 2, 2015
284
15
GWA2( R820) region XAR, Tizen 5.5, ECG working properly, BP not working yet not approved in the USA. Any way how to make working easily BP and auto sync to SHM?
 

jdx111

Member
Sep 7, 2020
32
2
Not working for me on ZTO S20 and KOO R820.

I changed the CSC to KOO and restored to the factory configurations before connecting again with the ZTO S20.

BP and ECG working correctly and syncing with SHealth.

SpO2 is not being measured and VO2Max is nowhere to be seen.

Where did you get SHM app on phone, which are you using?
 

Gary02468

Senior Member
Jul 25, 2011
1,195
223
spo2 and vo2max is working for any one in galaxy active 2 (XAR R820)?
No SpO2. VO2 max works. But it only appears in the analysis for the Running workout, and only if your heart rate is 70-90% of maximum for 20 continuous minutes, while you run on a flat surface with a good GPS signal.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 39
    UPDATE 10.06.2020: Version 165 from @[SIZE="4"]adfree[/SIZE] and modded by @[SIZE="4"]caravana[/SIZE], with this version you can update WITHOUT deinstalling old one and without make calibration again. Try it and let me know. Download from here: AbsolutelyOWNRISK-APK-165

    UPDATE 07.06.2020: New APK again (version 161). Always thanks to @[SIZE="4"]adfree[/SIZE] and @[SIZE="4"]caravana[/SIZE]. Download from here: AbsolutelyOWNRISK-APK-161
    UPDATE 30.05.2020: New APK (version 159). Thanks to @[SIZE="4"]adfree[/SIZE] and @[SIZE="4"]caravana[/SIZE]. Download from here: AbsolutelyOWNRISK-APK-159
    UPDATE 17.05.2020: I updated the APK with version 157 (thanks @[SIZE="4"]caravana[/SIZE]) because the old one gave a false-positive with MalwareBytes app (RUBBISH).


    Okay, I'm going to explain all the steps I've done. I will try to simplify driving to the maximum.
    In attached you will find the APK and the TPK that I used (the credits for both go to those who upload them in the forum; thank you very much), and old version of SDB (2.2.6.0).

    Of course, everything will be AT YOUR OWN RISK, so you need to know what you are doing!

    0) Enable debugging and "Developer Options" on the GWA2, activate WiFi (same network where the PC is connected, the guide concerns only Windows, sorry for this)
    1) Download the attached files and dezip it
    2) Download and install TizenStudio 3.7 with IDE installer (608MB)
    3) Start TizenStudio, at the top you will see a box with "No target" written, click on the drop-down menu and choose "Launch Remote Device Manager" click on "Scan" and you will find your watch.
    4) Click on "Connect ON" and accept the connection on the watch. Once connected, open the folder containing SDB 2.2.6.0, CMD, "sdb install bp.tpk"

    If you have installation problems you have to try these ways
    - on the watch activate wi-fi, deactivate bluetooth, restart the GWA2, retry steps 3) and 4)
    - if you have not solved, you must reset the smartwatch, re-associate it with your smartphone and repeat steps 0), 3) and 4).

    EDIT:
    Video Tutorial (english language from TechnoProz): https://www.youtube.com/watch?v=bTni4d832XE
    Video Tutorial (italian language from AlexSmart): https://www.youtube.com/watch?v=AdEWD7Kn44g
    Video Tutorial (português language from SombrasNoturnas): https://www.youtube.com/watch?v=VTiZxNO7lcs

    Let me know if you have difficulties and where, forgive my English but it is the result of Google Translator.
    10
    Hey everyone,

    The last few days I've sad down reversed engineered and patched the Applications.
    I toked my a while, but I got ECG and BP working with the latest SHM-Version.

    Some facts about the Hardware & Software I used/have:
    • Samsung Galaxy Watch 3
      • Model: SM-R840
      • Tizen Version: 5.5.0.2
      • Software-Version: R840XXU1BUA8
    • Google Pixel 3 (Android 11)
    • Location: Germany
    Samsung Health Monitor Versions:
    • Android: 1.1.0.183
    • Galaxy Watch: 1.1.0037

    Please note that at this time I do not have the device to calibrate the Blood Pressure feature.
    But this evening I will have access to a BP Device, I will update this post after calibrating the watch.

    Screenshots

    Screenshot_20210226-130853.pngScreenshot_20210226-130850.pngScreenshot_20210226-144144.png
    PXL_20210226_120932126.MP.jpgPXL_20210226_120924324.MP.jpgPXL_20210226_120915266.MP.jpg
    Screen__20210226_144651.pngScreen_20210226_144551.png

    Files
    Steps to Install
    1. Sign the com_samsung_health_samd_bp.patched.tpk file
    2. Sign the monitor.apk file
    3. Install the Samsung Health Monitor App on your phone: adb install ./monitor.apk
    4. Install the tpk on your Watch: sdb install ./com_samsung_health_samd_bp.patched.tpk
    5. Now everything should work

    Changes made to the TPK:
    • Renamed package from com.samsung.health.samd.bp to com.samsung.health.samd.bb

    Changes made to the APK:
    • Removed Samsung Device Restriction
    • Reduced required Age

    Diff:
    diff --color -u -p -r /tmp/tmp.t6S5vOlrqk/AndroidManifest.xml /tmp/tmp.LHSTmyPfrE/AndroidManifest.xml
    --- /tmp/tmp.t6S5vOlrqk/AndroidManifest.xml    2021-02-26 13:43:54.945122180 +0100
    +++ /tmp/tmp.LHSTmyPfrE/AndroidManifest.xml    2021-02-24 13:35:18.979000000 +0100
    @@ -10,7 +10,7 @@
         <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
         <uses-permission android:name="android.permission.WAKE_LOCK"/>
         <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    -    <application android:allowBackup="false" android:allowTaskReparenting="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:extractNativeLibs="false" android:icon="@drawable/group_2" android:label="@string/shealthmonitor_app_name" android:largeHeap="true" android:name="com.samsung.android.shealthmonitor.SHealthMonitorApplication" android:requestLegacyExternalStorage="true" android:roundIcon="@drawable/group_2" android:supportsRtl="true" android:theme="@style/AppTheme">
    +    <application android:allowBackup="false" android:allowTaskReparenting="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:extractNativeLibs="true" android:icon="@drawable/group_2" android:label="@string/shealthmonitor_app_name" android:largeHeap="true" android:name="com.samsung.android.shealthmonitor.SHealthMonitorApplication" android:requestLegacyExternalStorage="true" android:roundIcon="@drawable/group_2" android:supportsRtl="true" android:theme="@style/AppTheme">
             <meta-data android:name="com.samsung.android.health.permission.write" android:value="com.samsung.health.blood_pressure;com.samsung.health.ecg"/>
             <meta-data android:name="com.samsung.android.health.permission.read" android:value="com.samsung.health.user_profile"/>
             <activity android:configChanges="keyboardHidden|orientation|screenSize" android:exported="false" android:hardwareAccelerated="true" android:label="@string/shealthmonitor_app_name" android:launchMode="singleTask" android:name="com.samsung.android.shealthmonitor.home.ui.activity.SHealthMonitorMainActivity" android:screenOrientation="portrait" android:theme="@style/ProMainAppCompat"/>
    @@ -180,4 +180,4 @@
             <meta-data android:name="SPDE.build.signature" android:value="unknown/unofficial/release/none"/>
             <meta-data android:name="SPDE.env.version" android:value="4.0.0/L30.1.18/0.9.17"/>
         </application>
    -</manifest>
    \ No newline at end of file
    +</manifest>
    Only in /tmp/tmp.LHSTmyPfrE: build
    diff --color -u -p -r /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/sdk/SsdkVendorCheck.smali /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/sdk/SsdkVendorCheck.smali
    --- /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/sdk/SsdkVendorCheck.smali    2021-02-26 13:43:56.570128395 +0100
    +++ /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/sdk/SsdkVendorCheck.smali    2021-02-26 14:10:08.629140988 +0100
    @@ -41,7 +41,7 @@
         .line 24
         sget-object v0, Lcom/samsung/android/sdk/SsdkVendorCheck;->strBrand:Ljava/lang/String;
    
    -    const/4 v1, 0x0
    +    const/4 v1, 0x1
    
         if-eqz v0, :cond_2
    
    @@ -52,7 +52,7 @@
         goto :goto_0
    
         :cond_0
    -    const-string v2, "Samsung"
    +    const-string v2, "Google"
    
         .line 26
         invoke-virtual {v0, v2}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I
    diff --color -u -p -r /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/bp/ui/card/SHealthMonitorBpCard.smali /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/bp/ui/card/SHealthMonitorBpCard.smali
    --- /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/bp/ui/card/SHealthMonitorBpCard.smali    2021-02-26 13:43:56.646128686 +0100
    +++ /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/bp/ui/card/SHealthMonitorBpCard.smali    2021-02-24 16:41:43.047126075 +0100
    @@ -914,7 +914,7 @@
    
         sub-int/2addr v1, v0
    
    -    const/16 v0, 0x16
    +    const/16 v0, 0x11
    
         if-le v0, v1, :cond_0
    
    diff --color -u -p -r /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/util/CSCUtils.smali /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/util/CSCUtils.smali
    --- /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/util/CSCUtils.smali    2021-02-26 13:43:56.723128980 +0100
    +++ /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/util/CSCUtils.smali    2021-02-24 15:32:09.013429909 +0100
    @@ -1058,14 +1058,14 @@
    
         .line 217
         :cond_5
    -    sget-object v0, Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;->ALL_NOT_SUPPORT:Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;
    +    sget-object v0, Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;->ALL_SUPPORT:Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;
    
         return-object v0
    
         .line 192
         :cond_6
         :goto_2
    -    sget-object v0, Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;->NO_SIM:Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;
    +    sget-object v0, Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;->ALL_SUPPORT:Lcom/samsung/android/shealthmonitor/util/CommonConstants$SupportCountry;
    
         return-object v0
    .end method
    diff --color -u -p -r /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/util/Utils.smali /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/util/Utils.smali
    --- /tmp/tmp.t6S5vOlrqk/smali/com/samsung/android/shealthmonitor/util/Utils.smali    2021-02-26 13:43:56.726128992 +0100
    +++ /tmp/tmp.LHSTmyPfrE/smali/com/samsung/android/shealthmonitor/util/Utils.smali    2021-02-26 14:31:25.965026392 +0100
    @@ -2138,7 +2138,7 @@
    
         move-result v2
    
    -    const/16 v4, 0x16
    +    const/16 v4, 0x11
    
         sub-int/2addr v2, v0
    
    @@ -2193,16 +2193,16 @@
    
         move-result-object v0
    
    -    const-string v1, "samsung"
    +    const-string v1, "google"
    
    -    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
    +    invoke-virtual {v1, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
    
         move-result v0
    
         return v0
    
         :cond_0
    -    const/4 v0, 0x0
    +    const/4 v0, 0x1
    
         return v0
    .end method
    10
    New tpk pusher with v1.1.0037 ;)
    9
    Hello everyone,

    As we have no users from Korea as it seems...
    No idea why...

    I'm from Korea :eek:

    First, thanks for your great work. Now I'm using BP feature with my galaxy watch active 2 using your guide.

    I have a Korean Galaxy Note 10+ (SM-N976N) and Korean Galaxy watch active 2 (SM-R820, R820XXU1BTD6, CSC=KOO, Tizen 4.0.0.8).

    I could install the BP version 1.0.72 (samsungapps-000004413020-2035556-100000072.wgt) and ECG version 1.0.0004 (samsungapps-000004688049-2651158-100000004.wgt) and SHM version 1.0.0.165 (Samsung Health Monitor 1.0.0.165.mod2.apk),
    but unfortunately I still couldn't get the ECG feature..

    ===

    There was no ECG debug menu on *#0*#.

    ===

    I analyzed the decoded APK + disassembled JAVA code for SHM version 153 and 165, and I couldn't find the ECG logic.
    There was no code for "com.samsung.android.shealthmonitor.ecg.control.EcgController" class which is called from ControlManager.
    Of course the "com.samsung.android.shealthmonitor.bp.control.BloodPressureController" class could be found in the folder.

    ===

    Finally, there is a Korean website of "Ministry of Food and Drug Safety"
    https://emed.mfds.go.kr/#!CECAB01F010

    You can find the BP and ECG approved number by Samsung if you can translate Korean...
    1. Type 삼성전자 in 업소명 field (find samsung electronics in company name)
    2. Click 제 2893 호 (company number 2893)
    3. 제허 20-295 호 (approval number 20-295)
    -> This is for current BP app.
    -> Classification Name is 혈압 검사 또는 맥파 검사용 기기 (Sphygmomanometers and sphygmograph). You can find this one as "home_about_label_classification" in strings.xml.
    -> Model name is 혈압 앱 (BP app). You can find this one as "home_about_label_model" in strings.xml.
    4. 제허 20-378호 (approval number 20-378)
    -> This is for (maybe not released) ECG app.
    -> Classification Name is 심전계 (Electrocardiograph)
    -> Model name is ECG 앱 (ECG app)

    153 version didn't include both of 20-295 (BP app) and 20-378 (ECG app)
    165 version only includes 20-295 (BP app)

    ===

    So, my conclusion is, there is no ECG code for current SHM app for now. sam...sung............. (it's so shameful because many of my friends works on samsung mobile division. I apologize instead of that dumb guys :cool:)
    9
    Pass the updated version please and I'll unlock it 😉...
    Following our conversation. Original file 1.1.0.183.