Download - FHIR Client Development with .NET
![Page 2: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/2.jpg)
Brian PostlethwaiteSenior Solutions ArchitectFHIR core team memberFHIR Management Group memberCo-chair HL7 International Patient Administration WorkgroupAuthor of ServD Standard endorsed by the Object Management GroupProviding FHIR guidance to HealthConnex and Telstra HealthContributor of the .net FHIR clientImplementator of reference server sqlonfhirHarley Rider
![Page 3: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/3.jpg)
Based on Modern WEB technologies
Core Resource Model
Defined Wire Format (XML/json)
CRUD
Searching
Extensible
Profilable/Conformance
Natively Supports Distributed data
Supports REST, Messaging, Services, Documents
Shortest ever summary of FHIR
![Page 4: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/4.jpg)
Standards development (HL7)
Software Vendors
Healthcare Providers
Profiling Organizations (IHE)
Open Source Projects/Products
Reference Implementations
Open Test Servers (24x7)
Connectathons
The FHIR Community
![Page 5: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/5.jpg)
.NET 4.0 / .NET 4.5 / PCLXamarin
Fiddler / PostmanVisual Studio 2015NuGet / Package ManagementNotepad++ / fhir extensionWeb BrowserReference Server(s)Online Test Tools (for servers)
projectcrucible, touchstoneFiddlerhttps://nehta-au.github.io/
Platforms and Tools
![Page 6: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/6.jpg)
Versioning
Marketing Version Spec Version
File Version NuGet Package Version
DSTU1 0.0.82 (.2943)
0.11.5
DSTU2 1.0.2 (.7202)
0.90.5 0.90.5-alpha3
May 2016 Connectathon
1.4.0 (.8139)
0.90.5 0.90.5-alpha4
Continuous build 1.4.0 (.8522)
n/a n/a
STU3 Ballot Likely 1.5.0 STU3 Likely 1.6.0 n/a n/a
![Page 7: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/7.jpg)
Versions
Pre-release vs stable
Code on Github
Newtonsoft.Json(highly recommend >= 8.0.3)
NuGET Packages
https://www.nuget.org/packages/Hl7.Fhir.DSTU2/0.90.5-alpha3
![Page 8: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/8.jpg)
Projects
Branches
Contributors
Issues register
Documentation
Getting involved
GitHub
https://github.com/ewoutkramer/fhir-net-api
![Page 9: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/9.jpg)
Models
Serializers / Parsers
REST Client
Basic Validation
Lots of debug visualizers and code comments
ModelInfo – Search Parameters
Core Structures – Support for Extensions
Why use the .NET client?
![Page 10: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/10.jpg)
New Projects?
Legacy Projects?
Exporting Content?
Importing Content?
Where do I start?
![Page 11: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/11.jpg)
Start Simple
Get to know fhir
Use a fiddler/browser on existing servers
Create some content
Export some content from your own system
Consume some content into your own system
Identify resources of interest to you
Where do I start?
https://github.com/ewoutkramer/fhir-net-api
http://hl7.org/fhir/DSTU2/overview-dev.html
![Page 12: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/12.jpg)
DataTypes
Narrative & Display
Extensions (using and defining)
Must Understand & modifiers
References & ResourceIdentity
Contained Resources
Using the REST API
Create/Use Extension Methods
Best Practices
http://hl7.org/fhir/DSTU2/implementation.html#2.0.0.1
![Page 13: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/13.jpg)
StringBuilder textContent = new StringBuilder();
textContent.AppendLine("<div xmlns=\"http://www.w3.org/1999/xhtml\">");
textContent.AppendFormat("<b>{0}</b>\r\n<hr/>\r\n", System.Web.HttpUtility.HtmlEncode(me.Name));
textContent.AppendFormatFHIRFields("version", "{0}", System.Web.HttpUtility.HtmlEncode(versionDetails));
textContent.AppendLine("</div>");
resource.Text = new Narrative();
resource.Text.Status = Narrative.NarrativeStatus.Generated;
resource.Text.Div = textContent.ToString();
Narrative
![Page 14: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/14.jpg)
var pat = new Patient();
pat.Name.Add(new HumanName().WithGiven("Brian").AndFamily("Postlethwaite"));
var org = new Organization();
org.Id = Guid.NewGuid().ToString("n");
org.Name = "HL7 International";
pat.Contained.Add(org);
pat.ManagingOrganization = new ResourceReference()
{
Reference = "#" + org.Id,
Display = org.Name
};
Contained Resources
![Page 15: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/15.jpg)
1. Assembly(s), platforms and projects2. GitHub branches3. NuGET Package(s)4. Don’t need code change to handle extensions/profiles
5. Already in use in production6. Supported and used by multiple vendors today7. Large and Growing community of contributors
8. Can be used server side too
.NET FHIR Client - recap
![Page 16: FHIR Client Development with .NET](https://reader034.vdocument.in/reader034/viewer/2022052514/58a571741a28ab36768b4bb3/html5/thumbnails/16.jpg)
QUESTIONS?