<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="NPPRYrkesutovareLogical" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics">
    <valueCode value="can-be-target" />
  </extension>
  <url value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRYrkesutovareLogical" />
  <name value="NPPRYrkesutovareLogical" />
  <title value="Yrkesutövare" />
  <status value="active" />
  <description value="Klassen yrkesutövare håller information om person som är utövare av arbete som man kan försörja sig på och som kräver vissa särskilda kunskaper eller färdigheter. Exempel på yrkesutövare är en legitimerad sjuksköterska." />
  <fhirVersion value="5.0.0" />
  <mapping>
    <identity value="YrkesutovareToNPPRPractitioner" />
    <uri value="NPPRPractitioner" />
  </mapping>
  <kind value="logical" />
  <abstract value="false" />
  <type value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRYrkesutovareLogical" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base" />
  <derivation value="specialization" />
  <snapshot>
    <element id="NPPRYrkesutovareLogical">
      <path value="NPPRYrkesutovareLogical" />
      <short value="Yrkesutövare" />
      <definition value="Klassen yrkesutövare håller information om person som är utövare av arbete som man kan försörja sig på och som kräver vissa särskilda kunskaper eller färdigheter. Exempel på yrkesutövare är en legitimerad sjuksköterska." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="NPPRYrkesutovareLogical" />
        <min value="0" />
        <max value="*" />
      </base>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.id">
      <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="NPPRYrkesutovareLogical.id" />
      <short value="id" />
      <definition value="Angivelse av identifierare för en yrkesutövare." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="NPPRYrkesutovareLogical.id" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="Identifier" />
      </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="ident-1" />
        <severity value="warning" />
        <human value="Identifier with no value has limited utility.  If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason" />
        <expression value="value.exists()" />
        <source value="http://hl7.org/fhir/StructureDefinition/Identifier" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="v2" />
        <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=IDENT]" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="Identifier" />
      </mapping>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.identifier" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.fornamn">
      <path value="NPPRYrkesutovareLogical.fornamn" />
      <short value="förnamn" />
      <definition value="Angivelse av förnamn, som är en persons givna namn och inkluderar tilltalsnamn." />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="1" />
      <max value="*" />
      <base>
        <path value="NPPRYrkesutovareLogical.fornamn" />
        <min value="1" />
        <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="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.name.given" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.efternamn">
      <path value="NPPRYrkesutovareLogical.efternamn" />
      <short value="efternamn" />
      <definition value="Angivelse av efternamn, som är en persons familjenamn eller släktnamn." />
      <comment value="Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size" />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="NPPRYrkesutovareLogical.efternamn" />
        <min value="1" />
        <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="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.name.family" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.harDokumenteradFormellickeFormell">
      <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="NPPRYrkesutovareLogical.harDokumenteradFormellickeFormell" />
      <short value="har dokumenterad formell/icke formell" />
      <definition value="har dokumenterad formell/icke formell" />
      <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="NPPRYrkesutovareLogical.harDokumenteradFormellickeFormell" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRKompetensLogical" />
      </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="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.qualification" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.relationKontaktuppgift">
      <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="NPPRYrkesutovareLogical.relationKontaktuppgift" />
      <short value="relationKontaktuppgift" />
      <definition value="relationKontaktuppgift" />
      <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="NPPRYrkesutovareLogical.relationKontaktuppgift" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRKontaktuppgiftLogical" />
      </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="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.address" />
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="NPPRYrkesutovareLogical">
      <path value="NPPRYrkesutovareLogical" />
      <short value="Yrkesutövare" />
      <definition value="Klassen yrkesutövare håller information om person som är utövare av arbete som man kan försörja sig på och som kräver vissa särskilda kunskaper eller färdigheter. Exempel på yrkesutövare är en legitimerad sjuksköterska." />
    </element>
    <element id="NPPRYrkesutovareLogical.id">
      <path value="NPPRYrkesutovareLogical.id" />
      <short value="id" />
      <definition value="Angivelse av identifierare för en yrkesutövare." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
      </type>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.identifier" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.fornamn">
      <path value="NPPRYrkesutovareLogical.fornamn" />
      <short value="förnamn" />
      <definition value="Angivelse av förnamn, som är en persons givna namn och inkluderar tilltalsnamn." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.name.given" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.efternamn">
      <path value="NPPRYrkesutovareLogical.efternamn" />
      <short value="efternamn" />
      <definition value="Angivelse av efternamn, som är en persons familjenamn eller släktnamn." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.name.family" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.harDokumenteradFormellickeFormell">
      <path value="NPPRYrkesutovareLogical.harDokumenteradFormellickeFormell" />
      <short value="har dokumenterad formell/icke formell" />
      <definition value="har dokumenterad formell/icke formell" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRKompetensLogical" />
      </type>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.qualification" />
      </mapping>
    </element>
    <element id="NPPRYrkesutovareLogical.relationKontaktuppgift">
      <path value="NPPRYrkesutovareLogical.relationKontaktuppgift" />
      <short value="relationKontaktuppgift" />
      <definition value="relationKontaktuppgift" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRKontaktuppgiftLogical" />
      </type>
      <mapping>
        <identity value="YrkesutovareToNPPRPractitioner" />
        <map value="NPPRPractitioner.address" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>