<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="pcm-organization-source" />
  <url value="http://pcm.fhir.health.gov.il/StructureDefinition/pcm-organization-source" />
  <version value="0.3.2" />
  <name value="PCMOrganizationDataSource" />
  <title value="PCM Data Source Organization" />
  <status value="active" />
  <description value="PCM role child that hosts clinical data and, once operational, exposes one registered FHIR REST API Endpoint. PCM may create and identify an inactive child before its Endpoint is registered. The organization may maintain the Endpoint reference and purpose-coded contact overrides through the supported update interaction." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Organization" />
  <baseDefinition value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
  <derivation value="constraint" />
  <differential>
    <element id="Organization">
      <path value="Organization" />
      <constraint>
        <key value="pcm-data-source-active-requires-endpoint" />
        <severity value="error" />
        <human value="An active Data Source Organization must reference its registered FHIR Endpoint; an inactive partially onboarded Data Source may omit it." />
        <expression value="active = false or endpoint.exists()" />
        <source value="http://pcm.fhir.health.gov.il/StructureDefinition/pcm-organization-source" />
      </constraint>
    </element>
    <element id="Organization.id">
      <path value="Organization.id" />
      <min value="1" />
    </element>
    <element id="Organization.meta">
      <path value="Organization.meta" />
      <min value="1" />
    </element>
    <element id="Organization.meta.lastUpdated">
      <path value="Organization.meta.lastUpdated" />
      <comment value="Server-managed timestamp of the most recent authoritative resource change." />
      <min value="1" />
    </element>
    <element id="Organization.meta.profile">
      <path value="Organization.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <comment value="PCM includes the applicable server-return profile URL; additional compatible profile URLs are allowed." />
      <min value="1" />
    </element>
    <element id="Organization.meta.profile:pcmProfile">
      <path value="Organization.meta.profile" />
      <sliceName value="pcmProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="http://pcm.fhir.health.gov.il/StructureDefinition/pcm-organization-source" />
    </element>
    <element id="Organization.extension">
      <path value="Organization.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Organization.extension:applicableCertificates">
      <path value="Organization.extension" />
      <sliceName value="applicableCertificates" />
      <comment value="PCM-managed read-only projection of certificate thumbprints explicitly associated with this Data Source. The inventory is not a complete trust-store view, proof of current certificate use, or an authorization decision." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://pcm.fhir.health.gov.il/StructureDefinition/ext-applicable-certificates" />
      </type>
    </element>
    <element id="Organization.identifier">
      <path value="Organization.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <comment value="The single PCM Organization business identifier is assigned and managed by PCM. Child Organizations do not copy the Parent's MoH identifier." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Organization.identifier:moh-inst-symbol">
      <path value="Organization.identifier" />
      <sliceName value="moh-inst-symbol" />
      <max value="0" />
    </element>
    <element id="Organization.identifier:legal-entity">
      <path value="Organization.identifier" />
      <sliceName value="legal-entity" />
      <max value="0" />
    </element>
    <element id="Organization.identifier:moe-inst">
      <path value="Organization.identifier" />
      <sliceName value="moe-inst" />
      <max value="0" />
    </element>
    <element id="Organization.identifier:moh-hospital-department">
      <path value="Organization.identifier" />
      <sliceName value="moh-hospital-department" />
      <max value="0" />
    </element>
    <element id="Organization.identifier:paying-entity-moh">
      <path value="Organization.identifier" />
      <sliceName value="paying-entity-moh" />
      <max value="0" />
    </element>
    <element id="Organization.identifier:pcmOrganizationId">
      <path value="Organization.identifier" />
      <sliceName value="pcmOrganizationId" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Organization.identifier:pcmOrganizationId.use">
      <path value="Organization.identifier.use" />
      <min value="1" />
      <fixedCode value="official" />
    </element>
    <element id="Organization.identifier:pcmOrganizationId.system">
      <path value="Organization.identifier.system" />
      <fixedUri value="http://pcm.fhir.health.gov.il/identifier/pcm-organization-id" />
    </element>
    <element id="Organization.active">
      <path value="Organization.active" />
      <comment value="MoH/PCM-controlled participation state. The owning organization cannot change it through the client FHIR API. Operational use also requires the Parent Organization to be active and the referenced Endpoint to have status active." />
      <min value="1" />
    </element>
    <element id="Organization.type">
      <path value="Organization.type" />
      <min value="2" />
    </element>
    <element id="Organization.type:pcmOrgType">
      <path value="Organization.type" />
      <sliceName value="pcmOrgType" />
      <comment value="Marks this Organization as a PCM Data Source." />
      <min value="1" />
      <max value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="http://pcm.fhir.health.gov.il/cs/pcm-org-type" />
          <code value="source" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Organization.type:pcmOrgType.coding">
      <path value="Organization.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Organization.type:pcmOrgType.coding.system">
      <path value="Organization.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://pcm.fhir.health.gov.il/cs/pcm-org-type" />
    </element>
    <element id="Organization.type:pcmOrgType.coding.code">
      <path value="Organization.type.coding.code" />
      <min value="1" />
      <fixedCode value="source" />
    </element>
    <element id="Organization.name">
      <path value="Organization.name" />
      <comment value="Authoritative Data Source child name maintained by PCM." />
    </element>
    <element id="Organization.alias">
      <path value="Organization.alias" />
      <max value="0" />
    </element>
    <element id="Organization.telecom">
      <path value="Organization.telecom" />
      <max value="0" />
    </element>
    <element id="Organization.address">
      <path value="Organization.address" />
      <max value="0" />
    </element>
    <element id="Organization.partOf">
      <path value="Organization.partOf" />
      <comment value="PCM-managed reference to the Parent Organization. Parent inactive state disables this child for operational use. Policy allows only one Data Source per Parent." />
      <min value="1" />
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy">
          <valueBoolean value="true" />
        </extension>
        <code value="Reference" />
        <targetProfile value="http://pcm.fhir.health.gov.il/StructureDefinition/pcm-organization-parent" />
      </type>
    </element>
    <element id="Organization.partOf.reference">
      <path value="Organization.partOf.reference" />
      <min value="1" />
    </element>
    <element id="Organization.partOf.identifier">
      <path value="Organization.partOf.identifier" />
      <max value="0" />
    </element>
    <element id="Organization.contact">
      <path value="Organization.contact" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="purpose.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <comment value="Optional purpose-coded contact overrides. A missing purpose falls back to the matching Parent contact. An OPS FHIR/API technical-operations contact SHOULD be supplied." />
    </element>
    <element id="Organization.contact.purpose">
      <path value="Organization.contact.purpose" />
      <min value="1" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://pcm.fhir.health.gov.il/ValueSet/pcm-contactentity-type" />
      </binding>
    </element>
    <element id="Organization.contact:operations">
      <path value="Organization.contact" />
      <sliceName value="operations" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Organization.contact:operations.purpose.coding">
      <path value="Organization.contact.purpose.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Organization.contact:operations.purpose.coding.system">
      <path value="Organization.contact.purpose.coding.system" />
      <min value="1" />
      <fixedUri value="http://pcm.fhir.health.gov.il/cs/pcm-contactentity-type" />
    </element>
    <element id="Organization.contact:operations.purpose.coding.code">
      <path value="Organization.contact.purpose.coding.code" />
      <min value="1" />
      <fixedCode value="OPS" />
    </element>
    <element id="Organization.endpoint">
      <path value="Organization.endpoint" />
      <comment value="The registered Endpoint holding the base URL of the organization's FHIR REST API. It may be absent while the Data Source is inactive and partially onboarded; an active Data Source must reference exactly one. The organization may replace the reference with another Endpoint it owns. Organization.active does not express technical availability; operational use additionally requires the referenced Endpoint.status to be active." />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://pcm.fhir.health.gov.il/StructureDefinition/pcm-endpoint" />
      </type>
    </element>
    <element id="Organization.endpoint.reference">
      <path value="Organization.endpoint.reference" />
      <min value="1" />
    </element>
    <element id="Organization.endpoint.identifier">
      <path value="Organization.endpoint.identifier" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>