Beispiel #1
0
        public PutCohortPatientViewDataResponse InsertCohortPatientView(PutCohortPatientViewDataRequest request)
        {
            IPatientRepository repo = Factory.GetRepository(request, RepositoryType.CohortPatientView);

            PutCohortPatientViewDataResponse result = repo.Insert(request) as PutCohortPatientViewDataResponse;

            return(result);
        }
        public object Insert(object newEntity)
        {
            PutCohortPatientViewDataRequest cohortRequest = newEntity as PutCohortPatientViewDataRequest;
            MECohortPatientView             patientView   = null;

            using (PatientMongoContext ctx = new PatientMongoContext(_dbName))
            {
                //Does the patient exist in cohortpatientview?
                IMongoQuery query = Query.And(
                    Query.EQ(MECohortPatientView.PatientIDProperty, ObjectId.Parse(cohortRequest.PatientID)),
                    Query.EQ(MECohortPatientView.LastNameProperty, cohortRequest.LastName));
                patientView = ctx.CohortPatientViews.Collection.FindOneAs <MECohortPatientView>(query);
                if (patientView == null)
                {
                    patientView = new MECohortPatientView(this.UserId)
                    {
                        PatientID  = ObjectId.Parse(cohortRequest.PatientID),
                        LastName   = cohortRequest.LastName,
                        Version    = cohortRequest.Version,
                        DeleteFlag = false
                    };

                    if (cohortRequest.SearchFields != null && cohortRequest.SearchFields.Count > 0)
                    {
                        List <SearchField> fields = new List <SearchField>();
                        foreach (SearchFieldData c in cohortRequest.SearchFields)
                        {
                            fields.Add(new SearchField {
                                Active = c.Active, FieldName = c.FieldName, Value = c.Value
                            });
                        }
                        patientView.SearchFields = fields;
                    }

                    ctx.CohortPatientViews.Collection.Insert(patientView);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.CohortPatientView.ToString(),
                                             patientView.Id.ToString(),
                                             Common.DataAuditType.Insert,
                                             cohortRequest.ContractNumber);
                }
            }

            return(new PutCohortPatientViewDataResponse
            {
                Id = patientView.Id.ToString()
            });
        }
Beispiel #3
0
        public PutCohortPatientViewDataResponse Put(PutCohortPatientViewDataRequest request)
        {
            PutCohortPatientViewDataResponse response = new PutCohortPatientViewDataResponse();

            try
            {
                if (string.IsNullOrEmpty(request.UserId))
                {
                    throw new UnauthorizedAccessException("PatientDD:Put()::Unauthorized Access");
                }

                response         = PatientManager.InsertCohortPatientView(request);
                response.Version = request.Version;
            }
            catch (Exception ex)
            {
                CommonFormatterUtil.FormatExceptionResponse(response, base.Response, ex);

                string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0";
                Helpers.LogException(int.Parse(aseProcessID), ex);
            }
            return(response);
        }
 PutCohortPatientViewDataResponse IPatientDataManager.InsertCohortPatientView(PutCohortPatientViewDataRequest request)
 {
     throw new NotImplementedException();
 }