private static void UpdateReport(string Username, HL7.Reportable.Common.Business.HL7.LabReport labReport, ChangeSetData change)
        {
            var obr = labReport.TestRequests.Where(tRequest => tRequest.OBR_ID == change.OBR_ID).FirstOrDefault();

            CodedElement ceHCC = new CodedElement()
            {
                Code = change.HealthCondition.ParentKey, Description = change.HealthCondition.ParentName, CodingSystem = change.HealthCondition.ParentCodingSystem
            };
            CodedElement ceHC = new CodedElement()
            {
                Code = change.HealthCondition.ChildKey, Description = change.HealthCondition.ChildName, CodingSystem = change.HealthCondition.ChildCodingSystem
            };

            if (change.OBX_ID == "NONE")
            { // update the OBR
                obr.PHRED_AssignedHCManually = true;
                obr.PHRED_AssignerUserKey    = Username;
                //obx.PHRED_AssignmentNote = "Another Note";
                obr.PHRED_AssignedDtTm = DateTime.Now.ToString();
                obr.PHRED_AssignedHCC  = ceHCC;
                obr.PHRED_AssignedHC   = ceHC;
            }
            else
            {
                var obx = obr.TestResults.Where(tResult => tResult.OBX_ID == change.OBX_ID).FirstOrDefault();

                obx.PHRED_AssignedHCManually = true;
                obx.PHRED_AssignerUserKey    = Username;
                //obx.PHRED_AssignmentNote = "Another Note";
                obx.PHRED_AssignedDtTm = DateTime.Now.ToString();
                obx.PHRED_AssignedHCC  = ceHCC;
                obx.PHRED_AssignedHC   = ceHC;
            }
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            PrimaryKeyValueLdp  = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[1], false, seps) : null;
            LocationDepartment  = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            LocationService     = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            SpecialtyType       = segments.Length > 4 && segments[4].Length > 0 ? segments[4].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            ValidPatientClasses = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            ActiveInactiveFlag  = segments.Length > 6 && segments[6].Length > 0 ? segments[6] : null;
            ActivationDateLdp   = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            InactivationDateLdp = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDateTime() : null;
            InactivatedReason   = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            VisitingHours       = segments.Length > 10 && segments[10].Length > 0 ? segments[10].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <VisitingHours>(x, false, seps)) : null;
            ContactPhone        = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[11], false, seps) : null;
            LocationCostCenter  = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[12], false, seps) : null;
        }
Exemplo n.º 3
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdPr1 = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            ProcedureCodingMethod   = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            ProcedureCode           = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            ProcedureDescription    = segments.Length > 4 && segments[4].Length > 0 ? segments[4] : null;
            ProcedureDateTime       = segments.Length > 5 && segments[5].Length > 0 ? segments[5].ToNullableDateTime() : null;
            ProcedureFunctionalType = segments.Length > 6 && segments[6].Length > 0 ? segments[6] : null;
            ProcedureMinutes        = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDecimal() : null;
            Anesthesiologist        = segments.Length > 8 && segments[8].Length > 0 ? segments[8].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            AnesthesiaCode          = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            AnesthesiaMinutes       = segments.Length > 10 && segments[10].Length > 0 ? segments[10].ToNullableDecimal() : null;
            Surgeon = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            ProcedurePractitioner   = segments.Length > 12 && segments[12].Length > 0 ? segments[12].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            ConsentCode             = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[13], false, seps) : null;
            ProcedurePriority       = segments.Length > 14 && segments[14].Length > 0 ? segments[14] : null;
            AssociatedDiagnosisCode = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[15], false, seps) : null;
        }
Exemplo n.º 4
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SubstanceIdentifier          = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            SubstanceStatus              = segments.Length > 2 && segments[2].Length > 0 ? segments[2].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            SubstanceType                = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            InventoryContainerIdentifier = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
            ContainerCarrierIdentifier   = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            PositionOnCarrier            = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[6], false, seps) : null;
            InitialQuantity              = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDecimal() : null;
            CurrentQuantity              = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDecimal() : null;
            AvailableQuantity            = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDecimal() : null;
            ConsumptionQuantity          = segments.Length > 10 && segments[10].Length > 0 ? segments[10].ToNullableDecimal() : null;
            QuantityUnits                = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[11], false, seps) : null;
            ExpirationDateTime           = segments.Length > 12 && segments[12].Length > 0 ? segments[12].ToNullableDateTime() : null;
            FirstUsedDateTime            = segments.Length > 13 && segments[13].Length > 0 ? segments[13].ToNullableDateTime() : null;
            OnBoardStabilityDuration     = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <TimingQuantity>(segments[14], false, seps) : null;
            TestFluidIdentifiers         = segments.Length > 15 && segments[15].Length > 0 ? segments[15].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            ManufacturerLotNumber        = segments.Length > 16 && segments[16].Length > 0 ? segments[16] : null;
            ManufacturerIdentifier       = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[17], false, seps) : null;
            SupplierIdentifier           = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[18], false, seps) : null;
        }
