FHIR Chat · Publishing extensions · implementers

Stream: implementers

Topic: Publishing extensions


view this post on Zulip Sylvia Freeman (Oct 09 2018 at 01:19):

Hello,
There a number of extensions I had to create for my DSTU2 FHIR profiles that we are providing to a 3rd party vendor that will send us data. Some of them are actually elements in release 3 that weren't in DSTU2 that we needed. The others are for data that did not have any existing elements. I need to publish these extensions but am wondering what is the recommended way to do this.

I pasted content from https://www.hl7.org/fhir/defining-extensions.html below and I don't see where it gives instructions on where to go for the "second registry" that they encourage.
Before extensions can be used in instances, their definition SHALL be published. HL7 maintains two extension registries:
1.HL7 approved extensions, approved by an appropriate part of the HL7 community following a review process, and which have formal standing
2.Provided as a service to the community, where anyone can register an extension
Users are encouraged to register their extensions in the second registry, though this is not required. All that is required is that the extension is published in a context that is available for users of the extension. So, for example, if a particular extension is only used within a single institution, the definition of the extension can be placed on the institution's intranet. However since, by their nature, resources tend to travel well, it's always better to use the HL7 or other publicly accessible extension registries.

The HL7 FHIR registry can be found at http://hl7.org/fhir/registry .

Thank You!
Sylvia

view this post on Zulip Lloyd McKenzie (Oct 09 2018 at 01:25):

The actual registry is here: https://registry.fhir.org/

@Grahame Grieve, can we set up a redirect at the published location?

view this post on Zulip Grahame Grieve (Oct 09 2018 at 03:00):

sure good idea. can you make a task?

view this post on Zulip Lloyd McKenzie (Oct 09 2018 at 04:01):

GF#19342

view this post on Zulip Sylvia Freeman (Oct 09 2018 at 20:43):

When I go to http://hl7.org/fhir/registry and click the Share button (the only button there is), it brings me to Simplifier.net. I actually already had a Simplifier.net account and had uploaded my extensions to my project as drafts. The canonical field just contains "StructureDefinition/extCyclesAndDays" for example. I thought the canonical URL was supposed to be something like "http://hl7.org/fhir/StructureDefinition/birthPlace". Can you help me with the steps I need to take to publish my extension so it can have the proper canonical URL? Thank You! Sylvia

view this post on Zulip Grahame Grieve (Oct 09 2018 at 20:46):

@Michel Rutten

view this post on Zulip Sylvia Freeman (Oct 09 2018 at 21:13):

I think I might have figured it out. Forge allowed me to put "http://hl7.org/fhir/StructureDefinition/carePlanTitle" as the URL. When I upload the extension to Simplifier.net, it's Canonical URL is "http://hl7.org/fhir/StructureDefinition/carePlanTitle". Please let me know if I did this correctly or if there is anything more I need to do. Thank You! Sylvia

view this post on Zulip Michel Rutten (Oct 10 2018 at 14:00):

Hi @Sylvia Freeman, a StructureDefinition should always specify a unique, fully qualified, absolute canonical url, assigned by the author. Simplifier will accept invalid resources with publication status Draft. However if you try to publish a resource with status Active, then Simplifier will make sure it is valid and also enforce a unique canonical url, and otherwise reject it.
A canonical url should start with a domain that is controlled by the organization that is responsible for authoring the profile. The hl7.org domain is reserved for official publications by HL7, so you might want to reconsider using another domain prefix.
Hope this helps, feel free to contact us if you need any more assistance.

view this post on Zulip Martijn Harthoorn (Oct 11 2018 at 09:09):

@Sylvia Freeman , to get resources published on registry.fhir.org, you need to go to your Simplifier project, menu "Settings", choose "Properties" and then at the bottom there is a choice to publish your resources on registry.fhir.org.

view this post on Zulip Martijn Harthoorn (Oct 11 2018 at 09:15):

Of course you already published your resources by putting them on Simplifier.

view this post on Zulip Sylvia Freeman (Oct 31 2018 at 16:51):

Thanks @Michel Rutten ! Sorry for the delay, I was on medical leave. If I am using my organization's domain should that be an external or internal domain (external: http://myorganization.com/fhir/StructureDefinition/componentCategory or internal: http://myorganization.org/fhir/StructureDefinition/componentCategory)? Also, must I publish the extensions to this actual directory on our domain or is it sufficient just to reference it?

view this post on Zulip Michel Rutten (Oct 31 2018 at 17:31):

Hi @Sylvia Freeman, most importantly, choose a domain under your control. When publishing profiles to e.g. https://simplifier.net, you can claim your organizations url to make sure that nobody outside of your organization can publish profiles on Simplifier with a url that is based on your domain. This ensures uniqueness.
FHIR only requires canonical urls to be unique. FHIR does not require you to actually publish your profiles online to the associated canonical url. However if you control the domain, then FHIR encourages you to serve a web page on a profile url describing the profile, as this is convenient for implementers. Just like core profiles such as http://hl7.org/fhir/patient.

view this post on Zulip Lloyd McKenzie (Oct 31 2018 at 18:10):

The expectation for extensions is that if an extension appears in an instance, the receiver of the instance needs to have access to the definition. So if you expect an extension to be visible to consumers from outside your organization, the definitions (and associated value sets) should be as well.

view this post on Zulip Stephanie VS (Jul 26 2021 at 21:20):

Hey! I'm having a hard time figuring out how to define and publish an extension, any good resources out there? Essentially we want to surface cancelation information on an Encounter based on Appt data.

view this post on Zulip Lloyd McKenzie (Jul 26 2021 at 22:43):

Can you expand on more of what you're trying to do? If the appointment is cancelled, why would there be an Encounter at all?


Last updated: Apr 12 2022 at 19:14 UTC