{"id":78939,"date":"2020-01-07T08:00:27","date_gmt":"2020-01-07T16:00:27","guid":{"rendered":"https:\/\/cloudblogs.microsoft.com\/opensource\/?p=78939"},"modified":"2025-06-27T04:16:51","modified_gmt":"2025-06-27T11:16:51","slug":"fhir-subscriptions-state-changes","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/","title":{"rendered":"FHIR Subscriptions and state changes"},"content":{"rendered":"\n<p>HL7 <a href=\"https:\/\/hl7.org\/fhir\/\">FHIR<\/a> (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Microsoft contributes enthusiastically to FHIR and the health standards community, from developing open source <a href=\"https:\/\/github.com\/microsoft\/fhir-server\">servers<\/a>, <a href=\"https:\/\/github.com\/microsoft\/iomt-fhir\">tools<\/a>, and <a href=\"https:\/\/github.com\/microsoft\/healthkit-on-fhir\">libraries<\/a> to hosting <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/azure-api-for-fhir\/\">managed services in Azure<\/a>, as well as technical evangelism and development of core specifications.<\/p>\n\n\n\n<p>From time to time on this blog, our team will share thoughts, design challenges, and implementation progress with the community for transparency and feedback. Today&#8217;s post is the first installment, which focuses on upcoming changes to FHIR Subscriptions.<\/p>\n\n\n\n<p>As&nbsp;FHIR&nbsp;adoption grows, the community begins to tackle more&nbsp;complex&nbsp;workflows.&nbsp;Critical in many of these&nbsp;workflows&nbsp;is the ability&nbsp;to send notifications to clients based on actions happening within a server.&nbsp;One&nbsp;mechanism&nbsp;for&nbsp;managing&nbsp;event notifications to clients is&nbsp;FHIR\u2019s built-in&nbsp;Subscription&nbsp;resource.&nbsp;In&nbsp;the upcoming&nbsp;FHIR&nbsp;release (R5), there&nbsp;is&nbsp;a&nbsp;significant redesign&nbsp;of the Subscription&nbsp;resource and the notifications&nbsp;mechanisms&nbsp;around it.<\/p>\n\n\n\n<p>The redesign introduces the ability for servers to send notifications that include either references (by resource ID) or the full contents of resources involved in an event. As the new design has matured, we&#8217;ve had in-depth community discussions about what should be included in notifications and below is a summary of the results.<\/p>\n\n\n\n<p>As context, at its core, a Subscription generates notifications about state changes. A state change implies two views of the world: the state prior to the change, which I&#8217;ll refer to as the &#8216;previous&#8217; state, and the state after the change, which I&#8217;ll refer to as the &#8216;current&#8217; state. When considering a RESTful server (e.g., a FHIR server), state changes can be sorted into three buckets: create, delete, and update (the CUD in CRUD \u2013 since reads don&#8217;t change state).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create\u00a0<\/strong>operations are the most straightforward\u00a0&#8211;\u00a0there is only one useful state because the previous state was non-existence.\u00a0An implementer is safe to assume any information refers to the current state and any notification structures can be filled out at the server&#8217;s leisure.\u00a0Trying to include data from the previous state just doesn&#8217;t make sense.\u00a0With that in mind, the &#8216;best&#8217; offering from a server is to include data (ID, resource, or graph) based on the current state of the world.<\/li>\n\n\n\n<li><strong>Delete\u00a0<\/strong>operations feel like create at first &#8211; the previous state is the only valid one, so any data would need to be pulled from it. Unfortunately, it isn&#8217;t that simple. For example, if a resource was deleted for privacy reasons, a server shouldn&#8217;t broadcast it. Additionally, sending a resource after it&#8217;s been deleted isn&#8217;t consistent with what a client sees when querying a server. On the other hand, a client trying to discover which resource was deleted (e.g., determine a missing patient from the server) is an expensive operation and should be avoided. Given all these concerns, I consider the &#8216;best&#8217; behavior for a server to include the ID of a deleted resource, but no actual contents.<\/li>\n\n\n\n<li><strong>Update\u00a0<\/strong>operations are the most complicated &#8211; both the previous and current states are generally valid, and both are potentially useful (e.g., a client can easily determine the specifics of an update). Here, there are three main areas to consider. First, there can be privacy, security, or safety issues similar to delete operations \u2013 invalid states shouldn&#8217;t be broadcast. Second, if a client needs to do comparisons, it can cache data in a local store or issue versioned FHIR resource requests as a follow-up. Finally, requiring servers to pull resources or graphs from the previous state has significant performance and design implications \u2013 notifications can&#8217;t be processed out of band since they need data from both states around the update. All considered, I believe the &#8216;best&#8217; offering from a server during an update is to pull IDs, resources, or graphs from the current state of the system; anyone who needs a previous state should be taking care of that on their own (e.g., by issuing <a href=\"http:\/\/hl7.org\/fhir\/R4\/http.html#history\">history<\/a> or\u00a0<a href=\"http:\/\/hl7.org\/fhir\/R4\/http.html#vread\">versioned read<\/a> API calls).<\/li>\n<\/ul>\n\n\n\n<p>There is one more issue that I&#8217;d like to cover, which is the&nbsp;possibility of missing intermediate states. There are&nbsp;several&nbsp;scenarios where this is possible: high frequency updates to a resource,&nbsp;server processing queue backup, transmission times to clients,&nbsp;etc.&nbsp;If knowing all intermediate states is important to your workflow,&nbsp;the implementation server must support versioned links on all resources of interest&nbsp;and provide guaranteed delivery&nbsp;\u2013 both of&nbsp;which&nbsp;are&nbsp;beyond the scope of&nbsp;FHIR&nbsp;Subscriptions.<\/p>\n\n\n\n<p>By using versioned resource links, each update in a server will be unique, and clients can retrieve those exact versions at their leisure. By supporting guaranteed delivery, a server can ensure that a client hasn&#8217;t missed any states due to transmission. Given that these are not the expected behaviors of generic servers, workflows should expect that the only knowable state of the server is the &#8216;current&#8217; state. To use the official language: &#8220;Here Be Dragons!&#8221; \u2013 take care in your design.<\/p>\n\n\n\n<p>We\u2019re targeting&nbsp;the May 2020 ballot cycle for the Subscription redesign,&nbsp;and we&#8217;re eager for your&nbsp;early&nbsp;feedback. The&nbsp;draft&nbsp;specifications&nbsp;are&nbsp;hosted&nbsp;on&nbsp;the&nbsp;<a href=\"https:\/\/build.fhir.org\/\">FHIR CI Server<\/a>&nbsp;and&nbsp;our&nbsp;testing infrastructure&nbsp;is&nbsp;<a href=\"https:\/\/subscriptions.argo.run\/\">hosted on&nbsp;Azure<\/a>. The&nbsp;best place to reach us is the&nbsp;<a href=\"https:\/\/chat.fhir.org\/login\/#narrow\/stream\/179229-subscriptions\">Subscriptions Stream<\/a>&nbsp;on the&nbsp;official&nbsp;<a href=\"https:\/\/chat.fhir.org\/login\/\">FHIR&nbsp;Chat&nbsp;Server<\/a> and we&#8217;re hosting a Subscriptions track at the <a href=\"http:\/\/hl7.org\/events\/cms\/2020\/01\/index.cfm\">CMS Connectathon #1<\/a> (January 7-8&nbsp;in Baltimore, Maryland, US) and&nbsp;supporting the&nbsp;Subscriptions track at <a href=\"https:\/\/confluence.hl7.org\/display\/FHIR\/2020-02+Subscriptions+Track\">HL7&nbsp;FHIR&nbsp;Connectathon #23<\/a>&nbsp;(February 2-3&nbsp;in Sydney, Australia).&nbsp;We hope to hear from many of you in the coming weeks and look forward to seeing you at these events.<\/p>\n\n\n\n<p>Other feedback or questions? Let us know in the comments below.<\/p>\n\n\n\n<p><em>FHIR\u00ae is the registered trademark of HL7 and is used with the permission of HL7.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Microsoft contributes enthusiastically to FHIR and the health standards community, from developing open source servers, tools, and libraries to hosting managed services in Azure, as well as technical evangelism and development of core specifications.<\/p>\n","protected":false},"author":5562,"featured_media":95480,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[2272],"content-type":[346],"topic":[2248],"programming-languages":[],"coauthors":[696],"class_list":["post-78939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-microsoft","content-type-news","topic-standards","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-3-1593580442-169","review-flag-7-1593580463-151","review-flag-8-1593580468-572","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FHIR Subscriptions and state changes | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today&#039;s post focuses on upcoming changes to FHIR Subscriptions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FHIR Subscriptions and state changes | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today&#039;s post focuses on upcoming changes to FHIR Subscriptions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-07T16:00:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-27T11:16:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gino Canessa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gino Canessa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/gino-canessa\/\",\"@type\":\"Person\",\"@name\":\"Gino Canessa\"}],\"headline\":\"FHIR Subscriptions and state changes\",\"datePublished\":\"2020-01-07T16:00:27+00:00\",\"dateModified\":\"2025-06-27T11:16:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\"},\"wordCount\":1039,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"keywords\":[\"Microsoft\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\",\"name\":\"FHIR Subscriptions and state changes | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"datePublished\":\"2020-01-07T16:00:27+00:00\",\"dateModified\":\"2025-06-27T11:16:51+00:00\",\"description\":\"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today's post focuses on upcoming changes to FHIR Subscriptions.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FHIR Subscriptions and state changes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FHIR Subscriptions and state changes | Microsoft Open Source Blog","description":"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today's post focuses on upcoming changes to FHIR Subscriptions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/","og_locale":"en_US","og_type":"article","og_title":"FHIR Subscriptions and state changes | Microsoft Open Source Blog","og_description":"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today's post focuses on upcoming changes to FHIR Subscriptions.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2020-01-07T16:00:27+00:00","article_modified_time":"2025-06-27T11:16:51+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.png","type":"image\/png"}],"author":"Gino Canessa","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Gino Canessa","Est. reading time":"4 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/gino-canessa\/","@type":"Person","@name":"Gino Canessa"}],"headline":"FHIR Subscriptions and state changes","datePublished":"2020-01-07T16:00:27+00:00","dateModified":"2025-06-27T11:16:51+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/"},"wordCount":1039,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","keywords":["Microsoft"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/","url":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/","name":"FHIR Subscriptions and state changes | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","datePublished":"2020-01-07T16:00:27+00:00","dateModified":"2025-06-27T11:16:51+00:00","description":"HL7 FHIR (Fast Healthcare Interoperability Resources) is an open standard for healthcare interoperability. Today's post focuses on upcoming changes to FHIR Subscriptions.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/01\/07\/fhir-subscriptions-state-changes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"FHIR Subscriptions and state changes"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/78939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=78939"}],"version-history":[{"count":1,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/78939\/revisions"}],"predecessor-version":[{"id":97707,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/78939\/revisions\/97707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95480"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=78939"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=78939"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=78939"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=78939"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=78939"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=78939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}