We are looking for a developer or team of developers who enjoys sinking their teeth into a large project and doing a really top notch job with it. The project is an online billing/practice management application for mental health therapists. We’ll be taking bids from back-end developers and front-end developers as well as individuals and/or teams who want to do it all, so when you apply, be sure to specify the portion of the project your bid is for. If you’re flexible – i.e., would be ok being only the back-end developer, only the front-end developer or both, add that as well. Once we get all the bids in, we’ll attempt to put together what seems to be the best team (or individual) for what we’re wanting. We are looking for people who are excited about the project, think it sounds like fun, and can enjoy working in a team to create a top-notch application.
Because of the sensitive nature of the data involved (mental health information), special attention to data security and integrity is a must and should be kept in mind at all phases of development. Someone knowledgeable in the HIPAA laws as they apply to this type of application would be ideal although not absolutely essential. Someone with a sense of how health insurance companies in the US work – how to connect with their clearinghouses, etc., would be a god-send, although again, not absolutely essential.
This application began as a school project so it’s partially built-out. The school part has been satisfied and we’re now ready to move ahead and build it out to market as a commercial product. The new developer(s) will be free to use the code that’s there or to start from scratch. I would like it done in PHP/MySQL, though, so I’ll at least be able to follow and understand your code. I’ll be in charge of design decisions (including interface, functionality, etc.) and providing content (including graphics) – your job will be to make it all work. I do value input from all team members, though, so am open to hearing your ideas about any aspect of the project. The individual or individuals we hire will need to be available for at least 6 months to a year after the launch date for bug-fixes, etc. It’s also highly likely that we’ll add new features from time to time, so this project could very well develop into a long-term, ongoing relationship.
II. Program Specifics
A partially built-out prototype of the application can be found here:
[login to view URL]
Some of the functionality in this application is a bit outside the norm and may be challenging. In an attempt to find the best fit for the project, I’d like to give you as much info as possible to help you determine whether this is a job you’d enjoy and feel competent to do. I’d much rather find the best person/people from the beginning than to have to switch horses in mid-stream. The sections below refer to the main tabs across the top of the application:
A. Clients/Sessions/Payments Tab
If you click on “Add New Client”, the following features are in place:
1. The only fields that are required are first and last name. Once you’ve entered at least that much and clicked on “Submit”, the page in the background refreshes, showing the new client’s info. This feature of the background table refreshing after each “Submit” needs to be implemented throughout the program.
2. If you then click on the “Insurance” tab, you have an option in the drop down box to “Add a New Company”. The new company is added to the insurance table in the DB and simultaneously, information specific to the client (e.g., “Insured’s ID”, “Group ID”, etc.) are added to the client’s record in the client table. Similar functionality exists in other places as well.
3. When a form is submitted or a page refreshed, you’re always returned to the correct tab. For example, if you click on the “Medications” tab, add a medication, then click “Submit”, you’re brought back to the “Medications” tab. The feature of always returning to the correct tab will need to be implemented throughout the application.
4. If you close out the “Add New Client” form and go back to the main clients page, if you click on the “Edit” pencil to edit a client’s record, you bring up a window with 4 tabs, exactly like the “Add New Client” window discussed above. This is only partially finished. A finished “Edit Client” page should actually have 6 tabs such as can be seen in this non-working prototype:
[login to view URL]
The first tab, “Sessions/Payments” is complex and will probably be the most challenging piece of the program. Right now, the whole thing is in a ledger-like format. (The third column from the left with the red “+’s” is where you can open it up to see detailed information on each session.) Information for this table comes from the “Add Session” form (the “+” after the word “Sessions” at the top) and the “Add Payments” form (the “+” after the word “Payments”). “Archive Session” and “Delete Session” buttons, currently at the top of the page will more than likely need to be brought down to each individual row such as we’ve done on the main clients page. We will also need an option for batch delete and batch archive such as we have now, though. I’m open to hearing other ideas for the best way to present the data in this table. Originally, I had wanted an Ajax interface so that data could be entered directly into the table, similar to what can be found here:
[login to view URL]
I’ve also thought of opening each session as a popup window instead of using the show/hide type of interface. So there’s some flexibility here and I’m open to hearing your input or ideas.
B. Schedule Tab
This tab needs some kind of scheduler that allows Daily, Weekly and Monthly views. A “must have” feature that not all calendar scripts have is the ability to schedule recurring events (for example, client John Doe may see therapist Mary Smith every Wednesday at 3 o’ clock). It will be necessary to delete or edit one instance of that event or the entire event. Schedules should be sortable by therapist. Also, we need to find a way to display all therapists’ schedules – possibly just with a block of their assigned color in the appropriate time slot. Again, this is an area where I’m open to your input if you have ideas about the best way to present that information. Scheduled sessions will also appear in the “Appointments” tab on a single clients’ page as discussed above. It doesn’t matter to me whether you write the calendar code from scratch or use an existing script. One I’ve found that looks like it might be a possibility is:
[login to view URL]
C. Reports/Statements/HCFA Tab
This tab will hold both Pre-Defined and Custom reports. Everything on these pages is hard-coded at this point. Clicking around in both the “Memorized” and the “Custom” tabs should give you the idea of what we want here. (In the “Memorized” tab under “Pre-Defined Reports”, only the “Statements” and the “Sample” statement actually go anywhere. These are sample text only – the actual reports and samples have not yet been created.)
D. Libraries Tab
Unless I’m missing something, this area is pretty straightforward database type stuff. The only tricky thing I’m aware of here is the need to always return to the correct tab, e.g., if I enter a new therapist and click “Submit”, I should be returned to the therapist tab.
E. Help Tab
Again this area should be straightforward to code. None of the content has actually been written yet. What’s there is just dummy content. But you’ll see where we’re headed.
There’s some documentation that may or may not be helpful to you in deciding whether to bid. We have made changes in the application that are not reflected in the documentation. For example, the database model in the documentation has been modified several times since the document was written. Some features have been rethought and modified as well but this will at least give you an idea of the documentation we have so far. Because of various school deadlines, parts of the application have not yet been totally thought through. For example, the documentation does not contain process flow diagrams for each of the functionalities. When you are hired, we can discuss how we’ll need to work together for me to get the necessary ideas to you. Or if that’s a concern, let’s talk about it up front to see if we feel our working styles will mesh. Here’s the documentation we do have at this point:
[login to view URL]
I’m looking forward to getting your bids. I’m excited about this project and am looking for other talented people who are willing to work hard and who can be excited with me.