Example #1
0
        /// <inheritdoc/>
        public async Task <RequestResult <ImmunizationResult> > GetImmunizations(string bearerToken, int pageIndex = 0)
        {
            RequestResult <PHSAResult <ImmunizationResponse> > delegateResult = await this.immunizationDelegate.GetImmunizations(bearerToken, pageIndex).ConfigureAwait(true);

            if (delegateResult.ResultStatus == ResultType.Success)
            {
                return(new RequestResult <ImmunizationResult>()
                {
                    ResultStatus = delegateResult.ResultStatus,
                    ResourcePayload = new ImmunizationResult()
                    {
                        LoadState = LoadStateModel.FromPHSAModel(delegateResult.ResourcePayload.LoadState),
                        Immunizations = ImmunizationEvent.FromPHSAModelList(delegateResult.ResourcePayload.Result.ImmunizationViews),
                        Recommendations = ImmunizationRecommendation.FromPHSAModelList(delegateResult.ResourcePayload.Result.Recommendations),
                    },
                    PageIndex = delegateResult.PageIndex,
                    PageSize = delegateResult.PageSize,
                    TotalResultCount = delegateResult.TotalResultCount,
                });
            }
            else
            {
                return(new RequestResult <ImmunizationResult>()
                {
                    ResultStatus = delegateResult.ResultStatus,
                    ResultError = delegateResult.ResultError,
                });
            }
        }
        public void ValidateImmunization()
        {
            var mockDelegate = new Mock <IImmunizationDelegate>();
            RequestResult <PHSAResult <ImmunizationResponse> > delegateResult = new RequestResult <PHSAResult <ImmunizationResponse> >()
            {
                ResultStatus    = Common.Constants.ResultType.Success,
                ResourcePayload = new PHSAResult <ImmunizationResponse>()
                {
                    LoadState = new PHSALoadState()
                    {
                        RefreshInProgress = false,
                    },
                    Result = new ImmunizationResponse()
                    {
                        ImmunizationViews = new List <ImmunizationViewResponse>()
                        {
                            new ImmunizationViewResponse()
                            {
                                Id   = Guid.NewGuid(),
                                Name = "MockImmunization",
                                OccurrenceDateTime = DateTime.Now,
                                SourceSystemId     = "MockSourceID"
                            }
                        },
                    },
                },
                PageIndex        = 0,
                PageSize         = 5,
                TotalResultCount = 1,
            };
            RequestResult <ImmunizationResult> expectedResult = new RequestResult <ImmunizationResult>()
            {
                ResultStatus    = delegateResult.ResultStatus,
                ResourcePayload = new ImmunizationResult()
                {
                    LoadState     = LoadStateModel.FromPHSAModel(delegateResult.ResourcePayload.LoadState),
                    Immunizations = ImmunizationEvent.FromPHSAModelList(delegateResult.ResourcePayload.Result.ImmunizationViews),
                },
                PageIndex        = delegateResult.PageIndex,
                PageSize         = delegateResult.PageSize,
                TotalResultCount = delegateResult.TotalResultCount,
            };

            mockDelegate.Setup(s => s.GetImmunizations(It.IsAny <string>(), It.IsAny <int>())).Returns(Task.FromResult(delegateResult));
            IImmunizationService service = new ImmunizationService(new Mock <ILogger <ImmunizationService> >().Object, mockDelegate.Object);

            var actualResult = service.GetImmunizations(string.Empty, 0);

            Assert.True(expectedResult.IsDeepEqual(actualResult.Result));
        }
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as ImmunizationEvaluation;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.ImmunizationEvaluation.ImmunizationEvaluationStatusCodes>)StatusElement.DeepCopy();
            }
            if (Patient != null)
            {
                dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy();
            }
            if (DateElement != null)
            {
                dest.DateElement = (Hl7.Fhir.Model.FhirDateTime)DateElement.DeepCopy();
            }
            if (Authority != null)
            {
                dest.Authority = (Hl7.Fhir.Model.ResourceReference)Authority.DeepCopy();
            }
            if (TargetDisease != null)
            {
                dest.TargetDisease = (Hl7.Fhir.Model.CodeableConcept)TargetDisease.DeepCopy();
            }
            if (ImmunizationEvent != null)
            {
                dest.ImmunizationEvent = (Hl7.Fhir.Model.ResourceReference)ImmunizationEvent.DeepCopy();
            }
            if (DoseStatus != null)
            {
                dest.DoseStatus = (Hl7.Fhir.Model.CodeableConcept)DoseStatus.DeepCopy();
            }
            if (DoseStatusReason != null)
            {
                dest.DoseStatusReason = new List <Hl7.Fhir.Model.CodeableConcept>(DoseStatusReason.DeepCopy());
            }
            if (DescriptionElement != null)
            {
                dest.DescriptionElement = (Hl7.Fhir.Model.FhirString)DescriptionElement.DeepCopy();
            }
            if (SeriesElement != null)
            {
                dest.SeriesElement = (Hl7.Fhir.Model.FhirString)SeriesElement.DeepCopy();
            }
            if (DoseNumberElement != null)
            {
                dest.DoseNumberElement = (Hl7.Fhir.Model.FhirString)DoseNumberElement.DeepCopy();
            }
            if (SeriesDosesElement != null)
            {
                dest.SeriesDosesElement = (Hl7.Fhir.Model.FhirString)SeriesDosesElement.DeepCopy();
            }
            return(dest);
        }
