Yogesh Dhimate

Notes to Myself

Sep 5, 2021 - 2 minute read - Books

Thinking in Bets

I recently read Thinking in Bets by Annie Duke. The book is about making better decisions when you don’t have all the facts.


Often times we confuse the quality of our decisions with the quality of the outcomes. Annie advocates that it is not the right approach. To make better decisions, it’s important to decouple the quality of decisions from the quality of outcomes. She talks about the hazards of resulting - the term poker players use to describe our tendancy of using outcomes to determine the quality of the decisions. The book highlights the irrational nature of our brain. From a survival perspective, our brains aren’t built for rationality. It has to make fast decisions, which can blindside us. For me, the most important takeaway was about redefining wrong - and using uncertainty as an advantage. Instead of thinking in a binary mode of right vs wrong, I liked the approach probabilistic percentages for better decision-making and self-compassion.

While I loved the book and got some good nuggets from it. The content was way too repetitive for my taste. After I completed half of the book, I felt like I am reading the same chapter over and over. There is a lot of filler content, the anecdotes weren’t resonating with me. I overlooked two chapters that talked about the buddy system and future planning.

Overall its a good book with the ideas applicable in professional and personal life.

Aug 18, 2021 - 3 minute read - Personal

OCI Application Experience

The highlight of this past weekend was completing Vaidehi’s OCI application.

As soon as her passport arrived, I started working on it. The application process could’ve been so much easier, but turned out to be unnecessarily difficult.

First of all, The information is scattered across two different websites.

  • VFS - The visa and technology outsourcing company providing services to the Government of India
  • OCI portal of Government of India.

In more than a couple of places, the instructions are confusing and even conflicting with one another. E.g. The background of the applicant’s photograph can either be white or light-colored depending on which source you are referring to.

When filling out these forms, there are typos and inconsistencies everywhere. E.g. My current country of residence is referred to as the USA, UNITED STATES and UNITED STATES OF AMERICA in the same form.

There isn’t a tooltip or quick help available for some questions asked in a very bureaucratic language. E.g. What is the applicant’s ‘Relationship to the root of the Indian’? What does this question even mean? I had to google it to find an answer.

Getting an acceptable photograph of a 6-month-old baby is a matter of luck. I understand its not unique to the OCI application. But I was warned by a friend whose application was rejected because he used the same photograph as the passport application. So I preferred to use a new photograph. I also needed a fingerprint of her left thumb. But when I looked more closely, I actually had to get the right thumbprint for a girl child. No matter how many times I tried, Vaidehi’s thumbprints were never identical. The uploaded digital image and the thumbprint on the printed form looked very different.

Notarizing this whole thing was another minor challenge. I wasn’t sure how many forms to get notarized. The parental authorization form had clear instructions about notarizing. But the actual application form also needed notarization. The passport could be ‘self notarized’. I wasn’t sure if I could sign the copy of the passport on my daughter’s behalf or should I get her thumbprint on it.

Beyond the challenges with paperwork, the technology experience has a lot of friction. As a user it’s one application for me, but I have to register on two separate websites. Upload some documents on one website, and download the checklist and acknowledgement receipt from another. The OCI site looks straight from the 80s. Even after registration and getting a login id, I have to use some combination of a passport number, date of birth and application number to retrieve or update my data. This whole thing could be packaged in just one application for the end user.

It took me the whole 2 days to get this done. It was surprising because my previous experience with passport renewal was so much better..

After I dropped off the application package at FedEx, I felt a sense of achievement and relief. I hope this gets issued without any challenges and I won’t have to do it again for the next 20 years.

Aug 12, 2021 - 3 minute read - Programming

Understanding SMART on FHIR

Today practitioners and patients want to use innovative healthcare apps. Oftentimes they have their favorite app that they already use. To provide the best practitioner and patient experience, these apps need access to patient’s personal health information like allergies, or medications. This type of clinical information is stored inside the electronic health record systems (EHRs). Ultimately the apps are dependent on backend systems like EHRs to power their functionality.

There are more than 50 EHR systems popular in the US alone. For an healthcare application developer this would be a nightmare, if he needs to build his app to work with 50 different EHR systems.

