Skip to content

brianpos/FhirFederator

Repository files navigation

Introduction

This is an experimental project to illustrate some options for Federating FHIR services.

It is not intended to be a production solution, but can illustrate execute the expressions as either an extract (for use in search expressions) or validate (for use in StructureDefinition constraints)

Key features:

  • Search across federated servers
  • Provenance resources included
  • Aggregated CapabilityStatement
  • Registration of servers (via endpoint resource)
  • Support for Xml and Json
  • configuration to URL for Registry Services (for validation)

Technically the utility is:

  • built on the Microsoft .NET (dotnet) platform
  • uses the HL7 FHIR reference assemblies
    • Core (NuGet packages starting with Hl7.Fhir.STU3) - contains the FhirClient and parsers
    • Specification (NuGet packages starting with Hl7.Fhir.Specification.STU3) - contains the FHIR Validator
    • FhirPath (NuGet package Hl7.FhirPath) - the FhirPath evaluator, used by the Core and Specification assemblies
    • Support (NuGet package Hl7.Fhir.Support) - a library with interfaces, abstractions and utility methods that are used by the other packages

Member Registration

The member registration is defined using the Endpoint resource, and currently only looks at

  • Name
  • Address
  • PayLoadMimeType

To register a server with the Federator, just put/post an Endpoint resource to the server, along with administer-federation on the query URI

e.g. To register a new demo federation member:

POST http://fhirfederator.azurewebsites.net/Endpoint/demo?administer-federation

(and include in the body the endpoint resource details)

Search

The search will return a Provenance resource for each resource returned from the search, and an OperationOutcome giving a summary of each members contribution to the results (or error details)

Support

Issues can be raised in the GitHub repository at https://github.com/brianpos/fhirpathtester/issues. You are welcome to register your bugs and feature suggestions there. For questions and broader discussions, use the .NET FHIR Implementers chat on Zulip.

Contributing

I would gladly welcome any contributors!

If you want to participate in this project, I'm using Git Flow for branch management, so please submit your commits using pull requests no on the develop branches mentioned above!

GIT branching strategy

Licensing

HL7®, FHIR® and the FHIR Mark® are trademarks owned by Health Level Seven International, registered with the United States Patent and Trademark Office.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published