prototype report - web viewle zhuang. feasibility analyst. shreya sharma. system/software architect....

51
Prototype Report Cash Doctor 3.0 Mobile APP Team 12 Name Primary Role Alisha Parvez Life Cycle Planner Ekasit Jarussinvichai Requirements Engineer Kenneth Anguka Requirements Engineer Kshama Krishnan Prototyper Le Zhuang Feasibility Analyst Shreya Sharma System/Software Architect Steven Helferich Project Manager Xichao Wang Operational Concept Engineer

Upload: trankhanh

Post on 05-Mar-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Prototype Report

Cash Doctor 3.0 Mobile APP

Team 12

Name Primary RoleAlisha Parvez Life Cycle Planner

Ekasit Jarussinvichai Requirements EngineerKenneth Anguka Requirements Engineer

Kshama Krishnan PrototyperLe Zhuang Feasibility Analyst

Shreya Sharma System/Software ArchitectSteven Helferich Project Manager

Xichao Wang Operational Concept Engineer

December 7, 2014

Page 2: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Version HistoryDate Author Version Changes made Rationale

10/13/14 Ekasit 1.0Original for CSCI577a; Tailored from ICSM PRO Template, separate prototype into screenshots section and core functionality section

To present overall workflow of the system and details about capability and limitation of core feature

10/20/14 Ekasit 1.1

- Remove healthcare heroes page- Remove button on my account page (customer)- Add mock-up screen of doctor page- Add some detail on page that users can edit their personal information- Change terminology

- Purpose and business value of concept of healthcare heroes is not strong enough- Remove button to reduce confusion- Add screen and some detail to make a better explanation and consistency

12/01/14 Ekasit 2.0

- Change mock-up interface to match with actual interface that we build for integration testing- Add testing with Tesseract part, which test the OCR with several types of actual medical bills- Change description of win conditions according to Winbook

- To report progress of prototype to client- To test the capability of COTS with actual sources- Update to reflect change in Winbook

12/07/14 Ekasit 2.1

- Change all word “subscribe” to be “follow”- Add assessment conclusion section- Add functionality to be able to follow other consumers

- Make consistency across all documents- To report change of requirements due to feedback from client

Page 3: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table of ContentsPrototype Report............................................................................................................................i

Version History..............................................................................................................................ii

Table of Contents..........................................................................................................................iii

Table of Tables..............................................................................................................................iv

Table of Figures.............................................................................................................................v1. Introduction.....................................................................................................................................1

1.1 Purpose of the Prototype Report...............................................................................................................11.2 Status of the Prototype..............................................................................................................................1

2. Navigation Flow..............................................................................................................................23. Prototype Screenshot.......................................................................................................................34. Prototype Functionality.................................................................................................................23

4.1 Tesseract OCR........................................................................................................................................244.2 Java OCR................................................................................................................................................25

5. Capability Assessment..................................................................................................................265.1 Testing with Tesseract OCR...................................................................................................................295.2 Assessment Conclusion..........................................................................................................................33

iii

Page 4: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table of TablesTable 1: Login page........................................................................................................................................................3

Table 2: My account page (consumer)...........................................................................................................................4

Table 3: Edit profile page (consumer)............................................................................................................................5

Table 4: Notification setting page...................................................................................................................................6

Table 5: My network page..............................................................................................................................................7

Table 6: Provider page...................................................................................................................................................8

Table 7: Compare price page.........................................................................................................................................9

Table 8: Compare result page......................................................................................................................................10

Table 9: Share price page.............................................................................................................................................11

Table 10: Add provider page........................................................................................................................................12

Table 11: Capture invoice page....................................................................................................................................13

Table 12: Search page..................................................................................................................................................14

Table 13: Search result page........................................................................................................................................15

Table 14: Register page................................................................................................................................................16

Table 15: Register as a consumer page........................................................................................................................17

Table 16: Register as a provider page..........................................................................................................................18

Table 17: Forget password page..................................................................................................................................19

Table 18: My account page (provider).........................................................................................................................20

Table 19: Edit profile page (provider)..........................................................................................................................21

Table 20: Consumer page.............................................................................................................................................22

Page 5: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table of FiguresFigure 1: Navigation Flow of Cash Doctor System........................................................................................................2

Figure 2: Login page......................................................................................................................................................3

