FHIR complex extension

1k Views Asked by At

How can I add an extension that has multiple fields ? For example if I have a extension related to visit motives that is structured like this in my application :

"visit_motive":
    {
          "id": "1",
          "label": "Visit motive name",
          "color": "#000000",
          "duration": 5
    }

I have something like this for the moment :

"extension": [
    {
      "url": "https://api.test.com/fhir/StructureDefinition/schedule-visit_motives",
      "valueIdentifier": "visit_motive1_id",
      "valueString" : "visit motive name",
      "valueString" : "#000",
      "valueInteger" : 5,
    },
    {
      "url": "https://api.test.com/fhir/StructureDefinition/schedule-visit_motives",
      "valueIdentifier": "visit_motive2_id",
      "valueString" : "visit motive name 2",
      "valueString" : "#111",
      "valueInteger" : 10,
    }
]

But I'm pretty sure it is not correct since I can't name the fields since I have to precise value[x] each time.

How can I do it ?

1

There are 1 best solutions below

0
On BEST ANSWER

You would do that with a complex extension, which is basically an extension containing extensions. You can see more information about extensions in the spec. Scroll down a bit for the complex one. Or view an example of the structure of a complex extension here.

The use of your extension would look something like this:

"extension" : [{
    "url" : "https://api.test.com/fhir/StructureDefinition/schedule-visit_motives",
    "extension" : [{
        "url" : "id",
        "valueIdentifier": "visit_motive1_id"
    }, {
        "url" : "label", 
        "valueString" : "visit motive name"
    }, {
        "url" : "color",
        "valueString" : "#000"
    }, {
        "url" : "duration",
        "valueInteger" : 5,
    }]
}]