<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="CA-CSD-Endpoint" />
  <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
    <extension url="code">
      <valueCode value="SHALL:able-to-populate" />
    </extension>
    <extension url="code">
      <valueCode value="SHOULD:populate" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier.system" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier.value" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.status" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.managingOrganization" />
    </extension>
    <extension url="actor">
      <valueCanonical value="http://fhir.infoway-inforoute.ca/io/CA-CSD/ActorDefinition/server" />
    </extension>
    <extension url="documentation">
      <valueMarkdown value="SHALL:ihe-r2 is expected, even though the modifier in the ValueSet has yet to be applied." />
    </extension>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
    <extension url="code">
      <valueCode value="ihe-r2" />
    </extension>
    <extension url="code">
      <valueCode value="SHOULD:populate" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.period" />
    </extension>
    <extension url="actor">
      <valueCanonical value="http://fhir.infoway-inforoute.ca/io/CA-CSD/ActorDefinition/server" />
    </extension>
    <extension url="documentation">
      <valueMarkdown value="SHALL:ihe-r2 is expected, even though the modifier in the ValueSet has yet to be applied." />
    </extension>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
    <extension url="code">
      <valueCode value="SHALL:no-error" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier.system" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.identifier.value" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.period" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.status" />
    </extension>
    <extension url="elementId">
      <valueString value="Endpoint.managingOrganization" />
    </extension>
    <extension url="actor">
      <valueCanonical value="http://fhir.infoway-inforoute.ca/io/CA-CSD/ActorDefinition/client" />
    </extension>
  </extension>
  <url value="http://fhir.infoway-inforoute.ca/io/CA-CSD/StructureDefinition/CA-CSD-Endpoint" />
  <name value="Endpoint" />
  <status value="draft" />
  <description value="An Endpoint is used to allow access to an Organization, OrganizationAffilication, Location, HealthcareService, or PractitionerRole.  Although recommended, the Endpoint is not required to be a FHIR server, but may be a webservice or another mechanism.   The omission of an Endpoint on a resource does not mean it is not accessible, as it may be reachable through another resource relationship." />
  <copyright value="Copyright © 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Endpoint" />
  <baseDefinition value="https://profiles.ihe.net/ITI/mCSD/StructureDefinition/IHE.mCSD.Endpoint" />
  <derivation value="constraint" />
  <differential>
    <element id="Endpoint.extension:purposeOfUse">
      <path value="Endpoint.extension" />
      <sliceName value="purposeOfUse" />
      <type>
        <code value="Extension" />
        <profile value="https://profiles.ihe.net/ITI/mCSD/StructureDefinition/IHE.mCSD.PurposeOfUse" />
      </type>
    </element>
    <element id="Endpoint.identifier">
      <path value="Endpoint.identifier" />
      <comment value="mustSupport element identified within the IHE mCSD endpoint profile." />
      <mustSupport value="true" />
    </element>
    <element id="Endpoint.identifier.system">
      <path value="Endpoint.identifier.system" />
      <comment value="mustSupport element identified within the CA Core profile." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Endpoint.identifier.value">
      <path value="Endpoint.identifier.value" />
      <comment value="mustSupport element identified within the CA Core profile." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Endpoint.status">
      <path value="Endpoint.status" />
      <comment value="Represents the current status of this endpoint (i.e. active). Identified as a query requirement through mCSD CapabilityStatement. mustSupport element identified within the IHE mCSD endpoint profile." />
      <mustSupport value="true" />
    </element>
    <element id="Endpoint.managingOrganization">
      <path value="Endpoint.managingOrganization" />
      <comment value="Organization that manages this endpoint. Identified as a query requirement through mCSD CapabilityStatement. Elements with a modified minimum cardinality of 1 will have a mustSupport element to ensure that it is populated. Allows the search to return the organization without having to go through the practitionerRole resource." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-CSD/StructureDefinition/CA-CSD-Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Endpoint.period">
      <path value="Endpoint.period" />
      <comment value="This element represents the overall lifetime of this endpoint. mustSupport element identified within the IHE mCSD endpoint profile." />
    </element>
  </differential>
</StructureDefinition>