如何将 NutritionIntake 与 python fhirclient 库一起使用?

问题描述

我正在使用 fhirclient 库“3.2.0”,我需要使用 FHIR NutritionIntake 资源。 我的理解是它不可用,因为我在“fhirclient.models.”下找不到。如果我错了,请纠正我。

我试图解决上述问题是实施“class NutritionIntake(DomainResource)”。到目前为止我实施的内容如下。我遇到的问题是,在按照下面对包含“consumedItem”的输入进行测试时,出现以下错误

请您提供有关如何解决它的任何帮助吗?

非常感谢, 卡罗

  1. 错误

    fhirclient.models.fhirabstractbase.FHIRValidationError: {root}:
    

    consumedItem.0:nutritionProduct”位于 0x000002A536742C70> 数据中的多余条目“type” 数据中多余的条目“amount”,用于 多余的条目“多余的”在

  2. 输入

               "consumedItem": [
                {
                    "type": {
                        "coding": [
                            {
                                "system": "http://loinc.org","code": "9108-2","display": "Fluid intake total 24 hour"
                            },{
                                "system": "http://snomed.info/sct","code": "11713004","display": "Water"
                            }
                        ],"text": "Water"
                    },"schedule": {
                        "event": "2020-04-03T15:30:10+01:00"
                    },"nutritionProduct": {
                        "text": "Water"
                    },"amount": {
                        "value": 250,"unit": "ml","system": "http://unitsofmeasure.org"
                    }
                }
            ]
    
  3. Python 代码

    从 fhirclient.models 导入 fhirreference、标识符、codeableconcept、fhirdate 从 fhirclient.models.domainresource 导入 DomainResource 从 fhirclient.models.nutritionorder 导入 NutritionorderSupplement,NutritionorderOralDiet,
    NutritionorderEnteralFormula

从 fhirclient.models 导入骨干元素 from fhirclient.models 导入注解

类 NutritionIntake(DomainResource): """ 饮食、配方或营养补充请求。

A request to supply a diet,formula Feeding (enteral) or oral nutritional
supplement to a patient/resident.
"""
resource_type = "NutritionIntake"

def __init__(self,jsondict=None,strict=True):
    """ Initialize all valid properties.

    :raises: FHIRValidationError on validation errors,unless strict is False
    :param dict jsondict: A JSON dictionary to use for initialization
    :param bool strict: If True (the default),invalid variables will raise a TypeError
    """
    self.identifier = None
    self.basedOn = None
    self.partOf = None
    self.status = None
    self.statusReason = None
    self.category = None
    self.consumedItem = None
    self.ingredientLabel = None
    self.subject = None
    self.encounter = None
    self.effective = None
    self.dataAsserted = None
    self.informationSource = None
    self.derivedFrom = None
    self.reasonCode = None
    self.note = None


    super(NutritionIntake,self).__init__(jsondict=jsondict,strict=strict)

def elementProperties(self):
    js = super(NutritionIntake,self).elementProperties()

    print("jsjsjsjsjjssjsjsjsjsj  ",type(js))
    print(js)


    js.extend([
        ("identifier","identifier",identifier.Identifier,True,None,False),("basedOn","basedOn",fhirreference.FHIRReference,("partOf","partOf",("status","status",str,False,("statusReason","statusReason",codeableconcept.CodeableConcept,("category","category",("consumedItem","consumedItem",backboneelement.BackboneElement,("ingredientLabel","ingredientLabel",("subject","subject",("encounter","encounter",("effective","effective",("dataAsserted","dataAsserted",fhirdate.FHIRDate,("informationSource","informationSource",("derivedFrom",("reasonCode","reasonCode",("note","note",annotation.Annotation,("type","type",("nutritionProduct","nutritionProduct",False)

        # ("allergyIntolerance","allergyIntolerance",# ("dateTime","dateTime",True),# ("encounter",# ("enteralFormula","enteralFormula",NutritionorderEnteralFormula,# ("excludeFoodModifier","excludeFoodModifier",# ("foodPreferenceModifier","foodPreferenceModifier",#
        # ("oralDiet","oralDiet",NutritionorderOralDiet,# ("orderer","orderer",# ("patient","patient",#
        # ("supplement","supplement",NutritionorderSupplement,])
    return js
import sys
try:
    from fhirclient.models import codeableconcept
except ImportError:
    codeableconcept = sys.modules[__package__ + '.codeableconcept']
try:
    from fhirclient.models import fhirdate
except ImportError:
    fhirdate = sys.modules[__package__ + '.fhirdate']
try:
    from fhirclient.models import fhirreference
except ImportError:
    fhirreference = sys.modules[__package__ + '.fhirreference']
try:
    from fhirclient.models import identifier
except ImportError:
    identifier = sys.modules[__package__ + '.identifier']
try:
    from fhirclient.models import quantity
except ImportError:
    quantity = sys.modules[__package__ + '.quantity']
try:
    from fhirclient.models import ratio
except ImportError:
    ratio = sys.modules[__package__ + '.ratio']
try:
    from fhirclient.models import timing
except ImportError:
    timing = sys.modules[__package__ + '.timing']

解决方法

鉴于 NutritionUptake 还不是“官方”资源(它还没有包含在官方版本中),Python 库很可能不支持它。您可以联系维护该库的社区,以鼓励他们支持临时版本,但如果不支持,您可以使用 Basic 资源尝试完成相同的功能 - 主要是使用大量自定义扩展。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...