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>();
          }
Exemplo n.º 4
0
        /// <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;
        }
Exemplo n.º 5
0
        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}.");
            }
        }
Exemplo n.º 6
0
        /// <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);
        }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 9
0
 private void markChange(Element snap)
 {
     if (_markChanges)
         snap.SetExtension(CHANGED_BY_DIFF_EXT, new FhirBoolean(true));
 }
Exemplo n.º 10
0
 public static void ElementExtensionRemover(Element element, string path)
 {
     element.Extension = null;
 }
Exemplo n.º 11
0
        /// <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);
        }
Exemplo n.º 12
0
 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();
         });
 }
Exemplo n.º 13
0
 internal static string SerializeElementAsJson(Element elem, bool summary = false)
 {
     return jsonWriterToString(jw => FhirSerializer.SerializeElement(elem, new JsonFhirWriter(jw), summary));
 }
Exemplo n.º 14
0
 internal static void SerializeElement(Element elem, XmlWriter writer, bool summary = false)
 {
     FhirSerializer.SerializeElement(elem, new XmlFhirWriter(writer), summary);
 }
Exemplo n.º 15
0
 public static void setValueSet(this Model.ElementDefinition.BindingComponent me, Model.Element value)
 {
     me.ValueSet = value;
 }
Exemplo n.º 16
0
 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);
 }
Exemplo n.º 17
0
 public Extension(string url, Element value)
 {
     this.Url = url;
     this.Value = value;
 }
Exemplo n.º 18
0
        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);
        }