<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SatuSehatProcedure" />
  <url value="https://fhir.kemkes.go.id/r4/StructureDefinition/Procedure" />
  <name value="SatuSehatProcedure" />
  <title value="Satu Sehat Procedure" />
  <status value="active" />
  <date value="2024-01-01" />
  <description value="Defines the ID Core constraints and extensions on the Procedure resource for the minimal set of data to query and retrieve the patient's procedure information." />
  <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.identifier">
      <path value="Procedure.identifier" />
      <definition value="Berisi data id internal faskes untuk prosedur ini. Ini adalah ID resmi yang diterbitkan oleh faskes untuk menandai prosedur yang dilakukan ke pasien, yang setiap datanya direpresentasikan dengan tipe data Identifier." />
    </element>
    <element id="Procedure.instantiatesCanonical">
      <path value="Procedure.instantiatesCanonical" />
      <definition value="Berisi data mengenai URL yang mengarah ke protokol, panduan, rangkaian pesanan, atau definisi lain yang ditentukan oleh FHIR yang dipatuhi seluruhnya atau sebagian oleh rosedur ini dengan tipe data canonical." />
    </element>
    <element id="Procedure.instantiatesUri">
      <path value="Procedure.instantiatesUri" />
      <definition value="Berisi data mengenai URL yang menunjuk ke protokol, panduan, rangkaian pesanan, atau definisi lain yang dikelola secara eksternal yang dipatuhi seluruhnya atau sebagian oleh prosedur ini dengan tipe data uri." />
    </element>
    <element id="Procedure.basedOn">
      <path value="Procedure.basedOn" />
      <definition value="Berisi data yang merekam permintaan dilakukannya tindakan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource CarePlan | ServiceRequest." />
    </element>
    <element id="Procedure.partOf">
      <path value="Procedure.partOf" />
      <definition value="Berisi data peristiwa/kejadian yang lebih bisa di mana prosedur merupakan bagian, komponen atau langkah dari peristiwa tersebut dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Procedure | Observation | MedicationAdministration." />
    </element>
    <element id="Procedure.status">
      <path value="Procedure.status" />
      <definition value="Berisi data yang menyatakan kondisi suatu prosedur yang umumnya dalam keadaan masih berlangsung atau telah selesai dengan tipe data code, yang nilainya mengacu pada data terminologi EventStatus." />
    </element>
    <element id="Procedure.statusReason">
      <path value="Procedure.statusReason" />
      <definition value="Berisi data yang berkaitan dengan alasan suatu prosedur saat ini dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.category">
      <path value="Procedure.category" />
      <definition value="Berisi data yang berkaitan dengan klasifikasi prosedur yang dapat digunakan untuk pencarian, penyusunan, dan tampilan dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <definition value="Berisi data berkaitan dengan kode tindakan kepada pasien dengan tipe data CodeableConcept." />
      <min value="1" />
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <definition value="Berisi data subjek pasien yang memiliki hasil laporan tersebut dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient | Group." />
    </element>
    <element id="Procedure.encounter">
      <path value="Procedure.encounter" />
      <definition value="Berisi data mengenai informasi terkait kode atau nomor kunjungan yang dimiliki oleh lokasi induk dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Encounter." />
      <min value="1" />
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Berisi data mengenai perkiraan atau tanggal aktual (tanggal-waktu) periode, atau usia saat prosedur dilakukan." />
    </element>
    <element id="Procedure.performed[x]:performedDateTime">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedDateTime" />
      <definition value="Berisi data mengenai kapan prosedur dilakukan dengan tipe data dateTime, dengan format yang diperbolehkan YYYY, YYYY-MM, YYYY-MM-DD atau YYYY-MM-DDThh:mm:ss+zz:zz." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Procedure.performed[x]:performedPeriod">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedPeriod" />
      <definition value="Berisi data waktu dari prosedur dimulai sampai selesai (arrived to finished) dengan tipe data Period." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Procedure.performed[x]:performedString">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedString" />
      <definition value="Berisi data mengenai kapan prosedur dilakukan dengan tipe data string." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Procedure.performed[x]:performedAge">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedAge" />
      <definition value="Berisi data mengenai kapan prosedur dilakukan dengan tipe data Age." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
    </element>
    <element id="Procedure.performed[x]:performedRange">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedRange" />
      <definition value="Berisi data mengenai kapan prosedur dilakukan dengan tipe data Range." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="Procedure.recorder">
      <path value="Procedure.recorder" />
      <definition value="Berisi data mengenai siapa yang mencatatkan data tindakan yang dilakukan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient | RelatedPerson | Practitioner | PractitionerRole." />
    </element>
    <element id="Procedure.asserter">
      <path value="Procedure.asserter" />
      <definition value="Berisi data individu yang membuat pernyataan prosedur dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient | RelatedPerson | Practitioner | PractitionerRole." />
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer" />
      <definition value="Berisi data mengenai orang yang melakukan prosedur dengan tipe data BackboneElement." />
    </element>
    <element id="Procedure.performer.function">
      <path value="Procedure.performer.function" />
      <definition value="Berisi data yang membedakan jenis keterlibatan pelaku dalam prosedur. Misalnya, ahli bedah, ahli anestesi, dan ahli endoskopi dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <definition value="Berisi data yang menunjukkan siapa yang melakukan prosedur tersebut dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device." />
    </element>
    <element id="Procedure.performer.onBehalfOf">
      <path value="Procedure.performer.onBehalfOf" />
      <definition value="Berisi data organisasi di mana tindakan dilakukan, dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Organization." />
    </element>
    <element id="Procedure.location">
      <path value="Procedure.location" />
      <definition value="Berisi data lokasi prosedur atau tindakan medis dilakukan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Location." />
    </element>
    <element id="Procedure.reasonCode">
      <path value="Procedure.reasonCode" />
      <definition value="Berisi data mengenai alasan tindakan dilakukan dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.reasonReference">
      <path value="Procedure.reasonReference" />
      <definition value="Berisi data mengenai alasan tindakan dilakukan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Condition | Observation | Procedure | DiagnosticReport | DocumentReference." />
    </element>
    <element id="Procedure.bodySite">
      <path value="Procedure.bodySite" />
      <definition value="Berisi data yang berkaitan dengan informasi detail dan lokasi anatomis dari pemberian tindakan dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.outcome">
      <path value="Procedure.outcome" />
      <definition value="Berisi data yang berkaitan dengan jenis perubahan yang terjadi pada alat selama prosedur dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.report">
      <path value="Procedure.report" />
      <definition value="Berisi data laporan yang dihasilkan dari suatu tindakan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource DiagnosticReport | DocumentReference | Composition." />
    </element>
    <element id="Procedure.complication">
      <path value="Procedure.complication" />
      <definition value="Berisi data komplikasi yang terjadi setelah dilakukan prosedur dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.complicationDetail">
      <path value="Procedure.complicationDetail" />
      <definition value="Berisi data kondisi yang terjadi akibat dari prosedur dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Condition." />
    </element>
    <element id="Procedure.followUp">
      <path value="Procedure.followUp" />
      <definition value="Berisi data instruksi untuk tindak lanjut (follow-up) dari tindakan medis dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.note">
      <path value="Procedure.note" />
      <definition value="Berisi data catatan tambahan terkait tindakan medis yang dilakukan dengan tipe data Annotation." />
    </element>
    <element id="Procedure.focalDevice">
      <path value="Procedure.focalDevice" />
      <definition value="Berisi data mengenai erangkat yang ditanamkan, dilepas, atau dimanipulasi (kalibrasi, penggantian baterai, pemasangan prostesis, pemasangan penyedot luka, dll.) sebagai bagian utama dari prosedur dengan tipe data BackboneElement." />
    </element>
    <element id="Procedure.focalDevice.action">
      <path value="Procedure.focalDevice.action" />
      <definition value="Berisi data mengenai informasi terkait alat yang diimplant, dilepaskan, atau dimanipulasi (kalibrasi, penggantian baterai, pemakaian protesa) selama tindakan dilakukan dengan tipe data CodeableConcept." />
    </element>
    <element id="Procedure.focalDevice.manipulated">
      <path value="Procedure.focalDevice.manipulated" />
      <definition value="Berisi data perubahan yang terjadi pada alat selama tindakan dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Device." />
    </element>
    <element id="Procedure.usedReference">
      <path value="Procedure.usedReference" />
      <definition value="Berisi data barang/bahan/item yang digunakan dalam prosedur dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Device | Medication | Substance." />
    </element>
    <element id="Procedure.usedCode">
      <path value="Procedure.usedCode" />
      <definition value="Berisi data yang berkaitan dengan item yang digunakan dalam melakukan suatu prosedur dengan tipe data CodeableConcept." />
    </element>
  </differential>
</StructureDefinition>