Stream: dotnet
Topic: ImplementationGuide - HowTo?
Harald Sømnes Hanssen (Apr 07 2017 at 11:36):
Hi. I'm looking into Conformance, but came across ImplementationGuide which is probably going to take over for the Conformance class(?). However, I'm finding the examples a bit lacking. They don't give me a clear idea of how it is supposed to be implemented. Is there any good examples of how to implement the metadata for resources and operationdefinitions with an ImplementationGuide?
Muhammad Abubakar Ikram (Apr 07 2017 at 11:39):
I think you want to implement CapabilityStatement please see http://hl7.org/fhir/capabilitystatement.html, CapabilityStatment tells all the capabilities of a server it also contains all the metadata for resources.
Harald Sømnes Hanssen (Apr 07 2017 at 12:06):
Is there an example of how to use it?
Harald Sømnes Hanssen (Apr 07 2017 at 12:11):
I reckon the CapabilityStatement is part of STU3 and not DSTU2
I'm currently using DSTU2 and I'm guessing ImplementationGuide is also a part of the new STU3. Therefore it is the Conformance resource I need handled somehow.
Yunwei Wang (Apr 07 2017 at 12:47):
@Harald Sømnes Hanssen I don't quite get your question. Do you want to create a .NET class for FHIR resources based on metadata?
Muhammad Abubakar Ikram (Apr 07 2017 at 12:55):
You can instantiate an instance of CapabilityStatement using fhir-net-api it has models for all the resources. After instantiation you can serialize also using fhir-net-api and response back to client
Harald Sømnes Hanssen (Apr 07 2017 at 13:28):
What i want, is to create a conformance object which describes the available resources and operations on my FHIR server based on DSTU2
Michel Rutten (Apr 07 2017 at 13:33):
Hi @Harald Sømnes Hanssen, the Conformance (DSTU2) / CapabilityStatement (STU3) resource is intended to describe all the capabilities of a FHIR server. The ImplementationGuide resource on the other hand is intended to describe the output of an ImplementationGuide generator, with references to HTML/Markdown pages, conformance resources and examples that document a specific use case.
Yunwei Wang (Apr 07 2017 at 13:34):
This is a good example about conformance: http://hl7.org/fhir/DSTU2/conformance-phr-example.xml.html
Michel Rutten (Apr 07 2017 at 13:35):
Note that the ImplementationGuide resource is still fairly immature, hence the limited documentation and lack of proper guidance. You are not required to use this resource in the process of creating implementation guides, but it may be useful to you.
Michel Rutten (Apr 07 2017 at 13:36):
@Harald then your server needs to publish an appropriately populated Conformance resource.
Harald Sømnes Hanssen (Apr 07 2017 at 13:45):
Yeah I'm looking at the http://hl7.org/fhir/DSTU2/conformance.html
However, operationdefinitions are a bit tricky to add with the DSTU2 library or I might not understand how to do it. What I'm trying to add is an operationdefintion to a custom query, but I'm not entirely sure how I should do it.
Yunwei Wang (Apr 07 2017 at 13:49):
I had the same headache when I started writing metadata for my terminology service. So I just reference and OperationDefinition in Conformance:
Yunwei Wang (Apr 07 2017 at 13:50):
<operation> <name value="validate-code"/> <definition> <reference value="http://example.com/fhir/OperationDefinition/ValueSet-validate-code"/> </definition> </operation>
Harald Sømnes Hanssen (Apr 07 2017 at 14:00):
How does your conformance look like then?
I've created a Fhir server based on Furores Spark, but without a lot of the MongoDB stuff to make it easier to create independent fhir services. The bit conformance is a major headache though.
The server implementation is here
https://github.com/verzada/FhirStarter
Yunwei Wang (Apr 07 2017 at 14:04):
@Harald Sømnes Hanssen Here is my conformance:
Yunwei Wang (Apr 07 2017 at 14:04):
<Conformance xmlns="http://hl7.org/fhir">
<id value="Example-ValueSet-Service"/>
<url value="http://example.com/fhir/metadata"/>
<name value="Example ValueSet Profile"/>
<status value="draft"/>
<experimental value="true"/>
<publisher value="Example (FHIR Project)"/>
<contact>
<telecom>
<system value="other"/>
<value value="http://www.example.com"/>
</telecom>
</contact>
<description value="Conformance statement for the Example ValueSet Web Service"/>
<acceptUnknown value="no"/>
<format value="xml"/>
<format value="json"/>
<rest>
<mode value="server"/>
<resource>
<type value="ValueSet"/>
<profile>
<reference value="http://hl7.org/fhir/StructureDefinition/ValueSet"/>
</profile>
</resource>
<operation>
<name value="validate-code"/>
<definition>
<reference value="http://example.com/fhir/OperationDefinition/ValueSet-validate-code"/>
</definition>
</operation>
</rest>
</Conformance>
Harald Sømnes Hanssen (Apr 10 2017 at 12:51):
I had forgotten how Conformance worked with OperationDefintion, it all came back to me this morning. What you do is put references (as you did Yunwei) as an url and the url has to be used to get the conformance for the OperationDefinition. Not that obvious.
I've updated my FHIR server implementation on GitHub to support it.
Thank you for the help.
Vasan Jagannathan (Feb 06 2018 at 09:04):
I am new to FHIR implementation and am using Furore's FHIR .NET API -STU3. I have started building STU3 FHIR Server, and in line with SMART requirement, I need to create the Conformance statement for my FHIR Server. The FHIR .NET API examples provided are all related to DSTU2 and has a Conformance model, i am unable to find Conformance model in the STU3 version of the .NET API, can somebody throw some light on this?
Grahame Grieve (Feb 06 2018 at 09:06):
it got renamed to CapabilityStatement
Vasan Jagannathan (Feb 06 2018 at 09:09):
@Grahame Grieve awesome, thanks for your prompt response!!
Vasan Jagannathan (Feb 07 2018 at 12:05):
I am attempting to create a CapabilityStatement in line with http://docs.smarthealthit.org/authorization/conformance-statement/ using FHIR .NET API - STU3, specifically the 'Security' section of the XML format. Need to add Extension to the Security element, more specifically valueUri. When I take a instance of Extension object, I am able to assign the URL property, but having issues with valueUri property, not able to locate it. Any help will be greatly appreciated, thanks in advance for your time and help.
Yunwei Wang (Feb 09 2018 at 00:33):
var extension= new Extension("http://extension-url", new FhirUri("http://value-uri"));
Vasan Jagannathan (Feb 21 2018 at 10:24):
var extension= new Extension("http://extension-url", new FhirUri("http://value-uri"));
Thanks @Yunwei Wang , I tried the above approach, still does not create a valueUri property. Sorry for the late response, was busy with other stuff, and got a chance to try this now.
Last updated: Apr 12 2022 at 19:14 UTC