Figure 3: My account page (consumer)..........................................................................................................................4

Figure 4: Edit profile page (consumer)..........................................................................................................................5

Figure 5: Notification setting page.................................................................................................................................6

Figure 6: My Network page............................................................................................................................................7

Figure 7: Provider page.................................................................................................................................................8

Figure 8: Compare price page.......................................................................................................................................9

Figure 9: Compare result page.....................................................................................................................................10

Figure 10: Share price page.........................................................................................................................................11

Figure 11: Add provider page......................................................................................................................................12

Figure 12: Capture invoice page..................................................................................................................................13

Figure 13: Search page................................................................................................................................................14

Figure 14: Search result page......................................................................................................................................15

Figure 15: Register page..............................................................................................................................................16

Figure 16: Register as a consumer page......................................................................................................................17

Figure 17: Register as a provider page........................................................................................................................18

Figure 18: Forget password page................................................................................................................................19

Figure 19: My account page (provider).......................................................................................................................20

Figure 20: Edit profile page (provider)........................................................................................................................21

Figure 21: Consumer page...........................................................................................................................................22

Figure 21: Tesseract OCR screenshots........................................................................................................................24

Figure 22: Java OCR screenshots................................................................................................................................25

Figure 23: Medical bill (A)...........................................................................................................................................26

Figure 24: Medical bill (B)...........................................................................................................................................27

Figure 25: Medical bill (C)...........................................................................................................................................27

Figure 26: Medical bill (A) captured photo.................................................................................................................29

Figure 27: Result of medical bill (A)............................................................................................................................29

Figure 28: Medical bill (B) captured photo.................................................................................................................30

Figure 29: Result of medical bill (B)............................................................................................................................30

Figure 30: Medical bill (C) captured photo.................................................................................................................31

Figure 31: Result of medical bill (C)............................................................................................................................31

v

Page 6: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

1. Introduction

1.1 Purpose of the Prototype ReportThis prototype report is focusing on presenting design of proposed system. With navigation flow, screenshots, and descriptions of each screenshot, the report will serve development team as a medium to communicate with client about the product. This will expose capabilities that are missing, or discrepancy from client’s expectation, in the design. Moreover, this visual representation will help us to obtain some requirements that may come up when client see the sample of actual product.

In addition, because Optical Character Recognition (OCR) functionality is very crucial for our project and it is too complex to develop from scratch, development team decide to employ open source named “Tesseract OCR” to develop this feature. Since our team has no experience with OCR technology, building this feature becomes the highest risk of the project. This prototype report will give client details about capability and limitation of this feature.

1.2 Status of the PrototypeThis is an initial version of prototype report. Navigation flow, screenshots and their description are developed based on team’s current understanding in the win conditions. Details about capability and limitation of OCR feature are described in the last section.

1

Page 7: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

2. Navigation Flow

Figure 1: Navigation Flow of Cash Doctor System

2

Page 8: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

3. Prototype Screenshot

Table 1: Login page

Description Login page is the first page of this application. Users are required to login with their own account in order to use the application. Login session will help system to recognize users so that the system can provide information matching to their preferences. This page provides options to allow users request help when they forget their password and to register new account.

Related Capability

WC_3087: System shall allow consumer access to his/her existing account by user ID and password, and can view his/her existing dashboard.WC_3086: System shall allow consumer to register as a user.

Pre-condition Users launch Cash Doctor application on their mobile phones.

Post condition Condition 1: users enter username and password and then click “Login”, redirect to my account page.Condition 2: users click “Forget password?”, redirect to forget password pageCondition 3: users click “Register new account”, redirect to register page

Figure 2: Login page

3

Page 9: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 2: My account page (consumer)

Description My account page (for consumer type account) is the page where consumers will receive updated information of providers or other consumers who users are following. When users click menu, menu side bar will appear. Users can access many pages through list in the menu side bar.

Related Capability

WC_3087: System shall allow consumer access to his/her existing account by user ID and password, and can view his/her existing dashboard.

Pre-condition Users account type consumer successfully login from login page

