Exemple #1
0
        public static void Execute(IHL7MessageAdapter hl7)
        {
            var AccessionNumber = hl7.getImageServiceRequest()?.AccessionNumber;

            if (string.IsNullOrEmpty(AccessionNumber))
            {
                AccessionNumber = UniqueIdProvider.NewUnique16BytesId();
            }

            var AdmissionID = hl7.getVisit()?.AdmissionID;

            if (string.IsNullOrEmpty(AdmissionID))
            {
                AdmissionID = UniqueIdProvider.NewUnique16BytesId();
            }

            if (null != hl7.getVisit())
            {
                hl7.getVisit().AdmissionID = AdmissionID;
            }
            if (null != hl7.getImageServiceRequest())
            {
                hl7.getImageServiceRequest().AccessionNumber = AccessionNumber;
            }
            if (null != hl7.getProcedure())
            {
                hl7.getProcedure().RequestedProcedureID = AccessionNumber;
            }
            if (null != hl7.getProcedureStep())
            {
                hl7.getProcedureStep().ScheduledProcedureStepID = AccessionNumber;
            }
        }
Exemple #2
0
 static private string resolve(string name)
 {
     if (_defaults.ContainsKey(name))
     {
         var def = _defaults[name];
         if (def[0] != '%')
         {
             return(def);
         }
         else if (def == "%Unique")
         {
             return(UniqueIdProvider.NewUnique16BytesId());
         }
         else if (def == "%UniqueDicom")
         {
             return(UniqueIdProvider.GenerateDicomUniqueIdentifier());
         }
         else
         {
             System.Diagnostics.Debug.Assert(false);
         }
     }
     return(string.Empty);
 }
Exemple #3
0
        public override void Execute()
        {
            var ds = State as MWLDataset;

            {
                var pr     = ds.Patient.Count > 0 ? ds.Patient[0]:null;
                var vr     = ds.Visit.Count > 0 ? ds.Visit[0] : null;
                var isrr   = ds.ImagingServiceRequest.Count > 0? ds.ImagingServiceRequest[0] : null;
                var rpr    = ds.RequestedProcedure.Count > 0? ds.RequestedProcedure[0] : null;
                var rfps   = ds.ReferencedPatientSequence.Count > 0 ? ds.ReferencedPatientSequence[0]:null;
                var spsr   = ds.ScheduledProcedureStep.Count > 0? ds.ScheduledProcedureStep[0] : null;
                var ssaetr = ds.ScheduledStationAETitles.Count > 0? ds.ScheduledStationAETitles[0] : null;

                var AccessionNumber = isrr.AccessionNumber;
                if (string.IsNullOrEmpty(AccessionNumber))
                {
                    AccessionNumber = UniqueIdProvider.NewUnique16BytesId();
                }

                var AdmissionID = vr?.AdmissionID;
                if (string.IsNullOrEmpty(AdmissionID))
                {
                    AdmissionID = UniqueIdProvider.NewUnique16BytesId();
                }

                if (null != vr)
                {
                    vr.AdmissionID = AdmissionID;
                }
                if (null != rpr)
                {
                    rpr.AdmissionID = AdmissionID;
                }
                if (null != rfps)
                {
                    rfps.AdmissionID = AdmissionID;
                }
                if (null != isrr)
                {
                    isrr.AccessionNumber = AccessionNumber;
                }
                if (null != rpr)
                {
                    rpr.AccessionNumber = AccessionNumber;
                }
                if (null != rpr)
                {
                    rpr.RequestedProcedureID = AccessionNumber;
                }
                if (null != spsr)
                {
                    spsr.ScheduledProcedureStepID = AccessionNumber;
                }
                if (null != spsr)
                {
                    spsr.AccessionNumber = AccessionNumber;
                }
                if (null != spsr)
                {
                    spsr.RequestedProcedureID = AccessionNumber;
                }
                if (null != ssaetr)
                {
                    ssaetr.ScheduledProcedureStepID = AccessionNumber;
                }
            }
        }