/// <summary> Populates a query object created by the base class. </summary> /// <param name="context"></param> /// <param name="pQuery"></param> protected override void PopulateQuery(CodeActivityContext context, ImpacRdbQuery pQuery) { // Activity input int patId = PatId.Get(context); int sitId = SitId.Get(context); var pm = ImpacPersistenceManagerFactory.CreatePersistenceManager(); // Get the Sit_Set_Id of the Site (Sit_Id) given int sitSetId; var query = new ImpacRdbQuery(typeof(PrescriptionSite)); query.AddClause(PrescriptionSite.SIT_IDEntityColumn, EntityQueryOp.EQ, sitId); var site = pm.GetEntities <PrescriptionSite>(query); if (site.Count != 1) { sitSetId = -1; } else { sitSetId = (int)site[0].SIT_SET_ID; } // Build the query pQuery.AddClause(Field.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId); pQuery.AddClause(Field.SIT_Set_IDEntityColumn, EntityQueryOp.EQ, sitSetId); pQuery.AddClause(Field.VersionEntityColumn, EntityQueryOp.EQ, 0); pQuery.AddOrderBy(Field.DisplaySequenceEntityColumn); }
/// <summary> Populates a query object created by the base class. </summary> /// <param name="context"></param> /// <param name="pQuery"></param> protected override void PopulateQuery(CodeActivityContext context, ImpacRdbQuery pQuery) { // Activity inputs int patId1 = PatId1.Get(context); string siteName = SiteName.Get(context); // Build the query pQuery.AddClause(PrescriptionSite.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId1); pQuery.AddClause(PrescriptionSite.VersionEntityColumn, EntityQueryOp.EQ, 0); if (siteName == null) { pQuery.AddClause(PrescriptionSite.SiteNameEntityColumn.ColumnName, EntityQueryOp.EQ, "Dummy string to force empty result!"); } else { // Keep string.Empty in just for consistency since Site Name cannot be an empty string if (siteName == string.Empty) { pQuery.AddClause(PrescriptionSite.SiteNameEntityColumn, EntityQueryOp.EQ, string.Empty); } else { pQuery.AddClause(PrescriptionSite.SiteNameEntityColumn, EntityQueryOp.Contains, siteName); } } pQuery.AddOrderBy(PrescriptionSite.DisplaySequenceEntityColumn); }
private void CdsReferenceSelector_Load(object sender, EventArgs e) { try { var query = new ImpacRdbQuery(typeof(CDSReference)); query.AddClause(CDSReferenceDataRow.InactiveEntityColumn, EntityQueryOp.EQ, false); query.AddOrderBy(CDSReferenceDataRow.TitleEntityColumn); EntityList <CDSReference> list = _pm.GetEntities <CDSReference>(query); bsCdsReference.DataSource = list; gridCdsReference.ForceInitialize(); for (int i = 0; i < gridViewCdsReference.RowCount; i++) { int index = gridViewCdsReference.GetDataSourceRowIndex(i); var cdsRef = (CDSReference)bsCdsReference[index]; if (cdsRef != null && cdsRef.CDSR_ID == Value) { gridViewCdsReference.FocusedRowHandle = i; break; } } } catch (Exception) { bsCdsReference.Clear(); } }
private void FlowsheetItemSelector_Load(object sender, EventArgs e) { try { var query = new ImpacRdbQuery(typeof(ObsDef)); query.AddClause(ObsDefDataRow.TypeEntityColumn, EntityQueryOp.EQ, (int)MedDefs.ObdType.ViewFilter); query.AddClause(ObsDefDataRow.ActiveEntityColumn, EntityQueryOp.EQ, true); query.AddOrderBy(ObsDefDataRow.LabelEntityColumn); _tabNames = _pm.GetEntities <ObsDef>(query); InitDropDown(lookUpEditFlowsheetTab, _tabNames, Value.TabGuid); LoadTabViews(); InitDropDown(lookUpEditFlowsheetViews, _tabViews, Value.ItemGuids != null ? Value.ViewGuid : Guid.Empty); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("FlowsheetItemSelector: " + ex); } if (Value.ItemGuids == null) { return; } // disable the logic in treeTabViewItems_AfterCheck in this case, because // we will set the Checked flag on each node individually _initializingItemState = true; int pos = 0; SetCheckedItems(treeTabViewItems.Nodes, Value.ItemGuids, ref pos); _initializingItemState = false; }
/// <summary> Populates a query object created by the base class. </summary> /// <param name="context"></param> /// <param name="pQuery"></param> protected override void PopulateQuery(CodeActivityContext context, ImpacRdbQuery pQuery) { // Activity inputs int patId = PatId.Get(context); int pcpId = PcpId.Get(context); pQuery.AddClause(PrescriptionSite.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId); pQuery.AddClause(PrescriptionSite.PCP_IDEntityColumn, EntityQueryOp.EQ, pcpId); pQuery.AddClause(PrescriptionSite.VersionEntityColumn, EntityQueryOp.EQ, 0); pQuery.AddOrderBy(PrescriptionSite.DisplaySequenceEntityColumn); }
/// <summary> /// Handles form Loading /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void IntentPromptSelectorForm_Load(object sender, EventArgs e) { if (!DesignMode) { //pm = ImpacPersistenceManagerFactory.CreatePersistenceManager(); var query = new ImpacRdbQuery(typeof(Prompt)); query.AddClause(PromptDataRow.PGroupEntityColumn, EntityQueryOp.EQ, "MEDA"); query.AddOrderBy(PromptDataRow.TextEntityColumn, ListSortDirection.Ascending); _promptValues = _pm.GetEntities <Prompt>(query); bsPropmt.DataSource = _promptValues; } }
/// <summary> Populates a query object created by the base class. </summary> /// <param name="context"></param> /// <param name="pQuery"></param> protected override void PopulateQuery(CodeActivityContext context, ImpacRdbQuery pQuery) { // Activity inputs int patId1 = PatId1.Get(context); string commentFieldString = CommentFieldString.Get(context); string patternFieldString = PatternFieldString.Get(context); EntityBooleanOp logicalOperator = ((LogicalOperator.Expression != null) ? LogicalOperator.Get(context) : EntityBooleanOp.Or) ?? EntityBooleanOp.Or; // Build the query pQuery.AddClause(PrescriptionSite.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId1); pQuery.AddClause(PrescriptionSite.VersionEntityColumn, EntityQueryOp.EQ, 0); if ((commentFieldString == null) && (patternFieldString == null)) { // Don't want to change the base class to handle "empty" queries, so just perform a ridiculous query that will return // an empty result (in case none of the string identifiers have been supplied) pQuery.AddClause(PrescriptionSite.PrescriptionDescriptionEntityColumn.ColumnName, EntityQueryOp.EQ, "Dummy string to force empty result!"); } else { if (commentFieldString != null) { if (commentFieldString == string.Empty) { pQuery.AddClause(PrescriptionSite.PrescriptionDescriptionEntityColumn, EntityQueryOp.EQ, string.Empty); } else { pQuery.AddClause(PrescriptionSite.PrescriptionDescriptionEntityColumn, EntityQueryOp.Contains, commentFieldString); } } if (patternFieldString != null) { if (patternFieldString == string.Empty) { pQuery.AddClause(PrescriptionSite.Frac_PatternEntityColumn, EntityQueryOp.EQ, string.Empty); } else { pQuery.AddClause(PrescriptionSite.Frac_PatternEntityColumn, EntityQueryOp.Contains, patternFieldString); } } if ((commentFieldString != null) && (patternFieldString != null)) { pQuery.AddOperator(logicalOperator); } } pQuery.AddOrderBy(PrescriptionSite.DisplaySequenceEntityColumn); }
private void LoadTabViews() { var query = new ImpacRdbQuery(typeof(ObsDef)); query.AddClause(ObsDefDataRow.OBD_GUIDEntityColumn, EntityQueryOp.EQ, Value.TabGuid); var tab = _pm.GetEntity <ObsDef>(query); query = new ImpacRdbQuery(typeof(ObsDef)); query.AddClause(ObsDefDataRow.TypeEntityColumn, EntityQueryOp.EQ, 1); query.AddClause(ObsDefDataRow.TblEntityColumn, EntityQueryOp.EQ, tab.Tbl); query.AddClause(ObsDefDataRow.ActiveEntityColumn, EntityQueryOp.EQ, true); query.AddOrderBy(ObsDefDataRow.LabelEntityColumn); _tabViews = _pm.GetEntities <ObsDef>(query); }
private IEnumerable <ObsDef> LoadTabViewItems(int viewId) { var subQuery = new ImpacRdbQuery(typeof(ObsDef)); subQuery.AddClause(ObsDefDataRow.TypeEntityColumn, EntityQueryOp.EQ, 12); subQuery.AddClause(ObsDefDataRow.View_IDEntityColumn, EntityQueryOp.EQ, viewId); subQuery.AddOrderBy(ObsDefDataRow.SeqEntityColumn); // chart items (obsdef.type=12) are internal only and don't need Active filter. var defs = _pm.GetEntities <ObsDef>(subQuery); var ids = defs.Select(o => o.Item_ID).ToList(); var query = new ImpacRdbQuery(typeof(ObsDef)); query.AddClause(ObsDefDataRow.OBD_IDEntityColumn, EntityQueryOp.In, ids); query.AddClause(ObsDefDataRow.ActiveEntityColumn, EntityQueryOp.EQ, true); var obsDefs = _pm.GetEntities <ObsDef>(query); // sort the result in the same order of IDs as in the 'ids' list var result = ids.Select(id => obsDefs.Find(o => o.OBD_ID == id)).ToList(); return(result.ToArray()); }
/// <summary> /// Activity heavy lifting. /// </summary> /// <param name="context"></param> protected override void DoWork(CodeActivityContext context) { // Activity inputs int patId = PatId.Get(context); int sitId = SitId.Get(context); int pciId = PciId.Get(context); int statusEnum = StatusEnum.Expression != null?StatusEnum.Get(context) : 5; if ((statusEnum != 5) && (statusEnum != 7)) { statusEnum = 7; } bool useAfs = UseAfs.Expression != null?UseAfs.Get(context) : false; bool useMfs = UseMfs.Expression != null?UseMfs.Get(context) : false; ImpacPersistenceManager pm = PersistenceManager.Expression != null ? PersistenceManager.Get(context) : PM; // Activity output FieldsInserted.Set(context, -1); // Initialize the Activity output to -1 (indication of error) // Do not continue if both AFS and MFS are set to true (there is no way to resolve this at run time) if (useAfs && useMfs) { return; } // Get the Sit_Set_Id of the Site (Sit_Id) given var query = new ImpacRdbQuery(typeof(PrescriptionSite)); query.AddClause(PrescriptionSiteDataRow.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId); query.AddClause(PrescriptionSiteDataRow.SIT_IDEntityColumn, EntityQueryOp.EQ, sitId); var site = pm.GetEntities <PrescriptionSite>(query); if (site.Count != 1) { return; } int sitSetId = (int)site[0].SIT_SET_ID.GetValueOrDefault(0); // Get the list of treatment fields from the given Rad Rx to insert query = new ImpacRdbQuery(typeof(Field)); query.AddClause(FieldDataRow.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId); query.AddClause(FieldDataRow.SIT_Set_IDEntityColumn, EntityQueryOp.EQ, sitSetId); query.AddClause(FieldDataRow.VersionEntityColumn, EntityQueryOp.EQ, 0); query.AddOrderBy(FieldDataRow.DisplaySequenceEntityColumn); var txField = pm.GetEntities <Field>(query); if (txField.Count == 0) { return; } // Make sure we have a (1) session to insert the fields in to query = new ImpacRdbQuery(typeof(PatCItem)); query.AddClause(PatCItemDataRow.Pat_ID1EntityColumn, EntityQueryOp.EQ, patId); query.AddClause(PatCItemDataRow.PCI_IDEntityColumn, EntityQueryOp.EQ, pciId); var calendarSession = pm.GetEntities <PatCItem>(query); if (calendarSession.Count != 1) { return; } // Add new entry to PatTxCal for each treatment field int fieldsInserted = 0; try { for (int f = 0; f < txField.Count; f++) { PatTxCal sessionItem = PatTxCal.Create(pm); sessionItem.PCI_ID = calendarSession[0].PCI_ID; sessionItem.Status_enum = (byte)statusEnum; sessionItem.Pat_ID1 = patId; sessionItem.FLD_Set_ID = txField[f].FLD_SET_ID; sessionItem.TxSequence = (short)(f + 1); sessionItem.ProFormaPF = 0; if (useAfs) { if (f == 0) { sessionItem.AFS_Begin = true; } else { sessionItem.AFS = true; } } if (useMfs) { if (f == 0) { sessionItem.MFS_Begin = true; } else { sessionItem.MFS = true; } } sessionItem.PF_Only = txField[f].Type_Enum == 3 || txField[f].Type_Enum == 4 || txField[f].Type_Enum == 5 || txField[f].Type_Enum == 9; //FLD.Type_Enum: 3=Setup, 4=kV Setup, 5=CT, 9=MVCT pm.SaveChanges(); fieldsInserted++; } } catch { fieldsInserted = -1; } finally { FieldsInserted.Set(context, fieldsInserted); } }