Example #4
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (Patient != null)
            {
                writer.WritePropertyName("patient");
                Patient.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Date))
            {
                writer.WriteString("date", (string)Date !);
            }

            if (_Date != null)
            {
                writer.WritePropertyName("_date");
                _Date.SerializeJson(writer, options);
            }

            if (Authority != null)
            {
                writer.WritePropertyName("authority");
                Authority.SerializeJson(writer, options);
            }

            if (TargetDisease != null)
            {
                writer.WritePropertyName("targetDisease");
                TargetDisease.SerializeJson(writer, options);
            }

            if (ImmunizationEvent != null)
            {
                writer.WritePropertyName("immunizationEvent");
                ImmunizationEvent.SerializeJson(writer, options);
            }

            if (DoseStatus != null)
            {
                writer.WritePropertyName("doseStatus");
                DoseStatus.SerializeJson(writer, options);
            }

            if ((DoseStatusReason != null) && (DoseStatusReason.Count != 0))
            {
                writer.WritePropertyName("doseStatusReason");
                writer.WriteStartArray();

                foreach (CodeableConcept valDoseStatusReason in DoseStatusReason)
                {
                    valDoseStatusReason.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Description))
            {
                writer.WriteString("description", (string)Description !);
            }

            if (_Description != null)
            {
                writer.WritePropertyName("_description");
                _Description.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Series))
            {
                writer.WriteString("series", (string)Series !);
            }

            if (_Series != null)
            {
                writer.WritePropertyName("_series");
                _Series.SerializeJson(writer, options);
            }

            if (DoseNumberPositiveInt != null)
            {
                writer.WriteNumber("doseNumberPositiveInt", (uint)DoseNumberPositiveInt !);
            }

            if (!string.IsNullOrEmpty(DoseNumberString))
            {
                writer.WriteString("doseNumberString", (string)DoseNumberString !);
            }

            if (_DoseNumberString != null)
            {
                writer.WritePropertyName("_doseNumberString");
                _DoseNumberString.SerializeJson(writer, options);
            }

            if (SeriesDosesPositiveInt != null)
            {
                writer.WriteNumber("seriesDosesPositiveInt", (uint)SeriesDosesPositiveInt !);
            }

            if (!string.IsNullOrEmpty(SeriesDosesString))
            {
                writer.WriteString("seriesDosesString", (string)SeriesDosesString !);
            }

            if (_SeriesDosesString != null)
            {
                writer.WritePropertyName("_seriesDosesString");
                _SeriesDosesString.SerializeJson(writer, options);
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }