Exemplo n.º 1
0
Arquivo: X835.cs Projeto: mnisl/OD
		///<summary>The MIA segment is for Medicare inpatient adjudication information.</summary>
		private List<Hx835_Info> ProcessMIA(int segNum) {
			X12Segment segMIA=_listSegments[segNum];
			List<Hx835_Info> listAdjudicationInfo=new List<Hx835_Info>();
			for(int i=1;i<=24;i++) {
				if(segMIA.Get(i)=="") {
					continue;
				}
				Hx835_Info info=new Hx835_Info();
				info.FieldValueRaw=segMIA.Get(i);
				info.IsRemarkCode=false;
				if(i==1) {
					info.FieldName="Covered Days or Visits Count";
					info.FieldValue=segMIA.Get(1);
				}
				else if(i==2) {
					info.FieldName="PPS Operating Outlier Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(2)).ToString("f2");
				}
				else if(i==3) {
					info.FieldName="Lifetime Psychiatric Days Count";
					info.FieldValue=segMIA.Get(3);
				}
				else if(i==4) {
					info.FieldName="Claim Diagnosis Related Group Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(4)).ToString("f2");
				}
				else if(i==5) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMIA.Get(5));
					info.IsRemarkCode=true;
				}
				else if(i==6) {
					info.FieldName="Disproportionate Share Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(6)).ToString("f2");
				}
				else if(i==7) {
					info.FieldName="Medicare Secondary Payer (MSP) Pass-Through Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(7)).ToString("f2");
				}
				else if(i==8) {
					info.FieldName="Prospective Payment System (PPS) Capital Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(8)).ToString("f2");
				}
				else if(i==9) {
					info.FieldName="Prospectice Payment System (PPS) Capital, Federal Specific Portion, Diagnosis Related Group (DRG) Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(9)).ToString("f2");
				}
				else if(i==10) {
					info.FieldName="Prospective Payment System (PPS) Capital, Hospital Specific Portion, Diagnosis Related Group (DRG) Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(10)).ToString("f2");
				}
				else if(i==11) {
					info.FieldName="Prospective Payment System (PPS) Capital, Disproportionate Share, Hospital Diagnosis Related Group (DRG) Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(11)).ToString("f2");
				}
				else if(i==12) {
					info.FieldName="Old Capital Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(12)).ToString("f2");
				}
				else if(i==13) {
					info.FieldName="Prospective Payment System (PPS) Capital Indirect Medical Education Claim Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(13)).ToString("f2");
				}
				else if(i==14) {
					info.FieldName="Hospital Specific Diagnosis Related Group (DRG) Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(14)).ToString("f2");
				}
				else if(i==15) {
					info.FieldName="Cost Report Day Count";
					info.FieldValue=segMIA.Get(15);
				}
				else if(i==16) {
					info.FieldName="Federal Specific Diagnosis Related Group (DRG) Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(16)).ToString("f2");
				}
				else if(i==17) {
					info.FieldName="Prospective Payment System (PPS) Capital Outlier Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(17)).ToString("f2");
				}
				else if(i==18) {
					info.FieldName="Indirect Teaching Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(18)).ToString("f2");
				}
				else if(i==19) {
					info.FieldName="Professional Component Amount Billed But Not Payable";
					info.FieldValue=PIn.Decimal(segMIA.Get(19)).ToString("f2");
				}
				else if(i==20) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMIA.Get(20));
					info.IsRemarkCode=true;
				}
				else if(i==21) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMIA.Get(21));
					info.IsRemarkCode=true;
				}
				else if(i==22) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMIA.Get(22));
					info.IsRemarkCode=true;
				}
				else if(i==23) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMIA.Get(23));
					info.IsRemarkCode=true;
				}
				else if(i==24) {
					info.FieldName="Prospective Payment System (PPS) Capital Exception Amount";
					info.FieldValue=PIn.Decimal(segMIA.Get(24)).ToString("f2");
				}
				listAdjudicationInfo.Add(info);
			}
			return listAdjudicationInfo;
		}
Exemplo n.º 2
0
Arquivo: X835.cs Projeto: mnisl/OD
		///<summary>The MOA segment is for Medicare outpatient adjudication information.</summary>
		private List<Hx835_Info> ProcessMOA(int segNum) {
			X12Segment segMOA=_listSegments[segNum];
			List<Hx835_Info> listAdjudicationInfo=new List<Hx835_Info>();
			for(int i=1;i<=9;i++) {
				if(segMOA.Get(i)=="") {
					continue;
				}
				Hx835_Info info=new Hx835_Info();
				info.FieldValueRaw=segMOA.Get(i);
				info.IsRemarkCode=false;
				if(i==1) {
					info.FieldName="Reimbursement Rate";
					info.FieldValue=((PIn.Decimal(segMOA.Get(1))*100).ToString()+"%");
				}
				else if(i==2) {
					info.FieldName="Claim Health Care Financing Administration Common Procedural Coding System (HCPCS) Payable Amount";
					info.FieldValue=PIn.Decimal(segMOA.Get(2)).ToString("f2");
				}
				else if(i==3) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMOA.Get(3));
					info.IsRemarkCode=true;
				}
				else if(i==4) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMOA.Get(4));
					info.IsRemarkCode=true;
				}
				else if(i==5) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMOA.Get(5));
					info.IsRemarkCode=true;
				}
				else if(i==6) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMOA.Get(6));
					info.IsRemarkCode=true;
				}
				else if(i==7) {
					info.FieldName="Claim Payment Remark";
					info.FieldValue=GetDescriptFrom411(segMOA.Get(7));
					info.IsRemarkCode=true;
				}
				else if(i==8) {
					info.FieldName="End Stage Renal Disease (ESRD) Payment Amount";
					info.FieldValue=PIn.Decimal(segMOA.Get(8)).ToString("f2");
				}
				else if(i==9) {
					info.FieldName="Professional Component Amount Billed But Not Payable";
					info.FieldValue=PIn.Decimal(segMOA.Get(9)).ToString("f2");
				}
				listAdjudicationInfo.Add(info);
			}
			return listAdjudicationInfo;
		}
Exemplo n.º 3
0
Arquivo: X835.cs Projeto: mnisl/OD
		///<summary>AMT segments are found both at the claim and procedure levels.</summary>
		private Hx835_Info ProcessAMT(int segNum) {
			X12Segment segAMT=_listSegments[segNum];
			Hx835_Info info=new Hx835_Info();
			info.FieldName=GetDescriptForAmountQualifierCode(segAMT.Get(1));
			info.FieldValue=PIn.Decimal(segAMT.Get(2)).ToString("f2");
			return info;
		}