public ActionResult Edit([Bind(Include = "ImmId,PatientId,ImmDate,Notes,FilePath,FileContent")] Immunizations immunizations, HttpPostedFileBase file) { // Logger.Log(LogLevel.Debug, "Starting ImmunizationsController Post Edit.", "Patient Id = " + immunizations.PatientId.ToString(), "", ""); if (ModelState.IsValid) { try { string FileExt = Path.GetExtension(file.FileName).ToUpper(); if (FileExt == ".PDF") { Stream str = file.InputStream; BinaryReader Br = new BinaryReader(str); Byte[] FileDet = Br.ReadBytes((Int32)str.Length); immunizations.FilePath = Path.GetFileName(file.FileName); immunizations.FileContent = FileDet; } else { ViewBag.FileStatus = "Invalid file format. Choose a pdf file."; return(View()); } db.Entry(immunizations).State = EntityState.Modified; db.SaveChanges(); // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Post Edit.", "Patient Id = " + immunizations.PatientId.ToString(), "", "Saved changes full path name"); return(RedirectToAction("ImmIndex", "Immunizations", new { id = immunizations.PatientId })); } catch (Exception ex) { } } return(View(immunizations)); }
public async Task <IActionResult> Edit(int id, [Bind("ImmunizationsId,ImmunizationType,DateReceived,AdministeredBy,DateLastTetanus,Comments")] Immunizations immunizations) { if (id != immunizations.ImmunizationsId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(immunizations); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ImmunizationsExists(immunizations.ImmunizationsId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(immunizations)); }
public ActionResult DeleteConfirmed(int id) { Immunizations immunizations = db.Immunizations.Find(id); db.Immunizations.Remove(immunizations); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { // Logger.Log(LogLevel.Debug, "Starting ImmunizationsController Post Delete.", "Patient Id = " + id.ToString(), "", ""); Immunizations immunizations = db.Immunizations.Find(id); db.Immunizations.Remove(immunizations); db.SaveChanges(); // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Post Delete.", "Patient Id = " + id.ToString(), "", "Saved changes"); return(RedirectToAction("ImmIndex", "Immunizations", new { id = immunizations.PatientId })); }
public ActionResult Edit([Bind(Include = "ImmunizationId,VaccineId,DateGiven,AdministratedBy,NextDoesDate,UserId")] Immunizations immunizations) { if (ModelState.IsValid) { db.Entry(immunizations).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.VaccineId = new SelectList(db.Vaccines, "VaccineId", "Name", immunizations.VaccineId); return(View(immunizations)); }
public async Task <IActionResult> Create([Bind("ImmunizationsId,ImmunizationType,DateReceived,AdministeredBy,DateLastTetanus,Comments")] Immunizations immunizations) { if (ModelState.IsValid) { _context.Add(immunizations); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(immunizations)); }
/// <summary> /// Remove the immunization by ID /// </summary> /// <param name="immunizationId">ID of the immunization to remove</param> /// <returns>If the immunization was successfully removed</returns> public bool RemoveImmunization(int immunizationId) { foreach (PatientImmunization immunization in Immunizations) { if (immunization.Id == immunizationId) { Immunizations.Remove(immunization); return(true); } } return(false); }
// GET: Immunizations/Create public ActionResult Create(int id) { //Logger.Log(LogLevel.Debug, "Starting ImmunizationsController Get Create.", "Patient Id = " + id.ToString(), "", ""); var patient = db.Patients.Find(id); Immunizations imm = new Immunizations(); imm.PatientId = id; imm.FullName = patient.FullName; imm.BirthDate = patient.BirthDate; imm.ImmDate = DateTime.Now; // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Get Create.", "Patient Id = " + id.ToString(), "", ""); return(View(imm)); }
// GET: Immunizations/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Immunizations immunizations = db.Immunizations.Find(id); if (immunizations == null) { return(HttpNotFound()); } return(View(immunizations)); }
// GET: Immunizations/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Immunizations immunizations = db.Immunizations.Find(id); if (immunizations == null) { return(HttpNotFound()); } ViewBag.VaccineId = new SelectList(db.Vaccines, "VaccineId", "Name", immunizations.VaccineId); return(View(immunizations)); }
// GET: Immunizations/Details/5 public ActionResult Details(int?id) { // Logger.Log(LogLevel.Debug, "Starting ImmunizationsController Get Details.", "Patient Id = " + id.ToString(), "", ""); if (id == null) { // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Get Details.", "Patient Id = " + id.ToString(), "", "BadRequest"); return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Immunizations immunizations = db.Immunizations.Find(id); if (immunizations == null) { //Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Get Details.", "Patient Id = " + id.ToString(), "", "HttpNotFound"); return(HttpNotFound()); } // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController Get Details.", "Patient Id = " + id.ToString(), "", "immunizations"); return(View(immunizations)); }
public ContinuityOfCareRecord getImmunizations(string appPwd, string patientICN) { Immunizations imm = new Immunizations(); ContinuityOfCareRecord ccr = new ContinuityOfCareRecord() { Body = new ContinuityOfCareRecordBody() }; ccr.Body.Immunizations = new System.Collections.Generic.List <StructuredProductType>(); imm = new CdwPharmacyDao(new CdwConnection(new DataSource() { ConnectionString = "Data Source=VHACDWa01.vha.med.va.gov;Initial Catalog=CDWWork;Trusted_Connection=true", }) { Pid = patientICN }) .getImmunizations("", ""); ccr.Body.Immunizations = imm.Immunization; return(ccr); }
public ActionResult ImmIndex(int id) { // Logger.Log(LogLevel.Debug, "Starting ImmunizationsController ImmIndex.", "Patient Id = " + id.ToString(), "", ""); if (CheckforImmunizations(id) == true) { using (var cn = new SqlConnection(ConfigurationManager.ConnectionStrings["PatientContext"].ConnectionString)) { using (SqlCommand cmd = new SqlCommand("sp_Get_Patient_Imm_List", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@id", SqlDbType.Int).Value = id; cn.Open(); var rdr = cmd.ExecuteReader(); List <Immunizations> model = new List <Immunizations>(); while (rdr.Read()) { var imms = new Immunizations { PatientId = id, FullName = rdr["FullName"].ToString(), ImmId = Convert.ToInt32(rdr["ImmId"]), BirthDate = Convert.ToDateTime(rdr["BirthDate"]), ImmDate = Convert.ToDateTime(rdr["ImmDate"]), Notes = rdr["Notes"].ToString(), FilePath = rdr["FilePath"].ToString() }; model.Add(imms); } return(View("Index", model)); } } // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController ImmIndex.", "Patient Id = " + id.ToString(), "", "iList"); } else { // Logger.Log(LogLevel.Debug, "Returning ImmunizationsController ImmIndex.", "Patient Id = " + id.ToString(), "", "Create"); return(RedirectToAction("Create", new { id = id })); } }
public IHttpActionResult Post(Immunizations value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (value.source == null || value.access_token == 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); } tUserImmunization userImmunization = null; userImmunization = db.tUserImmunizations .SingleOrDefault(x => x.SourceObjectID == value.Id); if (userImmunization == null) { //insert userImmunization = new tUserImmunization(); userImmunization.SourceObjectID = value.Id; userImmunization.UserID = credentialObj.UserID; if (userSourceOrganization != null) { userImmunization.tSourceOrganization = userSourceOrganization; userImmunization.SourceOrganizationID = userSourceOrganization.ID; } userImmunization.tUserSourceService = userSourceServiceObj; userImmunization.UserSourceServiceID = userSourceServiceObj.ID; userImmunization.Name = value.name; if (value.dates != null) { foreach (DateTimeOffset immunDate in value.dates) { tUserImmunizationsDate userImmunDate = new tUserImmunizationsDate(); userImmunDate.DateTime = immunDate; userImmunDate.UserImmunizationID = userImmunization.ID; userImmunDate.SystemStatusID = 1; userImmunization.tUserImmunizationsDates.Add(userImmunDate); } } userImmunization.SystemStatusID = 1; db.tUserImmunizations.Add(userImmunization); } else { if (userSourceOrganization != null) { userImmunization.tSourceOrganization = userSourceOrganization; userImmunization.SourceOrganizationID = userSourceOrganization.ID; } userImmunization.tUserSourceService = userSourceServiceObj; userImmunization.UserSourceServiceID = userSourceServiceObj.ID; userImmunization.Name = value.name; List <tUserImmunizationsDate> existingEntries = db.tUserImmunizationsDates .Where(x => x.UserImmunizationID == userImmunization.ID).ToList(); existingEntries.ForEach(e => e.SystemStatusID = 4); if (value.dates != null) { foreach (DateTimeOffset immunDate in value.dates) { tUserImmunizationsDate userImmunDate = new tUserImmunizationsDate(); userImmunDate.DateTime = immunDate; userImmunDate.UserImmunizationID = userImmunization.ID; userImmunDate.SystemStatusID = 1; userImmunization.tUserImmunizationsDates.Add(userImmunDate); } } userImmunization.LastUpdatedDateTime = DateTime.Now; } //codes if (value.codes != null) { foreach (Codes code in value.codes) { if (code.code != null && code.codeSystem != null) { tCode immunCode = null; immunCode = db.tCodes .SingleOrDefault(x => x.Code == code.code && x.CodeSystem == code.codeSystem); if (immunCode == null) { immunCode = new tCode(); immunCode.Code = code.code; immunCode.CodeSystem = code.codeSystem; immunCode.CodeSystemName = code.codeSystemName; immunCode.Name = code.name; db.tCodes.Add(immunCode); db.SaveChanges(); } tXrefUserImmunizationsCode userXrefImmunCodes = null; userXrefImmunCodes = db.tXrefUserImmunizationsCodes .SingleOrDefault(x => x.CodeID == immunCode.ID && x.UserImmunizationID == userImmunization.ID); if (userXrefImmunCodes == null) { userXrefImmunCodes = new tXrefUserImmunizationsCode(); userXrefImmunCodes.tUserImmunization = userImmunization; userXrefImmunCodes.tCode = immunCode; userXrefImmunCodes.CodeID = immunCode.ID; userXrefImmunCodes.UserImmunizationID = userImmunization.ID; userImmunization.tXrefUserImmunizationsCodes.Add(userXrefImmunCodes); } } } } db.SaveChanges(); dbContextTransaction.Commit(); return(Ok(userImmunization)); } 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)); } } }
internal Immunizations toImmunizations(IDataReader reader) { Immunizations immunizations = new Immunizations(); immunizations.Immunization = new List <StructuredProductType>(); StructuredProductType current = new StructuredProductType(); while (reader.Read()) { Int32 immSid = reader.GetInt32(reader.GetOrdinal("ImmunizationSID")); string immIen = reader.GetString(reader.GetOrdinal("ImmunizationIEN")); Int16 sitecode = reader.GetInt16(reader.GetOrdinal("Sta3n")); string patientIen = getValue(reader, reader.GetOrdinal("PatientIEN")); //string patientSid = getValue(reader, reader.GetOrdinal("PatientSID")); string immunizationName = getValue(reader, reader.GetOrdinal("ImmunizationName")); string immunizationShortName = getValue(reader, reader.GetOrdinal("ImmunizationShortName")); string inactive = getValue(reader, reader.GetOrdinal("ImmunizationInactiveFlag")); string series = getValue(reader, reader.GetOrdinal("Series")); string reaction = getValue(reader, reader.GetOrdinal("Reaction")); string contraindicated = getValue(reader, reader.GetOrdinal("ContraindicatedFlag")); DateTime eventDateTime = reader.IsDBNull(reader.GetOrdinal("EventDateTime")) ? new DateTime() : reader.GetDateTime(reader.GetOrdinal("EventDateTime")); DateTime visitDateTime = reader.IsDBNull(reader.GetOrdinal("VisitDateTime")) ? new DateTime() : reader.GetDateTime(reader.GetOrdinal("VisitDateTime")); DateTime immunizationDateTime = reader.IsDBNull(reader.GetOrdinal("ImmunizationDateTime")) ? new DateTime() : reader.GetDateTime(reader.GetOrdinal("ImmunizationDateTime")); string orderedBy = getValue(reader, reader.GetOrdinal("OrderingStaffIEN")); string comments = getValue(reader, reader.GetOrdinal("Comments")); current.CCRDataObjectID = immSid.ToString(); current.CommentID = new List <string>(); current.CommentID.Add(comments); DateTimeType ts = new DateTimeType() { ExactDateTime = eventDateTime.ToShortDateString(), Type = new CodedDescriptionType() { Text = "EventDateTime" } }; (current.DateTime = new List <DateTimeType>()).Add(ts); (current.Product = new List <StructuredProductTypeProduct>()).Add(new StructuredProductTypeProduct() { ProductName = new CodedDescriptionType() { Text = immunizationName } }); current.Reaction = new Reaction() { Description = new CodedDescriptionType() { Text = reaction } }; current.SeriesNumber = series; ActorReferenceType orderingProvider = new ActorReferenceType() { ActorID = orderedBy }; (current.Source = new List <SourceType>()).Add(new SourceType() { Actor = new List <ActorReferenceType>() }); current.Source[0].Actor.Add(orderingProvider); SourceType site = new SourceType() { ReferenceID = new List <string>() }; site.ReferenceID.Add(sitecode.ToString()); current.Source.Add(site); current.Type = new CodedDescriptionType() { Text = "Immunization" }; immunizations.Immunization.Add(current); current = new StructuredProductType(); } return(immunizations); }
/// <summary> /// Add an immunization to a patient /// </summary> /// <param name="immunization"></param> public void AddImmunization(PatientImmunization immunization) { Immunizations.Add(immunization); }
/// <summary> /// Remove a immunization from a patient /// </summary> /// <param name="immunization">Immunization to remove</param> public void RemoveImmunization(PatientImmunization immunization) { Immunizations.Remove(immunization); }