Example #1
0
        public Response <MedicalHistoryModel> GetAllMedicalConditions(long medicalHistoryID)
        {
            var repository = _unitOfWork.GetRepository <MedicalHistoryConditionModel>(SchemaName.Clinical);

            SqlParameter        medicalHistoryIDParam = new SqlParameter("MedicalHistoryID", medicalHistoryID);
            List <SqlParameter> procParams            = new List <SqlParameter>()
            {
                medicalHistoryIDParam
            };
            var result = repository.ExecuteStoredProc("usp_GetMedicalConditionsByMedicalHistoryID", procParams);

            for (int i = 0; i < result.DataItems.Count; i++)
            {
                if (result.DataItems[i].MedicalHistoryConditionID != null && result.DataItems[i].MedicalHistoryConditionID != 0)
                {
                    var relationshipsResult = GetConditionFamilyRelationships(result.DataItems[i].MedicalHistoryConditionID);
                    result.DataItems[i].Details = relationshipsResult.DataItems;
                }
            }

            var retResult = new Response <MedicalHistoryModel>();
            var dataItem  = new List <MedicalHistoryModel>();

            if (result.DataItems.Count > 0)
            {
                var model = new MedicalHistoryModel();
                model.MedicalHistoryID = medicalHistoryID;
                model.Conditions       = result.DataItems;
                dataItem.Add(model);
            }

            retResult.DataItems = dataItem;
            return(retResult);
        }
        public static MedicalHistoryModel ToModel(this MedicalHistoryViewModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new MedicalHistoryModel
            {
                MedicalHistoryID = entity.MedicalHistoryID,
                EncounterID      = entity.EncounterID,
                ContactID        = entity.ContactID,
                TakenBy          = entity.TakenBy,
                TakenTime        = entity.TakenTime,
                Conditions       = new List <MedicalHistoryConditionModel>(),
                ModifiedOn       = entity.ModifiedOn
            };

            if (entity.Conditions != null)
            {
                entity.Conditions.ForEach(delegate(MedicalHistoryConditionViewModel condition)
                {
                    var transformedModel = condition.ToModel();
                    model.Conditions.Add(transformedModel);
                });
            }

            return(model);
        }
Example #3
0
        private string GenerateRequestXml(MedicalHistoryModel medicalHistory)
        {
            using (StringWriter sWriter = new StringWriter())
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.OmitXmlDeclaration = true;

                using (XmlWriter XWriter = XmlWriter.Create(sWriter))
                {
                    XWriter.WriteStartElement("MedicalHistory");
                    XWriter.WriteElementString("MedicalHistoryID", medicalHistory.MedicalHistoryID.ToString());

                    if (medicalHistory.Conditions != null)
                    {
                        foreach (MedicalHistoryConditionModel condition in medicalHistory.Conditions)
                        {
                            XWriter.WriteStartElement("MedicalHistoryCondition");
                            XWriter.WriteElementString("MedicalHistoryConditionID", condition.MedicalHistoryConditionID.ToString());
                            XWriter.WriteElementString("MedicalConditionID", condition.MedicalConditionID.ToString());
                            XWriter.WriteElementString("HasCondition", condition.HasCondition.ToString());

                            foreach (MedicalHistoryConditionDetailModel detail in condition.Details)
                            {
                                XWriter.WriteStartElement("MedicalHistoryConditionDetail");
                                XWriter.WriteElementString("MedicalHistoryConditionDetailID", detail.MedicalHistoryConditionDetailID.ToString());
                                XWriter.WriteElementString("IsSelf", detail.IsSelf.ToString());
                                if (detail.FamilyRelationshipID > 0)
                                {
                                    XWriter.WriteElementString("FamilyRelationshipID", detail.FamilyRelationshipID.ToString());
                                }
                                if (detail.RelationshipTypeID > 0)
                                {
                                    XWriter.WriteElementString("RelationshipTypeID", detail.RelationshipTypeID.ToString());
                                }
                                XWriter.WriteElementString("FirstName", detail.FirstName ?? string.Empty);
                                XWriter.WriteElementString("LastName", detail.LastName ?? string.Empty);
                                XWriter.WriteElementString("IsDeceased", detail.IsDeceased.ToString());
                                XWriter.WriteElementString("Comments", detail.Comments ?? string.Empty);
                                XWriter.WriteElementString("IsActive", detail.IsActive.ToString());
                                XWriter.WriteEndElement();
                            }

                            XWriter.WriteEndElement();
                        }
                    }

                    XWriter.WriteEndElement();
                }

                return(sWriter.ToString());
            }
        }