Post condition Condition 1: if users click “My account”, redirect to my account page (consumer)Condition 2: if users click “My consumer page”, redirect to consumer pageCondition 3: if users click “My network”, redirect to my network pageCondition 4: if users click “Share price”, redirect to share price pageCondition 5: if users click “Search”, redirect to search pageCondition 6: if users click “Edit profile”, redirect to edit profile page (consumer)Condition 7: if users click “Notification setting”, redirect to notification setting pageCondition 8: if users click “sign out”, redirect to login page

Figure 3: My account page (consumer)

4

Page 10: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 3: Edit profile page (consumer)

Description Edit profile page allows users to change their information as well as change their account’s password.

Related Capability

WC_3098: System shall allow a user to follow to notifications so that he/she shall have access to relevant up-to-date information.

Pre-condition Users click “Edit profile” from side menu bar

Post condition After users click “Save change”, their information will be changed according to data in this page. If users leave 3 fields of password blank, system will not change their password.

Figure 4: Edit profile page (consumer)

5

Page 11: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 4: Notification setting page

Description Notification page allows users to filter their notification. Therefore, users can choose to be noticed only when their preferred type of information is updated.

Related Capability

WC_3095: System shall allow a user to filter notifications. User shall be able to filter based on location, price, code, specialty, and provider.

Pre-condition Users click “Notification setting” from side menu bar

Post condition Users will receive only type of notifications that they choose to receive.

Figure 5: Notification setting page

6

Page 12: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 5: My network page

Description My network page will display list of providers or other consumers whom users are following. List will state briefly information about updated data. Users can click each provider to go to their profile page of those users for more information.

Related Capability

WC_3088: System shall allow consumer to create a private network and join existing networks.

Pre-condition Users click “My network” from side menu bar

Post condition After users click select a user, redirect to profile page of that user.

Figure 6: My Network page

7

Page 13: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 6: Provider page

Description Provider page shows information of one provider, for instance, profile picture, work address. This page also shows providers’ recent activities that they did such as shared price or update profile. Prices related to this provider shared by consumers will appear on this page as well. Users can view offers, prices, videos, files related to this provider via tab layout. User can share price related to this provider as well as compare it with other providers. Users can rate and review, follow, or unfollow provider on this page.

Related Capability

WC_3098: System shall allow a user to follow to notifications so that he/she shall have access to relevant up-to-date information.WC_3091: System shall allow consumer to rate a provider.WC_3089: System shall allow consumer to create a review of a provider.

Pre-condition Users click to select provider from my network page or search result page

Post condition Condition 1: if users click “Share price”, redirect to share price pageCondition 2: if users click “Compare price”, redirect to compare price pageCondition 3: if users click red pentagon to rate provider, textbox will popup to allow users enter their review about this provider. After users submit their review, system will save the score and review into database and calculate new average rating score of this provider.Condition 4: if users click “Follow”, popup window will appear to ask if users want system to send them an email when this provider has an update. After users click “Yes” or “No” button, system will save this action. The system will notice users if there is any update about this provider. “Follow” will change to be “Unfollow” to let users stop following this provider. “Email option” link will appear to let users change email preference.

Figure 7: Provider page

8

Page 14: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 7: Compare price page

Description Compare price feature allows user to select multiple providers in order to compare their price list.

Related Capability

WC_3090: System shall allow consumer to compare healthcare prices.

Pre-condition Users click “Compare price” from provider page

Post condition After users click “compare price”, system will query prices of all selected providers and create price comparison table, then redirect to compare result page

Figure 8: Compare price page

9

Page 15: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 8: Compare result page

Description Compare result page will query system for all prices of selected providers and create table to display the price comparison. Items that provider has no price will be blank.

Related Capability

WC_3090: System shall allow consumer to compare healthcare prices.

Pre-condition User select providers and click “Compare price” from compare price page

Post condition This page is only for display purpose. There is no next step for this page. Users may click “Back” or “Menu” to redirect to other pages.

Figure 9: Compare result page

10

Page 16: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 9: Share price page

Description Users can share price related to provider in this page. If users cannot find provider in search box, they can add new one. Users have 2 options to provide price data. One is typing it manually. Second is capture photo of their bill. Sharing price will be the main function that drives medical price transparency.

Related Capability

WC_3083: System shall allow consumers to manually enter price information for sharing.WC_3082: System shall capture an image and code an invoice for sharing.

