diff --git a/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/PersonSubjectTypeDto.cs b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/PersonSubjectTypeDto.cs
index 89542ee..5af3cd0 100644
--- a/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/PersonSubjectTypeDto.cs
+++ b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/PersonSubjectTypeDto.cs
@@ -15,8 +15,13 @@ namespace Shentun.WebPeis.QuestionRegisters
         /// 
 
         public string QuestionSubjectTypeName { get; set; } = null!;
-
+        /// 
+        /// 显示顺序
+        /// 
         public int DisplayOrder { get; set; }
+        /// 
+        /// 答案集合
+        /// 
 
         public List Answers { get; set; } = new List();
 
@@ -24,7 +29,13 @@ namespace Shentun.WebPeis.QuestionRegisters
 
     public class PersonSubjectTypeQuestionAnswer
     {
+        /// 
+        /// 答案
+        /// 
         public string QuestionAnswerName {  get; set; }
+        /// 
+        /// 显示顺序
+        /// 
         public int DisplayOrder { get; set; }
     }
 }
diff --git a/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterDiseaseRiskDto.cs b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterDiseaseRiskDto.cs
new file mode 100644
index 0000000..810dd1d
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterDiseaseRiskDto.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.QuestionRegisters
+{
+    public class QuestionRegisterDiseaseRiskDto
+    {
+        /// 
+        /// 主键
+        /// 
+        public Guid DiseaseRiskId { get; set; }
+        /// 
+        /// 名称
+        /// 
+
+        public string DiseaseRiskName { get; set; } = null!;
+
+        /// 
+        /// 显示顺序
+        /// 
+
+        public int DisplayOrder { get; set; }
+
+        public string DiseaseRiskLevelName { get; set; }
+    }
+}
diff --git a/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemResultDto.cs b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemResultDto.cs
new file mode 100644
index 0000000..b0617c3
--- /dev/null
+++ b/src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemResultDto.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.WebPeis.QuestionRegisters
+{
+    public class QuestionRegisterItemResultDto
+    {
+        /// 
+        /// 主键
+        /// 
+        public Guid QuestionRegisterItemId { get; set; }
+        /// 
+        /// 问卷ID
+        /// 
+        public Guid QuestionId { get; set; }
+        /// 
+        /// 题目
+        /// 
+
+        public string QuestionName { get; set; } = null!;
+
+
+        /// 
+        /// 显示顺序
+        /// 
+        public int DisplayOrder { get; set; }
+
+        public List Answers { get; set; } = new List();
+    }
+
+    public class QuestionRegisterItemResultAnswer
+    {
+        public string Answer {  get; set; }
+        public int DisplayOrder { get; set; }
+    }
+}
diff --git a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs
index 15d620a..428157e 100644
--- a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs
+++ b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs
@@ -26,6 +26,9 @@ namespace Shentun.WebPeis.QuestionRegisters
         private readonly IRepository _questionRepository;
         private readonly IRepository _questionAnswerRepository;
         private readonly IRepository _questionSubjectTypeRepository;
+        private readonly IRepository _diseaseRiskRepository;
+        private readonly IRepository _diseaseRiskLevelRepository;
+        private readonly IRepository _diseaseRiskLevelAnswerRepository;
         private readonly QuestionRegisterManager _questionRegisterManager;
         private readonly IUnitOfWorkManager _unitOfWorkManager;
         public QuestionRegisterAppService(IRepository repository,
@@ -35,7 +38,10 @@ namespace Shentun.WebPeis.QuestionRegisters
             IRepository questionAnswerRepository,
             QuestionRegisterManager questionRegisterManager,
             IUnitOfWorkManager unitOfWorkManager,
-            IRepository questionSubjectTypeRepository)
+            IRepository questionSubjectTypeRepository,
+            IRepository diseaseRiskRepository,
+            IRepository diseaseRiskLevelRepository,
+            IRepository diseaseRiskLevelAnswerRepository)
         {
             _repository = repository;
             _questionRegisterItemRepository = questionRegisterItemRepository;
@@ -45,6 +51,9 @@ namespace Shentun.WebPeis.QuestionRegisters
             _questionRegisterManager = questionRegisterManager;
             _unitOfWorkManager = unitOfWorkManager;
             _questionSubjectTypeRepository = questionSubjectTypeRepository;
+            _diseaseRiskRepository = diseaseRiskRepository;
+            _diseaseRiskLevelRepository = diseaseRiskLevelRepository;
+            _diseaseRiskLevelAnswerRepository = diseaseRiskLevelAnswerRepository;
         }
 
 
