Hardware Hack: Hacking the ICE Medical ID USB wallet card

I am happy to say that I have a totally new type of post for my readers.

I am going to detail how to modify to the “ICE Medical ID” product to be relevant for those of use who do not want to be stuck crappy proprietary software. This only barely qualifies as hardware hacking, I am just going to detail how to remove the default software that comes with the card. But once this is done, it will form the foundation for some much cooler work. I bought my card for $20 at a local CVS, but you can get them all over the place. The only difference between this and some other credit card sized usb drive is that it is clearly labeled that it contains your In Case of Emergency (ICE) information. Most importantly, the card is Open Source and remix friendly. You can put whatever you want on the card and your EMT or ER personnel might find it.

First, you need to turn on viewing hidden files and potentially hidden system files in your Windows folder configuration. (Unless you are using GNU/Linux, which makes this step unneeded) This will allow you to see the hidden system files that the Ice.exe relies on.  Once you have done this you should be able to see the following files on the USB drive:

Ice.exe

unicows.dll

Ice (a directory)

Autorun.inf

The hack could not be simpler… delete all of these.

The Ice.exe file is a simple PHR application that makes all of the first-generation software errors. It stores its data in xml (under the ice sub-directory) but not in CCR or CCD, making the data you enter there trapped. It has bullet choice defaults, even when a user has not chosen data. The end result is that the application makes assumptions (like that a user is married) for unselected options. This is exactly the reason why Health Information software should be open source. The company that released this card has no business creating health software and they hired professional developers, but amateur health informaticists to do this work. Lots of rookie mistakes here.

I replaced the above with a simple text file with the following information:

Hi,
If you are reading this then I must be hurt very badly.
Please make sure my wife, Laura Trotter (email) and (phone number)
and my brother Rick Trotter (email) and (phone number)
are fully informed regarding my condition.

My blood type is O+
I had minor knee surgery on my right knee several years ago. A small part of my patellar tendon was removed.
I am not allergic to anything that I know of. I have never had a reaction to any anesthesia.
You should be able to find an health insurance card in my wallet, where you found this card.

Thank you for taking care of me.

Regards,
Frederick (Fred) Clayton Trotter

Email might seem funny, but it might be possible that my wife is in a different country when I am injured, and email always works…

I thought about replacing the Autorun.inf with something to popup the text file automatically when the USB was inserted into a computer, but Windows 7 no longer supports non-optical drives running Autorun.inf and Apple OS X or GNU/Linux computers do not support that either. It is just as well since most of the time I insert the card into a computer I will be using it to transfer files.

I also could and probably will upgrade the text file to an html file at some point. But I think that kind of work is best left to when I can integrate the record with Google Health or better yet with Indivo. Html would have the added benifit of allowing me to integrate a picture, which would make it pretty simple to include information on one card for several people, a mom-pleasing feature indeed. (You can do this with the proprietary software only after you purchase the privilege)

Enjoy hacking your healthcare information.

-FT

On project governance

Recently, some of the i2b2 team asked me for my thoughts on project governance. I find that my lengthy email answers to these kinds of questions are worth blogging about. I mean really, its a bother to write a good blog post and a bother to write a long email… why duplicate??

The original question was very broad:

Can you share any pointers to governance procedures, policy
and organization for an OS process?

The first question to ask is who, practically speaking, currently has the right to modify the published version of i2b2? Lets call those the “developers”.
The second question to ask is who owns the trademark to the term “i2b2”? That person or organization is by implication the current shepherd. Most of your concern should go into legitimizing your current development team and ensuring that your shepherd organization is doing right by them.

Next, is there a for-profit company that is predominantly the employer of more than half of the developers? If that is the case than you can consider a for-profit shepherd organization (like RedHat or Canonical). Usually for an organic project like i2b2 this will not work.

Next you can setup a new non-profit as the shepherd organization. This is the most common model. The purpose of this organization is primarily to have someone to sue other than developers directly. 501c3s are a bother to setup, if you want you can create an “arm” of an existing non-profit. There are at least two options for this, you can work with Open Health Tools which is really designed to support this. Often that does not work for licensing or other governance  reasons, and if you need more autonomy but still want a non-profit shield, you are welcome to setup sub-organization with Liberty Health Software Foundation.  There are other Open Source Health IT non-profits out there…