Pre-condition Condition 1: if users click “Share price” from provider page, provider name field will be filled up by the system.Condition 2: users click “Share price” from side menu bar, all fields will be blank in this condition

Post condition Condition 1: if users click “Add provider …”, redirect to add provider pageCondition 2: if users click camera button, call feature camera of mobile phone, after users take a photo, redirect to capture invoice pageCondition 3: if users click “Share”, redirect to provider page of selected provider. System saves price information into database and then sends notification to all consumers who are following this provider and followers of this reviewer.

Figure 10: Share price page

11

Page 17: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 10: Add provider page

Description Add provider page allows user to create provider in case they are trying to post the price but they cannot find provider in the search box.

Related Capability

This is proposed page beyond expected capability. It is necessary to allow users share information about provider even that one has no account yet.

Pre-condition Users type provider name in search box of share price page and then click “Add provider …”

Post condition After users enter provider’s information and click “Add provider”, system will create provider with entered data and redirect back to share price page

Figure 11: Add provider page

12

Page 18: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 11: Capture invoice page

Description Capture invoice page will help Optical Character Recognition (OCR) feature to perform work more efficient. After capturing photo from device’s camera application, Users can choose focus area in order to reduce work of operation so that Cash Doctor application does not have to try to recognize text of the whole photo.

Related Capability

WC_3082: System shall capture an image and code an invoice for sharing.

Pre-condition Users click camera button from share price page and successfully take a photo.

Post condition After users click “Capture”, redirect back to share price page and system fill up code, description, and price fields in the page with text recognized from captured photo in the focus area.

Figure 12: Capture invoice page

13

Page 19: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 12: Search page

Description Search page allows users to search for provider with many criteria. Users can search for providers by location, price code, specialty, lifestyle, or rating score. All fields will come up with empty value, users can fill up only fields that they want to search and leave the rest blank.

Related Capability

WC_3094: System shall allow users to find their current location to access relevant providers in and around area (some mile radius).WC_3084: System shall search for healthcare pricing, provider by location, price, code, and specialty.

Pre-condition Users click “Search” from side menu bar

Post condition After users click “Search”, get search criteria from field that is not blank then. System search for providers that match criteria and redirect to search result page.

Figure 13: Search page

14

Page 20: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 13: Search result page

Description Search result page will display providers that match provided criteria from search page. Users can click each provider to go to provider page of that provider and get more information.

Related Capability

WC_3094: System shall allow users to find their current location to access relevant providers in and around area (some mile radius).WC_3084: An individual consumer can search for healthcare pricing, provider by location, price, code, and specialty.

Pre-condition Users click “Search” in search page

Post condition After users click select provider, redirect to provider page of that provider.

Figure 14: Search result page

15

Page 21: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 14: Register page

Description Register page is the page where users can create new account. There are 2 types of account. First is consumer who receives information from account type provider. Second is provider who provides information to users as well as offer special event such as discount.

Related Capability

WC_3086: System shall allow consumer to register as a user

Pre-condition Users click “Register new account” from login page

Post condition Condition 1: if users click “Register as a consumer”, redirect to register as a consumer pageCondition 2: if users click “Register as a provider”, redirect to register as a provider pageCondition 3: if users click “Back”, redirect to login page

Figure 15: Register page

16

Page 22: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 15: Register as a consumer page

Description This is a page for creating account type consumer.

Related Capability

WC_3086: System shall allow consumer to register as a user.

Pre-condition Users click “Register as a consumer” from register page

Post condition Condition 1: After users provide all required information and click “Register”, create consumer account, auto login, and redirect to my account page (consumer).Condition 2: if users click “Back”, redirect to register page

Figure 16: Register as a consumer page

17

Page 23: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 16: Register as a provider page

Description This is a page for creating account type provider.

Related Capability

There is no related win condition about this page. However, it is essential to have account type provider that will be the page to provide much useful information for account type consumer.

Pre-condition Users click “Register as a provider” from register page

Post condition Condition 1: After users provide all required information and click “Register”, create provider account, auto login, and redirect to my account page (provider).Condition 2: if users click “Back”, redirect to register page

Figure 17: Register as a provider page

18

Page 24: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 17: Forget password page

Description Forget password page helps users to retrieve their password in case they do not remember it.

Related Capability

There is no related win condition about this page. However, it is crucially important to provide helps for users who forget their password.

