private bool MapAllergyProperties(AllergyDto allergyDto, Allergy allergy) { var allergySeverityType = _mappingHelper.MapLookupField <AllergySeverityType> (allergyDto.AllergySeverityType); var allergyType = _mappingHelper.MapLookupField <AllergyType> (allergyDto.AllergyType); var allergyStatus = _mappingHelper.MapLookupField <AllergyStatus> (allergyDto.AllergyStatus); CodedConcept allergen = null; if (allergyDto.AllergenCodedConcept != null) { allergen = new CodedConceptBuilder().WithCodedConceptDto(allergyDto.AllergenCodedConcept); } allergy.ReviseAllergySeverityType(allergySeverityType); allergy.ReviseAllergyType(allergyType); allergy.ReviseOnsetDateRange(new DateRange(allergyDto.OnsetStartDate, allergyDto.OnsetEndDate)); allergy.ReviseAllergyStatus(allergyStatus); allergy.ReviseCodedConcept(allergen); // Map reactions var deletedReactions = allergy.AllergyReactions.Where( a => !allergyDto.AllergyReactions.Any(ad => ad.Key == a.Reaction.Key)).ToList(); deletedReactions.ForEach(allergy.DeleteReaction); var addedReactions = allergyDto.AllergyReactions.Where( a => !allergy.AllergyReactions.Any(ad => ad.Reaction.Key == a.Key)).ToList(); addedReactions.ForEach(r => allergy.AddReaction(_mappingHelper.MapLookupField <Reaction> (r))); return(true); }
private void AddAllergy(AllergyDto allergyDto) { var patient = Session.Get <Patient> (_patientKey); var allergyStatus = _mappingHelper.MapLookupField <AllergyStatus> (allergyDto.AllergyStatus); CodedConcept allergen = null; if (allergyDto.AllergenCodedConcept != null) { allergen = new CodedConceptBuilder().WithCodedConceptDto(allergyDto.AllergenCodedConcept); } var allergy = _allergyFactory.CreateAllergy(patient, allergyStatus, allergen); var mapResult = MapAllergyProperties(allergyDto, allergy); _mappingResult &= mapResult; }
private void RemoveAllergy(AllergyDto allergyDto, Allergy allergy) { _allergyFactory.DestroyAllergy(allergy); }
private void ChangeAllergy(AllergyDto allergyDto, Allergy allergy) { var mapResult = MapAllergyProperties(allergyDto, allergy); _mappingResult &= mapResult; }