This result is being rendered in HTML for easy viewing. You may access this content as Raw JSON or Raw XML, or view this content in HTML JSON or HTML XML. Response generated in 28ms.

HTTP 200 OK

Response Headers

Date: Sun, 17 Dec 2017 19:19:05 GMT
X-Powered-By: HAPI FHIR 3.2.0-SNAPSHOT REST Server (FHIR Server; FHIR 3.0.1/DSTU3)
Content-Type: application/xml+fhir;charset=utf-8

Response Body

{
"resourceType": "Bundle",
"id": "e119a2c3-0e86-4a14-9e91-efbc69c8eb17",
"meta": {
"lastUpdated": "2017-12-17T19:19:05.992+00:00"
},
"type": "searchset",
"total": 15,
"link": [
{
"relation": "self",
"url": "https://smilecdr.com/blog/fhir/baseDstu3/Communication"
}
],
"entry": [
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171124_new_hapi_and_smile_releases",
"resource": {
"resourceType": "Communication",
"id": "20171124_new_hapi_and_smile_releases",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Smile CDR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Releases"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "HAPI FHIR"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">We are very happy to announce that we have finalized the simultaneous releases of <strong>HAPI FHIR 3.1.0</strong> and <strong>Smile CDR 2017.11.R01</strong>.</p>"
},
"status": "completed",
"sent": "2017-11-24T06:19:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<p>We are very happy to announce that we have finalized the simultaneous releases of <strong>HAPI FHIR 3.1.0</strong> and <strong>Smile CDR 2017.11.R01</strong>.</p>\n<h1>Smile CDR 2017.11.R01</h1>\n<p>This release contains a number of enhancements, several performance enhancements, as well as some bugfixes.</p>\n<p>The complete list of changes is available in the product <a href=\"/docs/current/introduction/changelog.html#smile-cdr-2017-11-r01\">Changelog</a>. </p>\n<p>Key improvements include:</p>\n<ul>\n <li>Various improvements to HL7 v2.x processing modules, including support for <code>Condition</code> resources, better extended charset support, better detection/rejection of invalid messages (e.g. ADT^A01 with no patient specified) and more detail on mapping issues being sent to the transaction log.</li>\n <li>Support for SQL Server (MSSQL) has been added</li>\n <li>Audit log access via the JSON Admin API has been added</li>\n <li>An annoying bug has been fixed that caused a user&rsquo;s password to be reset when their permissions were changed via the Web Admin Conosle</li>\n</ul>\n<h1>HAPI FHIR 3.1.0</h1>\n<p>\rThis release brings a number of improvements:\r</p>\n<ul>\r<li>Support for Android has been restored, and improved while we're at it! The use of a special \"uberjar\" with its own classifier is no longer required, <code>hapi-fhir-android</code> works as a normal Gradle dependency in your Android build. See the <a href=\"https://github.com/hapifhir/hapi-fhir-android-integration-test\">HAPI FHIR Android Integration Test</a> for an example.</li>\r<li>Support for the <code>Cache-Control</code> header has been added for JPA server searches, allowing a client to request that cached results not be used.</li>\r<li>A number of bugs were fixed and performance improvements were made (see the <a href=\"http://hapifhir.io/changes-report.html\">changelog</a> for a full list)</li>\r<li>Spring has been upgraded to the 5.0 series.</li>\r<li>Some initial refactoring has occurred towards enabling ElasticSearch support in JPA server. Note that any existing JPA projects will need to add an additional property in their Spring config called <code>hibernate.search.model_mapping</code>. See <a href=\"https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/FhirServerConfig.java#L84\">this line</a> in the example project.</li>\r<li>Support for Spring Boot has been added to many of the modules of the libaray. See the <a href=\"https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples\">Spring Boot Samples</a> for examples of how to use this.\r</ul>\n<p>Visit our <a href=\"https://github.com/jamesagnew/hapi-fhir/releases/tag/v3.1.0\">release page</a> or grab a copy via the Maven repositories. </p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171123_smile_and_nurseit",
"resource": {
"resourceType": "Communication",
"id": "20171123_smile_and_nurseit",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "NursIT"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Health Data"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "nursing software"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Smart on FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Interoperability"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "GDPR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Data Privacy"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Simpatico is pleased to announce that Smile CDR has been selected as the FHIR platform for <a href=\"http://nursit-institute.de/en/home/\">NursIT Institute</a>’s upcoming FHIR app offerings.</p>"
},
"status": "completed",
"sent": "2017-11-23T16:01:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#cng",
"display": "Clement Ng"
},
"payload": [
{
"contentString": "<p>Simpatico is pleased to announce that Smile CDR has been selected as the FHIR platform for <a href=\"http://nursit-institute.de/en/home/\">NursIT Institute</a>&rsquo;s upcoming FHIR app offerings.</p>\n<p>NursIT Institute, voted one of the top 5 Digital Heath pioneers in Germany, targets small to large university hospitals to deliver a variety of Smart on FHIR applications to address functionality overlooked by existing EHR systems.</p>\n<p>CareIT Pro is their first such application which improves nursing workflows and reduces nursing documentation. It saves 60 min per patient per day, while enhancing the documentation and information quality, improves quality of care and reduces readmissions.</p>\n<p>&ldquo;When we began development of CareIT Pro 2 years ago, we decided to focus on the front end user interaction and workflow aspect while working with a third party FHIR back end,&rdquo; says Stoyan Halkaliev, CEO of NursIT Institute. &ldquo;We wanted to go to market cost effectively while relying on the FHIR expertise of others which was not a core competency of our team at that time. After evaluating multiple options, we are very pleased to be working with Smile CDR to enable us to build and deliver not just CareIT Pro but also future FHIR apps to our customer base.&rdquo;</p>\n<p>&ldquo;NursIT Institute has been great to work with,&rdquo; says James Agnew, CTO of Smile CDR. &ldquo;They anticipated the value of FHIR in addressing the needs of health care providers in areas such as interoperability and data privacy. For example, Smile CDR will enable NursIT&rsquo;s customers to comply with the General Data Protection Regulation (GDPR) which specifies that providers are obligated to furnish patients with their health records on demand.&rdquo;</p>\n<p>CareIT Pro was recently presented at <a href=\"https://www.medica-tradefair.com/vis/v1/en/exhibitors/medcom2017.2554489?oid=80396&lang=2&_query=nursit\">Medica</a> and will be demonstrated at HIMSS 18. Let us know if you&rsquo;d like to see it in action!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171109_fhir_app_roundtable",
"resource": {
"resourceType": "Communication",
"id": "20171109_fhir_app_roundtable",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "HL7 FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "health data"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "clinical data warehouse"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "health applications"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "health research"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Smile CDR has been invited back to the <a href=\"https://www.hl7.org/events/fhir/roundtable/2017/12/\">HL7 FHIR Applications Roundtable</a> in New Orleans, Dec 6-7. This time, we will be presenting a novel Smile CDR use case with our partner, <a href=\"https://www.healthsciencessc.org/\">Health Sciences South Carolina</a> (“HSSC”).</p>"
},
"status": "completed",
"sent": "2017-11-09T21:32:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<p>Smile CDR has been invited back to the <a href=\"https://www.hl7.org/events/fhir/roundtable/2017/12/\">HL7 FHIR Applications Roundtable</a> in New Orleans, Dec 6-7. This time, we will be presenting a novel Smile CDR use case with our partner, <a href=\"https://www.healthsciencessc.org/\">Health Sciences South Carolina</a> (“HSSC”).</p>\n<p>Established in 2004, HSSC was the first statewide health data and research collaborative in the United States. Today, HSSC enables multi-institutional health research through its Clinical Data Warehouse and associated governance and research tools.</p>\n<p>We are very excited about jointly presenting with Dr. Les Lenert of HSSC in what promises to be be yet another demonstration of the breadth and depth of FHIR!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171108_prequalified_for_bcip",
"resource": {
"resourceType": "Communication",
"id": "20171108_prequalified_for_bcip",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "BCIP"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Health Data"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Government of Canada"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "EHR solutions"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Interoperability"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Simpatico Intelligent Systems is pleased to announce that Smile CDR has been pre-qualified for the <a href=\"https://www.tpsgc-pwgsc.gc.ca/app-acq/picc-bcip/ppicc-abcip-eng.html\">Build In Canada Program</a> (“BCIP”). Designed to provide leading edge and mutually beneficial solutions to Federal Government departments, the BCIP is a Government of Canada initiative that purchases and transfers innovations to Federal Government departments for testing and use.</p>"
},
"status": "completed",
"sent": "2017-11-08T18:11:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>Simpatico Intelligent Systems is pleased to announce that Smile CDR has been pre-qualified for the <a href=\"https://www.tpsgc-pwgsc.gc.ca/app-acq/picc-bcip/ppicc-abcip-eng.html\">Build In Canada Program</a> (“BCIP”). Designed to provide leading edge and mutually beneficial solutions to Federal Government departments, the BCIP is a Government of Canada initiative that purchases and transfers innovations to Federal Government departments for testing and use.</p>\n<p>Smile CDR is an innovative product because provides a novel architecture for health agencies that are limited by their legacy health information systems (such as hospital Electronic Health Record or EHR solutions) to easily exchange health records with other internal and external systems”, says Daniel D&rsquo;Alimonte, Innovation Advisor at BCIP. “This is a prevalent challenge in the industry, and we feel Smile CDR is the solution to enable interoperability between health systems globally.”</p>\n<p>Stay tuned to hear how Smile CDR will be deployed to solve this problem.</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171024_smile_cdr_at_fhir_devdays_2017",
"resource": {
"resourceType": "Communication",
"id": "20171024_smile_cdr_at_fhir_devdays_2017",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Technology Partner"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Events"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "DevDays"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Following on the heels of our entry into Europe, Smile CDR is proud to be the technology partner at <a href=\"https://www.fhirdevdays.com/event-info/\" target=\"_blank\">FHIR Dev Days</a> in Amsterdam November 15-17, 2017. </p>"
},
"status": "completed",
"sent": "2017-10-24T18:00:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>Following on the heels of our entry into Europe, Smile CDR is proud to be the technology partner at <a href=\"https://www.fhirdevdays.com/event-info/\" target=\"_blank\">FHIR Dev Days</a> in Amsterdam November 15-17, 2017. </p>\n<p>FHIR Dev Days is the premier international event for IT professionals in healthcare to learn about FHIR in a collaborative environment. </p>\n<p>The FHIR Core Team, including our CTO James Agnew, will be there along with renowned interoperability experts to deliver tutorials, guide the hands-on sessions and work one-on-one with attendees to discuss issues.</p>\n<p>Let us know if you’d like to meet up. Zie je daar!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20171024_smile_cdr_goes_live_in_europe",
"resource": {
"resourceType": "Communication",
"id": "20171024_smile_cdr_goes_live_in_europe",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Partnership"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Collaboration"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">We are pleased to announce that <a href=\"https://mrdm.nl/\" target=\"_blank\">Medical Research Data Management (MRDM)</a>, an innovative European leader in health data solutions, has deployed Smile CDR to provide clinical repository and reporting services across the Netherlands.</p>"
},
"status": "completed",
"sent": "2017-10-24T16:30:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>We are pleased to announce that <a href=\"https://mrdm.nl/\" target=\"_blank\">Medical Research Data Management (MRDM)</a>, an innovative European leader in health data solutions, has deployed Smile CDR to provide clinical repository and reporting services across the Netherlands.</p>\n<p>As a data processor to all Dutch hospitals and to a growing number of private clinics and first-line care providers, MRDM needed a commercially supported FHIR server to comply with the strictest privacy regulations in The Netherlands, including NEN 7510 and ISO 27001 certifications.</p>\n<p>&ldquo;Smile CDR was very easy to implement,&rdquo; said Paul Crauwels, Director of MRDM. &ldquo;We asked for a trial server. Within a few days, we had a proof of concept available for our client to test against. Smile CDR allowed us to meet our project milestone, and gain approval for the project to move ahead.&rdquo;</p>\n<p>&ldquo;MRDM has been a pleasure to work with,&rdquo; said James Agnew, CTO of Simpatico Intelligent Systems. &ldquo;They initially used the <a href=\"http://hapifhir.io/index.html\" target=\"_blank\">HAPI FHIR</a> server to familiarize themselves with FHIR but quickly recognized that Smile CDR’s capabilities could better help them address their needs across Europe. I&rsquo;m looking forward to working with their team to use Smile CDR in a variety of innovative ways.&rdquo;</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170928_new_hapi_and_smile_releases",
"resource": {
"resourceType": "Communication",
"id": "20170928_new_hapi_and_smile_releases",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Smile CDR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Releases"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "HAPI FHIR"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">We are very happy to announce that after seemingly endless development, we have finalized the simultaneous releases of <strong>HAPI FHIR 3.0.0</strong> and <strong>Smile CDR 2017.09.R01</strong>.</p>"
},
"status": "completed",
"sent": "2017-09-28T18:30:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>We are very happy to announce that after seemingly endless development, we have finalized the simultaneous releases of <strong>HAPI FHIR 3.0.0</strong> and <strong>Smile CDR 2017.09.R01</strong>.</p>\n<h1>Smile CDR 2017.09.R01</h1>\n<p>This release contains a number of enhancements, several performance enhancements, as well as some bugfixes.</p>\n<p>The complete list of changes is available in the product <a href=\"/docs/current/introduction/changelog.html#smile-cdr-2017-09-r01\">Changelog</a>. </p>\n<p>Key improvements include:</p>\n<ul>\n <li>An overhaul of how FHIR Subscriptions are implemented, including a scalable queuing mechanism for subscription checking and delivery (replacing the previous polling-based system) and much more flexibility in how subscription notifications are delivered. These changes lay the groundwork for many further enhancements we have planned, including support for the proposed <code>EventDefinition</code> mechanism that is proposed for FHIR R4.</li>\n <li>A large number of enhancements to the HL7 v2.x processors</li>\n <li>API support for user management</li>\n <li>A new security mode called <em>Trusted Client Mode</em> which allows a client coming from a fully trusted system to make asertions about the identity and permissions of the calling user</li>\n <li>All fixes from the HAPI FHIR 3.0.0 release below</li>\n</ul>\n<h1>HAPI FHIR 3.0.0</h1>\n<p>\r\tThis is a massive release, and includes a huge number of enhancements,\r\tfixes, and new features. Unfotunately it also brings a few breaking API changes\r\tso we are calling it version 3.0.0 (we are also moving to SemVer versioning).\r</p>\n<p>\r\tAs always, the <a href=\"http://hapifhir.io/changes-report.html\">changelog</a> has the full list\r\tof changes in this release. I am outlining a few of the important ones here:\r</p>\n<h2>FHIR R4 and DSTU1 Support</h2>\n<p>\r\tSupport for FHIR R4 (current working draft) has been <b>added</b>\r\t(in a new module called <code>hapi-fhir-structures-r4</code>)\r\tand\r\tsupport for FHIR DSTU1 (<code>hapi-fhir-structures-dstu</code>)\r\thas been <b>removed</b>. Removing support for the legacy\r\tDSTU1 FHIR version was a difficult decision, but it allows us the\r\topportunitity to clean up the codebase quite a bit, and remove some\r\tconfusing legacy parts of the API (such as the legacy Atom Bundle class).\r\t<br/><br/>\r\tA new redesigned table of HAPI FHIR versions to FHIR version support has been\r\tadded to the <a href=\"http://hapifhir.io/download.html\">Download Page</a>\r</p>\n<h2>Module Restructuring</h2>\n<p>\r\tHAPI FHIR's modules have been restructured for more consistency and less coupling\r\tbetween unrelated parts of the API.\r\t<br/><br/>\r\tA new complete list of HAPI FHIR modules has been added to the\r\t<a href=\"http://hapifhir.io/download.html\">Download Page</a>. Key changes\r\tinclude:\r\t<ul>\r\t<li>\r\t\t\tHAPI FHIR's <b>client</b> codebase has been moved out of <code>hapi-fhir-base</code>\r\t\t\tand in to a new module called <code>hapi-fhir-client</code>. Client users now need\r\t\t\tto explicitly add this JAR to their project (and non-client users now no longer\r\t\t\tneed to depend on it)\r\t</li>\r\t<li>\r\tHAPI FHIR's <b>server</b> codebase has been moved out of <code>hapi-fhir-base</code>\r\tand in to a new module called <code>hapi-fhir-server</code>. Server users now need\r\tto explicitly add this JAR to their project (and non-server users now no longer\r\tneed to depend on it)\r</li>\r<li>\r\tAs a result of the client and server changes above, we no longer need to produce\r\ta special Android JAR which contains the client, server (which added space but was\r\tnot used) and structures. There is now a normal module called <code>hapi-fhir-android</code>\rwhich is added to your Android Gradle file along with whatever structures JARs you\r\twish to add. See the\r<a href=\"https://github.com/hapifhir/hapi-fhir-android-integration-test\">Android Integration Test</a>\rto see a sample project using HAPI FHIR 3.0.0. <b>Note that this has been reported to\rwork by some people but others are having issues with it!</b> In order to avoid delaying\rthis release any further we are releasing now despite these issues. If you are an Android\rguru and want to help iron things out please get in touch. If not, it might be a good\ridea to stay on HAPI FHIR 2.5 until the next point release of the 3.x series.\r</li>\r<li>\rA new JAR containing FHIR utilities called <code>hapi-fhir-utilities</code> has been\radded. This JAR reflects the ongoing harmonization between HAPI FHIR and the FHIR\rRI codebases and is generally required in order to use HAPI at this point (if you\rare using a dependency manager such as Maven or Gradle it will be brought in to your\rproject automatically as a dependency)\r</li>\r</ul>\r</p>\n<h2>Package Changes</h2>\n<p>\rIn order to allow the reoganizations and decoupling above to happen, a number of important classes\rand interfaces have been moved to new packages. A sample list of these changes is listed\rbelow. When upgrading to 3.0.0 your project may well show a number of compile errors\rrelated to missing classes. In most cases this can be resolved by simply removing the HAPI\rimports from your classes and asking your IDE to \"Organize Imports\" once again. This is an\rannoying change we do realize, but it is neccesary in order to allow the project to\rcontinue to grow.\r<ul>\r<li>IGenericClient moved from package ca.uhn.fhir.rest.client to package ca.uhn.fhir.rest.client.api</li>\r<li>IRestfulClient moved from package ca.uhn.fhir.rest.client to package ca.uhn.fhir.rest.client.api</li>\r<li>AddProfileTagEnum moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.context.api</li>\r<li>IVersionSpecificBundleFactory moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.context.api</li>\r<li>BundleInclusionRule moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.context.api</li>\r<li>RestSearchParameterTypeEnum moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.rest.api</li>\r<li>EncodingEnum moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.rest.api</li>\r<li>Constants moved from package ca.uhn.fhir.rest.server to package ca.uhn.fhir.rest.api</li>\r<li>IClientInterceptor moved from package ca.uhn.fhir.rest.client to package ca.uhn.fhir.rest.client.api</li>\r<li>ITestingUiClientFactory moved from package ca.uhn.fhir.util to package ca.uhn.fhir.rest.server.util</li>\r</ul>\r</p>\n<h2>Fluent Client Search Change</h2>\n<p>Because the Atom-based DSTU1 Bundle class has been removed from the library, users of the<br/>HAPI FHIR client must now always include a Bundle return type in search calls. For example,<br/>the following call would have worked previously:</p>\n<pre><code class=\"language-java\">Bundle bundle = client.search().forResource(Patient.class)\r .where(new TokenClientParam(&quot;gender&quot;).exactly().code(&quot;unknown&quot;))\r .prettyPrint()\r .execute();\n</code></pre>\n<p>This now needs an explicit returnBundle statement, as follows:</p>\n<pre><code class=\"language-java\">Bundle bundle = client.search().forResource(Patient.class)\r .where(new TokenClientParam(&quot;gender&quot;).exactly().code(&quot;unknown&quot;))\r .prettyPrint()\r .returnBundle(Bundle.class)\r .execute();\n</code></pre>\n<p>Thanks to everyone who contributed to this release, either<br/>by submitting pull requests, suggesting new features, or filing bug requests!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170626_hl7_fhir_talk",
"resource": {
"resourceType": "Communication",
"id": "20170626_hl7_fhir_talk",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "HL7"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Meetings"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Event"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Talk"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Smile CDR is the proud sponsor of the Inaugural HL7&reg; FHIR&reg; Talk.</p>"
},
"status": "completed",
"sent": "2017-06-26T16:30:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>Smile CDR is the proud sponsor of the Inaugural HL7® FHIR® Talk.</p>\n<p>Healthcare informatics practitioners from government, hospitals, and local vendors will be joining us for stimulating and engaging discussions on FHIR. </p>\n<p>Speakers from <a href=\"http://www.intelliware.com/\" target=\"_blank\">Intelliware</a>, <a href=\"https://www.telushealth.co/\" target=\"_blank\">TELUS Health</a>, <a href=\"https://www.gevityinc.com/\" target=\"_blank\">Gevity</a>, <a href=\"https://smarthealthit.org/\" target=\"_blank\">SMART on FHIR</a>, <a href=\"https://www.redhat.com/\" target=\"_blank\">Red Hat</a>, and Smile CDR will cover a variety of topics, including: the challenges in EHR integration and health data interoperability; how and under what circumstances would FHIR be a viable investment to overcome such challenges; FHIR today and tomorrow; SMART support for the vendor community; and FHIR and AI.</p>\n<p><a href=\"mailto:info@simpatico.ai?subject=HL7 FHIR Talk Inquiry\" target=\"_blank\">Let us know</a> if you&rsquo;d like to be part of this!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170606_medstack_partnership",
"resource": {
"resourceType": "Communication",
"id": "20170606_medstack_partnership",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Partnership"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Collaboration"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Smile CDR has been chosen as the FHIR-based health data repository for <a href=\"https://www.medstack.co/\" target=\"_blank\">MedStack</a>’s HIPAA- and PHIPA-compliant healthcare application hosting environment.</p>"
},
"status": "completed",
"sent": "2017-06-06T16:30:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#simpatico",
"display": "Simpatico Intelligent Systems Inc."
},
"payload": [
{
"contentString": "<p>Smile CDR has been chosen as the FHIR-based health data repository for <a href=\"https://www.medstack.co/\" target=\"_blank\">MedStack</a>’s HIPAA- and PHIPA-compliant healthcare application hosting environment.</p>\n<p>Digital health application developers in Canada and US hosted on the MedStack platform can now seamlessly add Smile CDR to their technology stack. This means &ndash; among MedStack&rsquo;s other offerings &ndash; they can immediately benefit from Smile CDR’s complete FHIR compatibility, security, terminology translation, and auditing capabilities.</p>\n<p>&ldquo;Customers can continue to enjoy Smile CDR as a standalone product either hosted by us or implemented on-premises,” said James Agnew, CTO of Simpatico Intelligent Systems. “Smile CDR on MedStack means our partners can offer additional value by helping their customers easily adopt FHIR and overcome the challenges of health data interoperability across our industry.&rdquo;</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170423_fhir_north",
"resource": {
"resourceType": "Communication",
"id": "20170423_fhir_north",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "MohawkCollege"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIRNorth"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Apps4Health"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Connectathon"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<img xmlns=\"http://www.w3.org/1999/xhtml\">\n<h2>FHIR North (April 26 2017)</h2>\n<p>This week brings this year’s <a href=\"http://fhirnorth.ca\" target=\"_blank\">FHIR North</a> event along with its sister event, <a href=\"http://appsforhealth.ca/\" target=\"_blank\">Apps for Health</a>. These events happen at Mohawk College in Hamilton, Ontario, Canada. </p>\n<p>FHIR North has a great schedule packed with lots of great educational sessions, including seminars on topics such as vocabulary and <a href=\"https://smarthealthit.org/\" target=\"_blank\">SMART on FHIR</a>. It will also be a chance to meet up and chat with all kinds of interesting people about the projects they are doing.</p>\n<p>This will be the 3rd year we have run the FHIR North event, and so far each one has been bigger than the last.</p>\n<p>Naturally, Smile CDR will be represented. We’d love to chat with you!</p>\n<h2>Apps for Health (April 27 2017)</h2>\n<p>If you are attending FHIR North, we would highly recommend staying in Hamilton for one more day to attend the fantastic Apps for Health conference on April 27. I’ll be presenting as part of a panel with two fascinating people: Ken Stevens of <a href=\"http://www.intelliware.com/\" target=\"_blank\">Intelliware</a>, and Balaji Gopalan of <a href=\"https://www.medstack.co/\" target=\"_blank\">MedStack</a>. I can’t wait to hear what they have to say. </p></img>"
},
"status": "completed",
"sent": "2017-04-23T19:06:00-04:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<img src=\"20170423_fhir_north/Apps_4_Health_274-1200x400.jpg\" style=\"width: 100%; height: auto;\"/>\n<h2>FHIR North (April 26 2017)</h2>\n<p>This week brings this year&rsquo;s <a href=\"http://fhirnorth.ca\" target=\"_blank\">FHIR North</a> event along with its sister event, <a href=\"http://appsforhealth.ca/\" target=\"_blank\">Apps for Health</a>. These events happen at Mohawk College in Hamilton, Ontario, Canada. </p>\n<p>FHIR North has a great schedule packed with lots of great educational sessions, including seminars on topics such as vocabulary and <a href=\"https://smarthealthit.org/\" target=\"_blank\">SMART on FHIR</a>. It will also be a chance to meet up and chat with all kinds of interesting people about the projects they are doing.</p>\n<p>This will be the 3rd year we have run the FHIR North event, and so far each one has been bigger than the last.</p>\n<p>Naturally, Smile CDR will be represented. We&rsquo;d love to chat with you!</p>\n<h2>Apps for Health (April 27 2017)</h2>\n<p>If you are attending FHIR North, we would highly recommend staying in Hamilton for one more day to attend the fantastic Apps for Health conference on April 27. I&rsquo;ll be presenting as part of a panel with two fascinating people: Ken Stevens of <a href=\"http://www.intelliware.com/\" target=\"_blank\">Intelliware</a>, and Balaji Gopalan of <a href=\"https://www.medstack.co/\" target=\"_blank\">MedStack</a>. I can&rsquo;t wait to hear what they have to say. </p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170314_hl7_fhir_applications_roundtable",
"resource": {
"resourceType": "Communication",
"id": "20170314_hl7_fhir_applications_roundtable",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "HL7"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR North"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Meetings"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Connectathon"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Roundtable"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">Thanks to the organizers of <a href=\"http://www.hl7.org/events/fhir/roundtable/2017/03/index_7.cfm\" target=\"_blank\">HL7 FHIR Applications Roundtable 2017</a> at Duke University for selecting Smile CDR as a presenter.</p>"
},
"status": "completed",
"sent": "2017-03-14T12:30:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#duncan",
"display": "Duncan Weatherston"
},
"payload": [
{
"contentString": "<p>Thanks to the organizers of <a href=\"http://www.hl7.org/events/fhir/roundtable/2017/03/index_7.cfm\" target=\"_blank\">HL7 FHIR Applications Roundtable 2017</a> at Duke University for selecting Smile CDR as a presenter.</p>\n<p>It was a <a href=\"https://twitter.com/hashtag/hl7fhirapps?src=hash\" target=\"_blank\">great turnout</a>, and we got to meet lots of other FHIR solution providers and potential partners. We&rsquo;re excited to be part of a dynamic industry that is &ndash; ahem &ndash; quickly catching <em>FHIR</em>.</p>\n<p>Catch us next at <a href=\"http://www.fhirnorth.ca/\" target=\"_blank\">FHIR North 2017</a>!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170213_see_you_at_himss",
"resource": {
"resourceType": "Communication",
"id": "20170213_see_you_at_himss",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "HIMSS"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Meetings"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Conference"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">We’ll be heading to sunny Orlando for the <a href=\"http://www.himssconference.org/\" target=\"_blank\">Healthcare Information and Management Systems Society</a> (HIMSS) 2017, running Feb. 19-23 at the Orange County Convention Center, and will be in good company with more than 40,000 other health IT professionals, clinicians, executives and vendors from around the world.</p>"
},
"status": "completed",
"sent": "2017-02-13T06:00:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#duncan",
"display": "Duncan Weatherston"
},
"payload": [
{
"contentString": "<p>We’ll be heading to sunny Orlando for the <a href=\"http://www.himssconference.org/\" target=\"_blank\">Healthcare Information and Management Systems Society</a> (HIMSS) 2017, running Feb. 19-23 at the Orange County Convention Center, and will be in good company with more than 40,000 other health IT professionals, clinicians, executives and vendors from around the world.</p>\n<p>If you are going to be at HIMSS, make sure you come visit us at the Innovation Zone at kiosk #7785-73. We’ll be happy to answer your questions on how to get your FHIR projects up and running quickly and cost effectively!</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170208_custom_search_parameters",
"resource": {
"resourceType": "Communication",
"id": "20170208_custom_search_parameters",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "SearchParameters"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "HAPI"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Development"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">HAPI FHIR’s <a href=\"http://hapifhir.io/doc_jpa.html\" target=\"_blank\">JPA Module</a> lets you quickly set up a FHIR server, complete with a database for whatever purpose you might have. </p>"
},
"status": "completed",
"sent": "2017-02-07T20:35:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<p>HAPI FHIR&rsquo;s <a href=\"http://hapifhir.io/doc_jpa.html\" target=\"_blank\">JPA Module</a> lets you quickly set up a FHIR server, complete with a database for whatever purpose you might have. </p>\n<p>One of the most requested features in the last year has been for support of custom search parameters on that server. Out of the box, the JPA server has always supported the default/built-in search parameters that are defined in the FHIR specification.</p>\n<p>This means that if you store a <code>Patient</code> resource in the database, the <code>Patient.gender</code> field will be indexed with a search parameter called <code>gender</code>, the <code>Patient.birthDate</code> field will be indexed with a search parameter called <code>birthdate</code>, etc.</p>\n<p>To see a list of the default search parameters for a given resource, you can see a table near the bottom of any resource definition. For example, <a href=\"https://www.hl7.org/fhir/patient.html#search\" target=\"_blank\">here are the Patient search parameters</a>.</p>\n<h2>The Need for Custom Parameters</h2>\n<p>The built-in parameters are great for lots of situations but if you&rsquo;re building a real application backend then you are probably going to come up with a need that the FHIR specification developers didn&rsquo;t anticipate (or one that doesn&rsquo;t meet FHIR&rsquo;s 80% rule).</p>\n<p>The solution for this is to introduce a custom search parameter. Search parameters are defined using a resource that is &ndash; unsurprisingly &ndash; called <code>SearchParameter</code>. The idea is that you create one of these SearchParameter resources and give it a <code>code</code> (the name of the URL parameter), a <code>type</code> (the search parameter type), and an <code>expression</code> (the FHIRPath expression which will actually be indexed).</p>\n<h2>Custom Parameters in HAPI FHIR JPA</h2>\n<p>In HAPI FHIR&rsquo;s JPA server, custom search parameters are indexed just like any other search parameter. A new mechanism has been introduced in HAPI FHIR 2.3 (to be released soon) that parses the expression, adds any new or updated search parameters to an internal registry of indexed paths, and marks any existing resources that are potential candidates for this new search parameter as requiring reindexing.</p>\n<p>This means that any newly added search parameters will cover resources added after the search parameter was added, and it will also cover older resources after the server has had a chance to reindex them.</p>\n<p>This also means that you definitely want to make sure you have properly secured the <code>/SearchParameter</code> endpoint since it can potentially cause your server to do a lot of extra work if there are a lot of resources present.</p>\n<h2>Taking it for a Spin!</h2>\n<p>To show how this works, here is an example of a search parameter on an extension. We&rsquo;ll suppose that in our system we&rsquo;ve defined an extension for patients&rsquo; eye colour. Patient resources stored in our database will have the eye colour extension set, and we want to be able to search on this extension, too.</p>\n<p><strong>1. Create the Search Parameter</strong> </p>\n<p>First, define a search parameter and upload it to your server. In Java, this looks as follows:</p>\n<pre><code class=\"language-java\">// Create a search parameter definition\rSearchParameter eyeColourSp = new SearchParameter();\reyeColourSp.addBase(&quot;Patient&quot;);\reyeColourSp.setCode(&quot;eyecolour&quot;);\reyeColourSp.setType(org.hl7.fhir.dstu3.model.Enumerations.SearchParamType.TOKEN);\reyeColourSp.setTitle(&quot;Eye Colour&quot;);\reyeColourSp.setExpression(&quot;Patient.extension(&#39;http://acme.org/eyecolour&#39;)&quot;);\reyeColourSp.setXpathUsage(org.hl7.fhir.dstu3.model.SearchParameter.XPathUsageType.NORMAL);\reyeColourSp.setStatus(org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus.ACTIVE);\r\r// Upload it to the server\rclient\r\t.create()\r\t.resource(eyeColourSp)\r\t.execute();\n</code></pre>\n<p>The resulting SearchParameter resource looks as follows:</p>\n<pre><code class=\"language-json\">{\r\t&quot;resourceType&quot;: &quot;SearchParameter&quot;,\r\t&quot;title&quot;: &quot;Eye Colour&quot;,\r\t&quot;base&quot;: [ &quot;Patient&quot; ],\r\t&quot;status&quot;: &quot;active&quot;,\r\t&quot;code&quot;: &quot;eyecolour&quot;,\r\t&quot;type&quot;: &quot;token&quot;,\r\t&quot;expression&quot;: &quot;Patient.extension(&#39;http://acme.org/eyecolour&#39;)&quot;,\r\t&quot;xpathUsage&quot;: &quot;normal&quot;\r}\n</code></pre>\n<p><strong>2. Upload Some Resources</strong></p>\n<p>Let&rsquo;s upload two Patient resources with different eye colours.</p>\n<pre><code class=\"language-java\">Patient p1 = new Patient();\rp1.setActive(true);\rp1.addExtension().setUrl(&quot;http://acme.org/eyecolour&quot;).setValue(new CodeType(&quot;blue&quot;));\rclient\r\t.create()\r\t.resource(p1)\r\t.execute();\r\rPatient p2 = new Patient();\rp2.setActive(true);\rp2.addExtension().setUrl(&quot;http://acme.org/eyecolour&quot;).setValue(new CodeType(&quot;green&quot;));\rclient\r\t.create()\r\t.resource(p2)\r\t.execute();\n</code></pre>\n<p>Here&rsquo;s how one of these resources will look when encoded.</p>\n<pre><code class=\"language-json\">{\r &quot;resourceType&quot;: &quot;Patient&quot;,\r &quot;extension&quot;: [\r {\r &quot;url&quot;: &quot;http://acme.org/eyecolour&quot;,\r &quot;valueCode&quot;: &quot;blue&quot;\r }\r ],\r &quot;active&quot;: true\r}\n</code></pre>\n<p><strong>3. Search!</strong></p>\n<p>Finally, let&rsquo;s try searching:</p>\n<pre><code class=\"language-java\">Bundle bundle = ourClient\r\t.search()\r\t.forResource(Patient.class)\r\t.where(new TokenClientParam(&quot;eyecolour&quot;).exactly().code(&quot;blue&quot;))\r\t.returnBundle(Bundle.class)\r\t.execute();\r\rSystem.out.println(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(bundle));\n</code></pre>\n<p>This produces a search result that contains only the matching resource:</p>\n<pre><code class=\"language-json\">{\r &quot;resourceType&quot;: &quot;Bundle&quot;,\r &quot;id&quot;: &quot;bc89e883-b9f7-4745-8c2f-24bf9277664d&quot;,\r &quot;meta&quot;: {\r &quot;lastUpdated&quot;: &quot;2017-02-07T20:30:05.445-05:00&quot;\r },\r &quot;type&quot;: &quot;searchset&quot;,\r &quot;total&quot;: 1,\r &quot;link&quot;: [\r {\r &quot;relation&quot;: &quot;self&quot;,\r &quot;url&quot;: &quot;http://localhost:45481/fhir/context/Patient?eyecolour=blue&quot;\r }\r ],\r &quot;entry&quot;: [\r {\r &quot;fullUrl&quot;: &quot;http://localhost:45481/fhir/context/Patient/2&quot;,\r &quot;resource&quot;: {\r &quot;resourceType&quot;: &quot;Patient&quot;,\r &quot;id&quot;: &quot;2&quot;,\r &quot;meta&quot;: {\r &quot;versionId&quot;: &quot;1&quot;,\r &quot;lastUpdated&quot;: &quot;2017-02-07T20:30:05.317-05:00&quot;\r },\r &quot;text&quot;: {\r &quot;status&quot;: &quot;generated&quot;,\r &quot;div&quot;: &quot;&lt;div xmlns=\\&quot;http://www.w3.org/1999/xhtml\\&quot;&gt;&lt;table class=\\&quot;hapiPropertyTable\\&quot;&gt;&lt;tbody/&gt;&lt;/table&gt;&lt;/div&gt;&quot;\r },\r &quot;extension&quot;: [\r {\r &quot;url&quot;: &quot;http://acme.org/eyecolour&quot;,\r &quot;valueCode&quot;: &quot;blue&quot;\r }\r ],\r &quot;active&quot;: true\r },\r &quot;search&quot;: {\r &quot;mode&quot;: &quot;match&quot;\r }\r }\r ]\r}\n</code></pre>\n<h2>Custom Search Parameters in Smile CDR</h2>\n<p>Naturally, this feature will soon be available in Smile CDR. Previous versions of Smile CDR had a less elegant solution to this problem; however, now that we have a nice elegant approach to custom parameters that is based on FHIR&rsquo;s own way of handling this, Smile CDR users will see the benefits quickly.</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170201_gitlab_and_exactly_how_to_handle_an_outage",
"resource": {
"resourceType": "Communication",
"id": "20170201_gitlab_and_exactly_how_to_handle_an_outage",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "Outages"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "DevOps"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Git"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<p xmlns=\"http://www.w3.org/1999/xhtml\">I love <a href=\"https://gitlab.com\" target=\"_blank\">GitLab</a>. Let’s get that out of the way.</p>"
},
"status": "completed",
"sent": "2017-02-01T20:37:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<p>I love <a href=\"https://gitlab.com\" target=\"_blank\">GitLab</a>. Let&rsquo;s get that out of the way.</p>\n<p>Back when I first joined the HAPI project, we were using <a href=\"https://en.wikipedia.org/wiki/Concurrent_Versions_System\" target=\"_blank\">CVS</a> for version control, hosted on SourceForge. Sourceforge was at that point a pretty cool system. You got free project hosting for your open source project, a free website, and shell access to a server so you could run scripts, edit your raw website, and whatever else you needed to do. That last part has always amazed me; I&rsquo;ve always wondered what lengths SourceForge must have had to go to in order to keep that system from being abused.</p>\n<p>Naturally, we eventually discovered GitHub and happily moved over there &ndash; and HAPI FHIR remains a happy resident of GitHub. We&rsquo;re now in the progress of migrating the HAPI Hl7v2.x codebase over to <a href=\"https://github.com/hapifhir/hapi-hl7v2/\" target=\"_blank\">a new home on GitHub</a>, too. </p>\n<h2>Along comes GitLab</h2>\n<p>The Smile CDR team discovered GitLab about a year ago. We quickly fell in love: easy self-hosting, a UI that feels familiar to a GitHub user yet somehow slightly more powerful in each part you touch, and a compelling set of features in the enterprise edition as well once you are ready for them.</p>\n<p>On Tuesday afternoon, <a href=\"/about-us#diederik\">Diederik</a> noticed that GitLab was behaving slowly. I was curious about it since GitLab&rsquo;s <a href=\"https://twitter.com/gitlabstatus\" target=\"_blank\">@gitlabstatus</a> Twitter mentioned unknown issues affecting the site. As it turned out, their issues went from bad, to better, and then to much worse. Ultimately, they wound up being unavailable for all of last night and part of this morning.</p>\n<h2>A terrible day for them!</h2>\n<p>GitLab&rsquo;s issues were slightly hilarious but also totally relatable to anyone building and deploying big systems for any length of time. TechCrunch has a nice <a href=\"https://techcrunch.com/2017/02/01/gitlab-suffers-major-backup-failure-after-data-deletion-incident/\" target=\"_blank\">writeup of the incident</a> if you want the gory details. Let&rsquo;s just say they had slowness problems caused by a user abusing the system, and in trying to recover from that a sysadmin accidentally deleted a large amount of production data. Ultimately, he thought he was in a shell on one (bad) node and just removing a useless empty directory but he was actually in a shell on the (good) master node.</p>\n<p>I read a few meltdowns about this on reddit today, calling the sysadmin inexperienced, inept, or worse, but I also saw a few people saying something that resonated with me much more: if you&rsquo;ve never made a mistake on a big complicated production system, you&rsquo;ve probably never worked on a big complicated production system.</p>\n<p>These things happen. The trick is being able to recover from whatever has gone wrong, no matter how bad things have gotten.</p>\n<h2>An exercise in good incident management</h2>\n<img src=\"20170201_gitlab_and_exactly_how_to_handle_an_outage/gitlabfail02.gif\" class=\"PostCaptionTopRight\" style=\"max-width: 500px;\"/>\n<p>This is where GitLab really won me over. Check their <a href=\"https://twitter.com/gitlabstatus\" target=\"_blank\">Twitter</a> for yourself. There was no attempt to mince words. GitLab engineers were candid about what had happened from the second things went south.</p>\n<p>GitLab opened a publicly readable Google Doc where all of the notes of their investigation could be read by anyone wanting to follow along. When it became clear that the recovery effort was going to be long and complicated, they opened a YouTube live stream of a conference bridge with their engineers chipping away at the recovery.</p>\n<p>They even opened a live chat with the stream so you could comment on their efforts. Watching it was great. I&rsquo;ve been in their position many times in my life: tired from being up all night trying to fix something, and sitting on an endless bridge where I&rsquo;m fixing one piece, waiting for others to fix theirs, and trying to keep morale up as best I can. GitLab&rsquo;s engineers did this, and they did it with cameras running.</p>\n<p>So this is the thing: I bet GitLab will be doing a lot of soul-searching in the next few days, and hopefully their tired engineers will get some rest soon. In the end, the inconvenience of this outage will be forgotten but I&rsquo;m sure this won&rsquo;t be the last time I&rsquo;ll point to the way they handled a critical incident with complete transparency, and set my mind at ease that things were under control.</p>"
}
]
}
},
{
"fullUrl": "https://smilecdr.com/blog/fhir/baseDstu3/Communication/20170117_hl7_wgm_san_antonio",
"resource": {
"resourceType": "Communication",
"id": "20170117_hl7_wgm_san_antonio",
"meta": {
"versionId": "1",
"tag": [
{
"system": "https://smilecdr/blog/tag/",
"code": "HL7"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Meetings"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "Connectathon"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "FHIR"
},
{
"system": "https://smilecdr/blog/tag/",
"code": "WGM"
}
]
},
"language": "en",
"text": {
"status": "generated",
"div": "<img xmlns=\"http://www.w3.org/1999/xhtml\">\n<p>It’s January again, which of course means it’s time for the January HL7 Working Group Meeting. As always, the first two days of the HL7 meeting brings FHIR Connectathon, and this was Connectathon 14.</p>\n<p>I feel like every time I visit one of these meetings, the scale of the meeting astounds me and I can’t imagine it being any bigger… and then that happens again the next time. The final tally at the September 2016 (Baltimore) Connectathon was 170 people. The final tally here in San Antonio was 209 so we continue to beat expectations.</p>\n<p>I think we are finally passing a point where it’s feasible to fit everyone in a half-size hotel ballroom. We may well have some hard decisions about whether the format still works or whether we need to turn people away in September.</p>\n<p>Also amazing to me was the number of new faces. On the first day, <a href=\"https://github.com/ewoutkramer\" target=\"_blank\">Ewout Kramer</a> asked the room for anyone who was a first-time attendee to a FHIR Connectathon to raise their hand. It looked like about half the room raised their hand so we’re really expanding the pool of interested people right now. Exciting days for FHIR!</p>\n<p>Monday night brought our usual HAPI &amp; .NET Users Group. We discussed a proposal we’re working on for a template-based approach to automatic resource narrative generation. There will be more on that in a future post.</p></img>"
},
"status": "completed",
"sent": "2017-01-17T18:00:00-05:00",
"sender": {
"reference": "https://smilecdr.com/about_us/#james",
"display": "James Agnew"
},
"payload": [
{
"contentString": "<img src=\"20170117_hl7_wgm_san_antonio/IMG_20170116_214308.jpg\" class=\"PostCaptionTopRight\"/>\n<p>It&rsquo;s January again, which of course means it&rsquo;s time for the January HL7 Working Group Meeting. As always, the first two days of the HL7 meeting brings FHIR Connectathon, and this was Connectathon 14.</p>\n<p>I feel like every time I visit one of these meetings, the scale of the meeting astounds me and I can&rsquo;t imagine it being any bigger&hellip; and then that happens again the next time. The final tally at the September 2016 (Baltimore) Connectathon was 170 people. The final tally here in San Antonio was 209 so we continue to beat expectations.</p>\n<p>I think we are finally passing a point where it&rsquo;s feasible to fit everyone in a half-size hotel ballroom. We may well have some hard decisions about whether the format still works or whether we need to turn people away in September.</p>\n<p>Also amazing to me was the number of new faces. On the first day, <a href=\"https://github.com/ewoutkramer\" target=\"_blank\">Ewout Kramer</a> asked the room for anyone who was a first-time attendee to a FHIR Connectathon to raise their hand. It looked like about half the room raised their hand so we&rsquo;re really expanding the pool of interested people right now. Exciting days for FHIR!</p>\n<p>Monday night brought our usual HAPI &amp; .NET Users Group. We discussed a proposal we&rsquo;re working on for a template-based approach to automatic resource narrative generation. There will be more on that in a future post.</p>"
}
]
}
}
]
}