Wednesday, October 29, 2014

27" Retina iMac First Impressions

I just received my 27" Retina iMac yesterday and figured I would post my impression so far.

The Display
The most exciting thing about the new 27" Retina iMac is the display.  It runs as 5120x2880 resolution which is 4x the number of pixels as the Apple Thunderbolt Display and non retina 27" iMac.  The higher resolution of the retina display is of specific interest to diagnostic radiology as it will allow high resolution images such as chest x-rays and mammograms to be displayed at full resolution.  Displaying these images at full resolution is important because it eliminates the need for the radiologist to zoom and pan the image thus saving time. 

After starting up the Retina iMac for the first time, I was a bit disappointed because I didn't really notice that much of a difference compared to the Thunderbolt Display. It certainly wasn't any worse - the display is just as beautiful and bright as any other Apple display, but nothing stood out as amazingly got to have it better. It did "feel" a bit different but it was hard to quantify.  I knew it was higher resolution so looked around for more detailed icons and text and convinced myself it was better when I looked - but the difference is quite subtle.  

One thing I was relieved to discover is that the display does in fact run at 60hz.  I had tried out another display earlier this year that could only do 30hz and it was unusable for me.  I had read one review about the retina display claiming that it only did 30hz but that is definitely not the case.

Interestingly enough, I have really noticed the improvement in resolution while writing this blog entry.  The text is much sharper and it feels like reading a book.  I have the feeling that the benefits of the display will be clearer when after I get used to it and then look at a non retina display.  I had a similar experience with the retina iPhone - not initially impressed but very hard to go back to a non retina device.

The Video Card
The Retina iMac comes with an AMD Radeon R9 M290X with 2 GB RAM or an AMD Radeon R9 M295X with 4 GB RAM.  There was some concern online about how well the system would handle 4x the pixels to push around.  I am happy to report that it handles it just fine - I haven't noticed any drop in performance - in fact, it feels faster than my 15" Retina Macbook Pro did connected to the thunderbolt display.  I have noticed two issues so far - one is that youtube videos would not playback at full screen (I could hear audio, but the screen was black).  This one seemed to have fixed itself, so it may have just been a glitch.  The other is that World of Warcraft seems to stutter in some places. This stuttering is really annoying and feels like a software bug in the game or video driver that will hopefully be fixed in the near future.

The CPU
According to Geekbench, the Retina iMac is the fastest Mac available today for single core work and is only beat by the high end Mac Pro for multicore work.  The machine certainly feels fast, I was playing WoW with two Windows 7 virtual machines running in the background and didn't even notice it.  The only drawback to this system is the fan is louder than I like.  The fan turned on while I was playing WoW and the noise was noticeable.  Not as loud as the fan on my MBP, but still loud enough to be annoying.

I also tried out the window/level operation on a full resolution mammogram using cornerstone and it was able to keep up at about 20 FPS which is a bit lower than I would like but fast enough for most users.

The Flash Drive
The new iMac comes with a PCIe Flash Drive.  I was hoping that it would have similar performance to the rMBP but was disappointed to learn that it is quite a bit slower.  It is faster than a SATA SSD drive, but not by much.  Here is a screenshot from running blackmagic:





Friday, October 24, 2014

Segmenting the Radiology Market

Following up from my prior post on the life of a radiology procedure, I figured I would try to define the radiology market a bit.  Segmenting any market is always tough because there are so many combinations and variations.  My understanding is certainly not complete so there is bound to be errors in what I describe here.  Any feedback on how I can make this more accurate would be appreciated.

Patient Facing Organizations


Luminary Hospitals (~5% of the market)
A luminary hospital is one that is well known in the industry for one or more of the following reasons:

  1. Hospitals associated with educational institutions that train radiologists (e.g. Stanford, MGH)
  2. Hospitals that are actively engaged in research activities 
  3. Hospitals that provide world class service and outcomes for specific procedures or diseases (e.g. MD Anderson Cancer Center, Intermountain Healthcare, Mayo Clinic)

Individuals that work for luminary hospitals are highly sought after by vendors as they provide validation of their strategy and products.  Luminary hospitals tend to lead the industry with respect to innovation and IT solutions.  They often have very strong IT teams and visionary individuals that can apply technology to solve clinical problems (e.g. Dr. Paul Chang, Dr. Paul Nagy, Dr. Eliot Siegel).  The quality of care at luminary hospitals is considered the best you can get.

Mid Level Hospital (~20% of the market)
A mid level hospital is one that is not considered a luminary but can be quite large and provide specialty services.  There is a wide range of IT sophistication at the mid level hospitals.  Some have internal IT teams while others will outsource the entire IT team to another company such caretech.  The actual quality of care received from mid level hospitals typically ranges from good to excellent.

