# Kids First Platform Profile

## Overview

The [Kids First Data Resource Center (DRC)](https://kidsfirstdrc.org/) provides a collaborative data platform for pediatric research, including childhood cancer and structural birth defects. It uses GA4GH standards for data access and interoperability.

## Supported GA4GH Specs

| Spec | Support | Notes |
|------|---------|-------|
| DRS v1.4 | Full | File access via Kids First DRS |
| Phenopackets v2 | Partial | Clinical data in Phenopacket format |
| Passports v1 | Full | OAuth2 via Gen3/RAS |
| DUO | Full | Data use conditions on studies |

## Configuration

```toml
# profiles/kidsfirst.toml
[platform]
name = "kidsfirst"
display_name = "Kids First Data Resource Center"
base_url = "https://data.kidsfirstdrc.org"

[auth]
method = "oauth2"
# Uses Gen3/RAS for authentication
# Requires NIH eRA Commons or Login.gov credentials

[drs]
enabled = true
base_url = "https://data.kidsfirstdrc.org/ga4gh/drs/v1"
```

## Quick Start

```python
from ai4gh.specs.drs.client import DRSClient

async with DRSClient(
    base_url="https://data.kidsfirstdrc.org/ga4gh/drs/v1",
    headers={"Authorization": f"Bearer {token}"},
) as client:
    obj = await client.get_object("drs://data.kidsfirstdrc.org/abc123")
    print(obj.name, obj.size, obj.checksums)
```

## Authentication

Kids First uses NIH RAS (Researcher Auth Service):

1. Register for an NIH eRA Commons account
2. Apply for data access through dbGaP
3. Authenticate via the Kids First portal
4. OAuth2 tokens are issued for API access

## Compliance Testing

```bash
ai4gh test drs https://data.kidsfirstdrc.org/ga4gh/drs/v1 \
  --header "Authorization: Bearer $KF_TOKEN"
```
