public object FindByObservationID(string entityId, string patientId) { PatientObservationData odL = null; try { using (PatientObservationMongoContext ctx = new PatientObservationMongoContext(_dbName)) { List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEPatientObservation.PatientIdProperty, ObjectId.Parse(patientId))); queries.Add(Query.EQ(MEPatientObservation.ObservationIdProperty, ObjectId.Parse(entityId))); queries.Add(Query.EQ(MEPatientObservation.DeleteFlagProperty, false)); queries.Add(Query.EQ(MEPatientObservation.ObservationStateProperty, 2)); queries.Add(Query.EQ(MEPatientObservation.TTLDateProperty, BsonNull.Value)); IMongoQuery mQuery = Query.And(queries); MEPatientObservation o = ctx.PatientObservations.Collection.Find(mQuery).FirstOrDefault(); if (o != null) { odL = new PatientObservationData { Id = o.Id.ToString(), StateId = (int)o.State }; } } return(odL); } catch (Exception) { throw; } }
public object InitializeProblem(object newEntity) { GetInitializeProblemDataRequest request = (GetInitializeProblemDataRequest)newEntity; PatientObservationData patientObservationData = null; MEPatientObservation mePg = null; try { mePg = new MEPatientObservation(this.UserId) { PatientId = ObjectId.Parse(request.PatientId), ObservationId = ObjectId.Parse(request.ObservationId), DeleteFlag = false, TTLDate = GetTTLDate(request.Initial), Display = ObservationDisplay.Primary, State = ObservationState.Active, Source = CareManager, Version = request.Version }; using (PatientObservationMongoContext ctx = new PatientObservationMongoContext(_dbName)) { ctx.PatientObservations.Collection.Insert(mePg); AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.PatientObservation.ToString(), mePg.Id.ToString(), Common.DataAuditType.Insert, request.ContractNumber); IdNamePair oDetails = GetObservationDetails(mePg.ObservationId); patientObservationData = new PatientObservationData { Id = mePg.Id.ToString(), PatientId = mePg.PatientId.ToString(), ObservationId = mePg.ObservationId.ToString(), DeleteFlag = mePg.DeleteFlag, StartDate = mePg.StartDate, EndDate = mePg.EndDate, DisplayId = (int)mePg.Display, StateId = (int)mePg.State, Name = oDetails == null ? null : oDetails.Name, TypeId = oDetails == null ? null : oDetails.Id, }; } return(patientObservationData); } catch (Exception) { throw; } }
public object FindByID(string entityID, bool includeDeletedObservations) { try { PatientObservationData poData = null; List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEPatientObservation.IdProperty, ObjectId.Parse(entityID))); if (!includeDeletedObservations) { queries.Add(Query.EQ(MEPatientObservation.DeleteFlagProperty, false)); queries.Add(Query.EQ(MEPatientObservation.TTLDateProperty, BsonNull.Value)); } IMongoQuery mQuery = Query.And(queries); using (PatientObservationMongoContext ctx = new PatientObservationMongoContext(_dbName)) { MEPatientObservation mePO = ctx.PatientObservations.Collection.Find(mQuery).FirstOrDefault(); if (mePO != null) { poData = new PatientObservationData { Id = mePO.Id.ToString(), PatientId = mePO.PatientId.ToString(), EndDate = mePO.EndDate, ObservationId = mePO.ObservationId.ToString(), Source = mePO.Source, StartDate = mePO.StartDate, StateId = (int)mePO.State, Units = mePO.Units, Values = GetValueList(mePO.NumericValue, mePO.NonNumericValue), LastUpdatedOn = mePO.LastUpdatedOn, DisplayId = (int)mePO.Display, DeleteFlag = mePO.DeleteFlag, DataSource = mePO.DataSource, ExternalRecordId = mePO.ExternalRecordId }; } } return(poData); } catch (Exception) { throw; } }
public object Initialize(object newEntity) { PutInitializeObservationDataRequest request = (PutInitializeObservationDataRequest)newEntity; PatientObservationData patientObservationData = null; MEPatientObservation mePg = null; try { mePg = new MEPatientObservation(this.UserId) { Id = ObjectId.GenerateNewId(), PatientId = ObjectId.Parse(request.PatientId), ObservationId = ObjectId.Parse(request.ObservationId), TTLDate = System.DateTime.UtcNow.AddDays(_initializeDays), DeleteFlag = false, Source = CareManager, StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow, State = ObservationState.Complete, Version = request.Version }; using (PatientObservationMongoContext ctx = new PatientObservationMongoContext(_dbName)) { ctx.PatientObservations.Collection.Insert(mePg); AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.PatientObservation.ToString(), mePg.Id.ToString(), Common.DataAuditType.Insert, request.ContractNumber); patientObservationData = new PatientObservationData { Id = mePg.Id.ToString(), PatientId = mePg.PatientId.ToString() }; } return(patientObservationData); } catch (Exception) { throw; } }
public object FindRecentObservationValue(string observationTypeId, string patientId) { try { PatientObservationData observationData = null; List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEPatientObservation.PatientIdProperty, ObjectId.Parse(patientId))); queries.Add(Query.EQ(MEPatientObservation.ObservationIdProperty, ObjectId.Parse(observationTypeId))); queries.Add(Query.EQ(MEPatientObservation.DeleteFlagProperty, false)); queries.Add(Query.EQ(MEPatientObservation.TTLDateProperty, BsonNull.Value)); IMongoQuery mQuery = Query.And(queries); MEPatientObservation meObservation = null; using (PatientObservationMongoContext ctx = new PatientObservationMongoContext(_dbName)) { meObservation = ctx.PatientObservations.Collection.Find(mQuery).SetSortOrder(SortBy.Descending(MEPatientObservation.StartDateProperty).Descending(MEPatientObservation.LastUpdatedOnProperty)).FirstOrDefault(); if (meObservation != null) { observationData = new PatientObservationData { Id = meObservation.Id.ToString(), PatientId = meObservation.PatientId.ToString(), Values = GetValueList(meObservation.NumericValue, meObservation.NonNumericValue), Source = meObservation.Source != null ? meObservation.Source : null, StartDate = meObservation.StartDate, EndDate = meObservation.EndDate, Units = meObservation.Units != null ? meObservation.Units : null, DataSource = meObservation.DataSource, ExternalRecordId = meObservation.ExternalRecordId }; } } return(observationData as object); } catch (Exception) { throw; } }