<?xml version="1.0" encoding="UTF-8"?>

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="-s-assigned-material-count"/>
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: OperationDefinition -s-assigned-material-count</b></p><a name="-s-assigned-material-count"> </a><a name="hc-s-assigned-material-count"> </a><p>URL: [base]/$assigned-material-count</p><h3>Parameters</h3><table class="grid"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>ehealth-documentReference</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R4/references.html#Reference">Reference</a></td><td/><td><div><p>Mandatory reference for general-material <code>ehealth-documentReference</code> from the Plan service.</p>
</div></td></tr><tr><td>IN</td><td>group-by-careTeam</td><td/><td>0..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#boolean">boolean</a></td><td/><td><div><p>group the count by CareTeams present in the <code>Communication.participant.actor</code> references</p>
</div></td></tr><tr><td>IN</td><td>date</td><td/><td>0..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#dateTime">dateTime</a></td><td/><td><div><p>Only count <code>ehealth-material-communications</code> where the <code>Communication.period</code> contains the date</p>
</div></td></tr><tr><td>IN</td><td>status</td><td/><td>1..*</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td/><td><div><p>Only count <code>ehealth-material-communications</code> with one of the given statuses</p>
</div></td></tr></table></div>
  </text>
  <url value="http://ehealth.sundhed.dk/fhir/OperationDefinition/-s-assigned-material-count"/>
  <version value="10.0.0"/>
  <name value="assigned-material-count"/>
  <title value="Retrieve count of assignments for material"/>
  <status value="active"/>
  <kind value="operation"/>
  <date value="2026-08-06T13:29:38+00:00"/>
  <publisher value="Den telemedicinske infrastruktur (eHealth Infrastructure)"/>
  <contact>
    <name value="Den telemedicinske infrastruktur (eHealth Infrastructure)"/>
    <telecom>
      <system value="url"/>
      <value value="http://ehealth.sundhed.dk"/>
    </telecom>
  </contact>
  <description value="This operation counts the number of material assignments (``ehealth-material-communication resources``) for a given ``ehealth-documentreference`` from the Plan service. This is done by performing an internal search using the given ehealth-documentReference, date and status parameters. Regardless of the given parameters, only ``ehealth-material-communication`` resources referring to an active ``ehealth-episodeofcare`` are counted. The group-by-careteam parameter determines whether a simple '_summary=count' search is performed or if all results should be fetched to extract and count based on participant CareTeam references.&#xD;&#xA;&#xD;&#xA;## Input&#xD;&#xA;The operation has two mandatory input parameters:&#xD;&#xA; - An EHealthDocumentReference reference&#xD;&#xA; - One or more status codes&#xD;&#xA;&#xD;&#xA;Additionally, there are two optional input parameters:&#xD;&#xA; - A boolean indicating whether to group the result by participant CareTeam references&#xD;&#xA; - A date parameter&#xD;&#xA;&#xD;&#xA;### EHealthDocumentReference reference&#xD;&#xA;A mandatory reference to an EHealthDocumentReference (general-material) in the plan service. Only ``ehealth-material-communication`` resources with the given reference in ``Communication.payload.content`` are counted.&#xD;&#xA;&#xD;&#xA;### Group-by-careTeam boolean&#xD;&#xA;The group-by-careTeam parameter is optional. When not supplied by the user, it is assumed false. When it is set to true, the operation returns a count per CareTeam referenced as a participant in the matching ehealth-material-communication resources.&#xD;&#xA;&#xD;&#xA;### Date&#xD;&#xA;The date parameter is optional, however, the count is always filtered by a date. If one is not given by the user, the date of execution is used instead. Only ``ehealth-material-communication`` resources whose ``Communication.period`` contains the used date are counted.&#xD;&#xA;&#xD;&#xA;### Status code list&#xD;&#xA;At least one ``status`` code must be supplied by the user. Only ``ehealth-material-communications`` with one of the supplied status codes in ``Communication.status`` will be counted.&#xD;&#xA;&#xD;&#xA;## Output&#xD;&#xA;When supplied with valid inputs, the operation will return a Bundle resource with a single Parameters resource in its ``Bundle.entry`` list. The Parameters resource format depends on whether the group-by-careTeam parameter was true.&#xD;&#xA;&#xD;&#xA;### Output Parameters&#xD;&#xA;If group-by-careTeam was false or not present. The Parameters resource will only contain a single parameter, named ``total`` with the value being the count of the ``ehealth-material-communication`` resources found to satisfy the given parameters.&#xD;&#xA;&#xD;&#xA;Example of output with group-by-careTeam as false or not present:&#xD;&#xA;```&#xD;&#xA;&quot;resource&quot;: {&#xD;&#xA;    &quot;resourceType&quot;: &quot;Parameters&quot;,&#xD;&#xA;    &quot;parameter&quot;: [{&#xD;&#xA;            &quot;name&quot;: &quot;total&quot;,&#xD;&#xA;            &quot;valueInteger&quot;: 42&#xD;&#xA;            }]&#xD;&#xA;    }]&#xD;&#xA;}&#xD;&#xA;```&#xD;&#xA;&#xD;&#xA;If group-by-careTeam was true, the Parameters resource will contain a parameter for each CareTeam that is referenced in ``Communication.participant.actor`` in any of the matching ``ehealth-material-communication`` resources. The name of each parameter will be the reference value (CareTeam/[id]) of the CareTeam and the value will be the count of matching ``ehealth-material-communication`` resources that reference that CareTeam. It is worth noting that if an ``ehealth-material-communication`` has two (or more) distinct participant CareTeams, this will add to the count of each of them.&#xD;&#xA;&#xD;&#xA;Example of output with group-by-careTeam as true:&#xD;&#xA;```&#xD;&#xA;&quot;resource&quot;: {&#xD;&#xA;    &quot;resourceType&quot;: &quot;Parameters&quot;,&#xD;&#xA;    &quot;parameter&quot;: [{&#xD;&#xA;            &quot;name&quot;: &quot;CareTeam/123&quot;,&#xD;&#xA;            &quot;valueInteger&quot;: 5&#xD;&#xA;            },&#xD;&#xA;            {&#xD;&#xA;            &quot;name&quot;: &quot;CareTeam/456&quot;,&#xD;&#xA;            &quot;valueInteger&quot;: 7&#xD;&#xA;            }]&#xD;&#xA;    }]&#xD;&#xA;}&#xD;&#xA;```&#xD;&#xA;"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="DK"/>
      <display value="Denmark"/>
    </coding>
  </jurisdiction>
  <affectsState value="false"/>
  <code value="assigned-material-count"/>
  <system value="true"/>
  <type value="false"/>
  <instance value="false"/>
  <parameter>
    <name value="ehealth-documentReference"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="Mandatory reference for general-material ``ehealth-documentReference`` from the Plan service."/>
    <type value="Reference"/>
  </parameter>
  <parameter>
    <name value="group-by-careTeam"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="group the count by CareTeams present in the ``Communication.participant.actor`` references"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="date"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="Only count ``ehealth-material-communications`` where the ``Communication.period`` contains the date"/>
    <type value="dateTime"/>
  </parameter>
  <parameter>
    <name value="status"/>
    <use value="in"/>
    <min value="1"/>
    <max value="*"/>
    <documentation value="Only count ``ehealth-material-communications`` with one of the given statuses"/>
    <type value="string"/>
  </parameter>
</OperationDefinition>