No matter if you setup your own non-profit, partner with an existing one, or choose a for-profit vehicle, your governance model is basically the same core set of issues. The questions you must answer definitively with your organization governance is:

  • Who gets to update the code?
  • Who gets to name a particular codebase as the “current” and “official” version of i2b2?
  • If you have a modular architecture (and who doesn’t?) how do you decide which modules get to advertise on the main community “site”
  • How do new developers earn the right to update the core code?
  • Who will you recommend for paid support? How can an organization get on that list? This is an important question, you must do everything to ensure that when i2b2 is installed somewhere by some third party that if that third party was using the i2b2 name to market themselves that they did a good job.
  • What are the rules for the use of the i2b2 trademark?
  • Where do you go on the web to participate in the i2b2 user and developer community?
  • Who owns the copyright to i2b2? What is the license? If you decide to change the license how will that happen? Are you requiring copyright assigments for coded contributions and if so, to whom are the copyrights assigned?
  • What is your policy towards patented software? (Universities can be sensitive about this)
  • Will the organization be employing developers? Will you seek money for development?
  • How will you unsure that future difficult decisions on your project will be made well?

I know that i2b2 has very strong academic associations, as many FOSS projects do. That relationship may mean that “at the university’s discretion” is often the answer to many of the above questions. That is fine, but you need to make it perfectly clear which of the above questions you are abdicating (and why) and which you are not.

I hope that I have adequately opened a can of worms for you. I have many opinions on how these questions should be answered and for each of them there are many different legit paths taken by other FOSS organizations. I can intelligently discuss how the top reference organizations function as applied to you (like Apache, Mozilla, Eclipse and Linux) to see where there might be areas for you to imitate. Let me know which of these topics interest you and I can discuss them further here. The most important thing to realize is that your governance -cannot- be as complex as the Apache governance processes without also having the kinds of resources that the Apache projects have. You either need to work with an organization like Open Health Tools which has alot of these things figured out, (but may have made decisions that you cannot live with) or you need to create a light-weight set of processes and governances that are something that your organization can actually follow.

I am sure that you already have concerns and ideas that I have not even listed, either because I am unaware, or I think there are not important. So I as you go through this process I would advise you to ask two questions:

“What bargain am I making with my users? Besides understanding what my software does, my users want to understand what license obligations they are undertaking to use my software. They want to understand how to connect into a community of users, and how to get paid support if they need it. Are the ‘terms’ for becoming a user of the my software clear and fair? “

and

“What bargain am I making with my developers? Developers are by implication both interested and not satisfied with my current software. They want to improve it with me, but they must calculate whether it is worth their time to make the investment to develop with me. Are the ‘terms’ that I set forward to them clear enough that they can determine whether to make that investment?

Sometimes an shepherd organization is going to have to make unpopular decisions. (Like Red Hat did in retiring Red Hat Linux and creating Fedora) How will your organization be able to make good decisions that potentially infuriate your users? More importantly, how will your organization recognize when your community of users has moved beyond you? (Like the firefox project did inside Mozilla) how will your organization maintain the humility to recognize that a community version is better than your official version?

If you get either of these questions wrong, your shepherd organization will end up holding your project back in the long term.

Probably the most controversial question that you have to answer is to what degree you will allow your community to rule you. When WorldVista (the current non-profit for VistA) was originally formed, they were concerned that corporate interests would “buy-out” the WorldVistA board. As a result there are no elections to the WorldVistA board positions. There is no way for the community to remove board members. Over time, this has resulted in a steady loss of “doers” on the WorldVistA board. Enforcing “doing” over “dithering” is impossible if you cannot rid yourself of someone who really wants to “dither” (for goodness sake look at Congress). As a result, the board tends to attract and keep “ditheres” while alienating “doers” in the community. The few “doers” on the current WorldVistA board are long-suffering and patient individuals… martyrs really. The end result is that WorldVistA consistently refused to make the difficult decisions. When they do act, it is usually only after a particular strategy has become obvious (<- read this as “too late”)

WorldVistA did not start out that way, it is a factor of organization rot based on bad decisions made early in the formation process. But remember, their concern was very real. There are plenty of organizations that get taken over by corporate interests. The purpose of a shepherding organization is to protect the project for its developers and users, that means partnering with companies, but not being ruled by them.

