Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Practitioner Details implementation #1520

Merged

Conversation

FikriMilano
Copy link
Collaborator

IMPORTANT: Where possible all PRs must be linked to a Github issue

Fixes #857

Checklist

  • I have written Unit tests for any new feature(s) and edge cases for bug fixes
  • I have added any strings visible on UI components to the strings.xml file
  • I have updated the CHANGELOG.md file for any notable changes to the codebase
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
  • I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

ndegwamartin and others added 30 commits March 21, 2022 14:11
Adding these changes to main
* Preserve credentials but detroy session on logout

* Fix tests

* Skip token from GET only

* request method to const

* Add sync to PIN activity

* - Fix for logout crash

* - Modify logoutApi call method to not delete credentials.

* - Add user login option in Pin Setup screen

* - Fix failing test

* - Add test cases.

* - spotlessApply

* - spotlessApply

* - Modify test cases

Co-authored-by: Benjamin Mwalimu <dubdabasoduba@gmail.com>
Co-authored-by: Raazia Tariq <89384079+RaaziaTarique@users.noreply.github.com>
Co-authored-by: Francis Odhiambo Otieno <4540684+f-odhiambo@users.noreply.github.com>
* APK Release configuration for ANC

* Update ANC APK release config

* Update CI Config - ANC Config Tag

* Update tagging format config
* Trigger CI

* Add Result details navigation config test

* Add Detail view config tests
* 1141 - remove family

* update with Unit tests

* add/update unit tests

* changelog

* fix imports

* fix unit test

* remove logs

* fix unit test RemoveFamilyActivity

* add unit test for ReportFamilyViewModel

* fix crash when remove family done. plus update unit tests

* revert LoginActivity changes

* add unit test

* ignore failed unit test, though passing locally

* add/update unit tests

* add update unit tests

