public async void UpdateProcedureDiagnostic(int ProcCodeID,string Code,string Name, int ProcCodeTypeID)
		{
			string msgtitle = string.Empty;
			if (ProcCodeTypeID == 1)
				msgtitle = "Procedure";
			else if (ProcCodeTypeID == 418)
				msgtitle = "MAC CODE is " + Code;
			else
				msgtitle = "Diagnostic";
			
			if (ProcCodeTypeID != 418)
			   AppDelegate.pb.Start(this.View,msgtitle+" Updating...");

			DataResults procedureitem = new DataResults();

			int ProcID;
			string Mrn;
			string PatientID;
			if (procedureDetails == null) {
				procedureDetails = new PatientProcedureFullDetails ();
				ProcID = 0;
				Mrn = patientProfile.MRN;
				PatientID = patientProfile.ID.ToString ();	

				procedureDetails.ID=ProcID;
				procedureDetails.Mrn = patientProfile.MRN;
				procedureDetails.PatientID = patientProfile.ID.ToString();		
				procedureDetails.ListType = "MAIN";
				procedureDetails.Location =  iProPQRSPortableLib.Consts.SelectedFacilityID;

				ReceiveContext result = await AppDelegate.Current.pqrsMgr.UpdatePatintProcedureInfo (procedureDetails);
				if (ProcID == 0) {
					if(result != null && result.result != null &&  result.status != null && result.status.ToUpper () == "OK")
						procedureDetails= (PatientProcedureFullDetails)JsonConvert.DeserializeObject (result.result.ToString (), typeof(PatientProcedureFullDetails));
					else
						NavigationController.PopToRootViewController(true);
					

					lblProcID.Text = "Proc ID: " + procedureDetails.ID;
				}
			}

			procedureitem.ProcID = procedureDetails.ID.ToString();
			procedureitem.ProcCodeID = ProcCodeID;
			procedureitem.Code = Code;
			procedureitem.Name = Name;
			procedureitem.ProcCodeTypeID = ProcCodeTypeID;
			ReceiveContext context=	await AppDelegate.Current.pqrsMgr.UpdateProcedureDiagnostic(procedureitem);
			if (context != null && context.status != null && context.status.ToUpper () == "OK") {				
				AppDelegate.pb.Stop ();
				sCtab.SetEnabled (true, 1);
				sCtab.SetEnabled (true, 2);
				//new UIAlertView (msgtitle, "Successfully Saved", null, "ok", null).Show ();
			} else {

				AppDelegate.pb.Stop ();
				new UIAlertView (msgtitle, context.message, null, "ok", null).Show ();
			}

		}