For a worst-case scenario of how an organization can get embroiled in project issue, consider when Tridgell developed a FOSS Bitkeeper client while employed by OSDL (the precursor to the Linux Foundation). At the time OSDL also employed Linus Torvalds, who was in favor of using the proprietary Bitkeeper. From OSDLs perspective, you had a big mess. Two of its sponsored developers where at odds putting in a potential position of liability from Bitmover, the company behind the proprietary Bitkeeper tool.

You have to consider the far future of a project as you consider your governance structure. To do this, you have to honestly, and potentially painfully, asses the potential conflicts within your particular community. Remember that it will not be you sitting in your chair when the critical decisions are made, you have to be able to assume that your replacements will be competent, but you would be foolish to assume that they have your motivations. Its a difficult balance and I wish any project luck with that.

For the best examples of well-run shepherding in our community I would recommend Medsphere.org (the community arm of Medsphere corp) and the OpenMRS project.

HTH,
-FT

Lack of Transparency in Houston, T.X.

I am quite happy to say that your insane business practices will soon be coming to an end.

http://www.hhs.gov/valuedriven/

Do you honestly think that any other business could get away with not providing up-front pricing? You actually expect me to visit in-person to determine whether you have a fair price for services? Try calling Walmart or IHOP or any other business that sells standardized products, you will find that they will be happy to publish those prices. Most of those businesses publish their prices on the Internet.

Prepare to be blogged about as a fine example of what cannot continue.
Do let me know if you decide to change your policy so that I can
update my blog piost.

http://www.fredtrotter.com

-FT

On Mon, Nov 2, 2009 at 3:31 PM, Midtown Dentistry
<censored@midtowndentistry.com> wrote:
> Good afternoon Mr. Trotter,  Thank you for contacting Midtown Dentistry.  We
> don’t give quotes over the phone or emails.  I will be happy to give you an
> appointment for and exam and consultation.  At this appointment you will
> have a full exam, consultation & x-rays.  Dr. Penchas will go over all of
> your needs and you will be given a treatment plan will all costs involved.
> Please call me at the phone number below so that I may assist you with an
> appointment.  Thank you again,
>
>
> Glenda Cornell
> Midtown Dentistry
> 315 Westheimer
> Houston, Texas 77006
> censored
>
> —–Original Message—–
> From: Fred Trotter [mailto:censored]

> Sent: Monday, November 02, 2009 11:13 AM
> To: censored
> Subject: Contact us message
>
> Contact Us Message
>
> Name : Fred Trotter
>
> Email : censored
>
> Phone :  censored
>
> Message:
>
> Hi, I need to have a extensive cleaning done (according to my previous
> dentist) and I would prefer to have it done under general anesthesia. I will
> be paying cash, so I would like to know the cost of an “extensive” or “deep”
> cleaning under general anesthesia factoring in any cash discounts you may
> offer
>
> Regards,
> -FT
>

The Health Internet

For whatever reason, people still do not get the basics of the Health Internet. Part of the problem is the fact that the marketing term has been, until recently the National Health Information Network or NHIN. The Feds recently decided to start calling the project the Health Internet, because that gives a much better idea of what they are trying to achieve.

Please do not be the guy/gal who writes in my comments but the Internet is not secure, that means my privacy will be violated. That is pure FUD and is not how the Health Internet will work. It is a relatively simple process to make the Health Internet into a zone that is more secure and private than the current health information infrastructure. Notice that did not say “secure” I said “more secure”. Your bank is not “secure”, your doctors paper records are not “secure”, the CIA is not “secure”. As an adjective, secure is more like the human attribute of “tall”. I am typically considered a tall person, but in college I was an student athletic trainer for my schools basketball team. In that crowd, I was short. While there is one and only one person who can be considered universally “tall”, it is well understood that this is a relative term. Similarly, the Health Internet is relatively more secure than current systems. I personally am far more comfortable having my private data in the Health Internet than I am with having my paper records locked in my Doctors office. You should be too.

So you should not be thinking about security or privacy in the Health Internet…. Really… It is as close to a solved problem as it gets. There are always obviously ways to make things more secure… but taller is not always better.

So what does the Health Internet buy you as an individual living in the US? To put it simply you and your Doctors should eventually be able to get to all of your health information as easily as you now get access to your financial information. Its a big promise, but the design of the Health Internet should eventually make that kind of convenience and access a reality.

