{
  "resourceType": "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition",
  "resource": "Bundle",
  "id": "ViewDefinition-Appointment",
  "title": "Afspraken",
  "select": [
    {
      "column": [
        {
          "path": "meta.extension('http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source').valueUri",
          "name": "Bron",
          "description": "Lookup adhv uri (AGB-Z of OID) <code>&lt;adressering-base&gt;/Organization?identifier=&lt;.meta.tag.code&gt;</code> en gebruik dan <code>Organization.name</code>",
          "type": "string",
          "tag": [
            {
              "name": "Zib element",
              "value": "nvt"
            }
          ]
        },
        {
          "path": "iif(start.exists() and end.exists(), start.toString() + ' - ' + end.toString(), start | end)",
          "name": "Datum",
          "description": "",
          "type": "Period",
          "tag": [
            {
              "name": "Zib element",
              "value": "BeginDatumTijd - EindDatumTijd"
            }
          ]
        },
        {
          "path": "participant.actor.where(reference.contains('Practitioner/')).select(display | extension('http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference').valueReference.display).join('\n')",
          "name": "Met",
          "description": "",
          "type": "string",
          "tag": [
            {
              "name": "Zib element",
              "value": "ContactMet::Zorgverlener, ContactMet::Zorgverlener/ZorgverlenersRol"
            }
          ]
        },
        {
          "path": "participant.actor.where(reference.contains('Location/'))[0].display",
          "name": "Locatie",
          "description": "",
          "type": "string",
          "tag": [
            {
              "name": "Zib element",
              "value": "Locatie::Zorgaanbieder"
            }
          ]
        },
        {
          "path": "status",
          "name": "Status",
          "description": "",
          "type": "code",
          "tag": [
            {
              "name": "Zib element",
              "value": "nvt"
            }
          ]
        },
        {
          "path": "appointmentType.coding.display",
          "name": "Type",
          "description": "",
          "type": "string",
          "tag": [
            {
              "name": "Zib element",
              "value": "ContactType"
            }
          ]
        },
        {
          "path": "reason.text | indication.display",
          "name": "Reden",
          "description": "DeviatingResult or Problem or Condition<br/>n.b. dit is geen ZIB.",
          "type": "string",
          "tag": [
            {
              "name": "Zib element",
              "value": "nvt"
            }
          ]
        }
      ],
      "forEach": "entry.resource.where(resourceType='Appointment' and (status='proposed' or status='pending' or status='booked'))"
    }
  ]
}