/// <summary> /// Loads collection of <see cref="DataModelMeasurement"/> defined in the database. /// </summary> public override void Load() { Mouse.OverrideCursor = Cursors.Wait; try { if (m_filterByInternal) { m_measurements = DataModelMeasurement.Load(null, m_deviceID, true, m_includeInternal); } else { m_measurements = MeasurementGroup.GetPossibleMeasurements(null, 0); } ItemsSource = m_measurements; } catch (Exception ex) { if (ex.InnerException != null) { Popup(ex.Message + Environment.NewLine + "Inner Exception: " + ex.InnerException.Message, "Load " + DataModelName + " Exception:", MessageBoxImage.Error); CommonFunctions.LogException(null, "Load " + DataModelName, ex.InnerException); } else { Popup(ex.Message, "Load " + DataModelName + " Exception:", MessageBoxImage.Error); CommonFunctions.LogException(null, "Load " + DataModelName, ex); } } finally { Mouse.OverrideCursor = null; } }
private void ReloadMemberMeasurementsPager() { MeasurementGroup currentItem = m_dataContext.CurrentItem; MemberMeasurementsPager.FilterExpression = string.Format("SignalID IN (SELECT SignalID FROM MeasurementGroupMeasurement WHERE NodeID = '{0}' AND MeasurementGroupID = {1})", currentItem.NodeID.ToString().ToLower(), currentItem.ID); MemberMeasurementsPager.ReloadDataGrid(); }
private static void HandleFinding(Dictionary <string, List <MeasurementGroup> > findings, DicomContentItem finding) { string sitename = ""; foreach (var site in finding.Children()) { if (site.Type != DicomValueType.Container) { sitename = site.Dataset.GetCodeItem(DicomTag.ConceptCodeSequence).Meaning; //Debug.WriteLine(sitename); } else { var measurements = new List <Measurement>(); foreach (var rawmeasurement in site.Children()) { Measurement measurement = GetMeasurementFromRaw(rawmeasurement); measurements.Add(measurement); //measurement.PrintDebug(); } if (findings.ContainsKey(sitename)) { findings[sitename].AddRange(MeasurementGroup.GroupMeasurements(measurements)); } else { findings.Add(sitename, MeasurementGroup.GroupMeasurements(measurements)); } } } }
public void GivenTemplate_WhenCreateObservationGroups_ThenPeriodIntervalCorrectlyUsed_Test() { var valueProcessor = Substitute.For <IFhirValueProcessor <IObservationData, DataType> >(); var template = Substitute.For <CodeValueFhirTemplate>().Mock(m => m.PeriodInterval.Returns(ObservationPeriodInterval.Single)); var measurementGroup = new MeasurementGroup { Data = new List <Measurement> { new Measurement { OccurrenceTimeUtc = DateTime.UtcNow }, }, }; var processor = new CodeValueFhirTemplateProcessor(valueProcessor); var result = processor.CreateObservationGroups(template, measurementGroup); Assert.Single(result); _ = template.Received(1).PeriodInterval; }
protected virtual void ProcessNormalizedEvent(Measurement normalizedEvent, ILookupTemplate <IFhirTemplate> fhirTemplate, DeviceResult validationResult) { var measurementGroup = new MeasurementGroup { MeasureType = normalizedEvent.Type, CorrelationId = normalizedEvent.CorrelationId, DeviceId = normalizedEvent.DeviceId, EncounterId = normalizedEvent.EncounterId, PatientId = normalizedEvent.PatientId, Data = new List <Measurement>() { normalizedEvent }, }; try { // Convert Measurement to Observation Group var observationGroup = _fhirTemplateProcessor.CreateObservationGroups(fhirTemplate, measurementGroup).First(); // Build HL7 Observation validationResult.Observations.Add(_fhirTemplateProcessor.CreateObservation(fhirTemplate, observationGroup)); } catch (TemplateNotFoundException e) { validationResult.CaptureError( $"No Fhir Template exists with the type name [{e.Message}]. Ensure that all Fhir Template type names match Device Mapping type names (including casing)", ErrorLevel.ERROR, ValidationCategory.FHIRTRANSFORMATION, LineInfo.Default); } catch (Exception e) { validationResult.CaptureException(e, ValidationCategory.FHIRTRANSFORMATION); } }
// Attempt to get group name from group ID private string GetGroupName(int groupID) { return(MeasurementGroup.GetMeasurementGroup(null, groupID)?.Name ?? "Group"); }