-
Notifications
You must be signed in to change notification settings - Fork 344
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into fix/add_check_on_definition_when_visiting
- Loading branch information
Showing
125 changed files
with
3,886 additions
and
2,088 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -162,6 +162,7 @@ src/Hl7.Fhir.Model/EwoutFhirNetApi.snk | |
sonar-project.properties | ||
src/.vs/ | ||
.vs/ | ||
.idea/ | ||
build/runbuild.txt | ||
|
||
dist/ |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
## Intro: | ||
|
||
Highlights of this new release: | ||
|
||
- The `MultiTerminologyService` has been extended with a routing mechanism, so you can customize which ValueSets should be handled by which service. | ||
- The FhirDateTime, Date and Time types now avoid re-parsing their values for every operation, increasing their performance dramatically. | ||
- Resources now implement `IIdentifiable` and `ICoded` for easy polymorphic access to the identifiers and codes in a resource. See https://docs.fire.ly/projects/Firely-NET-SDK/model/other-features.html. | ||
- Work has been done to use the SDK's POCO's in the upcoming .NET CQL engine. | ||
|
||
Many small improvements |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
using BenchmarkDotNet.Attributes; | ||
using Hl7.Fhir.Model; | ||
using Hl7.Fhir.Utility; | ||
using System; | ||
|
||
#nullable enable | ||
|
||
namespace Firely.Sdk.Benchmarks | ||
{ | ||
[MemoryDiagnoser] | ||
public class EnumUtilityBenchmarks | ||
{ | ||
private static readonly SearchParamType StringSearchParam = SearchParamType.String; | ||
private static readonly Enum StringSearchParamEnum = StringSearchParam; | ||
|
||
[Benchmark] | ||
public string EnumToString() | ||
=> SearchParamType.String.ToString(); | ||
|
||
[Benchmark] | ||
public string? EnumGetName() | ||
=> Enum.GetName(StringSearchParam); | ||
|
||
[Benchmark] | ||
public string EnumUtilityGetLiteral() | ||
=> EnumUtility.GetLiteral(StringSearchParam); | ||
|
||
[Benchmark] | ||
public string EnumUtilityGetLiteralNonGeneric() | ||
=> EnumUtility.GetLiteral(StringSearchParamEnum); | ||
|
||
[Benchmark] | ||
public SearchParamType EnumParse() | ||
=> Enum.Parse<SearchParamType>("String"); | ||
|
||
[Benchmark] | ||
public SearchParamType EnumParseIgnoreCase() | ||
=> Enum.Parse<SearchParamType>("string", true); | ||
|
||
[Benchmark] | ||
public SearchParamType EnumUtilityParseLiteral() | ||
=> EnumUtility.ParseLiteral<SearchParamType>("string")!.Value; | ||
|
||
[Benchmark] | ||
public Enum? EnumUtilityParseLiteralNonGeneric() | ||
=> EnumUtility.ParseLiteral("string", typeof(SearchParamType)); | ||
|
||
[Benchmark] | ||
public SearchParamType EnumUtilityParseLiteralIgnoreCase() | ||
=> EnumUtility.ParseLiteral<SearchParamType>("string", true)!.Value; | ||
|
||
[Benchmark] | ||
public Enum? EnumUtilityParseLiteralIgnoreCaseNonGeneric() | ||
=> EnumUtility.ParseLiteral("string", typeof(SearchParamType), true); | ||
|
||
[Benchmark] | ||
public string? EnumUtilityGetSystem() | ||
=> EnumUtility.GetSystem(StringSearchParam); | ||
|
||
[Benchmark] | ||
public string? EnumUtilityGetSystemNonGeneric() | ||
=> EnumUtility.GetSystem(StringSearchParamEnum); | ||
} | ||
} | ||
#nullable restore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/* | ||
* Copyright (c) 2023, Firely (info@fire.ly) and contributors | ||
* See the file CONTRIBUTORS for details. | ||
* | ||
* This file is licensed under the BSD 3-Clause license | ||
* available at https://raw.githubusercontent.com/FirelyTeam/firely-net-sdk/master/LICENSE | ||
*/ | ||
|
||
using System; | ||
using System.Collections.Generic; | ||
|
||
#nullable enable | ||
|
||
namespace Hl7.Fhir.ElementModel | ||
{ | ||
/// <summary> | ||
/// The base interface for <see cref="ITypedElement"/>."/> | ||
/// </summary> | ||
/// <typeparam name="TDerived"></typeparam> | ||
[Obsolete("WARNING! Intended for internal API usage exclusively, this interface ideally should be kept internal. " + | ||
"However, due to its derivation by the public interface ITypedElement, maintaining its internal status is impossible.")] | ||
public interface IBaseElementNavigator<TDerived> where TDerived : IBaseElementNavigator<TDerived> | ||
{ | ||
/// <summary> | ||
/// Enumerate the child nodes present in the source representation (if any) | ||
/// </summary> | ||
/// <param name="name">Return only the children with the given name.</param> | ||
/// <returns></returns> | ||
IEnumerable<TDerived> Children(string? name = null); | ||
|
||
/// <summary> | ||
/// Name of the node, e.g. "active", "value". | ||
/// </summary> | ||
string Name { get; } | ||
|
||
/// <summary> | ||
/// Type of the node. If a FHIR type, this is just a simple string, otherwise a StructureDefinition url for a type defined as a logical model. | ||
/// </summary> | ||
string InstanceType { get; } | ||
|
||
/// <summary> | ||
/// The value of the node (if it represents a primitive FHIR value) | ||
/// </summary> | ||
/// <remarks> | ||
/// FHIR primitives are mapped to underlying C# types as follows: | ||
/// | ||
/// instant Hl7.Fhir.ElementModel.Types.DateTime | ||
/// time Hl7.Fhir.ElementModel.Types.Time | ||
/// date Hl7.Fhir.ElementModel.Types.Date | ||
/// dateTime Hl7.Fhir.ElementModel.Types.DateTime | ||
/// decimal decimal | ||
/// boolean bool | ||
/// integer int | ||
/// unsignedInt int | ||
/// positiveInt int | ||
/// long/integer64 long (name will be finalized in R5) | ||
/// string string | ||
/// code string | ||
/// id string | ||
/// uri, oid, uuid, | ||
/// canonical, url string | ||
/// markdown string | ||
/// base64Binary string (uuencoded) | ||
/// xhtml string | ||
/// </remarks> | ||
object Value { get; } | ||
} | ||
} | ||
|
||
#nullable restore |
Oops, something went wrong.