-
Notifications
You must be signed in to change notification settings - Fork 345
Dependencies and notes of possible things to be moved into Common
PocoBuilder:
-
Base.cs
- IDeepCopyable.cs
- IDeepComparable.cs
- ElementValue.cs
-
Resource.cs
-
ResourceType enum (Template-Binding.cs)
-
FhirUri.cs
- Oid.cs
- Uuid.cs
-
Id.cs
- IStringValue -> IValue.cs
- Primitive.cs
- Element.cs
- IExtendable.cs
- Extention.cs (replaced the AllowedTypes attribute parameters list with [AllowedTypes(typeof(Hl7.Fhir.Model.Element))] ) -> it doesn't work
- IExtendable.cs
- Element.cs
-
Code.cs
-
Meta.cs
- Instant.cs
- Coding.cs
- FhirString.cs
- FhirBoolean.cs
-
ElementDefinition.cs (replaced the AllowedTypes attribute parameters' list with [AllowedTypes(typeof(Hl7.Fhir.Model.Element))] ) -> it doesn't work
- IBackboneElement.cs -> BackboneElement.cs
- Integer.cs
- FHIRDefinedType enum, BindingStrength enum, ResourceType enum (Template-Binding.cs)
- ResourceReference.cs
- Markdown.cs
- fix: move ValidateInvariantRule out
-
OperationOutcome.cs
- DomainResource.cs
- Narrative.cs
- XHtml.cs
- fix: move ValidateInvariantRule as extension method to Constraint component
- Narrative.cs
- CodeableConcept.cs (also the related CodeableConcept code from Initializers.cs)
- DomainResource.cs
-
CodeableConcept.cs
- fix: move ValidateInvariantRule as extension method to Constraint component
-
-
ModelInfo.cs
- SearchParamType enum, ResourceType enum, FHIRDefinedType enum, FhirTypeToCsType enum, SupportedResources enum (Template-Binding.cs/Template-ModelInfo.cs)
- FhirTypeToCsType enum contains types
- SearchParamType enum, ResourceType enum, FHIRDefinedType enum, FhirTypeToCsType enum, SupportedResources enum (Template-Binding.cs/Template-ModelInfo.cs)
-
depends on ModelInfo.GetTypeForFhirType - public Base BuildFrom(ISourceNode source, string dataType)
- it needs to be dependent on ClassMapping
PocoElementNode:
-
Date.cs
-
Time.cs
-
FhirDateTime.cs
-
PositiveInt.cs
-
!! depends on ModelInfo.IsProfiledQuantity - public static string determineInstanceType(object instance, IElementDefinitionSummary summary)
PocoNavigator: - can be removed
- Identifier.cs
- Period.cs
- ContactPoint.cs
- Address.cs
- Questionnaire.cs
- ResourceType enum (Template-Binding.cs)
- QuestionnaireResponse.cs (replaced the AllowedTypes attribute parameters' list with [AllowedTypes(typeof(Hl7.Fhir.Model.Element))] )
- ResourceType enum (Template-Binding.cs) ResourceIdentity.cs:
- ModelInfo.IsKnownResource(ResourceType) in private void parseComponents(string url)
- it's not necessary TransactionBuilder:
- ModelInfo.IsPrimitive(parameter.Value.GetType())
- replace FhirJsonParser:
- ModelInfo.GetFhirTypeNameForType(dataType)
- same as in PocoBuilder PocoStructureDefiinitionSummaryProvider:
- ModelInfo.GetTypeForFhirType(typeName)
- same
FhirClient related should not be in Common FhirClient:
- Bundle.cs
- FhirDecimal.cs
- UnsignedInt.cs
- Signature.cs
- Base64Binary.cs
- Conformance.cs
- Template-Binding.cs
- Parameters.cs (replaced the AllowedTypes attribute parameters' list with [AllowedTypes(typeof(Hl7.Fhir.Model.Element))] )
- ResourceType enum (Template-Binding.cs)
RestOperation:
- ValueSet.cs FhirClientOperations:
- Patient.cs
ElementValue:
- internal struct cannot be accessed from Core anymore. Base -> Resource -> DomainResource, Element, Bundle, Conformance, OperationOutcome, Parameters, Questionnaire, QuestionnaireResponse, ValueSet, ElementDefinition...:
- NamedChildren property is internal
DotNetAttributeValidation
- BuildResult is internal
TransactionBuilder
- InteractionType is internal
- fix: take TransactionBuilder outside Common and copy HISTORY const in ResourceIdentity, also make the const obsolite in TransactionBuilder
PocoElementNode
- internal
- fix: Use i.Annotation instead of PocoElementNode in tests
TokenExtensions
- internal, all of them
- fix: public
PropertyMapping:
- "public set" on Name and IsCollection is not necessary
=====================================================
Add assembly name in the app.config and then import it in the BaseFhirParser
ModelInfo.IsKnownResource(ResourceType) and ModelInfo.SupportedResources should be replaced by a regex that matches if it starts with capital letter
Add IsProfiledQuantity attribute on the needed Properties (that are definded in the ModelInfo.IsProfiledQuantity(typeName) method