<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DataStandardsWales-PSOM-MessageDefinition" />
  <url value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-PSOM-MessageDefinition" />
  <name value="DataStandardsWalesPSOMMessageDefinition" />
  <title value="Data Standards Wales PSOM MessageDefinition" />
  <status value="active" />
  <publisher value="NHS Wales" />
  <contact>
    <name value="Data Standards" />
    <telecom>
      <system value="email" />
      <value value="data.standards@wales.nhs.uk" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="A profile that defines the characteristics of a PSOM message that can be shared between systems, including the type of event that initiates the message. Instances of this resource provide information on the content to be transmitted and what response(s), if any, are permitted." />
  <purpose value="This profile defines the base MessageDefinition structure for PSOM messages. Inspiration is taken from the [NHSDigital-MessageDefinition profile](https://simplifier.net/packages/uk.nhsdigital.r4/2.8.0/files/1953649) (url = https://fhir.nhs.uk/StructureDefinition/NHSDigital-MessageDefinition)." />
  <copyright value="© 2023 NHS Wales." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MessageDefinition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MessageDefinition" />
  <derivation value="constraint" />
  <differential>
    <element id="MessageDefinition.url">
      <path value="MessageDefinition.url" />
      <min value="1" />
      <constraint>
        <key value="PSOM-MessageDefinition-01" />
        <severity value="error" />
        <human value="The url needs to start with the NHS Wales base." />
        <expression value="startsWith('https://fhir.nhs.wales/MessageDefinition/')" />
      </constraint>
    </element>
    <element id="MessageDefinition.description">
      <path value="MessageDefinition.description" />
      <min value="1" />
    </element>
    <element id="MessageDefinition.event[x]">
      <path value="MessageDefinition.event[x]" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <description value="NHS Wales Message Events" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-PSOM-MessageEvent" />
      </binding>
    </element>
  </differential>
</StructureDefinition>