Kevin, someone stated earlier that AC4 is built on .NET 2.0. The entire data access philosophy behind .NET is the disconnected dataset. An application connects to the database does what it needs to do and then disconnects, freeing up the connection. So when you are using SQL Server and .Net, I would be looking at concurrent connections. SBS allows 5 concurrent connections, that should be able to support close to 10 users in a properly designed system.
Bert with regards to file management, I use the following:
1) Snappy Fax Server and 5 Snappy Fax Clients. Everyone can fax from their machine and everyone can see received faxes.
2) I have built an electronic filing system that is based on the filename and uses the .Net Filewatcher. The FileWatcher is a component that watches a directory for any changes you specify it to watch for. So I watch a directory called "filer" for created...when a file is created.
I have identified at least 34 different types of documents we receive and/or create. The file naming convention is important. I use DocDate_PatientID_DocType.ext So a document name would look like this: 20081115_1023_labpap.pdf
When this file is dropped in the filer directory, the filewatcher:
1) catalogs the file in my sql database
2) moves the file in the patient's folder
Someone looking at a patient record in the database can also see a list of all of his/her documents we have.
I have also set up a workflow system that uses the filewatcher. we have a shared folder "work" everyone has a folder under this folder. When a request for prescription comes in it is put in the doctors folder. The Filemanager notifies the Doc that there is a new file in her work folder. When she is done with the file she can either put it in the patient's folder or give someone else by putting it in that person's folder.
I intend to make this much better by using the new FileStream datatype in SQL Server 2008. This allows you to save a file to the database and have people access it only through the database. SQL Server 2008 also has a hierachical datatype that allows you to assign an ID to group things in a hierachy. Things like patient, office visits, docs per office visit. I estimate it will take about 8 months to complete the programming on this.