Given that, it becomes obvious why a rebranding to the Health Internet is a good idea. For several basic reasons:

  • the original Internet started life as a government network (ARPANET)… And that has turned out pretty well.
  • the reason that the original Internet was such a hit was that people built neat stuff on top of it. Similarly, the Feds are hoping that people will use the Health Internet as the platform for further innovation.

So the Health Internet is a good thing and everyone should embrace it.

So how do you jump start a Health Internet? You do it by providing Open Source Software that enables people to participate in the new network.

Most people do not really understand the relationship between Open Source networking projects and the success of the original Internet. Here is how this breaks down:

Most of the Internet servers that provide X do it using Open Source project Y. With that as a template, look at the following chart:

Email:sendmail
DNS:bind
Web server:Apache

Of course, you -can- use proprietary software for these components, but the Internet as we know it would not exist without these very low cost tools that provide a substancially large portion of our Internet infrastructure. So whats the plan for the Health Internet? Simple.

Health Internet:CONNECT

The CONNECT project is an Open Source project that -will- run the core Health Internet. The core will connect major government health data sources including the VA and the DoD the initial Health Internet core. Most importantly the CONNECT software is available for local exchanges to connect into the core Health Internet.

Overall the strategy of creating an Open Source project that can be used to fractally to create other, connected, networks is a proven strategy. Its a smart move and it is going to change Health Informatics in fashion that is very similar to the way the Internet has already changed computing generally.

The wrong conversation, missing CONNECT

Today I heard a session today at the National IT Forum at Harvard entitled “Business-Government Interactions to Support a Platform”.

I felt like I was Alice in Wonderland. Behind me sat two of the top leaders of the Open Source CONNECT project. Which is, frankly, the single largest contribution to Health IT interoperability to come from the Federal Government… ever. Even now, that project will ensure that there will be a National Health Information Network that will create local exchanges that will allow the transfer of health information about individuals from coast to coast.  Or at least this is so likely to happen, that other outcomes would be so random that they cannot be planned for in any case. Yet,  the CONNECT project was hardly mentioned one time during the session about “What we want from the Government”.

The session waxed long on what to expect from the Government, what the Government should do and should not do. Lots of talking about laws and rules and Google.  How should we do health information exchange? Some of it was pretty interesting, but basically it was the wrong conversation.

The right conversation starts with this: we can assume that CONNECT -will- unify the health information transfer in the US. It will serve as the basis for the core NHIN and regional networks will have the option of implementing it. That means that CONNECT sets the bar for health exchange.  Software must be as good as CONNECT to be considered for a local Health Information Exchange, otherwise, why not use CONNECT?

So -given- that the US government will (sooner or later)  solve the problem of health information exchange using CONNECT, the question is how we as platform developers will -leverage- CONNECT to make new and improved patient and clinician-facing tools.

While the first talk was better, and the contacts I have already made here are invaluable, so far there is too much fluff and not enough on the dirty details required to make a platform. I really wish Ben Adida could have made it, because as it stands I feel somewhat ungrounded. The conversation should really have been “what does CONNECT mean for us?” and instead it was just circular nonsense. I really want to ask after almost everyone finishes talking “so… you will therefore code what… exactly?”

For this post I want to make it clear. CONNECT is not perfect, they have warts both as a codebase and as a project. But they are rapidly fixing themselves, and they will change everything. This seems so obvious to me… and yet apparently not everyone gets this.

-FT

Surescripts agrees to modify NDA to be compatible with Open Source licences

As many of you know,  I am often asked to represent the FOSS Health IT community in negotiations with various organizations. My first opportunity to do this was with CCHIT, that negotiation has turned out pretty well. Then I represented the FOSS community at the NCVHS hearings on Meaningful Use.

Most recently, I have had requests from the community regarding Surescripts (who appropriately use a .net domain name… because they are a network!!).

For those that do not know, Surecripts (after the merger with RxHub) is essentially the only way to communicate electronic prescription messages in the United States. However, many in the FOSS community felt that the Surescripts Non-Disclosure Agreement prevented FOSS implementations of the Surescripts interface.

I just got off the phone with Rick Ratliff and Paul Uhrig from Surescripts and they agreed to modify the NDA to explicitly allow the release of Surescripts implementations under Open Source and Freedom Respecting Software Licenses. In fact from their perscpective this was implicitly allowed under the current NDA.

