<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SHCKontaktuppgiftPersonLogical" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics">
    <valueCode value="can-be-target" />
  </extension>
  <url value="http://electronichealth.se/fhir/shc/StructureDefinition/SHCKontaktuppgiftPersonLogical" />
  <name value="SHCKontaktuppgiftPersonLogical" />
  <title value="Kontaktuppgift person" />
  <status value="draft" />
  <description value="Klassen kontaktuppgift person håller information om detaljerade kontaktuppgifter som hör till en individen." />
  <fhirVersion value="5.0.0" />
  <mapping>
    <identity value="KontaktuppgiftPersonToSHCPerson.address" />
    <uri value="SHCPerson.contact" />
  </mapping>
  <kind value="logical" />
  <abstract value="false" />
  <type value="http://electronichealth.se/fhir/shc/StructureDefinition/SHCKontaktuppgiftPersonLogical" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base" />
  <derivation value="specialization" />
  <snapshot>
    <element id="SHCKontaktuppgiftPersonLogical">
      <path value="SHCKontaktuppgiftPersonLogical" />
      <short value="Kontaktuppgift person" />
      <definition value="Klassen kontaktuppgift person håller information om detaljerade kontaktuppgifter som hör till en individen." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical" />
        <min value="0" />
        <max value="*" />
      </base>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.syfte">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative" />
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0" />
      </extension>
      <path value="SHCKontaktuppgiftPersonLogical.syfte" />
      <short value="syfte" />
      <definition value="kod för syfte i vilket kontaktuppgiften kan användas" />
      <comment value="Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.syfte" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="Coding" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <constraint>
        <key value="cod-1" />
        <severity value="warning" />
        <human value="A Coding SHOULD NOT have a display unless a code is also present.  Computation on Coding.display alone is generally unsafe.  Consider using CodeableConcept.text" />
        <expression value="code.exists().not() implies display.exists().not()" />
        <source value="http://hl7.org/fhir/StructureDefinition/Coding" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="v2" />
        <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="CV" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adressrad">
      <path value="SHCKontaktuppgiftPersonLogical.adressrad" />
      <short value="adress.rad" />
      <definition value="Angivelse av en eller flera rader som utgör en adress. Exempelvis gata, gatunummer, lägenhetsnummer, våning. Vid flera rader ska de anges i den ordning de ska skrivas på en adresslapp." />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.adressrad" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="string" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.line" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adresspostnummer">
      <path value="SHCKontaktuppgiftPersonLogical.adresspostnummer" />
      <short value="adress.postnummer" />
      <definition value="Angivelse av postnummer" />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.adresspostnummer" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.postalCode" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adresspostort">
      <path value="SHCKontaktuppgiftPersonLogical.adresspostort" />
      <short value="adress.postort" />
      <definition value="Angivelse av postort" />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.adresspostort" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.city" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adressland">
      <path value="SHCKontaktuppgiftPersonLogical.adressland" />
      <short value="adress.land" />
      <definition value="Angivelse av land. (Enl. ISO 3166?)" />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.adressland" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.country" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.giltigFrom">
      <path value="SHCKontaktuppgiftPersonLogical.giltigFrom" />
      <short value="giltigFrom" />
      <definition value="Angivelse av den tidpunkt från och med vilken kontaktuppgiften gäller." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.giltigFrom" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="time" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.period.start" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.namn">
      <path value="SHCKontaktuppgiftPersonLogical.namn" />
      <short value="namn" />
      <definition value="namn som är associerat med personen" />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.namn" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.giltigTom">
      <path value="SHCKontaktuppgiftPersonLogical.giltigTom" />
      <short value="giltigTom" />
      <definition value="Angivelse av den tidpunkt då kontaktuppgiften upphör att gälla på så sätt att uppgiften inte längre stämmer för den organisation eller person som avses. Bör lämnas tom ifall att uppgiften fortfarande är giltig." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.giltigTom" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="time" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.period.end" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.arEnDelAv">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative" />
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0" />
      </extension>
      <path value="SHCKontaktuppgiftPersonLogical.arEnDelAv" />
      <short value="är en del av" />
      <definition value="är en del av" />
      <comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="SHCKontaktuppgiftPersonLogical.arEnDelAv" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/shc/StructureDefinition/SHCTelekommunikationPersonLogical" />
      </type>
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <constraint>
        <key value="ref-1" />
        <severity value="error" />
        <human value="SHALL have a contained resource if a local reference is provided" />
        <expression value="reference.exists()  implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))" />
        <source value="http://hl7.org/fhir/StructureDefinition/Reference" />
      </constraint>
      <constraint>
        <key value="ref-2" />
        <severity value="error" />
        <human value="At least one of reference, identifier and display SHALL be present (unless an extension is provided)." />
        <expression value="reference.exists() or identifier.exists() or display.exists() or extension.exists()" />
        <source value="http://hl7.org/fhir/StructureDefinition/Reference" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
      </mapping>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="SHCPerson.telecom" />
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="SHCKontaktuppgiftPersonLogical">
      <path value="SHCKontaktuppgiftPersonLogical" />
      <short value="Kontaktuppgift person" />
      <definition value="Klassen kontaktuppgift person håller information om detaljerade kontaktuppgifter som hör till en individen." />
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.syfte">
      <path value="SHCKontaktuppgiftPersonLogical.syfte" />
      <short value="syfte" />
      <definition value="kod för syfte i vilket kontaktuppgiften kan användas" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Coding" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adressrad">
      <path value="SHCKontaktuppgiftPersonLogical.adressrad" />
      <short value="adress.rad" />
      <definition value="Angivelse av en eller flera rader som utgör en adress. Exempelvis gata, gatunummer, lägenhetsnummer, våning. Vid flera rader ska de anges i den ordning de ska skrivas på en adresslapp." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.line" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adresspostnummer">
      <path value="SHCKontaktuppgiftPersonLogical.adresspostnummer" />
      <short value="adress.postnummer" />
      <definition value="Angivelse av postnummer" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.postalCode" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adresspostort">
      <path value="SHCKontaktuppgiftPersonLogical.adresspostort" />
      <short value="adress.postort" />
      <definition value="Angivelse av postort" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.city" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.adressland">
      <path value="SHCKontaktuppgiftPersonLogical.adressland" />
      <short value="adress.land" />
      <definition value="Angivelse av land. (Enl. ISO 3166?)" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.country" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.giltigFrom">
      <path value="SHCKontaktuppgiftPersonLogical.giltigFrom" />
      <short value="giltigFrom" />
      <definition value="Angivelse av den tidpunkt från och med vilken kontaktuppgiften gäller." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="time" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.period.start" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.namn">
      <path value="SHCKontaktuppgiftPersonLogical.namn" />
      <short value="namn" />
      <definition value="namn som är associerat med personen" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.giltigTom">
      <path value="SHCKontaktuppgiftPersonLogical.giltigTom" />
      <short value="giltigTom" />
      <definition value="Angivelse av den tidpunkt då kontaktuppgiften upphör att gälla på så sätt att uppgiften inte längre stämmer för den organisation eller person som avses. Bör lämnas tom ifall att uppgiften fortfarande är giltig." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="time" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="(SHCPerson)address.period.end" />
      </mapping>
    </element>
    <element id="SHCKontaktuppgiftPersonLogical.arEnDelAv">
      <path value="SHCKontaktuppgiftPersonLogical.arEnDelAv" />
      <short value="är en del av" />
      <definition value="är en del av" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/shc/StructureDefinition/SHCTelekommunikationPersonLogical" />
      </type>
      <mapping>
        <identity value="KontaktuppgiftPersonToSHCPerson.address" />
        <map value="SHCPerson.telecom" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>