Exemplo n.º 5
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            UniversalServiceIdentifier            = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            AutoDilutionFactor                    = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[2], false, seps) : null;
            RerunDilutionFactor                   = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[3], false, seps) : null;
            PreDilutionFactor                     = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[4], false, seps) : null;
            EndogenousContentOfPreDilutionDiluent = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[5], false, seps) : null;
            AutomaticRepeatAllowed                = segments.Length > 6 && segments[6].Length > 0 ? segments[6] : null;
            ReflexAllowed       = segments.Length > 7 && segments[7].Length > 0 ? segments[7] : null;
            AnalyteRepeatStatus = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[8], false, seps) : null;
        }
Exemplo n.º 6
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            UniversalServiceIdentifier         = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            EquipmentTestApplicationIdentifier = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            SpecimenSource                        = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <SpecimenSource>(segments[3], false, seps) : null;
            AutoDilutionFactorDefault             = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[4], false, seps) : null;
            RerunDilutionFactorDefault            = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[5], false, seps) : null;
            PreDilutionFactorDefault              = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[6], false, seps) : null;
            EndogenousContentOfPreDilutionDiluent = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[7], false, seps) : null;
            InventoryLimitsWarningLevel           = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDecimal() : null;
            AutomaticRerunAllowed                 = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            AutomaticRepeatAllowed                = segments.Length > 10 && segments[10].Length > 0 ? segments[10] : null;
            AutomaticReflexAllowed                = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            EquipmentDynamicRange                 = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <StructuredNumeric>(segments[12], false, seps) : null;
            Units          = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[13], false, seps) : null;
            ProcessingType = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[14], false, seps) : null;
        }
Exemplo n.º 7
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SponsorStudyId   = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            AlternateStudyId = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            InstitutionRegisteringThePatient = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            SponsorPatientId      = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[4], false, seps) : null;
            AlternatePatientIdCsr = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[5], false, seps) : null;
            DateTimeOfPatientStudyRegistration = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            PersonPerformingStudyRegistration  = segments.Length > 7 && segments[7].Length > 0 ? segments[7].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            StudyAuthorizingProvider           = segments.Length > 8 && segments[8].Length > 0 ? segments[8].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            DateTimePatientStudyConsentSigned  = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDateTime() : null;
            PatientStudyEligibilityStatus      = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[10], false, seps) : null;
            StudyRandomizationDateTime         = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => x.ToDateTime()) : null;
            RandomizedStudyArm           = segments.Length > 12 && segments[12].Length > 0 ? segments[12].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            StratumForStudyRandomization = segments.Length > 13 && segments[13].Length > 0 ? segments[13].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            PatientEvaluabilityStatus    = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[14], false, seps) : null;
            DateTimeEndedStudy           = segments.Length > 15 && segments[15].Length > 0 ? segments[15].ToNullableDateTime() : null;
            ReasonEndedStudy             = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[16], false, seps) : null;
        }
Exemplo n.º 8
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdAil                 = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            SegmentActionCode        = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            LocationResourceId       = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[3], false, seps) : null;
            LocationTypeAil          = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
            LocationGroup            = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            StartDateTime            = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            StartDateTimeOffset      = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDecimal() : null;
            StartDateTimeOffsetUnits = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[8], false, seps) : null;
            Duration                 = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDecimal() : null;
            DurationUnits            = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[10], false, seps) : null;
            AllowSubstitutionCode    = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            FillerStatusCode         = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[12], false, seps) : null;
        }
Exemplo n.º 9
0
        public static string ConcatCE(CodedElement ce)
        {
            StringBuilder output = new StringBuilder();

            if (!(String.IsNullOrWhiteSpace(ce.Code) && String.IsNullOrWhiteSpace(ce.Description) && String.IsNullOrWhiteSpace(ce.CodingSystem)))
            {
                AddIfNotEmpty_CE(ref output, ce.Code);
                AddIfNotEmpty_CE(ref output, ce.Description);
                AddIfNotEmpty_CE(ref output, ce.CodingSystem);
            }

            if (!(String.IsNullOrWhiteSpace(ce.AltCode) && String.IsNullOrWhiteSpace(ce.AltDescription) && String.IsNullOrWhiteSpace(ce.AltCodingSystem)))
            {
                if (output.Length > 0)
                {
                    output.Append(CONTROL_LINEFEED);
                }

                AddIfNotEmpty_CE(ref output, ce.AltCode);
                AddIfNotEmpty_CE(ref output, ce.AltDescription);
                AddIfNotEmpty_CE(ref output, ce.AltCodingSystem);
            }

            return(output.ToString());
        }