Thanks to industry standards like FHIR and SMART on FHIR, this problem is easily solved.

FHIR provides a standardized data model to represent healthcare data, whereas the SMART on FHIR provides a consistent approach to security and data access requirements.

In this post let’s see some basics of SMART on FHIR.

What is SMART on FHIR

SMART stands for Substitutable Medical Applications and Reusable Technology.

SMART app is a web or mobile app, embedded in an Electronic Health Record (EHR) system or standalone. It’s substitutable, which means if you don’t like a particular app, you can choose another one or substitute it with something else. The app is reusable and should work with any EHR or backend system.

Simply put, SMART on FHIR provides a workflow to securely request access to data, as well as receive and use the data. And ultimately enables Electronic Health Record systems to become more like platforms.

SMART on FHIR addresses these key concerns

  • Identity and access management
  • Access to the data
  • Launch framework
  • Scopes and launch context

Let’s look into the details of each of these for a bit.

Identity and access management

SMART relies on the OIDC - OpenID Connect identity management protocol.

Built on top of OAuth 2.0, it is essentially a flavor or a profile of OIDC, customized for use in healthcare applications.It defines a method through which an app requests authorization to access a FHIR resource, and then uses that authorization to retrieve the resource.

Access to the data

SMART on FHIR uses FHIR to access the data.

FHIR provides a standardized representation of healthcare data, irrespective of how it is stored or where it is coming from. Using a standardized representation of the data makes these apps substitutable as well as reusable.

Launch framework

SMART on FHIR provides a framework for four different use cases

  • Patient apps that launch standalone
  • Patient apps that launch from an EHR portal
  • Provider apps that launch standalone
  • Provider apps that launch from an EHR portal

Scopes and launch context

SMART provides three different categories of scopes for different kinds of data. Launch context is a negotiation where client asks for specific launch context parameters, and server decides which launch context parameters to provide using client’s request as an input.

  • Clinical data

    SMART on FHIR defines read and write permissions for patient specific and user level access.


    • patient/Observation.read
    • user/Appointment.read
    • patient/*.*
  • Contextual data

    Apps typically rely on contextual data like the currently open patient record in an EHR. They explicitly request the EHR context by using scopes like

    • launch=xyz
    • launch/patient
    • launch/encounter
  • Identity data

    Some apps need to authenticate the clinical end-user. They use following openid connect scopes to request the identity information.

    • openid
    • fhirUser

This concludes my brief introduction to SMART on FHIR.

SMART on FHIR provides an open, free and standards based API. Developers can use to write an app once and have it run anywhere in healthcare IT system.

Jul 28, 2021 - 4 minute read - Personal

About Thanks for the Feedback

I received ‘Thanks for the Feedback ' by Douglas Stone & Sheila Heen as an optional read for my leadership coaching program. I wasn’t very enthusiastic to read it. I didn’t have high expectations from the book. I was suspecting that it will talk about the typical annual review process at work and the kind of feedback you get from your boss. After finishing it in a few days though, I was surprised by how useful it was, not only for the feedback at the job but also in the personal relationships.

I captured the following notes from the book.

What counts as feedback

Feedback is any type of information you receive from another person or organization about yourself. Your manager, partner or spouse, child or a friend always share their opinions with you. The book talks about the effectiveness of receiving feedback gracefully. It teaches the feedback receivers to build self-awareness and helps in planning concrete actions.

Three types of feedback

There are three types of feedback

  • Appreciation - This is an acknowledgment for a job well done.

  • Coaching - This type of feedback identifies where you fall short and how you can improve.

  • Evaluation - This feedback is calibrating your performance, and rating you. This often decides things like your raise and promotion.

Triggers that block the feedback

We do fine with the positive feedback. But the negative feedback is stressful for the giver as well as especially for the receiver. It triggers the receiver. The triggers block the feedback. The purpose of sharing the feedback is not met. The triggers are classified in 3 broad buckets.

  • Truth Triggers

    When you feel that the feedback is wrong and untrue, it results in truth triggers. This can happen when there is a mismatch in the expectation. E.g. You are looking for an appreciation, but your manager gives you coaching. You feel that the feedback is unhelpful and wrong. Whereas your manager feels that with his coaching, he is helping you grow in your career.

    There are a few things you can try when receiving the feedback to avoid the truth triggers.

    • Separate appreciation, coaching, and evaluation:

      Ask about the type of feedback you are expecting. The feedback givers aren’t always equipped with the right tools and framework to share appropriate feedback with you. Proactively seek the feedback you are looking for.

    • Shift from “That’s wrong” to “Tell me more”:

      When you receive untruthful feedback, try to learn more about it by asking questions.

    • Discover your blind spots, and uncover by learning more from the feedback.

  • Relationship Triggers

    Relationship triggers are caused by the relationship you have with the feedback giver. You don’t trust that they are qualified or equipped to give you the feedback. It might be because of the organizational dynamics or interpersonal relationships

    • Disentangle ‘what’ from ‘who’: Instead of focusing on ‘who is giving you the feedback, focus on ‘what is the feedback.

    • Identify the relationship system : What is the particular combination of the relationship that is creating the problem? Are your roles clashing? How does this relationship fit into the big picture?

  • Identity Triggers

    Identity triggers are caused when the feedback affects your self-image. This happens when the feedback challenges your relationship with yourself.

    • Learn how wiring and temperament affect your story:

      Think about these questions -

      • What is your baseline temperament?

      • How far up or down do you go?

      • And how do you recover from the negative feedback?

    • See feedback at its actual size. Don’t exaggerate and get overwhelmed by it. Identify the feedback footprint. Imagine the worst and be prepared for it. Constrain the time, specificity, and the story of the feedback.

    • Cultivate a growth identity. Accept that you will make mistakes and learn from them. Give yourself a second score - by learning from the experience.

Accepting and rejecting the feedback

You don’t need to accept all the feedback. You can appreciate the efforts and thoughts from the feedback giver but reject the feedback that isn’t useful.

  • Draw boundaries when enough is enough

  • Navigate the conversation

    • Get aligned with the feedback giver

    • Listen for what’s right and why they see it differently

    • Assert what’s left out

    • Be your own process referee

    • Solve problems to create possibilities

    • Close with commitment

    • Keep the conversation in motion

Acting on the feedback

Once you decide to accept the feedback, act on it.

  • Identify one thing that you can immediately incorporate

  • Try small experiments

  • Ride out the J curve

  • Coach your coach to give you a helpful feedback

To summarize, this book is full of helpful techniques and provides us with ways to extract, cope, handle and grow with the feedback. Receiving feedback is a skill. This book provides a roadmap to build that skill.

Jul 24, 2021 - 2 minute read - Personal

Random Act of Kindness

I frequently visit one online group. It sends some thought-provoking prompts to reflect on past experiences and random ideas.

Here are some examples.

  • Which bad commercial that you saw that has stayed with you?
  • What does a ‘perfect day’ mean to you?

This week’s prompt was about the act of kindness shown to you, that you’ll never forget.

I wanted to share such experience.

Before COVID-19, I was traveling for my job. In July-August 2019, my assignment was in Moline, IL. It’s a small town on Illinois - Iowa border. This was my very first visit to the city. Due to an inclement weather-induced delay, I landed at Moline airport around 12.50 AM on Monday. I couldn’t find an Uber or a taxi to go to the hotel. Apparently no one provides a ride at that time of the night. I didn’t have a rental car booking, and the rental car counters couldn’t provide me a car on the spot. My only other option was to wait at the airport for the next 5 hours and hope for the cab driver to show up. There was no food at that small airport. I was more worried about my important meeting in the morning. As a last attempt, I called the hotel - Element - to check on the possibility of helping me out. I was aware that they don’t provide an Airport shuttle. Fortunately, the front desk lady at the hotel was super helpful and drove at 1.30 AM in her own car to pick me up at the airport.

This random act of kindness from a stranger has left a lasting impression on me. It has also associated this experience with Mariott - the owners of the Element hotels. Whenever I book a hotel room, I search for availability at one of the Mariott’s hotels first.