@@ -163,25 +172,28 @@ namespace Shentun.WebPeis.QuestionRegisters
                                              questionAnswer
                                          }).ToList();
 
-           var personSubjectTypeDtos = questionRegisterItems.GroupBy(o=>o.questionSubjectType)
-                .Select(o=>new PersonSubjectTypeDto()
-                {
-                    QuestionSubjectTypeId = o.Key.QuestionSubjectTypeId,
-                    QuestionSubjectTypeName = o.Key.QuestionSubjectTypeName,
-                    DisplayOrder = o.Key.DisplayOrder
-                }).ToList();
+            var personSubjectTypeDtos = questionRegisterItems.GroupBy(o => o.questionSubjectType)
+                 .Select(o => new PersonSubjectTypeDto()
+                 {
+                     QuestionSubjectTypeId = o.Key.QuestionSubjectTypeId,
+                     QuestionSubjectTypeName = o.Key.QuestionSubjectTypeName,
+                     DisplayOrder = o.Key.DisplayOrder
+                 }).ToList();
             foreach (var personSubjectTypeDto in personSubjectTypeDtos)
             {
-               var questionSubjectTypeItems =  questionRegisterItems.Where(o => 
-                o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId
-                                            )
-                    .OrderBy(o=>o.questionAnswer.DisplayOrder).ToList();
-                foreach(var questionRegisterItem in questionSubjectTypeItems)
+                var questionSubjectTypeItems = questionRegisterItems.Where(o =>
+                 o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId)
+                     .OrderBy(o => o.questionAnswer.DisplayOrder).ToList();
+                foreach (var questionRegisterItem in questionSubjectTypeItems)
                 {
+                    if (questionRegisterItem.questionAnswer.IsNone == 'Y')
+                    {
+                        continue;
+                    }
                     string answer;
-                    if(questionRegisterItem.questionAnswer.AnswerResultType == AnswerResultTypeFlag.Choice)
+                    if (questionRegisterItem.questionAnswer.AnswerResultType == AnswerResultTypeFlag.Choice)
                     {
-                        if(string.IsNullOrWhiteSpace(questionRegisterItem.questionAnswer.Aliases))
+                        if (string.IsNullOrWhiteSpace(questionRegisterItem.questionAnswer.Aliases))
                         {
                             answer = questionRegisterItem.questionAnswer.QuestionAnswerName;
                         }
@@ -194,7 +206,7 @@ namespace Shentun.WebPeis.QuestionRegisters
                     {
                         answer = questionRegisterItem.questionRegisterAnswer.Content;
                     }
-                    if(string.IsNullOrWhiteSpace(answer))
+                    if (string.IsNullOrWhiteSpace(answer))
                     {
                         continue;
                     }
@@ -208,6 +220,163 @@ namespace Shentun.WebPeis.QuestionRegisters
 
             return personSubjectTypeDtos;
         }
+
+        /// 
+        /// 
+        /// 
+        /// 
+        /// 
+        [HttpPost("api/app/QuestionRegister/GetQuestionRegisterListByPersonId")]
+        public async Task> GetQuestionRegisterListByPersonIdAsync(PersonIdInputDto input)
+        {
+            var questionRegister = (await _repository.GetQueryableAsync())
+               .Where(o => o.PersonId == input.PersonId)
+               .OrderByDescending(o => o.CreationTime)
+               .FirstOrDefault();
+            if (questionRegister == null)
+            {
+                return null;
+            }
+            var questionRegisterItems = (from questionRegisterItem in await _questionRegisterItemRepository.GetQueryableAsync()
+                                         join questionRegisterAnswer in await _questionRegisterAnswerRrepository.GetQueryableAsync()
+                                         on questionRegisterItem.QuestionRegisterItemId equals questionRegisterAnswer.QuestionRegisterItemId
+                                         join questionAnswer in await _questionAnswerRepository.GetQueryableAsync()
+                                         on questionRegisterAnswer.QuestionAnswerId equals questionAnswer.QuestionAnswerId
+                                         join question in await _questionRepository.GetQueryableAsync()
+                                         on questionRegisterItem.QuestionId equals question.QuestionId
+                                         join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync()
+                                         on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId
+                                         where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId
+                                         orderby questionSubjectType.DisplayOrder, question.DisplayOrder
+                                         select new
+                                         {
+                                             questionSubjectType,
+                                             question,
+                                             questionRegisterItem,
+                                             questionRegisterAnswer,
+                                             questionAnswer
+                                         }).ToList();
+            var questions = questionRegisterItems.GroupBy(o => o.question)
+                .Select(o => new QuestionRegisterItemResultDto()
+                {
+                    QuestionId = o.Key.QuestionId,
+                    QuestionName = o.Key.QuestionName,
+                    DisplayOrder = o.Key.DisplayOrder
+                }).ToList();
+
+            foreach (var question in questions)
+            {
+                var questionAnswers = questionRegisterItems.Where(o =>
+                o.question.QuestionId == question.QuestionId)
+                    .OrderBy(o => o.questionAnswer.DisplayOrder).ToList();
+                foreach (var questionRegisterItem in questionAnswers)
+                {
+                    string answer;
+                    if (questionRegisterItem.questionAnswer.AnswerResultType == AnswerResultTypeFlag.Choice)
+                    {
+                        if (string.IsNullOrWhiteSpace(questionRegisterItem.questionAnswer.Aliases))
+                        {
+                            answer = questionRegisterItem.questionAnswer.QuestionAnswerName;
+                        }
+                        else
+                        {
+                            answer = questionRegisterItem.questionAnswer.Aliases;
+                        }
+                    }
+                    else
+                    {
+                        answer = questionRegisterItem.questionRegisterAnswer.Content;
+                    }
+                    if (string.IsNullOrWhiteSpace(answer))
+                    {
+                        continue;
+                    }
+                    question.Answers.Add(new QuestionRegisterItemResultAnswer()
+                    {
+                        Answer = answer,
+                        DisplayOrder = questionRegisterItem.questionAnswer.DisplayOrder,
+                    });
+                }
+            }
+
+            return questions;
+        }
+
+        /// 
+        /// 
+        /// 
+        /// 
+        /// 
+        [HttpPost("api/app/QuestionRegister/GetDiseaseRiskListByPersonId")]
+        public async Task> GetDiseaseRiskListByPersonIdAsync(PersonIdInputDto input)
+        {
+            var questionRegister = (await _repository.GetQueryableAsync())
+               .Where(o => o.PersonId == input.PersonId)
+               .OrderByDescending(o => o.CreationTime)
+               .FirstOrDefault();
+
+            if (questionRegister == null)
+            {
+                return null;
+            }
+
+            var questionRegisterItems = (from questionRegisterItem in await _questionRegisterItemRepository.GetQueryableAsync()
+                                         join questionRegisterAnswer in await _questionRegisterAnswerRrepository.GetQueryableAsync()
+                                         on questionRegisterItem.QuestionRegisterItemId equals questionRegisterAnswer.QuestionRegisterItemId
+                                         join questionAnswer in await _questionAnswerRepository.GetQueryableAsync()
+                                         on questionRegisterAnswer.QuestionAnswerId equals questionAnswer.QuestionAnswerId
+                                         join question in await _questionRepository.GetQueryableAsync()
+                                         on questionRegisterItem.QuestionId equals question.QuestionId
+                                         join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync()
+                                         on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId
+                                         where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId
+                                         orderby questionSubjectType.DisplayOrder, question.DisplayOrder
+                                         select new
+                                         {
+                                             questionSubjectType,
+                                             question,
+                                             questionRegisterItem,
+                                             questionRegisterAnswer,
+                                             questionAnswer
+                                         }).ToList();
+
+            var diseaseRisks = (from diseaseRisk in await _diseaseRiskRepository.GetQueryableAsync()
+                                join diseaseRiskLevel in await _diseaseRiskLevelRepository.GetQueryableAsync()
+                                on diseaseRisk.DiseaseRiskId equals diseaseRiskLevel.DiseaseRiskId into emptyDiseaseRiskLevel
+                                from haveDiseaseRiskLevel in emptyDiseaseRiskLevel.DefaultIfEmpty()
+                                join diseaseRiskLevelAnswer in await _diseaseRiskLevelAnswerRepository.GetQueryableAsync()
+                                on haveDiseaseRiskLevel.DiseaseRiskLevelId equals diseaseRiskLevelAnswer.DiseaseRiskLevelId into emptyDiseaseRiskLevelAnswer
+                                from haveDiseaseRiskLevelAnswer in emptyDiseaseRiskLevelAnswer.DefaultIfEmpty()
+                                orderby diseaseRisk.DisplayOrder
+                                select new
+                                {
+                                    diseaseRisk,
+                                    haveDiseaseRiskLevel,
+                                    haveDiseaseRiskLevelAnswer
+                                }).ToList();
+
+            var questionRegisterDiseaseRiskDtos = diseaseRisks.GroupBy(o => o.diseaseRisk)
+                .Select(o => new QuestionRegisterDiseaseRiskDto()
+                {
+                    DiseaseRiskId = o.Key.DiseaseRiskId,
+                    DiseaseRiskLevelName = o.Key.DiseaseRiskName,
+                    DisplayOrder = o.Key.DisplayOrder
+                }).ToList();
+
+            foreach (var diseaseRisk in questionRegisterDiseaseRiskDtos)
+            {
+               var diseaseRiskLevels = diseaseRisks.Where(o=>o.diseaseRisk.DiseaseRiskId == diseaseRisk.DiseaseRiskId)
+                    .OrderBy(o=>o.haveDiseaseRiskLevel.DisplayOrder).ToList();
+                foreach(var diseaseRiskLevel in diseaseRiskLevels)
+                {
+                    var cnt = questionRegisterItems.Where(o => o.questionRegisterAnswer.QuestionAnswerId ==
+                    diseaseRiskLevel.haveDiseaseRiskLevelAnswer.QuestionAnswerId).Count();
+                    
+                }
+            }
+
+            return questionRegisterDiseaseRiskDtos;
+        }
         /// 
         /// 
         /// 
@@ -254,7 +423,7 @@ namespace Shentun.WebPeis.QuestionRegisters
 
                         foreach (var childQuestionRegisterAnswer in questionRegisterAnswerDto.Childs)
                         {
-                            if(childQuestionRegisterAnswer.IsSelected == 'Y')
+                            if (childQuestionRegisterAnswer.IsSelected == 'Y')
                             {
                                 questionRegisterAnswer = new QuestionRegisterAnswer()
                                 {
@@ -266,7 +435,7 @@ namespace Shentun.WebPeis.QuestionRegisters
                                 };
                                 questionRegisterItem.QuestionRegisterAnswers.Add(questionRegisterAnswer);
                             }
-                           
+
                         }
 
                     }
@@ -330,7 +499,7 @@ namespace Shentun.WebPeis.QuestionRegisters
                                 QuestionId = questionRegisterItemDto.QuestionId,
                             };
                             questionRegister.QuestionRegisterItems.Add(questionRegisterItem);
