fhir扩展,它是一个对象数组

时间:2016-01-29 17:27:33

标签: hl7-fhir

我试图了解如何实现扩展字段,该字段应包含“Objects”的数组/列表。目前规格说扩展只能包含“其中一个23”:

  "valueInteger" : <integer>
  "valueDecimal" : <decimal>
  "valueDateTime" : "<dateTime>"
  "valueDate" : "<date>"
  "valueInstant" : "<instant>"
  "valueString" : "<string>"
  "valueUri" : "<uri>"
  "valueBoolean" : <boolean>
  "valueCode" : "<code>"
  "valueBase64Binary" : "<base64Binary>"
  "valueCoding" : { Coding }
  "valueCodeableConcept" : { CodeableConcept }
  "valueAttachment" : { Attachment }
  "valueIdentifier" : { Identifier }
  "valueQuantity" : { Quantity }
  "valueRange" : { Range }
  "valuePeriod" : { Period }
  "valueRatio" : { Ratio }
  "valueHumanName" : { HumanName }
  "valueAddress" : { Address }
  "valueContactPoint" : { ContactPoint }
  "valueSchedule" : { Schedule }
  "valueReference" : { Reference }

我需要像

这样的东西
{
  "extension": {
     "url": "list-of-things", 
     "valueArray" : [
          {"code":"123","value":"Yellow"},
          {"code":"333","value":"Cab"}
     ]
  }
}

你能指出我正确的方向,谢谢!

1 个答案:

答案 0 :(得分:5)

扩展值不能是数组 - 它很难处理重复的多态类型。因此,通过重复扩展元素并声明相同的URL来处理重复结构。使用嵌套扩展来处理复杂结构。定义为复杂扩展名的已声明子项的扩展名不需要具有完整的URL声明。

您的结构将如下所示:


{
  "extension: [{
    "url": "http://example.org/fhir/StructureDefinition/list-of-things",
    "extension" [{
      "url": "code",
      "valueCode": "123"
    },
    {
      "url": "value",
      "valueString": "Yellow"
    }]
  },
  {
    "url": "http://example.org/fhir/StructureDefinition/list-of-things",
    "extension" [{
      "url": "code",
      "valueCode": "333"
    },
    {
      "url": "value",
      "valueString": "Cab"
    }]
  }]
}