Example #2
0
		public async Task<ReceiveContext> UpdateProcedureDiagnostic(DataResults procedurediagnosticlist)
		{
			Stream requestWriter;
			string received=string.Empty;
			ReceiveContext responseObj;
			try
			{
				HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Consts.BaseServerURL+"/anesservices/ProcCodes");

				request.ContentType = "application/json; charset=utf-8";
				// Set the Method property to 'POST' to post data to the URI.
				request.Method = "PUT";
				request.Headers ["Token"] =Consts.AuthenticationToken;
				requestWriter = await request.GetRequestStreamAsync();
				string postData=JsonConvert.SerializeObject(procedurediagnosticlist,Formatting.Indented);			
				byte[] data = Encoding.UTF8.GetBytes(postData);
				requestWriter.Write(data,0,data.Length);
				WebResponse resp = await request.GetResponseAsync();
				using (var responseStream = resp.GetResponseStream())
				{
					using (var sr = new StreamReader(responseStream))
					{
						received = await sr.ReadToEndAsync();
					}
				}
			}
			catch {

			}
			responseObj = (ReceiveContext)JsonConvert.DeserializeObject(received , typeof(ReceiveContext));
			return responseObj;
		}
		public void SaveJsonToFile(DataResults selectedObj,string fileName)
		{
			string json = string.Empty;

			string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
			string filePath = Path.Combine(path, fileName);

			List<DataResults> lstOfSelectedProcs = new List<DataResults>();
			lstOfSelectedProcs.Add(selectedObj);

			if (!File.Exists (filePath)) {
				ProcedureDiagnosticMaster lastSelectProcs = new ProcedureDiagnosticMaster ();
				lastSelectProcs.results = lstOfSelectedProcs;
				json = JsonConvert.SerializeObject (lastSelectProcs);
			} else {
				string lastContents = ReadFile (filePath);
				File.Delete (filePath);
				ProcedureDiagnosticMaster lastSelectedProceduresObj = (ProcedureDiagnosticMaster)JsonConvert.DeserializeObject(lastContents,typeof(ProcedureDiagnosticMaster));
				lastSelectedProceduresObj.results.Add (selectedObj);
				json = JsonConvert.SerializeObject (lastSelectedProceduresObj);
			}


			using (var file = File.Open(filePath, FileMode.Append, FileAccess.Write))
			using (var strm = new StreamWriter(file))
			{
				strm.Write(json);

			}
		}
		public async void DownloadData(string type,string searchParam,UITextField codeField,UITextView descriptionField)
		{
//			var webClient = new WebClient();
//			string url =  "http://reference.iprocedures.com/"+type+"/"+searchParam.Trim()+"/40";
//			string procData = webClient.DownloadString (url);
//			procedureItems = (ProcedureDiagnosticMaster)JsonConvert.DeserializeObject (procData, typeof(ProcedureDiagnosticMaster));

			//1 - procedure 2 - diagnosis
			string procCodeType = "1";
			if(type == "ICD9")
				procCodeType = "2";

			ReceiveContext procDiagProcedureLastUsedItems = await AppDelegate.Current.pqrsMgr.GetLastUsedProceduresDiagnosis(procCodeType);
			if (procDiagProcedureLastUsedItems != null && procDiagProcedureLastUsedItems.result != null) {
				lastUsedProcedureItemsList = (List<LastUsedProcedureDiagnosisDetails>)JsonConvert.DeserializeObject (procDiagProcedureLastUsedItems.result.ToString (), typeof(List<LastUsedProcedureDiagnosisDetails>));
			}

			float x = (float)descriptionField.Frame.X;
			float y = (float)descriptionField.Frame.Y;
			int uvwidth = 0;
			List<CodePickerModel> list=SetProcedureDataSource (out uvwidth);

			cp	= new CodePicker (this,800,searchParam.Trim(),type);

			if(searchParam.Trim().Length > 0)
				cp.PresentFromPopover (descriptionField, x, y,800);

			cp.DataSource = list;
			cp._ValueChanged += new CodePickerSelectedEvent(checkVal);
			//cp._ValueChanged+= async (Item) =>  {};
			//cp._ValueChanged += async delegate {
			cp._ValueChanged+= async (Item) =>  {	
				if(cpSelectedItem != null)
				{
					cp.SelectedText = cpSelectedItem.ItemText;
					cp.SelectedValue = cpSelectedItem.ItemID;
					cp.SelectedCodeValue = cpSelectedItem.ItemCode;
				}
				if(cp.SelectedText!=null)
				{
					DataResults selectedObj = new DataResults{Name = cp.SelectedText,Code=cp.SelectedCodeValue,ProcCodeID = cp.SelectedValue};
					string fileName = string.Empty;
					if(type == "CPT")
						fileName = "lastSelectedProcedures.txt";
					else
						fileName = "lastSelectedDiagnosis.txt";

					SaveJsonToFile(selectedObj,fileName);

					codeField.Text = cp.SelectedCodeValue;
					descriptionField.Text = cp.SelectedText;
					int ProcCodeType;
					if(type == "CPT")
						ProcCodeType = 1 ;
					else
					{
						selectedDiagnosisCodeid.Add(cp.SelectedValue);
						ProcCodeType = 2 ;
					}

					UpdateProcedureDiagnostic(cp.SelectedValue,cp.SelectedCodeValue,cp.SelectedText,ProcCodeType);

					int nl=MeasureTextLine(cp.SelectedText);
					nfloat th=30;
					if (nl == 280) {

						baseYDiagnosisDescriptionValue += 0;
						baseYDiagnosisCodeValue += 0;	
						nl=30;
					}
					else if(nl>550 && nl < 899){	
						if(ProcCodeType == 2)
						{
							baseYProcDescriptionValue += 10;
							baseYProcCodeValue += 10;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 10;
							baseYDiagnosisCodeValue += 10;	
						}
						th=50;
					}
					else if(nl>900){
						if(ProcCodeType==2)
						{
							baseYProcDescriptionValue += 20;
							baseYProcCodeValue += 20;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 20;
							baseYDiagnosisCodeValue += 20;	
						}
						th=60;
					}
					else if(nl>1200){
						if(ProcCodeType==2)
						{
							baseYProcDescriptionValue += 30;
							baseYProcCodeValue += 30;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 30;
							baseYDiagnosisCodeValue += 30;	
						}
						th=77;
					}
					descriptionField.Layer.Frame=new CoreGraphics.CGRect(descriptionField.Frame.X,descriptionField.Frame.Y,descriptionField.Frame.Width,th);


				}
				else
				{
					//new UIAlertView("", "Please Selecte again." , null, "ok", null).Show(); 
				}

			};
		}
		public async void DownloadData(string type,string searchParam,UITextField codeField,UITextField descriptionField)
		{
			var webClient = new WebClient();
			string url =  "http://reference.iprocedures.com/"+type+"/"+searchParam.Trim()+"/40";
			string procData = webClient.DownloadString (url);
			procedureItems = (ProcedureDiagnosticMaster)JsonConvert.DeserializeObject (procData, typeof(ProcedureDiagnosticMaster));

			float x = (float)descriptionField.Frame.X;
			float y = (float)descriptionField.Frame.Y;
			int uvwidth = 0;
			List<CodePickerModel> list = SetProcedureDataSource (out uvwidth);
    		cp	= new CodePicker (this,uvwidth,searchParam.Trim(),type);

			if(searchParam.Trim().Length > 0)
				cp.PresentFromPopover (descriptionField, x, y,uvwidth);

			cp.DataSource = list;
			cp._ValueChanged += async delegate {
				DataResults selectedObj = new DataResults{Name = cp.SelectedText,Code=cp.SelectedCodeValue,ProcCodeID = cp.SelectedValue};
				string fileName = string.Empty;
				if(type == "CPT")
					fileName = "lastSelectedProcedures.txt";
				else
					fileName = "lastSelectedDiagnosis.txt";

				SaveJsonToFile(selectedObj,fileName);

				codeField.Text = cp.SelectedCodeValue;
				descriptionField.Text = cp.SelectedText;
				int ProcCodeType;
				if(type == "CPT")
					ProcCodeType = 1 ;
				else
				{
					selectedDiagnosisCodeid.Add(cp.SelectedValue);
					ProcCodeType = 2 ;
				}

				UpdateProcedureDiagnostic(cp.SelectedValue,cp.SelectedCodeValue,cp.SelectedText,ProcCodeType);
			};
		}
		public async void DownloadData(string type,string searchParam,UITextField codeField,UITextView descriptionField)
		{
			var webClient = new WebClient();
			string url =  "http://reference.iprocedures.com/"+type+"/"+searchParam.Trim()+"/40";
			string procData = webClient.DownloadString (url);
			procedureItems = (ProcedureDiagnosticMaster)JsonConvert.DeserializeObject (procData, typeof(ProcedureDiagnosticMaster));

			float x = (float)descriptionField.Frame.X;
			float y = (float)descriptionField.Frame.Y;
			int uvwidth = 0;
			List<CodePickerModel> list=SetProcedureDataSource (out uvwidth);
			cp	= new CodePicker (this,uvwidth,searchParam.Trim(),type);

			if(searchParam.Trim().Length > 0)
				cp.PresentFromPopover (descriptionField, x, y,uvwidth);

			cp.DataSource = list;
			cp._ValueChanged += async delegate {
				if(cp.SelectedText!=null)
				{
					DataResults selectedObj = new DataResults{Name = cp.SelectedText,Code=cp.SelectedCodeValue,ProcCodeID = cp.SelectedValue};
					string fileName = string.Empty;
					if(type == "CPT")
						fileName = "lastSelectedProcedures.txt";
					else
						fileName = "lastSelectedDiagnosis.txt";

					SaveJsonToFile(selectedObj,fileName);

					codeField.Text = cp.SelectedCodeValue;
					descriptionField.Text = cp.SelectedText;
					int ProcCodeType;
					if(type == "CPT")
						ProcCodeType = 1 ;
					else
					{
						selectedDiagnosisCodeid.Add(cp.SelectedValue);
						ProcCodeType = 2 ;
					}

					UpdateProcedureDiagnostic(cp.SelectedValue,cp.SelectedCodeValue,cp.SelectedText,ProcCodeType);

					int nl=MeasureTextLine(cp.SelectedText);
					nfloat th=30;
					if (nl == 280) {

						baseYDiagnosisDescriptionValue += 0;
						baseYDiagnosisCodeValue += 0;	
						nl=30;
					}
					else if(nl>600 && nl < 899){	
						if(ProcCodeType==2)
						{
							baseYProcDescriptionValue += 10;
							baseYProcCodeValue += 10;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 10;
							baseYDiagnosisCodeValue += 10;	
						}
						th=50;
					}
					else if(nl>900){
						if(ProcCodeType==2)
						{
							baseYProcDescriptionValue += 20;
							baseYProcCodeValue += 20;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 20;
							baseYDiagnosisCodeValue += 20;	
						}
						th=60;
					}
					else if(nl>1200){
						if(ProcCodeType==2)
						{
							baseYProcDescriptionValue += 20;
							baseYProcCodeValue += 20;	
						}
						else
						{
							baseYDiagnosisDescriptionValue += 20;
							baseYDiagnosisCodeValue += 20;	
						}
						th=77;
					}
					descriptionField.Layer.Frame=new CoreGraphics.CGRect(descriptionField.Frame.X,descriptionField.Frame.Y,descriptionField.Frame.Width,th);


				}
			};
		}
		public async void DownloadData(string type,string[] searchParam,string codeID)
		{
			var webClient = new WebClient();
			string url =  "http://reference.iprocedures.com/"+type+"/"+searchParam[4].Trim().Replace("%20"," ")+"/40";
			string procData = webClient.DownloadString (url);
			procedureItems = (ProcedureDiagnosticMaster)JsonConvert.DeserializeObject (procData, typeof(ProcedureDiagnosticMaster));

			string mCurrentTextBoxID = searchParam [0];
			float x = float.Parse (searchParam [1]);
			float y = float.Parse (searchParam [2]);
			int uvwidth = 0;
			List<CodePickerModel> list=SetProcedureDataSource (out uvwidth);
			cp	= new CodePicker (this,uvwidth);

			if(searchParam[4].Trim().Length > 0)
				cp.PresentFromPopover (wvpatient, x, y,uvwidth);
	
			cp.DataSource = list;
			cp._ValueChanged += delegate {
				DataResults selectedObj = new DataResults{Name = cp.SelectedText,Code=cp.SelectedCodeValue};
				string fileName = string.Empty;
				if(type == "CPT")
					fileName = "lastSelectedProcedures.txt";
				else
					fileName = "lastSelectedDiagnosis.txt";

				SaveJsonToFile(selectedObj,fileName);

				SetTextboxValue (mCurrentTextBoxID, cp.SelectedText);
				SetTextboxValue(codeID,cp.SelectedCodeValue);
				//Nahid Ahmed My Test method
//				UpdatePatientObject(codeID);
			};
		}