-                           // await  _questionRegisterItemRepository.InsertAsync(questionRegisterItem);
+                            // await  _questionRegisterItemRepository.InsertAsync(questionRegisterItem);
                         }
                         var questionRegisterAnswer = new QuestionRegisterAnswer()
                         {
@@ -356,7 +525,7 @@ namespace Shentun.WebPeis.QuestionRegisters
                                 };
                                 questionRegisterItem.QuestionRegisterAnswers.Add(questionRegisterAnswer);
                             }
-                           
+
                         }
 
                     }
diff --git a/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevel.cs b/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevel.cs
index 6e5a8cb..3a095b5 100644
--- a/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevel.cs
+++ b/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevel.cs
@@ -10,6 +10,10 @@ namespace Shentun.WebPeis.Models;
 /// 
 public partial class DiseaseRiskLevel : AuditedEntity, IHasConcurrencyStamp, IDisplayOrder
 {
+    public DiseaseRiskLevel()
+    {
+
+    }
     /// 
     /// 风险级别ID
     /// 
@@ -45,7 +49,7 @@ public partial class DiseaseRiskLevel : AuditedEntity, IHasConcurrencyStamp, IDi
 
     public string? Suggestion { get; set; }
 
-    public string DiagnosisFunction { get; set; }
+    public string? DiagnosisFunction { get; set; }
 
     public virtual DiseaseRisk DiseaseRisk { get; set; } = null!;
 
diff --git a/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevelAnswer.cs b/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevelAnswer.cs
index 7bd4b5b..4e43403 100644
--- a/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevelAnswer.cs
+++ b/src/Shentun.WebPeis.Domain/Models/DiseaseRiskLevelAnswer.cs
@@ -13,11 +13,12 @@ namespace Shentun.WebPeis.Models
     /// 
     public class DiseaseRiskLevelAnswer : Entity, IHasConcurrencyStamp
     {
+        //public DiseaseRiskLevelAnswer() { }
         public Guid DiseaseRiskLevelId { get; set; }
 
         public Guid QuestionAnswerId { get; set; }
 
-        public string ConcurrencyStamp { get; set; }
+        public string? ConcurrencyStamp { get; set; }
 
         public override object?[] GetKeys()
         {
diff --git a/src/Shentun.WebPeis.EntityFrameworkCore/EntityFrameworkCore/WebPeisDbContext.cs b/src/Shentun.WebPeis.EntityFrameworkCore/EntityFrameworkCore/WebPeisDbContext.cs
index b95b0b7..ce98e18 100644
--- a/src/Shentun.WebPeis.EntityFrameworkCore/EntityFrameworkCore/WebPeisDbContext.cs
+++ b/src/Shentun.WebPeis.EntityFrameworkCore/EntityFrameworkCore/WebPeisDbContext.cs
@@ -152,6 +152,8 @@ public partial class WebPeisDbContext : AbpDbContext,
 
     public virtual DbSet DiseaseRiskLevelAsbitems { get; set; }
 
+    public virtual DbSet DiseaseRiskLevelAnswers { get; set; }
+
     public virtual DbSet DiseaseRiskNormalLevels { get; set; }
 
 
diff --git a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs
index e1b1b47..196e200 100644
--- a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs
+++ b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs
@@ -90,6 +90,32 @@ namespace Shentun.WebPeis
                 }
                
 
+                await unitOfWork.CompleteAsync();
+            }
+        }
+
+        [Fact]
+        public async Task GetQuestionRegisterListByPersonIdAsync()
+        {
+            using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
+            {
+
+                var entity = await _appService.GetQuestionRegisterListByPersonIdAsync(new PersonIdInputDto()
+                {
+                    PersonId = new Guid("3a12d72c-19d9-e8b2-71f6-cf283103e191") // 3a12d7fa-63f1-d549-c2f8-01123e5b7a8a
+                });
+                foreach (var item in entity)
+                {
+                    _output.WriteLine("-----------" + item.QuestionName);
+                    foreach (var answer in item.Answers)
+                    {
+                        _output.WriteLine(answer.Answer);
+
+                    }
+
+                }
+
+
                 await unitOfWork.CompleteAsync();
             }
         }