...
UI Designs (Dropbox Link)
...
Functional Spec
Introduction
The billing module is designed to be replacement and improvement for the existing billing module in use at JSS.
Goals
- Track payments
- Allow flexible costs
- Support partial payments
- Resolve the pain points of the current billing system at JSS
Out of Scope
- Integration with other modules (May come into scope, later)
- Integrate with pharmacy
- Integrate with all other modules, as appropriate
- Support payment of insurance via RSBY
Functionality
- Track payments for
- Doctor's consultation
- Prescription drugs
- Allow flexible costs
- Doctors should be able to discount any drug price based on patient's individual needs and situation
- Support partial payments
- Patients must be able to pay only part of a bill during a given visit
- Patients are expected to pay remainder during one or more follow-up visit(s)
- Payments should be clearly separated and relate to specific items
- Resolve the pain points of the current billing system at JSS
- Difficult to track discounts, partial payments, insurance payments
- sometimes finances are associated with the wrong if paid later (insurance, partial payments)
- Problem with calculator for discounted payments – math is incorrect
Out of Scope
- Integration with other modules (May come into scope, later)
- Integrate with pharmacy
- Integrate with all other modules, as appropriate
- Support payment of insurance via RSBY
Functionality
Developer Spec
Database Design
Per an initial discussion, the database model may include the following tables. This needs more investigation before being confirmed.
Billing
status - pending, paid, partially paid, approved
patient
provider - whoever does the billing, e.g. clerk
has many: items
BillingItem
concept (concept - drug, labTest, etc)
quantity
how much it costs (value)
link to what made it - link to order ID or Encounter
provider
has many: item adjustments
BillingItemAdjustment
BillingItem
Reason
Value
Price
-concept
-quantity
-value
(Might need more columns for any item)
Please research existing billing tools and how they model:
(front-load is better..
research)
throughout:
commit write tests
*blog your experiences?
*
Open Issues
These are questions we don't know answers to... need input from JSS, others to answer them. Once answered, should update this document with the answer and track it here.
Need to be aware of when bills were issued and when bills were paid
-Insurance RSBY
-partial payments in visit 1, follow up payment in visit 2
1 or more default prices for each item
...
Approval (before bill can be issued to the patient)
-> might have "auto approve default prices"
-> might have "auto approve discounted prices"
-> might "only allow prices to be "
vs
Auditing (after the payment and everything has occured)
->
->
logging for later auditing
history of all price changes with name / date associated?
Open Issues:
(questions we don't know answers too... need input from JSS, others to answer them)
Repositories:
...
Developer Spec
Front-end Architecture
Discuss views, controllers, models, stores you'll need. How will you build these in the ExtJS app?
REST Resources
Discuss REST resources you'll need to call on the back-end.
Database Design
Per an initial discussion, the database model may include the following tables. This needs more investigation before being confirmed. Please research existing billing tools and how they model financial transactions, bills, partial payments, discounts, etc.
Billing
status - pending, paid, partially paid, approved
patient
provider - whoever does the billing, e.g. clerk
has many: items
BillingItem
concept (concept - drug, labTest, etc)
quantity
how much it costs (value)
link to what made it - link to order ID or Encounter
provider
has many: item adjustments
BillingItemAdjustment
BillingItem
Reason
Value
Price
concept
quantity
value
(Might need more columns for any item)
Repositories
Backend Resources go into "RaxaCore"RaxaCore - https://github.com/Raxa/raxacore
Front-end Resources go into " Raxa-JSS "TIMELINE:
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- https://github.com/Raxa/Raxa-JSS