首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试了解如何使用Rails5向Rails模型添加多个CPT或Dx代码

尝试了解如何使用Rails5向Rails模型添加多个CPT或Dx代码
EN

Stack Overflow用户
提问于 2017-05-23 10:13:02
回答 2查看 159关注 0票数 0

尝试创建一个医疗记录类型的应用程序,想知道在一个模型中添加多个CPT(程序)或Dx(医疗诊断)代码的最佳方式是什么(例如,一次就诊可以包含在同一次就诊中完成的多个程序,或者一个人可以讨论几种疾病,记录就诊的人将是专业人员,患者将能够看到它)。到目前为止,我有一个用户模型(患者)、一个提供者模型(医疗专业人员)、一个医疗记录模型(属于用户)和一个医疗条目模型(属于医疗记录和提供者)。

我认为我必须为每个代码类型创建一个列,到目前为止,我有一个列用于主dx,然后是辅助dx,它属于医疗条目模型,为了简单起见,将其限制为只有两个,但对于CPT列,我认为这将是一个问题,因为一个典型的提供者将有几个CPT代码,每个代码可以有一个单位计数(例如,多剂量的药物管理等),每个代码都有一个描述。使用文本框会变得杂乱无章,因为每个条目都可能有多个CPT代码,我不认为每个条目都会有很大的文本块。

在模型中组织/执行此想法的最佳方式是什么,而不必为cpt/dx代码和单位计数创建无限数量的列?任何宝石或策略都将非常受欢迎。

EN

回答 2

Stack Overflow用户

发布于 2017-05-23 11:19:14

哦,天哪。在这样的事情上从基本原则出发绝对是一个糟糕的想法。走出去看看别人都做了些什么。几乎所有主要的编码系统,ICD-10,LOINC,SNOMED,READ,CPT等都有资源非常丰富的网站。另外,去看看Indivo的data models吧。微软的Health Vault也有一些有用的references。我在这方面已经做了很多年了,犯错的方法比正确的方法更多。祝好运!

票数 1
EN

Stack Overflow用户

发布于 2017-05-23 10:53:45

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

代码语言:javascript
复制
class Procedure < ApplicationRecord
end

class Diagnosis < ApplicationRecord
end

这避免了重复,并为您提供了一种结构化的方式来设置关联。

要将诊断和过程应用于会诊(访问),您应该设置联接模型:

代码语言:javascript
复制
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

这只是一种普通的多对多关联。我们还可以添加逆数:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44124709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档