Community Hospital (~30% of the market)
A community hospital is what you find in smaller cities and rural regions.  Community hospitals are quite small, provide limited services and tend to provide below average quality of care.  The level of IT sophistication is generally quite low.

Imaging Centers (~20% of market)
Imaging centers are organizations focused on radiology imaging only.  They typically own their own equipment and have their own radiologists read the studies.  They generally charge less than hospitals and range in quality.  They often provide services at or below a mid level hospital.  Imaging Centers are highly focused on reducing operational costs and tend to view products from that perspective.  The largest Imaging Center is RadNet, you can find a list of them here.

VA (~10% market)
The VA takes care of US veterans and have hospitals throughout the US.  They are organized into regions called a "VISN".  See a map of the VISN's here.  One interesting thing about VA hospitals is they were the first in the USA to have a true EMR which is called VISTA and open source.

Department of Defense (~5% market)
The Department of Defense (or DOD) provides healthcare for government officials and active service personnel.  They have very high security standards which vendors must pass before they can sell to the DOD.  

Other Related Organizations

Private Practice Radiology Groups 
A private practice radiology group is a company that provides diagnostic interpretation for any of the above hospitals.  Radiology groups range in size from an individual radiologist to a group of 50+ radiologists.  Radiology groups typically perform reading services for multiple hospitals.  You can find a list of the top private practice radiology groups here.

Teleradiology Services
Teleradiology services came in to being to provide after hours reading for hospitals.  Smaller radiology departments have trouble covering late night or weekend reads and contract with a teleradiology service to do this for them.  The largest teleradiology service company is vRad

Integrated Delivery Networks
An integrated delivery network (or IDN) is an organization that consists of many hospitals that are integrated to provide more cost effective healthcare.  IDN's have come into being over the past 15 years as midlevel hospitals have struggled to stay profitable.  IDN's are quite large and therefore have large IT groups and high expectations regarding product scalability, availability and integration.  You can find a list of the top IDN's here.

Group Purchase Organizations
Group Purchase Organizations (or GPOs) are organizations that have hospitals as members that group up to get better pricing.  If a vendor can get on the approved list of a GPO, it can make sales much easier at the cost of a lower sales price.  A list of the top GPO's can be found here.

Mobile Providers
A mobile provider has CT and MRI scanners on trucks that can be driven to a given location to increase capacity at a hospital.  The biggest player in mobile MRI is Alliance Healthcare.

Wednesday, October 22, 2014

The Life of a Radiology Procedure

I figured I would jot down some notes on what I have learned about radiology procedures.  I am doing this in hopes that others will find it useful and also that some may correct my understanding.

The Payor
To start off with, it helps to understand where the money comes from to pay for radiology procedures.  The term "payor" is often used here and can refer to one of many things:
1) Health insurance company (e.g. United Health Group, Wellpoint Inc Group, etc)
2) Health Maintenance Organizations (e.g. Kaiser Permanente, CIGNA, Sharp Health Plan, etc)
3) Private Insurance (companies with self insurance plans)
4) Government (Medicare, Medicaid, VA)
5) The patient (uninsured, HSA)

While the US does not have a single payor like other countries do - Medicare is by far the biggest and tends to set prices across the industry.  When medicare decides to cover a new procedure, almost every other payor tends to as well. Likewise, if medicare changes the reimbursement rate for a procedure, the other payors adjust accordingly to.

Ordering the Exam
The origin of imaging procedure begins with the physician that deems it is necessary.  In most cases, a physician must justify why they think the procedure is necessary.  These justifications are often called "conditions".  For example, if your child falls off the monkey bars at school and hurts their wrist, you would take them to a physician and they would suspect the wrist is broken.  The doctor would place the order for an xray of the wrist with a condition of "acute wrist trauma".  Some payors have electronic systems that can verify that the condition is appropriate for the procedure.  For example, ordering an xray of the wrist when the condition is "headache" should be rejected as it is unlikely to help.  Likewise, ordering A CT of the wrist for acute wrist trauma condition would be overkill as an XRay would suffice.  The ACR has defined a set of appropriateness criteria which can be licensed for use in ordering systems.

Assuming the ordered procedure is found to be appropriate, the next step is to confirm authorization of payment.  This step is important because doctors want to get paid and they need to confirm that the payor will in fact pay for it.  In some cases, a patient does not have insurance but claim they do.  Or perhaps they present the insurance card for an old health insurance company that is no longer covering them.  Prior authorization has traditionally been done manually - a person would call or fax the insurance company and wait for a response.  This is of course not very efficient - fortunately this is being automated via some recently defined EDI transactions 278. Informatics In Context has a very nice automated prior authorization system, check it out if you are interested.

Scheduling The Exam

