<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SatuSehatFamilyMemberHistory" />
  <url value="https://fhir.kemkes.go.id/r4/StructureDefinition/FamilyMemberHistory" />
  <name value="SatuSehatFamilyMemberHistory" />
  <title value="Satu Sehat Family Member History" />
  <status value="active" />
  <date value="2024-01-01" />
  <description value="Defines the ID Core constraints and extensions on the FamilyMemberHistory resource for significant health conditions for a person related to the patient relevant in the context of care for the patient." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="FamilyMemberHistory" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory" />
  <derivation value="constraint" />
  <differential>
    <element id="FamilyMemberHistory.identifier">
      <path value="FamilyMemberHistory.identifier" />
      <definition value="Berisi data ID internal faskes untuk riwayat penyakit keluarga ini dengan tipe data Identifier. Ini adalah ID resmi yang diterbitkan oleh faskes untuk menandai data riwayat penyakit keluarga pasien." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.instantiatesCanonical">
      <path value="FamilyMemberHistory.instantiatesCanonical" />
      <definition value="Berisi data URL yang mengarahkan ke protokol atau guideline yang didefinisikan dalam FHIR dengan tipe data canonical (PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.instantiatesUri">
      <path value="FamilyMemberHistory.instantiatesUri" />
      <definition value="Berisi data URl yang mengarahkan ke protokol atau guideline yang dikelola eksternal dari FHIR dengan tipe data uri." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.status">
      <path value="FamilyMemberHistory.status" />
      <definition value="Berisi data kode spesifik untuk status pencatatan riwayat penyakit keluarga dengan tipe data code." />
    </element>
    <element id="FamilyMemberHistory.dataAbsentReason">
      <path value="FamilyMemberHistory.dataAbsentReason" />
      <definition value="Berisi data deskripsi kenapa data riwayat penyakit keluarga tidak tersedia dengan tipe data CodeableConcept." />
    </element>
    <element id="FamilyMemberHistory.patient">
      <path value="FamilyMemberHistory.patient" />
      <definition value="Berisi data pasien yang memiliki hasil riwayat penyakit keluarga ini dengan tipe data Reference, yang direferensikan ke data yang tersimpan di resource Patient." />
    </element>
    <element id="FamilyMemberHistory.date">
      <path value="FamilyMemberHistory.date" />
      <definition value="Berisi data tanggal riwayat penyakit keluarga dicatatkan atau diperbaharui denga tipe data dateTime, dengan format yang diperbolehkan YYYY, YYYY-MM, YYYY-MM-DD atau YYYY-MM-DDThh:mm:ss+zz:zz." />
    </element>
    <element id="FamilyMemberHistory.name">
      <path value="FamilyMemberHistory.name" />
      <definition value="Berisi data nama atau deskripsi keluarga yang memiliki riwayat penyakit dengan tipe data string." />
    </element>
    <element id="FamilyMemberHistory.relationship">
      <path value="FamilyMemberHistory.relationship" />
      <definition value="Berisi data hubungan antara keluarga yang memiliki riwayat penyakit dengan pasien, dengan tipe data CodeableConcept." />
    </element>
    <element id="FamilyMemberHistory.sex">
      <path value="FamilyMemberHistory.sex" />
      <definition value="Berisi data jenis kelamin saat lahir keluarga yang memiliki riwayat penyakit dengan tipe data CodeableConcept." />
    </element>
    <element id="FamilyMemberHistory.born[x]">
      <path value="FamilyMemberHistory.born[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Berisi data tanggal lahir aktual atau perkiraan dari keluarga." />
    </element>
    <element id="FamilyMemberHistory.born[x]:bornPeriod">
      <path value="FamilyMemberHistory.born[x]" />
      <sliceName value="bornPeriod" />
      <definition value="Berisi data tanggal lahir aktual atau perkiraan dari keluarga dengan tipe data Period." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="FamilyMemberHistory.born[x]:bornDate">
      <path value="FamilyMemberHistory.born[x]" />
      <sliceName value="bornDate" />
      <definition value="Berisi data tanggal lahir aktual atau perkiraan dari keluarga dengan tipe data date." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="date" />
      </type>
    </element>
    <element id="FamilyMemberHistory.born[x]:bornString">
      <path value="FamilyMemberHistory.born[x]" />
      <sliceName value="bornString" />
      <definition value="Berisi data tanggal lahir aktual atau perkiraan dari keluarga dengan tipe data string." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="FamilyMemberHistory.age[x]">
      <path value="FamilyMemberHistory.age[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Berisi data usia aktual atau perkiraan dari keluarga saat riwayat penyakit dicatatkan." />
    </element>
    <element id="FamilyMemberHistory.age[x]:ageAge">
      <path value="FamilyMemberHistory.age[x]" />
      <sliceName value="ageAge" />
      <definition value="Berisi data usia aktual atau perkiraan dari keluarga saat riwayat penyakit dicatatkan dengan tipe data Age." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
    </element>
    <element id="FamilyMemberHistory.age[x]:ageRange">
      <path value="FamilyMemberHistory.age[x]" />
      <sliceName value="ageRange" />
      <definition value="Berisi data usia aktual atau perkiraan dari keluarga saat riwayat penyakit dicatatkan dengan tipe data Range." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="FamilyMemberHistory.age[x]:ageString">
      <path value="FamilyMemberHistory.age[x]" />
      <sliceName value="ageString" />
      <definition value="Berisi data usia aktual atau perkiraan dari keluarga saat riwayat penyakit dicatatkan dengan tipe data string." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="FamilyMemberHistory.estimatedAge">
      <path value="FamilyMemberHistory.estimatedAge" />
      <definition value="Berisi data yang mengindikasikan apakah FamilyMemberHistory.age[x] merupakan usia aktual atau perkiraan dengan format pengisian adalah boolean." />
    </element>
    <element id="FamilyMemberHistory.deceased[x]">
      <path value="FamilyMemberHistory.deceased[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit." />
    </element>
    <element id="FamilyMemberHistory.deceased[x]:deceasedBoolean">
      <path value="FamilyMemberHistory.deceased[x]" />
      <sliceName value="deceasedBoolean" />
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit dengan tipe data boolean." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="FamilyMemberHistory.deceased[x]:deceasedAge">
      <path value="FamilyMemberHistory.deceased[x]" />
      <sliceName value="deceasedAge" />
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit dengan tipe data Age." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
    </element>
    <element id="FamilyMemberHistory.deceased[x]:deceasedRange">
      <path value="FamilyMemberHistory.deceased[x]" />
      <sliceName value="deceasedRange" />
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit dengan tipe data Range." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="FamilyMemberHistory.deceased[x]:deceasedDate">
      <path value="FamilyMemberHistory.deceased[x]" />
      <sliceName value="deceasedDate" />
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit dengan tipe data date." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="date" />
      </type>
    </element>
    <element id="FamilyMemberHistory.deceased[x]:deceasedString">
      <path value="FamilyMemberHistory.deceased[x]" />
      <sliceName value="deceasedString" />
      <definition value="Berisi data flagging untuk kematian atau usia aktual atau perkiraan kematian dari keluarga yang memiliki riwayat penyakit dengan tipe data string." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="FamilyMemberHistory.reasonCode">
      <path value="FamilyMemberHistory.reasonCode" />
      <definition value="Berisi data yang menjelaskan mengapa riwayat penyakit keluarga terjadi dalam bentuk kode atau tekstual dengan tipe data CodeableConcept." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.reasonReference">
      <path value="FamilyMemberHistory.reasonReference" />
      <definition value="Berisi data yang menjelaskan mengapa riwayat penyakit keluarga terjadi dengan tipe data Reference." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.note">
      <path value="FamilyMemberHistory.note" />
      <definition value="Berisi data catatan umum dari riwayat penyakit keluarga dengan tipe data Annotation." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.condition">
      <path value="FamilyMemberHistory.condition" />
      <definition value="Berisi data kondisi/penyakit yang dimiliki oleh anggota keluarga dengan tipe data BackboneElement." />
      <max value="1" />
    </element>
    <element id="FamilyMemberHistory.condition.code">
      <path value="FamilyMemberHistory.condition.code" />
      <definition value="Berisi data kondisi yang dimiliki oleh anggota keluarga dengan tipe data CodeableConcept." />
    </element>
    <element id="FamilyMemberHistory.condition.outcome">
      <path value="FamilyMemberHistory.condition.outcome" />
      <definition value="Berisi data luaran yang terjadi terhadap penyakit pada anggota keluarga dengan tipe data CodeableConcept." />
    </element>
    <element id="FamilyMemberHistory.condition.contributedToDeath">
      <path value="FamilyMemberHistory.condition.contributedToDeath" />
      <definition value="Berisi data apakah kondisi yang dimiliki berkontribusi terhadap kematian dengan tipe data boolean." />
    </element>
    <element id="FamilyMemberHistory.condition.onset[x]">
      <path value="FamilyMemberHistory.condition.onset[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Berisi data kapan kondisi pertama kali muncul." />
    </element>
    <element id="FamilyMemberHistory.condition.onset[x]:onsetAge">
      <path value="FamilyMemberHistory.condition.onset[x]" />
      <sliceName value="onsetAge" />
      <definition value="Berisi data kapan kondisi pertama kali muncul dengan tipe data Age." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
    </element>
    <element id="FamilyMemberHistory.condition.onset[x]:onsetRange">
      <path value="FamilyMemberHistory.condition.onset[x]" />
      <sliceName value="onsetRange" />
      <definition value="Berisi data kapan kondisi pertama kali muncul dengan tipe data Range." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="FamilyMemberHistory.condition.onset[x]:onsetPeriod">
      <path value="FamilyMemberHistory.condition.onset[x]" />
      <sliceName value="onsetPeriod" />
      <definition value="Berisi data kapan kondisi pertama kali muncul dengan tipe data Period." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="FamilyMemberHistory.condition.onset[x]:onsetString">
      <path value="FamilyMemberHistory.condition.onset[x]" />
      <sliceName value="onsetString" />
      <definition value="Berisi data kapan kondisi pertama kali muncul dengan tipe data string." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="FamilyMemberHistory.condition.note">
      <path value="FamilyMemberHistory.condition.note" />
      <definition value="Berisi data informasi tambahan terkait kondisi penyakit dengan tipe data Annotation." />
      <max value="1" />
    </element>
  </differential>
</StructureDefinition>