Skip to content

Breaking changes in 5.0

Marco Visser edited this page Nov 14, 2022 · 35 revisions

Changes in classes

  • The protected constructor of abstract class BaseFhirClient requires a ModelInspector and fhirVersion. The nullable parameter IStructureDefinitionSummaryProvider has been removed.
  • The static methods BundleToEntryRequest.ToEntryRequest and BundleToEntryRequest.ToEntryRequestAsync require a ModelInspector and fhirVersion
  • The static method TypedEntryResponseToBundle.ToBundleEntry requires a ModelInspector.
  • The class FhirClient is not a partial class anymore.
  • The default parameter IStructureDefinitionSummaryProvider provider of all the constructors of FhirClient have been removed.
  • Obsolete members of FhirClient have been removed (use the FhirClient.Settings property or the settings argument in the constructor instead):
    • VerifyFhirVersion
    • PreferredFormat
    • UseFormatParam
    • Timeout
    • ReturnFullResource
    • PreferredReturn
    • PreferredParameterHandling
    • PreferCompressedResponses
    • CompressRequestBody
    • ParserSettings
    • OnBeforeRequest: add a HttpClientEventHandler or another HttpMessageHandler to the constructor to use this functionality
    • OnAfterResponseRequest: add a HttpClientEventHandler or another HttpMessageHandler to the constructor to use this functionality
  • Obsolete class LegacyFhirClient has been removed.
  • The constructor of classes BaseFhirParser and BaseFhirSerializer requires a ModelInspector.
  • The protected methods BaseFhirParser.MakeElementStack are not static anymore.
  • ModelInfo.ConformanceResources and ModelInfo.ConformanceResourceTypes have been removed.
  • ModelInfo.FhirCoreProfileBaseUri has been removed. Use now Canonical.FHIR_CORE_PROFILE_BASE_URI.
  • Obsolete members ModelInfo.IsProfiledQuantity and ModelInfoExtensions.GetCollectionName have been removed.
  • Partial class `ModelInfo' is not static anymore.
  • ValidationSettings.XsdSchemaCollection is now of type XmlSchemaSet instead of SchemaCollection.
  • SchemaCollection(IArtifactSource) is marked as obsolete, and the constructor will now get the schema from the embedded resource, disregarding the IArtifactSource argument completely.
  • Interface IConformanceSource is now derived from ICommonConformanceSource. And IConformanceSource.FindCodeSystemByValueSet(string) has been moved to this new interface ICommonConformanceSource.
  • Obsolete extension methods of ResourceResolverExtensions has been removed: FindExtensionDefinition, FindStructureDefinition, FindStructureDefinitionForCoreType and FindValueSet.
  • The constructor of ProfileAssertion and ProfilePreprocessor require now a ModelInspector as a parameter.
  • The public method of ProfileAssertion.SetDeclaredType has been removed.
  • The overloaded methods Validate of the class Validator with the parameter ITypedElement requires now a ModelInspector as a parameter.
  • The public method of Validator.IsBindeableFhirType has been removed.
  • The type of property TranslateParameters.ConceptMap has been changed from ConceptMap to `Resource.
  • The type of the parameter conceptMap in TranslateParameters has been changed from ConceptMap to `Resource.
  • The public method ElementDefinitionExtensions.PrimaryTypeCode has been changed to GetTypeCode() and the return type is now string?.

Model (for R4 and higher)

  • The type of CapabilityStatement.Type has been changed to string? (was ResourceType?)
  • The type of CapabilityStatement.TypeElement has been changed to Code (was Code<Hl7.Fhir.Model.ResourceType>)
  • The AllowedTypes attribute has been removed from the following properties:
    • ElementDefinition.Value
    • ElementDefinition.DefaultValue
    • ElementDefinition.Pattern
    • ElementDefinition.Fixed

Classes moved to Common assembly

The following classes/interfaces have been moved to the common assembly Hl7.Fhir.Support.Poco:

Clone this wiki locally