用于使用ucumapi验证cdisc sdtm.lb和adam.adlb的python库

pyucum的Python项目详细描述


脓肿

Sam Tomioka

pyucum可用于从lborresulbstresu生成ucum单位,验证ucum单位,并使用ucum api将lborresu中的结果转换为lbstresu中的结果。它被更新为使用给定的loinc值来确定在基于摩尔单位的结果转换中使用的适当分子量。此工具与cdisc sdtm.lb和adam.adlb一起工作良好。 <H2>1。背景

由于以下几个原因,科学单位的验证和从报告单位到标准单位的转换一直是数据科学面临的挑战:

  1. 需要一个查找表,其中包含所有可能的测量输入和输出单位、测量名称(例如葡萄糖、重量等)、换算系数、摩尔重量等。
  2. 查找表中的度量值名称和传入数据必须匹配
  3. 输入的单位必须在查找表中
  4. 查找表的维护必须与标准术语更新同步
  5. 除了劳动数据科学审查外,还需要仔细的医学审查 还有更多…
  6. < > >

    尽管存在这些挑战,查找表方法仍然是许多公司验证单元和转换的标准方法。考虑到更系统的方法,不需要使用实验室测试名称[1],但一些单位依赖于特定实验室测试的摩尔重量和/或离子价,因此这种方法不能解决问题。监管机构要求发起人使用标准化单位进行报告和分析[2]。PMDA要求所有报告和分析使用国际单位[3,4]。需求的差异迫使我们对一些增加了额外复杂性的测量保持特定于区域的转换。

    jozef aerts所讨论的方法使用restapi,restapi可通过美国国家医学图书馆(nlm)[5]维护的统一度量单位(ucum)资源代码获得。好处是显而易见的,我们可以潜在地消除实验室转换查找表的维护。以下是他们对自己的评价。

    < Buff行情>

    统一计量单位代码(ucum)是一个代码系统,旨在包括国际科学、工程和商业中同时使用的所有计量单位。其目的是促进数量及其单位之间的明确的电子通信。重点是电子通信,而不是人与人之间的通信。计量单位统一代码的一个典型应用是电子数据交换(EDI)协议,但没有什么能阻止它在其他类型的机器通信中使用。

    ucum是符合iso 11240的标准,并已用于icsr e2b提交给采用iche2b(r3)的监管机构。fda需要ucum代码用于evaers icsr e2b(r3)提交文件产品标签内容中的剂量强度药品注册和药品上市。ucum代码已被hl7采用。 <H2>2。安装

    要安装,

    pip install pyucum
    

    需要以下软件包

    • numpy>;=1.15.0
    • 熊猫>;=0.23.0
    • tqdm>;=4.32.2
    • Seaborn>;=0.9.0
    • matplotlib>;=3.1.1
    <H2>3。一些有用的实用程序 <H3>3.1。对lborresu和lbstresu应用正则表达式

    或resu2ucum(df_u,模式) 这将采用包含lborresulbstresu的数据框架,以及要传递以生成ucum单位的正则表达式。它返回带转换单位的数据帧和转换单位列表。

    尽管cdisc发布了一个可下载的cdisc单元和ucum映射xlsx文件,因为cdisc单元不包括临床实验室/生物分析/pk供应商使用的所有报告单元,所以该工具不会使用它。在使用转换重启之前,正则表达式和ucum单元有效性服务用于转换和验证实验室供应商提供的单元。

    示例:

    frompyucumimport*patterns=[("%","%25"),("\A[xX]?10[^E]","10*"),("IU","%5BIU%5D"),("\Anan",""),("\ANONE",""),("\A[rR][Aa][Tt][Ii][Oo]",""),("\ApH",""),("Eq[l]?","eq"),("\ATI/L","TR/L"),#update T to TR("\AGI/L","GA/L"),#update G to GA("V/V","L/L"),("[a-z]{0,4}/HPF","/%5BHPF%5D"),("[a-z]{0,4}/LPF","/%5BLPF%5D"),("fraction of 1","1"),("sec","s"),("1.73m2","%7B1.73_m2%7D"),("\AG/L","GA/L")]dfconverted,ucumlist=orresu2ucum(df1,patterns)
    <H3>3.2。使用ucum服务验证单元

    ucumverify(ucumlist,url)

    示例:

    frompyucumimport*url='http://xml4pharmaserver.com:8080/UCUMService2/rest'#url=https://ucum.nlm.nih.gov/ucum-service/v1/ucumVerify(ucumlist,url)

    输出:

    ['g/dL = true',
     'mg/dL = true',
     'ng/mL = true',
     '10*3/uL = true',
     '%25 = true',
     '10*6/uL = true',
     '10*3/mm3 = true',
     'meq/L = true',
     'mL/min = true',
     'ng/L = true',
     'ng/dL = true',
     'u%5BIU%5D/mL = true',
    
    <H3>3.3。将lborresu中的结果转换为lbstresu中的结果

    转换单元()

    示例:

    frompyucumimport*findings,full,response=convert_unit(nodupdf,url,patterns,loinconly=0)findings[(findings['fromucum'].notnull())]
    输出:  src=

    要查看其他实用程序,请转到此处的示例 <H2>3。ucum和xml4pharma api服务的验证

    1. 初始评估(2019-02-20)是在Restapi上完成的,该Restapi可通过统一度量单位(UCUM)资源代码获得,调查结果总结如下这里

    2. 第二次评估(2019-05-05)是在Jozef Aerts提供的Restapi测试版本上完成的,网址为:xml4pharmaxml4pharma。研究结果在这里进行了总结

    3. 第三次评估(2019-05-25)是在jozef aerts提供的restapi更新测试版本上完成的,网址是:xml4phama。自从第二次评估完成以来,jozef aerts通过实现了一些改进。

       src=

    4. < > >

      第三次评估的结果总结如下

      欢迎加入QQ群-->: 979659372 Python中文网_新手群

      推荐PyPI第三方库


热门话题
java Camera API如何聚焦图像中多边形的中心?   来自Java的spring Filling邮戳模板   java只能编织本地JAR的方面吗?   javajavax。加密。BadPaddingException:解密错误无法解密加密的公钥   从java运行ansibleplaybook   在Java中,如何从不同的偏移量读取大块的字符串文件?   java Android GridView将无法确定正确的位置   executorservice如何使用自动线程管理在Java中实现生产者/消费者   JavaEJB3.1嵌入式API单元测试EJB+JPA实体   API的java输出自动停止   java Checkmarx缺陷解决方案   java缓存,获取最早的元素   WebSphere8中的JavaEJB问题   两个时区之间的java Jodatime时差   Java 8不兼容类型错误   java TableCellEditor:如果按下该键,则清除原始文本;如果没有输入,则保留值