问题描述
我正在使用 fhirclient 库“3.2.0”,我需要使用 FHIR NutritionIntake 资源。 我的理解是它不可用,因为我在“fhirclient.models.”下找不到。如果我错了,请纠正我。
我试图解决上述问题是实施“class NutritionIntake(DomainResource)”。到目前为止我实施的内容如下。我遇到的问题是,在按照下面对包含“consumedItem”的输入进行测试时,出现以下错误:
请您提供有关如何解决它的任何帮助吗?
非常感谢, 卡罗
-
错误:
fhirclient.models.fhirabstractbase.FHIRValidationError: {root}:
consumedItem.0:
nutritionProduct”位于 0x000002A536742C70> 数据中的多余条目“type” 数据中多余的条目“amount”,用于 多余的条目“多余的”在 -
输入
"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" } } ]
-
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 资源尝试完成相同的功能 - 主要是使用大量自定义扩展。