コード例 #1
0
        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; }
        }
コード例 #2
0
        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; }
        }
コード例 #3
0
        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; }
        }
コード例 #4
0
        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; }
        }
コード例 #5
0
        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; }
        }