Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
4174a0f
fix: beneficiary edit restrictions and ANTRA UI issues (#192)
pankaj7121993 Mar 16, 2026
bdb1cdc
fix: Neonatal Registaration bugs (#191)
ShivaShirsath Mar 16, 2026
2f848a8
Search issue fixed
DeepakKumar471 Mar 16, 2026
5b27eee
Space issue fixed
DeepakKumar471 Mar 16, 2026
3a4c781
expiry date fixed and text cut issue fixed
DeepakKumar471 Mar 16, 2026
d5bf761
Merge pull request #194 from PSMRI/demo-issue-fixes
DeepakKumar471 Mar 16, 2026
b138be0
fixed pharmacist bugs (#193)
abhilashkadu-tekdi Mar 16, 2026
ea3a337
feat: update Assamese translations from V2.0 translation sheet
sushant-bizbrolly Mar 16, 2026
2df3741
Merge pull request #196 from PSMRI/lang_assamese_translation
sushant-bizbrolly Mar 16, 2026
8d56c80
fixed the alert message (#195)
abhilashkadu-tekdi Mar 17, 2026
877192e
Fix pnc (#197)
ShivaShirsath Mar 17, 2026
c7764bf
Crash Fix of camera
DeepakKumar471 Mar 17, 2026
a5c0896
Hwc - lang fixes
Kunalbizbrolly Mar 17, 2026
c819f79
Merge pull request #199 from PSMRI/lang_fix
sushant-bizbrolly Mar 17, 2026
d70d9c8
Merge pull request #198 from PSMRI/registration-camera-crash
DeepakKumar471 Mar 17, 2026
0c3cfb4
fix : Beneficiary Status Not Updated After Delivery Marked in ANC [ M…
abhilashkadu-tekdi Mar 17, 2026
67b8436
Fix register button in delivery outcome and update Assamese strings …
ShivaShirsath Mar 17, 2026
bfcd2ce
Ui fixed pharmacist
DeepakKumar471 Mar 17, 2026
8603640
Merge pull request #202 from PSMRI/demo-bug-fixes
DeepakKumar471 Mar 18, 2026
e7d560d
Merge Other CPHC services branch to release 5.0 (#204)
ShivaShirsath Mar 19, 2026
cee8956
village remaining
DeepakKumar471 Mar 19, 2026
d7b4203
fix: pin MediaPipe version and calibrate face match threshold
sushant-bizbrolly Mar 19, 2026
f82b119
Registration page issue done
DeepakKumar471 Mar 19, 2026
223fea1
fix: prevent camera crash on Android 16 and improve face detection
sushant-bizbrolly Mar 19, 2026
d755317
fix: show gender, village, and visit date on face-matched patient card
sushant-bizbrolly Mar 19, 2026
b913590
Hwc - hindi lang fixes (#205)
Kunalbizbrolly Mar 19, 2026
ac95dc9
Merge pull request #206 from PSMRI/mhwc-31
DeepakKumar471 Mar 20, 2026
29d092c
fix: prevent stale embeddings and missing benImage after failed detec…
sushant-bizbrolly Mar 20, 2026
72f0d8f
Merge pull request #207 from PSMRI/fix_face_detection
sushant-bizbrolly Mar 20, 2026
b487b33
Added missing Hindi Translations
sushant-bizbrolly Mar 20, 2026
0dd2ae7
Merge pull request #208 from PSMRI/lang_hindi_strings
sushant-bizbrolly Mar 20, 2026
38fe2a4
feat : Capture Gum Diseases and Symptoms and Other Dental Conditions …
abhilashkadu-tekdi Mar 20, 2026
722cdc1
Revert "feat : Capture Gum Diseases and Symptoms and Other Dental Con…
abhilashkadu-tekdi Mar 20, 2026
585ea90
Merge release 4.0 to release 5.0 (#214)
ShivaShirsath Mar 23, 2026
51d3ee5
feat: Record Nose Bleed, BP Readings, and Foreign Body Details [MHWC-…
ShivaShirsath Mar 23, 2026
7a966ab
feat : Capture Gum Diseases and Symptoms and Other Dental Conditions …
abhilashkadu-tekdi Mar 23, 2026
52e3f11
feat: Enable conditional mental health screening under CPHC services …
pankaj7121993 Mar 23, 2026
797b12f
feat : Add dental emergency dropdown with referral alert on selection…
abhilashkadu-tekdi Mar 24, 2026
fc6a86f
feat: Enable Throat Diagnosis Section and Capture Throat Conditions a…
ShivaShirsath Mar 24, 2026
6224032
feat: Suicide Risk Screening and Substance Use Screening – Tobacco[MH…
pankaj7121993 Mar 24, 2026
481b1a1
Merge release 4.0 to release 5.0 v1 (#219)
ShivaShirsath Mar 24, 2026
8aafb4d
Edit functionality working fine
DeepakKumar471 Mar 24, 2026
6eac08b
feat: Add `suicide_immediate_assess` column to `MENTAL_HEALTH_SCREENI…
ShivaShirsath Mar 24, 2026
8fa0c20
Merge branch 'release-5.0' of https://github.com/PSMRI/HWC-Mobile-App…
DeepakKumar471 Mar 24, 2026
0f5aae2
Merge pull request #223 from PSMRI/mhwc-235-5.0
DeepakKumar471 Mar 24, 2026
ffa6360
feat: adjust database schema for nose diagnosis and mental health scr…
ShivaShirsath Mar 24, 2026
f53e20b
feat: Added Elderly Health Assessment and dementia screening for elde…
ShivaShirsath Mar 25, 2026
d4c13dd
Merge feature branch to release 5.0 [Other CPHC][MHWC-169, MHWC-175, …
ShivaShirsath Mar 25, 2026
b551c7d
fix: Resolve app crash due to migration. (#230)
ShivaShirsath Mar 25, 2026
52d9a1e
Merge feature other CPHC changes to release 5.0 [MHWC-178, MHWC-179, …
ShivaShirsath Mar 26, 2026
600f8e1
fix: Fix RMNCH search results with text, voice and camera search (#235)
ShivaShirsath Mar 27, 2026
329b72a
fix: navigation from throat diagnosis to vitals [MHWC-154] (#237)
ShivaShirsath Mar 30, 2026
4f5354b
FacilityId is in development
DeepakKumar471 Apr 1, 2026
74be730
fix : Incorrect chief complaint display showing Rectangular box [MHWC…
abhilashkadu-tekdi Apr 1, 2026
d594ad3
WIP
DeepakKumar471 Apr 6, 2026
d12c14c
WIP
DeepakKumar471 Apr 7, 2026
0dfd3e3
WIP form is rendaring but some fields are missing
DeepakKumar471 Apr 8, 2026
5517126
WIP form is rendaring but some fields are missing
DeepakKumar471 Apr 9, 2026
b18f096
WIP form is rendaring but some fields are missing
DeepakKumar471 Apr 9, 2026
2015c5e
WIP form is rendaring but some fields are missing
DeepakKumar471 Apr 9, 2026
7b8f71c
WIP form is rendaring but some fields are missing
DeepakKumar471 Apr 9, 2026
a4334ef
General OPD Count Fixed and NO Record found text added
DeepakKumar471 Apr 13, 2026
4e12c29
Merge pull request #240 from PSMRI/lab-record-field-observation
DeepakKumar471 Apr 14, 2026
fa96016
Login and logout is working properly
DeepakKumar471 Apr 15, 2026
67d1098
Status of women issue fixed
DeepakKumar471 Apr 16, 2026
399a4f3
Status of women issue fixed
DeepakKumar471 Apr 16, 2026
10ed1b2
Status of women issue fixed
DeepakKumar471 Apr 16, 2026
4588812
Merge pull request #242 from PSMRI/mhwc-215
DeepakKumar471 Apr 16, 2026
c23473a
fix Mental Health, Elderly and Palliative Care screening modules [MHW…
abhilashkadu-tekdi Apr 16, 2026
dc0354e
Chief Complaints form issue WIP
DeepakKumar471 Apr 17, 2026
c74f5ab
Chief Complaints form issue Done
DeepakKumar471 Apr 17, 2026
c4ee400
Merge pull request #243 from PSMRI/mhwc-250
DeepakKumar471 Apr 17, 2026
04d9d92
feat: Made Status of Woman dynamic based on age, gender and marital s…
sushant-bizbrolly Apr 17, 2026
de85d4f
Merge pull request #244 from PSMRI/feat-sow
sushant-bizbrolly Apr 17, 2026
5c2e18d
Chief Complaints form issue Done
DeepakKumar471 Apr 17, 2026
152e869
Merge pull request #246 from PSMRI/mhwc-250-bugs
DeepakKumar471 Apr 20, 2026
92e15df
feat: integrate RMNCH APIs (#239)
ShivaShirsath Apr 20, 2026
bdf1502
Prescription Pdf Ben Id Replaced
DeepakKumar471 Apr 21, 2026
fe18ec3
Unit Day will be selected automatically
DeepakKumar471 Apr 21, 2026
a11dd03
Preserve medicine units in pharmacist records
sushant-bizbrolly Apr 21, 2026
e5adc82
Keep doctor sync unchanged after pharmacist submit
sushant-bizbrolly Apr 21, 2026
54921ae
Pushed missing file
sushant-bizbrolly Apr 21, 2026
e7f6891
Unit Day will be selected automatically
DeepakKumar471 Apr 21, 2026
c30cd96
Merge pull request #247 from PSMRI/mhwc-252
DeepakKumar471 Apr 21, 2026
5ae4a03
Merge pull request #248 from PSMRI/fix-sync-unit
sushant-bizbrolly Apr 21, 2026
e80abe8
Fix doctor and pharmacist sync flow
sushant-bizbrolly Apr 22, 2026
a76a4b1
General OPD beneficiary count is reflecting in Dashboard after cleari…
DeepakKumar471 Apr 22, 2026
46c6c02
Merge pull request #249 from PSMRI/fix-module-sync
sushant-bizbrolly Apr 22, 2026
1bc38b8
General OPD beneficiary count is reflecting in Dashboard after cleari…
DeepakKumar471 Apr 22, 2026
6fcda07
Merge pull request #250 from PSMRI/mhwc-247
DeepakKumar471 Apr 22, 2026
1fa04da
Merge pull request #252 from PSMRI/release-5.0-backup
DeepakKumar471 Apr 23, 2026
33f7098
Other CPHC services APIs integration (#251)
abhilashkadu-tekdi Apr 24, 2026
ea58b29
Initial commits for the count problem for the RMNCH modules,the count…
Kunalbizbrolly Apr 27, 2026
7d1ea86
Merge pull request #254 from PSMRI/work_module_count_rmnch
Kunalbizbrolly Apr 30, 2026
3b8ac3d
Initial commits for change of checkbox logic for multiselection case …
Kunalbizbrolly May 4, 2026
c70cb8f
code rabbit changes , plus some count fixes, and form adapter positio…
Kunalbizbrolly May 5, 2026
9d66daa
fix infant registration sync and legacy merge
sushant-bizbrolly May 5, 2026
57fd447
normalize child registration form values
sushant-bizbrolly May 5, 2026
a7bd9fa
add beneficiary call actions
sushant-bizbrolly May 5, 2026
69644bf
Fixed Cross-attribution risk in resolveLegacyNeonatalOutcome
sushant-bizbrolly May 5, 2026
49e40a2
Merge pull request #256 from PSMRI/fix-delivery-outcome
sushant-bizbrolly May 5, 2026
2745900
Working with ncd total count
DeepakKumar471 May 5, 2026
3156e3e
Working with ncd total count and gender also
DeepakKumar471 May 5, 2026
93de821
Merge pull request #255 from PSMRI/work_module_rmnch_flow_touch_up
Kunalbizbrolly May 5, 2026
35ded55
Merge pull request #257 from PSMRI/mhwc-260
DeepakKumar471 May 5, 2026
a390bd0
localization , for array strings for drop down
Kunalbizbrolly May 6, 2026
d026087
feat: Add dialog box for showing the other CPHC details on visits. (#…
ShivaShirsath May 6, 2026
b0e42ec
Fix beneficiary details not rendering on some devices
sushant-bizbrolly May 6, 2026
faf3d36
Fix delivery outcome validation refresh for live and still birth fields
sushant-bizbrolly May 6, 2026
ef53043
Added Encryption Security for saving User credentials & UI Fixes
sushant-bizbrolly May 11, 2026
ea6ff8f
Security Fix
sushant-bizbrolly May 11, 2026
2cf899f
Added one-time migration for existing details saved in preference
sushant-bizbrolly May 11, 2026
fcc3d27
Merge remote-tracking branch 'origin/fix-login-issues' into fix-login…
sushant-bizbrolly May 11, 2026
6255f64
Merge pull request #259 from PSMRI/fix-ben-edit
sushant-bizbrolly May 11, 2026
8f05c3f
Merge pull request #260 from PSMRI/fix-login-issues
sushant-bizbrolly May 11, 2026
843d0d9
WIP
DeepakKumar471 May 11, 2026
b6a7e61
Sync Indicator
sushant-bizbrolly May 12, 2026
4cdd681
Sync Dashboard in Bottom sheet
sushant-bizbrolly May 12, 2026
2b8b96b
Fix ANC sync dashboard
sushant-bizbrolly May 12, 2026
42d2913
Centralize sync module IDs
sushant-bizbrolly May 12, 2026
5b3bac5
localization , for array strings for drop down
Kunalbizbrolly May 12, 2026
68069cc
Merge pull request #261 from PSMRI/feat-sync-status
sushant-bizbrolly May 12, 2026
5cc9b3b
Done
DeepakKumar471 May 12, 2026
bf03f16
made some key non translatable, so the process can go on
Kunalbizbrolly May 12, 2026
4b37e64
code Rabbit changes & fixes !!!
Kunalbizbrolly May 12, 2026
5a20eda
Merge pull request #263 from PSMRI/work_translation_changes
Kunalbizbrolly May 12, 2026
d4fe090
Merge pull request #262 from PSMRI/mhwc-260
DeepakKumar471 May 13, 2026
1dd4dcf
dataset checks added fro specific fields
Kunalbizbrolly May 13, 2026
ed14eea
PMSMA Full flow applied, added a new pmsma list to maternal health, a…
Kunalbizbrolly May 14, 2026
85d6db1
code rabbit changes
Kunalbizbrolly May 14, 2026
58206d1
Merge pull request #264 from PSMRI/work_flow_fix
Kunalbizbrolly May 14, 2026
ee9e068
jwt flow extension
Kunalbizbrolly May 18, 2026
dae9662
Merge pull request #265 from PSMRI/work_security_extension
Kunalbizbrolly May 18, 2026
e172184
regression fixes
Kunalbizbrolly May 20, 2026
d959331
more regression fixes
Kunalbizbrolly May 20, 2026
882db6f
more regression fixes,along side code rabbit fixes
Kunalbizbrolly May 20, 2026
80ca82b
more regression fixes for anc
Kunalbizbrolly May 21, 2026
4745f95
Fix biometric re-login flow and session restore
sushant-bizbrolly May 21, 2026
2ce386b
Fix infant birth weight input focus and validation refresh
sushant-bizbrolly May 21, 2026
f793845
Move login state handling to fragment lifecycle
sushant-bizbrolly May 21, 2026
73911b1
Merge pull request #270 from PSMRI/fix-rmnch-opd
sushant-bizbrolly May 21, 2026
e8612cd
Procedure result table correct in case record page
ankitbriz May 21, 2026
468fac9
Merge pull request #269 from PSMRI/work_regression_fixes
sushant-bizbrolly May 21, 2026
10dca64
Now refer to is showing and counselling advice field is disabled
ankitbriz May 21, 2026
d2c9c52
Now refer to is showing and counselling advice field is disabled
DeepakKumar471 May 21, 2026
e3155de
Now refer to is showing and counselling advice field is disabled
DeepakKumar471 May 21, 2026
56020de
Merge branch 'release-5.0' of https://github.com/PSMRI/HWC-Mobile-App…
DeepakKumar471 May 21, 2026
7a192aa
test name field issue is fixed
DeepakKumar471 May 21, 2026
972b472
Vitals issue fixed
DeepakKumar471 May 21, 2026
78792c2
Merge pull request #272 from PSMRI/work_anc_fixes
Kunalbizbrolly May 21, 2026
f7abaf0
more regression fixes for abortion module
Kunalbizbrolly May 21, 2026
c914bbe
more regression fixes for abortion module
Kunalbizbrolly May 21, 2026
e81a931
Merge pull request #271 from PSMRI/case-record-page-issues
DeepakKumar471 May 22, 2026
955b788
UI Issue is fixed in e-pmsma module
DeepakKumar471 May 22, 2026
7be4498
Merge pull request #273 from PSMRI/new-issue-fixes
DeepakKumar471 May 22, 2026
423bc7b
Merge pull request #274 from PSMRI/work_abortion_module_fixes
Kunalbizbrolly May 22, 2026
a503ad4
Fixed the issue "Retested in v5.0.12 ,after transferring a new benefi…
Kunalbizbrolly May 27, 2026
4b57713
Merge pull request #275 from PSMRI/work_abortion_module_view_fixes
Kunalbizbrolly May 27, 2026
4ebcfa1
Merge branch '5.0-backup' of https://github.com/PSMRI/HWC-Mobile-App …
ankitbriz May 27, 2026
1cf7811
Merge pull request #276 from PSMRI/mhwc-243
DeepakKumar471 May 27, 2026
10de876
Title changes for abortion form, asked by QA
Kunalbizbrolly May 27, 2026
a40d0d4
Merge pull request #277 from PSMRI/work_abortion_title_change
DeepakKumar471 May 28, 2026
29a0725
Merge branch 'release-5.0' of https://github.com/PSMRI/HWC-Mobile-App…
ankitbriz May 28, 2026
f7d0852
MHWC-223 and 224 issues are fuxed
ankitbriz May 29, 2026
7c5c7ab
coderabbitai suggestion resolved
ankitbriz May 29, 2026
163bea1
Merge pull request #278 from PSMRI/mhwc-223-224
DeepakKumar471 May 29, 2026
5ecbecd
Merge branch 'tekdi-cpsc' of https://github.com/PSMRI/HWC-Mobile-App …
DeepakKumar471 May 29, 2026
ae3b0cd
Fix subcategory stroke color
sushant-bizbrolly Jun 1, 2026
abfcf8d
Add ENT reason dropdown labels
sushant-bizbrolly Jun 1, 2026
a437f17
CPHC button is now visible in docotor module so that doctor can see t…
DeepakKumar471 Jun 1, 2026
e423399
CPHC button is now visible in docotor module so that doctor can see t…
DeepakKumar471 Jun 1, 2026
2637dfc
CPHC button is now visible in docotor module so that doctor can see t…
DeepakKumar471 Jun 1, 2026
4a00f8b
Bugs MHWC -306,MHWC -307,MHWC -308 fixes
Kunalbizbrolly Jun 2, 2026
c6e1d1b
Now data is visible in Case record page.
DeepakKumar471 Jun 2, 2026
48c3aa0
Unsafe cast can crash if intent extra is missing.
DeepakKumar471 Jun 3, 2026
6541cf4
Merge pull request #280 from PSMRI/work_cphc_screen_issues_mental_health
Kunalbizbrolly Jun 3, 2026
35b9cbd
Merge pull request #279 from PSMRI/fix-ent-ui
sushant-bizbrolly Jun 3, 2026
8830a8d
Merge pull request #281 from PSMRI/MHWC-309
DeepakKumar471 Jun 3, 2026
fb37344
Bugs MHWC -300 fixes
Kunalbizbrolly Jun 5, 2026
eeb98da
Merge pull request #282 from PSMRI/work_mhwc_300
Kunalbizbrolly Jun 5, 2026
1fed42b
Bugs MHWC -178 & 175 fixes
Kunalbizbrolly Jun 9, 2026
6f9e6e2
Both fields are independent Sub Category and Reason For Visit Dropdown
DeepakKumar471 Jun 10, 2026
0c8e99f
Merge pull request #283 from PSMRI/work_patient_details_fixes
Kunalbizbrolly Jun 10, 2026
4fdc3ee
Merge pull request #284 from PSMRI/mhwc-305
DeepakKumar471 Jun 10, 2026
cdae50a
CPHC Alcohol Substance Form Fixes
sushant-bizbrolly Jun 11, 2026
1749f5e
Rotation Crash Fix
sushant-bizbrolly Jun 11, 2026
4003c18
Fix empty worklists from benflow->patient join race
sushant-bizbrolly Jun 11, 2026
a3dcd68
Cancel in-flight sync workers on logout
sushant-bizbrolly Jun 11, 2026
cccfbd5
Increase onResume sync interval from 30s to 15min
sushant-bizbrolly Jun 11, 2026
addfab0
Patched ServiceMapID
sushant-bizbrolly Jun 11, 2026
c91af78
Code Rabbit Fixes
sushant-bizbrolly Jun 11, 2026
456f27a
Merge pull request #285 from PSMRI/fix-cphc-service
sushant-bizbrolly Jun 11, 2026
61e5121
Defer per-beneficiary nurse/doctor case-record pull to end of sync ch…
sushant-bizbrolly Jun 12, 2026
7d1447c
Merge pull request #286 from PSMRI/fix-doctor-nurse-sync
sushant-bizbrolly Jun 12, 2026
7f5f1aa
sync engine overhaul
sushant-bizbrolly Jun 14, 2026
62ae7cf
sync caller rewiring
sushant-bizbrolly Jun 14, 2026
8280653
Made Lab Records Parallel Fetch
sushant-bizbrolly Jun 14, 2026
8e78d80
Fix RMNCHA upsync work-name collisions by scoping unique chains per m…
sushant-bizbrolly Jun 14, 2026
7e08c87
Merge pull request #287 from PSMRI/fix-doctor-nurse-sync
sushant-bizbrolly Jun 15, 2026
0d9cc08
WIP for subcategory and resin for visit
DeepakKumar471 Jun 17, 2026
9b9e03d
WIP for subcategory and resin for visit
DeepakKumar471 Jun 18, 2026
b7d44e0
WIP for subcategory and resin for visit when user selected followup t…
DeepakKumar471 Jun 18, 2026
b28dd59
WIP for subcategory and resin for visit when user selected followup t…
DeepakKumar471 Jun 18, 2026
7f4fe12
now it's enabled
DeepakKumar471 Jun 18, 2026
ca5e401
now both fields are working fine
DeepakKumar471 Jun 18, 2026
57d4063
when coming back from cphc form then reason for visit fields is showi…
DeepakKumar471 Jun 18, 2026
074084a
Bugs MHWC - 175 fixes, as per BRD changes
Kunalbizbrolly Jun 18, 2026
7d2fad5
CPHC Changes
DeepakKumar471 Jun 18, 2026
af52b33
Bugs MHWC - 330 fixes, as per discussion
Kunalbizbrolly Jun 22, 2026
b64d40f
WIP Dropdown
DeepakKumar471 Jun 22, 2026
7e52fe4
done Dropdown
DeepakKumar471 Jun 22, 2026
2e89bf5
Coderabbitai full review comment resolved
DeepakKumar471 Jun 22, 2026
7f585fb
Merge pull request #288 from PSMRI/work_alcohol_bug_fixes
sushant-bizbrolly Jun 22, 2026
2c16d73
Merge pull request #289 from PSMRI/mhwc-203
DeepakKumar471 Jun 22, 2026
0a71b47
Bugs MHWC - 253 fixes, as per discussion
Kunalbizbrolly Jun 22, 2026
0eff412
Merge pull request #290 from PSMRI/work_pharmacy_bug_fixes
sushant-bizbrolly Jun 22, 2026
8d650cb
Anc ,Pnc button issue has been fixed
DeepakKumar471 Jun 23, 2026
9da054e
Pragnant women registration page submit button issue has been fixed
DeepakKumar471 Jun 23, 2026
7f5e6df
Landscape Crash Issue Fixed
sushant-bizbrolly Jun 23, 2026
abd72c5
Merge pull request #291 from PSMRI/landscape-issue
sushant-bizbrolly Jun 23, 2026
eace81a
Mental health dropdown value removed if age is less then 11 years
DeepakKumar471 Jun 24, 2026
9807cd2
Merge pull request #292 from PSMRI/hot-bug-fixes
DeepakKumar471 Jun 24, 2026
ffb8027
Date field crash fixed
DeepakKumar471 Jun 24, 2026
9ddb5b9
Incorrect Values Populating in "Weeks of Pregnancy" Field in Abortion…
DeepakKumar471 Jun 25, 2026
5fffb8b
Now CPHC details are showing properly
DeepakKumar471 Jun 25, 2026
9da8f57
Merge pull request #293 from PSMRI/MHWC-318
DeepakKumar471 Jun 25, 2026
b4daff4
Total Available Quantity is now visible properly
DeepakKumar471 Jun 25, 2026
1f0d064
Bugs MHWC-253 fixes
Kunalbizbrolly Jun 25, 2026
acfe430
Back Navigation is remaining
DeepakKumar471 Jun 26, 2026
59a0112
Back Navigation and submit navigation is done
DeepakKumar471 Jun 26, 2026
97851c5
Bugs MHWC-253 fixes, additional fixes
Kunalbizbrolly Jun 26, 2026
128c93c
title spelling mistake changed
DeepakKumar471 Jun 26, 2026
779b192
Merge pull request #294 from PSMRI/work_sync_fixes_watermark
sushant-bizbrolly Jun 26, 2026
06193e4
Merge pull request #295 from PSMRI/MHWC-313
DeepakKumar471 Jun 26, 2026
ce237c9
Fix pregnancy form keyboard flicker and high-risk selection scroll jump
sushant-bizbrolly Jun 29, 2026
f04ed15
Bugs MHWC-312,MHWC-315, MHWC-324, MHWC-317 fixes, additional fixes
Kunalbizbrolly Jun 29, 2026
64aae97
Weeks of pragnency issue has been resolved
DeepakKumar471 Jun 30, 2026
13dd607
Weeks of pragnency days removed
DeepakKumar471 Jun 30, 2026
b8fb640
ANC Visit fixes: previous visit control
sushant-bizbrolly Jun 30, 2026
0d3400d
Code rabbit ai issues fixes
DeepakKumar471 Jun 30, 2026
6ef0e80
Merge pull request #296 from PSMRI/rmnch_keypad_issue
sushant-bizbrolly Jun 30, 2026
dede2c9
Merge branch 'build-5.0x4.0' into work_changes_rmnch_bug_fixes
sushant-bizbrolly Jun 30, 2026
492f7e3
Merge pull request #297 from PSMRI/work_changes_rmnch_bug_fixes
sushant-bizbrolly Jun 30, 2026
c7f0f71
Merge pull request #298 from PSMRI/mhwc-322
sushant-bizbrolly Jun 30, 2026
a816af8
Card is moving now need to work on date of delivery ans pnc visit date
DeepakKumar471 Jul 1, 2026
38af950
Now it's working date of delivery ans pnc visit date
DeepakKumar471 Jul 1, 2026
ee59c28
Crash issue fixed
DeepakKumar471 Jul 1, 2026
cac2800
Merge pull request #299 from PSMRI/mhwc-324
DeepakKumar471 Jul 1, 2026
b2f2a94
Merge pull request #300 from PSMRI/build-5.0x4.0
sushant-bizbrolly Jul 8, 2026
730543c
Merge remote-tracking branch 'origin/main' into latest-code-5.0
sushant-bizbrolly Jul 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,11 @@ dependencies {
implementation "androidx.datastore:datastore-preferences:1.0.0"
implementation 'androidx.biometric:biometric:1.2.0-alpha05'

// EncryptedSharedPreferences for secure credential storage
implementation "androidx.security:security-crypto:1.1.0-alpha06"

//tensorflow and mediapipe.
implementation 'com.google.mediapipe:tasks-vision:latest.release'
implementation 'com.google.mediapipe:tasks-vision:0.10.21'
implementation ("org.tensorflow:tensorflow-lite:2.11.0")
implementation ("org.tensorflow:tensorflow-lite-gpu:2.11.0")
implementation ("org.tensorflow:tensorflow-lite-gpu-api:2.11.0")
Expand Down
45 changes: 33 additions & 12 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<!-- Required for camera intent on Android 11+ (package visibility); prevents crash when taking picture on Android 12+ -->
<queries>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>

<uses-feature android:name="android.hardware.camera" />

<uses-permission android:name="android.permission.INTERNET" />
Expand Down Expand Up @@ -49,43 +56,57 @@
tools:targetApi="31">
<activity
android:name=".ui.outreach_activity.OutreachActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.abha_id_activity.AbhaIdActivity"
android:exported="false"
android:label="@string/title_activity_abha_id"
android:theme="@style/Theme.CHO"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
<activity
android:name=".ui.web_view_activity.WebViewActivity"
android:exported="false"
android:label="@string/title_activity_web_view"
android:theme="@style/Theme.CHO" />

<activity
android:name=".ui.edit_patient_details_activity.EditPatientDetailsActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.register_patient_activity.RegisterPatientActivity"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.register_patient_activity.scanAadhaar.ScanAadhaarActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.register_patient_activity.scanAadhaar.CaptureAct"
android:screenOrientation="portrait"
android:exported="false" />
<activity
android:name=".ui.master_location_settings.MasterLocationSettingsActivity"
android:exported="false" />
android:screenOrientation="portrait"
android:exported="false"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.home_activity.HomeActivity"
android:exported="false"
android:label="CPHC" />
android:label="CPHC"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.home.rmncha.SubModuleActivity"
android:exported="false"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:parentActivityName=".ui.home_activity.HomeActivity"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.login_activity.LoginActivity"
android:exported="true"
Expand Down Expand Up @@ -115,7 +136,7 @@
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:node="remove"/>
tools:node="remove" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
Expand Down
63 changes: 62 additions & 1 deletion app/src/main/java/org/piramalswasthya/cho/CHOApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import androidx.work.Configuration
import dagger.hilt.android.EntryPointAccessors
import dagger.hilt.android.HiltAndroidApp
import com.google.firebase.FirebaseApp
import org.piramalswasthya.cho.network.TokenRefreshHolder
import org.piramalswasthya.cho.network.TokenRefreshProvider
import org.piramalswasthya.cho.ui.home_activity.DemoDataStore
import timber.log.Timber
import javax.inject.Inject
Expand Down Expand Up @@ -58,10 +60,69 @@ class CHOApplication : Application(), Configuration.Provider {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}

// Global keyboard insets handler: ensures the layout resizes when the soft keyboard
// opens on ALL activities. Required because targetSdk 35 enforces edge-to-edge,
// which makes windowSoftInputMode="adjustResize" silently ignored.
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
val window = activity.window
val insetsController = WindowCompat.getInsetsController(window, window.decorView)
insetsController.isAppearanceLightStatusBars = false
val statusBarBgView = View(activity).apply {
tag = "status_bar_bg"
setBackgroundColor(android.graphics.Color.parseColor("#24303C"))
}

val decorView = window.decorView as android.view.ViewGroup
decorView.addView(
statusBarBgView,
android.widget.FrameLayout.LayoutParams(
android.widget.FrameLayout.LayoutParams.MATCH_PARENT, 0
)
)

val rootView = activity.findViewById<View>(android.R.id.content)
ViewCompat.setOnApplyWindowInsetsListener(rootView) { view, insets ->
val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime())
val systemBarInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
val bottomPadding = maxOf(imeInsets.bottom, systemBarInsets.bottom)
view.setPadding(
systemBarInsets.left,
systemBarInsets.top,
systemBarInsets.right,
bottomPadding
)

statusBarBgView.layoutParams.height = systemBarInsets.top
statusBarBgView.requestLayout()
WindowInsetsCompat.CONSUMED
}
}

override fun onActivityStarted(activity: Activity) { /* No action needed */ }
override fun onActivityResumed(activity: Activity) { /* No action needed */ }
override fun onActivityPaused(activity: Activity) { /* No action needed */ }
override fun onActivityStopped(activity: Activity) { /* No action needed */ }
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) { /* No action needed */ }
override fun onActivityDestroyed(activity: Activity) { /* No action needed */ }
})

// Set token refresh provider so AuthRefreshInterceptor can refresh JWT when expired
try {
val entryPoint = EntryPointAccessors.fromApplication(this, TokenRefreshEntryPoint::class.java)
TokenRefreshHolder.provider = entryPoint.tokenRefreshProvider()
} catch (e: Exception) {
Timber.w(e, "CHOApplication: Could not set TokenRefreshProvider")
}
}

@dagger.hilt.EntryPoint
@dagger.hilt.InstallIn(dagger.hilt.components.SingletonComponent::class)
interface TokenRefreshEntryPoint {
fun tokenRefreshProvider(): TokenRefreshProvider
}

companion object {
fun dataStore(context: Context) = (context.applicationContext as CHOApplication).dataStore
}
}
}
103 changes: 103 additions & 0 deletions app/src/main/java/org/piramalswasthya/cho/adapter/ANCVisitsAdapter.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
package org.piramalswasthya.cho.adapter

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.piramalswasthya.cho.databinding.RvItemAncVisitBinding
import org.piramalswasthya.cho.model.PatientWithPwrDomain
import org.piramalswasthya.cho.utils.DateTimeUtil

class ANCVisitsAdapter(
private val clickListener: ClickListener? = null
) : ListAdapter<PatientWithPwrDomain, ANCVisitsAdapter.ANCVisitViewHolder>(
ANCVisitDiffUtilCallBack
) {

private object ANCVisitDiffUtilCallBack : DiffUtil.ItemCallback<PatientWithPwrDomain>() {
override fun areItemsTheSame(
oldItem: PatientWithPwrDomain,
newItem: PatientWithPwrDomain
) = oldItem.patient.patientID == newItem.patient.patientID

override fun areContentsTheSame(
oldItem: PatientWithPwrDomain,
newItem: PatientWithPwrDomain
) = oldItem == newItem
}

class ANCVisitViewHolder private constructor(
private val binding: RvItemAncVisitBinding
) : RecyclerView.ViewHolder(binding.root) {

companion object {
fun from(parent: ViewGroup): ANCVisitViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val binding = RvItemAncVisitBinding.inflate(layoutInflater, parent, false)
return ANCVisitViewHolder(binding)
}
}

fun bind(
item: PatientWithPwrDomain,
clickListener: ClickListener?
) {
binding.patientWithPwr = item
binding.clickListener = clickListener
binding.ivCall.setOnClickListener {
clickListener?.onClickCall(item)
}

// Set weeks of pregnancy
val weeks = item.getWeeksOfPregnancy()
binding.tvWeeksPregnancy.text = if (weeks > 0 && weeks <= 40) {
weeks.toString()
} else {
"N/A"
}

// Set LMP date
binding.tvLmp.text = item.getFormattedLMPDate()

// Set EDD
binding.tvEdd.text = item.getFormattedEDD()

binding.tvLastVisit.text = "N/A"

// Hide "Add Visit" button if ANC 4 is completed and patient is not HRP
val isAnc4Completed = item.ancRecords.any { it.visitNumber == 4 && it.weight != null }
val isHRP = item.pwr?.isHrp ?: false
binding.btnAddAnc.visibility = if (isAnc4Completed && !isHRP) View.GONE else View.VISIBLE

binding.executePendingBindings()
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
ANCVisitViewHolder.from(parent)

override fun onBindViewHolder(holder: ANCVisitViewHolder, position: Int) {
holder.bind(getItem(position), clickListener)
}

class ClickListener(
private val clickedAddANC: ((patientWithPwr: PatientWithPwrDomain) -> Unit)? = null,
private val clickedANCVisits: ((patientWithPwr: PatientWithPwrDomain) -> Unit)? = null,
private val clickedAddPMSMA: ((patientWithPwr: PatientWithPwrDomain) -> Unit)? = null,
private val clickedCall: ((patientWithPwr: PatientWithPwrDomain) -> Unit)? = null
) {
fun onClickAddANC(item: PatientWithPwrDomain) =
clickedAddANC?.let { it(item) }

fun onClickANCVisits(item: PatientWithPwrDomain) =
clickedANCVisits?.let { it(item) }

fun onClickAddPMSMA(item: PatientWithPwrDomain) =
clickedAddPMSMA?.let { it(item) }

fun onClickCall(item: PatientWithPwrDomain) =
clickedCall?.let { it(item) }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
package org.piramalswasthya.cho.adapter

import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import org.piramalswasthya.cho.databinding.RvItemAbortionBinding
import org.piramalswasthya.cho.model.AbortionDomain

class AbortionListAdapter(
private val clickListener: ClickListener? = null
) : ListAdapter<AbortionDomain, AbortionListAdapter.AbortionViewHolder>(
AbortionDiffUtilCallBack
) {

private object AbortionDiffUtilCallBack : DiffUtil.ItemCallback<AbortionDomain>() {
override fun areItemsTheSame(
oldItem: AbortionDomain,
newItem: AbortionDomain
) = oldItem.patient.patientID == newItem.patient.patientID &&
oldItem.abortionRecord?.id == newItem.abortionRecord?.id

override fun areContentsTheSame(
oldItem: AbortionDomain,
newItem: AbortionDomain
) = oldItem == newItem
}

class AbortionViewHolder private constructor(
private val binding: RvItemAbortionBinding
) : RecyclerView.ViewHolder(binding.root) {

companion object {
fun from(parent: ViewGroup): AbortionViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val binding = RvItemAbortionBinding.inflate(layoutInflater, parent, false)
return AbortionViewHolder(binding)
}
}

fun bind(
item: AbortionDomain,
clickListener: ClickListener?
) {
binding.item = item
binding.clickListener = clickListener
binding.context = binding.root.context

// Set button color based on abortion form status (text is bound via app:abortionActionText)
val isFormFilled = item.isAbortionFormFilled
binding.btnAction.setBackgroundColor(
binding.root.resources.getColor(
if (isFormFilled) android.R.color.holo_green_dark
else android.R.color.holo_red_dark,
null
)
)


// Set sync icon visibility
binding.ivSync.visibility = if (item.abortionRecord?.syncState == org.piramalswasthya.cho.database.room.SyncState.SYNCED) {
android.view.View.VISIBLE
} else {
android.view.View.GONE
}

binding.executePendingBindings()
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
AbortionViewHolder.from(parent)

override fun onBindViewHolder(holder: AbortionViewHolder, position: Int) {
holder.bind(getItem(position), clickListener)
}

class ClickListener(
private val clickedView: ((patientID: String) -> Unit)? = null,
private val clickedAdd: ((patientID: String) -> Unit)? = null
) {
fun onClickView(item: AbortionDomain) =
clickedView?.let { it(item.patient.patientID) }

fun onClickAdd(item: AbortionDomain) =
clickedAdd?.let { it(item.patient.patientID) }
}
}
Loading
Loading