Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 60

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 66

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 72

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 76

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 56

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 578

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 585

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 606

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 613

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 620

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 395

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 387

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 381

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 399

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: Automatic conversion of false to array is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/modules.php on line 137

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/script-loader.php on line 348

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp.php on line 173

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/builders/indexable-post-builder.php on line 125
My $50,000 Medical Office Building REIT Portfolio - Max Out of Pocket
Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 4975

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

My $50,000 Medical Office Building REIT Portfolio


Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

If anyone has been paying attention to my passive income page lately, they might have noticed my medical office building (MOB) REIT portfolio has been quietly approaching the $50,000 mark. Yesterday, I officially passed that milestone. Another $2,600 investment in Global Medical REIT (GMRE) brought the total balance of this portfolio to $52,050. I have been dollar-cost averaging into this investment every payday since April of 2019. Apparently, consistent action and market returns have turned this little project into a pretty sizable investment.

Max's most recent investment into GMRE.
GMRE is getting a little expensive for my liking.

I will go ahead and call this an accomplishment. This 50k healthcare REIT portfolio is worth quite a bit more than the annual salary I received for my first job out of college. $50,000 might be a drop in the bucket for some people, but it took me a long time to get here. To date, I have realized over $2,100 in passive dividends from it and it is projected to throw off another $2,500 in dividends over the next 12 months. I sometimes refer to this as my “rental income”.

But Max isn’t naive. I know there are plenty of other investments out there. With its 30%+ monster gain, a simple S&P index fund on its own would have beat my MOB portfolio outright in 2019. But I am happy where things are and I have learned a ton about REITs.

We all know that deep down Max is a total stock market index fund investor with little interest in picking individual stocks. I was lucky enough to start my career at the beginning of an unrelentless bull market where I couldn’t lose on index fund investing if I tried. But these days, I am making some exceptions. I suppose everyone needs a hobby. With a new milestone reached here at Max Out of Pocket, I thought a little update on the portfolio wouldn’t hurt.

Where Do I Keep My Medical Office Buildings?

We covered this in-depth here, but it is worth a brief update. The Max Out of Pocket medical office REIT portfolio is split across three very different accounts; Brokerage, Roth IRA, and Traditional IRA. These three accounts all handle taxes very differently. Since REITs tend to throw off a lot of dividends, it is important to understand how each of these accounts handles the taxes on those dividends. This little experiment has proven to be a nice case study on how each of these accounts works. 

Here is a look at the balance in each of my accounts.

Max's medical office building portfolio split between three different accounts.

My favorite account for this type of investment is the Roth IRA. The Roth IRA offers tax-free growth and tax-free withdrawals during retirement. The dividends that hit this account from my medical office building portfolio will never be taxed.

My second favorite account is the traditional IRA. This account offers tax-deferred growth. This is where I hold the bulk of the Max Out of Pocket Healthcare REIT portfolio. The dividends that land in my Traditional IRA in 2020 will not have a tax applied to them in 2020. I can reinvest those dividends into other investments within the traditional IRA account. There is a catch, though. The tax is “deferred” on these gains until I withdraw the assets at retirement age. The tax rate depends on what tax bucket I am in at the time I start withdrawing from the account.

Coming in last place is my brokerage account. Dividends that hit this account in 2020 will be taxed when I file my 2020 return. As of today, I am projecting $863 in dividends will hit this account in 2020. Many people advise against holding REITs in a brokerage account. That’s because they throw off non-qualified dividends that are taxed like regular income. There is a flip side, though. Assets in this account are easy to access and I could easily sell all my medical office buildings REITs in this account tomorrow and have the 16k in cash within a few days. It isn’t that easy with the tax-advantaged accounts. Sometimes Max is willing to pay a premium for this kind of liquidity. Several of my investment transactions since August occurred in this account because I had easy access to fresh capital from my W2 job.

Diversification

I currently only hold two REITS in my medical office building portfolio. We started this experiment with Physicians Realty Trust (DOC) and later added Global Medical REIT (GMRE). So Max is breaking one of the cardinal rules of investing. Always diversify. Two REITs is not diversification.

I made the case for diversification several months ago when I decided to add GMRE to the mix. Although that helped, I still only own two stocks and could easily get burned by either one of these companies. I saw this earlier in 2019 when Physicians Realty Trust had some tenant issues down in Texas. Thankfully, my management team was able to work through it. If I continue to grow this portfolio, I will eventually need to consider additional healthcare REITS to help us mitigate risk specific to each of these companies. As of now, I am not too concerned about it since this MOB portfolio only represents a small portion of my overall portfolio. 

All that said, we do have some geographic diversity built into these two REITs.  

Maps showing where all my medical office buildings are located.
As of 9/30/2019: What about Hawaii and Alaska?

These maps show that between DOC and GMRE, my medical office buildings are pretty diversified throughout the country. They have a similar, but different, footprint. Should help us in a natural disaster situation. I hate black swans.

There is also no overlap with these two REITs’ top ten tenants. Another good indicator that these two investments are diversified from each other. DOC’s top tenant is CommonSpirit Health representing 20.1% of the total annualized base rent for the company. GMRE’s top tenant is Encompass Health representing 10.9% of the annual base rent. I recently sat by someone at a conference who worked at Encompass and she liked working there. I suppose that is my only technical look into the state of things over at Encompass so far.

Types Of Buildings

So what kind of buildings do I own through these REITs?

Chart showing what kind of buildings DOC owns.
Got MOBs? DOC does.

One of the things that got me interested in Physicians Realty Trust from the beginning is that their core portfolio is medical office buildings. About 93% of DOC’s portfolio is MOBs. Medicare and other payers are doing all they can to drive patients away from the expensive inpatient hospital setting. They want procedures done on an outpatient basis. DOC’s property acquisition strategy fits well into this trend.