Exemplo n.º 10
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            RoleInstanceId    = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            ActionCode        = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            RoleRol           = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            RolePerson        = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[4], false, seps) : null;
            RoleBeginDateTime = segments.Length > 5 && segments[5].Length > 0 ? segments[5].ToNullableDateTime() : null;
            RoleEndDateTime   = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            RoleDuration      = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[7], false, seps) : null;
            RoleActionReason  = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[8], false, seps) : null;
        }
Exemplo n.º 11
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdPid              = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            PatientId             = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[2], false, seps) : null;
            PatientIdentifierList = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            AlternatePatientIdPid = segments.Length > 4 && segments[4].Length > 0 ? segments[4].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            PatientName           = segments.Length > 5 && segments[5].Length > 0 ? segments[5].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedPersonName>(x, false, seps)) : null;
            MothersMaidenName     = segments.Length > 6 && segments[6].Length > 0 ? segments[6].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedPersonName>(x, false, seps)) : null;
            DateTimeOfBirth       = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            AdministrativeSex     = segments.Length > 8 && segments[8].Length > 0 ? segments[8] : null;
            PatientAlias          = segments.Length > 9 && segments[9].Length > 0 ? segments[9].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedPersonName>(x, false, seps)) : null;
            Race                        = segments.Length > 10 && segments[10].Length > 0 ? segments[10].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            PatientAddress              = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedAddress>(x, false, seps)) : null;
            CountyCode                  = segments.Length > 12 && segments[12].Length > 0 ? segments[12] : null;
            PhoneNumberHome             = segments.Length > 13 && segments[13].Length > 0 ? segments[13].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(x, false, seps)) : null;
            PhoneNumberBusiness         = segments.Length > 14 && segments[14].Length > 0 ? segments[14].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(x, false, seps)) : null;
            PrimaryLanguage             = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[15], false, seps) : null;
            MaritalStatus               = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[16], false, seps) : null;
            Religion                    = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[17], false, seps) : null;
            PatientAccountNumber        = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(segments[18], false, seps) : null;
            SsnNumberPatient            = segments.Length > 19 && segments[19].Length > 0 ? segments[19] : null;
            DriversLicenseNumberPatient = segments.Length > 20 && segments[20].Length > 0 ? TypeSerializer.Deserialize <DriversLicenseNumber>(segments[20], false, seps) : null;
            MothersIdentifier           = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdWithCheckDigit>(x, false, seps)) : null;
            EthnicGroup                 = segments.Length > 22 && segments[22].Length > 0 ? segments[22].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            BirthPlace                  = segments.Length > 23 && segments[23].Length > 0 ? segments[23] : null;
            MultipleBirthIndicator      = segments.Length > 24 && segments[24].Length > 0 ? segments[24] : null;
            BirthOrder                  = segments.Length > 25 && segments[25].Length > 0 ? segments[25].ToNullableDecimal() : null;
            Citizenship                 = segments.Length > 26 && segments[26].Length > 0 ? segments[26].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            VeteransMilitaryStatus      = segments.Length > 27 && segments[27].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[27], false, seps) : null;
            Nationality                 = segments.Length > 28 && segments[28].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[28], false, seps) : null;
            PatientDeathDateAndTime     = segments.Length > 29 && segments[29].Length > 0 ? segments[29].ToNullableDateTime() : null;
            PatientDeathIndicator       = segments.Length > 30 && segments[30].Length > 0 ? segments[30] : null;
            IdentityUnknownIndicator    = segments.Length > 31 && segments[31].Length > 0 ? segments[31] : null;
            IdentityReliabilityCode     = segments.Length > 32 && segments[32].Length > 0 ? segments[32].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            LastUpdateDateTime          = segments.Length > 33 && segments[33].Length > 0 ? segments[33].ToNullableDateTime() : null;
            LastUpdateFacility          = segments.Length > 34 && segments[34].Length > 0 ? TypeSerializer.Deserialize <HierarchicDesignator>(segments[34], false, seps) : null;
            TaxonomicClassificationCode = segments.Length > 35 && segments[35].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[35], false, seps) : null;
            BreedCode                   = segments.Length > 36 && segments[36].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[36], false, seps) : null;
            Strain                      = segments.Length > 37 && segments[37].Length > 0 ? segments[37] : null;
            ProductionClassCode         = segments.Length > 38 && segments[38].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[38], false, seps) : null;
        }
