Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 11 Next »

People

Intro

This page is to outline the steps and progress for the billing module, which is being led by students at IIIT as a semester project.

 

Timeline

  • Week 1: August 26th - September 1st
    • Fri Aug 24: [Nathan] Complete short spec/designs on billing -- add to Wiki]
    • Sat Aug 25 - Sun 26: Review existing billing modules in OpenMRS and lots of other billing systems... consider lots of possible alternatives
    • Mon Aug 27 - Tues 28: improve architecture plans (database tables needed), review UI to see if we have screens yet to meet JSS's needs 
    • Wed Aug 29: Call with JSS - review our designs
    • ... Update timeline
  • Week 2: Sept 2nd - 8th
    • Completing the back end resources(Billing,BillingItem,BillingItemAdjustment).
    • Hoping to learn something about front end(reading some existing examples).
  • Weeks 3&4: Sept 9 -  September 23
    • Tasks to get started on front end:
      1. Clone Raxa-JSS at https://github.com/Raxa/raxa-jss, install some Apache server like xampp to run ExtJS (fairly similar to video tutorial here for netbeans: Getting Started Guide: Front-end Development)
      2. Make sure it runs on your computer (only Chrome/Safari)
        1. user: admin
        2. pass: Hello123
      3. Create blank extjs project inside src/billing (copy code out of src/pharmacy)
      4. Install Sencha Architect
      5. Create blank views with Architect according to designs
  • Weeks 5:- Sept 24 - Sept 31
     Learning to use integrate the views with Netbeans.
  • Week 6&7 - October 1- 10
          Midsem Break
  • Week 8&9 - October 11- 25
    • Creating the New improved designs of the Views and integrating them with controllers(just a start with controllers).

Work Status

  • Completed the 3 back end resources.- 04/09/2012
  • Tests and Rest made . 12/09/2012
  • Created the initial views - 23/09/2012
  • Creating the modified views - 19/10/12(still working on it).

Kick-off meeting notes from 2012-08-23 Billing Module Meeting

 

Throughout the experience, we'd like you to blog weekly about your progress / experience. (on the Raxa.org blog - we'll give you accounts)

Please test your work thoroughly; write automated tests.

Please look at these following pages as good exmaples of project pages. This page ideally should look something like these in order to track your work and progress. Most important is to create a resource so that others can share your learning on the billing module, things like: 1)why you made the decisions you did for UX, functionality 2) code design decisions you made.

 

Back End Development

Work on billing resource , billing item , billing item adjustment has been started.

Billing table has the following fields:

  • bill_Id - id of the bill[auto increment]
  • bill_status - keeping status of the bill( pending, paid, partially paid, approved)[not null]
  • patient_id - id of the patient whose bill is being created.[not null]
  • provider_id: id of the provider [ not null]
  • other stndard OpenMRS fields.

DAO has the following functions

 public Billing saveBill(Billing bill) ;                                            for saving the bill.  
 
 public void deleteBill(Billing bill);                                              deleting a bill, might be required in case of an mistake.
 
 public Billing getBillByPatientUuid(String uuid)                          retrieving bill using the uuid of the patient.
 
 public List<Billing> getAllBills() ;                                             retrieving all the bills.
 
 public List<Billing> getAllBillsByStatus(String status);              retrieving bills by status of the bill(might want to get the bills which are unpaid or partially paid)      
 
 public Billing updateBill(Billing bill);                                          updating the bill (if some other tests or medicines/drug to be added to the bill)
 
 public List<Billing> getAllBillsByProvider(Integer providerId);       retrieving bills by provider of the bill

 

BillingItem table has following fields :

  • bill_item_id        --> (primary key auto increment , id of the item)
  • bill_id  --> (as foreign key references the bill id to which item belongs  )
  • provider_id  --> (as foreign key references the provider id of billing item )
  • concept_id --> (as foreign key references the concept id to which item belongs  )
  • encounter_id ->--> (as foreign key references the encounter id to which item belongs  )
  • order_id --> (as foreign key references the order id to which item belongs  )
  • quantity --> (quantity of the item )
  • value --> (price of the item )
  • other standard openmrs fields 

 

BillingItemDAO has the following functions

BillingItem saveBillingItem(BillingItem item) throws DAOException;     --> (save billing item  )

void deleteBillingItem(BillingItem item) throws DAOException;  --> (delete billing item if  accidently added   )

BillingItem getBillingItemByUuid(String uuid);  --> (gets the billing item if uuid is given   )

List<BillingItem> getAllBillingItems() throws DAOException; --> (gets all billing items   )

List<BillingItem> getAllBillingItemsByBill(Integer billid); --> (gets all billing items belonging to bill no billid   )

BillingItem updateBillingItem(BillingItem item); -->( updates billing item  )

List<BillingItem> getAllBillingItemsByProvider(Integer providerId);  --> (gets the billing item by provider)

List<BillingItem> getAllBillingItemsByEncounter(Integer encounterId); -> (gets the billing item by encounter)

List<BillingItem> getAllBillingItemsByConcept(Integer conceptId);  -> (gets the billing item by concept)

List<BillingItem> getAllBillingItemsByOrder(Integer orderId);  -> (gets the billing item by order)

 

 

BillingItemAdjustment fields :

  • adjustment_id --> (primary key auto increment )
  • reason --> (reason of adjustment)
  • value --> (value of adjustment)
  • bill_item_id --> (foreign key references to bill item which is being adjusted )
  • other standard fields 

BillingItemAdjustmentDAO has the following functions

BillingItemAdjustment saveBillingItemAdjustment(BillingItemAdjustment adjustment) throws DAOException; --> (save billing item adjustment)

void deleteBillingItemAdjustment(BillingItemAdjustment adjustment) throws DAOException; --> (delete billingItem adjustment)

BillingItemAdjustment getBillingItemAdjustmentByUuid(String uuid);  --> (get billing item adustment by uuid )

List<BillingItemAdjustment> getAllBillingItemAdjustments() throws DAOException; --> (gets all billing item adjustments)

List<BillingItemAdjustment> getAllBillingItemAdjustmentsByReason(String reason);  --> (gets all billing item adjustments with given reason)

BillingItemAdjustment updateBillingItemAdjustment(BillingItemAdjustment adjustment);  --> (updates billing item adjustment )

List<BillingItemAdjustment> getAllBillingItemAdjustmentsByBillingItem(Integer billingitemid);   --> (given billing item gets all billing adjustments for that item)

 

Front End

 The work on the modified view is in progress, we will soon put some snapshots of those  here soon.



 

  • No labels