Why do we ask patients for their OHIP number?

We're occasionally asked why we request OHIP numbers as part of our online registration process.

As physicians at Magenta Health are family doctors who provide ongoing, long-term primary care for enrolled patients, they are unable to enroll patients who do not have valid OHIP coverage; this includes patients who are only covered by another provincial health plan, or by third-party insurance. (read more here).

We therefore ask patients to supply their OHIP number upfront, as part of the initial online registration process, so that we can validate and confirm this information with the Ontario Government. This step usually takes a couple days, but it prevents the situation of patients taking time out of their busy day to come to the clinic, only to find out once they arrive that their OHIP has expired or is otherwise invalid, and that they will not be able to complete their appointment with a physician.

Melanoma is as easy as ABCDE

Warmer weather is just around the corner, and so should our vigilance for sun protection and skin cancer. There are several types of skin cancers, but malignant melanoma is the most fatal form of them all as it can invade through the skin and spread throughout the body. Fortunately though, early detection results in a high cure rate (about 90%), which is why we will go over the ABCDEs of melanomas. 

Read more

Access to Remote Care - Important Changes to OHIP

Among the many planned changes to Ontario's health care system, something that we think deserves particular attention are the changes that will negatively affect how many new family physicians will be able to provide care to patients.

It’s important to understand that existing Magenta Health patients will likely not be affected by these changes, but we nevertheless ask you to consider the issues presented below and to voice any concerns with the planned changes. A few suggestions for how to do so are provided towards the bottom of this post.

While there are many changes, in our view, the key change is that OHIP will largely return to only covering in-person visits with new family physicians. This nuance is one of the primary reasons why family doctors traditionally did not provide medical care for patients by telephone or by email.

As a clinic that emphasizes using technology to care for patients in a timely, convenient, effective, and efficient way, this change is in direct opposition to how we think family medicine should be practiced in this day and age.

Put in more concrete terms, the planned changes will prevent many future family physicians from providing:

  • Medical advice by email or telephone;
  • Telephone or other remote appointments;
  • Prescription renewals by fax or phone;
  • Lab results by email or telephone; and
  • Lab and imaging requisitions by email or fax.

Other negative effects include increasing the functional cost of medical care by forcing patients to take time off work or school, and requiring patients to travel for medical care. The effects of these changes on low-income or other disadvantaged groups is particularly troubling; consider, for example, the impact of this change on caregivers with dependents or individuals with mobility challenges.

Even if these changes likely don’t directly impact existing Magenta Health physicians and patients, we believe these planned changes are the wrong approach for Ontario’s health care system, and that it’s important to voice our concerns in this respect.

Should you agree, some steps that you can take include:

  • Visiting this website to contact your MPP and to share your thoughts on this issue (there’s a pre-written letter that you can send);
  • Calling your MPP to express your concerns;
  • Sharing, posting, and tweeting this blog post with your friends and family.

We’ll continue to keep you advised of the impact of these changes.

Protecting Patient Privacy - Doing it Right

We previously shared this post about the wrong way of protecting patient privacy where we were sent an encrypted file together with the password.

In contrast to this previous failure, we recently received another DVD a couple days ago, again with an encrypted file, but this time, with instructions to contact the medical office directly by phone to obtain the password.  Presumably they will verify our identity and authorization before providing us the password to the file.

Since it's the weekend and their office is closed, it occurred to us that we could try breaking the encryption on the file, instead of waiting until next Tuesday to get the password.

We therefore downloaded John the Ripper, an open source password cracker, followed these instructions, and set a modern desktop (a quad-core i7 with 16GB ram) to work. 

The consequence? 0.01% of all possible passwords were tested in 24 hours, meaning it would take 100 days to test 1% of all possible passwords, 1000 days to test 10% of all possible passwords, or 10000 days to test all possible passwords.

While in theory we could speed up the process by using faster or more computers (e.g. by spinning up a large number of cloud-based servers), we'll just call the medical office on Tuesday to get the password instead of leaving our computer to guess passwords for the next 15 years.

The takeaway?  Encryption, while not absolutely fool-proof, is an important tool to protect patient privacy. It just needs to be used correctly(*).

* For the cryptography experts out there, yes, we do know that there are better methods of key exchange than having us call our counter-party medical office for the secret key. Public-key cryptography is the better answer, without a doubt. Perhaps we'll start including our public key in our requests for patient health information and see how long it takes before another medical office actually uses it to encrypt the information. ;)



A Peek Behind the Curtain - Software in the Making

One of the reasons we started Magenta Health is because of our belief in technology. Sometimes we buy or license what we need (E.g. OSCAR, Veribook), but sometimes we build from scratch what we can't buy.

