{
  "resourceType": "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition",
  "resource": "Bundle",
  "id": "ViewDefinition-Intoxicaties",
  "title": "Intoxicaties",
  "select": [
    {
      "column": [
        {
          "path": "meta.extension('http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source').valueUri",
          "name": "Bron",          
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "nvt" } ],
          "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>"
        },
        {
          "path": "effectiveDateTime | issued",
          "name": "Datum",
          "type": "dateTime",
          "tag": [ { "name": "Zib element", "value": "WaarnemingGebruik" } ],
          "description": "Datum van de vaststelling van het gebruik."
        },
        {
          "path": "effectivePeriod.select(iif(start.exists() and end.exists(), start.toString() + ' - ' + end.toString(), start | end)) | effectiveDateTime",
          "name": "Gebruiksperiode",
          "type": "Period",
          "tag": [ { "name": "Zib element", "value": "StartDatum - StopDatum" } ],
          "description": "EffectivePeriod is voorgeschreven in de ZIB, maar in veel gevallen zal de data geen periode bevatten. In die gevallen is de datum van vaststelling bepalend voor interpretatie."
        },
        {
          "path": "code.text | code.coding.display",
          "name": "Soort gebruik",
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "WaarnemingGebruik" } ],
          "description": "De intoxicaties groep (roken, alcohol, drugs)"
        },
        {
          "path": "valueCodeableConcept.text | valueCodeableConcept.coding.display | valueString",
          "name": "Status",
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "*Status" } ],
          "description": "De status van het intoxicaties"
        },
        {
          "path": "component.where(code.coding.exists(code = '410942007' or code = '53661000146106')).valueCodeableConcept.coding.display.combine(component.where(code.coding.exists(code = '410675002')).valueCodeableConcept.coding.display).join(' ')",
          "name": "Middel",
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "Middel" } ],
          "description": "Soort middel en toedieningsvorm"
        },
        {
          "path": "iif(code.coding.where(system='https://referentiemodel.nhg.org/tabellen/nhg-tabel-45-diagnostische-bepalingen' and code in ('2418' | '2419' | '2420' | '2421' | '2422')).exists(), valueCodeableConcept.text | valueCodeableConcept.coding.display, iif(component.exists(), component.where(code.coding.where(code in ('266918002' | '228390007' | '160573003')).exists()).valueQuantity.value.toString() + ' ' + component.where(code.coding.where(code in ('266918002' | '228390007' | '160573003')).exists()).valueQuantity.unit+iif(component.where(code.coding.where(code='401201003').exists()).exists(), ' (' + component.where(code.coding.where(code='401201003').exists()).valueQuantity.value.toString() + ' ' + component.where(code.coding.where(code='401201003').exists()).valueQuantity.unit + ')', ''), valueQuantity.value.toString() + ' ' + valueQuantity.unit))",
          "name": "Hoeveelheid/Antwoord",
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "Hoeveelheid" } ],
          "description": "Het aantal eenheden (glazen, sigaretten, pillen, shots etc.) per dag, week, maand of jaar of de freqentie van gebruik, met eventueel de pack years voor roken. Of het antwoord op de vraag in de 5-shot vragenlijst."
        },
        {
          "path": "comment | note.text",
          "name": "+Toelichting",
          "type": "string",
          "tag": [ { "name": "Zib element", "value": "Toelichting" } ]
        },
        {
          "path": "code.coding.where(system='https://referentiemodel.nhg.org/tabellen/nhg-tabel-45-diagnostische-bepalingen' or system='http://snomed.info/sct').translate('intoxicaties-groups').target[0].display",
          "name": "(Groep)",
          "description": "Lookup LOINC 'groep' code middels <code>&lt;terminologie-base&gt;<a href='ConceptMap-intoxicaties-groups.html'>/ConceptMap/intoxicaties-groups</a>$translate?code=&lt;code&gt;</code><br/>Gebruik deze om de regels te groeperen.<br>Verberg regels die <b>GEEN</b> groep hebben.",
          "type": "code",
          "tag": [ { "name": "Zib element", "value": "nvt" } ]
        }
      ],
      "forEach": "entry.resource.where(resourceType='Observation' and (code.coding.where(system='http://snomed.info/sct' and (code='228273003' or code='228366006' or code='365980008')).exists() or code.coding.where(system='http://loinc.org' and (code='11331-6' or code='72166-2' or code='11343-1')).exists() or code.coding.where(system='https://referentiemodel.nhg.org/tabellen/nhg-tabel-45-diagnostische-bepalingen' and (code='1739' or code='1591' or code='2418' or code='2419' or code='2420' or code='2421' or code='2422' or code='3022')).exists()))"
    }
  ]
}