Exemplo n.º 12
0
        public void SaveHealthCondition()
        {
            String _CodingSystem = "Anthrax";
            String Key           = "Anthrax";
            String Name          = "Anthrax";


            using (ExportQueueTable exp = new ExportQueueTable(GeneralHelper.ConnectionString, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
            {
                var update_msh_id   = 100;
                var exportQueueItem = exp.Items_ExportQueue.Where(eq => eq.MSH_ID == update_msh_id).FirstOrDefault();
                var batchItem       = HL7.Reportable.Common.Common.DeserializeXmlToObject <HL7.Reportable.Common.Business.HL7.ExportBatch>(exportQueueItem.Process_Message);
                var labReport       = batchItem.LabReports.Where(lr => lr.MSH_ID == update_msh_id.ToString()).FirstOrDefault();

                labReport.PHRED_Variables.PHRED_AssignmentNote = "The Note";


                string obr_id = "108";
                string obx_id = "110";

                var obr = labReport.TestRequests.Where(tRequest => tRequest.OBR_ID == obr_id).FirstOrDefault();
                var obx = obr.TestResults.Where(tResult => tResult.OBX_ID == obx_id).FirstOrDefault();

                CodedElement ceHCC = new CodedElement()
                {
                    Code = Key, Description = Name, CodingSystem = _CodingSystem
                };

                CodedElement ceHC = new CodedElement()
                {
                    Code = Key, Description = Name, CodingSystem = _CodingSystem
                };

                obx.PHRED_AssignedHCManually = true;
                obx.PHRED_AssignerUserKey    = "Active Directory Username";
                obx.PHRED_AssignmentNote     = "Another Note";
                obx.PHRED_AssignedDtTm       = DateTime.Now.ToString();
                obx.PHRED_AssignedHCC        = ceHCC;
                obx.PHRED_AssignedHC         = ceHC;


                // Update the Status
                exportQueueItem.Process_State = ProcessStateEnum.Pending;
                exportQueueItem.Save();



                // Revert it back
                //exportQueueItem.Process_Stage = ProcessStageEnum.Lookup;
                //exportQueueItem.Process_State = ProcessStateEnum.Failed;
                //exportQueueItem.Save();
            }
        }
Exemplo n.º 13
0
        internal CodedElement GetCodedElement(int fieldIndex)
        {
            CodedElement ce = new CodedElement();

            string fieldValue = GetField(fieldIndex);

            ce.Identifier                  = GetComponent(fieldValue, 0);
            ce.Text                        = GetComponent(fieldValue, 1);
            ce.NameOfCodingSystem          = GetComponent(fieldValue, 2);
            ce.AlternateIdentifier         = GetComponent(fieldValue, 3);
            ce.AlternateText               = GetComponent(fieldValue, 4);
            ce.AlternateNameOfCodingSystem = GetComponent(fieldValue, 5);

            return(ce);
        }
Exemplo n.º 14
0
        public void ToDelimitedString_WithAllProperties_ReturnsCorrectlySequencedFields()
        {
            IType hl7Type = new CodedElement
            {
                Identifier                  = "1",
                Text                        = "2",
                NameOfCodingSystem          = "3",
                AlternateIdentifier         = "4",
                AlternateText               = "5",
                NameOfAlternateCodingSystem = "6"
            };

            string expected = "1^2^3^4^5^6";
            string actual   = hl7Type.ToDelimitedString();

            Assert.Equal(expected, actual);
        }
Exemplo n.º 15
0
        /// <exception cref="ArgumentException">
        /// delimitedString does not begin with the proper segment Id.
        /// -or-
        /// delimitedString does not contain exactly four encoding characters.
        /// </exception>
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            if (delimitedString != null && delimitedString.Length > 3)
            {
                FieldSeparator = delimitedString[3].ToString();
            }

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(new[] { FieldSeparator }, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }'.", nameof(delimitedString));
                }
            }

            if (segments.Length < 2 || segments[1].Length != 4)
            {
                throw new ArgumentException($"{ nameof(delimitedString) } does not contain exactly four encoding characters.", nameof(delimitedString));
            }

            EncodingCharacters = segments[1];
            Separators seps = new Separators().UsingInput($"{ FieldSeparator }{ EncodingCharacters }");

            SendingApplication            = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <HierarchicDesignator>(segments[2], false, seps) : null;
            SendingFacility               = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <HierarchicDesignator>(segments[3], false, seps) : null;
            ReceivingApplication          = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <HierarchicDesignator>(segments[4], false, seps) : null;
            ReceivingFacility             = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <HierarchicDesignator>(segments[5], false, seps) : null;
            DateTimeOfMessage             = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDateTime() : null;
            Security                      = segments.Length > 7 && segments[7].Length > 0 ? segments[7] : null;
            MessageType                   = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <MessageType>(segments[8], false, seps) : null;
            MessageControlId              = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            ProcessingId                  = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <ProcessingType>(segments[10], false, seps) : null;
            VersionId                     = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            SequenceNumber                = segments.Length > 12 && segments[12].Length > 0 ? segments[12].ToNullableDecimal() : null;
            ContinuationPointer           = segments.Length > 13 && segments[13].Length > 0 ? segments[13] : null;
            AcceptAcknowledgmentType      = segments.Length > 14 && segments[14].Length > 0 ? segments[14] : null;
            ApplicationAcknowledgmentType = segments.Length > 15 && segments[15].Length > 0 ? segments[15] : null;
            CountryCode                   = segments.Length > 16 && segments[16].Length > 0 ? segments[16] : null;
            CharacterSet                  = segments.Length > 17 && segments[17].Length > 0 ? segments[17].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            PrincipalLanguageOfMessage    = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[18], false, seps) : null;
        }
