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 8 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 of 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 of September 2nd - 8th
    • Completing the back end resources(Billing,BillingItem,BillingItemAdjustment).
    • Hoping to learn something about front end(reading some existing examples).

Work Status

  • Completed the 3 back end resources.- 04/09/2012
  • Tests remaining - to be done soon.

Notes

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)



 

  • No labels