To move forward I have asked representatives from Medsphere and ClearHealth (Open Source vendors who already have a working relationship with Surescripts) to work with Surescripts to produce a short modification to the Surescripts NDA which will explicitly allow for a FOSS release. Once they have finished that language, we will present the resulting changes to the community at large to make sure it works for everyone. After this, Surescripts has agreed to add the changes to the default NDA.

While this issue will not be resolved until we have FOSS-available implementations that can access the Surescripts network, this is a huge step forward. I would like to thank Paul and Rick for making time for me in what must be a tremendously busy schedule.

Regards,

-FT

Network Effect vs Open Source

Something I have been thinking alot about lately is the issue of Software as a Service and how that model works with the network effect and open source software.

My thinking is prompted by a service that I am thinking of launching. The code behind the service is very simple, and while I have predilection to release everything I do under FOSS licenses, I am thinking of not releasing the code for this. Notice that I am not talking about making a proprietary software product, that would be unethical, I am talking about offering a service over the Internet, using code that is kept private. Private code is ethical, proprietary code is not. It is a matter of control, proprietary software allows a user to run software that they have no control over. Private software running a network service is often called the ASP loophole of freedom respecting software licenses like the GPL (but not the AGPL), but basically it is ethical because the user is not actually running the software at all, they are just accepting a benefit from that software. The moral issue gets convoluted when you have a service that maintains user data on the foreign site, rather than just providing a take-it-or-leave it service. Google, for instance, is in a very different position of responsibility when it chooses to offer an email service rather than a search service. If Google stopped providing search, that would suck, but if gmail went down and took years of my corresponence with it… that would -really- suck.

For certain kinds of critical data, I think it is unethical even to use private code. This should seem especially obvious for health information.

Before we get to my issue, I wanted to point out another organization that is in essentially the same position: StackOverFlow.com

StakOverflow is a site that supports the ability to ask very specific technical questions and then rank the answers that result. You see if StackOverflow releases its code open source, then you could have hundreds of separate question-answering sites start, all of which would have have only trivial amounts of users on each site: Joel (as in Joel on Software) discusses this issue in a podcast (transcript):

Spolsky: Well, but they will suck away some the audience that might have come to us, thus reducing the network effect, and thus reducing the value to the entire community.

As long as Stackoverflow is in -one- place, then all of its users go to one place to ask and answer questions. There is a network effect of all of those users going to to same location, it means more questions and more answers. More questions and more answers means better answers and questions since the whole point of the stack overflow architecure is that “more” becomes “better” through user voting. Better answers means that more people will go there to search, which means more users, which means more answers/questions which means better answers which means better users and you have the loop. The critical upward spiral of community collaboration where the more users you have the more valuable the central resource is.

What does this sound like? It sounds like open source software development and the way Wikipedia works. In fact there is a whole book about this upward spiral-through-open-collaboration effect called wikinomics.

But the upward spiral of the -content- on StackOverflow is hindred by attempting to open source the code. The code would obviously improve if it where open sourced, but the content would degrade. (Aside: It might be possible to find a way to turn the StackOverflow model into a protocol too, so that you could have multiple instances that would create a large disstributed system of StackOverflow instances. So that when you searched for bird watching on StackOverflow.com you might get results from BirdOverflow.com or whatever. This is what Google is trying to do with Google Wave)

It should be noted that StackOverflow actually already open sources the content that it produces, using a creative commons license for the questions and answers posted there. They also provide a data dump of the content, so that you can get it for programmatic use without bothering to screen scrape. So they really are making an open source contribution.

Back to my idea. I have a service that I will be launching soon that will also greatly benifit from the network effect on the content, but would be damaged by having multiple instances. I am inclined to not release the source code for this reason, but I have not yet made up my mind…

Update:

This got several good comments very quickly. Thanks for that, I really have not made up my mind on this issue and your comments have been very helpful.

Probably the most important information that I got is that there are several Open Source Stack Overflow clones in various stages of development.

I had searched for Open Source implementation of Stack Overflow and had only found Stacked. Personally reimplementing something so that it will not be proprietary anymore and then using a proprietary language (no offense to mono) to do it in just seems pointless. Of course I really wish there was something in php, since that is my current crutch language of choice. Hopefully people looking for a GPL or BSD implementation of Stack Overflow might be able to find it now. Drop a comment if you have a good implementation in php!!