Exemplo n.º 16
0
        public void FromDelimitedString_WithAllProperties_ReturnsCorrectlyInitializedFields()
        {
            IType expected = new CodedElement
            {
                Identifier                  = "1",
                Text                        = "2",
                NameOfCodingSystem          = "3",
                AlternateIdentifier         = "4",
                AlternateText               = "5",
                NameOfAlternateCodingSystem = "6"
            };

            IType actual = new CodedElement();

            actual.FromDelimitedString("1^2^3^4^5^6");

            expected.Should().BeEquivalentTo(actual);
        }
Exemplo n.º 17
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            DispenseSubIdCounter          = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            DispenseGiveCode              = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            DateTimeDispensed             = segments.Length > 3 && segments[3].Length > 0 ? segments[3].ToNullableDateTime() : null;
            ActualDispenseAmount          = segments.Length > 4 && segments[4].Length > 0 ? segments[4].ToNullableDecimal() : null;
            ActualDispenseUnits           = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            ActualDosageForm              = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[6], false, seps) : null;
            PrescriptionNumber            = segments.Length > 7 && segments[7].Length > 0 ? segments[7] : null;
            NumberOfRefillsRemaining      = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDecimal() : null;
            DispenseNotes                 = segments.Length > 9 && segments[9].Length > 0 ? segments[9].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            DispensingProvider            = segments.Length > 10 && segments[10].Length > 0 ? segments[10].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(x, false, seps)) : null;
            SubstitutionStatus            = segments.Length > 11 && segments[11].Length > 0 ? segments[11] : null;
            TotalDailyDose                = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CompositeQuantityWithUnits>(segments[12], false, seps) : null;
            DispenseToLocation            = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <LocationWithAddressVariationTwo>(segments[13], false, seps) : null;
            NeedsHumanReview              = segments.Length > 14 && segments[14].Length > 0 ? segments[14] : null;
            SpecialDispensingInstructions = segments.Length > 15 && segments[15].Length > 0 ? segments[15].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            ActualStrength                = segments.Length > 16 && segments[16].Length > 0 ? segments[16].ToNullableDecimal() : null;
            ActualStrengthUnit            = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[17], false, seps) : null;
            SubstanceLotNumber            = segments.Length > 18 && segments[18].Length > 0 ? segments[18].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            SubstanceExpirationDate       = segments.Length > 19 && segments[19].Length > 0 ? segments[19].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => x.ToDateTime()) : null;
            SubstanceManufacturerName     = segments.Length > 20 && segments[20].Length > 0 ? segments[20].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            Indication                = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            DispensePackageSize       = segments.Length > 22 && segments[22].Length > 0 ? segments[22].ToNullableDecimal() : null;
            DispensePackageSizeUnit   = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[23], false, seps) : null;
            DispensePackageMethod     = segments.Length > 24 && segments[24].Length > 0 ? segments[24] : null;
            SupplementaryCode         = segments.Length > 25 && segments[25].Length > 0 ? segments[25].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            InitiatingLocation        = segments.Length > 26 && segments[26].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[26], false, seps) : null;
            PackagingAssemblyLocation = segments.Length > 27 && segments[27].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[27], false, seps) : null;
        }
Exemplo n.º 18
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            QueryTag         = segments.Length > 1 && segments[1].Length > 0 ? segments[1] : null;
            MessageQueryName = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
        }
