Ejemplo n.º 1
0
 public void SetSecurity(List <Coding> codingList, IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     NullCheck(codingList, "codingList");
     CreateMeta(fhirResource.Stu3);
     fhirResource.Stu3.Meta.Security = codingList;
 }
Ejemplo n.º 2
0
        public IList <FhirContainedResource> GetContainedResourceDictionary(IFhirResourceStu3 fhirResource)
        {
            List <FhirContainedResource> ResultList = new List <FhirContainedResource>();
            Resource Resource = fhirResource.Stu3;

            if (Resource is DomainResource DomainResource)
            {
                foreach (Resource ContainedResource in DomainResource.Contained)
                {
                    Bug.Common.Enums.ResourceType?ResourceType = IResourceNameToTypeMap.GetResourceType(ContainedResource.ResourceType.GetLiteral());
                    if (ResourceType.HasValue)
                    {
                        ResultList.Add(new FhirContainedResource(this.FhirVersion, ResourceType.Value, ContainedResource.Id)
                        {
                            Stu3 = ContainedResource
                        });
                    }
                    else
                    {
                        throw new ApplicationException($"Attempt to parse an unknown resource type of {ContainedResource.ResourceType.GetLiteral()} which was contained within a {Resource.ResourceType.GetLiteral()} parent resource of FHIR version {this.FhirVersion.GetCode()}.");
                    }
                }
            }
            return(ResultList);
        }
Ejemplo n.º 3
0
 public void SetProfile(IEnumerable <string> profileList, IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     NullCheck(profileList, "profileList");
     CreateMeta(fhirResource.Stu3);
     fhirResource.Stu3.Meta.Profile = profileList;
 }
Ejemplo n.º 4
0
        public byte[] SerializeToJsonBytes(IFhirResourceStu3 fhirResource, Bug.Common.Enums.SummaryType summaryType = Bug.Common.Enums.SummaryType.False)
        {
            SummaryTypeMap Map = new SummaryTypeMap();

            try
            {
                FhirJsonSerializer FhirJsonSerializer = new FhirJsonSerializer(new SerializerSettings()
                {
                    Pretty = false, AppendNewLine = false
                });
                return(FhirJsonSerializer.SerializeToBytes(fhirResource.Stu3, Map.GetForward(summaryType)));
            }
            catch (Exception oExec)
            {
                throw new Bug.Common.Exceptions.FhirFatalException(System.Net.HttpStatusCode.InternalServerError, oExec.Message);
            }
        }
Ejemplo n.º 5
0
        public IEnumerable <ITypedElement>?Select(IFhirResourceStu3 fhirResource, string Expression)
        {
            ITypedElement TypedElement = fhirResource.Stu3.ToTypedElement();
            //FhirPathCompiler.DefaultSymbolTable.AddFhirExtensions();
            var oFhirEvaluationContext = new Hl7.Fhir.FhirPath.FhirEvaluationContext(TypedElement);

            //The resolve() function then also needs to be provided an external resolver delegate that performs the resolve
            //that delegate can be set as below. Here I am providing my own implementation 'IPyroFhirPathResolve.Resolver'
            //oFhirEvaluationContext.ElementResolver = IPyroFhirPathResolve.Resolver;
            try
            {
                return(TypedElement.Select(Expression, oFhirEvaluationContext));
            }
            catch (Exception Exec)
            {
                throw new Bug.Common.Exceptions.FhirFatalException(System.Net.HttpStatusCode.InternalServerError, $"Unable to evaluate the SearchParameter FhirPath expression of: {Expression} for FHIR {FhirVersion.Stu3.GetCode()}. See inner exception for more info.", Exec);
            }
        }
Ejemplo n.º 6
0
        public string?GetVersion(IFhirResourceStu3 fhirResource)
        {
            if (fhirResource is null)
            {
                throw new ArgumentNullException(paramName: nameof(fhirResource));
            }
            if (fhirResource.Stu3 is null)
            {
                throw new ArgumentNullException(paramName: nameof(fhirResource.Stu3));
            }

            if (fhirResource.Stu3?.Meta is null)
            {
                return(null);
            }
            else
            {
                return(fhirResource.Stu3?.Meta?.VersionId);
            }
        }
Ejemplo n.º 7
0
 public void SetVersion(string versionId, IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     CreateMeta(fhirResource.Stu3);
     fhirResource.Stu3.Meta.VersionId = versionId;
 }
Ejemplo n.º 8
0
 public DateTimeOffset?GetLastUpdated(IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     return(fhirResource.Stu3?.Meta?.LastUpdated);
 }
Ejemplo n.º 9
0
 public void SetLastUpdated(DateTimeOffset dateTimeOffset, IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     CreateMeta(fhirResource.Stu3);
     fhirResource.Stu3.Meta.LastUpdated = dateTimeOffset;
 }
Ejemplo n.º 10
0
 public string GetName(IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     return(fhirResource.Stu3.ResourceType.GetLiteral());
 }
Ejemplo n.º 11
0
 public void SetFhirId(string id, IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     fhirResource.Stu3.Id = id;
 }
Ejemplo n.º 12
0
 public string?GetFhirId(IFhirResourceStu3 fhirResource)
 {
     NullCheck(fhirResource.Stu3, "resource");
     return(fhirResource.Stu3.Id);
 }