<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="45ec70a3-f6ed-4c97-b128-3d340b452d06" />
  <meta>
    <lastUpdated value="2020-10-06T07:15:05.100+00:00" />
  </meta>
  <url value="http://nhn.no/kj/fhir/StructureDefinition/KjProcedure" />
  <name value="KjProcedure" />
  <status value="active" />
  <date value="2020-10-06T07:08:46.4455925Z" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure.extension">
      <path value="Procedure.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.extension:validUntil">
      <path value="Procedure.extension" />
      <sliceName value="validUntil" />
      <short value="Procedure lasts until" />
      <definition value="If set, the EHR should test if current date is after the given date. Then it should not be shown." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nhn.no/kj/fhir/StructureDefinition/KjValidUntil" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:validUntil.value[x]">
      <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="Procedure.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.extension:recordedDate">
      <path value="Procedure.extension" />
      <sliceName value="recordedDate" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nhn.no/kj/fhir/StructureDefinition/KjRecordedDateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:recordedDate.value[x]">
      <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="Procedure.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.extension:updater">
      <path value="Procedure.extension" />
      <sliceName value="updater" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nhn.no/kj/fhir/StructureDefinition/KjUpdater" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:updater.value[x]">
      <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="Procedure.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.extension:updatedDateTime">
      <path value="Procedure.extension" />
      <sliceName value="updatedDateTime" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nhn.no/kj/fhir/StructureDefinition/KjUpdatedDateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:updatedDateTime.value[x]">
      <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="Procedure.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.extension:sourceOfInformation">
      <path value="Procedure.extension" />
      <sliceName value="sourceOfInformation" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nhn.no/kj/fhir/StructureDefinition/KjSourceOfInformation" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.status">
      <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="Procedure.status" />
      <short value="in-progress | completed | entered-in-error" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://nhn.no/kj/fhir/ValueSet/ProcedureStatus" />
      </binding>
    </element>
    <element id="Procedure.category">
      <path value="Procedure.category" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.category.coding">
      <path value="Procedure.category.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.category.coding:KjCategory">
      <path value="Procedure.category.coding" />
      <sliceName value="KjCategory" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Procedure.category.coding:KjCategory.system">
      <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="Procedure.category.coding.system" />
      <min value="1" />
      <fixedUri value="http://nhn.no/kj/fhir/CodeSystem/SubcategoriesOfCriticalInformation" />
    </element>
    <element id="Procedure.category.coding:KjCategory.code">
      <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="Procedure.category.coding.code" />
      <min value="1" />
      <fixedCode value="6" />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://nhn.no/kj/fhir/ValueSet/OngoingTreatment" />
      </binding>
    </element>
    <element id="Procedure.code.coding">
      <path value="Procedure.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.code.coding:KjOngoingTreatment">
      <path value="Procedure.code.coding" />
      <sliceName value="KjOngoingTreatment" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://nhn.no/kj/fhir/CodeSystem/OngoingTreatment" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://nhn.no/kj/fhir/ValueSet/OngoingTreatment" />
      </binding>
    </element>
    <element id="Procedure.code.coding:KjOngoingTreatment.system">
      <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="Procedure.code.coding.system" />
      <fixedUri value="http://nhn.no/kj/fhir/CodeSystem/OngoingTreatment" />
    </element>
    <element id="Procedure.code.text">
      <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="Procedure.code.text" />
      <short value="Description for type of threatment" />
      <definition value="Use this field for additional description to the type of threatment." />
      <constraint>
        <key value="kj-pro-2" />
        <severity value="error" />
        <human value="Text can be maximum 80 characters" />
        <expression value="value.length() &lt;= 80" />
        <source value="http://nhn.no/kj/fhir/StructureDefinition/KjProcedure" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <short value="Reference to patient ongoing the threatment" />
      <definition value="Add reference to the patient that receives the threatment." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Patient" />
        <aggregation value="referenced" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performed[x]">
      <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="Procedure.performed[x]" />
      <comment value="Age is generally used when the patient reports an age at which the procedure was performed. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone." />
      <requirements value="Period, string and Range should not be used in this profile" />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.recorder">
      <path value="Procedure.recorder" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nhn.no/kj/fhir/StructureDefinition/KjPractitionerRole" />
        <aggregation value="contained" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.note">
      <path value="Procedure.note" />
      <comment value="Here one can add additional information, that gives more information that is not given in the other properties." />
      <max value="1" />
      <constraint>
        <key value="kj-pro-1" />
        <severity value="error" />
        <human value="If note is present, then text must be between 4 and 500 characters." />
        <expression value="empty() or (first().text.value.length() &gt;=4 and first().text.value.length() &lt;= 500)" />
        <source value="http://nhn.no/kj/fhir/StructureDefinition/KjProcedure" />
      </constraint>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>