public static ICodedDataValue AsCodedValue(this HL7Element element, int index = -1, string tableId = "", Dictionary <string, string> table = null) { string value = element.ElementValue(index); return(new CodedDataValue(value, table, tableId)); }
/// <summary> /// Safely return Value of the desired Element. This relieves the need to check /// for ethe existence or null value of the required element. /// </summary> /// <param name="element">The Containing element element</param> /// <param name="index">Zero based index of the element required</param> /// <returns>A string represenation of the hl7 field.</returns> public static string ElementValue(this HL7Element element, int index) { return((element == null) ? null : (index == -1) ? element.ToString() : (index == 0 && element.Count == 0) ? element.Value : (element.Count > index) ? element[index].ToString() : ""); }
public static ICodedDataValue AsCodedValue(this HL7Element element, int index = -1, string tableId = "", IDataTableProvider tables = null) { string value = element.ElementValue(index); return(new CodedDataValue(value, tableId, tables)); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; TelephoneNumber = element.ElementValue(0); TelecommunicationUseCode = NewID(element.ElementValue(1), NextTableId(tableIds, ref tblsUsed)); TelecommunicationEquipment = NewID(element.ElementValue(2), NextTableId(tableIds, ref tblsUsed)); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; NamespaceId = NewIS(element.ElementValue(0), NextTableId(tableIds, ref tblsUsed)); UniversalId = element.ElementValue(1); UniversalIdType = NewID(element.ElementValue(2), NextTableId(tableIds, ref tblsUsed)); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; VersionID = NewID(element.ElementValue(0), NextTableId(tableIds, ref tblsUsed)); Internationalization = element.IndexedElement(1).AsCE(tableIds?.Skip(tblsUsed), Tables); tblsUsed += CE_CodedElement.TotalCodedFieldCount; InternationalVersionID = element.IndexedElement(2).AsCE(tableIds?.Skip(tblsUsed), Tables); }
/// <summary> /// Safely Extract the Supplied element assuming the element contains suitable contents. /// </summary> /// <param name="element">Element representing or containing the HD Data</param> /// <param name="index">Optionally the sub element </param> /// <returns>A fully populated HL7 HD object</returns> public static HD_HierarchicDesignator AsHD(this HL7Element element, int index = -1, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var el = element.IndexedElement(index); if (el == null) { return(null); } return(new HD_HierarchicDesignator(el, tableIds, tables)); }
private void FromElement(HL7Element element) { var comparitor = element.ElementValue(0); var separator = element.ElementValue(2); Comparitor = (Constants.AllowedComparitors.Contains(comparitor)) ? comparitor : ""; Num1 = new NM_Number(element.IndexedElement(1)); SeparatorOrSuffix = (Constants.AllowedSeparators.Contains(separator)) ? separator : ""; Num2 = new NM_Number(element.IndexedElement(3)); }
public static HL7Element AsElement(this IEnumerable <CX_CompositeId> cxs) { var element = new HL7Element(String.Empty, '~'); if (cxs.Any()) { foreach (var cx in cxs) { element.Add(cx); } } return(element); }
/// <summary> /// Safely Extract a Date Range from the Supplied element assuming suitable contents; /// </summary> /// <param name="element"></param> /// <param name="index"></param> /// <returns></returns> public static DR_DateRange AsDateRange(this HL7Element element, int index = -1) { var el = element.IndexedElement(index); if (el == null) { return(null); } return(new DR_DateRange() { DateFrom = (el.Count == 0) ? ToLocalDateTime(el.Value) : ToLocalDateTime(el[0].Value), DateTo = (el.Count < 2) ? ToLocalDateTime("") : ToLocalDateTime(el[1].Value) }); }
public static IEnumerable <XAD_ExtendedAddress> AsXADs(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var xads = new List <XAD_ExtendedAddress>(); if (element.IsRepeatingField) { xads.AddRange(element.Select(e => new XAD_ExtendedAddress(e, tableIds, tables))); } else { xads.Add(new XAD_ExtendedAddress(element, tableIds, tables)); } return(xads); }
/// <summary> /// Safely Extract all HL7 XCN (Extended Composite ID and Name) from a HL7 Element assuming suitable content /// </summary> /// <param name="element"></param> /// <returns>An IEnumerable of HL7 XCN Objects</returns> public static IEnumerable <XCN_ExtendedCompositeIDAndName> AsXCNs(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var xcns = new List <XCN_ExtendedCompositeIDAndName>(); if (element.IsRepeatingField) { xcns.AddRange(element.Select(e => new XCN_ExtendedCompositeIDAndName(e, tableIds, tables))); } else { xcns.Add(new XCN_ExtendedCompositeIDAndName(element, tableIds, tables)); } return(xcns); }
public static IEnumerable <XPN_ExtendedPersonName> AsXPNs(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var xpns = new List <XPN_ExtendedPersonName>(); if (element.IsRepeatingField) { xpns.AddRange(element.Select(e => new XPN_ExtendedPersonName(e, tableIds, tables))); } else { xpns.Add(new XPN_ExtendedPersonName(element, tableIds, tables)); }; return(xpns); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; OrganizationName = element.ElementValue(0); OrganizationNameTypeCode = NewIS(element.ElementValue(1), NextTableId(tableIds, ref tblsUsed)); ID = element.IndexedElement(2); CheckDigit = element.ElementValue(3); CheckDigitScheme = NewID(element.ElementValue(4), NextTableId(tableIds, ref tblsUsed)); AssigningAuthority = element.AsHD(5, tableIds?.Skip(tblsUsed), Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount; IdentifierTypeCode = NewIS(element.ElementValue(6), NextTableId(tableIds, ref tblsUsed)); AssigningFacility = element.AsHD(7, tableIds, Tables); }
/// <summary> /// Safely Extract all HL7 CE Coded Elements type from a HL7 Element assuming sutiable content /// </summary> /// <param name="element"></param> /// <returns>an IEnumerable of HL7 CE objects</returns> public static IEnumerable <CE_CodedElement> AsCEs(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var ces = new List <CE_CodedElement>(); if (element.IsRepeatingField) { ces.AddRange(element.Select(e => new CE_CodedElement(e, tableIds, tables))); } else { ces.Add(new CE_CodedElement(element, tableIds, tables)); } return(ces); }
public static IEnumerable <CX_CompositeId> AsCXs(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { var cxs = new List <CX_CompositeId>(); if (element.IsRepeatingField) { cxs.AddRange(element.Select(e => new CX_CompositeId(e, tableIds, tables))); } else { cxs.Add(new CX_CompositeId(element, tableIds, tables)); } return(cxs); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; FamilyName = element.ElementValue(0); GivenName = element.ElementValue(1); SecondGivenNamesOrInitials = element.ElementValue(2); Suffix = element.ElementValue(3); Prefix = element.ElementValue(4); Degree = NewIS(element.IndexedElement(5), NextTableId(tableIds, ref tblsUsed), Tables); NameTypeCode = NewID(element.IndexedElement(6), NextTableId(tableIds, ref tblsUsed)); NameRepresentationCode = NewID(element.IndexedElement(7), NextTableId(tableIds, ref tblsUsed), Tables); NameContext = element.IndexedElement(8).AsCE(tableIds, Tables); tblsUsed += CE_CodedElement.TotalCodedFieldCount; NameAssemblyOrder = NewID(element.IndexedElement(9), NextTableId(tableIds, ref tblsUsed), Tables); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; ID = element.ElementValue(0); CheckDigit = element.ElementValue(1); CheckDigitScheme = NewID(element.ElementValue(2), NextTableId(tableIds, ref tblsUsed), Tables); AssigningAuthority = element.AsHD(3, tableIds?.Skip(tblsUsed), Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount; IdentifierTypeCode = NewID(element.ElementValue(4), NextTableId(tableIds, ref tblsUsed), Tables); AssigningFacility = element.AsHD(5, tableIds?.Skip(tblsUsed), Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount; EffectiveDate = element.FromTS(6); ExpirationDate = element.FromTS(7); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tblsUsed = 0; StreetAddress = new SAD_StreetAddress(element.IndexedElement(0)); OtherDesignation = element.ElementValue(1); City = element.ElementValue(2); StateOrProvince = element.ElementValue(3); ZipOrPostalCode = element.ElementValue(4); Country = NewID(element.ElementValue(5), NextTableId(tableIds, ref tblsUsed), Tables); AddressType = NewID(element.ElementValue(6), NextTableId(tableIds, ref tblsUsed), Tables); OtherGeographicDesignation = element.ElementValue(7); CountyOrParishCode = NewIS(element.ElementValue(8), NextTableId(tableIds, ref tblsUsed), Tables); CensusTract = NewIS(element.ElementValue(9), NextTableId(tableIds, ref tblsUsed), Tables); AddressRepresentationCode = NewID(element.ElementValue(10), NextTableId(tableIds, ref tblsUsed), Tables); AddressValidityRange = element.AsDateRange(11); }
/// <summary> /// Extract a DateTime field from a supplied element assuming suitable content /// NOTE: Dates and Tims use the DateTime.Kind property to correctly convert the date /// from UTC and Local Times. Use the LocaLtime and UTCTime extensions to safely /// handle the returned DateTime. /// </summary> /// <param name="element"></param> /// <param name="index"></param> /// <returns></returns> public static DateTime?FromTS(this HL7Element element, int index = -1) { var el = element.ElementValue(index); if (String.IsNullOrWhiteSpace(el)) { return(null); } try { return(AsDateTime(el)); } catch { return(null); } }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { if (element.Count == 0) { Data = element; } else { var tblsUsed = 0; SourceApplication = element.AsHD(0, tableIds, Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount; TypeOfData = NewID(element.ElementValue(1), NextTableId(tableIds, ref tblsUsed)); DataSubType = NewID(element.ElementValue(2), NextTableId(tableIds, ref tblsUsed)); Encoding = NewID(element.ElementValue(3), NextTableId(tableIds, ref tblsUsed)); Data = element.ElementValue(4); }; }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { var tablesUsed = 0; Identifier = element.ElementValue(0); Text = element.ElementValue(1); NameOfCodingSystem = NewIS( element.ElementValue(2), NextTableId(tableIds, ref tablesUsed)); AlternateIdentifier = element.ElementValue(3); AlternateText = element.ElementValue(4); NameOfAlternateCodingSystem = NewIS( element.ElementValue(5), NextTableId(tableIds, ref tablesUsed)); }
public override void Populate(HL7Element element, IEnumerable <string> tableIds = null) { if (element.IsRepeatingField) { throw new InvalidOperationException("AsXCN() called on repeating field.\r\n" + " The Field in question should be treated as an Enumerable type"); } ID = element.ElementValue(0); FamilyName = element.ElementValue(1); GivenName = element.ElementValue(2); SecondGivenNamesOrInitials = element.ElementValue(3); Suffix = element.ElementValue(4); Prefix = element.ElementValue(5); var tblsUsed = 0; Degree = NewIS(element.ElementValue(6), NextTableId(tableIds, ref tblsUsed)); SourceTable = element.ElementValue(7); AssigningAuthority = element.IndexedElement(8).AsHD(tableIds, Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount;; NameTypeCode = NewID(element.ElementValue(9), NextTableId(tableIds, ref tblsUsed)); IdentifierCheckDigit = element.ElementValue(10); CheckDigitScheme = element.ElementValue(11); IdentifierTypeCode = element.ElementValue(12); AssigningFacility = element.IndexedElement(13).AsHD(tableIds, Tables); tblsUsed += HD_HierarchicDesignator.TotalCodedFieldCount; NameRepresentationCode = NewID(element.ElementValue(14), NextTableId(tableIds, ref tblsUsed)); NameContext = element.IndexedElement(15).AsCE(); NameValidityRange = element.IndexedElement(16).AsDateRange(); NameAssemblyOrder = NewID(element.ElementValue(17), NextTableId(tableIds, ref tblsUsed)); }
public static DateTime?AsDateTime(this HL7Element element, DateTimeStyles dateTimeStyle = DateTimeStyles.None) { string dtText = element; return(AsDateTime(dtText, dateTimeStyle)); }
public XTN_ExtendedTelecommunicationNumber(HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) : base(element, tableIds, tables) { }
public static XPN_ExtendedPersonName AsXPN(this HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) { return(new XPN_ExtendedPersonName(element, tableIds, tables)); }
public CX_CompositeId(HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) : base(element, tableIds, tables) { }
public XON_ExtendedCompositeNameForOrganizations(HL7Element element, IEnumerable <string> tableIds = null, IDataTableProvider tables = null) : base(element, tableIds, tables) { }
public static DateTime?AsUTCTime(this HL7Element element) { string dtText = element; return(ToUTCDateTime(dtText)); }
public static DateTime?AsLocalTime(this HL7Element element) { string dtText = element; return(ToLocalDateTime(dtText)); }