Exemplo n.º 1
0
 private static void ConvertElementDefinition(TargetModel.ElementDefinition to, SourceModel.ElementDefinition from, FhirConverter converter)
 {
     to.DefinitionElement         = converter.ConvertElement <Markdown, Markdown>(from.Definition);
     to.CommentElement            = converter.ConvertElement <Markdown, Markdown>(from.Comment);
     to.RequirementsElement       = converter.ConvertElement <Markdown, Markdown>(from.Requirements);
     to.MeaningWhenMissingElement = converter.ConvertElement <Markdown, Markdown>(from.MeaningWhenMissing);
 }
        private static void ConvertSignature(TargetModel.Signature to, SourceModel.Signature from, FhirConverter converter)
        {
            if (from.Who != null)
            {
                if (from.Who is ResourceReference fromResourceReference)
                {
                    to.Who = converter.ConvertElement <ResourceReference, ResourceReference>(fromResourceReference);
                }
                else if (from.Who is FhirUri fromFhirUri)
                {
                    to.Who = ConvertFhirUriToResourceReference(fromFhirUri, converter);
                }
            }

            if (from.OnBehalfOf != null)
            {
                if (from.OnBehalfOf is ResourceReference fromResourceReference)
                {
                    to.OnBehalfOf = converter.ConvertElement <ResourceReference, ResourceReference>(fromResourceReference);
                }
                else if (from.OnBehalfOf is FhirUri fromFhirUri)
                {
                    to.OnBehalfOf = ConvertFhirUriToResourceReference(fromFhirUri, converter);
                }
            }
        }
Exemplo n.º 3
0
        private static void ConvertDosage(TargetModel.Dosage to, SourceModel.Dosage from, FhirConverter converter)
        {
            var fromDose = from.DoseAndRate.FirstOrDefault(it => it.Dose != null);
            var fromRate = from.DoseAndRate.FirstOrDefault(it => it.Rate != null);

            to.Dose = fromDose == null ? to.Dose : converter.ConvertElement <DataType, DataType>(fromDose.Dose);
            to.Rate = fromRate == null ? to.Rate : converter.ConvertElement <DataType, DataType>(fromRate.Rate);
        }
 private static void ConvertDosage(TargetModel.Dosage to, SourceModel.Dosage from, FhirConverter converter)
 {
     if (from.Dose != null)
     {
         to.DoseAndRate.Add(new TargetModel.Dosage.DoseAndRateComponent {
             Dose = converter.ConvertElement <DataType, DataType>(from.Dose)
         });
     }
     if (from.Rate != null)
     {
         to.DoseAndRate.Add(new TargetModel.Dosage.DoseAndRateComponent {
             Rate = converter.ConvertElement <DataType, DataType>(from.Rate)
         });
     }
 }
 private static void ConvertMoney(TargetModel.Money to, SourceModel.Money from, FhirConverter converter)
 {
     if (from != null)
     {
         to.CurrencyElement = ConvertCodeToCodeMoney(from.CodeElement, converter);
         to.ValueElement    = converter.ConvertElement <FhirDecimal, FhirDecimal>(from.ValueElement);
     }
 }
Exemplo n.º 6
0
        private void ConvertStructureDefinition(TargetModel.StructureDefinition to, SourceModel.StructureDefinition from, FhirConverter converter)
        {
            to.FhirVersionElement = new Id("3.0.2")
            {
                Extension = converter.ConvertList <Extension, Extension>(from.FhirVersionElement?.Extension).ToList()
            };

            var contextTypeElement = from.Context?.FirstOrDefault()?.TypeElement;

            to.ContextTypeElement = converter.ConvertElement <Code <TargetModel.StructureDefinition.ExtensionContext>, Code <SourceModel.StructureDefinition.ExtensionContextType> >(contextTypeElement);
            to.ContextElement     = from.Context.Select(context =>
                                                        converter.ConvertElement <FhirString, FhirString>(context.ExpressionElement)
                                                        ).ToList();

            to.TypeElement = ConvertFhirUriToCode(from.TypeElement, converter);

            to.BaseDefinitionElement = ConvertCanonicalToFhirUri(from.BaseDefinitionElement, converter);
        }
        private static void ConvertStructureDefinition(TargetModel.StructureDefinition to, SourceModel.StructureDefinition from, FhirConverter converter)
        {
            // StructureDefinition.fhirVersion
            to.FhirVersionElement = new Code <TargetModel.FHIRVersion>(TargetModel.FHIRVersion.N4_0_0)
            {
                Extension = converter.ConvertList <Extension, Extension>(from.FhirVersionElement?.Extension).ToList()
            };

            // StructureDefinition.context
            to.Context = from.ContextElement.Select(contextElement =>
                                                    new TargetModel.StructureDefinition.ContextComponent
            {
                TypeElement       = converter.ConvertElement <Code <TargetModel.StructureDefinition.ExtensionContextType>, Code <SourceModel.StructureDefinition.ExtensionContext> >(from.ContextTypeElement),
                ExpressionElement = converter.ConvertElement <FhirString, FhirString>(contextElement)
            }
                                                    ).ToList();

            // StructureDefinition.type
            to.TypeElement = ConvertCodeToFhirUri(from.TypeElement, converter);

            // StructureDefinition.baseDefinition
            to.BaseDefinitionElement = ConvertFhirUriToCanonical(from.BaseDefinitionElement, converter);
        }
Exemplo n.º 8
0
 private static void ConvertQuestionnaireItemComponent(TargetModel.Questionnaire.ItemComponent to, SourceModel.Questionnaire.ItemComponent from, FhirConverter converter)
 {
     to.Initial = converter.ConvertElement <DataType, DataType>(from.Initial.FirstOrDefault()?.Value);
     to.Options = ConvertCanonicalToResourceReference(from.AnswerValueSetElement, converter);
     to.Option  = from.AnswerOption == null ? to.Option : converter.ConvertList <TargetModel.Questionnaire.OptionComponent, SourceModel.Questionnaire.AnswerOptionComponent>(from.AnswerOption).ToList();
 }