private void btnDonnerConge_Click(object sender, RoutedEventArgs e) { //Capter l'admission selectionnee Admission admissionSelectionnee = lstAdmissionMedcin.SelectedItem as Admission; //On met la date du conge a la date d'aujourd'hui admissionSelectionnee.Date_du_conge = DateTime.Now; //On cree une variable pour garder le numero du lit a liberer int?numLit = admissionSelectionnee.Numero_Lit; //On met le numero du lit de l'admission a null admissionSelectionnee.Numero_Lit = null; //On va chercher le lit qui doit etre liberer Lit litALiberer = (from l in myBdd.Lits where l.Numero_lit == numLit select l).First() as Lit; litALiberer.Occupe = false; //On essaie d'enregistrer a la bdd try { myBdd.SaveChanges(); //On refresh la liste d'admission lstAdmissionMedcin.DataContext = (from ad in myBdd.Admissions where ad.Date_du_conge == null select ad).ToList(); } catch (Exception) { MessageBox.Show("Erreur! Les modifications n'ont pas ete enregistrer", "Erreur"); } }
public ActionResult Release(int PrisonerId = 0, int AdmissionId = 0) { if (PrisonerId <= 0) { return(HttpNotFound()); } Admission admission = null; if (AdmissionId <= 0) // Get latest admission { admission = GetLatestAdmission(PrisonerId); } else { admission = db.Admissions.Include(o => o.Prisoner).First(o => o.AdmissionId == AdmissionId); } if (admission == null) { Error("Admission record not found!"); return(View()); } AdmissionId = admission.AdmissionId; PopulateDropDowns(admission); ViewBag.DiseaseId = null; // Don't fetch Diseases admission.DateOfRelease = DateTime.Now; return(View(admission)); }
public ActionResult ListAddAdmissions([Bind(Include = "AdmissionDate, ProviderId, AdditionalCosts, TradePrice, ProductId, Count")] Admission newAdmission) { if (ModelState.IsValid) { List <Admission> createdAdmissions = new List <Admission>(); User user = db.Users.Where(n => n.Login == User.Identity.Name).FirstOrDefault(); Admission admission = new Admission(); admission.AdmissionDate = newAdmission.AdmissionDate; admission.CreateDate = DateTime.Now; admission.ProviderId = newAdmission.ProviderId; admission.UserId = user.Id; admission.TradePrice = newAdmission.TradePrice; admission.ProductId = newAdmission.ProductId; admission.Product = db.Products.Where(i => i.Id == newAdmission.ProductId).FirstOrDefault(); admission.Count = newAdmission.Count; if (Session["CreatedAdmissions"] == null) { createdAdmissions.Add(admission); Session["CreatedAdmissions"] = createdAdmissions; } else { (Session["CreatedAdmissions"] as List <Admission>).Add(admission); } return(PartialView(Session["CreatedAdmissions"])); } return(RedirectToAction("Create")); }
/// <summary> /// Implements <see cref="ICheckpointService.GetFull(int?)"/>. /// </summary> public CheckpointDTO GetFull(int?id) { if (id == null) { throw new ValidationException("Не задан ID", ""); } Checkpoint checkpoint = Database.Checkpoint.Get(id.Value); if (checkpoint == null) { throw new ValidationException("Сущность не найдена", ""); } CheckpointDTO result = (CheckpointDTO)checkpoint; Type type = Database.Type.Get(checkpoint.TypeID); List <Admission> admissions = new List <Admission>(); var admissionsQuery = Database.Admission.GetAll(); foreach (var item in Database.CheckpointAdmission.GetAll().Where(x => x.CheckpointID == checkpoint.ID)) { Admission admission = admissionsQuery.Where(y => y.ID == item.AdmissionID).FirstOrDefault(); if (admission == null) { throw new ValidationException("Сущность не найдена", ""); } admissions.Add(admission); } result.Type = (TypeDTO)type ?? throw new ValidationException("Сущность не найдена", ""); result.Admissions = admissions; return(result); }
public ActionResult Index(CheckInOut checkInOut, int PrisonerId = 0) { if (checkInOut.Type == CheckInOutType.PhysicalRemandIn) { Admission admission = null; if (AdmissionId == 0) // Get latest admission { admission = GetLatestAdmission(PrisonerId); if (admission == null) { Error("Admission record not found!"); return(View()); } else { AdmissionId = admission.AdmissionId; } } var routeValues = new { PrisonerId = PrisonerId, AdmissionId = AdmissionId, Remand = 1 }; return(RedirectToAction("Admit", "FIR", routeValues)); } return(View(checkInOut)); }
private void enterButton_Click(object sender, EventArgs e) { Admission admission = new Admission(clientTicket.Id, Form1.me.Id); admission = DBQ.Instance.Insert <Admission>(admission); EmitLoadEvent.Invoke(this, e); }
public Discharge OpportuniticlyLoadDischarge(Admission admission, string recordDate) { DateTime date = DateTime.Parse(recordDate); using (var db = new fasams_db()) { List <Discharge> existing = db.Discharges .Include(x => x.PerformanceOutcomeMeasures) .Include(x => x.Evaluations) .Include(x => x.Diagnoses) .Where(d => d.SourceRecordIdentifier == admission.Discharge_SourceRecordIdentifier) .ToList(); if (existing == null || existing.Count == 0) { return(new Discharge { SourceRecordIdentifier = Guid.NewGuid().ToString(), Diagnoses = new List <Diagnosis>(), Evaluations = new List <Evaluation>() }); } if (existing.Any(i => i.SourceRecordIdentifier == admission.Discharge_SourceRecordIdentifier)) { return(existing.Where(i => i.SourceRecordIdentifier == admission.Discharge_SourceRecordIdentifier).FirstOrDefault()); } return(null); } }
public static void Play(Admission admission, Page oldPage, Page newPage) { busing = true; current = admission; current.Play(oldPage, newPage); UpdateManager.Add(proxy); }
public ActionResult AdmitMedical(int PrisonerId = 0, int AdmissionId = 0) { if (PrisonerId <= 0) { return(HttpNotFound()); } Admission admission = null; if (AdmissionId <= 0) // Get latest admission { admission = GetLatestAdmission(PrisonerId); } else { admission = db.Admissions.Include(o => o.Prisoner).First(o => o.AdmissionId == AdmissionId); } if (admission == null) { Error("Admission record not found!"); return(View()); } AdmissionId = admission.AdmissionId; PopulateDropDowns(admission); ViewBag.BarrackId = null; // Don't fetch Barracks return(View(admission)); }
public ActionResult Admit(int PrisonerId = 0, int AdmissionId = 0) { if (PrisonerId <= 0) { return(HttpNotFound()); } Admission admission = null; if (AdmissionId > 0) { admission = db.Admissions.First(o => o.AdmissionId == AdmissionId); } else { // Find any incomplete admissions admission = db.Admissions.FirstOrDefault(o => o.PrisonerId == PrisonerId && o.IsComplete == false); if (admission == null) // Its a new admission! { admission = new Admission(); } } PopulateDropDowns(admission); ViewBag.DiseaseId = null; // Don't fetch Diseases return(View(admission)); }
public ActionResult Release(Admission admission) { ModelState.Clear(); if (admission.DateOfRelease == null) { ModelState.AddModelError("DateOfRelease", "Date Of Release is Required"); } if (string.IsNullOrWhiteSpace(admission.AuthorityForRelease) == true) { ModelState.AddModelError("AuthorityForRelease", "Authority For Release is Required"); } if (admission.JudgeTypeId == null) { ModelState.AddModelError("JudgeTypeId", "Judge Type is Required"); } if (ModelState.IsValid) // if valid { var a = db.Admissions.Include(o => o.Prisoner).First(o => o.AdmissionId == admission.AdmissionId); a.DateOfRelease = admission.DateOfRelease; a.JudgeTypeId = admission.JudgeTypeId; a.DecisionStatus = admission.DecisionStatus; a.AuthorityForRelease = admission.AuthorityForRelease; a.Remarks = admission.Remarks; a.Prisoner.Status = PrisonerStatus.Released; var releaseCheckOut = db.CheckInOuts.OrderByDescending(o => o.DateOfCheckInOut).FirstOrDefault(o => o.AdmissionId == admission.AdmissionId && o.Type == CheckInOutType.Release); if (releaseCheckOut != null) { releaseCheckOut.DateOfCheckInOut = admission.DateOfRelease.Value; } else { releaseCheckOut = new CheckInOut(); db.CheckInOuts.Add(releaseCheckOut); } releaseCheckOut.PrisonerId = admission.PrisonerId; releaseCheckOut.AdmissionId = admission.AdmissionId; releaseCheckOut.PrisonerNumber = admission.PrisonerNumber; releaseCheckOut.JudgeTypeId = admission.JudgeTypeId; releaseCheckOut.Status = CheckInOutStatus.CheckOut; releaseCheckOut.Type = CheckInOutType.Release; releaseCheckOut.DateOfCheckInOut = admission.DateOfRelease.Value; releaseCheckOut.Authority = admission.AuthorityForRelease; releaseCheckOut.Description = admission.Remarks; db.SaveChanges(); return(RedirectToAction("Details", "Prisoner")); } PopulateDropDowns(admission); return(View(admission)); }
public JsonResult ApproveAdmission(AdmissionActionModel admissionActionModel) { JsonResult jsonResult = new JsonResult(); var OldAdmission = service.GetByID(admissionActionModel.AdmissionID); if (OldAdmission != null) { Admission admission = new Admission() { AdmissionID = OldAdmission.AdmissionID, StudentID = OldAdmission.StudentID, CourseID = OldAdmission.CourseID, IsConfirmed = true, UserID = UserHelperInfo.GetUserId(), ModifiedOn = DateTime.Now, IP = UserInfo.IP(), Agent = UserInfo.Agent(), Location = UserInfo.Location() }; var(IsTrue, Msg) = service.ApproveAdmission(admission); jsonResult.Data = new { Success = IsTrue, Message = Msg }; } else { jsonResult.Data = new { Success = false, Message = "No Admission Found In DB" }; } return(jsonResult); }
public static void LoadData(string start, string end) { _roles = new List <Roles>(Roles.ListRoles()); _patients = new List <Patient>(Patient.ListPatients()); _users = new List <Users>(Users.ListUsers()); _events = new List <Events>(Events.ListEvents()); _clinics = new List <Clinics>(Clinics.ListClinic()); _branch = new List <Branch>(Branch.ListBranch()); _queues = new List <Queue>(Queue.ListQueue()); _admit = new List <Admission>(Admission.ListAdmission()); _wards = new List <Wards>(Wards.ListWards()); _departments = new List <Departments>(Departments.ListDepartment()); _procedures = new List <Procedures>(Procedures.ListProcedures()); _operations = new List <Operations>(Operations.ListOperations()); _specimens = new List <Specimens>(Specimens.ListSpecimens()); _tests = new List <Tests>(Tests.ListTests()); _disciplines = new List <Discipline>(Discipline.ListDiscipline()); _beds = new List <Beds>(Beds.ListBeds()); _categories = new List <Category>(Category.ListCategory()); _cds = new List <Cd10>(Cd10.ListCd10()); _items = new List <Item>(Item.ListItem()); _stocks = new List <Stock>(Stock.ListStock()); _dosages = new List <Dosage>(Dosage.ListDosage()); _transactors = new List <Transactor>(Transactor.ListTransactors()); // _services = new List<Services>(Services.ListServices()); // _diagnosis = new List<Diagnosis>(Diagnosis.ListDiagnosis()); _rooms = new List <Room>(Room.ListRoom()); // _vitals = new List<Vitals>(Vitals.ListVitals()); _org = new List <Organisation>(Organisation.ListOrganisation()); }
public ActionResult ReleaseMedical(Admission admission) { ModelState.Clear(); if (string.IsNullOrWhiteSpace(admission.HealthOnRelease) == true) { ModelState.AddModelError("HealthOnRelease", "Health On Release is Required"); } if (string.IsNullOrWhiteSpace(admission.WeightOnRelease) == true) { ModelState.AddModelError("WeightOnRelease", "Weight On Release is Required"); } if (ModelState.Count == 0) // if valid { var a = db.Admissions.Include(o => o.Prisoner).First(o => o.AdmissionId == admission.AdmissionId); a.HealthOnRelease = admission.HealthOnRelease; a.WeightOnRelease = admission.WeightOnRelease; a.MedicalRemarks = admission.MedicalRemarks; db.SaveChanges(); return(RedirectToMedicalTreatments()); } PopulateDropDowns(admission); return(View(admission)); }
/// <summary> /// Adds the selected admission data to the IMS. /// </summary> /// <param name="admissionObj"></param> /// <returns></returns> public async Task <AdmittedPatient> AddAdmissionToImsAsync(object admissionObj) { Admission admission = admissionObj as Admission; IsLoading = true; try { AdmittedPatient patient = Patients.First(ap => ap.Admission.ID == admission.ID); IsLoading = false; return(patient); } catch (InvalidOperationException) { try { var admittedPatient = await imsSvc.AddAdmissionDataAsync(admission); Patients.Add(admittedPatient); IsLoading = false; return(admittedPatient); } catch (Exception) { IsLoading = false; throw; } } }
public void ProcessAdmission(TreatmentEpisode episode, Admission admission) { switch (admission.TypeCode) { case "1": { if (episode.Admissions.Any(a => a.TypeCode == "1")) { if (episode.Admissions.Any(a => a.SourceRecordIdentifier == admission.SourceRecordIdentifier)) { //same record so just replace it. var existingItem = episode.Admissions.Where(a => a.SourceRecordIdentifier == admission.SourceRecordIdentifier).FirstOrDefault(); int id = episode.Admissions.IndexOf(existingItem); episode.Admissions[id] = admission; return; } else { return; } } episode.Admissions.Add(admission); return; } case "2": { return; } default: break; } }
static void Main(string[] args) { Random rand = new Random(); try { List <Humans> humans = new List <Humans>(); for (int i = 0; i < rand.Next(1, 30); i++) { if (i % 2 == 0) { humans.Add(new Humans()); } else if ((i % 3 == 0)) { humans.Add(new Humans(Privileges.WarVeteran)); } else { humans.Add(new Humans(Privileges.labourVeteran)); } } Console.WriteLine("Human living: {0} \n", humans.Count()); Console.WriteLine("<-Summer bill->\n"); Admission.Payment(70, humans, Season.summer); // Square meters, number of people living, summer payment Console.WriteLine("\n------------------------------------------------------------"); Console.WriteLine("<-Winter bill->\n"); Admission.Payment(125, humans, Season.winter); // Square meters, number of people living, winter payment-- Heating is more expensive at winter period } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// Implementaion class for newly adding patient details /// </summary> /// <returns>true or false</returns> public void NewAdmission() { Console.WriteLine("Add Patient Details:"); Admission admission = new Admission(); Console.WriteLine("Patient Name"); admission.PatientName = Console.ReadLine(); Console.WriteLine("NHS Number"); admission.NINumber = Console.ReadLine(); Console.WriteLine("Enter Ward Type(1.Cardiology 2.Renal 3.A&E 4.Critical Care)"); admission.WardType = Console.ReadLine(); Console.WriteLine("Doctor Assigned"); admission.DoctorId = Console.ReadLine(); WardDetails wDetails = _patientsDac.GetAvailability(admission.WardType); if (wDetails != null && wDetails.AvailableBed != 0) { admission.Status = true; admission.AdmittedDate = DateTime.Now; _patientsDac.NewAdmissionDac(admission); Console.WriteLine("Patient Details Added Succesfully!!!"); } else { Console.WriteLine("No Bed available"); } }
private void button2_Click_1(object sender, EventArgs e) { string paid = "No"; string status = "Incomplete"; if (paidChk.Checked == true) { paid = "Yes"; status = "Complete"; } if (Global._queues.Where(t => t.No.Contains(orderLbl.Text)).Count() > 0) { MessageBox.Show("Information already submitted "); return; } if (patientID == "" || userID == "") { MessageBox.Show("Please input the input the patient OR the practitioner "); return; } if (!String.IsNullOrEmpty(departmentCbx.Text)) { Queue _q = new Queue(QueueID, next.ToString(), patientID, Helper.UserID, " ", "", Convert.ToDateTime(openedDate.Text).ToString("dd-MM-yyyy"), DateTime.Now.ToString("dd-MM-yyyy H:mm:ss"), "", departmentCbx.Text, "Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "", "", orderLbl.Text, Helper.orgID, departmentCbx.Text); DBConnect.Insert(_q); Global._queues.Add(_q); Admission _a = new Admission(QueueID, orderLbl.Text, next.ToString(), patientID, Helper.UserID, departmentCbx.Text, wardCbx.Text, bedCbx.Text, priorityCbx.Text, remarksTxt.Text, Helper.orgID, Convert.ToDateTime(openedDate.Text).ToString("dd-MM-yyyy"), DateTime.Now.ToString("dd-MM-yyyy H:mm:ss"), enrollCbx.Text, referralDocTxt.Text); DBConnect.Insert(_a); Global._admit.Add(_a); MessageBox.Show("Information added/Saved"); } }
private void ButtonAdmission_Click(object sender, RoutedEventArgs e) { if (patient is null) { MessageBox.Show("Válasszon beteget a listából!"); return; } var admission = new Admission { Symptomes = TextSymptoms.Text, TimeOfAdmission = DateTime.Now, Diagnosis = "", PatientID = patient.ID }; var json = JsonConvert.SerializeObject(admission); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); using (var HttpClient = new HttpClient()) { var result = HttpClient.PostAsync("http://localhost:8080/assistant/" + patient.ID, stringContent); if (result.Result.IsSuccessStatusCode) { MessageBox.Show("Kész!\n"); TextSymptoms.Clear(); } else { MessageBox.Show("Hiba!\n" + result.Result); } } }
private void RegisterPatient_Click(object sender, RoutedEventArgs e) { int?insuranceNumber; if (!UserInputControl.InsuranceNumToInt(TextInsuranceNumber.Text, out insuranceNumber)) { MessageBox.Show("TAJ-szám helytelen!"); return; } TextLastName.Text = TextLastName.Text.Trim(); if (!UserInputControl.CheckName(TextLastName.Text)) { MessageBox.Show("Vezetéknév hibásan lett kitöltve!"); return; } TextFirstName.Text = TextFirstName.Text.Trim(); if (!UserInputControl.CheckName(TextFirstName.Text)) { MessageBox.Show("Keresztnév hibásan lett kitöltve!"); return; } patient = new Patient { FirstName = TextFirstName.Text, LastName = TextLastName.Text, dateOfBirth = DatePickerBirth.SelectedDate, Address = TextAddress.Text, InsuranceNumber = insuranceNumber, ID = -1 }; var admission = new Admission { Symptomes = TextSymptoms.Text, TimeOfAdmission = DateTime.Now, Diagnosis = "", PatientID = -1 }; ViewModel data = new ViewModel { Patient = patient, Admission = admission }; var json = JsonConvert.SerializeObject(data); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); using (var HttpClient = new HttpClient()) { var result = HttpClient.PostAsync("http://localhost:8080/assistant/", stringContent); if (result.Result.IsSuccessStatusCode) { MessageBox.Show("Kész!\n"); TextSymptoms.Clear(); } else { MessageBox.Show("Hiba!\n" + result.Result); } } }
public static Page Replace(string pageName, string param = null, Admission admision = null) { if (AdmissionManager.busing) { return(null); } Debug.Log("Replace to: " + pageName); var oldPage = PageStack.Find(pageName); if (oldPage != null) { throw new Exception("page: " + pageName + " already in stack, can't replace, try use Backto"); } var fromPage = PageStack.Peek(); var page = TakeOrCreatePage(pageName); page.param = param; PageStack.RelpaceTop(page); RepositionMask(); if (admision != null) { AdmissionManager.Play(admision, fromPage, page); } return(page); }
public static void Back(object result = null, Admission admision = null) { if (AdmissionManager.busing) { return; } var page = PageStack.Pop(); if (page != null) { pagePool.Put(page.name, page); } if (PageStack.Count > 0) { var top = PageStack.Peek(); Debug.Log("Back to: " + top.name); top.OnResult(result); } else { Debug.Log("All pages poped!"); } if (admision != null) { AdmissionManager.Play(admision, page, PageStack.Peek()); } RepositionMask(); }
public static Page Forward(string pageName, object param = null, Admission admision = null) { if (AdmissionManager.busing) { return(null); } Debug.Log("Navigate to: " + pageName); var oldPage = PageStack.Find(pageName); if (oldPage != null) { throw new Exception("page: " + pageName + " already in stack, can't navigate, try use BackTo"); } var fromPage = PageStack.Peek(); var page = TakeOrCreatePage(pageName); page.param = param; page.OnParamChanged(); PageStack.Push(page); RepositionMask(); if (admision != null) { AdmissionManager.Play(admision, fromPage, page); } return(page); }
//discharges admission public ActionResult DischargePatient(string id) { Admission admission = db.Admissions.Find(id); //temp collection of invoices that matches patient id List <BillingInvoice> invoices = db.BillingInvoices.Include(i => i.Patient).Where(i => i.PatientID == admission.PatientID && i.PaymentRecived == false).ToList(); //if any invoices are found to match patient id that are unpaid, display error message of unpaid treatments if ((invoices.Count > 0) == true) { ViewBag.ErrorMessage = "Patient has unpaid treatments"; return(View("Index", db.Admissions.Include(a => a.Patient).Include(a => a.Ward).ToList())); } admission.DateDischarged = DateTime.Now; admission.isAdmitted = false; Ward ward = db.Wards.Find(admission.WardNo); //ward.WardSpacesTaken = ward.WardSpacesTaken - 1; //removes all assosiations to confirm discharge Patient patient = db.Patients.Find(admission.PatientID); patient.WardNo = null; db.Entry(ward).State = EntityState.Modified; db.Entry(admission).State = EntityState.Modified; db.Entry(patient).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: Admission/Edit/5 public PartialViewResult Edit(int admissionId) { Admission admission = AdmissionFromId(admissionId); admission.InitDateTime(); return(PartialView("~/Views/Patient/Admission/_Edit.cshtml", admission)); }
public async Task <(bool IsTrue, string Msg)> ApproveAdmission(Admission admission) { using (_context) { using (var transaction = _context.Database.BeginTransaction()) { _context.Entry(admission).State = EntityState.Modified; StudentLedger studentLedger = new StudentLedger() { Title = "Account Opened", Debit = 0, Credit = 0, Balance = 0, IP = admission.IP, Agent = admission.Agent, Latitude = admission.Location, Longitude = admission.Location, StudentId = admission.StudentID }; _context.StudentLedgers.Add(studentLedger); try { await _context.SaveChangesAsync(); var Ledger = await _context.StudentLedgers.Where(x => x.StudentId == admission.StudentID).SingleOrDefaultAsync(); if (Ledger == null) { transaction.Rollback(); return(false, "Unable To Find Ledger"); } else { StudentLedgerTransaction studentLedgerTransaction = new StudentLedgerTransaction() { Title = "Account Opened", Debit = 0, Credit = 0, Balance = 0, IP = admission.IP, Agent = admission.Agent, Latitude = admission.Location, Longitude = admission.Location, StudentLedgerId = Ledger.Id }; _context.StudentLedgerTransactions.Add(studentLedgerTransaction); await _context.SaveChangesAsync(); transaction.Commit(); return(true, Result.Success); } } catch (Exception exc) { return(false, Error.GetDetail(exc)); } } } }
public async void UpdateAdmission(Admission admission) { var response = await client.UpdateAsync("Admission/" + admission.id, admission); var result = response.ResultAs <Checkup>(); Console.WriteLine("Successfully saved"); }
public static async Task <DetalilsAdmissionForm> CreateAsyncDetailsAdmissionForm(Admission admission) { DetalilsAdmissionForm form = new DetalilsAdmissionForm(); await form.InitializeAsync(admission); selectedAdmission = admission; return(form); }
public string SerializeAddAdmissionRequest(Admission admission, User user) { return(JsonSerializer.Serialize <SocketNode>(new SocketNode { Method = "AddAdmission", User = JsonSerializer.Serialize <User>(user), Args = JsonSerializer.Serialize <Admission>(admission) })); }
public static void SerializeAdmission(Admission value, IFhirWriter writer) { writer.WriteStartRootObject("Admission"); writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element language if(value.Language != null) { writer.WriteStartElement("language"); CodeSerializer.SerializeCode(value.Language, writer); writer.WriteEndElement(); } // Serialize element text if(value.Text != null) { writer.WriteStartElement("text"); NarrativeSerializer.SerializeNarrative(value.Text, writer); writer.WriteEndElement(); } // Serialize element contained if(value.Contained != null && value.Contained.Count > 0) { writer.WriteStartArrayElement("contained"); foreach(var item in value.Contained) { writer.WriteStartArrayMember("contained"); FhirSerializer.SerializeResource(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }
/// <summary> /// Parse Admission /// </summary> public static Admission ParseAdmission(IFhirReader reader, ErrorList errors, Admission existingInstance = null ) { Admission result = existingInstance != null ? existingInstance : new Admission(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if( ParserUtils.IsAtFhirElement(reader, "extension") ) { result.Extension = new List<Extension>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "extension") ) result.Extension.Add(ExtensionParser.ParseExtension(reader, errors)); reader.LeaveArray(); } // Parse element language else if( ParserUtils.IsAtFhirElement(reader, "language") ) result.Language = CodeParser.ParseCode(reader, errors); // Parse element text else if( ParserUtils.IsAtFhirElement(reader, "text") ) result.Text = NarrativeParser.ParseNarrative(reader, errors); // Parse element contained else if( ParserUtils.IsAtFhirElement(reader, "contained") ) { result.Contained = new List<Resource>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "contained") ) result.Contained.Add(ParserUtils.ParseContainedResource(reader,errors)); reader.LeaveArray(); } // Parse element internalId else if( reader.IsAtRefIdElement() ) result.InternalId = Id.Parse(reader.ReadRefIdContents()); else { errors.Add(String.Format("Encountered unknown element {0} while parsing {1}", reader.CurrentElementName, currentElementName), reader); reader.SkipSubElementsFor(currentElementName); result = null; } } reader.LeaveElement(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return result; }