-
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 - 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
- CodeableConcept.cs (also the related CodeableConcept code from Initializers.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
- 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 - done.
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