- Bump AGP to v8.7.1
- Bump Dagger to v2.52
- Bump Lint to v31.6.0
- Bump Sentry Gradle plugin to v4.11.0
- Bump Sentry to v7.14.0
- Bump KSP to v2.0.10-1.0.24
- Bump AndroidX Paging to v3.3.2
- Bump AndroidX Annotation to v1.8.2
- Bump Flipper to v0.264.0
- Bump Kotlin to v2.0.10
- Bump AndroidX Test Runner to v1.6.2
- Bump AndroidX Work to v2.9.1
- Bump MLKit Barcode Scanning to v18.3.1
- Bump Gradle to v8.10
- Bump Firebase Analytics to v22.1.0
- Bump desugar JDK library to v2.1.1
- Bump AndroidX ViewModel to v2.8.5
- Bump AndroidX Lifecycle to v2.8.5
- Check statin nudge status in patient summary screen
- Add feature flag for statin nudge
- Fix statin nudge not getting dismissed when a statin is added
- Animate statin nudge visibility in
PatientSummaryScreen
- Update translations:
bn-BD
- Migrate
SplashScreen
to Compose - Migrate
OnboardingScreen
to Compose - Migrate
StainNudge
to Compose
- Show statin nudge alert when statins can be prescribed
- Fix app displaying database maintenance screen often during app startup
- Bump androidx-test-runner to v1.6.1
- Bump AndroidX JUnit to v1.2.1
- Bump AndroidX ViewModel to v2.8.4
- Bump AndroidX Test Rules to v1.6.1
- Bump Fragment KTX to v1.8.2
- Bump Jackson Core to v2.17.2
- Bump Sentry Gradle plugin to v4.10.0
- Bump AndroidX Lifecycle to v2.8.4
- Bump Sentry to v7.13.0
- Bump Google Truth to v1.4.4
- Bump Mockito Kotlin to v5.4.0
- Bump AGP to v8.5.1
- Bump Lint to v31.5.1
- Remove Maestro tests from CI
- Bump Flipper to v0.261.0
- Add Google services plugin to app module Gradle file
- Bump Gradle to v8.9
- Convert sealed sub-object to data object
- Bump KSP to v2.0.0-1.0.24
- Migrate
BloodPressureHistoryListItemDataSource
toPagingSource
- Migrate
BloodSugarHistoryListItemDataSource
toPagingSource
- Bump AndroidX Paging to v3.3.1
- Bump Lottie to v6.5.0
- Fix app crashing when viewing BP history
- Bump Gradle to v8.8
- Bump Google Service to v4.4.2
- Bump Sentry Gradle plugin to v4.7.1
- Bump sentry to v7.10.0
- Bump AGP to v8.5.0
- Bump AndroidX Camera View to v1.3.4
- Bump AndroidX Camera to v1.3.4
- Bump AndroidX Fragment KTX to v1.8.0
- Listen to observable medical history field in medical history summary view
- Fix diagnosis warning dialog showing multiple times on save/back click in summary screen
- Bump lint to v31.5.0
- Bump eclipse jgit to v6.10.0.202406032230-r
- Update debug Google services JSON file
- Bump Firebase Analytics to v22.0.2
- Migrate from Play Core to Play App Update dependency
- Bump AndroidX test rules to v1.6.0
- Bump AndroidX JUnit to v1.2.0
- Show diagnosis warning if required when prescriptions are modified
- Bump AGP to v8.4.1
- Bump lint to v31.4.2
- Bump Kotlin to v2.0.0
- Bump KSP to v2.0.0-1.0.21
- Bump Play Services Auth to v21.2.0
- Check if patient is only prescribed amlodipine in
isPatientEligibleForReassignment
- Change
isEligibleForReassignment
type toAnswer
inPatient
table - Bump Lottie to v6.4.1
- Add
eligibleForReassignment
toPatientPayload
- Bump AndroidX ViewModel to v2.8.2
- Revert AndroidX Paging to v3.2.1
- Bump AndroidX AppCompat to v1.7.0
- Bump AndroidX Lifecycle to v2.8.2
- Bump Play Services Location to v21.3.0
- Bump Firebase Analytics to v22.0.1
- Bump Datadog Gradle Plugin to v1.14.0
- Bump UUID generator to v5.1.0
- Move install git hook task to app build gradle file
- Bump AndroidX Annotation to v1.8.1
- Add warning to show patients eligible for refills at CC
- Remove schedule and auto merge from renovate
- Stop running CI checks for pushes on renovate branches
- Use ubuntu machine for running integration/ui tests on CI
- Bump AGP to v8.4.0
- Bump desugar JDK library to v2.0.4
- Bump Compose theme adapter to v0.34.0
- Bump Coroutines to v1.8.1
- Bump Dagger to v2.51.1
- Bump AndroidX Paging to v3.3.0
- Bump AndroidX Room to v2.6.1
- Bump AndroidX ViewModel v2.8.0
- Bump AndroidX Work to v2.9.0
- Bump AndroidX Annotation to v1.8.0
- Bump AndroidX AppCompat to v1.6.1
- Bump AndroidX Core Testing to v2.2.0
- Bump AndroidX Camera View to v1.3.3
- Bump AndroidX Camera to v1.3.3
- Bump AndroidX Core KTX to v1.13.1
- Bump AndroidX Lifecycle to v2.8.0
- Bump AndroidX Fragment to v1.7.1
- Bump AndroidX RecyclerView to v1.3.2
- Bump Firebase dependencies
- Bump Material Components to v1.12.0
- Bump Google Play Services dependencies
- Bump SQLite to v3.45.0
- Bump Mockito Kotlin to v5.3.1
- Bump Lottie to v6.4.0
- Bump ASM to v9.7
- Bump OkHttp to v4.12.0
- Bump Moshi to v1.15.0
- Bump Lint to v31.3.1
- Bump Kotlin, KSP and Compose dependencies
- Bump Google Truth to v1.4.2
- Bump Flipper to v0.250.0
- Bump Retrofit to v2.11.0
- Bump UUID generator to v5.0.0
- Bump Faker to v2.0.4
- Bump Mobius to v2.0.2
- Bump sentry to v7.9.0
- Bump Sentry Gradle Plugin to v4.6.0
- Bump Open CSV to v5.9
- Bump LeakCanary to v2.14
- Bump Datadog dependencies
- Bump SoLoader to v0.11.0
- Bump Gradle to v8.7
- Bump Jackson Core to v2.17.0
- Add
isPatientEligibleForReassignment
toPatient
model - Add function in
PatientRepository
to check if patient is eligible for reassignment - Bump eclipse jgit to v6.9.0.202403050737-r
- Update GH Actions
checkout
to v4 - Add DB query to update patient reassignment status
- Add
isPatientEligibleForReassignment
toPatientSearchResult
database view andOverdueAppointment
model - Bump Compose Compiler to v1.5.13
- Bump Jackson Core to v2.17.1
- Add facility reassignment view to
RecentPatientsItem
,OverduePatientItem
andPatientSearchResultItem
- Show patient reassignment sheet when done/back is clicked in
PatientSummary
- Fix incorrect checks in patient reassignment eligibility check
- Update
Patient trasfer to CC
translations forbn-BD
language. - Bump AndroidX ViewPager2 to v1.1.0
- Bump Google Gson to v2.11.0
- Fix app crash on searching overdue patient with special characters
- Fix consent text getting cropped and hidden on patient registration screen
- Bump Mobius to v1.5.14
- Add AndroidX lifecycle livedata ktx dependency
- Fix app crashing on Android 14+ devices when downloading overdue or patient line list
- Show data protection consent screen during onboarding
- Migrate alert facility change sheet to use Mobius loop
- Bump AGP to v8.2.0
- Make entire card scrollable in
OnboardingConsentScreen
- Show data protection consent dialog after entering app lock pin for existing users
- Add translations for data consent strings
- Fix app crashing when trying to replacing the last screen during navigation
- Update Compose BOM to v2023.07.00-alpha02
- Update Dagger to v2.48.1
- Migrate Dagger from KAPT to KSP
- Bump AndroidX Preferences to v1.2.1
- Setup fragment result listener in
onCreate
instead ofonViewCreated
- Report last key name when removing last key fails in
History
- Migrate settings screen to use Compose UI
- Bump AGP to v8.1.4
- Enable Clinical Decision Support for all facilities in SriLanka.
- Bump Room metadata generator to v2.0.1
- Use raw SQL queries for UPDATE & DELETE queries that use multiple IDs as param
- Add missing SQLCipher proguard rules for R8
- Add minimum memory checker to run database encryption
- Bump AGP to v8.1.1
- Increase minimum required memory for encryption to 5.5GB
- Add support for database encryption
- Display icon to indicate app database encryption status in settings
- Bump AGP to v8.1.0
- Stop clearing view binding reference when a custom view is detached
- Fix icon not showing on questionnaire form screen
- Add option to logout of the app in settings
- Show progress indicator when logging out
- Bump to latest alpha/beta version of Compose libraries
- Add month and year picker dialog for Compose forms
- Add support for date input field for Compose forms
- Update drug stock report link icon in patients screen
- Prefill text in date input field if date exists
- Replace Mixpanel with Firebase Analytics
- Open drug stock reports form in Ethiopia on drug stock reminder click
- Add new call result option -
Refused to come back
- Hide overdue download/share actions when there are no overdue patients
- Updated translations:
om-ET
,si-LK
,sid-ET
,ta-IN
,te-IN
,bn-BD
,am-ET
,bn-IN
,so-ET
,mr-IN
,ti-ET
,es
,hi-IN
,kn_IN
,ta_LK
,pa-IN
- Add link to report drug stock in patients tab screen
- Use heroku generated app url for manifest endpoint in CI
- Add index for
appointmentId
inCallResult
table - Remove pinned versions from CI workflows
- Bump sentry to v6.22.0
- Bump Sentry Gradle Plugin to v3.10.0
- Enable Configuration cache
- Migrate
BloodSugarEntryEffectHandler
to use view effect - Remove old overdue appointments view
- Fix
Monthly supplies report
icon - Update Questionnaire form radio button styling
- Remove firebase remote config
questionnaires_enabled
logic for loading questionnaire's api. - Remove DPH/TamilNadu build variant
- Add Simple Compose theme in
common-ui
module
- Fix blood sugar saving twice when blood sugar measurement unit is changed
- Use
kotlinOptions#jvmTarget
instead ofkotlin#jvmToolchain
in build files - Add rules to prevent Retrofit & GSON types being stripped in R8 full mode
- Add rule to prevent
SQLiteConnection
type being stripped in R8 full mode
- Migrate Mockito Kotlin to its new artifact
- Bump AGP to v8.0.2
- Enable auto merging branches for minor renovate dependency updates
- Enable
Clinical Decision Support
for all facilities in Ethiopia.
- Refactored Monthly reports code
- Update
QuestionnaireSyncApi
to request DSL Version 1.1 - Add Monthly supplies report link to home screen
- Update
Monthly screening report
andMonthly screening reports
translations foram-ET
language.
- Rename
enable_monthly_screening_reports
Feature flag toquestionnaires_enabled
- Added support for Questionnaire Form DSL Version 1.1
- New supported language: Español [
es
] - Updated the order of supported languages:
om-ET
,am-ET
,bn-BD
,bn-IN
,en-IN
,es
,hi-IN
,kn-IN
,mr-IN
,pa-IN
,so-ET
,sid-ET
,si-LK
,te-IN
,ti-ET
,ta-IN
,ta-LK
- Move
Download IHCI patient register
option to links section
- Add
enable_monthly_screening_reports
to Features - Update translations:
sid-ET
- Remove epoxy code and dependencies
- Add Monthly screening report feature based on feature flag
- Enable questionnaire sync resources based on feature flag
- Enable
Monthly Screening Reports
andDownload IHCI patient register
Links based on feature flag
- Add Jetpack compose for server driven UI
- Update translations:
am-ET
,om-ET
,so-ET
,si-LK
,pa-IN
,ta-LK
,bn-BD
,te-IN
,ta-IN
,hi-IN
,kn-IN
,bn-IN
,mr-IN
- Bump Jackson to v2.14.2
- Bump google play services auth to v20.4.1
- Use full date time formatter when rendering submitted date in monthly screening reports
- Add
Monthly Screening Reports
andDownload IHCI patient register
Links to home screen with hidden visibility - Add
Monthly Screening Reports
flow screens
- Add
QuestionnaireResponse
s table - Add
QuestionnaireResponseRepository
- Add Questionnaire response sync resource
- Update heroku version in ci_checks
- Bump androidx-test-runner to v1.5.2
- Bump androidx-test-junit to v1.1.5
- Add Questionnaire screening form json parser
- Mobius arch setup for questionnaire form
- Epoxy model setup for questionnaire form
- Bump threeten-extra to v1.7.2
- Add Questionnaire sync resource
- Remove Questionnaire sync resource from syncs
- Update adding a new screen document
- Migrate
BloodSugarUnitSelectionDialog
to use view effects - Add deleted_at column to
Questionnaire
s table - Add Questionnaire repository
- Bump fragment-ktx to v1.5.5
- Add
Questionnaire
s table - Replace deprecated
set-output
command in GH Actions - Fix renovate config to open updates on first day of the month
- Use dependency resolution management to configure dependency resolution for all projects
- Remove
app_name
form translated strings and make it untranslatable - Updated translations:
so_ET
- Remove
CommitAndPush
script
- Bump heroku review app resources
- Bump Facebook.soloader to v0.10.5
- Bump sentry to v6.9.1
- Bump flipper to v0.176.0
- Updated translations:
te_IN
,kn_IN
,hi_IN
,bn_BD
,sid_ET
,si_LK
,bn_IN
,ta_IN
,pa_IN
- Updated translations:
ta_LK
,hi_IN
,mr_IN
- Bump Kotlin to v1.7.22
- Bump eclipse jgit to v6.4.0.202211300538-r
- Bump Faker to v1.2.9
- Bump sqlite-android version to 3.39.2
- Bump sentry to v.6.8.0
- Cache AVD when running Maestro tests in GH Actions
- Bump google play services auth to v20.4.0
- Move test login details into Maestro login flow
- Bump Jackson to v2.14.1
- Update Maestro test command to run multiple flows in GH Actions
- Bump Gradle to v7.6
- Bump datadog sdk to v1.15.0
- Bump Dagger to v2.44.2
- Bump Sentry Gradle Plugin to v3.3.0
- Bump leakcanary to v2.10
- Replace Tamil Nadu app logo and illustrations with DPH logo
- Bump Benchmark Gradle Plugin to v1.1.1
- Bump sentry to v6.7.1
- Use built-in caching functionality when setting up JDK in GH Actions
- Bump mixpanel to v7.2.1
- Update Tamil Nadu app name to DPH THANKS
- Bump Jackson to v2.14.0
- Bump sentry to v.6.7.0
- Update patient lookup exception message when reporting
- Add illustrations for Tamil Nadu app
- Bump Kotlin to v1.7.21
- Fix Tamil Nadu
google-services.json
not present in correct folder - Bump androidx-test-junit to v1.1.4
- Remove max SDK version for storage permissions
- Bump AndroidX test dependencies
- Show intro video screen based on registration config flag
- Remove Simple video from
PatientsTabScreen
- Add renovate package rule for Flipper updates
- Show all facilities in the state when changing assigned or appointment facility
- Add missing
uses-feature
inAndroidManifest
- Add color scheme for Tamil Nadu app
- Request notification permission on devices running Android 13
- Add a product flavor for TamilNadu app
- Bump google play services location to v21.0.1
- Bump Sentry Gradle Plugin to v3.2.1
- Move splash screen lottie config to XML
- Show notification permission rationale dialog when user doesn’t allow notification permission
- Update app icons and strings for Tamil Nadu app
- Remove old custom prescription entry components
- Bump Material Design Components to v1.7.0
- Bump mixpanel to v7.2.0
- Bump auto request review to v0.8.0
- Bump Fragment to v1.5.4
- Run overdue appointment queries in a transaction
- Bump flipper to v0.171.1
- Bump Open CSV to v5.7.1
- Bump iText to v7.2.4
- Enable patient line list download for Indian users only
- Bump Sentry to v6.6.0
- Update patient line list query
- Filter out deleted patients
- Use latest phone number that is not deleted
- Use latest recorded BP
- Bump lint to v30.3.1
- Bump sentry gradle plugin to v3.2.0
- Bump google play services location to v21.0.0
- Fix app crashing when handling deep link results
- Fix diabetes warning dialog showing in patient screen for facilities with diabetes management disabled
- Mark
diagnosedWithHypertension
anddiagnosedWithDiabetes
as nullable inPatientLineListRow
- Bump Sentry to v6.5.0
- Bump Sentry Gradle Plugin to v3.1.7
- Add background worker for downloading patient line list
- Bump Flipper to v0.169.0
- Use paginated data for generating patient line list CSV
- Enable large table support when converting CSV to PDF
- Move
bpCreatedAfter
andbpCreatedBefore
date calculation toPatientLineListCsvGenerator#generate
- Add select line list format dialog
- Bump AGP to v7.3.1
- Bump asm to v9.4
- Fix patient line list not showing assigned facility name
- Bump firebase remote config to v21.2.0
- Add patient line list download option
- Bump datadog sdk to v1.14.1
- Bump Kotlin to v1.7.20
- Add missing fields in
PatientLineListRow
- Added latest BP passport
- Added registration and assigned facility IDs
- Implement patient line list CSV generator
- Add serial numbers in patient line list CSV
- Add patient line list downloader
- Bump Lint to v30.3.0
- Bump Flipper to v0.164.0
- Rename
uiFlows
directory tomaestroUiFlows
- Use the date at which the release branch is cut as the branch name
- Change concurrency group name for maestro tests workflow
- Bump Moshi to v1.14.0
- Add query to fetch patient line list data
- Bump core-ktx to v1.9.0
- Bump AppCompat to v1.5.1
- Enable tracking automatic events from Mixpanel
- Sample events sent to Mixpanel
- Bump AGP to v7.3.0
- Remove
ConfigReader
injection fromReleaseClinicApp
- Add support for Android 13
- Bump compile and target SDK to 33
- Bump google services to v4.3.14
- Bump Android desugar JDK library to v1.2.2
- Bump eclipse jgit to v6.3.0.202209071007-r
- Bump Sentry to v6.4.1
- Bump Sentry Gradle Plugin to v3.1.6
- Bump datadog sdk to v1.14.0
- Cut a release branch if current date is greater than or equal to expected release date
- Bump androidx-annotation to v1.5.0
- Fix incompatible types in androidx-annotation library update
- Add Maestro UI test for login flow
- Add github action to verify maestro tests
- Bump Fragment to v1.5.3
- Add
patientId
andfacilityId
columns inCallResult
table - Add sync support for pulling overdue call results
- Bump firebase remote config to v21.1.2
- Bump Google play services auth to v20.3.0
- Bump datadog gradle plugin to v1.5.1
- Bump Open CSV to v5.7.0
- Bump Jackson to v2.13.4
- Bump mixpanel to v7.0.1
- Fix overdue count in the app not matching with the count from the dashboard
- Fix appointment sheet showing after follow-up visit is added
- Fix ID search not working from scan screen
- Bump mixpanel to v7.0.0
- Bump mlkit barcode scanning to v18.1.0
- Use heroku 20 on review apps
- Remove unnecessary dependencies from
ConfirmResetPinDialog
- Bump flipper to v0.162.0
- Bump Sentry to v6.4.1
- Bump Sentry plugin to v3.1.5
- Fix hypertension treatment question showing Sri Lanka translation in India
- Fix spacing in the patient summary cards
- Fix app crashing when patient summary add phone number dialog is shown
- Fix app crashing when clicking on Overdue download or share buttons
- Bump AppCompat to v1.5.0
- Migrate
LoggedOutOfDeviceDialog
toBaseDialog
- Bump flipper to v0.157.0
- Bump AGP to v7.2.2
- Initialise
ViewModel
inBaseDialog#onCreate
- Migrate
BloodSugarUnitSelectionDialog
toBaseDialog
- Migrate
ConfirmRemoveBloodSugarDialog
toBaseDialog
- Bump flipper to v0.159.0
- Bump Mobius to v1.5.9
- Bump Sentry to v6.4.0
- Migrate
BloodSugarEntrySheet
to useBaseBottomSheet
- Migrate
UpdatePhoneNumberDialog
toBaseDialog
- Bump dagger to v2.43.2
- Bump gradle to v7.5.1
- Bump lint to v30.2.2
- Migrate
AddPhoneNumberDialog
toBaseDialog
- Fix download/share button showing in overdue search screen outside India
- Add support for Android 13
- Bump compile and target SDK to 32
- Bump fragment to v1.5.2
- Bump threeten-extra to v1.7.1
- Fix app crashing when overdue search screen is opened
- Bump fragment to v1.5.1
- Show chip input text view in overdue search when overdue v2 search is enabled
- Add overdue search query for supporting multiple search inputs
- Fix overdue search history and results not showing in overdue search screen
- Add multiple search inputs support in overdue search screen
- Remove overdue search v1 implementation
- Bump flipper to v0.156.0
- Bump jgit version
- Fix select all not updating checkbox state in the overdue search screen
- Bump Gradle to v7.5
- Run prescription refill queries in a transaction
- Use
PrescriptionRepository#refill
to refill prescriptions from edit medicines screen - Use
PrescriptionRepository#refillForTeleconsulation
to refill prescriptions from teleconsult screen - Migrate
BloodSugarHistoryScreen
to use view effects - Trigger separate effects for loading and showing blood pressure history
- Migrate
BloodPressureHistoryScreenEffectHandler
to use view effect - Migrate
ContactPatientBottomSheet
to use view effects - Bump Sentry to v6.3.1
- Bump Mixpanel to v6.5.2
- Bump Sentry plugin to v3.1.4
- Add support for partial search input in overdue search screen
- Point accordion downwards when overdue list is expanded
- Fix
ContactPatientBottomSheet
not opening completely - Bump Sentry to v6.3.0
- Bump Sentry gradle plugin to v3.1.3
- Bump mixpanel to v6.5.1
- Add overdue search v2 feature flag
- Implement query to fetch village and patient names in the facility
- Add custom text field component with chip input
- Display search suggestions after loading in overdue search screen
- Load village and patient names when overdue search screen is created
- Don't show search history when overdue search v2 is enabled
- Bump room to 2.4.3
- Remove overdue search v2 feature flag key
- Fix overdue search not searching on query changes
- Bump dagger to v2.43.1
- Update overdue patient card spacings
- Fix secure call button showing when securing calling is disabled for the facility
- Bump flipper to v0.154.0
- Add support for selecting all overdue appointment search results
- Add support for runtime permissions and network status in overdue search screen
- Implement
AppointmentRepository#searchOverduePatientsImmediate
- Fix search results appointments not getting fully downloaded/shared/selected
- Remove unused code from overdue search
- Add overdue patients select and download feature flag key
- Fix overdue search not displaying no patients found error view
- Fix app crashing when editing patient details
- Fix hypertension treatment question english translation for Sri Lanka
- Handle selected overdue appointments state in overdue screen
- Add support for selected overdue appointments download
- Show selected overdue appointments count in overdue screen
- Show download and share button in overdue search screen when search results are loaded
- Bump itext7 to 7.2.3
- Fix app crashing when scheduling overdue download worker
- Handle nullable fields when generating overdue CSV from database
- Add support for selected download and share in overdue screen
- Bump Sentry to v6.2.1
- Ignore deleted and old phone numbers when generating overdue CSV from database
- Remove extra margin start and end for overdue search button
- Show selected overdue appointments count in overdue search screen
- Implement
OverdueAppointmentSelector
- Use overdue appointment selector in overdue screen
- Use overdue appointment selector in overdue search screen
- Use overdue appointment selector to fetch selected ids in overdue download worker
- Use overdue appointment selector to fetch selected ids in overdue download format selection dialog
- Remove unnecessary code in overdue screen
- Update call result outcome design in contact patient bottom sheet
- Add support for select and download in overdue search screen
- Add support for select and share in overdue search screen
- Show no internet connection dialog when download/share button is clicked
- Bump Material Design Components to v1.6.1
- Bump firebase config to v21.1.1
- Bump Coroutines to v1.6.4
- Continue with current action when not now is clicked in measurement warning dialog
- Bump Camera view dependency to v1.1.0
- Add query to fetch required information for generating overdue patients CSV
- Implement overdue patients CSV generator
- Refactor
OverdueListDownloader
- Bump flipper to v0.153.0
- Set target aspect ration and rotation for QR code scanner preview
- Use
OverdueListDownloader
for generating overdue patients CSV or PDF usingOverdueCsvGenerator
- Bump mixpanel to v6.4.0
- Bump fragment to v1.5.0
- Show a checkbox when select overdue patients feature flag is enable
- Handle selected overdue appointments state in overdue search screen
- Bump kotlin to v1.7.10
- Hide overdue patients list item checkbox by default
- Fix CDSS alert not dismissing after modifying medicines
- Prefill search query when search history item is clicked
- Highlight search results with the matched search query
- Bump datadog sdk to v1.13.0
- Move existing search history item to the top when clicked
- Bump flipper to v0.150.0
- Bump sentry gradle plugin to v3.1.2
- Bump sentry to v6.1.4
- Bump Android desugar JDK library to v1.1.6
- Increase overdue search query text field debounce time
- Add remote key for overdue search feature flag
- Fix
JSONDataException
when parsing the drug stock response - Ignore
ReportsModel#reportsContent
on parcel - Bump Facebook.soloader to v0.10.4
- Bump CameraX dependencies to v1.1.0
- Bump resync token for appointment sync API
- Bump google-services to v4.3.13
- Use UI renderer to render overdue search results
- Add support for caching paging data
- Fix old synced appointments not getting deleted on purge
- Save search query to overdue search history when search query is valid
- Add layout for overdue search screen
- Bump Sentry to v6.1.2
- Consume
OverdueSearchViewEffect
inOverdueSearchEffectHandler
- Implement query to search overdue patients
- Open overdue search screen when search button is clicked in overdue screen
- Search for overdue patients when search query is valid
- Turn off translation for instant search allowed characters
- Updated translations:
om-ET
,kn-IN
,so-ET
,ti-ET
,mr-IN
,te-IN
,sid-ET
,ta-IN
,bn-IN
,hi-IN
,pa-IN
,ta-LK
,am-ET
,bn-BD
,si-LK
- Show search results when overdue search results are loaded
- Handle user interactions for overdue search results
- Implement overdue search results adapter
- Handle overdue search load states
- Search overdue patients, when the search history item is clicked
- Prefill search query when the search history item is clicked
- Bump coroutines to v1.6.3
- Implement view effects to show overdue search results
- Wire Mobius loop with overdue search screen UI
- Handle keyboard visibility in overdue search screen
- Bump mixpanel to v6.3.0
- Bump Google Services plugin to v4.3.12
- Don't show no patients found error view when search query is empty
- Don't show empty search history items in overdue search screen
- Fix inconsistent overdue section header UI
- Bump sentry-android to v6
- Bump sentry android gradle plugin to v3.1.0
- Bump Google Play Services Location to v20
- Bump Sentry Gradle plugin to v3.1.1
- Bump Kotlin to v1.7.0
- Hide footer when the pending section is collapsed
- Restore expanded/collapsed states of Overdue Sections
- Use
OverdueListSectionStates
to update overdue section states inOverdueModel
- Use
OverdueListSectionStates
to check overdue section states inOverdueAppointmentListItemNew
- Remove unused section header state usages
- Use
- Add developer flag for overdue search
- Add search button in overdue patients list
- Implement FTS table for
PatientAddress
- Define overdue appointment query as a
const
inOverdueAppointment
- Bump Annotation library to v1.4.0
- Provide overdue search history string set from preferences
- Add effect to load overdue search history
- Show overdue search history when search query is empty
- Load overdue search history when overdue search screen is opened
- Add overdue search query validator
- Validate search query when overdue search query is changed
- Bump overdue sections feature flag version to v1
- Save overdue search history as
String
type in preferences - Implement
OverdueSearchHistory
- Bump Sentry to v6.1.1
- Add wrapper class for overdue appointment sections
- Show no pending patients card when there are no pending overdue patients
- Load appointments with a reminder when loading all overdue appointments for a facility
- Update horizontal padding of overdue section header
- Link overdue list adapter to the
RecyclerView
inOverdueScreen
- Implement
OverdueAppointmentListItemNew
adapter - Rename
SeeAllPendingAppointmentList
toPendingListFooter
- Handle pending list footer clicks
- Fix app crashing after coming back to app from the background after the overdue list is loaded
- Handle see all/see less button clicks for pending overdue list section
- Fix views flashing in the overdue list
- When overdue appointments are loaded or are loading, render appropriate views
- Don't show pending overdue list footer if there are no pending overdue appointments
- Add pending list size for the default state as a firebase remote config
- Purge old appointments that are synced
- Implement
OverdueAppointmentListItemNew
adapter - Fix progress page not handling system back clicks
- Bump Flipper to v0.149.0
- Bump OkHttp to v4.10.0
- Handle collapse/expand states of overdue appointment sections
- Fix no pending patients illustration is not collapsing
- Fix overdue list showing older scheduled appointments
- Enable drug stock only for India
- Bump kotlin-coroutines to v1.6.2
- Move shared test code to separate module
- Remove overdue appointments list from
OverdueModel
- Remove pull reminder status from
README.md
- Change return type of
AppointmentRepository#overdueAppointmentsInFacilityNew
toObservable<List<OverdueAppointment>>
- Load overdue appointments and break down into different sections
- Bump Flipper to v0.147.1
- Show call result section by default in ContactPatientBottomSheet
- Bump lottie to v5.2.0
- Render overdue appointments when appointments are loaded and overdue sections feature is enabled
- Add feature flag for overdue section improvements
- Load overdue appointments when current facility is loaded and overdue sections feature is enabled
- Rename agreed to visit call result text
- Change colour of number and chevron in the section headers to blue
- Rename remind to call later call result text
- Show all overdue patients count instead of just pending patients in overdue tab
- Show progress bar when loading all overdue appointments
- Implement minor overdue section layout improvements
- Bump core-ktx to 1.8.0
- Fix
RetentionType
getting obfuscated by R8/Proguard - Bump appcompat to v1.4.2
- Fetch the last created appointment for the patient when fetching the latest overdue appointment
- Update english text of hypertension treatment question for Sri Lanka
- Bump flipper to v0.146.0
- Fix test name in
PatientSummaryUpdateTest
- Bump mixpanel to v6.2.2
- Bump datadog plugin to v1.4.0
- Show call result status for the appointment in
ContactPatientBottomSheet
- Limit instant search to alphanumeric characters
- Add query to load all overdue appointments for a facility
- Bump lint to v30.2.1
- Add layouts for overdue appointments item types
- Fix lint issues related to overdue layouts
- Fix search crashing when searching with special characters
- Bump Sentry to v5.7.4
- Fix CDSS alert hiding when multiple BPs are added on the same day
- Bump flipper to v0.145.0
- Don't show CDSS alert for newly registered patients
- Add query to load latest scheduled appointment for the patient
- Don't show CDSS alert for patient if appointment is more than 2 days overdue
- Bump ConstraintLayout to v2.1.4
- Show ongoing hypertension treatment question for Sri Lanka
- Redesign
ContactPatientBottomSheet
UI
- Fix text cursor jumping to end when editing patient details
- Enable CDSS alerts only in pilot facilities
- Redact measurements PHI from logs
- Bump lint to v30.2.0
- Bump Cirrus rebase-action to v1.7
- Bump firebase-config to v21.1.0
- Add query to fetch call result for the appointment
- Bump Jackson to v2.13.3
- Add
updatePriorities
for security app update reminders as a Firebase remote config - Add
appStaleness
inShowAppUpdate
- Disable monthly drug stock reminder by default
- Show critical update card if in case it clashes with drug stock reminder card
- Bump Google play services auth to v20.2.0
- Fix critical app update dialog UI
- Bump Mixpanel to v6.2.1
- Fix app update notifications not being scheduled
- Bump kotlin to v1.6.21
- Bump Lottie to v5.1.1
- Migrate
DeletePatientEffectHandler
to use view effects - Update
DrugStockReminderAPI
to includeDrugStockFormURL
- Handle opening of webView when enter drug stock button clicked
- Bump Datadog SDK to v1.12.0
- Bump leakcanary to v2.9.1
- Bump facebook flipper to v0.144.0
- Enable monthly drug stock reminder feature flag
- Add support for monthly drug stock report reminders
- Bump Sentry to v5.7.2
- Bump Mixpanel to v6.1.1
- Bump gradle to v7.1.3
- Update translations:
am-ET
,ti-ET
,om-ET
,bn-BD
,hi-IN
,so-ET
,si-LK
,te-IN
,ta-IN
,mr-IN
,ta-LK
,pa-IN
,kn-IN
,sid-ET
,bn-IN
- Increase max character limit in overdue tab badge
- Use personal access token when checking out repo in
cut_release_branch
workflow - Sync reports and progress data before patient sync
- Replace
age
anddateOfBirth
inTestData
factory methods withPatientAgeDetails
- Bump Lint to v30.1.3
- Bump Cirrus rebase-action to v1.6
- Remove the
Age
class - Add preferences for drug stock reminder
- Fix the logic for notification schedule time in
AppUpdateNotificationWorker
- Fix API link for
DrugStockReminderApi#drugStockReminder
- Check drug stock report status when app is opened
- Schedule
DrugStock
API to run on 1st of every month at 8 AM - Migrate
ForgotPinCreateNewEffectHandler
to view effects - Add feature flag for monthly drug stock report reminders
- Add
DrugStockCard
inPatientsTabScreen
and handle its visibility - Cut release branch every week instead of every 2 weeks
- Trigger demo and prod release when release branch is created
- Schedule
DrugStockNotifcationScheduler
in thePatientsTabScreen
- Migrate
ForgotPinConfirmPinEffectHandler
to use view effects - Bump Flipper to v0.143.0
- Rename
trigger_demo_release
workflow name totrigger_release
- Bump GH Actions
cache
to v3 - Fix
trigger_demo_release
workflow running on every newly created branch - Implement critical app update card in
PatientsTabScreen
- Bump flipper to v0.140.0
- Use
RecyclerView.AdapterDataObserver
to scroll to top when drugs are added - Update AVD disk size to 8GB in GH Actions
- Bump sentry-android to 5.7.1
- Bump sentry gradle plugin to 3.0.1
- Implement showing app update nudges based on the priority in
PatientTabScreen
- Remove marking older appointments for a patient as a side effect when scheduling an appointment
- Bump datadog to v1.3.0
- Update flipper to v0.141.0
- Add a query to check whether the latest BP entry is high for the patient
- Load clinical decision support info when the patient summary screen is created
- Bump gradle to v7.4.2
- Bump kotlin to v1.6.20
- Bump coroutines to v1.6.0
- Implemented the support for DrugStockReminder API
- Show the clinical decision support banner in summary screen when newest BP entry is high for the patient
- Hide clinical decision support alert banner when edit medicines are clicked
- Bump asm to v9.3
- Add feature flag for clinical decision support alerts
- Update
isNewestBpEntryHigh
query - Add Hindi translations for CDS alert
- Add remote config key for
NotifyAppUpdateAvailableV2
feature flag - Add GitHub action to cut a release branch
- Add stronger app update reminders
- Fix recycler view crash when refilling drugs
- Bump fragment to v1.4.1
- Bump firebase to v21.0.2
- Bump flipper to v0.138.0
- Bump sentry to v5.6.3
- Bump paging to v3.1.1
- Handle background notifications for prioritised app updates
- Bump Sentry Gradle plugin to v3.0.0
- Add
DrugStockReminder
api support - Bump Sentry to v5.7.0
- Add GH Action to trigger a demo release on Bitrise when release branch is created
- Run CI checks in
trigger_demo_release
workflow - Cancel in progress demo release workflow when new release action is triggered
- Pass Simple Bitrise app slug to
TriggerBitriseRelease
script - Add
CriticalAppUpdateDialog
- Bump AGP to 7.1.2
- Bump lint to v30.1.2
- Bump Lottie to v5.0.2
- Use full text search when searching for patients
- Bump flipper to v0.137.0
- Bump GH Actions
upload-artifact
to v3 - Bump logback to v1.2.11
- Move wildcard formatting to search query
- Update GH Actions
checkout
to v3 - Bump Lottie to v5.0.3
- Bump Jackson to v2.13.2
- Bump mixpanel-android to 6.1.0
- Bump Sentry to v5.6.2
- Bump Gradle to v7.4.1
- Display patient search results in alphabetical order
- Improve patient search performance
- Improve loading recent patients performance
- Improve loading overdue patients performance
- Show patient died status for dead patients in search results
- Migrate
HelpScreen
to user view effects - Bump Sentry Gradle plugin to v2.1.5
- Update translations:
am-ET
,ta-LK
,kn-IN
,bn-BD
,bn-IN
.pa-IN
,mr-IN
,ta-IN
,si-LK
,sid-ET
,te-IN
,so-ET
,ti-ET
,om-ET
,ta-LK
- Bump sentry to 5.6.1
- Provide
AppUpdateHelpContact
based on theCountry
- Bump flipper to v0.136.0
- Remove
isFlexibleUpdateType
as parameter fromUpdateInfo
- Provide
PackageInfo
as dependency forAppVersionFetcher
- Bump Lottie to v5.0.1
- Update proguard rule to keep enum classes only for iText library
- Add support for prioritised nudges in
CheckAppUpdateAvailability
- Use
OnConflictStrategy.ABORT
when updating using upsert - Bump opencsv to v5.6
- Update Room to v2.4.2
- Update GH Actions
setup-jdk
to v3
- Remove
InputField#validate
- Migrate
RegistrationFullNameScreen
to use view effects - Migrate
RegistrationLoadingScreen
to use view effects - Bump Flipper to v0.131.1
- Migrate
RegistrationLocationPermissionScreen
to use view effects - Bump Lottie to v4.2.2
- Bump ConstraintLayout to v2.1.3
- Bump Preferences to v1.2.0
- Migrate
RegistrationConfirmPinScreen
to use view effects - Migrate
OnboardingScreen
to use view effects - Bump desugar JDK library to v1.1.5
- Migrate
RecentPatientsScreen
to use view effects - Fix
OnboardingScreen
not opening registration screen - Mark
Appointment#nextAppointmentPatientProfile
query as a transaction - Remove Gradle Versions plugin
- Migrate
RegistrationPinScreen
to use view effects - Migrate
RegistrationFacilitySelectionScreen
to use view effects - Bump Lint to v30.1.1
- Stop sending user location information to Mixpanel
- Bump Jackson to v2.13.1
- Bump Room to v2.4.1
- Migrate
LoginPinScreen
to use view effects - Bump AGP to v7.1.1
- Stop sending username to analytics
- Stop reporting SQL performance metrics to Mixpanel
- Ignore updating to Material 3 dependency
- Bump Kotlin to v1.6.10
- Bump Moshi to v1.13.0
- Bump ItemAnimators to v1.1.0
- Bump Mixpanel to v6.0.0
- Migrate
AppLockScreen
to use view effects - Bump Gradle to v7.4
- Bump RootBeer to 0.1.0
- Bump Google Play Services
- Auth to v20.1.0
- Location to v19.0.1
- Barcode Scanning to v18.0.0
- Bump leakcanary to 2.8.1
- Bump coroutines to v1.6.0
- Remove Google Guava dependency
- Bump Dagger to v2.41
- Bump Gradle to v7.3.3
- Remove version range for zxing dependency in the version catalog
- Bump WorkManager to v2.7.1
- Bump Google Play Services
- MLKit Barcode Scanning to v16.2.1
- Authentication to v19.2.0
- Update renovate bot config
- Bump OkHttp to v4.9.3
- Ignore automatic appointments when fetching next appointment details
- Bump AGP to v7.0.4
- Bump Play Core to v1.10.3
- Bump androidx-cameraView to 1.0.0-alpha32
- Bump Github action script to v5.1.0
- Bump Lint to v30.0.4
- Bump Dagger to v2.40.5
- Bump facebook.soloader to 0.10.3
- Bump Mobius to v1.5.8
- Request camera permissions when add bp passport button is clicked in
EditPatientScreen
- Run renovate bot daily after 12 am
- Update next appointment card UI specifications
- Set toolbar title in
ScanSimpleIdScreen
based on where it's opened from - Implement adding
NHID
inEditPatientScreen
- Request camera permission when add nhid button is clicked in
EditPatientScreen
- Fix when scanned QR code error is shown the progress state continues to show
- Refactor
addBPPassport
andaddNHIDButton
to useMaterialButton
- Fix two duplicate NHIDs end up rendering in
EditPatientScreen
- Bump firebase config to v21.0.1
- Add facility protocol and group UUID in demo facility
- Update assigned facility card UI specifications
- Set India timezone for renovate bot to run schedules
- Move adding health ids from edit patient behind a feature flag
- Display National Health ID before BP Passports in
EditPatientScreen
- Bump google-services to 4.3.10
- Add highlight when a new alternate id is added
- Bump Google Truth to v1.1.3
- Bump Mixpanel to v5.9.6
- Bump androidx-annotation
- Add benchmark test for loading overdue appointments in a facility
- Support scanning list of unique Bp passports in
EditPatientScreen
- Add benchmark test for patient registration queries
- Handle visibility of Bp Passport label and button when scan health id from edit patient is enabled
- Migrate
ScannedQrCodeSheet
to use view effects - Bump lint to v30.1.0
- Bump Flipper to v0.131.0
- Add benchmark test for creating a new bp entry
- Migrate
CustomDrugEntrySheet
to user view effects - Migrate
SettingsScreen
to use view effects - Bump Paging to v3.1.0
- Migrate
RemoveOverdueAppointmentScreen
to user view effects - Remove Spotless Gradle plugin
- Remove code formatting checks GH Action
- Bump AppCompat to v1.4.1
- Update the highlight alignment for newly added NHID or BP passport
- Add highlight when newly scanned bp passports are added
- Index
patientUuid
in tables that are joined inOverdueAppointment
database view - Fix broken back button in
EditPatientScreen
- Fix uneven spacing between health ID labels and
ADD
button
- Add health ID's from edit patient screen
- Don't run auto request review action in draft PRs
- Implement
NextAppointmentCardView
- Show next appointment card in patient summary screen
- Refresh appointment details when appointment is scheduled or assigned facility is changed
- Fix appointment not refreshing after assigned facility is changed
- Add double non breaking spaces between appointment date and status
- Debounce overdue updates to prevent running out of view effect queue size
- Stop loading total facility count when facility picker view is created
- Update
hasAppointmentForPatientChangedSince
query to only considerScheduled
appointments - Update GH Actions
setup-jdk
to v2 - Bump Datadog SDK version
- Rename next appointment title string
- Add support for demo country
- View next appointment information in patient summary screen
- Change appointment bottom sheet display logic
- Schedule appointment sheet is now only opened from patient summary screen when BP or Blood Sugar or Prescription is changed
- Inject a new
AppDatabase
in instrumented tests instead of using a singleton instance - Add support for writing performance regression test suites
- Remove QA Android tests from PR comment GH Action
- Return early if the required
Timeout
conditions are not satisfied inTimeoutCallAdapterFactory
- Enable auto merge of PR when assigning reviewer
- Fix help screen not opening on button click
- Remove duplicate included modules in
AppModule
- Use hardcoded user in server integration tests
- Add support to set custom animations for
Router
transactions - Migrate
DeletePatientScreen
to a fragment - Migrate
TeleconsultPrescriptionScreen
to a fragment - Report
StringIndexOutOfBoundsException
when building identifier display value - Migrate
HelpScreen
to a Fragment - Use
StringPreferenceConverter
for getting selected state from preferences - Use view render to setup UI and fill fields in edit screen
- Remove unused properties from
SetupActivityModel
- Fix text change events not triggering in edit patient screen
- Add support for running Heroku cleanup instance manually
- Migrate
EditMedicineScreen
to use view effects - Migrate
OverdueScreen
to use view effects - Add a specific endpoint network timeout
- Fix app crashing when changing facility while app is not connected to network
- Fix Sri Lanka personal health number not rendering in the patient entry and edit screens
- Ask storage permission when download/share button is clicked
- Add common download function for downloading overdue list
- Fix flaky paging test cases
- Remove post delayed callbacks when view is detached from window
- Remove canceling previously scheduled periodic work in
SyncScheduler
- Change SQL performance reporting to use begin and end hooks
- Use view binding to inflate layout in
BaseDialog
- Fix overdue list file name in
OverdueListDownloader
- Send performance monitoring events to Datadog
- Bump Mobius to v1.5.6
- Enable overdue list download and share feature in India only
- Extend
RxWorker
inOverdueDownloadWorker
- Implement overdue list download/share format dialog
- Set user ID as user property in
MixpanelAnalyticsReporter
- Provide a standardized mechanism to update user and deployment details in third-party tooling
- Improve Room annotation processing
- Enable star projection of queries
- Enable incremental annotation processing
- Use
IO
scheduler for doing background tasks inOverdueDownloadWorker
- Download/Share CSV only for API below 24
- Show error dialog when overdue list download fails
- Fix sharing downloaded overdue list through Whatsapp is not working
- Enable
OverdueListDownloadAndShare
feature flag - Make PDF as the default for downloading Overdue lists
- Default to opening Google Sheets for Spreadsheets
- Add option to download & share overdue list
- Fix medical history answers toggle not switching when selected
- Bump Mixpanel to v5.9.5
- Set user ID as user property in
MixpanelAnalyticsReporter
- Bump Dagger to v2.40
- Bump WorkManager to v2.7.0
- Migrate
SplashScreen
to a fragment - Bump Core-KTX to v1.7.0
- Migrate
InstantSearchScreen
to use view effects - Migrate
LinkIdWithPatientEffectHandler
to use view effects - Migrate
PatientSummaryScreen
to use view effects - Migrate
OnBoardingScreen
to a Fragment - Migrate
SettingsScreen
to a Fragment - Bump Coroutines to v1.5.2
- Implement
OverdueListDownloader
- Cancel in progress GH actions when new action is started with same group name
- Migrate
HomeScreen
to use view effects - Migrate
TeleConsultSuccessScreen
to a Fragment - Migrate
ForgotPinCreateNewPinScreen
to a Fragment - Create demo user for Google Play reviews
- Migrate
PatientEntryScreen
to use view effects - Bump Gradle to 7.3
- Implement
OverdueDownloadWorker
- Show no internet connection dialog when download/share button is clicked
- Save databases in failed instrumented tests as test artifacts
- Migrate
IntroVideoScreen
to use view effects
- Fix diabetes treatment input required dialog showing when diabetes management is disabled
- Allow only latin digits in the phone number entry
- Bump AGP to v7.0.3
- Migrate
RegistrationFacilitySelectionScreen
to a fragment - Migrate
RegistrationLocationPermissionScreen
to a fragment - Migrate
RegistrationLoadingScreen
to a fragment - Remove
FragmentScreenKeyModule
fromAuthenticationActivityComponent
- Remove
:router
package - Remove dependency on
com.squareup.flow:flow
- Migrate
SelectCountryScreen
to use view effects - Migrate
EnterOtpScreen
to use view effects - Implement CSV to PDF file converter
- Add
OverdueListDownloadApi
- Migrate
ForgotPinConfirmPinScreen
to a Fragment - Remove tool for capturing of flaky tests
- Fix overdue screen progress state during initial sync
- Migrate
SelectCountryScreen
to a fragment - Bump Mobius to v1.5.5
- Enable custom drug search feature
- Enable placeholders in overdue screen
- Use overdue list count to display the count in the tab bar
- Change
TheActivity
to load the entire screen history instead of a single screen key - Add support for Android 12
- Bump compile & target SDK to 31
- Add exported attr in
AndroidManifest.xml
for activities/services/receivers with intent filters - Add
ACCESS_COARSE_LOCATION
permission
- Fetch appointment directly in contact patient sheet
- Updated translations:
so-ET
,pa-IN
,bn-BD
,mr-IN
,bn-IN
,ta-LK
,am-ET
,sid-ET
,kn-IN
,om-ET
,si-LK
,ta-IN
,te-IN
- Bump CameraX dependencies
- Remove unused params from
OverdueAppointment
- Bump Dagger to v2.39.1
- Enable call result sync
- Scope the construction of
RxSharedPreferences
to the application - Remove flow for setting a fallback country for India users when moving to a build supporting country selection
- Move migration of v1 Country to
SetupActivity
from the DI provider
- Purge call results when database purges run
- Scroll to top when drugs list content is changed in edit medicines screen
- Render custom drug frequency in drug summary view
- Change "Normal" button text to "Call" in patient contact sheet if secure call is disabled
- Fix country selection list content hidden behind Android navigation bar
- Fix screen backstack not getting maintained when app is restored from background
- Fix state selection list content hidden behind Android navigation bar
- Add a progress state in
CustomDrugEntrySheet
- Implement showing drug frequency in
EditMedicineScreen
based on the country - Add integration tests for
AppConfigRepository
- Change
SynceableRepository#save()
to be a synchronous call - Change server environment in integration tests to
android_review
- Update
verify_pr_description
CI validation check to Shortcut links - Unify appointment cancellation flow in
RemoveOverdueScreen
- Implement showing medicine frequency labels depending on the country in
TeleconsultMedicinesView
andMedicineFrequencySheet
- Add support for syncing diabetes treatment question
- Use Kotlin script for PR comment check GH Action
- Bump Kotlin to v1.5.31
- Remove overdue list changes feature flag
- Implement providing drug frequencies label depending on the country in
DrugSearchScreen
- Add progress state in the save button when the drug is being added/updated in
CustomDrugEntrySheet
- Handle
ShowKeyboard
as a Ui Action instead of rendering it in theUiRenderer
- Refactor
ContactPatientUiRenderer
- Provide drug frequencies to label as a map
- Show ongoing diabetes treatment required dialog in diagnosis screen
- Record call results instead of updating the same appointment record
- Fix
Country
v2 migration not running - Convert commit and push bash script to Kotlin script
- Show state selection screen after country is selected
- Add Sri Lanka personal health number business identifier
- Enable custom drug search feature
- Inject
DrugFrequencyToLabelMap
directly inTeleconsultMedicinesView
instead of handling it in the effect handler
- Hide resend sms button when OTP attempts are blocked
- Show patient died status in patient summary screen & contact patient bottom sheet
- Go back to the previous screen when done/back is clicked in the patient summary screen when the patient is marked as dead
- Show change diagnosis dialog when patient is not diagnosed with HTN or diabetes when registering
- UI improvements for medical history screen
- Show hypertension diagnosis and treatment in single card
- Show separate cards for hypertension and diabetes diagnosis
- Show hypertension diagnosis even when facility doesn't have diabetes management enabled
- Added diabetes treatment question in medical history screen
- Medication screen improvements
- Search for commonly used drugs
- New custom drug entry/edit sheet
- Add support for Sri Lanka
- Add support for displaying drug frequencies label depending on the country
- Restrict OTP entries to 5 attempts
- Remove next button from state selection screen, you can now select a state to go to next screen
- Remove next button from the country selection screen, you can now select a country to go to next screen
- Custom Drug Entry Sheet UI Improvements
- Navigate back to
SelectCountryScreen
fromRegistrationPhoneScreen
when there's only one state present in the country - Show personal health number text field in patient entry/edit screens
- Fix select country & state screen overlapping next button
- Fix contact patient bottom sheet not showing correct results
- Fix multiple medical history answers selection in patient summary screen
- Fix app not displaying national ID and proper illustration in Sri Lanka
- Change
ScheduleAppointmentSheet
to use Mobius view effects - Add Clubhouse overview description in the Pivotal documentation
- Migrate v1
Country
usages to v2Country
- Change
NewMedicalHistoryScreen
to use Mobius view effects - Parse
Country_Old
manually when migrating to v2Country
- Remove
Country_Old
- Fetch states for selected country deployments
- Remove login failed errors from UiRenderer, and add via effect handler when logging in
- Replace deprecated platform
PreferenceManager
usage with AndroidX preference - Bump Dagger to v2.38.1
- Bump AGP to v7.0.2
- Refactor logic around providing drug frequencies label depending on the country
- Change
EditPatientScreen
to use Mobius view effects - Update
.editorconfig
rules - Show facilities from selected state during sign up
- Use
Object
class for parsing oldCountry
json
- Add support for state selection after selecting country
- Implement providing drug frequencies label depending on the country
- Ui improvements for
CustomDrugEntrySheet
- Show numeric keyboard with dosage text field focused when sheet is opened
- Update drug frequency edit text ui
- Add ellipsis to long drug name in
PatientSummaryScreen
&EditMedicineScreen
- Add a unicode character instead of space in
DrugSearchScreen
search results - Updated translations:
mr-IN
,bn-IN
,bn-BD
,kn-IN
,pa-IN
,am-ET
,sid-ET
,ta-LK
,hi-IN
,ti-ET
,so-ET
,si-LK
,te-IN
,ta-IN
,om-ET
- Show alpha numeric keyboard for national ID text field in patient entry and edit screen
- Remove maximum character limit for phone numbers
- Fix patient summary going back to home screen when opening teleconsult links
- Bump Paging to v3.0.1
- Bump CameraX dependencies
- Bump
camera-core
,camera-camera2
andcamera-lifecycle
to v1.0.1 - Bump
camera-view
to v1.0.0-alpha27
- Bump
- Bump AGP to v7.0.1
- Bump Timber to v5.0.1
- Migrate
PlaceholderScreen
to a fragment - Update
MaterialAlertDialog
theme and style - Run integration tests on discrete Heroku servers instead of QA
- Bump lottie to v4.1.0
- Bump logback to v1.2.5
- Bump lint to v30.0.1
- Change large component corner shape to 8dp
- Add 32dp horizontal margin for
noPatientsInFacilityTextView
inscreen_instant_search
- Migrate
EnterOtpScreen
to a Fragment - Add v2 manifest support in app
- Fix TDS drug frequency string value
- Remove unused
DrugFrequencyChoiceItem
class
- Implement
CustomDrugEntrySheet
- Set Simple video and duration based on locale
- Fix incorrect test in
TheActivityControllerTest
- Commit and push string formatting changes
- Add
.gitattributes
for specifying eol forstrings.xml
- Support
ContactPatientSheet
with no appointment - Migrate to Gradle Version Catalog
- Move logic for deciding the initial screen to the Mobius loop in
TheActivity
- Update OverdueListChanges feature flag to support
ContactPatientSheet
changes - Change registered facility as nullable in
ContactPatientProfile
- Add home screen illustrations for Sri Lanka
- Change Sri Lanka iso country code to
LK
- Bump asm to v9.2
- Set Sri Lanka display name in country selection screen
- Migrate to Fragment results API
- Bump threeten-extra to v1.7.0
- Bump AppCompat to v1.3.1
- Bump RecyclerView to v1.2.1
- Unify the patient age details into a single model
- Migrate
PatientEntryScreen
to a fragment - Check if ViewModel is initialised when saving state in base screens
- Bump Kotlin Coroutines to v1.5.1
- Bump jBCrypt to v0.4
- Migrate
EditPatientScreen
to a fragment - Migrate
IntroVideoScreen
to a Fragment - Remove usage of
Age
inEditPatientEffectHandler
- Move delete patient button click listener to
onViewCreated
inEditPatientScreen
- Prefill Sri Lanka national ID in patient entry and edit screens
- Add
SriLankaNationalIdMetaDataV1
to type adapter - Bump RxJava to v2.2.21
- Bump LeakCanary to v2.7
- Remove reporting scanning logs to Sentry
- Migrate
NewMedicalHistoryScreen
to a Fragment - Change
RegistrationPhoneScreen
to use view effects - Change
ScanSimpleIdScreen
to use Mobius view effects - Handle exception when syncing reports in
ConfirmFacilityChangeEffectHandler
- Show appointment results in contact patient sheet for patient with no phone number
- Change
PatientsTabScreen
to use Mobius view effects
- Ask users for their name and job designation on sign up
- Don't load search results if search query is not changed from previous search query
- Show keyboard and prefill search query if present when instant search screen is shown
- Updated translations:
kn-IN
,bn-IN
,hi-IN
,ta-LK
,pa-IN
,om-ET
,bn-BD
,so-ET
,mr-IN
,ta-IN
,si-LK
,bn-BD
,te-IN
,am-ET
,ti-ET
,sid-ET
- Show warning dialogs for adding BP and Blood Sugar after creating a patient
- Overdue list improvements
- Change overdue list UI
- Load overdue patients without phone number
- Updated contact patient bottom sheet UI
- Fix app syncing prescription drugs with empty name
- Fix text overflowing in video illustration in some languages
- Fix searching by short code from the scan BP Passport screen does not load results initially
- Add gradle-versions-plugin for checking dependency updates
- Bump AndroidX Core Testing to v2.1.0
- Bump Firebase dependencies
- Performance monitoring plugin -> 1.4.0
- Performance monitoring -> 20.0.2
- Remote config -> 21.0.0
- Disable Firebase Performance Monitoring for development builds
- Use full date formatter when rendering last visited date in contact patient sheet
- Bump CameraX dependencies
- Bump
camera-core
,camera-camera2
to v1.0.0 - Bump
camera-lifecycle
to v1.0.0 - Bump
camera-view
to v1.0.0-alpha26
- Bump
- Fix UI inconsistencies in overdue list and contact patient sheet
- Bump AppCompat to v1.3.0
- Cache build dependencies and intermediates in CI workflows
- Bump Fragment to v1.3.6
- Disable new
FragmentStateManager
- Remove the daily and frequent sync separation
- Update home screen illustrations for Bangladesh & Ethiopia
- Update Simple video view to be translatable
- Bump Logback to v1.2.4
- Bump Core KTX to v1.6.0
- Stop triggering syncing of protocols on user login
- Bump AndroidX Test dependencies
- Bump AndroidX Test to v1.4.0
- Bump AndroidX Test Ext to v1.1.3
- Bump Rx preferences to v2.0.1
- Bump Lottie to v3.7.2
- Bump Lint to v27.2.2.
- Support compression of HTTP request bodies using Gzip
- Use
MobiusLoopViewModel
for sending view effects that are lifecycle aware- Replace
MobiusLoop.Controller
withMobiusLoopViewModel
in base screens - Add new interface for handling received view effects
- Remove
RxMobiusBridge
- Replace
- Fix navigation issues in
Router
- Support multiple modals
- Fix crash when using new
FragmentStateManager
- Migrate
ChangeLanguageScreen
to a fragment - Bump Flipper to v0.98.0
- Bump UUID generator to v4.0.1
- Bump Jackson to v2.12.4
- Restart
TheActivity
after changing language - Don't push to new screen if the top screen is same as the new screen
- Bump ML Kit Barcode to v16.2.0
- Bump Lint to v30.0.0
- Bump AGP to v7.0.0
- Bump Play Services Location to v18.0.0
- Redesign sync indicator view
- Increase the search and scan button height in patients screen
- Show new video illustration in patients screen
- After language is changed app will go back to home screen
- Fix
ContactPatientBottomSheet
UI spacing and styling
- Fix showing duplicate patients in search results
- Bump Sentry Gradle plugin to v2.0.1
- Bump Material Design Components to v1.4.0
- Add ADRs for SQL performance profiling
- Bump sqlite-android version to 3.36.0
- Add
minWidth
for phone number text input layout inscreen_registration_phone
- Add
Drug
s table - Migrate
BloodPressureHistoryScreen
to a fragment - Migrate
BloodSugarHistoryScreen
to a fragment - Delete patients and it's complete medical records when the retention time has passed
- Implement
DrugSync
- Update default protocol drugs
- Remove remote config sync worker from the regular sync resources
- Enqueue
UpdateRemoteConfigWorker
on app cold starts - Use
SyncConfigType
qualifier for daily and frequent sync configs - Bump Kotlin to v1.5.21
- Updated
ContactPatientBottomSheet
behaviour for supporting patients with and without phone number - Change
SyncInterval
from an enum to a data class - Timeout instrumented tests after 30 minutes
- Change Android emulator API level to 27 in
ci_checks
- Fix home screen memory leaks
- Use
childFragmentManager
&viewLifecycleOwner.lifecycle
when creatingFragmentStateAdapter
- Remove overdue list adapter from recycler view when
OverdueScreen
view is about to be destroyed
- Use
- Implement transferred from and registered at facility in
ContactPatientBottomSheet
- Load online lookup API if patient not found locally
- Implement
DrugsSearchScreen
- Don't show progress if overdue list already has items
- Change
PatientProfile
to be a Room relation model - Move online patient lookup behind a feature flag
- Add support for finding a patient online from ID scan within the states
- New supported language: Tamil (Sri Lanka) [
ta-LK
], Sinhala [si-LK
] - Show "Change" button in BP and blood sugar entry sheets for changing date
- Move all daily syncs to the frequent sync group
- Fix
ContactPatientBottomSheet
not going back to call patient view on back click in call later mode - Fix overdue list not changing when switching facility from overdue screen
- Push records to server during sync in batches
- Allow push and pull sync batch sizes to be configured separately
- Migrate
OverdueAppointment
to add patients without phone number - Migrate
kotlinx.android.parcel
usage tokotlinx.parcelize
- Change
CrashReporter
to be a facade instead of a discrete interface - Show download and share buttons in overdue list
- Show invalid json error when
NHID
number is empty or less than 14 digits - Explicitly pin OkHttp version to 4.X
- Migrate
RecentPatientsScreen
to a fragment - Paginate recent patients list
- Fix overdue list item UI indentation
- Bump Kotlin to v1.5.20
- Increase tappable area of overdue call button
- Add
retainUntil
column to thePatient
table - Remove unnecessary method from
Analytics
- Bump dependencies for Flipper
- Bump
com.github.egslava:edittext-mask
-> '1.0.7' - Bump AGP to v4.2.2
- Replace
GITHUB_ACCESS_TOKEN
withSERVICES_ACCESS_TOKEN
- Clean up
gradle.properties
- Extract product flavor build config fields into
defaultConfig
- Updated translations:
pa-IN
,hi-IN
,te-IN
,kn-IN
,mr-IN
,te-IN
,sid-ET
,kn-IN
,ta-IN
,bn-BD
,bn_IN
,so-ET
,ti-ET
,am-ET
,ta-LK
,om-ET
- Click on overdue patient to open patient summary
- Show progress when loading overdue patient contact information
- Tap outside or swipe to dismiss the bottom sheets
- Tap outside to dismiss the dialogs
- Fix invalid qr code error when scanning a valid Indian NHID
- Use single list adapter in
InstantSearchScreen
- Added a question about hypertension treatment when creating patient
- Fix random crashes when instant search screen is in background
- Use
ExperimentalGetImage
forBitmapUtils#getBitmap
- Bump Annotation library to v1.2.0
- Add Annotation experimental library
- Bump Room to v2.3.0
- Bump Paging to v3.0.0
- Prefill search query in
InstantSearchScreen
- Paginate search results in
InstantSearchScreen
- Replace usage of custom
Optional
class withjava.util.Optional
- Add analytics events in teleconsult log after success
- Paginate overdue appointments list
- Fix instant search error views overlapping each other
- Remove usage of deprecated constructor from
MobiusDelegate
- Add training videos depending on language for
Amharic
andOromo
- Updated translations:
hi-IN
,bn-BD
,te-IN
,bn-IN
,am-ET
,pa-IN
,ti-ET
,kn-IN
,mr-IN
,ta-IN
,so-ET
,om-ET
- New supported language: Sidama [
sid-ET
] - Updated home screen illustrations
- Fix confirm reset pin error text is not hidden by default
- Implement QR code JSON parser and extracted direct Moshi usage in
ScanSimpleIdEffectHandler
- Bump Kotlin to v1.5.10
- Bump AGP to v4.2.1
- Use
.editorconfig
for project code style - Prefill NHID as
alternateId
inPatientEntryScreen
- Update facility picker search edit text hint
- Move
PatientPrefillInfo
topatient
package to resolve coupling - Add a new style and a theme overlay for
TextInputDatePicker
textfields - Remove
ShortCodeResultsScreen
- Deprecate
PatientRepository#search
- Remove RxBinding2
- Use new method of SQL performance profiling (transform generated Room DAOs)
- Redact logs with
RecentPatient
- Add NHID support in
PatientEntryScreen
- Use
PatientPrefillInfo
for prefilling patient entry information - Show NHID in
PatientEntryScreen
- Highlight patient identifiers in search
- Fix user cannot see sync button
- Fix progress view for manual OTP entry screen is not hidden when login fails
- Improve
ScanSimpleIdScreen
navigation - Change labels to indicate the ID search
- Bump Mobius to v1.5.3
- Material Theming Migration
- Show patients with national health id when searching with from scan screen
- Remove old patient search
- Show
LinkIdWithPatientSheet
for Indian NHID - Auto request reviewer for opened and re-opened PRs
- Update National Health ID strings
- Remove unwanted fields in
PatientPrefillInfo
- Don't auto request review if a reviewer is already assigned
- Show error text when user scans invalid QR code
- Redact sensitive information from logs
- Implement Instant Search using BP Passport Number
- Add NHID support in
ScanSimpleIdScreen
- Update title text and label in
ScanSimpleIdScreen
- Update translations:
ti-ET
,pa-IN
,om-ET
,bn-IN
,te-IN
,hi-IN
,am-ET
,ta-IN
,mr-IN
,bn-BD
,so-ET
,kn-IN
- Home screen improvements
- Update home screen illustrations
- Change patient search button text style
- Add automatic performance profiling (reported to Mixpanel) for the Room database queries
- Show Indian national health ID in
PatientSummaryScreen
- Bump Firebase dependencies
- Firebase Performance Plugin to 1.3.5
- Firebase Performance Client to 19.1.1
- Google Services Plugin to 4.3.5
- Enable near realtime Firebase performance monitoring (MORE INFO)
- Refactor
BpPassportSheet
toScannedQrCodeSheet
- Show Indian national health ID in
EditPatientScreen
- Migrate Gradle build scripts to use Kotlin DSL
- Stop reporting
SyncEvent
to analytics - Bump RootBeer to v0.0.9
- Bump AGP to v4.2.0
- Bump Kotlin to v1.5.0
- Add a common color resource for all search string query highlights
- Bump SQLite version to 3.35.5
- Update
removeUntil
predicate inRouter#replaceKeyOfSameType
- Fix attaching removed fragment to
FragmentTransaction
inRouter
- Show error dialog when assigning a NHID to a patient with an existing ID
- Fix highlight color for instant search using phone number
- Add Instant Search using Patient Identifiers (Bangladesh National id, Ethiopian medical record no., etc)
- Move QR code scanner preview view inside
ScanSimpleIdScreen
- Remove dialog & sheet from navigation back stack when dismissing
- Return null for
Cursor.string
extension if the column index is less than or equal to -1 - Add
IndiaNationalHealthId
as an identifier inIdentifierType
- Add sql query for instant search by numeric criteria
- Bump Sentry to v4.3.0
- Rename
Scan BP passport
button toScan QR code
- Show remove overdue appointment reasons in a separate screen
- Show list of patients when multiple patients have same BP passport
- Fix dead patients showing in overdue list
- Make entire prescribed drugs list scrollable
- Bump AGP to v4.1.3
- Bump Kotlin to v1.4.32
- Bump Dagger to v2.33
- Bump LeakCanary to v2.6
- Bump CameraX dependencies
- Bump Fragment to v1.3.2
- Bump PlayServices Auth to v19.0.0
- Bump Moshi to v1.11.0
- Bump JUnit to v4.13.2
- Change facility picker and instant search highlight background color to yellow
- Update Ethiopian date separator pattern
- Migrate
ContactPatientBottomSheet
to aBaseBottomSheet
- Add Material motion in
ContactPatientBottomSheet
for handling view visibility changes - Migrate
ScheduleAppointmentSheet
to aBaseBottomSheet
- Migrate
PatientsTabScreen
to a fragment - Migrate
ReportsScreen
to a fragment - Migrate
OverdueScreen
to a fragment - Add
DatePickerKeyFactory
for getting date picker key based onCountry
- Move
TextInputDatePickerSheet
behind a feature flag - Migrate app to use ViewBinding
- Replace
kotlin-android-extensions
withkotlin-parcelize
- Show
TextInputDatePickerSheet
for Ethiopian users - Add Ethiopian calendar support
- Add Somali language option to language selection
- Request camera permissions when opening QR code scanner from instant search screen if not provided
- Fix date stepper showing black color when it's disabled
- Fix prescribed drugs item corner radius not being updated when order is changed
- Trim start and end white spaces for instant search query
- Add drug stock option in progress
- Show custom error screen for drug stock web view when there is no internet connection
- Remove date of birth
DateTimeFormatter
as constructor param fromPatientRepository
- Open BP passport scanning from search screen
- Update translations:
mr-IN
,bn-BD
,ti-ET
,te-IN
,pa-IN
,hi-IN
,om-ET
,ta-IN
,kn-IN
,am-ET
,bn-IN
- Change "Preferred facility" to "Assigned facility"
- Show 'CHANGE' button in appointment reminder bottom sheet
- Highlight search field and show keyboard when 'Add to existing patient' option is selected
- [Ethiopia] Show dates in Ethiopian calendar
- Fix separator between Age & DOB fields not visible in patient entry & edit screens
- Add feature flag for village type ahead search
- Fix village type ahead crash when creating/editing patient
- Migrate
LinkIdWithPatientView
toLinkIdWithPatientSheet
- Convert
screen_patient_summary
to useConstraintLayout
- Bump Play Core to v1.10.0
- Add option to manually trigger GH Actions
- Migrate
SetupActivity
to the new navigation framework - Show link id sheet after patient summary profile is loaded and link id is present
- Use personal access token for rebase action
- Fix PR comment commands running condition
- Add recipe for integrating a new sync resource
- Bump ML Kit barcode dependency
- Bump CameraX dependencies
- BP passport scanner improvements
- Added tap to focus in QR code scanner preview
- Switch to
ZxingQrCodeAnalyzer
when ML Kit is unavailable
- Updated translations:
bn-BD
,te-IN
,hi-IN
,ta-IN
,mr-IN
,bn-IN
,ti-ET
,am-ET
,pa-IN
,om-ET
- Show next button in the registration screens
- Implement village type ahead in patient entry/edit screens
- Show overdue count in home screen tabs
- Filter results in village type ahead in patient entry/edit screens
- Fix prescribed drugs list going beyond screen bounds
- Load the current facility as a direct call instead of a reactive one in
OverdueEffectHandler
- Migrate
PatientSummaryScreen
to a fragment - Bump Dagger to v2.32
- Bump Google truth to v1.1.2
- Bump WorkManager to v2.5.0
- Fix the Room query thread pool executor to run all available threads
- Load list of
colonyOrVillage
from thePatientAddress
table - Change
TeleconsultRecordScreen
to a fragment - Change
EditMedicinesScreen
to a fragment - Only load the alphabetical patient log once when the screen is opened
- Add
Router#popUntilInclusive
- Updated translations:
bn-IN
,ti-ET
,om-ET
,bn-BD
,te-IN
,kn-IN
,mr-IN
,hi-IN
,pa-IN
,am-ET
- Show progress when linking bp passport to patient
- Show progress when saving medical history for new patient
- Change prescriptions end icon to a chevron icon instead of dropdown
- Improve performance of the instant search queries by ~50%
- Stop loading patients from other facilities in the alphabetical patient log
- Fix cannot exit patient summary screen after scheduling an appointment
- Change
AppLockScreen
to a fragment
- Bump Material Design Components to v1.3.0
- Bump ConstraintLayout to v2.0.4
- Add
Widget.Simple.TextField.Layout.PatientEntry.AutoComplete
style - Bump Kotlin to v1.4.30
- Remove JCenter from Maven repository sources
- Set patient status to
migrated
whenever an overdue appointment is removed for one of the following reasons- "Transferred to another public health facility"
- "Moved to private practitioner"
- Build only the
PRODUCTION
release APK as part of the CI checks
- Updated translations:
mr-IN
,ta-IN
,bn-BD
,ti-ET
,am-ET
,kn-IN
,bn-IN
,hi-IN
,te-IN
,pa-IN
,te-IN
,om-ET
,ta-IN
- Add next button to phone number registration screen
- Change prescribed drugs toolbar title to
Medicines
- Fix downloaded prescription background color
- Change UI for adding protocol/custom drugs
- Show toolbar progress indicator in facility picker screen
- Update sorting order of prescribed drugs
- Fix App crash when returning to the register patient screen before completing registration when patient date of birth is entered
- Fix prescription entry sheet UI
- Fix name string in link id with patient view
- Disable strict mode crash for VM policy
- Redesign
LinkIdWithPatientView
- Move to Dagger assisted inject
- Make instant search by name case insensitive
- Change
InstantSearchScreen
to a fragment - Change
ScanSimpleIdScreen
to a fragment - Change
HomeScreen
to a fragment - Remove
ScanBpPassportActivity
- Migrate
TheActivity
to the new navigation framework - Add
CardViewDetector
lint for warning when using androidx/appcompatCardView
- Add
TextViewTextSizeDetector
lint for warning when usingTextView#textSize
- Bump AGP to v4.1.2
- Fix bottom sheet dialog theme
- Add
NoopViewRenderer
- Migrate
BpPassportSheet
toBaseBottomSheet
- Inject user's country code in
SentryCrashReporter
- Migrate
ShortCodeSearchResultScreen
to a fragment - Change
AccessDeniedScreen
to a fragment - Remove deprecated Mobius delegate usage in
BloodSugarHistoryScreen
- Migrate
TeleconsultSharePrescriptionScreen
to a fragment - Change
AlertFacilityChangeSheet
toBaseBottomSheet
- Change
FacilityChangeScreen
toBaseBottomSheet
- Change
ConfirmFacilityChangeScreen
toBaseBottomSheet
- Change
PatientSearchResultsScreen
to a fragment
- Updated the app icon
- Highlight patient name and number in Instant search
- Rename
newbranch
script tonewbranch.sh
- Purge the QA environment before running the instrumented tests instead of after in CI
- Add support for reporting screen changes to Analytics for the new navigation framework
- Migrate
ProgressBar
usage toCircularProgressIndicator
- Scroll to top when instant search results are updated
- Report time taken when loading all patients and search results in Instant Search
- Change
RegistrationPhoneScreen
to a fragment - Change
RegistrationPinScreen
to a fragment - Change
LoginPinScreen
to a fragment - Change
RegistrationFullNameScreen
to a fragment - Change
RegistrationConfirmPinScreen
to a fragment - Show keyboard in Instant Search only when there is no identifier
- Add different adapters for showing all patients and search results in Instant Search
- Add ADR for the new navigation framework
- Use Dagger Factory to bind instances instead of
BindX
interfaces - Bump Room dependency
- Bump CameraX dependency
- Bump Dagger dependency
- Clean up the abstract screen types
- Migrate
AuthenticationActivity
to the new navigation framework - Improve instant search ordering
- Add Instant search
- Updated translations:
bn-IN
,mr-IN
,hi-IN
,pa-IN
,bn-BD
,am-ET
,ti-ET
- Add shell env comment to
pre-push
hook - Add the Router for the new navigation framework
- Track code style and lint rules for project in VCS
- Add Instant search query
- Add
ScreenFragmentCompat
to support using the older view-based screens in the v2 navigation framework - Add convenience classes for creating screens for the new navigation framework
- Fix BPpassport prefill value to have display value
- Change home illustration for India
- Fix short code search screen crash
- Add PR comment commands for running instrumented tests and rebasing PR
- Add breadcrumbs for different stages in search operations
- Cleanup
ImageSrcDetector
- Bump tooling JDK to 11.0
- Migrate
ShortCodeSearchResultScreen
to Mobius
- Updated translations:
pa-IN
,te-IN
,ti-ET
,bn-IN
,mr-IN
,am_ET
- Fix a crash that could happen when closing the edit medicines screen
- Convert the
ImageProxy
toBitmap
when decoding the QR code using ML kit
- Bump appcompat -> 1.2.0
- Bump CI JDK version to 11
- Revert view binding migration for
RecentPatientsView
- Add
MLKitQrCodeAnalyzer
- Disable the change language feature on devices running Lollipop (API level 21, 22)
- Updated translations:
kn-IN
,ta-IN
,pa-IN
,om-ET
- Fix
shortCodeText
auto focusing inScanSimpleIdScreen
- Fix app going back to home screen after scanning a BP passport
- Fix BP passport scanning not working
- Move BP passport scan results handling to
HomeScreen
- Fixed BP Passport scanning does not work after the first scan
- Refill prescriptions in edit medicine screen
- Add support for recording RBS, FBS, and PPBS blood sugars in two units: mmol/L or mg/dL
- Add
recipes.md
- Added blood sugar unit preference
- Move scanning of QR codes to a discrete activity
- Bump AGP to 4.1.1
- Convert blood sugar values to
mg/dL
when saving/updating
- Disabled running the app on rooted devices
- Change label of district address fields in patient entry and edit screens to "Zone" for Ethiopia users
- Updated translations:
ti-ET
,pa-IN
,ta-IN
,te-IN
,mr-IN
,bn-IN
,hi-IN
,ta-IN
,bn-BD
,kn-IN
,am-ET
- Render blood sugar in
mmol/L
in summary view and history. - Refill prescriptions in edit medicine screen
- Fix issue where the local user state can become inconsistent during registration
- Add
TeleconsultStatusSheet
- Show
Next
inScheduleAppointmentSheet
- Update
TeleconsultRecord
to sync frequently - Add
TeleconsultStatus
toTeleconsultRecord
- Mark strings used in prescription image as un-translatable
- Use
ENGLISH
locale when formatting prescription date - Rename
TeleconsultRecord
requestCompleted
torequesterCompletionStatus
- Bump the resync token for the Facility sync
- Bump AGP to 4.1.0
- Add
PrescribedDrug#refill
method - Remove unnecessary sealed class types for different Business ID metadata versions
- Clean up
PatientRepository
- Change reactive calls for registering a patient to synchronous ones
- Accept the ongoing patient entry as a parameter to the register patient method
- Remove deprecated
Optional
class usages
- Move registration and login flows to a separate activity
- Update
appupdatedialog_body
string - Enable ViewBinding
- Migrate
SplashScreen
to use ViewBinding
- Update translations:
kn-IN
,ta-IN
,bn-IN
,ti
,bn-BD
,pa-IN
,mr-IN
,te-IN
,hi-IN
- Fix teleconsult button in patient summary screen is broken on some devices
- Add
SelectDiagnosisErrorDialog
when diagnosis is not selected inNewMedicalHistoryScreen
andMedicalHistorySummaryView
- Made "SMS Reminders" to be the default consent label on the patient screen unless otherwise specified on a country level
- Show toast message after saving prescription image on device
- Fix
ProgressMaterialButton
AVD not animating when initial state is notin-progress
- Add
syncGroup
property to theFacility
resource - Remove custom WorkManager initializer
- Bump Android Gradle Plugin version to 4.0.2
- Add method to
AppDatabase
to clear all patient data not in the current sync group - Update download and share
MaterialButtons
inTeleconsultSharePrescriptionScreen
toProgressMaterialButtons
- Purge unused data after a full sync completes
- Register patients in sync integration tests
- Stop registering a blood pressure measurement to associate a patient in tests with a facility
- Report database optimization events to analytics
- Delay purging of data from a different sync group for a fixed duration (remotely configurable) after switching facilities
- Add support for server controller resync when switching facility sync groups
- Fix app freeze when pressing enter/done with empty pin in lock screen
- Add
TeleconsultPrescriptionScreen
- Add
TeleconsultSharePrescriptionScreen
- Updated translations:
bn-IN
,ti-ET
,bn-BD
,ta-IN
,pa-IN
,kn-IN
,mr-IN
,om-ET
- Switch the positions of the teleconsultation and Save buttons in the
PatientSummaryScreen
- Remove
PrescribedDrugs
fromTeleconsultRecord
- Create Kotlin extension for saving Optional preferences
- Modify
PrescribedDrug
to includeteleconsultation_id
- Change
BloodPressureEntryEffectHandler
create and update measurement flows to be mostly synchronous - Remove v1 of the QR code scanning flow
- Add custom traces in Firebase Performance Monitoring for the following flows:
- Record new blood pressure measurement
- Update existing blood pressure measurement
- Change registration and current facility ID columns to regular columns without foreign keys in
User
- Add teleconsult record sync
- Change
RemoteConfigService
to pull updates synchronously - Stop injecting screens in
TheActivity
via the static component - Add support for sending teleconsult request via SMS
- Show medicines required error in
TeleconsultPrescriptionScreen
- Remove
TeleconsultationApi
& load medical officers fromMedicalOfficer
table - Fix prescribed drug frequency type adapter
- Request storage permission when downloading or sharing prescription
- Fix small UI inconsistencies in share prescription screen
- Hide keyboard when exiting from
TeleconsultPrescriptionScreen
- Add file provider for sharing prescription image below Android 10
- Fix deeplink screens & warning dialogs displaying again after activity restart.
- Fix home screen tabs swiping
- Fix issue where sync events where being triggered on an individual sync level rather than at a group level
- App lock screen does not show if the app is exited and opened again while it is on the lock screen
- Add
TeleconsultRecordScreen
- Show
TeleconsultLogNotAllowed
dialog when Medical officer is not allowed to teleconsult
- Add
Capabilities
to User - Change
TeleconsultFacilityInfoApi
endpoint - Add methods to purge soft-deleted records from the database
- Add method to purge cancelled and visited appointments from the database
- Bump target SDK version to 30
- Add weekly recurring task to run maintenance tasks on the database
- Integrated Firebase Performance Monitoring
- Updated translations for:
om-ET
,ta-IN
,bn-BD
,mr-IN
,hi-IN
,ti-ET
- Add ripple on touch for overdue patient name
- Set drug duration max limit
- Open patient summary screen when patient name is clicked in overdue
- Stop loading count of overdue items on the home screen
- Use UiRenderer for setting drug duration in
DrugDurationSheet
- Add teleconsultation facility sync (Disabled for now until API endpoint is live: ETA 04-09-2020)
- Added
MedicineFrequencyBottomSheet
to update medicine frequency - Add support for the teleconsultation record deeplink
- Add
frequency
&durationInDays
toPrescribedDrug
- Add
ImageSrcDetector
lint for warning when usingImageView#src
- Add
TeleconsultRecord
andTeleconsultRecordPayload
- Bumped internal SQLite version to 3.32.2
- Change saving of app lock timestamp to an in-memory value
- Pin the number of threads used for running queries in Room based on the SQLite connection pool size
- Disable state saving and restoration for the search results view
- Stop querying for redundant facility in
LoggedInUserHttpInterceptor
- Fixed BloodPressure removal not working
- Add a default RxJava error handler to ignore some classes of errors safely
- Fixed issue where patient details would not load for patients without an assigned facility (#1127)
- Added
SignatureActivity
to accept and save user signature - Increase error text sizes
- Update error message of address fields in
PatientEntryScreen
- Migrated
LoggedOutOfDeviceDialog
to Mobius - Migrated
ConfirmRemoveBloodPressureDialog
to Mobius - Migrate
UpdatePhoneNumberDialog
to Mobius - Migrated
LinkIdWithPatientView
to Mobius - Migrate
PatientSearchResultsScreen
to Mobius - Migrated
TheActivity
to Mobius - Migrated
AppLockScreen
to Mobius - Migrated
PatientSearchView
to Mobius - Added
TeleConsultSuccessScreen
to notify teleconsultation recorded successfully - Add
teleconsultPhoneNumber
inUser
,LoggedInUserPayload
&OngoingLoginEntry
- Change
HomeScreen
to save and restore the state correctly - Improved the user experience of loading the patient summary screen
- Optimized fetching of current facility by removing the unnecessary
User
parameter - Clean up sync tests
- Change syncs to happen on a fixed pool of threads
- Fixed native crash on Android 9 with animated vector drawables (#364)
- Fixed crash on putting the app in the background during registration facility selection (#1030)
- Add progress UI for registering a patient
- Add progress UI when scheduling appointment in
ScheduleAppointmentSheet
- Add progress UI when editing a patient in
EditPatientScreen
- Add progress UI when saving Blood pressure measurements in
BloodPressureEntrySheet
- Add progress UI when saving Blood Sugar in
BloodSugarEntrySheet
- Updated translations:
ti
- Update error message of address fields in
EditPatientScreen
- Migrated
LoginPinScreen
to Mobius - Extracted facility selection UI into a separate component
- Migrated
ForgotPinCreateNewPinScreen
to Mobius - Remove
AddToPatientSearch
screens and merge them withPatientSearch
screens - Migrated
OverdueScreen
to Mobius - Migrated
FacilitySelectionActivity
to Mobius - Migrated
FacilityChangeActivity
to Mobius - Migrated
DrugSummaryView
to Mobius - Migrated
ForgotPinConfirmPinScreen
to Mobius - Change
OverdueScreen
to load data via the paging library - Migrated
PatientSearchScreen
to Mobius - Migrated
HelpScreen
to Mobius - Migrated
HomeScreen
to Mobius - Migrated
ScanSimpleIdScreen
to Mobius - Migrate
EnterOtpScreen
to Mobius - Setup the UI via an effect in
PatientEntryScreen
- Setup the UI via an effect in
EditPatientScreen
- Separate input fields providers based on country
- Add separate labels for "Street address" and "Village/Colony/Ward" labels in
PatientEntryScreen
andEditPatientScreen
for Chennai facility groups
- Fixed issue where recent and overdue patients on home screen would not update after changing facility (#742)
- Fixed issue where the app would crash on restoring the home screen state (#791)
- Fix patient summary not opening on item click in all recent patients screen
- Show assigned facility in the patient summary screen
- Use patient's assigned facility to schedule an appointment
- Show
Transferred to
label in Overdue screen
- Use
app:srcCompat
forImageView
- Migrated
ReportsScreen
to Mobius - Migrated
AddPhoneNumberDialog
to Mobius - Migrated
RegistrationFacilitySelectionScreen
to Mobius - Migrated
RecentPatientsView
to Mobius - Migrated
RegistrationLoadingScreen
to Mobius - Change selection of facility throughout the codebase to use
ItemAdapter
- Bump patient resync token
- Migrated
RecentPatientsScreen
to Mobius - Remove tracking of ongoing registration entry from
UserSession
- Updated translations:
bn_IN
,am_ET
,te_IN
,pa_IN
,hi_IN
,bn_BD
- Added Registration Facility name and date in
PatientSummaryScreen
- Exclude deleted facilities from facility selection sheets
- Load overdue patients if current facility is same as patient assigned facility
- Fix crash when removing phone number for a patient that already has one (LINK)
- Migrated
RegistrationPinScreen
to Mobius - Migrated
ConfirmRemovePrescriptionDialog
to Mobius - Migrated
RegistrationConfirmPinScreen
to Mobius - Updated CI checks to look for Clubhouse tickets instead of Pivotal Tracker
- Migrated
RegistrationLocationPermissionScreen
to Mobius - Added patient registration and assigned facility columns to the patient model
- Replaced ThreeTenBp for time APIs
with
java.time
- Enable vector drawable support library flag in app gradle
- Add support for Medical Record Number in Ethiopia
- Add Amharic translation
- Updated translations:
mr_IN
,om_ET
,hi_IN
,pa_IN
,bn_BD
,te_IN
,ti_ET
- Fixed occasional crash when starting a teleconsultation session (LINK)
- New Onboarding UI
- Show new registration label for recent patients in home screen
- Redesigned patient card in search results
- Changed blood sugar unit from
mg/dl
tomg/dL
- Show blood sugar high/low level labels
- Redesigned patient card in recent patients screen
- New illustrations for location permission screen, overdue screen, reports screen
- Show overdue appointment count badge in overdue tab
- Changed normal call buttons in the app from green to blue
- Updated translations:
bn_BD
,kn_IN
,mr_IN
,am_ET
- Ethiopia phone number validation
- Migrated
RecentPatientItemType
to useItemAdapter
- Moved storage of cached webviews (Progress, Help) to an implementation backed by the local database instead of files
- Migrated
RegistrationFullNameScreen
to Mobius - Migrated
RegistrationPinScreen
to Mobius - Make non-protocol drugs immutable
- Refactored logic around fetching location in facility selection screens to a common class
- Decoupled feature toggles from the remote configuration setup
- Fixed retrying on a failed teleconsultation fetch when in airplane mode
- Fixed showing diagnosis text in teleconsult message when diagnosis are unanswered
- Fixed keyboard not opening in app lock screen
- Fixed prescription created from a protocol drug not-showing in
EditMedicinesScreen
- Fix changing of appointment facility does not update the facility
- User can soft delete patient
- Add diagnosis and blood sugar readings to the teleconsultation message
- User can now select from multiple doctors when requesting a teleconsultation
- Rename the button label to 'Next' when assigning a new BP passport to an existing patient
- Add visual indication for low blood sugars
- Updated translations:
ti_ET
,om_ET
,am_ET
- Change syncs on login to trigger at the usage site instead of in the
LoginUserWithOtp
class - Support receiving multiple teleconsultation phone numbers
- Introduce a
UUID
generator class to ease testing record creation - Migrated
RegistrationPhoneScreen
to Mobius - Add support for Java 8 desugaring
- Implement Java
Optional
APIs on the projectOptional
type - Implement
ProgressMaterialButton
- Fix blood pressure "High" label displaying when blood pressure is low.
- Handle cases where the patient ID is not set correctly in the deeplink
- Show address for overdue patient
- Migrated
ScheduleAppointmentSheet
to Mobius - Fix PR description CI when using markdown syntax
- Add
DeletedReason
forPatient
- Improved analytics around sync events
- Updated translations:
bn_BD
- Tighten Code Climate checks
- Add support for Android Studio 4.0
- Add support for building Android App Bundles (AABs)
- Migrate
PatientsScreen
to Mobius - Migrated
SyncIndicatorController
to Mobius - Add extension for extracting intent data from
ActivityResult
- Fix camera crash when QR scanner view is paused/closed
- Fix fetching teleconsultation error when
PatientSummaryScreen
is restored
- Add support for teleconsultation & deep-linking to open patient summary.
- Lazy inject
facility
anduser
in allEffectHandler
classes
- Fix the click issue in custom prescription on Medicines screen. LINK
- Add support for calling the patient directly from the summary screen
- Show all BP passports of a patient while editing them
- New design for calling patient from the overdue list
- Replace flow with navigation component in
SetupActivity
- Updated translations:
bn_BD
,kn_IN
,hi_IN
,mr_IN
,pa_IN
- Add CI check for fixing ellipsis's in strings.xml
- Extracted
BloodPressureReading
model as an embedded model fromBloodPressureMeasurement
- Migrated
MedicalHistorySummaryView
to Mobius - Add teleconsultation fields to the facility model
- Migrated
DosagePickerSheet
to Mobius - Migrated
CustomPrescriptionEntryController
to Mobius
- Add CI check for verifying that the CHANGELOG is updated
- Paginate data in blood sugar history page
- Use database view for
PatientSearchResult
- Migrate
PrescribedDrugsScreenController
to Mobius
- Fixed how empty search error is shown
- Introduce a facility confirmation screen whenever the user tries to perform one of the following actions immediately after changing facilities:
- Register a new patient
- Edit an existing patient
- Schedule an appointment for a patient
- Record a blood pressure measurement
- Record a blood sugar measurement
- Change the prescription
- Introduce a confirmation screen during user sign-up after selecting a facility
- Fixed bug where the 'Help" button on the home screen would distort if the facility name was very long
- Fixed occasional crash when searching for a patient by phone number
- Sync help and progress reports when the language is changed in Settings
- Change the default appointment schedule period to 28 days
- Remove Whatsapp reminders from the reminder notification consent form when registering a patient for Bangladesh users
- Hide the secure calling toll-free message if the secure calling feature is not available
- Phone numbers are no longer hidden in search results
- Migrated to the new secure user login API endpoints
- Introduced an alternate QR code scanning module, built on AndroidX. This is controlled by a feature flag (
use_new_qr_scanner
) - Hide the "Transgender" gender option during patient registration for Ethiopia users
- Add support for the Ethiopia address model
- Change the date format for recording blood sugars and blood pressures to "DD/MM/YYYY"
- Add support for recording HbA1c blood sugars
- Add a diagnosis label on the overdue appointments
- Add support for recording HbA1c blood sugars
- Add a diagnosis label on the overdue appointments
- Changed api versioning to be at the endpoint level rather than global
- Integrated tool to report flaky instrumentation tests
- Changed automatic appointments to be scheduled when a blood sugar has been recorded in addition to a BP
- Consider patients with only blood sugars recorded in the following screens:
- All patients in facility
- Search results when searching by name or phone number
- Trigger syncs automatically on the following conditions:
- An appointment is scheduled from the patient summary screen
- A patient is registered
- Bump blood sugar sync api version to v4
- Ask the user to select a diagnosis for patients who don't have both diagnosis questions answered in patient summary
- Fixed occasional crash where the application would resume from background
- Added support for editing blood sugar
- Added a new language: Afaan Oromo
- Bumped AGP to 3.6.1
- Switched to R8 for minifying the APK
- Removed spellfix sqlite extension
- Unified mobius view and activity delegate
- Fixed crash when trying to edit patient DOB
- Introduce a new design for the patient details page
- Add support for recording the patient diagnosis, based on the facility diabetes management support
- Added sync support for the recorded blood sugars
- Display the complete address on the patient search results and patient details page
- Add support for deleting the Bangladesh National ID from the edit patient page
- Add support for adding a Bangladesh National ID from the edit patient page
- Order the patient's prescribed drugs alphabetically on the patient details page
- Simplify the computation of high risk label in overdue list
- Use the diabetes management flag from the facility instead of the remote config flag to toggle the diabetes view on patient summary
- Updated to the new visual styling of the CV history, Blood pressure, and Blood sugar widgets on the patient summary screen
- Bump the resync token for CV history sync to 2
- Bump the resync token for facility sync to 2
- Fix issue where the street and zone address fields would not be synced to the servers
- Fix issue where the units('days', 'weeks') in the appointment reminder sheet would not be translated
- Fix issue where formatted numerals in the app (BP, Age, Overdue days, etc) would use numeric glyphs in some languages instead of Arabic numerals
- Introduce Diabetes management for tracking patient blood sugar
- Fix blank Bangladesh national ID getting saved while editing a patient
- Updated patient entry consent text to include registration of minors
- Added/updated translations for the following languages: Telugu, Punjabi, Marathi, Kannada, Hindi
- Patient shows up on the Recent patients list of a transferred facility as soon as they are transferred
- Blank national ID gets generated for patients, which stops them from syncing
- Removed the remote homescreen illustrations feature
- Bumped resync token for appointment sync
- Fixed incorrect migration for appointments which set all appointment types to
manual
- Moved to the dynamic address field model for patient editing
- Transfer patients to a different facility for follow-up
- Fixed the broken UI on the phone call sheet (https://www.pivotaltracker.com/story/show/169860653)
- Use the selected country for connecting to the server
- Moved to the dynamic address field model for patient entry
- Remove old edit patient screen
- Add a feature toggle for the phone masking feature
- Disable phone masking feature by default
- Remove Heap analytics
- Add a country selection screen during the registration
- Move Blood Pressure Entry sheet to Mobius
- Add breadcrumbs for tracking sizes of view saved states
- Add a loading screen when the app database is being migrated after an update
- Remove old AllPatientsInFacilityView code
- Make changing of screens in Flow synchronous
- Introduce an alternate activity (SetupActivity) as the launcher activity
- Move onboarding screen to the SetupActivity
- Add consent text when registering a patient
- Home screen banner illustrations are fetched remotely instead of hardcoded
- Migrate patient edit screen to Mobius
- Migrate patient new entry screen to Mobius
- Migrate onboarding screen to Mobius
- Add remote toggle for screen change animations
- Add instrumentation for Flow events
- Limit editing of BP measurements to one hour after being recorded. This is remotely configurable.
- Stop opening BP entry sheet immediately after registering a new patient.
- Migrate AllPatientsInFacilityView to Mobius
- Show Simple video for training user until some patients are registered
- Trigger a full sync when the application starts
- Exclude deleted patient records while searching by name or phone number
- Exclude deleted patient records when loading the alphabetical patient log
- Exclude deleted patients when loading overdue appointments
- Exclude deleted patients when finding patient by scanning BP Passport
- Exclude deleted appointments when loading overdue appointments
- Update designs for patient summary screen
- Show loader while patient search results load
- Add hindi translations to the app
- Search by short code from Scan BP passport screen
- Add Mixpanel analytics
- Add device locale, timezone, and timezone offset headers to all requests
- Search by phone number support from the screen to find patient after scanning a BP Passport
- Older devices will automatically get cleared when the user logs in on a new device
- An exact date to schedule a patient visit can be picked from the schedule appointment screen
- Fix searching by phone number shows duplicate results for patients with multiple BPs
- Search by phone number support from the screen to find patient without scanning
- Add a loading screen for registration
- Handle changes in user sync approval status
- Remove unused Communication model
- Remove deprecated
validate
function andResult
enum fromUserInputDateValidator
- Fix taking the user to the production app play store page when install app update is clicked from sandbox or demo build
- Fix crash on overdue list when scrolling quickly when the screen is still loading appointments
- All patients that have visited the current facility will be shown in the patient search screen
- Make BP date entry optional
- Added forward compatibility support to MedicalHistory.Answer enum
- Added forward compatibility support to Gender enum
- Added forward compatibility support to PatientPhoneNumberType enum
- Fix camera not getting released properly and causing memory leaks
- Fix patient details not showing up sometimes in the phone call screen
- Nudge users to update the app if it is older than expected
- Change
LoggedInUser#status
to be a forward-compatible enum
- Fix overdue list to show last recorded BP, instead of last updated BP
- Show "Last Seen" time of patient in recent patients list instead of "Last BP"
- Change PinEntryCardView to accept PIN digest to verify externally instead of reading from UserSession
- Show 10 recent patients on the home screen, and the rest on a separate screen
- While calling patients, nurses can choose between phone call or secure anonymous call
- Added the BP Passport feature to the app
- Scan a BP Passport and lookup a patient
- Scan a BP Passport and link it with an existing patient
- Scan a BP Passport and register a new patient
- Recent Patients list will not get affected by blood pressures and medical history entries that have been deleted
- Add a "Help" screen which is accessible from the home screen
- Show patient search results in two sections: ones who have visited the current facility, and the ones who have not
- Suggest nearby facilities to nurse, if switching after logging in
- Updated patient summary screen design
- Show “recent patients” on the home screen
- Sync status changes to “Pending” when patient data is updated
- Hide the sync indicator if nurse hasn’t been approved
- While creating a new account, facilities located nearby are automatically suggested
- Scheduling an appointment shows new date options
- Updated illustration on the patients tab
- Improved app performance during first sync of patient data
- Improve design of medical history screen
- Blood pressures can be entered for dates in the past
- New prescription drugs screen design
- New medicine dosage picker design
- Age and date of birth fields removed from patient search screen
- Improved patient search algorithm
- Added new cancellation reasons for appointments
- Updated the rules for identifying high-risk patients
- Fix: medical history syncing broke for some users
- Automatically submit PIN when 4 digits have been entered
- Show Yes/No/Unanswered buttons on medical history questions
- Show option to change clinics from the home screen
- Ask for confirmation when exiting Edit Patient screen without saving the edited information
- Dismiss keyboard while scrolling list of clinics
- Highlight search query term when filtering clinics
- Added ability to request a new OTP via SMS, while logging in
- Blood pressure values are now editable for 24 hours
- Demographic data of patients is now editable
- "Very High" and "Extremely High" BPs are now shows as "High"
- PIN entry is now protected against brute force attacks
- High risk patients are labelled in the overdue list
- Fix: crash when app was closed before entering OTP, while logging in
- Patient searches with more than 100 results caused a crash
- Months in a date were being ignored, when calculating fuzzy age bounds
- Patient entry UI was cleaned up; entering a colony is now mandatory.
- Visual updates to the patient summary and home screen.
- Patients can be marked as "Dead" on the overdue screen, after which they will stop showing up on the overdue screen.
- Added option to schedule appointment for one month.
- Change age search to be more permissive for older patients.
- Sync frequency has been increased to once every fifteen minutes.
- Fix: Occasionally certain records did not get synced to the server.
- Add a helpful message to the home screen
- Fix: calling a patient from the overdue list sometimes used an incorrect phone number
- Order facilities alphabetically in lists
- Fix: crash on opening patient summary if there was a BP recorded more than 6 months ago
- Fix: crash if multiple histories are present for the same patient
- Fix: crash if empty systolic or diastolic blood pressure value is submitted