Exemplo n.º 19
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdFt1                  = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            TransactionId             = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            TransactionBatchId        = segments.Length > 3 && segments[3].Length > 0 ? segments[3] : null;
            TransactionDate           = segments.Length > 4 && segments[4].Length > 0 ? segments[4].ToNullableDateTime() : null;
            TransactionPostingDate    = segments.Length > 5 && segments[5].Length > 0 ? segments[5].ToNullableDateTime() : null;
            TransactionType           = segments.Length > 6 && segments[6].Length > 0 ? segments[6] : null;
            TransactionCode           = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[7], false, seps) : null;
            TransactionDescription    = segments.Length > 8 && segments[8].Length > 0 ? segments[8] : null;
            TransactionDescriptionAlt = segments.Length > 9 && segments[9].Length > 0 ? segments[9] : null;
            TransactionQuantity       = segments.Length > 10 && segments[10].Length > 0 ? segments[10].ToNullableDecimal() : null;
            TransactionAmountExtended = segments.Length > 11 && segments[11].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[11], false, seps) : null;
            TransactionAmountUnit     = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[12], false, seps) : null;
            DepartmentCode            = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[13], false, seps) : null;
            HealthPlanId              = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[14], false, seps) : null;
            InsuranceAmount           = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[15], false, seps) : null;
            AssignedPatientLocation   = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[16], false, seps) : null;
            FeeSchedule               = segments.Length > 17 && segments[17].Length > 0 ? segments[17] : null;
            PatientType               = segments.Length > 18 && segments[18].Length > 0 ? segments[18] : null;
            DiagnosisCodeFt1          = segments.Length > 19 && segments[19].Length > 0 ? segments[19].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            PerformedByCode           = segments.Length > 20 && segments[20].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[20], false, seps) : null;
            OrderedByCode             = segments.Length > 21 && segments[21].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[21], false, seps) : null;
            UnitCost                  = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CompositePrice>(segments[22], false, seps) : null;
            FillerOrderNumber         = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[23], false, seps) : null;
            EnteredByCode             = segments.Length > 24 && segments[24].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[24], false, seps) : null;
            ProcedureCode             = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[25], false, seps) : null;
        }
Exemplo n.º 20
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            PlacerAppointmentId       = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            FillerAppointmentId       = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[2], false, seps) : null;
            OccurrenceNumber          = segments.Length > 3 && segments[3].Length > 0 ? segments[3].ToNullableDecimal() : null;
            PlacerGroupNumber         = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[4], false, seps) : null;
            ScheduleId                = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
            EventReason               = segments.Length > 6 && segments[6].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[6], false, seps) : null;
            AppointmentReason         = segments.Length > 7 && segments[7].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[7], false, seps) : null;
            AppointmentType           = segments.Length > 8 && segments[8].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[8], false, seps) : null;
            AppointmentDuration       = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDecimal() : null;
            AppointmentDurationUnits  = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[10], false, seps) : null;
            AppointmentTimingQuantity = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <TimingQuantity>(x, false, seps)) : null;
            PlacerContactPerson       = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[12], false, seps) : null;
            PlacerContactPhoneNumber  = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[13], false, seps) : null;
            PlacerContactAddress      = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <ExtendedAddress>(segments[14], false, seps) : null;
            PlacerContactLocation     = segments.Length > 15 && segments[15].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[15], false, seps) : null;
            FillerContactPerson       = segments.Length > 16 && segments[16].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[16], false, seps) : null;
            FillerContactPhoneNumber  = segments.Length > 17 && segments[17].Length > 0 ? TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(segments[17], false, seps) : null;
            FillerContactAddress      = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <ExtendedAddress>(segments[18], false, seps) : null;
            FillerContactLocation     = segments.Length > 19 && segments[19].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[19], false, seps) : null;
            EnteredByPerson           = segments.Length > 20 && segments[20].Length > 0 ? TypeSerializer.Deserialize <ExtendedCompositeIdNumberAndNameForPersons>(segments[20], false, seps) : null;
            EnteredByPhoneNumber      = segments.Length > 21 && segments[21].Length > 0 ? segments[21].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <ExtendedTelecommunicationNumber>(x, false, seps)) : null;
            EnteredByLocation         = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[22], false, seps) : null;
            ParentPlacerAppointmentId = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[23], false, seps) : null;
            ParentFillerAppointmentId = segments.Length > 24 && segments[24].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[24], false, seps) : null;
            FillerStatusCode          = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[25], false, seps) : null;
        }