In particular, we're about to deploy a new system that we're building for helping streamline the day-to-day operations of the clinic. It's been a lot of work, but it's incredibly satisfying to see our original vision come to life feature by feature, line of code by line of code.

We'll share more details once it's fully ready, but in the meantime, here's a sneak peek of the system in testing.  For patients who have asked, this is the reason why we have outlets and tablets outside every examination room!

Stay tuned!

The system in testing

The system in testing

Lists upon lists upon lists of features and bugs.   We're using Trello, which we love.

Lists upon lists upon lists of features and bugs.   We're using Trello, which we love.

Why large multiple monitors are so important for working effectively.  

Why large multiple monitors are so important for working effectively.  

Additional after-hours appointments

As our number of family doctors has grown, we are expanding our after-hours coverage to provide better access for our patients.  

Starting February 2015, Magenta Health will be offering additional after-hours appointments on Saturdays from 10:00 AM to 1:00 PM.  As with before, these appointment times are for urgent matters only.  

Learn more about our clinic hours here.  More information on how to book an appointment using our online booking tool can be found here

Using Greasemonkey to Resize Windows in OSCAR

We've been asked for our script for resizing windows within OSCAR, it's provided below for reference.

Some tweaking of the script will unfortunately be necessary to match your specific needs.

Lots more information about using Greasemonkey to customize OSCAR is available here.

window.addEventListener('load', function () {
var url = document.URL;
//move these windows to the left half of the screen
if (url.indexOf('efmformadd_data.jsp') != - 1 || //new eform
url.indexOf('oscarEncounter/ViewRequest.do') != - 1 || // viewing consultation
url.indexOf('oscarEncounter/ViewConsultation.do') != - 1 || // viewing all consultation
url.indexOf('oscarEncounter/oscarConsultationRequest') != -1 || //viewing all consultations
url.indexOf('efmshowform_data.jsp') != - 1 || //existing eform
url.indexOf('oscarPrevention/index.jsp') != - 1 || //preventions
url.indexOf('oscarPrevention/AddPreventionData.jsp') != -1 || //preventions
url.indexOf('efmformslistadd.jsp') != - 1 || //eform list
url.indexOf('inboxManage.do') != - 1 || //inbox
url.indexOf('oscarRx') != - 1 || //rx
url.indexOf('demographic/demographiccontrol.jsp') != -1 || //demographic
url.indexOf('Oscar12_1/form') != - 1 || //forms
url.indexOf('dms/MultiPageDocDisplay.jsp') != -1 || //documents
url.indexOf('dms/showDocument.jsp') != - 1 || //documents
url.indexOf('labDisplay.jsp') != - 1//labs
 ) {
moveLeft(false);
}

//move these windows to the upperleft of the screen
if (url.indexOf('Oscar12_1/tickler/ticklerMain') != - 1 //viewing all ticklers 
 ) {
moveUpperLeft(false);
}

//move these windows to the lowerleft of the screen
if (url.indexOf('Oscar12_1/tickler/ticklerEdit.jsp') != - 1 || //individual tickler 
url.indexOf('Oscar12_1/tickler/ForwardDemographicTickler.do') != - 1 || //individual tickler when adding from inbox
url.indexOf('Oscar12_1/tickler/ticklerAdd.jsp') != - 1 //individual tickler when adding from list of ticklers
 ) {
moveLowerLeft(false);
}

//move these windows to the right of the screen, and refresh the window
if (url.indexOf('casemgmt/forward.jsp?action=view&demographicNo=') != - 1 //echart 
 ) {
moveRight(true); 
}
}, false);

function moveRight(refresh){
window.resizeTo(screen.width / 2, screen.height - 40);
if (refresh && (window.screenX - (screen.width / 2) > 2 || window.screenX - (screen.width / 2) < -2)){ //doing it this way because of rounding issues, just want to reload if not close to right spot.
location.reload();
}
window.moveTo(screen.width / 2, 0);
window.focus();
}

function moveLeft(refresh){
window.resizeTo(screen.width / 2, screen.height - 40);
if (refresh && window.screenX != 0){
location.reload();
}
window.moveTo(0, 0);
window.focus();
}

function moveUpperLeft(refresh){
window.resizeTo(screen.width / 2, (screen.height - 40)/2);
if (refresh && window.screenX != 0){
location.reload();
}
window.moveTo(0, 0);
window.focus();
}

function moveLowerLeft(refresh){
window.resizeTo(screen.width / 2, (screen.height - 40)/2);
if (refresh && window.screenX != 0){
location.reload();
}
window.moveTo(0, (screen.height - 40)/2);
window.focus();
}