/// <summary> /// Create organization scoper /// </summary> private MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization CreateOrganization(HealthcareParticipant scoper, List <MARC.Everest.Connectors.IResultDetail> details) { if (scoper == null) { return(null); } PN tName = null; if (scoper.LegalName != null) { tName = CreatePN(scoper.LegalName, details); } var id = scoper.AlternateIdentifiers.Find(o => o.Domain != this.m_configService.OidRegistrar.GetOid("CR_PID").Oid); // Basic return value var retVal = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization( SET <II> .CreateSET(CreateII(id, details)), scoper.Type != null ? CreateCD <String>(scoper.Type, details) : null, tName != null ? BAG <ON> .CreateBAG(new ON(tName.Use[0], tName.Part)) : null, null ); // Find all representatives foreach (HealthcareParticipant rep in scoper.FindAllComponents(HealthServiceRecordSiteRoleType.RepresentitiveOf)) { var cp = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty( CreateIISet(rep.AlternateIdentifiers, details), rep.Type != null ? CreateCD <String>(rep.Type, details) : null, rep.PrimaryAddress != null ? BAG <AD> .CreateBAG(CreateAD(rep.PrimaryAddress, details)) : null, null, null ); // Add telecoms if (rep.TelecomAddresses != null) { cp.Telecom = new BAG <TEL>(); foreach (var tel in rep.TelecomAddresses) { cp.Telecom.Add(CreateTEL(tel, details)); } } // Person info if (rep.Classifier == HealthcareParticipant.HealthcareParticipantType.Person && rep.LegalName != null) { cp.ContactPerson = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person( BAG <EN> .CreateBAG(CreatePN(rep.LegalName, details)) ); } retVal.ContactParty.Add(cp); } return(retVal); }
public virtual object Parse(System.Xml.XmlReader s, System.Type useType, System.Type currentInteractionType, MARC.Everest.Formatters.XML.ITS1.XmlIts1FormatterParseResult resultContext) { System.String nil = s.GetAttribute("nil", MARC.Everest.Formatters.XML.ITS1.XmlIts1Formatter.NS_XSI); if(!System.String.IsNullOrEmpty(nil) && System.Convert.ToBoolean(nil)) return null;; MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization instance = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization();; if(s.NodeType != System.Xml.XmlNodeType.Element) throw new System.InvalidOperationException(System.String.Format("Expected node type of Element, actual node type is '{0}'", s.NodeType)); if(s.GetAttribute("classCode") != null){ if(!"ORG".Equals(s.GetAttribute("classCode"))) resultContext.AddResultDetail(new MARC.Everest.Connectors.FixedValueMisMatchedResultDetail(s.GetAttribute("classCode"), "ORG", false, s.ToString())); instance.ClassCode = (MARC.Everest.DataTypes.CS<MARC.Everest.RMIM.UV.NE2008.Vocabulary.EntityClass>)MARC.Everest.Connectors.Util.FromWireFormat(s.GetAttribute("classCode"), typeof(MARC.Everest.DataTypes.CS<MARC.Everest.RMIM.UV.NE2008.Vocabulary.EntityClass>)); } if(s.GetAttribute("determinerCode") != null){ if(!"INSTANCE".Equals(s.GetAttribute("determinerCode"))) resultContext.AddResultDetail(new MARC.Everest.Connectors.FixedValueMisMatchedResultDetail(s.GetAttribute("determinerCode"), "INSTANCE", false, s.ToString())); instance.DeterminerCode = (MARC.Everest.DataTypes.CS<MARC.Everest.RMIM.UV.NE2008.Vocabulary.EntityDeterminer>)MARC.Everest.Connectors.Util.FromWireFormat(s.GetAttribute("determinerCode"), typeof(MARC.Everest.DataTypes.CS<MARC.Everest.RMIM.UV.NE2008.Vocabulary.EntityDeterminer>)); } if(s.GetAttribute("nullFlavor") != null) instance.NullFlavor = (MARC.Everest.DataTypes.CS<MARC.Everest.DataTypes.NullFlavor>)MARC.Everest.Connectors.Util.FromWireFormat(s.GetAttribute("nullFlavor"), typeof(MARC.Everest.DataTypes.CS<MARC.Everest.DataTypes.NullFlavor>)); if(s.IsEmptyElement) return instance; string sName = s.Name; int sDepth = s.Depth; s.Read(); while(!(s.NodeType == System.Xml.XmlNodeType.EndElement && s.Name == sName && s.Depth == sDepth)) { string oldName = s.LocalName; try { if(s.NodeType == System.Xml.XmlNodeType.Element) { if(s.LocalName == "id" ) { object d65c212f65852424d82f7d1f1b6a5dc18 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>), currentInteractionType, resultContext); instance.Id = d65c212f65852424d82f7d1f1b6a5dc18 is MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II> ? d65c212f65852424d82f7d1f1b6a5dc18 as MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II> : (MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>)MARC.Everest.Connectors.Util.FromWireFormat(d65c212f65852424d82f7d1f1b6a5dc18, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>)); } else if(s.LocalName == "code" ) { object d603e0afd3d324917977a394fdd7eea9c = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.CE<System.String>), currentInteractionType, resultContext); instance.Code = d603e0afd3d324917977a394fdd7eea9c is MARC.Everest.DataTypes.CE<System.String> ? d603e0afd3d324917977a394fdd7eea9c as MARC.Everest.DataTypes.CE<System.String> : (MARC.Everest.DataTypes.CE<System.String>)MARC.Everest.Connectors.Util.FromWireFormat(d603e0afd3d324917977a394fdd7eea9c, typeof(MARC.Everest.DataTypes.CE<System.String>)); } else if(s.LocalName == "name" ) { object da7ce068604f24b648bc01be01f057fdf = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.ON>), currentInteractionType, resultContext); instance.Name = da7ce068604f24b648bc01be01f057fdf is MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.ON> ? da7ce068604f24b648bc01be01f057fdf as MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.ON> : (MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.ON>)MARC.Everest.Connectors.Util.FromWireFormat(da7ce068604f24b648bc01be01f057fdf, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.ON>)); } else if(s.LocalName == "contactParty" ) { object d08b644830b9f4843994063a0d1066dd9 = Host.ParseObject(s, typeof(MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty), currentInteractionType, resultContext); instance.ContactParty.Add(d08b644830b9f4843994063a0d1066dd9 is MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty ? (MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty)d08b644830b9f4843994063a0d1066dd9 : (MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty)MARC.Everest.Connectors.Util.FromWireFormat(d08b644830b9f4843994063a0d1066dd9, typeof(MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty))); } else if(s.LocalName == "realmCode" ) { object d4d75705db2ec438e8978e34c8fb66147 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>), currentInteractionType, resultContext); instance.RealmCode = d4d75705db2ec438e8978e34c8fb66147 is MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>> ? d4d75705db2ec438e8978e34c8fb66147 as MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>> : (MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>)MARC.Everest.Connectors.Util.FromWireFormat(d4d75705db2ec438e8978e34c8fb66147, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>)); } else if(s.LocalName == "typeId" ) { object d8ee9fa67629e4803a985fbb3abb47f53 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.II), currentInteractionType, resultContext); instance.TypeId = d8ee9fa67629e4803a985fbb3abb47f53 is MARC.Everest.DataTypes.II ? d8ee9fa67629e4803a985fbb3abb47f53 as MARC.Everest.DataTypes.II : (MARC.Everest.DataTypes.II)MARC.Everest.Connectors.Util.FromWireFormat(d8ee9fa67629e4803a985fbb3abb47f53, typeof(MARC.Everest.DataTypes.II)); } else if(s.LocalName == "templateId" ) { object df096580e857e4bbbbdfdd1f22635c42a = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>), currentInteractionType, resultContext); instance.TemplateId = df096580e857e4bbbbdfdd1f22635c42a is MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II> ? df096580e857e4bbbbdfdd1f22635c42a as MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II> : (MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>)MARC.Everest.Connectors.Util.FromWireFormat(df096580e857e4bbbbdfdd1f22635c42a, typeof(MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>)); } else { resultContext.AddResultDetail(new MARC.Everest.Connectors.NotImplementedElementResultDetail(MARC.Everest.Connectors.ResultDetailType.Warning, s.LocalName, s.NamespaceURI, s.ToString(), null)); } } } catch (System.Exception e) { resultContext.AddResultDetail(new MARC.Everest.Connectors.ResultDetail(MARC.Everest.Connectors.ResultDetailType.Error, e.Message, s.ToString(), e)); } finally { if(oldName.Equals(s.LocalName)) s.Read(); } } return instance; }