Actually, very little has to be done to maintain HIPAA compliance. Treat all information as confidential and owned by the creator, unless released to another party for review. Secure ALL communications of medical records, and make sure you understand the difference between record custodians and record owners.
Very few insurance companies will even consider HL7 data, everyone has moved to some form of ANSI 837 transaction. Look at options like Availity (or something better, let me know if you can find something without that crappy web-based post/download claim thing) and bill Medicare/Medicaid directly.
Doctors will not pay for this, but they WILL pay a nominal fee for monthly service, especially if bundled with Internet access, or may instead agree to a (small) percentage of paid claims. ICD-9-CM and CPT-4 are both free, provided you look in the right place. Most insurance companies will post a fee schedule, which is free to distribute, containing CPT codes and their associated modifiers. Try Medicare for a good start.
Finally, for the original topic, it doesn't matter what language you use, but you'd better have a VERY flexible design (as everything will change about every 5 years), and be able to provide equipment legally, cheaply, and reliably. You didn't think those doctors were going to buy their own computers, did you? Believe me, Windows licenses are not something you want to deal with if you have hundreds of clients. Also, forget hospitals. Hospitals are owned by large corporations, who either contract with a large corporation for development, or have their own in-house development, they don't buy shrink-wrapped software.
In other words, if you're doing this to make money off your practice management system, don't. There is no money, unless you get something else out of it, like exclusive contracts for other services.
This is more likely due to the fact that the BSD TCP/IP stack is essentially the reference implementation of TCP/IP. Which is odd, considering that the BSD stack is missing a fairly major feature of the TCP/IP standard (equal-cost multipath routing, which Linux does support, though Windows does not). At any rate, there are probably portions of the TCP/IP process that are under a BSD copyright, and Windows uses some of the same procedures (though probably not code) to implement their stack. As for the similar API, that probably has more to do with POSIX than MS copying code. I would imagine that the internals of Windows and *BSD are different enough that it would be easier to rewrite the socket API than to copy it and change it for Windows.
umm, did the marble from NY suddenly show up in CA? If you push on a marble, each marble down the line will move the distance you pushed it, at the speed you pushed it. It's not like pushing on a marble suddenly makes it appear across the country.
One other point: The cars get quicker because they are tested and refined to suit their drivers. Without good technical feedback from the drivers (both test and race), the car will not improve as quickly. Car AND Driver both need to be good, and an enormous budget doesn't hurt, either.
No, internal transfer rates are now up to around 109 MB/s for the top 15k RPM drives. You should be able to do better than 60MB/sec per drive, unless your reads are all over the place. (Lots of small reads instead of a few large, contiguous reads?) If you REALLY want speed, you can't beat RAID 10. For 12 drives, I would go with 2 U320 dual-channel controllers, having 3 drives on each channel (4 would probably be better, but that's 16 drives). Probably would be best to mirror across channels on the same card, and stripe those 6 (or 8) mirrored pairs across the two cards. You could hit a theoretical write speed of 640MB/sec pretty easily with 16 drives, probably only around 550-600 with 12, with read speeds of 1280MB/sec for 16 drives, and just over a GB/sec with 12. If a GB/sec isn't fast enough, it's probably time to write new software.
Ok, I'll bite. I used gentoo because it has a FreeBSD-style ports system. Then I realized that FreeBSD also has a (better) FreeBSD-style ports system, and installs in less than a week.
I was going to say the same thing. A basic multithreaded HTTP server is perfect for learning a new language. Of course, if you're trying to learn a functional language, this will be either impossible or at best a real pain, so don't. I haven't seen a web server written in Lisp yet, but I don't think I would want to even if it could be done.
Re:Americans talk about freedom
on
Press freedom
·
· Score: 1
Abiding by the letter of the document? Have you read the U.S. Constitution? I think the intent of the document died with the people who wrote it. We currently have a huge, expensive government, and yet we have none of the benefits that go along with it. We wanted to be "free" of taxation without representation, but we get to go to elections every year to decide which of two corrupt candidates should "represent" us, by which I mean they will increase taxes so they can afford to vote themselves a raise again.
Anyone tried this with the Intel Pro Wireless (Centrino) cards? I've to a T42 coming soon, would like to have it work on the Intel card, otherwise I'll have to find an Aironet on ebay. I've seen it mentioned as an example, but do the drivers really work well, or is it worth getting more compatible hardware?
Oh, yeah, and if you're looking to save money, blades are DEFINITELY not what you want. Blades are not meant to be cheap, they're meant to save space, for when space is worth more than money. Even in that case, though, I would look into the half-depth 1U rackmounts before going to blades, unless you're talking about maintaining a very large number of machines, since they are much cheaper (case and power supply $389 from 8anet, can fit 2 in each unit).
Besides that, if you don't have a specific vendor that you are required to order from, you can often find rackmount "server" machines for a fraction of the cost of an IBM, HP, or Dell. We use several 1U and 3U servers where I work that we purchased from 8anet. Aside from the cases (check out the chenbro ones, very nice hot-swap features) and power supplies being more expensive, and motherboards having better management features (go with Supermicro, they have very nice network monitoring utilities, for things like fan speed, power, and temps, as well as expansion for hardware-based monitoring) and the fact that you will probably want registered DRAMs, there is no real difference between a server and a common tower workstation. All of those features which add to the price (hot-swap drives, redundant power supplies, high-end motherboards, and registered memory) are features that are really, REALLY, worth it when you are talking about machines that must be available when you need them.
I believe we paid around $4500 for our 3U P4 2.8GHz 2GB RAM 2.4TB SATA RAID-5 NAS machine with N+1 redundant power supplies, about the same for our 3U Dual Xeon 2.8GHz 4GB RAM 52GB (6 15K rpm 18GB drives total) SCSI U320 RAID-10 database machines with N+1 redundant power supplies, and our 1U P4 2.8GHz 2GB RAM 80GB SATA RAID-1 web servers each run around $1400 (no redundant power supplies). Point is, there ARE other options, you don't have to use low-end hardware just because you can't afford IBM. Besides, why pay for servers from IBM, HP, or Dell, when you can buy two of the same caliber machine for the same amount of money or less. With two machines, you can do things like load balancing, increasing performance and adding redundancy at the same time.
The whole problem is that there is a group of people who are paid with other people's money, who get to decide how to spend other people's money (even voting for raises for themselves), with no real penalties for making a wrong decision. I say set a flat tax at around 15%, set standard percentages of budget for certain areas (defense, research, education, etc.) and pay congress and the president out of the surplus. If they can't balance the budget, they shouldn't get paid. We don't need to hold elections for people to spend our money, we'd be a much more efficient society if we just burned our money every 4th of July in a big patriotic bonfire.
In fact, if it takes you 3 months to optimize, you'd be better off keeping the slow code, doing another project, and 3 months later just buying a faster PC to run the slow old code:)
Wow, you must have been on the Windows development team, working on KDE and Gnome on the side. What ever happened to writing efficient code? I miss the days of Linux 1.2.13, when a kernel could still fit on a floppy, and when window managers didn't have 500 features constantly running that you never use.
While he certainly has an argument with no merit, he does remind me of several studies (which you see mentioned in MS sponsored ads) where Windows Server 2003 out-of-the-box does beat a few Linux distros out-of-the-box. This is not necessarily an issue for Linux users, but it should be for the (commercial) vendors, since unknowing CIOs/CTOs/VPs might take those studies as the final answer. I have little doubt that Server 2003 could beat the standard Linux server distros (SLES, RHAS) straight out of the box. MS has decided that they should excel in those tasks with the out-of-box configuration, while the Linux vendors have not, instead focusing on more general tweaks. Any experienced Linux SysAdmin could beat any of those benchmarks with about 5-10 minutes of work, but for obvious reasons, the studies MS uses to advertise don't include that disclaimer. Some of the tweaks that make a great webserver don't make a great file server, database server, firewall, etc. Systems on both sides should be customized for the benchmark, then benchmarked. Out-of-box benchmarks are almost completely worthless, unless you just want to buy something and never touch it, just expecting it to run forever, which is not how any decent IT department works.
Back on topic, it's easy to see how they could save money. Where I work, we purchase several workstations for client use, and recently purchased AMD Sempron 2200+ systems with 128MB RAM and 40GB HDDs, no CD or floppy (just like a school would want), for $160 each. Add in another $65 for 17" monitors, $5 for keyboard and mouse, and you've got complete systems for $230, with Linux adding $0 to each one. Considering that Windows XP OEM rates are about $80/copy for the Home version, is it really worth spending half as much on the OS as you spent on the computer to run it? Every 2 copies of Windows is another computer without monitor, keyboard, and mouse, and every 3 copies is another complete system.
The low ping is most likely due to network polling clock rate. Not sure how to adjust in Linux, but FreeBSD has a kernel option HZ that determines how often to poll for device interrupts. By default, HZ=100 for FreeBSD, which hurts pings significantly (adding 10-20ms) for things run through NAT or any type of pipe/queue. Bump this number up to 1000-2000Hz+, and you're probably processing packets through NAT faster than any off-the-shelf router. Commercial NAT routers are made for small businesses with limited use and no IT department. Beyond that, or for heavy home use, they become a bottleneck. Just on a ballpark guess from my experience with them, Linksys/Netgear/DLink routers seem to poll at about 1000Hz. (adding 1-2ms to pings) Personally, I like HZ=2000, which seems a fair trade-off for machines that do more than just route packets, and adds 1ms worst-case to pings. If you strictly want a router, you could probably increase that quite a bit, until you reach the point that polling takes up too many cycles. Unfortunately, FreeBSD requires a kernel compile to change the HZ value.
Don't have to use OpenBSD for pf anymore, FreeBSD 5.3 has three good firewall choices, all in the core OS, and routes packets much faster than before, and a LOT faster than OpenBSD. I have tried the betas, and I am just waiting to test the final release before I upgrade my own firewall to it.
Exactly, and with the routing speeds we're starting to see with FreeBSD's new TCP/IP stack (1M packets/sec on a Xeon 2.8), even old hardware should easily keep up with anything you can throw at it on your home connection. Hell, my soon-to-be-replaced-with-faster-hardware FreeBSD firewall/NAT box at work supports about 60 users, running with network polling set at 2000Hz. Any 486 or Pentium can keep up with that.
Ok, let's step outside your universe, where MySQL can handle anything you can throw at it. Oracle/DB2 are as good as they are because they scale much better than MySQL. If one machine isn't fast enough, or one array isn't fast enough, there's not much you can do about it with MySQL, while DB2 and Oracle have clustering capabilities designed for LARGE databases. Web sites don't typically use large databases, but in some cases do require them, or may tie in to a much bigger database for all of the other things a company does. Very few companies just sit there and watch their page counters go up, you have to do something with the data when it comes in, and if you're a big company, that's a LOT of data, and it may be necessary, or even legally required, to have all of the data for the last x years available to anyone within 5 seconds.
When you hit the limits of data storage speeds, you have to partition your database somehow, and Oracle and DB2 allow you to do this much more easily and efficiently than MySQL does. I'm not saying that MySQL isn't a real database, it certainly is, and a pretty good one, it just doesn't have the features that larger businesses often require. It may get there, but it isn't there yet. Of course, Microsoft's SQL Server and PostgreSQL don't have those features, either. Then again, MSSQL, PSQL and MySQL don't cost as much (or any) as DB2 and Oracle, either.
What do you do if you have to have 200 employees searching through 10 years worth of live data for 8 hours straight? Those 480ms would be worth every minute spent finding them. Even if it drops to 20 with upgrades, the original 20 would probably dropped to 4 or 5 ms. Make it fast, and if you are upgrading hardware faster than you do business, maybe your company should try doing more business. Technology is a tool to grow business, if it's not doing that, then you shouldn't feel too secure about your job. Maybe your industry doesn't have the strict requirements on long-term data availability that mine does, but I'm sure you can find a use for spare cycles, try using them to grow your company.
Just as a follow up, google things before you write them: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4 950_P8_DISPLAYID:1156159920245
http://www.oracledba.co.uk/tips/count_speed.htm and a DB2 example illustrating my point about it possibly taking longer: http://www-106.ibm.com/developerworks/forums/dw_th read.jsp?forum=292&thread=31551&cat=19
Actually, very little has to be done to maintain HIPAA compliance. Treat all information as confidential and owned by the creator, unless released to another party for review. Secure ALL communications of medical records, and make sure you understand the difference between record custodians and record owners.
Very few insurance companies will even consider HL7 data, everyone has moved to some form of ANSI 837 transaction. Look at options like Availity (or something better, let me know if you can find something without that crappy web-based post/download claim thing) and bill Medicare/Medicaid directly.
Doctors will not pay for this, but they WILL pay a nominal fee for monthly service, especially if bundled with Internet access, or may instead agree to a (small) percentage of paid claims. ICD-9-CM and CPT-4 are both free, provided you look in the right place. Most insurance companies will post a fee schedule, which is free to distribute, containing CPT codes and their associated modifiers. Try Medicare for a good start.
Finally, for the original topic, it doesn't matter what language you use, but you'd better have a VERY flexible design (as everything will change about every 5 years), and be able to provide equipment legally, cheaply, and reliably. You didn't think those doctors were going to buy their own computers, did you? Believe me, Windows licenses are not something you want to deal with if you have hundreds of clients. Also, forget hospitals. Hospitals are owned by large corporations, who either contract with a large corporation for development, or have their own in-house development, they don't buy shrink-wrapped software.
In other words, if you're doing this to make money off your practice management system, don't. There is no money, unless you get something else out of it, like exclusive contracts for other services.
Good point, VB.NET is essentially Java, with CrapBasic syntax.... Which really isn't that bad, except for the syntax.
Assuming a non-compressible substance is used, immediately. The same force acts on the marbles or bar at every point along the bar.
This is more likely due to the fact that the BSD TCP/IP stack is essentially the reference implementation of TCP/IP. Which is odd, considering that the BSD stack is missing a fairly major feature of the TCP/IP standard (equal-cost multipath routing, which Linux does support, though Windows does not). At any rate, there are probably portions of the TCP/IP process that are under a BSD copyright, and Windows uses some of the same procedures (though probably not code) to implement their stack. As for the similar API, that probably has more to do with POSIX than MS copying code. I would imagine that the internals of Windows and *BSD are different enough that it would be easier to rewrite the socket API than to copy it and change it for Windows.
umm, did the marble from NY suddenly show up in CA? If you push on a marble, each marble down the line will move the distance you pushed it, at the speed you pushed it. It's not like pushing on a marble suddenly makes it appear across the country.
One other point: The cars get quicker because they are tested and refined to suit their drivers. Without good technical feedback from the drivers (both test and race), the car will not improve as quickly. Car AND Driver both need to be good, and an enormous budget doesn't hurt, either.
No, internal transfer rates are now up to around 109 MB/s for the top 15k RPM drives. You should be able to do better than 60MB/sec per drive, unless your reads are all over the place. (Lots of small reads instead of a few large, contiguous reads?) If you REALLY want speed, you can't beat RAID 10. For 12 drives, I would go with 2 U320 dual-channel controllers, having 3 drives on each channel (4 would probably be better, but that's 16 drives). Probably would be best to mirror across channels on the same card, and stripe those 6 (or 8) mirrored pairs across the two cards. You could hit a theoretical write speed of 640MB/sec pretty easily with 16 drives, probably only around 550-600 with 12, with read speeds of 1280MB/sec for 16 drives, and just over a GB/sec with 12. If a GB/sec isn't fast enough, it's probably time to write new software.
No, ./ is Slashdot in the parallel universe where stories are always fresh and there are never any dupes. Our universe is much more cruel, so we get /.
The fact that the next leader of the freaking world can be predicted by a game...
So, anyone want to take a guess as to why the rest of the world thinks Americans are arrogant pricks?
Ok, I'll bite. I used gentoo because it has a FreeBSD-style ports system. Then I realized that FreeBSD also has a (better) FreeBSD-style ports system, and installs in less than a week.
I was going to say the same thing. A basic multithreaded HTTP server is perfect for learning a new language. Of course, if you're trying to learn a functional language, this will be either impossible or at best a real pain, so don't. I haven't seen a web server written in Lisp yet, but I don't think I would want to even if it could be done.
Abiding by the letter of the document? Have you read the U.S. Constitution? I think the intent of the document died with the people who wrote it. We currently have a huge, expensive government, and yet we have none of the benefits that go along with it. We wanted to be "free" of taxation without representation, but we get to go to elections every year to decide which of two corrupt candidates should "represent" us, by which I mean they will increase taxes so they can afford to vote themselves a raise again.
Anyone tried this with the Intel Pro Wireless (Centrino) cards? I've to a T42 coming soon, would like to have it work on the Intel card, otherwise I'll have to find an Aironet on ebay. I've seen it mentioned as an example, but do the drivers really work well, or is it worth getting more compatible hardware?
Of course, if his code is anything like his spelling, we're better off without it.
Oh, yeah, and if you're looking to save money, blades are DEFINITELY not what you want. Blades are not meant to be cheap, they're meant to save space, for when space is worth more than money. Even in that case, though, I would look into the half-depth 1U rackmounts before going to blades, unless you're talking about maintaining a very large number of machines, since they are much cheaper (case and power supply $389 from 8anet, can fit 2 in each unit).
Besides that, if you don't have a specific vendor that you are required to order from, you can often find rackmount "server" machines for a fraction of the cost of an IBM, HP, or Dell. We use several 1U and 3U servers where I work that we purchased from 8anet. Aside from the cases (check out the chenbro ones, very nice hot-swap features) and power supplies being more expensive, and motherboards having better management features (go with Supermicro, they have very nice network monitoring utilities, for things like fan speed, power, and temps, as well as expansion for hardware-based monitoring) and the fact that you will probably want registered DRAMs, there is no real difference between a server and a common tower workstation. All of those features which add to the price (hot-swap drives, redundant power supplies, high-end motherboards, and registered memory) are features that are really, REALLY, worth it when you are talking about machines that must be available when you need them.
I believe we paid around $4500 for our 3U P4 2.8GHz 2GB RAM 2.4TB SATA RAID-5 NAS machine with N+1 redundant power supplies, about the same for our 3U Dual Xeon 2.8GHz 4GB RAM 52GB (6 15K rpm 18GB drives total) SCSI U320 RAID-10 database machines with N+1 redundant power supplies, and our 1U P4 2.8GHz 2GB RAM 80GB SATA RAID-1 web servers each run around $1400 (no redundant power supplies). Point is, there ARE other options, you don't have to use low-end hardware just because you can't afford IBM. Besides, why pay for servers from IBM, HP, or Dell, when you can buy two of the same caliber machine for the same amount of money or less. With two machines, you can do things like load balancing, increasing performance and adding redundancy at the same time.
The whole problem is that there is a group of people who are paid with other people's money, who get to decide how to spend other people's money (even voting for raises for themselves), with no real penalties for making a wrong decision. I say set a flat tax at around 15%, set standard percentages of budget for certain areas (defense, research, education, etc.) and pay congress and the president out of the surplus. If they can't balance the budget, they shouldn't get paid. We don't need to hold elections for people to spend our money, we'd be a much more efficient society if we just burned our money every 4th of July in a big patriotic bonfire.
In fact, if it takes you 3 months to optimize, you'd be better off keeping the slow code, doing another project, and 3 months later just buying a faster PC to run the slow old code :)
Wow, you must have been on the Windows development team, working on KDE and Gnome on the side. What ever happened to writing efficient code? I miss the days of Linux 1.2.13, when a kernel could still fit on a floppy, and when window managers didn't have 500 features constantly running that you never use.
While he certainly has an argument with no merit, he does remind me of several studies (which you see mentioned in MS sponsored ads) where Windows Server 2003 out-of-the-box does beat a few Linux distros out-of-the-box. This is not necessarily an issue for Linux users, but it should be for the (commercial) vendors, since unknowing CIOs/CTOs/VPs might take those studies as the final answer.
I have little doubt that Server 2003 could beat the standard Linux server distros (SLES, RHAS) straight out of the box. MS has decided that they should excel in those tasks with the out-of-box configuration, while the Linux vendors have not, instead focusing on more general tweaks. Any experienced Linux SysAdmin could beat any of those benchmarks with about 5-10 minutes of work, but for obvious reasons, the studies MS uses to advertise don't include that disclaimer. Some of the tweaks that make a great webserver don't make a great file server, database server, firewall, etc. Systems on both sides should be customized for the benchmark, then benchmarked. Out-of-box benchmarks are almost completely worthless, unless you just want to buy something and never touch it, just expecting it to run forever, which is not how any decent IT department works.
Back on topic, it's easy to see how they could save money. Where I work, we purchase several workstations for client use, and recently purchased AMD Sempron 2200+ systems with 128MB RAM and 40GB HDDs, no CD or floppy (just like a school would want), for $160 each. Add in another $65 for 17" monitors, $5 for keyboard and mouse, and you've got complete systems for $230, with Linux adding $0 to each one. Considering that Windows XP OEM rates are about $80/copy for the Home version, is it really worth spending half as much on the OS as you spent on the computer to run it? Every 2 copies of Windows is another computer without monitor, keyboard, and mouse, and every 3 copies is another complete system.
The low ping is most likely due to network polling clock rate. Not sure how to adjust in Linux, but FreeBSD has a kernel option HZ that determines how often to poll for device interrupts. By default, HZ=100 for FreeBSD, which hurts pings significantly (adding 10-20ms) for things run through NAT or any type of pipe/queue. Bump this number up to 1000-2000Hz+, and you're probably processing packets through NAT faster than any off-the-shelf router. Commercial NAT routers are made for small businesses with limited use and no IT department. Beyond that, or for heavy home use, they become a bottleneck. Just on a ballpark guess from my experience with them, Linksys/Netgear/DLink routers seem to poll at about 1000Hz. (adding 1-2ms to pings) Personally, I like HZ=2000, which seems a fair trade-off for machines that do more than just route packets, and adds 1ms worst-case to pings. If you strictly want a router, you could probably increase that quite a bit, until you reach the point that polling takes up too many cycles. Unfortunately, FreeBSD requires a kernel compile to change the HZ value.
Don't have to use OpenBSD for pf anymore, FreeBSD 5.3 has three good firewall choices, all in the core OS, and routes packets much faster than before, and a LOT faster than OpenBSD. I have tried the betas, and I am just waiting to test the final release before I upgrade my own firewall to it.
Exactly, and with the routing speeds we're starting to see with FreeBSD's new TCP/IP stack (1M packets/sec on a Xeon 2.8), even old hardware should easily keep up with anything you can throw at it on your home connection. Hell, my soon-to-be-replaced-with-faster-hardware FreeBSD firewall/NAT box at work supports about 60 users, running with network polling set at 2000Hz. Any 486 or Pentium can keep up with that.
Ok, let's step outside your universe, where MySQL can handle anything you can throw at it. Oracle/DB2 are as good as they are because they scale much better than MySQL. If one machine isn't fast enough, or one array isn't fast enough, there's not much you can do about it with MySQL, while DB2 and Oracle have clustering capabilities designed for LARGE databases. Web sites don't typically use large databases, but in some cases do require them, or may tie in to a much bigger database for all of the other things a company does. Very few companies just sit there and watch their page counters go up, you have to do something with the data when it comes in, and if you're a big company, that's a LOT of data, and it may be necessary, or even legally required, to have all of the data for the last x years available to anyone within 5 seconds.
When you hit the limits of data storage speeds, you have to partition your database somehow, and Oracle and DB2 allow you to do this much more easily and efficiently than MySQL does. I'm not saying that MySQL isn't a real database, it certainly is, and a pretty good one, it just doesn't have the features that larger businesses often require. It may get there, but it isn't there yet. Of course, Microsoft's SQL Server and PostgreSQL don't have those features, either. Then again, MSSQL, PSQL and MySQL don't cost as much (or any) as DB2 and Oracle, either.
What do you do if you have to have 200 employees searching through 10 years worth of live data for 8 hours straight? Those 480ms would be worth every minute spent finding them. Even if it drops to 20 with upgrades, the original 20 would probably dropped to 4 or 5 ms. Make it fast, and if you are upgrading hardware faster than you do business, maybe your company should try doing more business. Technology is a tool to grow business, if it's not doing that, then you shouldn't feel too secure about your job. Maybe your industry doesn't have the strict requirements on long-term data availability that mine does, but I'm sure you can find a use for spare cycles, try using them to grow your company.
Just as a follow up, google things before you write them: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4 950_P8_DISPLAYID:1156159920245
h read.jsp?forum=292&thread=31551&cat=19
http://www.oracledba.co.uk/tips/count_speed.htm
and a DB2 example illustrating my point about it possibly taking longer: http://www-106.ibm.com/developerworks/forums/dw_t