Example #1
0
        /// - Lấy danh mục theo mã nhóm và mã
        /// - Input:
        ///     + maNhom: string - mã nhóm danh mục, lấy trong Constants.CodeSystem
        ///     + ma: string - mã của danh mục trong nhóm
        ///  - Output:
        ///     + danhMuc: DanhMuc - Danh mục nếu tìm thấy, null nếu không tìm thấy

        public DanhMuc GetDanhMuc(string maNhom, string ma)
        {
            var param = new Dictionary <string, string>()
            {
                { "system", maNhom },
                { "code", ma }
            };
            string url  = Constants.FHIR_URL + "/CodeSystem/$lookup";
            var    json = FhirClientUtils.get(url, param);

            if (json != null)
            {
                var obj = JsonValue.Parse(json);
                return(DanhMuc.FromParams(maNhom, obj["parameter"].AsJsonArray));
            }
            return(null);
        }
Example #2
0
        /// - Lấy toàn bộ danh mục trong một nhóm
        /// - Input:
        ///     + maNhom: string - mã nhóm danh mục, lấy trong Constants.CodeSystem
        ///
        ///  - Output:
        ///     + dsDanhMuc: List<DanhMuc> - Toàn bộ Danh Mục trong nhóm
        public List <DanhMuc> GetDanhMucByGroup(string maNhom)
        {
            string         codeSytemId = GetCodeSystemId(maNhom);
            List <DanhMuc> dsDanhMuc   = new List <DanhMuc>();

            if (codeSytemId != null)
            {
                string url      = Constants.FHIR_URL + "/CodeSystem/" + codeSytemId;
                var    json     = FhirClientUtils.get(url);
                var    obj      = JsonValue.Parse(json);
                var    concepts = obj["concept"].AsJsonArray;
                foreach (var concept in concepts)
                {
                    dsDanhMuc.Add(DanhMuc.FromConcept(maNhom, concept));
                }
            }
            return(dsDanhMuc);
        }
Example #3
0
        private string GetCodeSystemId(string codeSystemUrl)
        {
            var param = new Dictionary <string, string>()
            {
                { "url", codeSystemUrl },
                { "status", "active" }
            };
            string url  = Constants.FHIR_URL + "/CodeSystem";
            string json = FhirClientUtils.get(url, param);

            if (json != null)
            {
                var obj   = JsonValue.Parse(json);
                var entry = obj["entry"].AsJsonArray;
                if (entry.Count > 0)
                {
                    return(entry[0]["resource"]["id"].AsString);
                }
            }

            return(null);
        }