Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FHIR Interface Support #2497

Open
GinoCanessa opened this issue Jun 12, 2023 · 0 comments
Open

FHIR Interface Support #2497

GinoCanessa opened this issue Jun 12, 2023 · 0 comments

Comments

@GinoCanessa
Copy link
Contributor

ℹ️ Do you want to ask something or start a discussion, then go here

ℹ️ Is your feature request about Firely Server Facade, please send an email to server@fire.ly or submit a feature request to Jira if you are a paying customer.

Is your feature request related to a problem? Please describe.

With the release of FHIR R5, we have references to 'interfaces', but I cannot find a good way to resolve them in the SDK. For example, the $current-canonical operation is rooted in CanonicalResource, but I do not see a listing of which resources implement CanonicalResource. Thus, I need to manually look up the information in the spec in order to determine which resources should have the operation.

This probably fits as part of a larger discussion on what should be done with the FHIR interfaces in general.

Describe the solution you'd like

For the first part: an annotation in ModelInfo, a property/annotation in the POCOs, and/or a dictionary to lookup which resources map to which FHIR interfaces.

For the second part: decision on the C# class/interface structure that would allow more general use (e.g., .AsCanonicalResource() or (CanonicalResource) casting. I believe any implementation will be a little convoluted because the FHIR interfaces allow things like not specifying an element in a resource that is in the interface. I have some exploration code from when the changes to the FHIR specs were being discussed in this gist.

Describe alternatives you've considered

Manual lookup and tracking by implementers using the SDK.

Additional context
Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants