コード例 #1
0
 public void ProcessPerformanceOutcomeMeasure(Admission admission, PerformanceOutcomeMeasure outcomeMeasure)
 {
     if (admission.PerformanceOutcomeMeasures.Any(p => p.SourceRecordIdentifier == outcomeMeasure.SourceRecordIdentifier))
     {
         //same record so just replace it.
         var existingPerf = admission.PerformanceOutcomeMeasures.Where(p => p.SourceRecordIdentifier == outcomeMeasure.SourceRecordIdentifier).FirstOrDefault();
         int id           = admission.PerformanceOutcomeMeasures.IndexOf(existingPerf);
         outcomeMeasure.Admission_SourceRecordIdentifier = admission.SourceRecordIdentifier;
         admission.PerformanceOutcomeMeasures[id]        = outcomeMeasure;
         return;
     }
     if (admission.PerformanceOutcomeMeasures.Any(p => p.PerformanceOutcomeMeasureDate == outcomeMeasure.PerformanceOutcomeMeasureDate))
     {
         //complex data merge here.
         return;
     }
     //last option
     outcomeMeasure.Admission_SourceRecordIdentifier = admission.SourceRecordIdentifier;
     admission.PerformanceOutcomeMeasures.Add(outcomeMeasure);
 }
コード例 #2
0
 public void ProcessPerformanceOutcomeMeasure(Discharge discharge, PerformanceOutcomeMeasure outcomeMeasure)
 {
     if (discharge.PerformanceOutcomeMeasures == null)
     {
         discharge.PerformanceOutcomeMeasures = outcomeMeasure;
         return;
     }
     if (discharge.PerformanceOutcomeMeasures.SourceRecordIdentifier == outcomeMeasure.SourceRecordIdentifier)
     {
         //same record so just replace it.
         discharge.PerformanceOutcomeMeasures = outcomeMeasure;
         return;
     }
     if (discharge.PerformanceOutcomeMeasures.PerformanceOutcomeMeasureDate != outcomeMeasure.PerformanceOutcomeMeasureDate)
     {
         //complex data merge here.
         return;
     }
     //last option
     discharge.PerformanceOutcomeMeasures = outcomeMeasure;
 }