Beispiel #1
0
        public object FindByID(string entityID)
        {
            PatientAllergyData data = null;

            try
            {
                using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName))
                {
                    List <IMongoQuery> queries = new List <IMongoQuery>();
                    queries.Add(Query.EQ(MEPatientAllergy.IdProperty, ObjectId.Parse(entityID)));
                    IMongoQuery      mQuery = Query.And(queries);
                    MEPatientAllergy mePA   = ctx.PatientAllergies.Collection.Find(mQuery).FirstOrDefault();
                    if (mePA != null)
                    {
                        data = AutoMapper.Mapper.Map <PatientAllergyData>(mePA);
                        // get corresponding allergy name and type.
                        if (data != null)
                        {
                            getAllergyDetails(data, ctx, mePA.AllergyId);
                        }
                    }
                }
                return(data);
            }
            catch (Exception) { throw; }
        }
Beispiel #2
0
        public object FindByPatientId(object request)
        {
            List <PatientAllergyData>      list        = null;
            GetPatientAllergiesDataRequest dataRequest = (GetPatientAllergiesDataRequest)request;

            try
            {
                using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName))
                {
                    List <IMongoQuery> queries = new List <IMongoQuery>();
                    queries.Add(Query.EQ(MEPatientAllergy.PatientIdProperty, ObjectId.Parse(dataRequest.PatientId)));
                    queries.Add(Query.EQ(MEPatientAllergy.DeleteFlagProperty, false));
                    queries.Add(Query.EQ(MEPatientAllergy.TTLDateProperty, BsonNull.Value));
                    if (dataRequest.StatusIds != null && dataRequest.StatusIds.Count > 0)
                    {
                        queries.Add(Query.In(MEPatientAllergy.StatusProperty, new BsonArray(dataRequest.StatusIds)));
                    }
                    IMongoQuery             mQuery = Query.And(queries);
                    List <MEPatientAllergy> mePAs  = ctx.PatientAllergies.Collection.Find(mQuery).ToList();
                    if (mePAs != null && mePAs.Count > 0)
                    {
                        list = new List <PatientAllergyData>();
                        List <ObjectId> aids = new List <ObjectId>();
                        if (dataRequest.TypeIds != null && dataRequest.TypeIds.Count > 0)
                        {
                            // get allergy details by typeId.
                            List <MEAllergy> allergiesByType = ctx.Allergies.Collection.Find(Query.EQ(MEAllergy.TypeIdsProperty, new BsonArray(dataRequest.TypeIds))).ToList();
                            aids = allergiesByType.Select(i => i.Id).ToList();
                        }
                        mePAs.ForEach(p =>
                        {
                            MEPatientAllergy meData = null;
                            if (dataRequest.TypeIds != null && dataRequest.TypeIds.Count > 0)
                            {
                                if (aids.Contains(p.AllergyId))
                                {
                                    meData = p;
                                }
                            }
                            else
                            {
                                meData = p;
                            }
                            if (meData != null)
                            {
                                PatientAllergyData data = AutoMapper.Mapper.Map <PatientAllergyData>(meData);
                                // get corresponding allergy name and type.
                                if (data != null)
                                {
                                    getAllergyDetails(data, ctx, p.AllergyId);
                                }
                                list.Add(data);
                            }
                        });
                    }
                }
                return(list);
            }
            catch (Exception) { throw; }
        }
Beispiel #3
0
 public void UndoDelete(object entity)
 {
     MEPatientAllergy mePA = new MEPatientAllergy(this.UserId)
     {
         TTLDate    = null,
         DeleteFlag = true
     };
 }
Beispiel #4
0
 public void Delete(object entity)
 {
     MEPatientAllergy mePA = new MEPatientAllergy(this.UserId)
     {
         TTLDate    = System.DateTime.UtcNow.AddDays(7),
         DeleteFlag = true
     };
 }
Beispiel #5
0
        public object Update(object entity)
        {
            PutPatientAllergiesDataRequest pa = (PutPatientAllergiesDataRequest)entity;
            PatientAllergyData             pt = pa.PatientAllergiesData[0];
            MEPatientAllergy mePA             = new MEPatientAllergy(pa.UserId);

            mePA.AllergyId  = ObjectId.Parse(pt.AllergyId);
            mePA.SeverityId = ObjectId.Parse(pt.SeverityId);
            mePA.DeleteFlag = pt.DeleteFlag;
            mePA.SourceId   = ObjectId.Parse(pt.SourceId);
            mePA.StatusId   = (Status)pt.StatusId;
            return(true);
        }
Beispiel #6
0
        public object Initialize(object newEntity)
        {
            PutInitializePatientAllergyDataRequest request = (PutInitializePatientAllergyDataRequest)newEntity;
            PatientAllergyData data = null;

            try
            {
                MEPatientAllergy mePA = new MEPatientAllergy(this.UserId)
                {
                    PatientId  = ObjectId.Parse(request.PatientId),
                    AllergyId  = ObjectId.Parse(request.AllergyId),
                    TTLDate    = System.DateTime.UtcNow.AddDays(_initializeDays),
                    SystemName = request.SystemName,
                    DeleteFlag = false
                };

                using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName))
                {
                    ctx.PatientAllergies.Collection.Insert(mePA);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.PatientAllergy.ToString(),
                                             mePA.Id.ToString(),
                                             DataAuditType.Insert,
                                             request.ContractNumber);

                    data = new PatientAllergyData
                    {
                        Id         = mePA.Id.ToString(),
                        PatientId  = mePA.PatientId.ToString(),
                        AllergyId  = mePA.AllergyId.ToString(),
                        SystemName = mePA.SystemName
                    };
                    // get corresponding allergy name and type.
                    getAllergyDetails(data, ctx, mePA.AllergyId);
                }
                return(data);
            }
            catch (Exception) { throw; }
        }
Beispiel #7
0
        public object Initialize(object newEntity)
        {
            PutInitializePatientAllergyDataRequest request = (PutInitializePatientAllergyDataRequest)newEntity;
            PatientAllergyData data = null;
            MEPatientAllergy   mePA = new MEPatientAllergy(this.UserId)
            {
                PatientId  = ObjectId.Parse(request.PatientId),
                AllergyId  = ObjectId.Parse(request.AllergyId),
                TTLDate    = System.DateTime.UtcNow.AddDays(1),
                SystemName = request.SystemName,
                DeleteFlag = false
            };

            data = new PatientAllergyData
            {
                Id         = mePA.Id.ToString(),
                PatientId  = mePA.PatientId.ToString(),
                AllergyId  = mePA.AllergyId.ToString(),
                SystemName = mePA.SystemName
            };
            return(data);
        }