<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="HVOOrganization" />
  <url value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
  <version value="0.1.0" />
  <name value="HVOOrganization" />
  <status value="draft" />
  <description value="HVOOrganization holds information about corporations and sole traders." />
  <fhirVersion value="5.0.0" />
  <mapping>
    <identity value="HVOOrganizationToHVOOrganisationLogical" />
    <uri value="HVOOrganisationLogical" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Organization" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Organization" />
  <derivation value="constraint" />
  <differential>
    <element id="Organization.id">
      <path value="Organization.id" />
      <mustSupport value="true" />
    </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>
      <min value="3" />
    </element>
    <element id="Organization.extension:organizationActive">
      <path value="Organization.extension" />
      <sliceName value="organizationActive" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationActiveStatusExtension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:organizationActive.url">
      <path value="Organization.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:organizationActive.value[x]">
      <path value="Organization.extension.value[x]" />
      <short value="The status which the organization is registered with in SCB:s Business Register (sv: Företagsregister), where true implies 'active' and false implies 'inactive'." />
      <min value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="status" />
      </mapping>
    </element>
    <element id="Organization.extension:legalForm">
      <path value="Organization.extension" />
      <sliceName value="legalForm" />
      <short value="Extension for legal form of an organization." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationLegalFormExtension" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="juridiskForm" />
      </mapping>
    </element>
    <element id="Organization.extension:legalForm.url">
      <path value="Organization.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:legalForm.value[x]">
      <path value="Organization.extension.value[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:legalForm.value[x].system">
      <path value="Organization.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:legalForm.value[x].code">
      <path value="Organization.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:ownershipType">
      <path value="Organization.extension" />
      <sliceName value="ownershipType" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationOwnershipExtension" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="agarkategori" />
      </mapping>
    </element>
    <element id="Organization.extension:ownershipType.url">
      <path value="Organization.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:ownershipType.value[x]">
      <path value="Organization.extension.value[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:ownershipType.value[x].system">
      <path value="Organization.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:ownershipType.value[x].code">
      <path value="Organization.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:period">
      <path value="Organization.extension" />
      <sliceName value="period" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/organization-period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:period.url">
      <path value="Organization.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:period.value[x]">
      <path value="Organization.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:period.value[x].start">
      <path value="Organization.extension.value[x].start" />
      <min value="1" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="giltigFrom" />
      </mapping>
    </element>
    <element id="Organization.extension:period.value[x].end">
      <path value="Organization.extension.value[x].end" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="giltigTom" />
      </mapping>
    </element>
    <element id="Organization.extension:additionalRelationship">
      <path value="Organization.extension" />
      <sliceName value="additionalRelationship" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationAdditionalRelationshipExtension" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="relationOrganisation(HVOOrganisationLogical)" />
      </mapping>
    </element>
    <element id="Organization.extension:additionalRelationship.extension:additionalRelationship">
      <path value="Organization.extension.extension" />
      <sliceName value="additionalRelationship" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:additionalRelationship.url">
      <path value="Organization.extension.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:additionalRelationship.value[x]">
      <path value="Organization.extension.extension.value[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:type">
      <path value="Organization.extension.extension" />
      <sliceName value="type" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:type.url">
      <path value="Organization.extension.extension.url" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:type.value[x]">
      <path value="Organization.extension.extension.value[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:type.value[x].system">
      <path value="Organization.extension.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.extension:additionalRelationship.extension:type.value[x].code">
      <path value="Organization.extension.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier">
      <path value="Organization.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <description value="Slice identifier to express different kinds of identifiers" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="The organization should contain at least an organization number if legal form is corporation or a personal identity number if legal form is sole trader. Can contain additional identifiers used in a national or local context." />
      <min value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="id" />
      </mapping>
    </element>
    <element id="Organization.identifier.period">
      <path value="Organization.identifier.period" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier.period.start">
      <path value="Organization.identifier.period.start" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier.period.end">
      <path value="Organization.identifier.period.end" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:hsaid">
      <path value="Organization.identifier" />
      <sliceName value="hsaid" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:hsaid.system">
      <path value="Organization.identifier.system" />
      <min value="1" />
      <patternUri value="urn:oid:1.2.752.29.4.19" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:hsaid.value">
      <path value="Organization.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="hvo-organization-hsa-identifier-value-1" />
        <severity value="warning" />
        <human value="If identifier.system = urn:oid:1.2.752.29.4.19, value should have max length of 31 characters" />
        <expression value="$this.length() &lt;= 31" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-organization-hsa-identifier-value-2" />
        <severity value="warning" />
        <human value="If identifier.system = urn:oid:1.2.752.29.4.19, value should follow format for HSA ID: SE1234567890-ABC1. Characters å, ä, ö, @ not valid." />
        <expression value="$this.matches('^SE[0-9]{10}-[A-za-z0-9]+$')" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:hsaid.period">
      <path value="Organization.identifier.period" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:organizationIdentifier">
      <path value="Organization.identifier" />
      <sliceName value="organizationIdentifier" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:organizationIdentifier.system">
      <path value="Organization.identifier.system" />
      <min value="1" />
      <patternUri value="urn:oid:2.5.4.97" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:organizationIdentifier.value">
      <path value="Organization.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="hvo-organization-identifier-value-1" />
        <severity value="warning" />
        <human value="If identifier.system = urn:oid:2.5.4.97, value should follow format for organization identifier (sv: organisationsnummer): 1234567890" />
        <expression value="$this.matches('^[0-9]{10}$')" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:organizationIdentifier.period">
      <path value="Organization.identifier.period" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:personalIdentityNumber">
      <path value="Organization.identifier" />
      <sliceName value="personalIdentityNumber" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:personalIdentityNumber.system">
      <path value="Organization.identifier.system" />
      <min value="1" />
      <fixedUri value="http://electronichealth.se/identifier/personnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:personalIdentityNumber.value">
      <path value="Organization.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="hvo-personal-identity-number-value-1" />
        <severity value="warning" />
        <human value="A personal identity number should follow format 198001032385" />
        <expression value="$this.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\d{4}$')" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.identifier:personalIdentityNumber.period">
      <path value="Organization.identifier.period" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type">
      <path value="Organization.type" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding" />
        </discriminator>
        <description value="Slice on CodeableConcept based on the coding" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://electronichealth.se/hvo/ValueSet/hvo-organization-type" />
      </binding>
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="typ" />
      </mapping>
    </element>
    <element id="Organization.type.coding">
      <path value="Organization.type.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type.coding.system">
      <path value="Organization.type.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type.coding.version">
      <path value="Organization.type.coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type.coding.code">
      <path value="Organization.type.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type:careProvider">
      <path value="Organization.type" />
      <sliceName value="careProvider" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://electronichealth.se/hvo/ValueSet/hvo-organization-type" />
      </binding>
    </element>
    <element id="Organization.type:careProvider.coding">
      <path value="Organization.type.coding" />
      <min value="1" />
      <max value="1" />
      <fixedCoding>
        <system value="http://snomed.info/sct" />
        <version value="http://snomed.info/sct/45991000052106" />
        <code value="143591000052106" />
      </fixedCoding>
      <mustSupport value="true" />
    </element>
    <element id="Organization.type:careProvider.coding.system">
      <path value="Organization.type.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type:careProvider.coding.version">
      <path value="Organization.type.coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.type:careProvider.coding.code">
      <path value="Organization.type.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.name">
      <path value="Organization.name" />
      <short value="Name of the organization according to Bolagsverket, Skatteverket or SCB." />
      <min value="1" />
      <constraint>
        <key value="hvo-organization-name-1" />
        <severity value="error" />
        <human value="Name of Organization should have max length of 200 characters" />
        <expression value="$this.length() &lt;= 200" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="namn" />
      </mapping>
    </element>
    <element id="Organization.alias">
      <path value="Organization.alias" />
      <short value="A name of the organization that is commonly used and is not the official name, e.g. an abbreviation of the official name." />
      <constraint>
        <key value="hvo-organization-alias-1" />
        <severity value="error" />
        <human value="Alias of Organization should have max length of 200 characters" />
        <expression value="$this.length() &lt;= 200" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="alias" />
      </mapping>
    </element>
    <element id="Organization.contact">
      <path value="Organization.contact" />
      <slicing>
        <discriminator>
          <type value="exists" />
          <path value="telecom" />
        </discriminator>
        <description value="Slice contact on whether it has a telecom (vs address)" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="har(HVOKontaktuppgiftLogical)" />
      </mapping>
    </element>
    <element id="Organization.contact:addressContact">
      <path value="Organization.contact" />
      <sliceName value="addressContact" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.purpose">
      <path value="Organization.contact.purpose" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://electronichealth.se/hvo/ValueSet/hvo-contact-purpose" />
      </binding>
    </element>
    <element id="Organization.contact:addressContact.purpose.coding">
      <path value="Organization.contact.purpose.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.purpose.coding.system">
      <path value="Organization.contact.purpose.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.purpose.coding.code">
      <path value="Organization.contact.purpose.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.name">
      <path value="Organization.contact.name" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.telecom">
      <path value="Organization.contact.telecom" />
      <max value="0" />
    </element>
    <element id="Organization.contact:addressContact.address">
      <path value="Organization.contact.address" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.address.line">
      <path value="Organization.contact.address.line" />
      <short value="Street name, number, direction &amp; P.O. Box etc.&#xD;&#xA;This repeating element order: The order in which lines should appear in an address label" />
      <constraint>
        <key value="hvo-address-line-1" />
        <severity value="warning" />
        <human value="A line in an address should have max length of 128 characters" />
        <expression value="$this.length() &lt;= 128" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.address.city">
      <path value="Organization.contact.address.city" />
      <constraint>
        <key value="hvo-address-city-1" />
        <severity value="warning" />
        <human value="A city in an address should have a max length of 50 characters" />
        <expression value="$this.length() &lt;= 50" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.address.postalCode">
      <path value="Organization.contact.address.postalCode" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.address.country">
      <path value="Organization.contact.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.period">
      <path value="Organization.contact.period" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.period.start">
      <path value="Organization.contact.period.start" />
      <min value="1" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:addressContact.period.end">
      <path value="Organization.contact.period.end" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact">
      <path value="Organization.contact" />
      <sliceName value="telecomContact" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.purpose">
      <path value="Organization.contact.purpose" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://electronichealth.se/hvo/ValueSet/hvo-contact-purpose" />
      </binding>
    </element>
    <element id="Organization.contact:telecomContact.purpose.coding">
      <path value="Organization.contact.purpose.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.purpose.coding.system">
      <path value="Organization.contact.purpose.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.purpose.coding.code">
      <path value="Organization.contact.purpose.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.name">
      <path value="Organization.contact.name" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.telecom">
      <path value="Organization.contact.telecom" />
      <min value="1" />
      <max value="1" />
      <constraint>
        <key value="hvo-telecom-phone-2" />
        <severity value="warning" />
        <human value="If telecom.system = phone or fax, value should have max length of 32 characters" />
        <expression value="value.length() &lt;= 32 or (system != 'phone' and system != 'fax')" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-telecom-email-2" />
        <severity value="warning" />
        <human value="If telecom.system = email, value should have max length of 255 characters" />
        <expression value="value.length() &lt;= 255 or system != 'email'" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-telecom-url-1" />
        <severity value="warning" />
        <human value="If telecom.system = url, value should follow valid format. Example: https://example.com" />
        <expression value="value.matches('(https?|ftp)://(-\\.)?([^\\s/?\\.#-]+\\.?)+(/[^\\s]*)?$') or system != 'url'" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-telecom-url-2" />
        <severity value="warning" />
        <human value="If telecom.system = url, value should have max length of 2000 characters" />
        <expression value="value.length() &lt;= 2000 or system != 'url'" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-telecom-email-1" />
        <severity value="warning" />
        <human value="If telecom.system = email, value should follow valid format Example: test@test.com" />
        <expression value="value.matches('^[\\w.-]{1,64}@(?!.{254})[\\w.-]+\\.[A-Za-z]{2,4}$') or system != 'email'" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <constraint>
        <key value="hvo-telecom-phone-1" />
        <severity value="warning" />
        <human value="If telecom.system = phone or fax, value should follow format +46123456789" />
        <expression value="value.matches('^\\+[1-9][0-9]+$') or (system != 'phone' and system != 'fax')" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.telecom.system">
      <path value="Organization.contact.telecom.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.telecom.value">
      <path value="Organization.contact.telecom.value" />
      <min value="1" />
      <constraint>
        <key value="hvo-telecom-value-1" />
        <severity value="warning" />
        <human value="A telecom value should have max length of 2000 characters" />
        <expression value="$this.length() &lt;= 2000" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.address">
      <path value="Organization.contact.address" />
      <max value="0" />
    </element>
    <element id="Organization.contact:telecomContact.period">
      <path value="Organization.contact.period" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.period.start">
      <path value="Organization.contact.period.start" />
      <min value="1" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.contact:telecomContact.period.end">
      <path value="Organization.contact.period.end" />
      <constraint>
        <key value="hvo-dateTime-2" />
        <severity value="error" />
        <human value="DateTime should be submitted without timestamp" />
        <expression value="$this.toString().contains('T') = false" />
        <source value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Organization.partOf">
      <path value="Organization.partOf" />
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy">
          <valueBoolean value="true" />
        </extension>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="relationOrganisation(HVOOrganisationLogical)" />
      </mapping>
    </element>
    <element id="Organization.qualification">
      <path value="Organization.qualification" />
      <mustSupport value="true" />
      <mapping>
        <identity value="HVOOrganizationToHVOOrganisationLogical" />
        <map value="har(HVOTillstandLogical)" />
      </mapping>
    </element>
    <element id="Organization.qualification.identifier">
      <path value="Organization.qualification.identifier" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.identifier.system">
      <path value="Organization.qualification.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.identifier.value">
      <path value="Organization.qualification.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.code">
      <path value="Organization.qualification.code" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.code.coding">
      <path value="Organization.qualification.code.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.code.coding.system">
      <path value="Organization.qualification.code.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.code.coding.code">
      <path value="Organization.qualification.code.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.period">
      <path value="Organization.qualification.period" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.period.start">
      <path value="Organization.qualification.period.start" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Organization.qualification.period.end">
      <path value="Organization.qualification.period.end" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>