Exemplo n.º 21
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ActionCode                           = segments.Length > 1 && segments[1].Length > 0 ? segments[1] : null;
            ActionDateTime                       = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            ProblemId                            = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            ProblemInstanceId                    = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[4], false, seps) : null;
            EpisodeOfCareId                      = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[5], false, seps) : null;
            ProblemListPriority                  = segments.Length > 6 && segments[6].Length > 0 ? segments[6].ToNullableDecimal() : null;
            ProblemEstablishedDateTime           = segments.Length > 7 && segments[7].Length > 0 ? segments[7].ToNullableDateTime() : null;
            AnticipatedProblemResolutionDateTime = segments.Length > 8 && segments[8].Length > 0 ? segments[8].ToNullableDateTime() : null;
            ActualProblemResolutionDateTime      = segments.Length > 9 && segments[9].Length > 0 ? segments[9].ToNullableDateTime() : null;
            ProblemClassification                = segments.Length > 10 && segments[10].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[10], false, seps) : null;
            ProblemManagementDiscipline          = segments.Length > 11 && segments[11].Length > 0 ? segments[11].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            ProblemPersistence                   = segments.Length > 12 && segments[12].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[12], false, seps) : null;
            ProblemConfirmationStatus            = segments.Length > 13 && segments[13].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[13], false, seps) : null;
            ProblemLifeCycleStatus               = segments.Length > 14 && segments[14].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[14], false, seps) : null;
            ProblemLifeCycleStatusDateTime       = segments.Length > 15 && segments[15].Length > 0 ? segments[15].ToNullableDateTime() : null;
            ProblemDateOfOnset                   = segments.Length > 16 && segments[16].Length > 0 ? segments[16].ToNullableDateTime() : null;
            ProblemOnsetText                     = segments.Length > 17 && segments[17].Length > 0 ? segments[17] : null;
            ProblemRanking                       = segments.Length > 18 && segments[18].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[18], false, seps) : null;
            CertaintyOfProblem                   = segments.Length > 19 && segments[19].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[19], false, seps) : null;
            ProbabilityOfProblem01               = segments.Length > 20 && segments[20].Length > 0 ? segments[20].ToNullableDecimal() : null;
            IndividualAwarenessOfProblem         = segments.Length > 21 && segments[21].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[21], false, seps) : null;
            ProblemPrognosis                     = segments.Length > 22 && segments[22].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[22], false, seps) : null;
            IndividualAwarenessOfPrognosis       = segments.Length > 23 && segments[23].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[23], false, seps) : null;
            FamilySignificantOtherAwarenessOfProblemPrognosis = segments.Length > 24 && segments[24].Length > 0 ? segments[24] : null;
            SecuritySensitivity = segments.Length > 25 && segments[25].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[25], false, seps) : null;
        }
Exemplo n.º 22
0
 public static HealthConditionAssignment GetHealthCondition(CodedElement ceHCC, CodedElement ceHC)
 {
     try
     {
         return(new HealthConditionAssignment()
         {
             HCAType = HealthConditionAssignment.HCATypeKind.HealthCode,
             ChildKey = ceHC.Code == null ? "" : ceHC.Code,
             ChildName = ceHC.Description == null ? "" : ceHC.Description,
             ChildCodingSystem = ceHC.CodingSystem == null ? "" : ceHC.CodingSystem,
             ParentKey = ceHCC.Code == null ? "" : ceHCC.Code,
             ParentName = ceHCC.Description == null ? "" : ceHCC.Description,
             ParentCodingSystem = ceHCC.CodingSystem == null ? "" : ceHCC.CodingSystem
         });
     }
     catch
     {
         return(null);
     }
 }
Exemplo n.º 23
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SponsorStudyId          = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            StudyPhaseIdentifier    = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            StudyScheduledTimePoint = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
        }
Exemplo n.º 24
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            CandidateConfidence = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableDecimal() : null;
            MatchReasonCode     = segments.Length > 2 && segments[2].Length > 0 ? segments[2].Split(seps.FieldRepeatSeparator, StringSplitOptions.None) : null;
            AlgorithmDescriptor = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
        }
Exemplo n.º 25
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            ApplicationMethodIdentifier     = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            SubstanceLotNumber              = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            SubstanceContainerIdentifier    = segments.Length > 3 && segments[3].Length > 0 ? segments[3] : null;
            SubstanceManufacturerIdentifier = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
        }
Exemplo n.º 26
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            SetIdLan                = segments.Length > 1 && segments[1].Length > 0 ? segments[1].ToNullableUInt() : null;
            LanguageCode            = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            LanguageAbilityCode     = segments.Length > 3 && segments[3].Length > 0 ? segments[3].Split(seps.FieldRepeatSeparator, StringSplitOptions.None).Select(x => TypeSerializer.Deserialize <CodedElement>(x, false, seps)) : null;
            LanguageProficiencyCode = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
        }
Exemplo n.º 27
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            PrimaryKeyValueLch             = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <PersonLocation>(segments[1], false, seps) : null;
            SegmentActionCode              = segments.Length > 2 && segments[2].Length > 0 ? segments[2] : null;
            SegmentUniqueKey               = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[3], false, seps) : null;
            LocationCharacteristicId       = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
            LocationCharacteristicValueLch = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
        }