Pre-condition Users clicks “Forget password?” from login page

Post condition Condition 1: After users enter email and click “Send me an email”, System send password to that email and redirect to login page.Condition 2: if users click “Back”, redirect to login page

Figure 18: Forget password page

19

Page 25: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 18: My account page (provider)

Description My account page of provider accounts is a page that illustrates how consumer accounts see provider’s profile page.

Related Capability

WC_3187: System shall be able to receive push content from provider and relay it to users. Push content shall be unique to user's personal profile.WC_3093: System shall allow provider to share pricing, offerings, and other content so as to drive traffic and increase sales.

Pre-condition Users account type provider successfully login from login page

Post condition Condition 1: if users click “Edit profile”, redirect to edit profile page (provider)Condition 2: if users click “Sign out”, redirect to login page

Figure 19: My account page (provider)

20

Page 26: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 19: Edit profile page (provider)

Description Edit profile page (provider) is the page for updating provider profile page. Users can select tabs offers, prices, videos or files to update the information.

Related Capability

WC_3187: System shall be able to receive push content from provider and relay it to users. Push content shall be unique to user's personal profile.WC_3093: System shall allow provider to share pricing, offerings, and other content so as to drive traffic and increase sales.

Pre-condition Users clicks “Edit profile” from my account page (provider)

Post condition Condition 1: if users click “Save change”, redirect to my account page (provider) and system send notification to all consumer accounts that are following this provider.Condition 2: if users click “Back”, discard all change and redirect to my account page (provider)

Figure 20: Edit profile page (provider)

21

Page 27: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Table 20: Consumer page

Description Consumer page is a page to show review and post of user that s/he did submit. User consumer type can follow other consumer by clicking follow button on this page.

Related Capability

WC_3088: System shall allow consumer to create a private network and join existing networks.WC_3098: System shall allow a user to subscribe to notifications so that he/she shall have access to relevant up-to-date information.

Pre-condition Condition 1: users click select consumer from search pageCondition 2: users click select consumer from network pageCondition 3: users click name of this consumer from post that s/he share on provider page

Post condition If users click “Follow”. The system will notice users if this consumer share anything on the application. “Follow” will change to be “Unfollow” to let users stop following this provider.

Figure 21: Consumer page

22

Page 28: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

4. Prototype Functionality

The goal of this project is to make medical price transparency by persuasion people to share prices of their medicines and services fee. The first problem that comes up with this idea is providing a long list of medical bills will be tedious especially if users have to type it manually. Therefore, Optical Character Recognition (OCR) feature that helps users to extract text from capturing photo of their bill and type it automatically will be a great encouragement that makes people fun and feel easy to share the price. Hence, the OCR feature becomes crucially important and has a very high priority for our project.

However, development team has no experience in this OCR technology at all. Moreover, building the OCR from scratch is impossible within given schedule. Therefore, our team decides to employ open source of OCR technology and implement it in our application.

Our first platform for the application is Android. Therefore, we are focusing on OCR open source that can be used with Java programming language. After conducting research, we found 2 open sources of OCR technology that are Tesseract OCR and Java OCR. Both are famous and can be use in Java. Then, our team decides to make prototypes of OCR feature from these 2 open sources.

23

Page 29: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

4.1 Tesseract OCRTesseract OCR is originally not Java but C programming language. However, there are communities that encapsulate Tesseract into Java. After testing this OCR, using encapsulation of Tesseract indicate no any sign problem about compatibility.

Screenshots below are sample of prototype application. Left picture is photo of prototype application. Middle picture is photo printed material that we use in testing. Right picture displays the result of text recognition.

After testing with several photos, we found that Tesseract cannot recognize text from handwriting materials at all. This will be its limitation. However, we design to use OCR as an auto-fill form that users can edit text later. Therefore, this limitation will not be a serious issue that prevents users from using application.

Because Tesseract on Android is an encapsulation of C programming language, the performance will be poor than original Java program. In addition, the more character on page, the longer time OCR will take to recognize text. Tesseract may consume high performance resources of mobile phone. Low performance phone users may feel unhappy with the feature because it takes too long time.

Figure 22: Tesseract OCR screenshots

24

Page 30: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