* update as per reviewer (Ben's) comment, remove familyName passing to questionnaireActivity,
add test cases also

Co-authored-by: Benjamin Mwalimu <dubdabasoduba@gmail.com>
* 📝 Adding CarePlan & Tasks samples

* 📝 Update the changelog
* update exception handling for failed sync

Toast message for failed connection, no toast message for other exceptions - only log the exception

* refactor exception handling for network error during sync

handle UnknownHostException and InterruptedIOException exceptions

* add tests for handleSyncFailed method

* fix failing spotless check

* add handleSyncFailed network exception tests

* refactor exception instance check

* refactor to remove utility function

Co-authored-by: Francis Odhiambo Otieno <4540684+f-odhiambo@users.noreply.github.com>
- Configure XML file formatter
- Format all xml files
- Fix testHandleQuestionnaireResponseShouldCallSaveBundleResources failing on CI only
Added a Markdown file with documentation for the Covax demo app as requested by the WHO team
Add Github CI step to generate local.properties
Reorder Github Action CI steps
* Fix Quest release CI/CD configuration 🔧
- Fixed bug incorrect url configured in release APK
- Fix issue local properties not loading
- Refactor CI/CD keystore credentials setup & configuration
* Remove deprecated environment variables

* Automation of Product Flavor releases via CI/CD

- Add support for releasing APKs from Flavors via CI/CD
- Add configuration to simulate flavors in build.gradle

* Disable CI configurations for deprecated modules

* Fix build 💚
Migrate to latest FHIR SDK library artifacts 
* Refactor Sync + Network IO configuration
* Move Reference Attachment Resolver to Engine module
* Refactor + clean up extract resource mapper validation
* Add Download manager implementation
* Add Dynamic sync configurations
* Rename configuration files
* Migrate to Android SDK 31
* Refactor SyncBroadcaster injection to Lazy
* Refactor & Clean up Sync params config implementation  
* Migrate to new versions of test dependencies
* Refactor SDK version configuration to central place
* Upgrade FHIR SDK core library versions
* Migrate CQL depdency versions 
* Refactor/Move ReferenceAttachmentResolverTest to engine module 
* Refactor deprecated capitalization implementation
* 1219 - Quest - Patient attributes and Address attributes

* update PatientItem telecom as list of string

* revert some changes to fix failing tests

* update as per reviewer comments, and fixes for coverage
* Refactor AppSettingActivity.kt

* Add debug mode parser

* Load local Composition and Binary configs

* Refactor AppSettingActivity

* Rename method to hasDebugSuffix

* Use only a single FHIR parser

* Move Quest configs to Assets

* Move G6PD configs to Assets

* Use .first() to get appId

* Move ANC configs to Assets

* Move eCBIS configs to Assets

* Delete unused configs

* Move COVAX configs to Assets

* Move JNJ configs to Assets

* Fix bugs

* spotlessApply

* Update CHANGELOG.md

* Move sample configs to Assets

* Rename sample configs

* Update sample default theme

* Fix bug

* Add test

* Fix engine failing test

* Fix Quest failing test

* Remove unnecessary comments

* spotlessApply

* Fix Quest failing test
* Migrate to targetSDK 31
- Bump up dependency versions
- Update manifest configs
- Remove kotlin-extension plugin; use view binding instead

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement generic register
- Refactor navigation
- Use compose navigation for screens
- Refactor main register to use compose views
- Harmonize register data model
- Activate app features via configuration

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move navigation screens to NavigationScreen class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register pagination and filter
- Harmonized the two operations into a common register

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix outlined text design
- Also ignore case when filtering register data by name

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FHIRPath data extractor

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Display last sync time on side menu

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add language switcher action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FhirTaskGenerator

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register client action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement generic app profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename data providers to data access objects
- This is done so to allow other operations like save and update on
the DAOs not just data retrieval
- Also renamed DomainMapper to DataMapper

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Careplan and task generation via StructureMap (#1174)

* Careplan generation from StrcutureMap

* Scheduler for task updates

* Test and add sample call

* ECBIS SAA config added

* Change invalid log message

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename UI data models

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move relevant UI packages to quest app module (#1178)

* Migrate ui package to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Use sealed class on RegisterData domain model

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register client implementation

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Load saved binary resource questionnaire configs (#1177)

* Questionnire config from config registry

* Update formConfigurationOf method defaults

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Open profile on list item click

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading data to member profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Show progress dialog when loading configs

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename components package

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename components package

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Start family profile implementation

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Format PersonalData UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename PatientProfileData to ProfileData

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement family member view component

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename event

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FamilyDao (#1190)

* Add filters

* Add filters

* Family Register and Profile DAO

* Fix compile issue with Date class

* Refactor Family DAO

* Update family profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement AncDao (#1193)

* ANC DAO | structure map condition | auto load config on login

* Remove extra todo

* Implement default profile DAO (#1194)

* ANC DAO | structure map condition | auto load config on login

* Remove extra todo

* Default Register DAO | search subject resource refactor

* Add questionnaire and responses to default dao

* Update family register row UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor family and anc models

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Update individual profile views

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement add member action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix ANC register UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Populate extra personal data information

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement family profile bottomsheet

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement action for opening family member task form

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Resolve force app crash when wrong sync config provided

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement app flavors (#1217)

* Implement app flavors

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Correct g6pd flavor versionNameSuffix config

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix pin login logo

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor household representation (#1216)

* Refactor family to Group

* Rename patientId to resourceId

The mentioned Id could be a patientId or groupId,
hence it's renamed to resourceId.

* Use official identifier

* Use constant FAMILY_CARE_PLAN

* Fix sync

* Fix filtering

* Use suffix from strings.xml

* Update CHANGELOG.md

* Move family name translation to view mapper

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove redundant filter

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix households display
- Filter only households with names. Implemented a workaround
for counting family groups

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add family member task (#1221)

* Add family member task

* Change to subject

* Refactor generic function for launching questionnaires

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement change family head action (#1228)

* Implement action for change family head

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor overflow menu to use id.xml resources

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move SideMenuOptionFactory to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Activate device to device sync feature (#1229)

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register data access objects (#1223)

* refactor register data access classes

refactor anc and family register data access classes

* clean up register data access classes

update Official Identifier to use enum, update FamilyRegisterDao to use load and fetch methods provided in defaultRepository

* Resolve missing references

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading register data (#1230)

* Migrate measure report UI implementation to quest

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Clean up measure report UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading family/anc register data

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove unnecessary null check

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix app crash on API versions below 8

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Make login screen scrollable

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add member and household head to household (#1240)

* ✨ Updated the Questionnaire View Model to add patients and related persons to the group resource

* 🎨 Reformat code

* 📝 Updated the Change log

* ♻️ Rename the method names

* 🎨 Spotless code reformat

* Add member and household head to household (#1241)

* ✨ Updated the Questionnaire View Model to add patients and related persons to the group resource

* 🎨 Reformat code

* 📝 Updated the Change log

* ♻️ Rename the method names

* 🎨 Spotless code reformat

* ✨ Added the family ID as part of the variables on the ad family member profile

* ♻️ update the variable naming

* Migrate measure reporting to quest app (#1242)

* Migrate measure report UI implementation to quest

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Clean up measure report UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Migrate measure reporting to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* 1082 (P2P) implement sending receiving data (#1226)

* Trigger CI

* Integrate p2p

* Add P2P sender and receiver dao implementations

* Implement fetching of data to be sent via P2P

* Add p2p lib as a project

* Initialize P2P library

* Init P2P lib options with sender and receiver transfer daos

* Update p2p receiver transfer dao with constructor

* Fix filter by lastupdated
Fix getting data types for sender and receiver transfer DAOs

* Sort records by last updated ascending
return resources as json data

* Fix JSON encoding resources for p2p transfer

* Resolve merge conflicts

* Add generically fetching each resource type for p2p transfer

* Save records on receiver device

* Filter records by greater than last updated at

* Add P2P menu icon on bottom navigation

* Fix resources search query for p2p (#1222)

* Add generically fetching each resource type for p2p transfer

* Fix resources search query for p2p

* Update engine to 0.1.0-alpha06-preview-p2p-SNAPSHOT

* Handle array index out of bounds when returned records is empty

* Use generic methoad to load various resources

* Make resource type dynamic

* Make resource type dynamic

* Use correct resorce type when parsing resources

Co-authored-by: Richard Kareko <rkareko@ona.io>

* Move data P2P retrieval and saving logic to base transfer DAO

* Hook up opening of P2P screen

* Set large heapsize setting to true

* Log ids of transferred resources to terminal

* Add group to list of resources for sync

* Update Resource.meta.lastUpdated date for inserts and updates

* Handle retrieval of Group class type

* Update p2p-lib directory

* Use published p2p lib snapshot

* Bump up p2p lib version

Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>

* Implement family questionnaire (#1232)

* WIP Moving FamilyQuestionnaireActivity along with dependencies

* Restored FamilyQuestionnaireActivity on Anc for all old references

* Restored FamilyQuestionnaireActivity on Anc for all old references

* ran spotless script for code styling

* Fixed save button texts on config file, moved constants to companion object in Family Questionnaire

* Fixed using familyId when opening Add Member Questionnaire

* Implement change family head functionality

* Fix app crash

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Activate in app reporting via config

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add quick fix for showing register action for specific register

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* ✨ Propagating the family name

* Update count on sync complete

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove deprecated environment variables

* Automation of Product Flavor releases via CI/CD

- Add support for releasing APKs from Flavors via CI/CD
- Add configuration to simulate flavors in build.gradle

* Disable CI configurations for deprecated modules

* Fix build 💚

* Close drawer on click report

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* React to sync state on sync complete (#1248)

* React to sync state on sync complete

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Delete unused class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix holding composable reference in viewmodel

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement remove family and family member  (#1236)

* remove family by group

* add deactivate family members toggle config

* refactor remove family package

* resolve family provile merge conflict

* update family profile event

* correct parameters for OverflowMenuClick event

* 1205 Remove family member (#1235)

* Add overflow and remove button

* Refactor RemoveFamilyQuestionnaireActivity

* spotlessApply

* Move RemoveProfile to other package

* Create MemberQuestionnaireActivity

* delete family member. ongoing

* Filter only active family members

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* 🎨 Update the task genration

* Refactor p2p implementation (#1243)

* Trigger CI

* Integrate p2p

* Add P2P sender and receiver dao implementations

* Implement fetching of data to be sent via P2P

* Add p2p lib as a project

* Initialize P2P library

* Init P2P lib options with sender and receiver transfer daos

* Update p2p receiver transfer dao with constructor

* Fix filter by lastupdated
Fix getting data types for sender and receiver transfer DAOs

* Sort records by last updated ascending
return resources as json data

* Fix JSON encoding resources for p2p transfer

* Resolve merge conflicts

* Add generically fetching each resource type for p2p transfer

* Save records on receiver device

* Filter records by greater than last updated at

* Add P2P menu icon on bottom navigation

* Fix resources search query for p2p (#1222)

* Add generically fetching each resource type for p2p transfer

* Fix resources search query for p2p

* Update engine to 0.1.0-alpha06-preview-p2p-SNAPSHOT

* Handle array index out of bounds when returned records is empty

* Use generic methoad to load various resources

* Make resource type dynamic

* Make resource type dynamic

* Use correct resorce type when parsing resources

Co-authored-by: Richard Kareko <rkareko@ona.io>

* Move data P2P retrieval and saving logic to base transfer DAO

* Hook up opening of P2P screen

* Set large heapsize setting to true

* Log ids of transferred resources to terminal

* Add group to list of resources for sync

* Update Resource.meta.lastUpdated date for inserts and updates

* Handle retrieval of Group class type

* Update p2p-lib directory

* Use published p2p lib snapshot

* Bump up p2p lib version

* Refactor p2p implementation
- Permoved some code cleanups on QuestApplication class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Run spotlessApply

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Code clean up

* Remove unused import

* Run spotless apply

Co-authored-by: Richard Kareko <rkareko@ona.io>
Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>

* Fix task color code; refresh data when activity in foreground (#1262)

* Fix tasks color codes

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refresh composable screens when the activity is resumed

Implemented a workaround based on the following recommendation (compose UI by default is not refreshed
when lifecycle is updated)
https://stackoverflow.com/questions/66546962/jetpack-compose-how-do-i-refresh-a-screen-when-app-returns-to-foreground

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* refactor remove family and member (#1263)

add condition to remove managing entity if member is head

move remove functionality to FamilyRegisterDao

* Implement family edit button (#1259)

* implement edit family details

load register family questionnaire with type as edit

* implement view/edit family-member/patient details

load register family member questionnaire with type as edit

* handle family profile null checks

* rename bundleEntry variable

* Fix loading task form

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Task plan worker fix | Missing Careplan handiling

* Enable loading new config by re-opening the app (#1261)

* Enable loading new config by re-opening the app

* Load AppMainActivity if user is not logged out

* Address review comments

* Filter tasks with status-READY only

* Fix careplan not found bug

* Task completion feature

* Fix app crash on login

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement ANC enrollment (#1267)

* Launch anc enrollment questionnaire

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix refreshing register count

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement action for launching task form (#1266)

* Task plan worker fix | Missing Careplan handiling

* Filter tasks with status-READY only

* Task completion feature

* Task completes for Profile button

* Fix app crash

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement task form action (#1268)

* Task plan worker fix | Missing Careplan handiling

* Filter tasks with status-READY only

* Task completion feature

* Task completes for Profile button

* Fix task color coding on patient profile(#1270)

* Implement family edit functionality (#1272)

* fix family edit questionnaire not populating data

* implement view family overflow menu item

* spotlessApply

* resolve conflicts

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refresh profile data

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Configure action icon and color

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Apply background color on patient profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Update ecbis version to v0.0.6

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* reference configs for afyayangu app

* Fix failing tests; Ignore failing to be deleted test

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove unnecessary class TaskStatus

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove unnecessary code

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: maimoonak <4829880+maimoonak@users.noreply.github.com>
Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: roywanyaga <84201465+roywanyaga@users.noreply.github.com>
Co-authored-by: Benjamin Mwalimu <dubdabasoduba@gmail.com>
Co-authored-by: Rkareko <47570855+Rkareko@users.noreply.github.com>
Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>
Co-authored-by: aurangzaibumer <35099184+aurangzaibumer@users.noreply.github.com>
Co-authored-by: Raazia Tariq <89384079+RaaziaTarique@users.noreply.github.com>
Co-authored-by: Martin Ndegwa <ndegwamartin@gmail.com>
Co-authored-by: Richard Kareko <rkareko@ona.io>
Co-authored-by: maimoonak <maimoonak.mk@gmail.com>
* Fetch and save logged in practitioner details

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Resolve questionnaire subject reference

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Decrypt database on debug mode

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix tests failing silently

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Test LoginViewModel#fetchLoggedInPractitioner

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Test setting organization reference

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Make loginErrorState parameter of LoginScreenKt#LoginPage nullable

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
* Update Quest to SAA configs

* Update G6PD to SAA configs

* Move and rename ecbis to anc configs

* Remove configs in resource directory
* Migrate to targetSDK 31
- Bump up dependency versions
- Update manifest configs
- Remove kotlin-extension plugin; use view binding instead

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement generic register
- Refactor navigation
- Use compose navigation for screens
- Refactor main register to use compose views
- Harmonize register data model
- Activate app features via configuration

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move navigation screens to NavigationScreen class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register pagination and filter
- Harmonized the two operations into a common register

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix outlined text design
- Also ignore case when filtering register data by name

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FHIRPath data extractor

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Display last sync time on side menu

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add language switcher action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FhirTaskGenerator

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register client action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement generic app profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename data providers to data access objects
- This is done so to allow other operations like save and update on
the DAOs not just data retrieval
- Also renamed DomainMapper to DataMapper

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Careplan and task generation via StructureMap (#1174)

* Careplan generation from StrcutureMap

* Scheduler for task updates

* Test and add sample call

* ECBIS SAA config added

* Change invalid log message

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename UI data models

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move relevant UI packages to quest app module (#1178)

* Migrate ui package to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Use sealed class on RegisterData domain model

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register client implementation

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Load saved binary resource questionnaire configs (#1177)

* Questionnire config from config registry

* Update formConfigurationOf method defaults

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Open profile on list item click

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading data to member profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Show progress dialog when loading configs

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename components package

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename components package

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Start family profile implementation

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Format PersonalData UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename PatientProfileData to ProfileData

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement family member view component

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Rename event

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement FamilyDao (#1190)

* Add filters

* Add filters

* Family Register and Profile DAO

* Fix compile issue with Date class

* Refactor Family DAO

* Update family profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement AncDao (#1193)

* ANC DAO | structure map condition | auto load config on login

* Remove extra todo

* Implement default profile DAO (#1194)

* ANC DAO | structure map condition | auto load config on login

* Remove extra todo

* Default Register DAO | search subject resource refactor

* Add questionnaire and responses to default dao

* Update family register row UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor family and anc models

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Update individual profile views

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement add member action

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix ANC register UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Populate extra personal data information

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement family profile bottomsheet

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement action for opening family member task form

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Resolve force app crash when wrong sync config provided

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement app flavors (#1217)

* Implement app flavors

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Correct g6pd flavor versionNameSuffix config

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix pin login logo

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor household representation (#1216)

* Refactor family to Group

* Rename patientId to resourceId

The mentioned Id could be a patientId or groupId,
hence it's renamed to resourceId.

* Use official identifier

* Use constant FAMILY_CARE_PLAN

* Fix sync

* Fix filtering

* Use suffix from strings.xml

* Update CHANGELOG.md

* Move family name translation to view mapper

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove redundant filter

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix households display
- Filter only households with names. Implemented a workaround
for counting family groups

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add family member task (#1221)

* Add family member task

* Change to subject

* Refactor generic function for launching questionnaires

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement change family head action (#1228)

* Implement action for change family head

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor overflow menu to use id.xml resources

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Move SideMenuOptionFactory to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Activate device to device sync feature (#1229)

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refactor register data access objects (#1223)

* refactor register data access classes

refactor anc and family register data access classes

* clean up register data access classes

update Official Identifier to use enum, update FamilyRegisterDao to use load and fetch methods provided in defaultRepository

* Resolve missing references

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading register data (#1230)

* Migrate measure report UI implementation to quest

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Clean up measure report UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix loading family/anc register data

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove unnecessary null check

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix app crash on API versions below 8

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Make login screen scrollable

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* 1219 - Quest - Patient attributes and Address attributes

* update quest patient item telecom as list of string

* Add member and household head to household (#1240)

* ✨ Updated the Questionnaire View Model to add patients and related persons to the group resource

* 🎨 Reformat code

* 📝 Updated the Change log

* ♻️ Rename the method names

* 🎨 Spotless code reformat

* Add member and household head to household (#1241)

* ✨ Updated the Questionnaire View Model to add patients and related persons to the group resource

* 🎨 Reformat code

* 📝 Updated the Change log

* ♻️ Rename the method names

* 🎨 Spotless code reformat

* ✨ Added the family ID as part of the variables on the ad family member profile

* ♻️ update the variable naming

* Migrate measure reporting to quest app (#1242)

* Migrate measure report UI implementation to quest

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Clean up measure report UI

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Migrate measure reporting to quest app module

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* 1082 (P2P) implement sending receiving data (#1226)

* Trigger CI

* Integrate p2p

* Add P2P sender and receiver dao implementations

* Implement fetching of data to be sent via P2P

* Add p2p lib as a project

* Initialize P2P library

* Init P2P lib options with sender and receiver transfer daos

* Update p2p receiver transfer dao with constructor

* Fix filter by lastupdated
Fix getting data types for sender and receiver transfer DAOs

* Sort records by last updated ascending
return resources as json data

* Fix JSON encoding resources for p2p transfer

* Resolve merge conflicts

* Add generically fetching each resource type for p2p transfer

* Save records on receiver device

* Filter records by greater than last updated at

* Add P2P menu icon on bottom navigation

* Fix resources search query for p2p (#1222)

* Add generically fetching each resource type for p2p transfer

* Fix resources search query for p2p

* Update engine to 0.1.0-alpha06-preview-p2p-SNAPSHOT

* Handle array index out of bounds when returned records is empty

* Use generic methoad to load various resources

* Make resource type dynamic

* Make resource type dynamic

* Use correct resorce type when parsing resources

Co-authored-by: Richard Kareko <rkareko@ona.io>

* Move data P2P retrieval and saving logic to base transfer DAO

* Hook up opening of P2P screen

* Set large heapsize setting to true

* Log ids of transferred resources to terminal

* Add group to list of resources for sync

* Update Resource.meta.lastUpdated date for inserts and updates

* Handle retrieval of Group class type

* Update p2p-lib directory

* Use published p2p lib snapshot

* Bump up p2p lib version

Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>

* Implement family questionnaire (#1232)

* WIP Moving FamilyQuestionnaireActivity along with dependencies

* Restored FamilyQuestionnaireActivity on Anc for all old references

* Restored FamilyQuestionnaireActivity on Anc for all old references

* ran spotless script for code styling

* Fixed save button texts on config file, moved constants to companion object in Family Questionnaire

* Fixed using familyId when opening Add Member Questionnaire

* Implement change family head functionality

* Fix app crash

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Activate in app reporting via config

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Add quick fix for showing register action for specific register

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* ✨ Propagating the family name

* Update count on sync complete

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove deprecated environment variables

* Automation of Product Flavor releases via CI/CD

- Add support for releasing APKs from Flavors via CI/CD
- Add configuration to simulate flavors in build.gradle

* Disable CI configurations for deprecated modules

* Fix build 💚

* Close drawer on click report

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* React to sync state on sync complete (#1248)

* React to sync state on sync complete

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Delete unused class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix holding composable reference in viewmodel

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement remove family and family member  (#1236)

* remove family by group

* add deactivate family members toggle config

* refactor remove family package

* resolve family provile merge conflict

* update family profile event

* correct parameters for OverflowMenuClick event

* 1205 Remove family member (#1235)

* Add overflow and remove button

* Refactor RemoveFamilyQuestionnaireActivity

* spotlessApply

* Move RemoveProfile to other package

* Create MemberQuestionnaireActivity

* delete family member. ongoing

* Filter only active family members

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* 🎨 Update the task genration

* Refactor p2p implementation (#1243)

* Trigger CI

* Integrate p2p

* Add P2P sender and receiver dao implementations

* Implement fetching of data to be sent via P2P

* Add p2p lib as a project

* Initialize P2P library

* Init P2P lib options with sender and receiver transfer daos

* Update p2p receiver transfer dao with constructor

* Fix filter by lastupdated
Fix getting data types for sender and receiver transfer DAOs

* Sort records by last updated ascending
return resources as json data

* Fix JSON encoding resources for p2p transfer

* Resolve merge conflicts

* Add generically fetching each resource type for p2p transfer

* Save records on receiver device

* Filter records by greater than last updated at

* Add P2P menu icon on bottom navigation

* Fix resources search query for p2p (#1222)

* Add generically fetching each resource type for p2p transfer

* Fix resources search query for p2p

* Update engine to 0.1.0-alpha06-preview-p2p-SNAPSHOT

* Handle array index out of bounds when returned records is empty

* Use generic methoad to load various resources

* Make resource type dynamic

* Make resource type dynamic

* Use correct resorce type when parsing resources

Co-authored-by: Richard Kareko <rkareko@ona.io>

* Move data P2P retrieval and saving logic to base transfer DAO

* Hook up opening of P2P screen

* Set large heapsize setting to true

* Log ids of transferred resources to terminal

* Add group to list of resources for sync

* Update Resource.meta.lastUpdated date for inserts and updates

* Handle retrieval of Group class type

* Update p2p-lib directory

* Use published p2p lib snapshot

* Bump up p2p lib version

* Refactor p2p implementation
- Permoved some code cleanups on QuestApplication class

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Run spotlessApply

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Code clean up

* Remove unused import

* Run spotless apply

Co-authored-by: Richard Kareko <rkareko@ona.io>
Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>

* Fix task color code; refresh data when activity in foreground (#1262)

* Fix tasks color codes

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refresh composable screens when the activity is resumed

Implemented a workaround based on the following recommendation (compose UI by default is not refreshed
when lifecycle is updated)
https://stackoverflow.com/questions/66546962/jetpack-compose-how-do-i-refresh-a-screen-when-app-returns-to-foreground

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* refactor remove family and member (#1263)

add condition to remove managing entity if member is head

move remove functionality to FamilyRegisterDao

* Implement family edit button (#1259)

* implement edit family details

load register family questionnaire with type as edit

* implement view/edit family-member/patient details

load register family member questionnaire with type as edit

* handle family profile null checks

* rename bundleEntry variable

* Fix loading task form

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Task plan worker fix | Missing Careplan handiling

* Enable loading new config by re-opening the app (#1261)

* Enable loading new config by re-opening the app

* Load AppMainActivity if user is not logged out

* Address review comments

* Filter tasks with status-READY only

* Fix careplan not found bug

* Task completion feature

* Fix app crash on login

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement ANC enrollment (#1267)

* Launch anc enrollment questionnaire

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Fix refreshing register count

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement action for launching task form (#1266)

* Task plan worker fix | Missing Careplan handiling

* Filter tasks with status-READY only

* Task completion feature

* Task completes for Profile button

* Fix app crash

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Implement task form action (#1268)

* Task plan worker fix | Missing Careplan handiling

* Filter tasks with status-READY only

* Task completion feature

* Task completes for Profile button

* Fix task color coding on patient profile(#1270)

* Implement family edit functionality (#1272)

* fix family edit questionnaire not populating data

* implement view family overflow menu item

* spotlessApply

* resolve conflicts

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Refresh profile data

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Configure action icon and color

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Apply background color on patient profile

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Update ecbis version to v0.0.6

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* update as per reviewer comment

* add update binaries and composition for mwcore

* reference configs for afyayangu app

* mwcore - healthModule, registerData, profileData

* Fix failing tests; Ignore failing to be deleted test

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* Remove unnecessary class TaskStatus

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>

* remove commented code

* discussed changes

* add unit tests for ProfileViewData

* add unit test engine for ProfileData

* add engine RegisterData unit tests

* add unit tests RegisterDao

* spotlessApply

* add unit test for AppFeature class

* add unit test for HealthModule class

* add update unit test for HivRegisterDao

* add update unit tests for Hiv and Tracing RegisterDao

* update as per reviewer comments

* fix as per reviewer comments

* as per reviewer comments Renaming TracingAndAppointment to Appointment

* remove extra AppFeatures added

* add extension for extractWithFhirPath as per reviewer comments

* updates as per reviewer comments

Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com>
Co-authored-by: maimoonak <4829880+maimoonak@users.noreply.github.com>
Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: roywanyaga <84201465+roywanyaga@users.noreply.github.com>
Co-authored-by: Benjamin Mwalimu <dubdabasoduba@gmail.com>
Co-authored-by: Rkareko <47570855+Rkareko@users.noreply.github.com>
Co-authored-by: Ephraim Kigamba <ekigamba@ona.io>
Co-authored-by: Ephraim Kigamba <31766075+ekigamba@users.noreply.github.com>
Co-authored-by: aurangzaibumer <35099184+aurangzaibumer@users.noreply.github.com>
Co-authored-by: Raazia Tariq <89384079+RaaziaTarique@users.noreply.github.com>
Co-authored-by: Martin Ndegwa <ndegwamartin@gmail.com>
Co-authored-by: Richard Kareko <rkareko@ona.io>
Co-authored-by: maimoonak <maimoonak.mk@gmail.com>
Release Quest v4.0.0
- Upgrade FHIR SDK dependencies
- Upgrade release version
* Add test for AppFeatureConfig

* Add test for AppTarget

* Add test for FeatureConfig

* Add test for AppFeatureManager

* Rename test methods

* Fix typo

* Fix failing test

Co-authored-by: Peter Lubell-Doughtie <peter@ona.io>
* PlanDefinition implementation

* Remove needless comment

* Add group subject test

* Change Careplan generator name

* Fix failing test

* Fix failing configServiceTest

Co-authored-by: Peter Lubell-Doughtie <peter@ona.io>
dubdabasoduba and others added 4 commits August 2, 2022 22:11
* ✨ Add fontSize configuration to the register card font, update the tasks register configuration to display the patient and practitioner

* ♻️ Fix code formatting

* ✅ Update failing tests

* 🔧 Update the sample configuration on fhircore.

Co-authored-by: Peter Lubell-Doughtie <peter@ona.io>
* Migrate FHIR SDK Core Libraries
* Fix App Config MLS Breaks For New Config Key Format 🐛
* Unit tests for regression bug
* Localization of debug app SAA config files
@FikriMilano FikriMilano added the DNM DO NOT MERGE label Aug 10, 2022
@FikriMilano FikriMilano self-assigned this Aug 10, 2022
…e into 857_practitioner_details_refactor

� Conflicts:
�	android/engine/build.gradle
�	android/engine/src/main/java/org/smartregister/fhircore/engine/auth/AccountAuthenticator.kt
�	android/engine/src/main/java/org/smartregister/fhircore/engine/data/remote/model/response/UserInfo.kt
�	android/engine/src/main/java/org/smartregister/fhircore/engine/ui/login/LoginViewModel.kt
�	android/engine/src/main/java/org/smartregister/fhircore/engine/util/SharedPrefConstants.kt
�	android/engine/src/test/java/org/smartregister/fhircore/engine/auth/AccountAuthenticatorTest.kt
�	android/engine/src/test/java/org/smartregister/fhircore/engine/ui/login/LoginActivityTest.kt
�	android/engine/src/test/java/org/smartregister/fhircore/engine/ui/login/LoginViewModelTest.kt
@FikriMilano
Copy link
Collaborator Author

@dubdabasoduba @f-odhiambo
This is now blocked by opensrp/fhir-common-utils#5

@FikriMilano FikriMilano removed the Blocked Item is blocked by another prerequisite label Aug 12, 2022
@FikriMilano
Copy link
Collaborator Author

Now unblocked

@FikriMilano FikriMilano force-pushed the 857_practitioner_details_refactor branch from 2cdf1a6 to bc46c62 Compare August 15, 2022 14:48
@FikriMilano FikriMilano marked this pull request as ready for review August 15, 2022 14:50
@pld
Copy link
Member

pld commented Aug 15, 2022

@FikriMilano why are we merging this into a branch and not main? (Just wondering, I don't have context for this, thanks)

@FikriMilano
Copy link
Collaborator Author

@pld
Well, it's because I am planning to keep Raazia's credit when we merge the other branch to main.
No technical reason.

@FikriMilano FikriMilano merged commit 3d688e5 into 857_practitioner_details Aug 16, 2022
@FikriMilano FikriMilano deleted the 857_practitioner_details_refactor branch August 16, 2022 03:35
FikriMilano added a commit that referenced this pull request Aug 24, 2022
* Refactor Practitioner Details implementation (#1520)

* Refactor SharedPreference keys

* Create custom JSON parser

* Refactor SharedPreferencesHelper

* Implement Practitioner Details

* Add fhir-common-utils dependency

* Returns null when Organization is not found

* Add TODO tracker for multi Organization

* Migrate practitioner endpoint url as a String extension

Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: maimoona.kausar <maimoonak.mk@gmail.com>
@FikriMilano FikriMilano removed the DNM DO NOT MERGE label Sep 11, 2022
qiarie pushed a commit that referenced this pull request Jan 15, 2025
* Refactor Practitioner Details implementation (#1520)

* Refactor SharedPreference keys

* Create custom JSON parser

* Refactor SharedPreferencesHelper

* Implement Practitioner Details

* Add fhir-common-utils dependency

* Returns null when Organization is not found

* Add TODO tracker for multi Organization

* Migrate practitioner endpoint url as a String extension

Co-authored-by: Fikri Milano <fikrimilano1@gmail.com>
Co-authored-by: maimoona.kausar <maimoonak.mk@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.