Skip to content

Namespaces in the API

Ewout Kramer edited this page Jul 16, 2020 · 2 revisions

Hl7.Fhir.ElementModel

Everything about representing complex domain data, without using POCO's. ITypedElement-related stuff (ElementNode, ISourceNode). Basic data types used across datamodels (e.g. FHIR, CDA) and languages (CQL, FhirPath, mapping language)

Sub-namespaces

  • Adapters
  • Types

Hl7.Fhir.Serialization

Everything to read and write a data representation in memory (be it POCO's or ElementModel) to a transferable representation such as a file or string.

Hl7.Fhir.Model

Everything about representing domain data as .NET POCO's

HL7.Fhir.Specification

Everything about representing conformance and datamodel metadata.

Sub-namespaces

  • Source: reading specification source materials as published by HL7
  • Navigation: support for navigating through StructureDefinitions by path and by FhirPath
  • Snapshot: the snapshot generator (for StructureDefinitions) lives here
  • Terminology: functions to support working with terminology and valuesets
  • Summary: functions to quickly access metadata of conformance resources
  • Schema: secondary representation of StructureDefinition data, will be used by new validator (namespace will probably disappear or be moved 2020Q4)

Hl7.Fhir.Rest

Everything around network communication using the FHIR REST protocol

Hl7.Fhir.Introspection

This is currently containing classes to support reflection on POCO's. Probably needs to be integrated in another namespace, like Hl7.Fhir.Model

Hl7.Fhir.Validation

Ideally, HL7.Fhir.Validation should have been integrated with Hl7.Fhir.Specification as Hl7.Fhir.Conformance - but we cannot undo that without needlessly breaking working code. Might become more and more empty as we transfer functionality to the new 3.0 validator.

Hl7.Fhir.Utility

Helper functions, classes and extension methods used across namespaces.

Hl7.Fhir.Language

Support for working with the HL7 DSLs like FhirPath, CQL and the mapping language. Contains support for parsing, grammars, AST, visitors, code generators and the "ModelSpace" type system.

Hl7.FhirPath

Currently, FhirPath compiler and grammar. Parts common to other languages will move to Hl7.Fhir.Language

Clone this wiki locally