4.2 Java OCRJava OCR is developed in Java programming language. Its performance will be better than Tesseract. However, in order to make the OCR recognize text, we need data file that help the OCR to determine the text. The bigger data file will increase the accuracy of result. However, it will increase time consumption as well. After testing, we found that both Tesseract and Java OCR have no significant different in performance.

Below pictures are screenshots of sample prototype. Left picture is a photo of the application. Right photo is result of application trying to recognize text.

However, the disadvantage of Java OCR is that there is no update since 2012. Train data of Java OCR is not available so that we have to build train data ourselves. Conducting this train data will take too much effort. Moreover, Java OCR has very little documents. Most of OCR communities have moved to Tesseract OCR. This becomes a huge difficulty for our team in using Java OCR open source.

Figure 23: Java OCR screenshots

Because there is no significant difference in technology between Tesseract OCR and Java OCR, development team decide to employ Tesseract OCR open source to use in our application because it has better documents and has a stronger communities.

25

Page 31: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

5. Capability Assessment

This part will take about the accuracy and issues of Tesseract OCR in testing with several types of actual medical bills. Below are actual medical bills. (Only fields that we are interested will be pointed with red arrow)

Figure 24: Medical bill (A)

Medical description

Quantity

Price

26

Page 32: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Figure 25: Medical bill (B)

Figure 26: Medical bill (C)

Medical description

Quantity

Price

Medical descriptionQuantity Price

Medical code

Medical code

27

Page 33: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

The first issue that we have here is that extra field that we need to consider. We first focus only on 3 fields that are medical code, medical description, and price. However, medical bill samples reveal us that price field will be value of base price multiply with quantity. For example, PHRAMACY with quantity one costs 18.25$ and with quantity two costs 36.50$. If we neglect the quantity field, the price in our database will be incorrect.

Second issue is that some kind of bills, such as Medical bill (A), may not have all interested fields, which is medical code field in this case. However, as discuss with client, we can ignore missing fields and leave it blank. Client suggests us to focus only on medical bill (B) and (C) since most of the bills will be similar to this format.

28

Page 34: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

5.1 Testing with Tesseract OCRThe Tesseract has not been adjusted to be able to recognize data in table format yet. Therefore, the result from it will be plain long text. In addition, in actual product, capture photo feature will be able to crop for only area of interest. We will manually take a photo only for that area in this testing. The test aims to assess the accuracy and capability of the Tesseract in case that some medical bills may have grey strips, which we have a concern that it would trouble the OCR. Testing results are as below. (I put red rectangle to help in focusing the source and result)

Figure 27: Medical bill (A) captured photo

Figure 28: Result of medical bill (A)

29

Page 35: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Figure 29: Medical bill (B) captured photo

Figure 30: Result of medical bill (B)

30

Page 36: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

Figure 31: Medical bill (C) captured photo

Figure 32: Result of medical bill (C)

31

Page 37: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

There are extra texts since the medical bills is not plain text but plenty with marks and lines as expected, which will be decrease after adjustment the OCR. Anyway, we have two more issues according to this testing.

First, since the medical code field is on very left of paper and price bill is on very right, users need to take a photo at very far range to capture all necessary fields, which could affect the quality of character in picture. As a result, the accuracy will decrease because OCR depends much on quality of photo.

Second, medical bill (C) has dot line in the price field to separate digit and decimal. In case of poor quality of picture, this could cause OCR to recognize the line as random text. The Tesseract will need more adjustment to handle with this case.

32

Page 38: Prototype Report - Web viewLe Zhuang. Feasibility Analyst. Shreya Sharma. System/Software Architect. Steven Helferich. Project Manager. ... - Change all word “subscribe” to be

5.2 Assessment ConclusionAccording to many issues that come up after testing with actual medical bills, our client recommended us to pause development of OCR functionality and move to new approach, which will be describe later. Client suggests us that trend of using this application is going to focus more on a total price of the bill than cost of each item in the list.

Therefore, the new approach we are going to take is to drop out OCR feature and add field “Total price” on share price page instead. Fields to enter each item on the bill will remain. However, the purpose has been changed to be to let users fill the form for only important item, not a whole list as before. Photos provided by users will be saved with the information on this page so that other users are able to see healthcare cost in detail. And we are going to apply concept of “tag” to enhance capability of searching. The concept of tag is going to be discussed further with client.

33