Once the exam has been ordered, it needs to be scheduled.  This requires many things:
1) Finding a device that can do the procedure.  You can't schedule a CT exam on an MRI scanner.  Likewise, you cannot schedule a CT brain perfusion procedure on a 4 slice CT scanner.
2) Finding a time slot where the appropriate medical staff are available.  Some procedures require staff with specific training - for example, contrast injection must be performed by a physician
3) Finding a time slot long enough for the procedure.  Different procedures take different lengths of time.
4) Finding a time slot the patient is available for.

Scheduling is often managed by what is called a RIS or Radiology Information System.

Performing The Exam

Ideally the patient shows up on time, registers at the desk, gets scanned and then goes home.  Unfortunately things don't always go as planned - patients show up late, procedures take longer than expected, critical staff are late or don't show up, the equipment breaks or emergency procedures take precedence.  The images are generally sent using the DICOM protocol to a PACS or Picture Archival and Communication System.

Reading the Exam

Once the exam has been performed, a radiologist reviews it and issues a report.  The report includes their findings (positive and negative).  The radiologist typically uses a PACS workstation to read the images.  A PACS workstation is usually a Windows based PC with two or more high resolution grayscale monitors.  Here is an example of a radiology report.

Billing the Exam

Each radiology procedure is billed in two parts - the technical fee (performing the exam) and the professional fee (reading the exam).  Each of these parts has a CPT Code.  Payors will reimburse CPT codes at different rates depending upon where the exam was performed and where it was read.  For example, an imaging center would typically be reimbursed less than a hospital.  Likewise, one imaging center may get reimbursed at a higher rate than another imaging center for the exact same procedure.  The reimbursement rate can vary significantly - for example, an imaging center may only be reimbursed $600 for a MRI procedure but a hospital across the street could get reimbursed for $2000 for the sam procedure.  If you are paying for imaging out of your own pocket (no insurance or HSA), it is wise to shop around.

In some cases, the billing is split between two organizations.  The organization that performs the exam would bill the technical fee and the organization that reads the exam bills the professional fee.

Reviewing the Exam

Once the exam has been read by the radiologist and finalized, it is made available to the ordering physician and possible the patient. The ordering physician is mainly interested in the "impressions" part of the report.  This part is a quick summary of what was found and what the radiologist recommends next.  Ordering physicians may want to look at the images and/or ask the radiologist a question about the report.

Wednesday, October 1, 2014

Development Software

As a follow-up to my prior post, I figured I would share some of the tools I find useful for writing software.  Hopefully I didn't misuse any of these memes too much:

JetBrains WebStorm.  This is the IDE I use for developing cornerstone and other web applications.  I had been using Visual Studio for web development but I found it lacking in many ways and of course doesn't run on Mac OS X.  I also tried Eclipse and Sublime but found them inferior to WebStorm.  JetBrains has some amazing engineers - you really can't go wrong with any of their products.



Visual Studio 2013.  Visual Studio has been my primary development environment for most of my career so I know it very well.  When it comes to Windows development (C# or C++), it is by far the best choice.  It is generally considered one of the best IDE's (if not the best) out there.




ReSharper.  If you write C# or .net code and don't use this - stop what you are doing right now and go download it.  It will improve your code quality and productivity significantly.  Go download it.  Now.  Then buy me a beer the next time you see me.




Google Chrome.  I do most of my web debugging (and normal web surfing) using Google Chrome.  It has great debug tools built in and works well.  Before chrome I used Firefox + Firebug as my main development browser but it would get really slow during debugging at times - I don't have that problem with chrome and don't have to install anything extra - chrome's built in tools are as good as firebug for the most part.  I don't miss firebug at all.  I only use IE11 when I absolutely have to - its debugger is terrible which is a huge disappointment - Microsoft is clearly trying but just not there yet.



Node.js.  Node.js is best know for writing server side logic using JavaScript.  What it is not as well known for is writing automation scripts for builds and other tasks.  Using Node.js is really nice because I can re-use my JavaScript expertise for doing these tasks rather than yet another language.  There are several nice build automation tools that are built on Node.js - I have used grunt with great success but I have also heard that gulp is even better - some day I'll play around with it.  If you are still using powershell, shell scripts, python or any other language for scripting - you should definitely give Node.js a try



git.  Git is the best SCM out there hands down.  If you are using something else - take the time to learn it.  We use github to host our open source projects and private repositories and it is fantastic.



DevPartner Bounds Checker.  If you are writing C++ code you will eventually run into memory corruption bugs.  This doesn't happen to me that often but when it does, Bounds Checker is the tool to use.  They have a $149 99 day edition which is great for when you have to get your hands dirty on some old legacy C++ code.



Notepad++.  Far better that notepad on Windows and has some cool JSON plugins that are very useful.

XCode.  I wrote most of the 3D render server in XCode just to see what it would be like.  Overall it wasn't too bad - while I still prefer Visual Studio for C++ development, XCode has some nice features related to performance tuning built in that Visual Studio does not.

7-Zip.  Simple, fast and compresses well.