Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 尝试了解如何使用Rails 5向Rails模型添加多个CPT或Dx代码_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 尝试了解如何使用Rails 5向Rails模型添加多个CPT或Dx代码

Ruby on rails 尝试了解如何使用Rails 5向Rails模型添加多个CPT或Dx代码,ruby-on-rails,ruby,Ruby On Rails,Ruby,正在尝试创建病历类型应用程序,想知道向模型中添加多个CPTProcedure或Dxmedical Diagnostics代码的最佳方法是什么,例如,对医疗专业人员的就诊可能包含在同一次就诊中完成的多个程序,或者一个人可能会讨论几种疾病,记录就诊的人是专业人员,患者可以查看。到目前为止,我有一个用户模型患者,一个提供者模型医疗专业人员,一个病历模型属于用户,一个医疗条目模型属于病历和提供者 我想我必须为每种代码类型创建一列,到目前为止,我有一列用于主要dx,然后是次要dx,属于医疗输入模型,为了简

正在尝试创建病历类型应用程序,想知道向模型中添加多个CPTProcedure或Dxmedical Diagnostics代码的最佳方法是什么,例如,对医疗专业人员的就诊可能包含在同一次就诊中完成的多个程序,或者一个人可能会讨论几种疾病,记录就诊的人是专业人员,患者可以查看。到目前为止,我有一个用户模型患者,一个提供者模型医疗专业人员,一个病历模型属于用户,一个医疗条目模型属于病历和提供者

我想我必须为每种代码类型创建一列,到目前为止,我有一列用于主要dx,然后是次要dx,属于医疗输入模型,为了简单起见,将其限制为仅两列,但是对于CPT列,我认为这将是一个问题,因为一个提供者通常会有几个CPT代码,每个代码都可以有一个单位计数。多剂量的药物管理等,每个代码将有一个描述。使用文本框会变得混乱,因为每个条目都可能有多个CPT代码,我不认为每个条目都会有一大块文本


在不必为cpt/dx代码和单位计数创建无限列的情况下,在模型中组织/执行此想法的最佳方式是什么?任何GEM或策略都将不胜感激。

首先,您需要创建包含主记录诊断和过程列表的规范化表。这是存储代码、描述等的地方:

class Procedure < ApplicationRecord
end

class Diagnosis < ApplicationRecord
end
这避免了重复,并为您提供了一种结构化的方法来设置关联

要将诊断和过程应用于咨询访问,您应设置连接模型:

class Consultation < ApplicationRecord
  belongs_to :patient
  belongs_to :doctor
  has_many :patient_proceedures
  has_many :proceedures, through: :patient_proceedures
  has_many :patient_diagnoses
  has_many :diagnoses, though: :patient_diagnoses # Yeah thats really the plural of diagnosis
end

class PatientProcedure < ApplicationRecord
  belongs_to :proceedure
  belongs_to :consultation
end

class PatientDiagnosis < ApplicationRecord
  belongs_to :diagnosis
  belongs_to :consultation
end
这只是一个普通的多对多协会。我们还可以加上倒数:

class Procedure < ApplicationRecord
  has_many :patient_proceedures
  has_many :consultations, through: :patient_proceedures
  has_many :patients, through: :consultations
end

class Diagnosis < ApplicationRecord
  has_many :patient_diagnoses
  has_many :diagnoses, though: :patient_diagnoses 
  has_many :consultations, through: :patient_diagnoses 
  has_many :patients, through: :consultations
end

哦,老兄。从第一原则开始做这样的事情绝对是个坏主意。出去看看别人都做了些什么。几乎所有主要的编码系统,如ICD-10、LOINC、SNOMED、READ、CPT等,都有拥有大量资源的网站。还有,去看Indivo的。微软的健康保险库也有一些有用的功能。我在这方面已经做了很多年了,有更多的方法让它出错,而不是让它正确。祝你好运

哈哈,谢谢你的意见。我肯定是一个jr级的rails,我很高兴我问。我这样做只是为了我自己。但我会记住你的意见没问题。我花了2-1/2年的时间建立了一个急性心脏病后护理系统。我在健康技术领域工作了20多年。最近10年在数字健康领域工作。我不认为你有办法告诉我,但我会尽力留意,以防你有具体问题。就像我说的,祝你好运。