public async Task <IHttpActionResult> PuttUserVital(int id, tUserVital tUserVital) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != tUserVital.ID) { return(BadRequest()); } db.Entry(tUserVital).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!tUserVitalExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GettUserVital(int id) { tUserVital tUserVital = await db.tUserVitals.FindAsync(id); if (tUserVital == null) { return(NotFound()); } return(Ok(tUserVital)); }
public async Task <IHttpActionResult> PosttUserVital(tUserVital tUserVital) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.tUserVitals.Add(tUserVital); await db.SaveChangesAsync(); return(Ok(tUserVital)); // return CreatedAtRoute("DefaultApi", new { id = tUserVital.ID }, tUserVital); }
public async Task <IHttpActionResult> SoftDeleteUserVitals(int id, int status) { tUserVital tUserVital = await db.tUserVitals.FindAsync(id); if (tUserVital == null) { return(NotFound()); } tUserVital.SystemStatusID = status; tUserVital.LastUpdatedDateTime = DateTime.Now; await db.SaveChangesAsync(); return(Ok(tUserVital)); }
public async Task <IHttpActionResult> DeletetUserVital(int id) { tUserVital tUserVital = await db.tUserVitals.FindAsync(id); if (tUserVital == null) { return(NotFound()); } db.tUserVitals.Remove(tUserVital); await db.SaveChangesAsync(); return(Ok(tUserVital)); }
public IHttpActionResult Post(BMI value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (value.source == null || value.humanId == null) { return(BadRequest()); } using (var dbContextTransaction = db.Database.BeginTransaction()) { try { tSourceService sourceServiceObj = db.tSourceServices .SingleOrDefault(x => x.ServiceName == value.source && x.SourceID == 5); if (sourceServiceObj == null) { sourceServiceObj = new tSourceService(); sourceServiceObj.ServiceName = value.source; sourceServiceObj.TypeID = 2; //Wellness sourceServiceObj.SourceID = 5; //HumanAPI db.tSourceServices.Add(sourceServiceObj); } tUserSourceService userSourceServiceObj = null; //Get credentials tCredential credentialObj = db.tCredentials.SingleOrDefault(x => x.SourceID == 5 && x.SourceUserID == value.humanId && x.SystemStatusID == 1); if (credentialObj == null) { throw new NoUserCredentialsException("Unable to find any matching HAPI user credentials"); } else { userSourceServiceObj = db.tUserSourceServices.SingleOrDefault( x => x.SourceServiceID == sourceServiceObj.ID && x.CredentialID == credentialObj.ID && x.SystemStatusID == 1); if (userSourceServiceObj == null) { userSourceServiceObj = new tUserSourceService(); userSourceServiceObj.SourceServiceID = sourceServiceObj.ID; userSourceServiceObj.UserID = credentialObj.UserID; userSourceServiceObj.CredentialID = credentialObj.ID; userSourceServiceObj.ConnectedOnDateTime = DateTime.Now; userSourceServiceObj.LastSyncDateTime = DateTime.Now; userSourceServiceObj.LatestDateTime = value.updatedAt; userSourceServiceObj.StatusID = 3; //connected userSourceServiceObj.SystemStatusID = 1; //valid userSourceServiceObj.tCredential = credentialObj; db.tUserSourceServices.Add(userSourceServiceObj); } else { //update LatestDateTime to the most recent datetime if (userSourceServiceObj.LatestDateTime == null || userSourceServiceObj.LatestDateTime < value.updatedAt) { userSourceServiceObj.LatestDateTime = value.updatedAt; } } } tUserVital userVitals = null; userVitals = db.tUserVitals .SingleOrDefault(x => x.SourceObjectID == value.id); if (userVitals == null) { //insert userVitals = new tUserVital(); userVitals.SourceObjectID = value.id; userVitals.UserID = credentialObj.UserID; userVitals.tUserSourceService = userSourceServiceObj; userVitals.UserSourceServiceID = userSourceServiceObj.ID; userVitals.SystemStatusID = 1; userVitals.Name = "Body Mass Index"; userVitals.Value = value.value; //Dates DateTimeOffset dtoStart; if (RESTfulBAL.Models.DynamoDB.Utilities.ConvertToDateTimeOffset(value.timestamp, value.tzOffset, out dtoStart)) { userVitals.ResultDateTime = dtoStart; } else { userVitals.ResultDateTime = value.timestamp; } //UOM if (value.unit != null) { tUnitsOfMeasure uom = null; uom = db.tUnitsOfMeasures.SingleOrDefault(x => x.UnitOfMeasure == value.unit); if (uom == null) { uom = new tUnitsOfMeasure(); uom.UnitOfMeasure = value.unit; db.tUnitsOfMeasures.Add(uom); } userVitals.tUnitsOfMeasure = uom; userVitals.UOMID = uom.ID; } db.tUserVitals.Add(userVitals); } else { //update //Dates DateTimeOffset dtoStart; if (RESTfulBAL.Models.DynamoDB.Utilities.ConvertToDateTimeOffset(value.timestamp, value.tzOffset, out dtoStart)) { userVitals.ResultDateTime = dtoStart; } else { userVitals.ResultDateTime = value.timestamp; } userVitals.Value = value.value; //UOM if (value.unit != null) { tUnitsOfMeasure uom = null; uom = db.tUnitsOfMeasures.SingleOrDefault(x => x.UnitOfMeasure == value.unit); if (uom == null) { uom = new tUnitsOfMeasure(); uom.UnitOfMeasure = value.unit; db.tUnitsOfMeasures.Add(uom); } if (!uom.UnitOfMeasure.Equals(value.unit)) { userVitals.tUnitsOfMeasure = uom; userVitals.UOMID = uom.ID; } } userVitals.LastUpdatedDateTime = DateTime.Now; userVitals.tUserSourceService = userSourceServiceObj; } db.SaveChanges(); dbContextTransaction.Commit(); return(Ok(userVitals)); } catch (Exception ex) { dbContextTransaction.Rollback(); //Insert Error Log tUserDataErrLog userErrorLog = new tUserDataErrLog(); userErrorLog.ErrTypeID = (int)ErrorLogging.enumErrorType.Application; userErrorLog.ErrSourceID = (int)AuditLogging.enumApplication.SFCBAL; userErrorLog.Code = ex.HResult.ToString(); userErrorLog.Description = ex.Message; userErrorLog.Trace = ex.StackTrace; dbErr.tUserDataErrLogs.Add(userErrorLog); dbErr.SaveChanges(); string ErrMsg = "An error occured and we have logged the error. Please try again later."; Exception Err = new Exception(ErrMsg, ex); return(InternalServerError(Err)); } } }
public IHttpActionResult Post(BloodPressure value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (value.source == null || value.humanId == null) { return(BadRequest()); } using (var dbContextTransaction = db.Database.BeginTransaction()) { try { tSourceService sourceServiceObj = db.tSourceServices .SingleOrDefault(x => x.ServiceName == value.source && x.SourceID == 5); if (sourceServiceObj == null) { sourceServiceObj = new tSourceService(); sourceServiceObj.ServiceName = value.source; sourceServiceObj.TypeID = 2; //Wellness sourceServiceObj.SourceID = 5; //HumanAPI db.tSourceServices.Add(sourceServiceObj); } tUserSourceService userSourceServiceObj = null; //Get credentials tCredential credentialObj = db.tCredentials.SingleOrDefault(x => x.SourceID == 5 && x.SourceUserID == value.humanId && x.SystemStatusID == 1); if (credentialObj == null) { throw new NoUserCredentialsException("Unable to find any matching HAPI user credentials"); } else { userSourceServiceObj = db.tUserSourceServices.SingleOrDefault( x => x.SourceServiceID == sourceServiceObj.ID && x.CredentialID == credentialObj.ID && x.SystemStatusID == 1); if (userSourceServiceObj == null) { userSourceServiceObj = new tUserSourceService(); userSourceServiceObj.SourceServiceID = sourceServiceObj.ID; userSourceServiceObj.UserID = credentialObj.UserID; userSourceServiceObj.CredentialID = credentialObj.ID; userSourceServiceObj.ConnectedOnDateTime = DateTime.Now; userSourceServiceObj.LastSyncDateTime = DateTime.Now; userSourceServiceObj.LatestDateTime = value.updatedAt; userSourceServiceObj.StatusID = 3; //connected userSourceServiceObj.SystemStatusID = 1; //valid userSourceServiceObj.tCredential = credentialObj; db.tUserSourceServices.Add(userSourceServiceObj); } else { //update LatestDateTime to the most recent datetime if (userSourceServiceObj.LatestDateTime == null || userSourceServiceObj.LatestDateTime < value.updatedAt) { userSourceServiceObj.LatestDateTime = value.updatedAt; } } } string[] vitalNameArray = { "Systolic Blood Pressure", "Diastolic Blood Pressure", "Heart Rate" }; List <tUserVital> userVitalsArray = new List <tUserVital>(); foreach (string vitalNameItem in vitalNameArray) { tUserVital userVital = null; userVital = db.tUserVitals .SingleOrDefault(x => x.SourceObjectID == value.id && x.Name == vitalNameItem); if (userVital == null) { userVital = new tUserVital(); userVital.tUserSourceService = userSourceServiceObj; userVital.UserID = credentialObj.UserID; userVital.SourceObjectID = value.id; userVital.UserSourceServiceID = sourceServiceObj.ID; userVital.Name = vitalNameItem; switch (vitalNameItem) { case "Systolic Blood Pressure": userVital.Value = decimal.Parse(value.systolic); userVital.UOMID = 470; //mmHg break; case "Diastolic Blood Pressure": userVital.Value = decimal.Parse(value.diastolic); userVital.UOMID = 470; //mmHg break; case "Heart Rate": userVital.Value = decimal.Parse(value.heartRate); userVital.UOMID = 30; //bpm break; } //Dates DateTimeOffset dtoStart; if (RESTfulBAL.Models.DynamoDB.Utilities.ConvertToDateTimeOffset(value.timestamp, value.tzOffset, out dtoStart)) { userVital.ResultDateTime = dtoStart; } else { userVital.ResultDateTime = value.timestamp; } userVital.SystemStatusID = 1; db.tUserVitals.Add(userVital); } else { userVital.Name = vitalNameItem; switch (vitalNameItem) { case "Systolic Blood Pressure": userVital.Value = decimal.Parse(value.systolic); userVital.UOMID = 470; //mm[Hg] break; case "Diastolic Blood Pressure": userVital.Value = decimal.Parse(value.diastolic); userVital.UOMID = 470; //mm[Hg] break; case "Heart Rate": userVital.Value = decimal.Parse(value.heartRate); userVital.UOMID = 30; //bpm break; } //Dates DateTimeOffset dtoStart; if (RESTfulBAL.Models.DynamoDB.Utilities.ConvertToDateTimeOffset(value.timestamp, value.tzOffset, out dtoStart)) { userVital.ResultDateTime = dtoStart; } else { userVital.ResultDateTime = value.timestamp; } userVital.LastUpdatedDateTime = DateTime.Now; userVital.tUserSourceService = userSourceServiceObj; } userVitalsArray.Add(userVital); } db.SaveChanges(); dbContextTransaction.Commit(); return(Ok(userVitalsArray)); } catch (Exception ex) { dbContextTransaction.Rollback(); //Insert Error Log tUserDataErrLog userErrorLog = new tUserDataErrLog(); userErrorLog.ErrTypeID = (int)ErrorLogging.enumErrorType.Application; userErrorLog.ErrSourceID = (int)AuditLogging.enumApplication.SFCBAL; userErrorLog.Code = ex.HResult.ToString(); userErrorLog.Description = ex.Message; userErrorLog.Trace = ex.StackTrace; dbErr.tUserDataErrLogs.Add(userErrorLog); dbErr.SaveChanges(); string ErrMsg = "An error occured and we have logged the error. Please try again later."; Exception Err = new Exception(ErrMsg, ex); return(InternalServerError(Err)); } } }
public IHttpActionResult Post(Vitals value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (value.source == null || value.access_token == null) { return(BadRequest()); } if (value.results == null) { return(BadRequest()); } using (var dbContextTransaction = db.Database.BeginTransaction()) { try { tSourceService sourceServiceObj = db.tSourceServices .SingleOrDefault(x => x.ServiceName == value.source && x.SourceID == 5); if (sourceServiceObj == null) { sourceServiceObj = new tSourceService(); sourceServiceObj.ServiceName = value.source; sourceServiceObj.TypeID = 1; //Medical sourceServiceObj.SourceID = 5; //HumanAPI db.tSourceServices.Add(sourceServiceObj); } tUserSourceService userSourceServiceObj = null; //Get credentials tCredential credentialObj = db.tCredentials.SingleOrDefault(x => x.SourceID == 5 && x.AccessToken == value.access_token && x.SystemStatusID == 1); if (credentialObj == null) { throw new NoUserCredentialsException("Unable to find any matching HAPI user credentials"); } else { userSourceServiceObj = db.tUserSourceServices.SingleOrDefault( x => x.SourceServiceID == sourceServiceObj.ID && x.CredentialID == credentialObj.ID && x.SystemStatusID == 1); if (userSourceServiceObj == null) { userSourceServiceObj = new tUserSourceService(); userSourceServiceObj.SourceServiceID = sourceServiceObj.ID; userSourceServiceObj.UserID = credentialObj.UserID; userSourceServiceObj.CredentialID = credentialObj.ID; userSourceServiceObj.ConnectedOnDateTime = DateTime.Now; userSourceServiceObj.LastSyncDateTime = DateTime.Now; userSourceServiceObj.LatestDateTime = value.updatedAt; userSourceServiceObj.StatusID = 3; //connected userSourceServiceObj.SystemStatusID = 1; //valid userSourceServiceObj.tCredential = credentialObj; db.tUserSourceServices.Add(userSourceServiceObj); } else { //update LatestDateTime to the most recent datetime if (userSourceServiceObj.LatestDateTime == null || userSourceServiceObj.LatestDateTime < value.updatedAt) { userSourceServiceObj.LatestDateTime = value.updatedAt; } } } tSourceOrganization userSourceOrganization = null; if (value.organization != null) { //Get source org userSourceOrganization = db.tSourceOrganizations .Include("tOrganization") .SingleOrDefault(x => x.SourceObjectID == value.organization.id); if (userSourceOrganization == null) { //create org tOrganization userOrganization = new tOrganization(); userOrganization.Name = value.organization.name; //create new source org entry userSourceOrganization = new tSourceOrganization(); userSourceOrganization.SourceObjectID = value.organization.id; userSourceOrganization.tOrganization = userOrganization; userSourceOrganization.OrganizationID = userOrganization.ID; userSourceOrganization.SourceServiceID = sourceServiceObj.ID; db.tSourceOrganizations.Add(userSourceOrganization); } } else { //Get source org via sourceserviceid [hack] userSourceOrganization = db.tSourceOrganizations.SingleOrDefault(x => x.SourceServiceID == sourceServiceObj.ID); } tProvider userApprovingProvider = null; if (value.author != null) { userApprovingProvider = db.tProviders.SingleOrDefault(x => x.Name == value.author && x.OrganizationID == userSourceOrganization.OrganizationID); if (userApprovingProvider == null) { userApprovingProvider = new tProvider(); userApprovingProvider.Name = value.author; if (userSourceOrganization != null) { userApprovingProvider.tOrganization = userSourceOrganization.tOrganization; userApprovingProvider.OrganizationID = userSourceOrganization.tOrganization.ID; } db.tProviders.Add(userApprovingProvider); } } List <tUserVital> userVitalsList = new List <tUserVital>(); //loop foreach (var result in value.results) { tUserVital userVitals = null; userVitals = db.tUserVitals .SingleOrDefault(x => x.SourceObjectID == value.Id && x.Name == result.name); //insert if (userVitals == null) { userVitals = new tUserVital(); userVitals.SourceObjectID = value.Id; userVitals.UserID = credentialObj.UserID; if (userSourceOrganization != null) { userVitals.tSourceOrganization = userSourceOrganization; userVitals.SourceOrganizationID = userSourceOrganization.ID; } userVitals.tUserSourceService = userSourceServiceObj; userVitals.UserSourceServiceID = userSourceServiceObj.ID; if (value.author != null) { userVitals.tProvider = userApprovingProvider; userVitals.ProviderID = userApprovingProvider.ID; } userVitals.Name = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(result.name.ToLower()); userVitals.ResultDateTime = value.dateTime; userVitals.SystemStatusID = 1; //parse value if (result.value == null) { userVitals.Value = 0M; } else { if (result.unit == null && result.value.Split(' ').Length == 2) { StringParser sParse = FindUOM(result.value); if (sParse.matchCount == 1) { userVitals.Value = decimal.Parse(sParse.newValue); userVitals.UOMID = sParse.uomID; result.unit = sParse.newUnit; } else { userVitals.Value = decimal.Parse(result.value); } } else { userVitals.Value = decimal.Parse(result.value); } } //UOM if (result.unit != null) { tUnitsOfMeasure uom = null; uom = db.tUnitsOfMeasures.SingleOrDefault(x => x.UnitOfMeasure == result.unit); if (uom == null) { uom = new tUnitsOfMeasure(); uom.UnitOfMeasure = result.unit; db.tUnitsOfMeasures.Add(uom); db.SaveChanges(); } userVitals.tUnitsOfMeasure = uom; userVitals.UOMID = uom.ID; } //codes if (result.codes != null) { foreach (Codes code in result.codes) { if (code.code != null && code.codeSystem != null) { tCode vitalCode = null; vitalCode = db.tCodes .SingleOrDefault(x => x.Code == code.code && x.CodeSystem == code.codeSystem); if (vitalCode == null) { vitalCode = new tCode(); vitalCode.Code = code.code; vitalCode.CodeSystem = code.codeSystem; vitalCode.CodeSystemName = code.codeSystemName; vitalCode.Name = code.name; db.tCodes.Add(vitalCode); db.SaveChanges(); } tXrefUserVitalsCode userXrefVitalsCodes = null; userXrefVitalsCodes = db.tXrefUserVitalsCodes .SingleOrDefault(x => x.CodeID == vitalCode.ID && x.UserVitalsID == userVitals.ID); if (userXrefVitalsCodes == null) { userXrefVitalsCodes = new tXrefUserVitalsCode(); userXrefVitalsCodes.tUserVital = userVitals; userXrefVitalsCodes.tCode = vitalCode; userXrefVitalsCodes.CodeID = vitalCode.ID; userXrefVitalsCodes.UserVitalsID = userVitals.ID; db.tXrefUserVitalsCodes.Add(userXrefVitalsCodes); } } } } db.tUserVitals.Add(userVitals); } else { //update if (value.author != null) { userVitals.tProvider = userApprovingProvider; userVitals.ProviderID = userApprovingProvider.ID; } userVitals.Name = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(result.name.ToLower()); userVitals.ResultDateTime = value.dateTime; userVitals.tUserSourceService = userSourceServiceObj; userVitals.LastUpdatedDateTime = DateTime.Now; //parse value if (result.value == null) { userVitals.Value = 0M; } else { if (result.unit == null && result.value.Split(' ').Length == 2) { StringParser sParse = FindUOM(result.value); if (sParse.matchCount == 1) { userVitals.Value = decimal.Parse(sParse.newValue); userVitals.UOMID = sParse.uomID; result.unit = sParse.newUnit; } else { userVitals.Value = decimal.Parse(result.value); } } else { userVitals.Value = decimal.Parse(result.value); } } //UOM if (result.unit != null) { tUnitsOfMeasure uom = null; uom = db.tUnitsOfMeasures.SingleOrDefault(x => x.UnitOfMeasure == result.unit); if (uom == null) { uom = new tUnitsOfMeasure(); uom.UnitOfMeasure = result.unit; db.tUnitsOfMeasures.Add(uom); db.SaveChanges(); } userVitals.tUnitsOfMeasure = uom; userVitals.UOMID = uom.ID; } //codes if (result.codes != null) { foreach (Codes code in result.codes) { if (code.code != null && code.codeSystem != null) { tCode vitalCode = null; vitalCode = db.tCodes .SingleOrDefault(x => x.Code == code.code && x.CodeSystem == code.codeSystem); if (vitalCode == null) { vitalCode = new tCode(); vitalCode.Code = code.code; vitalCode.CodeSystem = code.codeSystem; vitalCode.CodeSystemName = code.codeSystemName; vitalCode.Name = code.name; db.tCodes.Add(vitalCode); db.SaveChanges(); } tXrefUserVitalsCode userXrefVitalsCodes = null; userXrefVitalsCodes = db.tXrefUserVitalsCodes .SingleOrDefault(x => x.CodeID == vitalCode.ID && x.UserVitalsID == userVitals.ID); if (userXrefVitalsCodes == null) { userXrefVitalsCodes = new tXrefUserVitalsCode(); userXrefVitalsCodes.tUserVital = userVitals; userXrefVitalsCodes.tCode = vitalCode; userXrefVitalsCodes.CodeID = vitalCode.ID; userXrefVitalsCodes.UserVitalsID = userVitals.ID; db.tXrefUserVitalsCodes.Add(userXrefVitalsCodes); } } } } } userVitalsList.Add(userVitals); } db.SaveChanges(); dbContextTransaction.Commit(); return(Ok(userVitalsList)); } catch (Exception ex) { dbContextTransaction.Rollback(); //Insert Error Log tUserDataErrLog userErrorLog = new tUserDataErrLog(); userErrorLog.ErrTypeID = (int)ErrorLogging.enumErrorType.Application; userErrorLog.ErrSourceID = (int)AuditLogging.enumApplication.SFCBAL; userErrorLog.Code = ex.HResult.ToString(); userErrorLog.Description = ex.Message; userErrorLog.Trace = ex.StackTrace; dbErr.tUserDataErrLogs.Add(userErrorLog); dbErr.SaveChanges(); string ErrMsg = "An error occured and we have logged the error. Please try again later."; Exception Err = new Exception(ErrMsg, ex); return(InternalServerError(Err)); } } }
public async Task <IHttpActionResult> GetUserDataWithNotes(int categoryid, string category) { Models.UserData.UserDataWithNote _retval = new Models.UserData.UserDataWithNote(); tUserDerivedNote _tUserDerivedNote = null; switch (category) { case "Allergies": #region Allergies tUserAllergy _userAllergy = await db.tUserAllergies.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userAllergy.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userAllergy.ID, EndDateTime = _userAllergy.EndDateTime, StartDateTime = _userAllergy.StartDateTime, AllergenID = _userAllergy.AllergenID, ReactionID = _userAllergy.ReactionID, SeverityID = _userAllergy.SeverityID, StatusID = _userAllergy.StatusID, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Care Plans": #region Care Plans tUserCarePlan _userCarePlan = await db.tUserCarePlans.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userCarePlan.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userCarePlan.ID, EndDateTime = _userCarePlan.EndDateTime, StartDateTime = _userCarePlan.StartDateTime, CarePlanTypeID = _userCarePlan.TypeID, CarePlanSpecialtyID = _userCarePlan.SpecialtyID, CarePlanName = _userCarePlan.Name, CarePlanText = _userCarePlan.Text, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Encounters": #region Encounters tUserEncounter _userEncounters = await db.tUserEncounters.FindAsync(categoryid); tUserInstruction _FollowUpIns = await db.tUserInstructions.FindAsync(_userEncounters.FollowUpInstructionID); tUserInstruction _PatientIns = await db.tUserInstructions.FindAsync(_userEncounters.PatientInstructionID); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userEncounters.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userEncounters.ID, EncounterDateTime = _userEncounters.EncounterDateTime, ProviderID = _userEncounters.ProviderID, VisitTypeID = _userEncounters.VisitTypeID, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty, FollowUpInstruction = _FollowUpIns, PatientInstruction = _PatientIns }; #endregion break; case "Functional Statuses": #region Functional Statuses tUserFunctionalStatus _userFunctionalStatus = await db.tUserFunctionalStatuses.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userFunctionalStatus.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userFunctionalStatus.ID, EndDateTime = _userFunctionalStatus.EndDateTime, StartDateTime = _userFunctionalStatus.StartDateTime, Name = _userFunctionalStatus.Name, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Immunizations": #region Immunizations tUserImmunization _userImmunization = await db.tUserImmunizations.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userImmunization.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userImmunization.ID, Name = _userImmunization.Name, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Instructions": #region Instruction tUserInstruction _userInstruction = await db.tUserInstructions.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userInstruction.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userInstruction.ID, Name = _userInstruction.Name, Text = _userInstruction.Text, StartDateTime = _userInstruction.StartDateTime, EndDateTime = _userInstruction.EndDateTime, InstructionTypeID = _userInstruction.InstructionTypeID, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Narratives": #region Narratives tUserNarrative _userNarrative = await db.tUserNarratives.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userNarrative.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userNarrative.ID, ProviderID = _userNarrative.ProviderID, StartDateTime = _userNarrative.StartDateTime, EndDateTime = _userNarrative.EndDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Prescriptions": #region Prescriptions tUserPrescription _userPrescription = await db.tUserPrescriptions.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userPrescription.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, ParentId = _userPrescription.ID, ProviderID = _userPrescription.ProviderID, MedFormID = _userPrescription.MedFormID, FrequencyUOMID = _userPrescription.FrequencyUOMID, StrengthUOMID = _userPrescription.StrengthUOMID, RouteID = _userPrescription.RouteID, PharmacyID = _userPrescription.PharmacyID, Name = _userPrescription.Name, Instructions = _userPrescription.Instructions, ProductName = _userPrescription.ProductName, BrandName = _userPrescription.BrandName, DosageText = _userPrescription.DosageText, DosageValue = _userPrescription.DosageValue, FrequencyValue = _userPrescription.FrequencyValue, StrengthValue = _userPrescription.StrengthValue, RefillsRemaining = _userPrescription.RefillsRemaining, RefillsTotal = _userPrescription.RefillsTotal, ExpirationDateTime = _userPrescription.ExpirationDateTime, StartDateTime = _userPrescription.StartDateTime, EndDateTime = _userPrescription.EndDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Problems": #region Problems tUserProblem _userProblem = await db.tUserProblems.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userProblem.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, Name = _userProblem.Name, ParentId = _userProblem.ID, StartDateTime = _userProblem.StartDateTime, EndDateTime = _userProblem.EndDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Procedures": #region Procedures tUserProcedure _userProcedure = await db.tUserProcedures.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userProcedure.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, Name = _userProcedure.Name, ParentId = _userProcedure.ID, PerformingOrganizationID = _userProcedure.PerformingOrganizationID, DeviceID = _userProcedure.DeviceID, SpecimenID = _userProcedure.SpecimenID, StartDateTime = _userProcedure.StartDateTime, EndDateTime = _userProcedure.EndDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Test Results": #region Test Results tUserTestResult _userTestResult = await db.tUserTestResults.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userTestResult.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, Name = _userTestResult.Name, Comments = _userTestResult.Comments, Narrative = _userTestResult.Narrative, Impression = _userTestResult.Impression, Transcriptions = _userTestResult.Transcriptions, ParentId = _userTestResult.ID, ProviderID = _userTestResult.OrderingProviderID, StatusID = _userTestResult.StatusID, ResultDateTime = _userTestResult.ResultDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; case "Vitals": #region Test Results tUserVital _userVital = await db.tUserVitals.FindAsync(categoryid); _tUserDerivedNote = db.tUserDerivedNotes.FirstOrDefault(a => a.fkObjectID == _userVital.ObjectID); _retval = new Models.UserData.UserDataWithNote() { ID = _tUserDerivedNote != null ? _tUserDerivedNote.ID : -1, Name = _userVital.Name, Value = _userVital.Value, ParentId = _userVital.ID, ProviderID = _userVital.ProviderID, UOMID = _userVital.UOMID, ResultDateTime = _userVital.ResultDateTime, Note = _tUserDerivedNote != null ? _tUserDerivedNote.Note : string.Empty }; #endregion break; default: break; } return(Ok(_retval)); }