Exemplo n.º 28
0
        //public static OBX GetObx(TestResult tResult, int sequenceID)
        //{
        //    OBX obx = new OBX();
        //    obx.SequenceID = sequenceID.ToString();
        //    obx.OBX_ID = tResult.OBX_ID;
        //    obx.ResultTest = new MultiLineTextField(BatchHelper.ConcatCE(tResult.ObservationIdentifier));
        //    obx.Result = new MultiLineTextField(BatchHelper.ConcatOVRList(tResult.ObservationValues));
        //    obx.ResultUnits = new MultiLineTextField(BatchHelper.ConcatCE(tResult.ResultUnits));
        //    obx.TestMethods = new MultiLineTextField(BatchHelper.ConcatCEList(tResult.TestMethods));
        //    obx.TestResultNotes = new MultiLineTextField(BatchHelper.ConcatNotes(tResult.TestResultNotes));
        //    obx.HCAssignment = "DingDong";

        //    return obx;
        //}

        public static OBR GetObr(TestRequest tReq, int sequenceID)
        {
            OBR obr = new OBR();

            obr.SequenceID            = sequenceID.ToString();
            obr.OBR_ID                = tReq.OBR_ID;
            obr.TestRequestIdentifier = (tReq.TestRequestIdentifierGroups.Count > 0 &&
                                         !String.IsNullOrWhiteSpace(tReq.TestRequestIdentifierGroups[0].TestRequestIdentifier)
                                         )
                                        ? tReq.TestRequestIdentifierGroups[0].TestRequestIdentifier : "";
            obr.SpecimenSourceSite = new MultiLineTextField(BatchHelper.ConcatCE(tReq.Specimen.SpecimenSourceSite));
            obr.OrderedTest        = new MultiLineTextField(BatchHelper.ConcatCE(tReq.OrderedTest));
            obr.ParentResult       = new MultiLineTextField(BatchHelper.ConcatCE(tReq.ParentResult.ParentObservationID));
            obr.ReasonsForStudy    = new MultiLineTextField(BatchHelper.ConcatCEList(tReq.ReasonsForStudy));
            obr.RelevantClinicInfo = new MultiLineTextField(tReq.OtherClinicalInformation);
            obr.Notes = new MultiLineTextField(BatchHelper.ConcatNotes(tReq.TestRequestNotes));

            List <OBX> OBXs = new List <OBX>();

            int childSequence = 1;

            if (tReq.TestResults.Count <= 0)
            {
                CodedElement ceHCC = tReq.PHRED_AssignedHCC;
                CodedElement ceHC  = tReq.PHRED_AssignedHC;
                obr.HCAssignment = OBX.GetHealthCondition(ceHCC, ceHC);
            }
            else
            {
                foreach (var item in tReq.TestResults)
                {
                    OBXs.Add(OBX.GetObx(item, childSequence++));
                }
            }

            obr.ObxList = OBXs;

            return(obr);
        }
Exemplo n.º 29
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            EquipmentInstanceIdentifier = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <EntityIdentifier>(segments[1], false, seps) : null;
            EventDateTime           = segments.Length > 2 && segments[2].Length > 0 ? segments[2].ToNullableDateTime() : null;
            EquipmentState          = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            LocalRemoteControlState = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
            AlertLevel = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
        }
Exemplo n.º 30
0
        /// <inheritdoc/>
        public void FromDelimitedString(string delimitedString, Separators separators)
        {
            Separators seps = separators ?? new Separators().UsingConfigurationValues();

            string[] segments = delimitedString == null
                ? Array.Empty <string>()
                : delimitedString.Split(seps.FieldSeparator, StringSplitOptions.None);

            if (segments.Length > 0)
            {
                if (string.Compare(Id, segments[0], true, CultureInfo.CurrentCulture) != 0)
                {
                    throw new ArgumentException($"{ nameof(delimitedString) } does not begin with the proper segment Id: '{ Id }{ seps.FieldSeparator }'.", nameof(delimitedString));
                }
            }

            Route = segments.Length > 1 && segments[1].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[1], false, seps) : null;
            AdministrationSite   = segments.Length > 2 && segments[2].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[2], false, seps) : null;
            AdministrationDevice = segments.Length > 3 && segments[3].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[3], false, seps) : null;
            AdministrationMethod = segments.Length > 4 && segments[4].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[4], false, seps) : null;
            RoutingInstruction   = segments.Length > 5 && segments[5].Length > 0 ? TypeSerializer.Deserialize <CodedElement>(segments[5], false, seps) : null;
        }