<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://electronichealth.se/fhir/StructureDefinition/NLLPerson" />
  <version value="0.0.1" />
  <name value="NLLPerson" />
  <status value="draft" />
  <experimental value="true" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="EHM" />
    <name value="E-hälsomyndigheten Information Model" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Person" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Person" />
  <derivation value="constraint" />
  <differential>
    <element id="Person">
      <path value="Person" />
      <short value="Information about an individual as a person in the Swedish National Medications List" />
      <definition value="Administrative information, such as name and identification number, about an individual within the Swedish National Medications List" />
      <mapping>
        <identity value="EHM" />
        <map value="Person" />
      </mapping>
    </element>
    <element id="Person.extension">
      <path value="Person.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Person.extension:nllConfidentiality">
      <path value="Person.extension" />
      <sliceName value="nllConfidentiality" />
      <short value="Indicates that the person has confidential information, e.g. name and address" />
      <definition value="Indicates that the person has confidential information, e.g. name and address (sv: skyddade personuppgifter). Confidential information is further explained at https://div.socialstyrelsen.se/juridiskt-stod/skyddade-personuppgifter-och-dokumentation If true, the name will be masked with the text &quot;Personuppgift skyddad&quot; and the address element will not be present." />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/StructureDefinition/NLLPersonConfidentiality" />
      </type>
      <meaningWhenMissing value="If element is missing the person DOES NOT have confidential information." />
      <mustSupport value="true" />
    </element>
    <element id="Person.identifier">
      <path value="Person.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="A national identification number. The only supported type of identification is currently personal identity number. Coordination numbers are not supported at the moment." />
      <mustSupport value="true" />
    </element>
    <element id="Person.identifier:pnr">
      <path value="Person.identifier" />
      <sliceName value="pnr" />
      <short value="Swedish personal identity number" />
      <definition value="Swedish personal identity number (sv: personnummer)" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Person.identifier:pnr.system">
      <path value="Person.identifier.system" />
      <min value="1" />
      <fixedUri value="http://electronichealth.se/identifier/personnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Person.identifier:pnr.value">
      <path value="Person.identifier.value" />
      <short value="Swedish personal identity number" />
      <definition value="Swedish personal identity number expressed as 12 digits without hyphen." />
      <min value="1" />
      <maxLength value="12" />
      <constraint>
        <key value="swe-id-rule" />
        <severity value="error" />
        <human value="A personal identity number must have 12 digits" />
        <expression value="$this.matches('^\\d{12}$')" />
        <source value="Person" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Person.name">
      <path value="Person.name" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Person.name.text">
      <path value="Person.name.text" />
      <definition value="Specifies the entire name as it should be displayed. This may be provided instead of or as well as the specific parts. Maximum length 36 characters if the patient is from FOLK and 60 characters if the patient is not from FOLK." />
      <maxLength value="60" />
      <mustSupport value="true" />
      <mapping>
        <identity value="EHM" />
        <map value="Redigerat namn" />
        <comment value="Patient finns i FOLK" />
      </mapping>
      <mapping>
        <identity value="EHM" />
        <map value="Fullständigt namn" />
        <comment value="Patient saknas i FOLK" />
      </mapping>
    </element>
    <element id="Person.name.family">
      <path value="Person.name.family" />
      <definition value="A surname, family name, or last name is the part of a personal name that indicates a person's family (or community, depending on the culture). Maximum length 60 characters." />
      <maxLength value="60" />
      <mustSupport value="true" />
      <mapping>
        <identity value="EHM" />
        <map value="Efternamn" />
      </mapping>
    </element>
    <element id="Person.name.given">
      <path value="Person.name.given" />
      <definition value="The commonly used first name (sv: tilltalsnamn) is marked with the code &quot;CL&quot; for &quot;Call me&quot;." />
      <mustSupport value="true" />
      <mapping>
        <identity value="EHM" />
        <map value="Förnamn" />
      </mapping>
    </element>
    <element id="Person.name.given.extension">
      <path value="Person.name.given.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Person.name.given.extension:nllNameQualifier">
      <path value="Person.name.given.extension" />
      <sliceName value="nllNameQualifier" />
      <short value="CL" />
      <definition value="A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type. Used to describe &quot;tilltalsnamn&quot;." />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://electronichealth.se/fhir/ValueSet/name-part-qualifier" />
      </binding>
    </element>
    <element id="Person.address">
      <path value="Person.address" />
      <definition value="An address for the individual. The Swedish National Medications List only returns city and postal code." />
      <max value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="EHM" />
        <map value="Personadress" />
      </mapping>
    </element>
    <element id="Person.address.extension">
      <path value="Person.address.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Person.address.extension:nllMunicipalityCode">
      <path value="Person.address.extension" />
      <sliceName value="nllMunicipalityCode" />
      <short value="Municipality code (sv. kommunkod)" />
      <definition value="Municipality code, also called Official Municipality Key (sv: kommunkod) are four letter numeric codes which identfies a municipality (sv: kommun) in Sweden. Codes are decided by SCB.&#xD;&#xA;Example: Kalmar 0880" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/StructureDefinition/NLLMunicipalityCode" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Statistics in Sweden (SCB)" />
        <valueSet value="http://scb.se" />
      </binding>
    </element>
    <element id="Person.address.extension:nllRegionCode">
      <path value="Person.address.extension" />
      <sliceName value="nllRegionCode" />
      <short value="Region code (sv: region/länskod)" />
      <definition value="Region code is a two letter numeric code for regions (sv: region/län) in Sweden" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://electronichealth.se/fhir/StructureDefinition/NLLRegionCode" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Statistics in Sweden (SCB)" />
        <valueSet value="http://scb.se" />
      </binding>
    </element>
    <element id="Person.active">
      <path value="Person.active" />
      <definition value="Whether this person's record is in active use, i.e. exists in FOLK." />
      <meaningWhenMissing value="This person exists in FOLK" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>