Jekyll2021-08-19T03:44:47-05:00https://darshpreet2000.github.io/My-Blog/feed.xmlGSoC JourneyBlogs For My Coding JourneyCoding Period: Week 10 August 07 To August 162021-08-17T00:00:00-05:002021-08-17T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/08/17/Week-10-August-07-To-August-16<p>Week 10 Of coding period is completed, I worked on adding Creating sphinx Documentation, Splash Screen, App Icons, Updating program rules, enter server textfield
Created Documentation using sphinx
Deployed documentation on Gitlab pages
Created App Icon
Created Splash Screen
Updated metadata
Created CI script to build documentation
Added link to docs in README.md</p>
<h2 id="link-to-documentation-on-gitlab-pages">Link to documentation on GitLab Pages</h2>
<p>https://darshpreet2000.gitlab.io/lh-mhbs-eceb/</p>
<p><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/17fdb60925e9526302f90e3b91ca8af2/docs.png" alt="docs" /></p>
<table>
<thead>
<tr>
<th>Splash Screen</th>
<th>App Icon</th>
</tr>
</thead>
<tbody>
<tr>
<td><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/252d1fe53b51900fcc905d430862e684/splash.png" alt="splash" /></td>
<td><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/4a1895c2ec41f6a2f52bc9115ec01b67/app_icon.png" alt="app_icon" /></td>
</tr>
</tbody>
</table>
<h4 id="link-to-merge-request-httpsgitlabcomlibrehealthincubating-projectsmhbslh-mhbs-eceb-merge_requests25">Link to merge request https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/-/merge_requests/25</h4>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ol>
<li>Prepared Documentation/Readme for App & how to setup</li>
<li>Created App Icon, Splash screen, Intro Slides</li>
<li>Updating metadata for both programs</li>
<li>Finding & fixing bugs</li>
<li>Presentation with mentors</li>
</ol>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ol>
<li>Deploy to F-Droid</li>
<li>Finding & Fixing bugs</li>
</ol>
<h4 id="have-you-had-any-blockers-or-issues-that-are-impeding-your-project">Have you had any blockers or issues that are impeding your project?</h4>
<p>No</p>Week 10 Of coding period is completed, I worked on adding Creating sphinx Documentation, Splash Screen, App Icons, Updating program rules, enter server textfield Created Documentation using sphinx Deployed documentation on Gitlab pages Created App Icon Created Splash Screen Updated metadata Created CI script to build documentation Added link to docs in README.mdCoding Period: Week 9 July 31 To August 062021-08-06T00:00:00-05:002021-08-06T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/08/06/Week-9-July-31-To-August-06<p>Week 9 Of coding period is completed, I worked on adding notification count, About app, Share app feature, Load more notifications functionality</p>
<h4 id="notification-count">Notification count</h4>
<p>I created notifications count in bottom app bar, It displays the count of new notifications in app, After fetching data from dhis2, app check if it has the message id , if it doesn’t have the id then count is incremented.</p>
<p>When user visits the profile page then count becomes 0 as the messages are read by the user now.</p>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/2b4969eaddfc0d881716bb0b56b198c1/Screenshot_1628246331.png" width="300" /></tr>
</table>
<h4 id="about-app">About app</h4>
<p>It displays about the project with a button to visit the project, This screen will be useful for promoting LibreHealth organization to users who are using this application.</p>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/7a61c37793badc423295fa3696513231/Screenshot_1628246692.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/101b5f08043a8f1d0abacbaa8497b74f/Screenshot_1628246715.png" width="300" /></tr>
</table>
<h4 id="load-more-notifications">Load more notifications</h4>
<p>When user click on load more button then it fetches the next 5 notifications, It calls api with next page number & save the data to hive storage.</p>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/69eeea895126b0fb3f64f2cddb533e3f/Screenshot_1628246667.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/ea68d5171975a11660fd735f2d14ac30/Screenshot_1628247062.png" width="300" /></tr>
</table>
<h4 id="link-to-merge-request-httpsgitlabcomlibrehealthincubating-projectsmhbslh-mhbs-eceb-merge_requests24">Link to merge request https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/-/merge_requests/24</h4>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ol>
<li>New notifications count viewing on bottom bar</li>
<li>About App, Share App, Report bug menus in drawer</li>
<li>Added Load more feature on notifications</li>
</ol>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ol>
<li>Prepare Documentation/Readme for App & how to setup</li>
<li>Creating screen to add server url</li>
<li>Individual/facility login</li>
<li>Creating App Icon, Splash screen, Intro Slides</li>
<li>fetching program rules for classification function</li>
<li>Updating metadata for both programs</li>
<li>Finding & fixing bugs</li>
<li>Deploy to F-Droid</li>
</ol>
<h4 id="have-you-had-any-blockers-or-issues-that-are-impeding-your-project">Have you had any blockers or issues that are impeding your project?</h4>
<p>No</p>Week 9 Of coding period is completed, I worked on adding notification count, About app, Share app feature, Load more notifications functionalityCoding Period: Week 8 July 24 To July 302021-07-30T00:00:00-05:002021-07-30T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/07/30/Week-8-July-24-To-July-30<p>Week 8 Of coding period is completed, I worked on adding on call doctors schedule showing screen, I created stage 5 assessments capture feature</p>
<h4 id="added-on-call-doctors-schedule-showing-feature">Added On-Call Doctors Schedule Showing feature</h4>
<p>Tasks</p>
<ul>
<li>shows list of doctor in program</li>
<li>shows name, date, start time , end time of on call schedule</li>
<li>shows profile image in circle</li>
<li>uses cache image so that user can view image & data offline</li>
</ul>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/b3fd5624a771c890d7cb05bab25386ea/Screenshot_1627664147.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/1f6dece4acb34c2fa67fcfeab8d33e75/Screenshot_1627664196.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/3fcac54db4ed7bf9ea9e7633f5709566/Screenshot_1627664200.png" width="300" /></tr>
</table>
<h4 id="created-stage-5-discharge-with-floating-button">Created Stage 5 Discharge with floating button</h4>
<ul>
<li>Create Discharge assessments UI</li>
<li>Created discharge floating action button to appear only when child is normal & 24 hours have passed</li>
<li>Create model class for discharge</li>
<li>Create stage 5 discharge event</li>
<li>added methods to validate , register stage 5</li>
<li>added api request to mark enrollment as COMPLETED</li>
<li>added method to queue api request when user is offline</li>
<li>Created unit test for stage 5</li>
<li>Created stage 4 variable schedule to store time</li>
</ul>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/d8f01395a0193ac71472fe2aec87d869/Screenshot_1627574211.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/9c841e69b35a05275f6d5277ad5b1aa1/Screenshot_1627574216.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/081768c80a897660f9edc51a5b711e95/Screenshot_1627574227.png" width="300" /></tr>
</table>
<h4 id="stage-5-unit-test-cases">Stage 5 Unit test cases</h4>
<ul>
<li>Throws exception if assessments are incomplete</li>
<li>Marks phase-5 as complete if everything is correctly filled</li>
<li>Marks child as discharged</li>
<li>yields AssessmentsAdded on successful adding of phase 5</li>
<li>yields AssessmentsError when assessments are incomplete while adding of phase 5 assessments</li>
</ul>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ol>
<li>Fetching & displaying doctor’s schedule in App with unit tests</li>
<li>Created Stage 5 (Discharge) with button to discharge based on conditions</li>
<li>Created unit test for stage 5</li>
<li>Made stage-4 repeatable in app after 180 minutes</li>
</ol>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ol>
<li>Making messaging/Notifications viewing functionality in App</li>
<li>Adding share App report bug menus in drawer</li>
<li>Preparing Documentation/Readme of Project</li>
</ol>
<h4 id="have-you-had-any-blockers-or-issues-that-are-impeding-your-project">Have you had any blockers or issues that are impeding your project?</h4>
<ul>
<li>I have completed assessments capture functionality of app, I will request feedback from mentors & will work on the same.</li>
<li>I need to discuss individual/facility login feature</li>
</ul>Week 8 Of coding period is completed, I worked on adding on call doctors schedule showing screen, I created stage 5 assessments capture featureCoding Period: Week 7 July 19 To July 232021-07-23T00:00:00-05:002021-07-23T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/07/23/Week-7-July-19-To-July-23<p>Week 7 Of coding period is completed, I worked on adding on call doctors viewing feature, I completed notifcation showing functionality on risk assessments and monitoring alerts</p>
<h4 id="added-on-call-doctors-viewing-functionality-in-app-with-unit-tests">Added On-Call Doctors Viewing Functionality in App with Unit tests</h4>
<ul>
<li>Fetching events from on call doctors program</li>
<li>displaying on call doctors</li>
<li>displaying images with cache</li>
<li>saving the list to local storage</li>
</ul>
<h6 id="unit-tests">Unit tests</h6>
<ul>
<li>yield OnCallDoctorLoaded on successful fetching of data</li>
<li>yields OnCallDoctorLoaded on unsuccessful fetching of data by getting from hive</li>
<li>returns response with 200 code on successful fetching of on call doctors</li>
<li>throws fetch data exception on no internet connection</li>
</ul>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/6074243f3d0f264958faf54ecd311cda/Screenshot_1626859610.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/a4bdcd27fc4fcb94c18930f121d3d9e0/Screenshot_1626859590.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/5751fe9fcdc74830adaf28446bc116f1/Screenshot_1626859593.png" width="300" /></tr>
</table>
<p>GIF Showing on Call Doctors slider</p>
<p><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/042c0945a9df7bd51c64522b2c2d16eb/on_call_doctors.gif" width="300" /></p>
<h4 id="completed-notification-screen-risk-assessment-monitoring-alerts-tab-with-unit-tests">Completed Notification screen (Risk Assessment, Monitoring Alerts Tab) with Unit tests</h4>
<ul>
<li>Created notification screen bloc</li>
<li>Created repository with methods to get risk assessments and monitoring alerts</li>
<li>on tap of the list item the child assessments are opened</li>
</ul>
<h4 id="unit-tests-1">Unit tests</h4>
<ul>
<li>Flutter Notifcation BloC test</li>
<li>Test Cases</li>
<li>yield NotificationLoaded on Fetch Nofitication Of Babies</li>
<li>Flutter Notifcation Repository test</li>
<li>Test Cases</li>
<li>Risk Assessments Test cases</li>
<li>status changed normal to danger</li>
<li>status changed problem to danger</li>
<li>status changed normal to problem</li>
<li>status changed danger to problem</li>
<li>Monitoring Alerts Test cases</li>
<li>stage-4 assessments next</li>
</ul>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/b51a91d3d9d5e6a0d4cefea170cb5f5f/Screenshot_1626954594.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/230caf2b0f3d400c2b2fad7016c0c411/Screenshot_1626954596.png" width="300" /></tr>
</table>
<h4 id="unit-tests-phase-4">Unit tests Phase 4</h4>
<h5 id="assessmentsrepository-test-cases">AssessmentsRepository Test Cases</h5>
<ul>
<li>Throws exception if assesments are done before 180 mins from birth</li>
<li>Throws exception if assessments are incomplete</li>
<li>Marks phase-4 as complete if everything is correctly filled</li>
<li>Adds stage-4 assessments if list is empty</li>
</ul>
<h5 id="assessmentsbloc-test-cases">AssessmentsBloc Test Cases</h5>
<ul>
<li>yields AssessmentsAdded on successful adding of phase 4</li>
<li>yields AssessmentsError when assessments are incomplete while adding of phase 4 assessments</li>
</ul>
<h4 id="phase-3-assessments-unit-testing">Phase 3 Assessments Unit testing</h4>
<p>Test Cases</p>
<ul>
<li>Throws exception if Stage3 Normal assessments are incomplete</li>
<li>Throws exception if Stage3 Problem assessments are incomplete</li>
<li>Throws exception if Stage3 Danger assessments are incomplete</li>
<li>Marks Stage3 Normal as complete if everything is correctly filled</li>
<li>Marks Stage3 Problem as complete if everything is correctly filled</li>
<li>Marks Stage3 Danger as complete if everything is correctly filled</li>
<li>Adds Stage3 Normal assessments if list size is 2 and classification is normal</li>
<li>Adds Stage3 Problem assessments if list size is 2 and classification is problem</li>
<li>Adds Stage3 Danger assessments if list size is 2 and classification is danger</li>
</ul>
<h5 id="bloc-test">Bloc Test</h5>
<ul>
<li>yields AssessmentsAdded on successful adding of phase 3</li>
<li>yields AssessmentsError when assessments are incomplete while adding of phase 3 assessments</li>
</ul>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ul>
<li>Added On-Call Doctors Viewing Functionality in App</li>
<li>Completed Notification screen (Risk Assessment, Monitoring Alerts Tab)</li>
<li>Phase - 3,4 Unit testing</li>
</ul>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ol>
<li>Fetching & displaying doctor’s schedule in App with unit tests</li>
<li>Making messaging/Notifications viewing functionality in App with unit tests</li>
<li>Creating share App report bug features</li>
<li>Creating Stage 5 (Discharge) Stage with unit tests</li>
</ol>Week 7 Of coding period is completed, I worked on adding on call doctors viewing feature, I completed notifcation showing functionality on risk assessments and monitoring alertsCoding Period: Week 6 July 12 To July 182021-07-18T00:00:00-05:002021-07-18T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/07/18/Week-6-July-12-To-July-18<h4 id="settings-drawer-to-toggle-settings-with-unit-test">Settings drawer to toggle settings with unit test</h4>
<ul>
<li>Created end drawer to toggle settings</li>
<li>User can toggle notifications, notifications sound, dark mode</li>
<li>The settings done by user are saved instantly in storage and changes are made according to it</li>
<li>Wrote unit test for settings bloc with test cases
1. yields SettingsState on toggle of dark mode
2. yields SettingsState on change of notifications sound
3. yields SettingsState on toggle of notifications</li>
</ul>
<table>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/257337fc39bccc50b11aec0f1b59b0a8/Screenshot_1626603574.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/7c2fd97371e106fbf70a8386e25bc83e/Screenshot_1626603578.png" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/f3a56b728e9506dbbcdd85d9699817c1/Screenshot_1626603588.png" width="300" /></tr>
</table>
<h4 id="stage-3-assessments-capture-functionality">Stage 3 Assessments Capture functionality</h4>
<ul>
<li>Stage 3 has 3 types (normal, problem, danger)</li>
<li>If a baby is classified as any type then that type of stage 3 assessments get added in app</li>
</ul>
<h3 id="video-gif-showing-stage---2-with-classification-functionality">Video GIF showing stage - 2 with classification functionality</h3>
<ul>
<li>background turns red on danger</li>
<li>background turns yellow on problem</li>
<li>background turns green on normal</li>
</ul>
<table>
<thead>
<tr class="header">
<th align="left">Classifying as Danger after stage 2 assessments</th>
<th align="left">Classifying as Problem after stage 2 assessments</th>
</tr>
</thead>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/7079f679b2ecd23675fb4af30d41b43e/danger.gif" width="300" /></tr>
<tr align="left"><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/224cdc2a57c09e671e043e0aa2d1a633/problem.gif" width="300" /></tr>
</table>
<h4 id="stage-2-unit-testing">Stage 2 Unit testing</h4>
<p>Test Cases for stage-2</p>
<ul>
<li>Throws exception if assesments are done before 60 mins from birth</li>
<li>Throws exception if wardname is empty</li>
<li>Throws exception if assessments are incomplete</li>
<li>Marks phase-2 as complete if everything is correctly filled</li>
<li>Adds stage-2 assessments if list is empty</li>
</ul>
<p>Test Cases for Classification Repository</p>
<ul>
<li>if temperature < 95.5 or > 99.5 then classifies as danger</li>
<li>if severe jaundice or fast breathing then classifies as danger</li>
<li>if weight < 2000 & poor feeding then classifies as problem</li>
<li>if everything is normal then classifies as normal</li>
</ul>
<h4 id="showing-summary-of-24-hours-in-home-screen">Showing summary of 24 hours in home screen</h4>
<p>To show summary of 24 hours, We need to use lastUpdatedDuration=1d (1 day) as parameter in API to fetch all the events happened within 24 hours.</p>
<p>This has 3 types</p>
<ul>
<li>Admitted Count - Check Status = ACTIVE & Enrollment Date yesterday</li>
<li>Discharged - Check Status = COMPLETE</li>
<li>High Risk - For each TEI (Baby) this needs to be counted by parameter classification</li>
</ul>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ul>
<li>Phase - 3, 4 assessments capturing functionality</li>
<li>Showing summary in Home Screen</li>
<li>Developing settings screen of app</li>
<li>Unit Testing phase - 2</li>
</ul>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ul>
<li>Adding On-Call Doctors Viewing Functionality in App</li>
<li>Completing Notification screen (Risk Assessment, Monitoring Alerts Tab)</li>
<li>Phase - 3,4 Unit testing</li>
</ul>Settings drawer to toggle settings with unit testCoding Period: Week 5 July 5 To July 112021-07-11T00:00:00-05:002021-07-11T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/07/11/Week-5-July-5-To-July-11<h4 id="stage-2-assessments-capture-with-classification">Stage 2 Assessments Capture with Classification</h4>
<ul>
<li>Created stage-2 assessments capture with clasifying baby’s health using program rules</li>
<li>Health is classified in three categories (Normal, Problem, Danger)</li>
<li>App takes all data entered by user in stage 2 & then evaluate program rules for classifying health</li>
<li>After classifying health the color of assessments screen changes according to the category</li>
</ul>
<h4 id="stage-2-notifications-showing-feature">Stage 2 Notifications showing feature</h4>
<ul>
<li>Used <a href="https://pub.dev/packages/awesome_notifications">awesome_notifications</a> package for displaying notification</li>
<li>Displaying scheduled notifications reminder if user has not completed assessments</li>
<li>Displaying notification on stage assessments opening</li>
<li>Created Offline Notification showing functionality
<ol>
<li>Showing notification when baby is registered to complete phase -1 assessments</li>
<li>If user forgets to do phase 1 assessment then reminding by notification again after 60 minutes</li>
<li>Notification feature works offline using scheduled notification featur</li>
<li>Package used for showing notification https://pub.dev/packages/awesome_notifications</li>
</ol>
</li>
</ul>
<h3 id="screenshots-of-notifications">Screenshots of notifications</h3>
<table style="width:100%">
<tr>
<img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/494aaa7f344e5e1bf33d0014ad4056d5/Screenshot_1625675204.png" width="300" />
</tr>
<tr>
<img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/ff8b3c74f1478fcce18f16830c6c3689/Screenshot_1625674080.png" width="300" />
</tr>
<tr>
<img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/cf060d2501960c3aa0b6a9dbaa7fb953/Screenshot_1625674090.png" width="300" />
</tr>
</table>
<h4 id="unit-testing-assessments-bloc-client-repository-phase-1">Unit testing assessments bloc, client, repository, phase-1</h4>
<p>Test Cases</p>
<ul>
<li>Flutter Assessment BloC test
<ul>
<li>Test Cases</li>
<li>yield AssessmentsInitial on successful fetching of data</li>
<li>yields AssessmentsError on unsuccessful fetching of data</li>
<li>yields AssessmentsAdded on successful adding of phase 1</li>
<li>yields AssessmentsError when ward name is empty while adding of phase 1 assessments</li>
<li>yields AssessmentsError when assessments are not completed while adding of phase 1 assessments
<br /></li>
</ul>
</li>
<li>AssessmentsRepository testing
<ul>
<li>Test Cases</li>
<li>Throws exception if wardname is empty</li>
<li>Throws exception if assessments are incomplete</li>
<li>Marks phase-1 as complete if everything is correctly filled</li>
<li>Adds stage-1 assessments if list is empty
<br /></li>
</ul>
</li>
<li>Assessment Client Test
<ul>
<li>Test Cases</li>
<li>returns response with 200 code on successful fetching of assessments</li>
<li>throws fetch data exception on no internet connection</li>
</ul>
</li>
</ul>
<h4 id="searching--sorting-functionality-on-list-of-babies-screen">Searching & sorting functionality on list of babies screen</h4>
<h4 id="sort-list-of-babies-by">Sort List of babies by</h4>
<ul>
<li>Time (Birth Time)</li>
<li>Status ( Classificiation - Normal, Problem, Danger ) (Danger & Problem have high priority)</li>
<li>Location ( Ward Name)</li>
</ul>
<table>
<thead>
<th>By Birth Time</th>
<th>By Status</th>
<th>By Location</th>
</thead>
<tbody>
<tr><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/fc83bc45c8d404a4dd52adeb89377f93/Screenshot_1625831445.png" width="300" /></tr>
<tr><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/ee65c0679d6c38b6ad4d9904be912437/Screenshot_1625831527.png" width="300" /></tr>
<tr><img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/ea78d27d5a92f6cddbba69be7720eb9e/Screenshot_1625831549.png" width="300" /></tr>
</tbody>
</table>
<h4 id="search-list-of-babies-by-mothers-name">Search List of babies by mother’s name</h4>
<table style="width:100%">
<thead>
<th>Search Oni</th>
<th>Search test</th>
</thead>
<tbody>
<tr>
<img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/48bbcab698dbc6610f1556f6c41b2cd5/Screenshot_1625831565.png" width="300" />
</tr>
<tr>
<img src="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/uploads/65c9af1c4bc3a95455b5eade5abfdda1/Screenshot_1625831575.png" width="300" />
</tr>
</tbody>
</table>
<h4 id="what-progress-have-you-made-this-week">What progress have you made this week?</h4>
<ul>
<li>Adding Search, Sort Functionality in List Of Babies screen</li>
<li>Unit Testing Assessments Bloc, Client, Repository, Phase 1</li>
<li>Created Phase-1 Notifications showing functionality</li>
<li>Created Phase-2 Assessments Capture with notifications</li>
</ul>
<h4 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h4>
<ul>
<li>Phase - 3, 4 assessments capturing functionality</li>
<li>Showing summary in Home Screen</li>
<li>Developing settings screen of app</li>
<li>Unit Testing phase - 2 , 3 , 4</li>
</ul>Stage 2 Assessments Capture with ClassificationCoding Period: Week 4 June 28 To July 42021-07-04T00:00:00-05:002021-07-04T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/07/04/Week-4-June-28--To-July-04<h3 id="stage-1-assessments-capture-functionality">Stage 1 Assessments Capture Functionality</h3>
<ul>
<li>Fetching & Capturing Stage - 1 Assessments , with this feature user is able to view the captured assessments & also capture the assessments and push the data to DHIS2.</li>
<li>This works offline also, data is sent to server when user refreshes on having internet next time</li>
<li>Created a BLoC to handle assessments</li>
<li>Created Stage - 1 model class which parses and converts to JSON format for parsing and converting data</li>
<li>added required ID’s in static variables in dhis2_config.dart file</li>
<li>created a client to send data, created a repository to handle data from client</li>
</ul>
<h3 id="fetching-list-of-babies-enrolled-in-program">Fetching list of babies enrolled in program</h3>
<ul>
<li>Created a BLoC for fetching list of babies enrolled in a program</li>
<li>Creating a client & repository class for fetching & saving data locally</li>
<li>Sorting the list by time to categorize recently & past registered babies</li>
<li>On Tap of baby list item the app opens assessments screen & start fetching assessments</li>
<li>List item color changes with classification of baby - Danger (Red), Problem (Yellow), Normal (Green)</li>
</ul>
<p><a href="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/-/merge_requests/10">Merge Request Link</a></p>
<h3 id="user-profile-screen-functionality">User Profile Screen Functionality</h3>
<ul>
<li>Fetching list of users notification from dhis2</li>
<li>saving data in hive storage after fetching item</li>
<li>fetching & displaying the notification date & time for each notification</li>
</ul>
<p><a href="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/-/merge_requests/9">Merge Request Link</a></p>
<h3 id="localized-strings-in-assessments-phases-ui">Localized strings in assessments phases UI</h3>
<ul>
<li>All strings used in assessments phases UI are now localized</li>
<li>localized strings are saved in app_en.arb file</li>
</ul>
<p><a href="https://gitlab.com/librehealth/incubating-projects/mhbs/lh-mhbs-eceb/-/merge_requests/8">Merge Request Link</a></p>
<h3 id="what-progress-have-you-made-this-week">What progress have you made this week?</h3>
<ul>
<li>Implemented User Profile Screen functionality</li>
<li>Implemented fetching list of babies from dhis2 & displaying in screen</li>
<li>Cache the data after fetching from dhis2</li>
<li>localized strings in assessments phase</li>
<li>Phase 1 assessments capturing functionality</li>
</ul>
<h3 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h3>
<ul>
<li>Phase - 2, 3, 4 assessments capturing functionality</li>
<li>Adding Search, Sort Functionality in List Of Babies screen</li>
<li>Adding sort functionality , settings UI, activity logs in profile screen</li>
<li>Update functionality in profile screen</li>
</ul>Stage 1 Assessments Capture FunctionalityCoding Period: Week 3 June 19 To June 272021-06-18T00:00:00-05:002021-06-18T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/06/18/Week-3-June-19--To-June-27<h3 id="internationalized-flutter-app-by-adding-support-for-other-languages">Internationalized Flutter app by adding support for other languages</h3>
<p>Created .arb (Application Resource Bundle) file which contains key-value pair strings, I localized all the string text using till now in app.
For now I have added translations for 3 languages only</p>
<h3 id="added-metadata-of-eceb--on-call-doctors-programs">Added metadata of ECEB & on call doctors programs</h3>
<p>DHIS2 provides a metadata repository containing metadata packages with various content. A metadata package is a DHIS2-compliant JSON document which describes a set of metadata objects. I exported this metadata for the ECEB & On call doctors program. Users who will use this app will need to import this metadata in their dhis2.</p>
<h3 id="unit-testing-for-authentication-screen">Unit testing for authentication screen</h3>
<p>Unit tests are handy for verifying the behavior of a single function, method, or class. I created unit test for the auth functionality.</p>
<p>Test Cases for Hive Storage</p>
<ol>
<li>User loggedIn return true</li>
<li>Not LoggedIn return false</li>
</ol>
<p>Flutter BloC test cases</p>
<ol>
<li>yield AuthenticationLoaded on successful login</li>
<li>yield AuthenticationError on unsuccessful login</li>
</ol>
<p>Auth Client Test Cases</p>
<ol>
<li>response code 200 - successful login</li>
<li>response code 401 - unauthorized (wrong credentials)</li>
<li>Socket Exception - no internet connection</li>
</ol>
<h3 id="register-baby-screen-functionality">Register Baby screen functionality</h3>
<ul>
<li>Baby able to get registered using app & their data is stored using api in DHIS2.</li>
<li>This feature works offline also, data is synced when user is online next time</li>
<li>Created a refresh bloc for state management</li>
<li>Added Snackbars for showing info related to syncing</li>
<li>stored the list in hive storage</li>
</ul>
<h3 id="what-progress-i-made-this-week">What progress I made this week?</h3>
<ul>
<li>Internationalized Flutter app by adding support for other languages</li>
<li>Added metadata of ECEB & on call doctors programs</li>
<li>Unit testing for authentication screen</li>
<li>Register Baby screen functionality (using DHIS2 API)</li>
</ul>
<h3 id="what-do-i-plan-to-do-next-week">What do I plan to do next week?</h3>
<ul>
<li>Implementing User Profile Screen functionality</li>
<li>Baby Health Assessments Capture Functionality</li>
<li>Fetching List Of Babies screen in App using API</li>
</ul>Internationalized Flutter app by adding support for other languagesCoding Period: Week 2 June 12 To June 182021-06-18T00:00:00-05:002021-06-18T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/06/18/Week-2-June-12--To-June-18<h3 id="creating-login-user-functionality">Creating Login User functionality</h3>
<ul>
<li>Used flutter Bloc architecture for state management</li>
<li>Used DHIS2 Auth API for authentication</li>
<li>username & password is passed as Basic Auth in header in base64 encoding in API</li>
<li>Users can now login using username & password in App</li>
<li>Added Dark mode support</li>
<li>Created config files to store dhis2 apis & id</li>
<li>Added password hide/show feature</li>
</ul>
<h3 id="screen-shot">Screen Shot</h3>
<p><img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2a.png" height="500" width="250" /></p>
<h3 id="created-ui-for-baby-assessments">Created UI for Baby Assessments</h3>
<p>Assessments are divided into multiple phases-</p>
<ol>
<li>
<p>Phase 1 Assessments 0 - 90 minutes from birth</p>
</li>
<li>
<p>Phase 2 Assessments 60 - 90 minutes after phase 1</p>
</li>
<li>
<p>Phase 3 Assessments</p>
</li>
</ol>
<p>Categorized in 3 parts</p>
<ol>
<li>Normal</li>
<li>Problem</li>
<li>Danger</li>
</ol>
<p>According to the Classification the appropriate assessment will be shown to user</p>
<h3 id="screen-shots">Screen Shots</h3>
<table style="width:100%">
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2f.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2g.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2h.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2i.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2j.png" height="500" width="250" />
</tr>
</table>
<h3 id="added-theme-for-dark-mode">Added Theme for Dark Mode</h3>
<p>Toggle feature is pending but I have enabled support for dark mode</p>
<h3 id="screen-shots-1">Screen Shots</h3>
<table style="width:100%">
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2b.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2c.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2d.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week2e.png" height="500" width="250" />
</tr>
</table>
<h3 id="what-progress-i-made-this-week">What progress I made this week?</h3>
<ul>
<li>Completed authentication/login functionality</li>
<li>Created config files for storing API, DHIS2 Id’s</li>
<li>Developed UI of all three Assessments screens</li>
<li>Added support for dark mode</li>
</ul>
<h3 id="what-i-have-planned-to-do-next-week">What I have planned to do next week?</h3>
<ul>
<li>Register Baby screen functionality (using DHIS2 API)</li>
<li>Implementing User Profile Screen functionality (using DHIS2 API)</li>
<li>Making the above features work also when user is offline and sending data when user is online next time</li>
</ul>Creating Login User functionalityCoding Period: Week 1 June 07 To June 112021-06-11T00:00:00-05:002021-06-11T00:00:00-05:00https://darshpreet2000.github.io/My-Blog/2021/06/11/Week-1-June-07--To-June-11<h3 id="developing-ui-of-register-baby-screen">Developing UI of Register Baby Screen</h3>
<p>I worked on creating UI of register baby screen, I have used the following packages</p>
<ul>
<li>
<p>Flutter Customizable Slider for weight, temperature input <a href="https://pub.dev/packages/syncfusion_flutter_sliders">(Link)</a></p>
</li>
<li>
<p>Flutter Date Time Picker to pick baby’s birth date & time <a href="https://pub.dev/packages/flutter_datetime_picker">(Link)</a></p>
</li>
<li>
<p>Flutter Bloc Architecture to handle state management <a href="https://pub.dev/packages/flutter_bloc">(Link)</a></p>
</li>
</ul>
<p>I have created toggle buttons for baby’s information input such as gender, mode of delivery etc. These toggle buttons uses boolean variable for their state management.</p>
<p>I have created a model class for storing Baby’s health information, This class’s object is created & data is filled when user enter’s data is register baby’s screen.</p>
<h3 id="creating-navigation-drawer-in-app">Creating Navigation Drawer in App</h3>
<p>I Added a navigation drawer in app, It has the following items & header with LibreHealth’s Logo.</p>
<ul>
<li>Doctor’s Schedule</li>
<li>Messaging</li>
<li>About</li>
<li>Share App</li>
<li>Report Bug</li>
</ul>
<h3 id="screen-shots">Screen Shots</h3>
<table style="width:100%">
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week1c.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week1a.png" height="500" width="250" />
</tr>
<tr>
<img src="https://raw.githubusercontent.com/Darshpreet2000/My-Blog/master/images/week1b.png" height="500" width="250" />
</tr>
</table>
<h3 id="what-progress-i-made-this-week">What progress I made this week?</h3>
<ul>
<li>Developed UI of Register Baby Screen</li>
<li>Created Sliders for weight, temperature etc.</li>
<li>Created Model Class for storing Baby’s Information</li>
<li>Created Bloc for register baby screen</li>
<li>Created App Drawer with items ( Doctor’s Schedule, Messaging, Share App, Report Bug)</li>
</ul>
<h3 id="what-i-have-planned-to-do-next-week">What I have planned to do next week?</h3>
<ul>
<li>Developing Assessments Screen UI for all stages</li>
<li>Using Sliver App Bar for floating app bars</li>
<li>Adding Dark Mode in App</li>
</ul>Developing UI of Register Baby Screen