//捡起物品 public void PickUpObs(Transform obj, ObsType obType) { //TurnAt(obj); if (playAnmtr.GetBool("isHoldObs") == false) { playCh.TurnAtRightNow(obj); //转向物体 playCh.DisableMove(); Invoke("EnableMove", 1.4f); //一定时间后启用移动 playAnmtr.SetTrigger("isPickUpObs"); playAnmtr.SetBool("isHoldObs", true); Destroy(obj.gameObject, 0.5f);//销毁场景中的该物体 Invoke("SetObsAlive", 0.5f); //记录 CurrentObsType = obType; objName = obj.GetComponent <MoveableObj>().objName; } //量词 string c = null; switch (obType) { case ObsType.Cube: c = "个"; break; case ObsType.Stone: c = "块"; break; case ObsType.Wood: c = "棵"; break; default: c = null; break; } picked = true; GameManager.Instance.Tip("拿起一" + c + objName); }
public static GenericDataType createGenericData(PXModel model) { DataSetType ds = new DataSetType(); ds.KeyFamilyRef = model.Meta.Matrix.CleanID(); DataIndexer di = new DataIndexer(model.Meta); // Get all table level notes (this includes notes for variables) List <AnnotationType> dsAnnotations = new List <AnnotationType>(); if (model.Meta.Notes != null) { dsAnnotations.AddRange(model.Meta.Notes.ToSDMXAnnotation()); } foreach (Variable var in model.Meta.Stub) { if (var.Notes != null) { dsAnnotations.AddRange(var.Notes.ToSDMXAnnotation()); } } foreach (Variable var in model.Meta.Heading) { if (var.Notes != null) { dsAnnotations.AddRange(var.Notes.ToSDMXAnnotation()); } } if (dsAnnotations.Count > 0) { ds.Annotations = dsAnnotations.ToArray(); } if (model.Meta.ContentVariable == null) { List <org.sdmx.ValueType> dsAtts = new List <org.sdmx.ValueType>(); if (model.Meta.ContentInfo != null) { // Unit of measure { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "UNIT_MEASURE"; att.value = model.Meta.ContentInfo.Units; dsAtts.Add(att); } // Decimals { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "DECIMALS"; att.value = model.Meta.Decimals.ToString(); dsAtts.Add(att); } // Stock/flow/average indicator if (model.Meta.ContentInfo.StockFa != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "SFA_INDICATOR"; att.value = model.Meta.ContentInfo.StockFa; dsAtts.Add(att); } // Seasonal adjustement if (model.Meta.ContentInfo.SeasAdj != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "SEAS_ADJ"; att.value = model.Meta.ContentInfo.SeasAdj; dsAtts.Add(att); } // Daily adjustment if (model.Meta.ContentInfo.DayAdj != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "DAY_ADJ"; att.value = model.Meta.ContentInfo.DayAdj; dsAtts.Add(att); } // Base period if (model.Meta.ContentInfo.Baseperiod != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "BASE_PER"; att.value = model.Meta.ContentInfo.Baseperiod; dsAtts.Add(att); } // Reference period if (model.Meta.ContentInfo.RefPeriod != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "REF_PERIOD"; att.value = model.Meta.ContentInfo.RefPeriod; dsAtts.Add(att); } // Current / fixed prices if (model.Meta.ContentInfo.CFPrices != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "PRICE_BASIS"; att.value = model.Meta.ContentInfo.CFPrices; dsAtts.Add(att); } } ds.Attributes = dsAtts.ToArray(); } ds.Items = new Object[model.Data.MatrixRowCount]; for (int i = 0; i < model.Data.MatrixRowCount; i++) { SeriesType series = new SeriesType(); series.SeriesKey = new org.sdmx.ValueType[model.Meta.Stub.Count + 1]; org.sdmx.ValueType key = new org.sdmx.ValueType(); key.concept = "FREQ"; switch (model.Meta.Heading[0].TimeScale) { case TimeScaleType.Annual: key.value = "A"; break; case TimeScaleType.Halfyear: key.value = "B"; break; case TimeScaleType.Monthly: key.value = "M"; break; case TimeScaleType.Quartely: key.value = "Q"; break; case TimeScaleType.Weekly: key.value = "W"; break; default: //TODO break; } series.SeriesKey[0] = key; di.SetContext(i, 0); // Create annotations based on value notes (not variable notes) List <AnnotationType> serAnnotations = new List <AnnotationType>(); for (int j = 0; j < model.Meta.Stub.Count; j++) { key = new org.sdmx.ValueType(); key.concept = model.Meta.Stub[j].Name.CleanID(); key.value = model.Meta.Stub[j].Values[di.StubIndecies[j]].Code.CleanID(); series.SeriesKey[j + 1] = key; if (model.Meta.Stub[j].Values[di.StubIndecies[j]].Notes != null) { serAnnotations.AddRange(model.Meta.Stub[j].Values[di.StubIndecies[j]].Notes.ToSDMXAnnotation()); } } if (serAnnotations.Count > 0) { series.Annotations = serAnnotations.ToArray(); } series.Obs = new ObsType[model.Data.MatrixColumnCount]; //Added code for reading the cellnotes DataFormatter formatter = new DataFormatter(model); for (int j = 0; j < model.Data.MatrixColumnCount; j++) { string notes = null; ObsType obs = new ObsType(); // Set observation time obs.Time = model.Meta.Heading[0].Values[j].ToSDMXTime(); Boolean missing = PXConstant.ProtectedNullValues.Contains(model.Data.ReadElement(i, j)) || PXConstant.ProtectedValues.Contains(model.Data.ReadElement(i, j)); //Create observation status attribute org.sdmx.ValueType status = new org.sdmx.ValueType(); status.concept = "OBS_STATUS"; obs.Attributes = new org.sdmx.ValueType[1]; obs.Attributes[0] = status; // Set observation value and status code if (!missing) { obs.ObsValue = new ObsValueType(); obs.ObsValue.value = model.Data.ReadElement(i, j); obs.ObsValue.valueSpecified = true; status.value = "A"; } else { status.value = "M"; } // Cell notes formatter.ReadElement(i, j, ref notes); if (notes != null && notes.Length != 0) { AnnotationType annotation = new AnnotationType(); List <TextType> annotationText = new List <TextType>(); TextType text = new TextType(); text.lang = "en"; text.Value = notes; annotationText.Add(text); annotation.AnnotationText = annotationText.ToArray(); obs.Annotations = new AnnotationType[1]; obs.Annotations[0] = annotation; } series.Obs[j] = obs; } if (model.Meta.ContentVariable != null) { List <org.sdmx.ValueType> serAtts = new List <org.sdmx.ValueType>(); if (model.Meta.ContentInfo != null) { // Unit of measure { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "UNIT_MEASURE"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.Units; serAtts.Add(att); } // Stock/flow/average indicator if (model.Meta.ContentInfo.StockFa != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "SFA_INDICATOR"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.StockFa; serAtts.Add(att); } // Seasonal adjustement if (model.Meta.ContentInfo.SeasAdj != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "SEAS_ADJ"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.SeasAdj; serAtts.Add(att); } // Daily adjustment if (model.Meta.ContentInfo.DayAdj != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "DAY_ADJ"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.DayAdj; serAtts.Add(att); } // Base period if (model.Meta.ContentInfo.Baseperiod != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "BASE_PER"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.Baseperiod; serAtts.Add(att); } // Reference period if (model.Meta.ContentInfo.RefPeriod != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "REF_PERIOD"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.RefPeriod; serAtts.Add(att); } // Current / fixed prices if (model.Meta.ContentInfo.CFPrices != null) { org.sdmx.ValueType att = new org.sdmx.ValueType(); att.concept = "PRICE_BASIS"; int cIndex = model.Meta.Stub.GetIndexByCode(model.Meta.ContentVariable.Code); att.value = model.Meta.ContentVariable.Values[di.StubIndecies[cIndex]].ContentInfo.CFPrices; serAtts.Add(att); } } series.Attributes = serAtts.ToArray(); } ds.Items[i] = series; } GenericDataType message = new GenericDataType(); message.DataSet = ds; message.Header = createHeader(model, true); return(message); }
public void InsertDHACopyClaims(string FilePath, long Sys_File_Source) { string ClaimID, ClaimIDPayer, ClaimMemberID, ClaimPayerID, ClaimProviderID, ClaimEmiratesIDNumber; double ClaimGross, ClaimPatientShare, ClaimNet; string EncounterFacilityID = "", EncounterType = "", EncounterPatientID = "", EncounterStartType = "", EncounterEndType = "", EncounterTransferSource = "", EncounterTransferDestination = ""; DateTime EncounterStart = DateTime.Now, EncounterEnd = DateTime.Now; DataSet ds = new DataSet(); DAL _da = new DAL(); string xmlString = System.IO.File.ReadAllText(FilePath); xmlString = EscapeXMLValue(xmlString); TextReader txtReader = new StringReader(xmlString); XmlReader reader = new XmlTextReader(txtReader); ds.ReadXml(reader); DataTable header = ds.Tables["Header"]; #region Header string SenderID = header.Rows[0]["SenderID"].ToString(); string ReceiverID = header.Rows[0]["ReceiverID"].ToString(); DateTime TransactionDate = ValueHandler.ToClaimDate(header.Rows[0]["TransactionDate"]); long RecordCount = Convert.ToInt32(header.Rows[0]["RecordCount"]); string DispositionFlag = header.Rows[0]["DispositionFlag"].ToString(); #endregion long Sys_Claim_ID = _da.ExecuteScalar("Select nvl(max(SYS_CLAIM_ID),0)+1 from ECLAIMS"); #region Claims foreach (DataRow claim in ds.Tables["Claim"].Rows) { try { ClaimID = claim["ID"].ToString(); try { ClaimIDPayer = claim["IDPayer"].ToString(); } catch { ClaimIDPayer = claim["PayerID"].ToString(); } ClaimMemberID = claim["MemberID"].ToString(); ClaimPayerID = claim["PayerID"].ToString(); ClaimProviderID = claim["PayerID"].ToString(); ClaimEmiratesIDNumber = claim["EmiratesIDNumber"].ToString(); ClaimGross = Convert.ToDouble(claim["Gross"].ToString()); ClaimPatientShare = Convert.ToDouble(claim["PatientShare"].ToString()); ClaimNet = Convert.ToDouble(claim["Net"].ToString()); #region Encounter foreach (DataRow Encounter in claim.GetChildRows("Claim_Encounter")) { EncounterFacilityID = Encounter["FacilityID"].ToString(); EncounterType = Encounter["Type"].ToString(); EncounterPatientID = Encounter["PatientID"].ToString(); EncounterStart = ValueHandler.ToClaimDate(claim["Start"].ToString()); try { EncounterEnd = ValueHandler.ToClaimDate(claim["End"].ToString()); } catch { } try { EncounterStartType = Encounter["StartType"].ToString(); } catch { } try { EncounterEndType = Encounter["EndType"].ToString(); } catch { } try { EncounterTransferSource = Encounter["TransferSource"].ToString(); } catch { } try { EncounterTransferDestination = Encounter["TransferDestination"].ToString(); } catch { } } #endregion string ProviderTypeFK = @"SELECT NVL(PROVIDERTYPE,2) FROM TABLE(SF_GETCLAIMPROVIDER_FNC('" + SenderID + "'))"; int ClaimProviderType = Convert.ToInt32(_da.ExecuteScalar(ProviderTypeFK)); string cmd1 = " INSERT INTO ECLAIMS (SYS_CLAIM_ID,SENDER_ID, RECEIVER_ID, TRANSACTION_DATE, DISPOSITION_FLAG, CLAIM_ID, ID_PAYER, MEMBER_ID, " + " PAYER_ID, PROVIDER_ID, EMIRATES_ID_NUMBER,CLAIM_GROSS, CLAIM_PATIENT_SHARE, CLAIM_NET, ENCOUNTER_FACILITY_ID, ENCOUNTER_FACILITY_TYPE, " + " ENCOUNTER_PATIENT_ID, ENCOUNTER_START, ENCOUNTER_END, ENCOUNTER_START_TYPE, ENCOUNTER_END_TYPE, ENCOUNTER_TRANSFER_SOURCE, " + " ENCOUNTER_TRANSFER_DESTINATION, SYS_CLAIM_STATUS, SYS_CLAIM_SOURCE, PROVIDERTYPE, CEEDSTATUS) " + " VALUES (" + Sys_Claim_ID + ",'" + SenderID + "','" + ReceiverID + "',to_date('" + TransactionDate.ToShortDateString() + "','mm-dd-yyyy'),'" + DispositionFlag + "','" + ClaimID + "','" + ClaimIDPayer + "','" + ClaimMemberID + "', " + " '" + ClaimPayerID + "','" + ClaimProviderID + "','" + ClaimEmiratesIDNumber + "'," + ClaimGross + "," + ClaimPatientShare + "," + ClaimNet + ",'" + EncounterFacilityID + "', '" + EncounterType + "' " + " '" + EncounterPatientID + "',to_date('" + EncounterStart.ToShortDateString() + " " + EncounterStart.ToLongTimeString() + "','mm-dd-yyyy HH:MI:SS AM'),to_date('" + EncounterEnd.ToShortDateString() + " " + EncounterEnd.ToLongTimeString() + "','mm-dd-yyyy HH:MI:SS AM'),'" + EncounterStartType + "','" + EncounterEndType + "','" + EncounterTransferSource + "', " + " '" + EncounterTransferDestination + "',277," + Sys_File_Source + "," + ClaimProviderType + ",0)"; string Result = _da.ExecuteQuery(cmd1); #region Diagnosis foreach (DataRow diag in claim.GetChildRows("Claim_Diagnosis")) { long Sys_Diag_ID = _da.ExecuteScalar("Select nvl(max(SYS_Diagnosis_ID),0)+1 from Eclaim_Diagnosis"); string DiagnosisType, DiagnosisCode, DxInfoType = "", DxInfoCode = ""; DiagnosisType = diag["Type"].ToString(); DiagnosisCode = diag["Code"].ToString(); string cmd2 = "Insert Into Eclaim_Diagnosis (SYS_Diagnosis_ID,Sys_Claim_ID,Diagnosis_Type,Diagnosis_Code) Values " + "(" + Sys_Diag_ID + "," + Sys_Claim_ID + ",'" + DiagnosisType + "','" + DiagnosisCode + "')"; Result = _da.ExecuteQuery(cmd2); } #endregion #region Activity foreach (DataRow act in claim.GetChildRows("Claim_Activity")) { long Sys_Act_ID = _da.ExecuteScalar("Select nvl(max(SYS_Activity_ID),0)+1 from Eclaim_Activities"); string ActivityID, ActivityType, ActivityCode, ActivityClinician = "", ActivityPriorAuthorizationID = "", ActivityOrderingClinician = ""; double ActivityQty, ActivityNet; DateTime ActivityStart; ActivityID = act["ID"].ToString(); ActivityStart = ValueHandler.ToClaimDate(claim["Start"].ToString()); ActivityType = act["Type"].ToString(); ActivityCode = act["Code"].ToString(); ActivityQty = (Convert.ToDouble(act["Quantity"].ToString())); ActivityNet = Convert.ToDouble(act["Net"].ToString()); try { ActivityClinician = act["Clinician"].ToString(); } catch { } try { ActivityPriorAuthorizationID = act["PriorAuthorizationID"].ToString(); } catch { } try { ActivityOrderingClinician = (act["OrderingClinician"].ToString()); } catch { } string cmd3 = "Insert Into Eclaim_Activities (Sys_Activity_Id,Sys_Claim_ID,Activity_ID,Activity_Start,Activity_Type,Activity_Code, " + " Quantity,Activity_Net,Clinician,Prior_Authorization_Id,OrderingClinician) Values " + "(" + Sys_Act_ID + "," + Sys_Claim_ID + ",'" + ActivityID + "',to_date('" + ActivityStart.ToShortDateString() + " " + ActivityStart.ToLongTimeString() + "','mm-dd-yyyy HH:MI:SS AM') , " + " '" + ActivityType + "','" + ActivityCode + "'," + ActivityQty + "," + ActivityNet + ",'" + ActivityClinician + "','" + ActivityPriorAuthorizationID + "','" + ActivityOrderingClinician + "')"; Result = _da.ExecuteQuery(cmd3); #region Activity Observation foreach (DataRow observ in act.GetChildRows("Activity_Observation")) { long Sys_Obs_ID = _da.ExecuteScalar("select NVL(Max(Sys_Observation_ID),0) from ACTIVITY_OBSERVATIONS"); string ObsType, ObsCode = "", ObsValue = "", ObsValueType; ObsType = observ["Type"].ToString(); ObsValueType = observ["ValueType"].ToString(); if (string.IsNullOrEmpty(ObsType)) { ObsType = ObsType.Replace("'", ""); } if (string.IsNullOrEmpty(observ["Code"].ToString())) { ObsCode = observ["Code"].ToString().Replace("'", ""); } if (string.IsNullOrEmpty(ObsValueType)) { ObsValueType = ObsValueType.Replace("'", ""); } if (ObsType == "File") { string filename = ConfigurationSettings.AppSettings["ClaimObservation"].ToString() + "\\" + Guid.NewGuid().ToString() + "." + ObsValueType; WriteObservationAttachment(filename, observ["Value"].ToString()); ObsValue = filename; } string cmd4 = "Insert Into ACTIVITY_OBSERVATIONS (Sys_Observation_ID,Sys_Activity_ID,Observation_Type,Observation_Code, " + " ValueType,Value) Values " + " (" + Sys_Obs_ID + "," + Sys_Act_ID + ",'" + ObsType + "','" + ObsCode + "','" + ObsValueType + "','" + ObsValue + "')"; Result = _da.ExecuteQuery(cmd4); } #endregion } #endregion #region Resubmission foreach (DataRow resub in claim.GetChildRows("Claim_Resubmission")) { string ResubType, ResubComment; ResubType = resub["Type"].ToString(); ResubComment = resub["Comment"].ToString(); Result = _da.ExecuteQuery("Update Eclaims Set Resubmission_type = '" + ResubType + "',Resubmission_Comment = '" + ResubComment + "',ISResubmission = 1 Where Sys_Claim_ID = " + Sys_Claim_ID); try { if (resub["Attachment"].ToString() != string.Empty) { string PDFFilePath = ConfigurationSettings.AppSettings["ResubmissionClaims"].ToString(); if (!Directory.Exists(PDFFilePath)) { Directory.CreateDirectory(PDFFilePath); } try { string AttachmentPath = PDFFilePath + "\\" + claim["ID"].ToString() + ".pdf"; byte[] toEncodeAsBytes = System.Convert.FromBase64String(resub["Attachment"].ToString()); File.WriteAllBytes(AttachmentPath, toEncodeAsBytes); } catch { } } } catch { } } #endregion } catch { } } #endregion }
private void SetInnerType(ObsType ContentField) { this.ContentField = ((ObsType)(XTypedServices.GetCloneIfRooted(ContentField))); XTypedServices.SetName(this, this.ContentField); }
/// <summary> /// <para> /// ObsType acts as a structural base, which is extended through the addition of attributes to reflect the particular needs of a specific key family using the xs:extends element. It is capable of expressing the value and attributes of any single available cross-sectional measure (when extended). /// </para> /// </summary> public Obs(ObsType content) { SetInnerType(content); }