public static String ReadStringExtension(Element c, String uri) { var ext = c.GetExtensionValue(uri) as FhirString; if (ext == null) return null; return ext.Value; }
public static bool TryValidate(Element element, ICollection<ValidationResult> validationResults = null) { if (element == null) throw new ArgumentNullException("element"); var results = validationResults ?? new List<ValidationResult>(); return Validator.TryValidateObject(element, ValidationContextFactory.Create(element, null), results, true); }
public static String ReadBooleanExtension(Element c, String uri) { var ext = c.GetExtensionValue(uri); if(ext == null) return null; if(!(ext is FhirBoolean)) return null; return ((FhirBoolean)ext).Value.ConvertTo<string>(); }
/// <summary> /// Add an extension with the given uri and value. /// </summary> /// <param name="extendable"></param> /// <param name="uri"></param> /// <param name="value"></param> /// <returns>The newly added Extension</returns> public static Extension AddExtension(this IExtendable extendable, Uri uri, Element value) { if (extendable.Extension == null) extendable.Extension = new List<Extension>(); var newExtension = new Extension() { Url = uri, Value = value }; extendable.Extension.Add(newExtension); return newExtension; }
public static string ToValue(this FHIR.Element element) { switch (element) { case FHIR.FhirString s: return(s.Value); case FHIR.Quantity q: return($"{q.Value}{q.Code}"); default: throw new ArgumentException($"Unsupported FHIR value type {element.GetType().Name}."); } }
/// <summary> /// Maps element to a list of Expression. /// </summary> /// <param name="element"></param> /// <returns>List of Expression, empty List if no mapping was possible.</returns> public List <Expression> Map(FhirModel.Element element) { var result = new List <Expression>(); try { List <Expression> expressions = ToExpressions((dynamic)element); if (expressions != null) { result.AddRange(expressions.Where(exp => exp != null).ToList()); } } catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException) { _log.UnsupportedFeature("ElementIndexer.Map", "Mapping of type " + element.GetType().Name); } return(result); }
public static Model.RiskAssessment.PredictionComponent setProbability(this Model.RiskAssessment.PredictionComponent me, Model.Element value) { me.Probability = value; return(me); }
public static void Validate(Element element) { if (element == null) throw new ArgumentNullException("element"); Validator.ValidateObject(element, ValidationContextFactory.Create(element, null), true); }
private void markChange(Element snap) { if (_markChanges) snap.SetExtension(CHANGED_BY_DIFF_EXT, new FhirBoolean(true)); }
public static void ElementExtensionRemover(Element element, string path) { element.Extension = null; }
/// <summary> /// Add an extension with the given uri and value, removing any pre-existsing extensions /// with the same uri. /// </summary> /// <param name="extendable"></param> /// <param name="uri"></param> /// <param name="value"></param> /// <returns>The newly added extension</returns> public static Extension SetExtension(this IExtendable extendable, Uri uri, Element value) { if (extendable.Extension == null) extendable.Extension = new List<Extension>(); RemoveExtension(extendable, uri); return AddExtension(extendable, uri, value); }
internal static string SerializeElementAsXml(Element elem, string name = null, bool summary = false) { return xmlWriterToString(xw => { xw.WriteStartElement(name == null ? "element" : name, Support.Util.FHIRNS); FhirSerializer.SerializeElement(elem, new XmlFhirWriter(xw), summary); xw.WriteEndElement(); }); }
internal static string SerializeElementAsJson(Element elem, bool summary = false) { return jsonWriterToString(jw => FhirSerializer.SerializeElement(elem, new JsonFhirWriter(jw), summary)); }
internal static void SerializeElement(Element elem, XmlWriter writer, bool summary = false) { FhirSerializer.SerializeElement(elem, new XmlFhirWriter(writer), summary); }
public static void setValueSet(this Model.ElementDefinition.BindingComponent me, Model.Element value) { me.ValueSet = value; }
internal static void SerializeElement(Element value, IFhirWriter writer, bool summary) { if(value.GetType() == typeof(Hl7.Fhir.Model.Address)) AddressSerializer.SerializeAddress((Hl7.Fhir.Model.Address)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Attachment)) AttachmentSerializer.SerializeAttachment((Hl7.Fhir.Model.Attachment)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Choice)) ChoiceSerializer.SerializeChoice((Hl7.Fhir.Model.Choice)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.CodeableConcept)) CodeableConceptSerializer.SerializeCodeableConcept((Hl7.Fhir.Model.CodeableConcept)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Coding)) CodingSerializer.SerializeCoding((Hl7.Fhir.Model.Coding)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Contact)) ContactSerializer.SerializeContact((Hl7.Fhir.Model.Contact)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Extension)) ExtensionSerializer.SerializeExtension((Hl7.Fhir.Model.Extension)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.HumanName)) HumanNameSerializer.SerializeHumanName((Hl7.Fhir.Model.HumanName)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Identifier)) IdentifierSerializer.SerializeIdentifier((Hl7.Fhir.Model.Identifier)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Narrative)) NarrativeSerializer.SerializeNarrative((Hl7.Fhir.Model.Narrative)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Period)) PeriodSerializer.SerializePeriod((Hl7.Fhir.Model.Period)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Quantity)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Quantity)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Range)) RangeSerializer.SerializeRange((Hl7.Fhir.Model.Range)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Ratio)) RatioSerializer.SerializeRatio((Hl7.Fhir.Model.Ratio)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.ResourceReference)) ResourceReferenceSerializer.SerializeResourceReference((Hl7.Fhir.Model.ResourceReference)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.SampledData)) SampledDataSerializer.SerializeSampledData((Hl7.Fhir.Model.SampledData)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Schedule)) ScheduleSerializer.SerializeSchedule((Hl7.Fhir.Model.Schedule)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Base64Binary)) Base64BinarySerializer.SerializeBase64Binary((Hl7.Fhir.Model.Base64Binary)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.FhirBoolean)) FhirBooleanSerializer.SerializeFhirBoolean((Hl7.Fhir.Model.FhirBoolean)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Code)) CodeSerializer.SerializeCode((Hl7.Fhir.Model.Code)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Date)) DateSerializer.SerializeDate((Hl7.Fhir.Model.Date)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.FhirDateTime)) FhirDateTimeSerializer.SerializeFhirDateTime((Hl7.Fhir.Model.FhirDateTime)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.FhirDecimal)) FhirDecimalSerializer.SerializeFhirDecimal((Hl7.Fhir.Model.FhirDecimal)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Id)) IdSerializer.SerializeId((Hl7.Fhir.Model.Id)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.IdRef)) IdRefSerializer.SerializeIdRef((Hl7.Fhir.Model.IdRef)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Instant)) InstantSerializer.SerializeInstant((Hl7.Fhir.Model.Instant)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Integer)) IntegerSerializer.SerializeInteger((Hl7.Fhir.Model.Integer)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Oid)) OidSerializer.SerializeOid((Hl7.Fhir.Model.Oid)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.FhirString)) FhirStringSerializer.SerializeFhirString((Hl7.Fhir.Model.FhirString)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.FhirUri)) FhirUriSerializer.SerializeFhirUri((Hl7.Fhir.Model.FhirUri)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Uuid)) UuidSerializer.SerializeUuid((Hl7.Fhir.Model.Uuid)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.XHtml)) XHtmlSerializer.SerializeXHtml((Hl7.Fhir.Model.XHtml)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Age)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Age)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Count)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Count)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Distance)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Distance)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Duration)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Duration)value, writer, summary); else if(value.GetType() == typeof(Hl7.Fhir.Model.Money)) QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Money)value, writer, summary); else throw new Exception("Encountered unknown type " + value.GetType().Name); }
public Extension(string url, Element value) { this.Url = url; this.Value = value; }
public void WritePrimitiveContents(string name, Element value, XmlSerializationHint xmlFormatHint) { if (xmlFormatHint == XmlSerializationHint.Attribute) writePrimitiveAttribute(name, value.ToString()); else if (xmlFormatHint == XmlSerializationHint.TextNode) xw.WriteString(value.ToString()); else if (xmlFormatHint == XmlSerializationHint.XhtmlElement) { XNamespace xhtml = Support.Util.XHTMLNS; XElement xe = XElement.Parse(value.ToString()); xe.Name = xhtml + xe.Name.LocalName; // Write xhtml directly into the output stream, // the xhtml <div> becomes part of the elements // of the type, just like the other FHIR elements xw.WriteRaw(xe.ToString()); } else throw new ArgumentException("Unsupported xmlFormatHint " + xmlFormatHint); }