

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# `$member-add`operasi untuk HealthLake
<a name="reference-fhir-operations-member-add"></a>

`$member-add`Operasi FHIR menambahkan anggota (pasien) ke sumber daya Grup, khususnya Daftar Atribusi Anggota. Operasi ini merupakan bagian dari Panduan Implementasi Atribusi DaVinci Anggota dan mendukung proses rekonsiliasi untuk mengelola atribusi anggota.

## Titik Akhir Operasi
<a name="member-add-endpoint"></a>

```
POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add
Content-Type: application/json
```

## Parameter
<a name="member-add-parameters"></a>

Operasi menerima sumber daya Parameter FHIR dengan kombinasi parameter berikut:

### Opsi Parameter
<a name="member-add-parameter-options"></a>

Anda dapat menggunakan salah satu kombinasi parameter berikut:

Opsi 1: ID Member\$1NPI Penyedia  
`memberId` \$1 `providerNpi`  
`memberId` \$1 `providerNpi` \$1 `attributionPeriod`

Opsi 2: Referensi Pasien\$1Referensi Penyedia  
`patientReference` \$1 `providerReference`  
`patientReference` \$1 `providerReference` \$1 `attributionPeriod`

### Rincian Parameter
<a name="member-add-parameter-details"></a>

MemberID (Opsional)  
Pengenal anggota yang akan ditambahkan ke Grup.  
Jenis: Identifier  
Sistem: Sistem pengenal pasien  

```
{
  "name": "memberId",
  "valueIdentifier": {
    "system": "http://example.org/patient-id",
    "value": "patient-new"
  }
}
```

ProviderNPI (Opsional)  
Pengenal Penyedia Nasional (NPI) dari penyedia yang dikaitkan.  
Jenis: Identifier  
Sistem: http://terminology.hl7. org/CodeSystem/NPI  

```
{
  "name": "providerNpi",
  "valueIdentifier": {
    "system": "http://terminology.hl7.org/CodeSystem/NPI",
    "value": "1234567890"
  }
}
```

PatientReference (Opsional)  
Referensi langsung ke sumber daya pasien yang akan ditambahkan.  
Jenis: Referensi  

```
{
  "name": "patientReference",
  "valueReference": {
    "reference": "Patient/patient-123"
  }
}
```

ProviderReference (Opsional)  
Referensi langsung ke sumber daya penyedia.  
Jenis: Referensi  

```
{
  "name": "providerReference",
  "valueReference": {
    "reference": "Practitioner/provider-456"
  }
}
```

Periode Atribusi (Opsional)  
Periode waktu di mana pasien dikaitkan dengan penyedia.  
Jenis: Periode  

```
{
  "name": "attributionPeriod",
  "valuePeriod": {
    "start": "2024-07-15",
    "end": "2025-07-14"
  }
}
```

## Minta Contoh
<a name="member-add-examples"></a>

### Menggunakan ID Anggota dan NPI Penyedia
<a name="member-add-example-id-npi"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "memberId",
      "valueIdentifier": {
        "system": "http://example.org/patient-id",
        "value": "patient-new"
      }
    },
    {
      "name": "providerNpi",
      "valueIdentifier": {
        "system": "http://terminology.hl7.org/CodeSystem/NPI",
        "value": "1234567890"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

### Menggunakan Referensi Pasien dan Penyedia
<a name="member-add-example-references"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/patient-123"
      }
    },
    {
      "name": "providerReference",
      "valueReference": {
        "reference": "Practitioner/provider-456"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

## Format Respons
<a name="member-add-response"></a>

### Respon Penambahan yang Berhasil
<a name="member-add-success-response"></a>

```
HTTP Status: 200 OK
Content-Type: application/fhir+json

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "success",
      "code": "informational",
      "details": {
        "text": "Member Patient/patient-new successfully added to the Member Attribution List."
      }
    }
  ]
}
```

### Respons Kesalahan
<a name="member-add-error-responses"></a>

Sintaks Permintaan Tidak Valid  
Status HTTP: 400 Permintaan Buruk  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "invalid",
      "details": {
        "text": "Invalid parameter combination provided"
      }
    }
  ]
}
```

Sumber Daya Tidak Ditemukan  
Status HTTP: 404 Tidak Ditemukan  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "Resource not found."
      }
    }
  ]
}
```

Konflik Versi  
Status HTTP: 409 Konflik  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "conflict",
      "details": {
        "text": "Resource version conflict detected"
      }
    }
  ]
}
```

Status Atribusi Tidak Valid  
Status HTTP: 422 Entitas yang Tidak Dapat Diproses  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "business-rule",
      "details": {
        "text": "Cannot add member to Attribution List with status 'final'. Status must be 'draft' or 'open'."
      }
    }
  ]
}
```

## Aturan Bisnis
<a name="member-add-business-rules"></a>

Validasi Status Atribusi  
Operasi hanya dapat dilakukan jika Status Atribusi Grup adalah:  
+ `draft`
+ `open`
Operasi tidak diperbolehkan ketika statusnya`final`.

Pencegahan Anggota Duplikat  
Sistem mencegah penambahan anggota duplikat berdasarkan kombinasi unik dari:  
+ Pengenal Anggota
+ Pengidentifikasi Pembayar
+ Pengidentifikasi Cakupan

Validasi Periode Cakupan  
Ketika `attributionPeriod` disediakan, itu harus berada dalam batas-batas periode pertanggungan anggota. Sistem akan:  
+ Cari sumber daya Cakupan anggota
+ Gunakan Cakupan terbaru (versionId tertinggi) jika ada beberapa
+ Memvalidasi bahwa periode atribusi tidak melebihi periode pertanggungan

Validasi Referensi  
Ketika ID dan referensi disediakan untuk sumber daya yang sama (pasien atau penyedia), sistem memvalidasi bahwa mereka sesuai dengan sumber daya yang sama.  
Ketika bidang ID dan reference.identifier disediakan untuk sumber daya yang sama (pasien atau penyedia), kesalahan akan muncul.

## Otentikasi & Otorisasi
<a name="member-add-auth"></a>

Operasi ini membutuhkan otorisasi SMART pada FHIR untuk:
+ Izin baca - Untuk memvalidasi sumber daya pasien, penyedia, dan grup
+ Izin pencarian - Untuk menemukan sumber daya berdasarkan pengenal
+ Perbarui izin - Untuk memodifikasi sumber daya Grup

## Perilaku Operasional
<a name="member-add-behavior"></a>

Pembaruan Sumber Daya  
+ Memperbarui ID versi sumber daya Grup
+ Membuat entri riwayat dengan status sumber daya asli sebelum operasi
+ Menambahkan informasi anggota ke array Group.member dengan:
  + Referensi pasien di entity.reference
  + Periode atribusi dalam periode
  + Informasi cakupan dan penyedia di bidang ekstensi

Langkah Validasi  
+ Validasi Parameter - Memastikan kombinasi parameter yang valid
+ Keberadaan Sumber Daya - Memvalidasi sumber daya pasien, penyedia, dan kelompok yang ada
+ Status Atribusi - Mengonfirmasi status grup memungkinkan modifikasi
+ Pemeriksaan Duplikat - Mencegah penambahan anggota yang ada
+ Validasi Cakupan - Memastikan periode atribusi berada dalam batas cakupan

## Batasan
<a name="member-add-limitations"></a>
+ Semua sumber daya yang direferensikan harus ada dalam datastore yang sama
+ Operasi hanya berfungsi dengan sumber daya Grup Daftar Atribusi Anggota
+ Periode atribusi harus berada dalam batas pertanggungan
+ Tidak dapat mengubah grup dengan status “final”