Example #4
0
        public Response <MedicalHistoryModel> AddMedicalHistory(MedicalHistoryModel medicalHistory)
        {
            var repository = _unitOfWork.GetRepository <MedicalHistoryModel>(SchemaName.Clinical);

            SqlParameter        contactIDParam   = new SqlParameter("ContactID", medicalHistory.ContactID);
            SqlParameter        encounterIDParam = new SqlParameter("EncounterID", medicalHistory.EncounterID ?? (object)DBNull.Value);
            SqlParameter        takenByParam     = new SqlParameter("TakenBy", medicalHistory.TakenBy);
            SqlParameter        takenTimeParam   = new SqlParameter("TakenTime", medicalHistory.TakenTime);
            SqlParameter        modifiedOnParam  = new SqlParameter("ModifiedOn", medicalHistory.ModifiedOn ?? DateTime.Now);
            List <SqlParameter> procParams       = new List <SqlParameter>()
            {
                contactIDParam, encounterIDParam, takenByParam, takenTimeParam, modifiedOnParam
            };
            var result = _unitOfWork.EnsureInTransaction <Response <MedicalHistoryModel> >(repository.ExecuteNQStoredProc, "usp_AddMedicalHistory", procParams, false, true);

            return(result);
        }
Example #5
0
        public Response <MedicalHistoryModel> SaveMedicalHistoryDetails(MedicalHistoryModel medicalHistory)
        {
            var repository = _unitOfWork.GetRepository <MedicalHistoryModel>(SchemaName.Clinical);

            SqlParameter medicalHistoryXMLParam = new SqlParameter("MedicalHistoryXML", GenerateRequestXml(medicalHistory));
            SqlParameter contactIDParam         = new SqlParameter("ContactID", medicalHistory.ContactID);

            medicalHistoryXMLParam.DbType = DbType.Xml;
            SqlParameter        modifiedOnParam = new SqlParameter("ModifiedOn", medicalHistory.ModifiedOn ?? DateTime.Now);
            List <SqlParameter> procParams      = new List <SqlParameter>()
            {
                medicalHistoryXMLParam, contactIDParam, modifiedOnParam
            };
            var result = _unitOfWork.EnsureInTransaction <Response <MedicalHistoryModel> >(repository.ExecuteNQStoredProc, "usp_SaveMedicalHistoryDetails", procParams);

            return(result);
        }
Example #6
0
        public IHttpActionResult SaveMedicalHistoryDetails(MedicalHistoryModel medicalHistory)
        {
            var response = _medicalHistoryDataProvider.SaveMedicalHistoryDetails(medicalHistory);

            return(new HttpResult <Response <MedicalHistoryModel> >(response, Request));
        }
Example #7
0
        public Response <MedicalHistoryModel> SaveMedicalHistoryDetails(MedicalHistoryModel medicalHistory)
        {
            var apiUrl = BaseRoute + "SaveMedicalHistoryDetails";

            return(_communicationManager.Post <MedicalHistoryModel, Response <MedicalHistoryModel> >(medicalHistory, apiUrl));
        }
Example #8
0
        public Response <MedicalHistoryModel> UpdateMedicalHistory(MedicalHistoryModel medicalHistory)
        {
            var apiUrl = BaseRoute + "UpdateMedicalHistory";

            return(_communicationManager.Post <MedicalHistoryModel, Response <MedicalHistoryModel> >(medicalHistory, apiUrl));
        }
Example #9
0
 public IHttpActionResult SaveMedicalHistoryDetails(MedicalHistoryModel medicalHistory)
 {
     return(new HttpResult <Response <MedicalHistoryModel> >(_medicalHistoryRuleEngine.SaveMedicalHistoryDetails(medicalHistory), Request));
 }
Example #10
0
 public IHttpActionResult UpdateMedicalHistory(MedicalHistoryModel medicalHistory)
 {
     return(new HttpResult <Response <MedicalHistoryModel> >(_medicalHistoryRuleEngine.UpdateMedicalHistory(medicalHistory), Request));
 }
Example #11
0
 public Response <MedicalHistoryModel> SaveMedicalHistoryDetails(MedicalHistoryModel medicalHistory)
 {
     return(_medicalHistoryService.SaveMedicalHistoryDetails(medicalHistory));
 }
Example #12
0
 public Response <MedicalHistoryModel> UpdateMedicalHistory(MedicalHistoryModel medicalHistory)
 {
     return(_medicalHistoryService.UpdateMedicalHistory(medicalHistory));
 }
Example #13
0
 public Response <MedicalHistoryModel> AddMedicalHistory(MedicalHistoryModel medicalHistory)
 {
     return(_medicalHistoryService.AddMedicalHistory(medicalHistory));
 }