- [In Progress: 20 Jan 2021] Material Theme-ing Migration
- [In Progress: 08 Feb 2021] Migrate app to use ViewBinding
- 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 - Only load the alphabetical patient log once when the screen is opened
- Improve performance of the instant search queries by ~50%
- 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
- 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