-FT

e-prescribing prior art

Hi,
Whenever I hear that someone was doing Health IT a long-long time ago, I always suggest that they find copies of their old code and post them online so that we can have a strong source of prior-art to fight software patents with.

Recently, Bob Paddock took me seriously and dug up some invaluable prior art on automated prescribing. Today he sent me the results, including scans of printouts of both the printed prescriptions and the source code that made them. All of it with a date so long ago that it would invalidate any still active patent covering those subjects.

Bravo,

-FT

The iphone, a poor HIT platform analogy

Recently, a NEJM perspective article titled No Small Change for the Health Information Economy advocates that a Health IT platform should be created in imitation of some of the successful technology platforms in other areas. Specifically the iphone was mentioned. The relevant paragraph:

The Apple iPhone, for example, uses a software platform with a published interface that allows software developers outside Apple to create applications; there are now nearly 10,000 applications that consumers can download and use with the common phone interface. The platform separates the system from the functionality provided by the applications. And the applications are substitutable: a consumer can download a calendar reminder system, reject it, and then download another one. The consumer is committed to the platform, but the applications compete on value and cost.

The whole article is worth a read, there are some pretty invaluable fundamental insights that are provided here that are right on. However, there are problems with the iphone app universe. Imitating that universe will require that those problems find new solutions. The NEJM article recognizes some of these implicit difficulties, and suggests that the solution is for the government to step in and evaluate individual applications.

Here is a quick list of things that are true about the iphone that really should not be true in a HIT platform:

  • Apple plays favorites. Alot. Google was given special access to forbidden APIs for a voice application. Nike is another great example of company that created an application that has special privileges. It gets to have device integration that no one else gets. From Apples perspective these kind of things are acceptable because they create a user experience that is excellent. But it is not fair to developers. Developers who do not have the clout of Google or Nike know that they might be blown out of the water by a special deal that Apple might make with a bigger partner. It creates risk to developers and alot of resentment. Playing favorites gives Apple a short term advantage but ultimimately prevents a true meritocracy from developing. A Health IT plaform has to be truly open, and not play favorites.
  • Apple protects its cash cows at the expense of innovation. Google Voice could have broken the back of the AT&T price for SMS messages, which can cost about $5000 per megabyte . It was rejected by Apple because it hit them in the cashflow. But Google Voice is probably one of the most fundamentally innovative technologies to appear in a long time. A Health IT platform will need to find a way for this kind of blatant incentive problem from occuring. Its harder then you might think.
  • Apples approval process is inscrutable. Sometimes applications are rejected for content, even though that content is already available through Apple elsewhere. The approval process is slow, painful and does not make sense most importantly people hate it. The problem is that you have to have an approval process, and the reason that Apple is so closed about the process, probably has to do with the unpleasantness of watching sausage get made. It is not trivial to have an approval process that is fair and open, while also ensuring that developers do not abuse users. It takes time, which means money and it is not clear where that money will come from in a Health IT platform.
  • Apple is a locked-in provider of software. This can easily be fixed by jail-breaking your iphone, so that you can easily download apps from other sources. Apple limits the source of downloads for a reason, you can download anything with an jail-broken iphone… even things that will make your iphone much less stable. How do you ensure that applications are trustworthy, without having an exclusive source? Tough one.
  • Apple forbids creating applications that replicate core functionality. Which is exactly the opposite of what you want to do with a Health IT application. But no one will use the system unless you provide high-quality initial applications.

So is the iphone system, as an ideal, is fine to emulate. But you can see where your problems might be with such a platform by looking carefully at the problems that Apple is dealing with.

This is not really a criticism of the authors of the NEJM article… who, for instance, already see that the platform needs to be open source, addressing many of the problems that Apple is having by default… this is just to point out that all is not well in Apple land… analogies have their limits.

(update 9-01-09 I should talk about the iphone more often, this article has generated more comments, faster than anything I have written in years. One comment particularly stands out. Piyush Daiya over at androidmedapps.com has provided a very careful analysis that shows that Andriod is a better embodiment of the ten principles, that the NEJM authors endorsed. He is 100% right-on about that, and I wish I had thought to point that out myself. Thanks for reminding me, Piyush…)

-FT