Chart showing what kinds of buildings GMRE owns.
Got IRFs? Slightly different metric than the DOC chart but we get the idea.

GMRE has 55% of its portfolio in medical office buildings. But they also get me some exposure to the inpatient rehab facility (IRF) market. This represents about 28% of GMRE’s portfolio. These facilities have a pretty favorable reimbursement model setup with the Medicare program. The service they provide is very specific and space for rehab services is always going to be needed for obvious reasons. GMRE also has almost 10% of its portfolio in acute/surgical hospitals. So we get some overlap in the MOB asset class while also getting some exposure to other types of buildings. 

Metrics

There are just a few metrics I want to point out and we can call it a day. Fund from operations (FFO) and dividend yield. I have covered both of these here.

DOC’s third-quarter conference call indicated a normalized FFO of $0.27 cents per share. Since they are currently paying a dividend of $0.23 per quarter, DOC seems to have the dividend solidly covered.

At current valuations, DOC’s dividend is yielding 4.79% annually. This is a pretty low yield compared to what I was getting on my purchases earlier in 2019. My overall yield on cost for the entire portfolio is about 5.69%.

GMRE’s third-quarter conference call indicated an adjusted FFO of $0.19 per share. The board declared a dividend of $0.20 that quarter, so the FFO is not completely covering the dividend. I am watching this closely, but since GMRE is in a growth phase I am not too worried about it.

At current valuations, GMRE’s dividend is yielding 5.41% annually. GMRE is generally a higher risk investment than DOC and part of the reason for the higher yield. But as one of the few REITs with 100% occupancy, in my eyes, they are offsetting some of this risk with performance.

Short Note On Fidelity Commission Fees

There are no more commission/transaction fees at Fidelity!

Max was pleasantly surprised to find out that Fidelity completely eliminated the $4.95 commission/transaction fee for online trading back in October. Yes, it’s true. After several of Fidelity’s competitors made similar moves, Fidelity really had no choice but to match the rest of the industry. So the Max Out of Pocket Healthcare REIT portfolio reaps the benefits of a super competitive brokerage industry with lower transaction costs.

I missed this news initially. But it just so happens my very last purchase of DOC on 9/27/2019 also marked the very last commission fee for my little REIT portfolio. Almost poetic. So the total cost to build this $50,000 portfolio was $89.10. This represents the $4.95 charge for the first 18 transactions of the portfolio. Going forward fees will be $0.00. Perhaps I should consider moving my dollar-cost averaging strategy up to weekly now that there is no more fee.

So Where Do We Go From Here?

Over the next 10 years, I should net about $25,000 from this portfolio in dividend returns. This assumes no capital appreciation or dividend increases. But where do we go from here?

There are really two options. I call this project done and allocate all future investments into the total stock market or bond index. This would include the $578 in quarterly dividends I am expecting to receive from this portfolio. That is the boring and probably safer option.

But I think we all know the more entertaining option is to take this portfolio to $100,000.

Mac's
Where it all started – still one of my favorite buildings in Atlanta.

So I am probably going to keep this little project going. I still like medical office buildings as a long-term ten-year investment, and I have been enjoying my new hobby. So I will keep researching and learning as much as I can about healthcare REITS and hopefully start digging into a few other companies.

That said, my two REIT’s stock prices are up quite a bit recently. So I may or may not tone down the frequency of this investment while I research other options. I am still considering this part of my “speculative” allocation in my overall asset allocation and we do not want to put my overall portfolio off balance by sinking too much into this project.

Purchase history of the Max Out of Pocket REIT portfolio.

As of today, I am not looking at a sabbatical or break from work in 2020. So I will have plenty of free W2 cash flow to continue to dedicate to this little project.

My next milestone will be a $100,000 medical office building portfolio. If I make it to the $100,000 mark, I will be able to pay most of my insurance’s max out-of-pocket in any given year with the dividends the portfolio generates. In the event of a medical issue, having a portfolio specifically earmarked for future medical expenses will make sure we can focus on getting healthy and not worrying about out-of-pocket costs. The 2020 Medicare Part A deductible passed $1,400 this year and it seems like keeping the program “premium-free” is unsustainable. Planning for these costs is a must.

Max could be wrong about all of this, though. So if someday we end up with Medicare For All with no out-of-pocket costs, I am going to buy myself a really nice vehicle with the proceeds from this portfolio.

This is not and never will be a recommendation to invest in this or any other type of investment. See my disclaimer page if you have any questions. You are responsible for your own investment decisions.

Share

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

2 Responses

  1. $2-2.5k dividends from $50k is about a 4% return, which is very solid! I can see the allure of medical given your background in insurance. However, if you do have special knowledge of medical buildings, why not a syndication of specific buildings rather than a broad REIT? If the REIT to get diversification, why not different asset class REITo (like one for medical, one for shopping complexes, one for residential apartments, etc).? Maybe that’s a possible topic for another post!

    • Max OOP says:

      Hi Caroline! Thanks for checking in.

      You might have to fill me in on the syndication of specific buildings, sounds complicated : ). I do like the idea of spreading my risk out through several office buildings all across the country rather than going all-in on one for higher yield. I could (and probably should) diversify into other classes (not to mention I only own two stocks in this risky portfolio), but I probably don’t have time to do the proper research and the healthcare REIT idea is kind of a pet project to help me keep an eye on what’s going on in my industry. I also have this crazy idea of eventually having enough passive income from my healthcare REIT portfolio to pay down my max out-of-pocket in any given year. Maybe if I cut back at work someday I will have more time to play around with it! Until then most of our assets will stay in the total stock market index or bond funds.

      Max


Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

Leave a Reply

Your email address will not be published. Required fields are marked *


Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 2747
%d bloggers like this: