GNU Health/贡献
GNU Health 是一个 FLOSS 项目,欢迎您为它贡献力量。有几种方法可以做到这一点,其中大多数不需要您知道如何编码!
以用户的母语提供 GNU Health 是成功的重要组成部分。您可以通过改进现有的翻译或用自己的语言创建新的翻译来提供帮助。翻译 GNU Health 很容易,不需要技术知识,并且全部通过 Web 界面完成。查看 本地化 页面以了解有关该过程的更多详细信息。
维基教科书上的 GNU Health 文档(您现在正在阅读)并不完整,并且需要在每次 GNU Health 升级时进行调整或添加。
如果您不想编写文档,您仍然可以通过将其翻译成您的语言来做出贡献,以便医疗保健专业人员更容易使用 GNU Health。
不幸的是,几乎所有软件都包含错误。虽然我们正在积极努力修复错误,以便您不必费心,但请务必报告您遇到的任何错误或异常。
报告错误不需要花费太多时间。它是通过 Savannah 完成的。
提示:为了更快地解决问题,请包括您执行以导致错误的步骤的描述,如果可能,请包括问题的屏幕截图。但请注意:不要在屏幕截图或描述中包含患者信息!
GNU Health 主要是 Tryton 模块,使用的编程语言是 Python。代码托管在 Savannah 上,并使用 Mercurial 进行版本控制。
您可以通过匿名检出获取最新代码的副本
hg clone http://hg.savannah.gnu.org/hgweb/health/
您也可以 在线浏览代码。
编码风格应遵循 Tryton 的 指南,否则应遵循 Python 最佳 实践。
如果您要为您的中心安装 GNU Health,您很可能会对其进行自定义以满足您的特定需求。报告、访问控制规则和视图只是通常自定义的对象中的一部分。主要概念是不要编辑标准代码或模块,因为它们会在下次更新时被覆盖,并且很可能最终导致系统崩溃。
自定义 GNU Health 以适应您的中心的推荐步骤是
- 创建您的模块:建议您为您的本地模块使用以下命名约定z_health_<modulename>. 例如,如果您的项目名为 catalina,您的本地模块名称将为z_health_catalina. 这样可以轻松检测和区分您的模块与基本代码。您还可以轻松地按照模式备份它们。
- 继承对象。
- 修改或创建新模型。
如果您创建了一个新的自定义字段,您也应该使用z_<fieldname>命名约定。这避免了与官方版本未来的字段名称发生冲突。我们不会使用任何以z_.
在~/gnuhealth/tryton/server/modules下有一个名为local 的目录。请将包含您项目自定义的本地模块放在此目录下。使用这种方法时,可以确保更新过程不会覆盖您的包。
此外,有时您可能希望包含来自 Tryton 或社区的另一个现有包。此本地模块目录是放置它们的地方。
请注意,我们只能支持包含在每个 GNU Health HMIS 发行版中的那些包。
常规贡献者对代码库具有写入权限。但是,如果您刚开始,我们希望确保您的更改得到审核。方法是 打开一个错误 描述您修复的问题或您添加的功能,并将补丁附加到该错误报告。开发人员之一将审核您的补丁,如果批准,则将其提交到主开发分支。