NIP-101h: Health Profile Framework

I want to build and support an ecosystem of health and fitness related nostr clients that have the ability to share and utilize a bunch of specific interoperable health metrics.

TheWildHustle

26. April 2025April 26, 2025 · 7 Min. Lesezeit7 min read

Status: Draft
Author: TheWildHustle

Abstract#

This NIP defines a framework for storing and sharing health and fitness profile data on Nostr. It establishes a set of standardized event kinds for individual health metrics, allowing applications to selectively access specific health information while preserving user control and privacy.

In this framework exists

Motivation#

I want to build and support an ecosystem of health and fitness related nostr clients that have the ability to share and utilize a bunch of specific interoperable health metrics.

Specification#

Kind Number Range#

Health profile metrics use the kind number range 1351-1399:

Kind Metric
1351 Weight
1352 Height
1353 Age
1354 Gender
1355 Fitness Level
1356-1399 Reserved for future health metrics

Common Structure#

All health metric events SHOULD follow these guidelines:

Unit Handling#

Health metrics often have multiple ways to be measured. To ensure interoperability:

Client Implementation Guidelines#

Clients implementing this NIP SHOULD:

Extensions#

New health metrics can be proposed as extensions to this NIP using the format:

Each extension MUST specify:

Privacy Considerations#

Health data is sensitive personal information. Clients implementing this NIP SHOULD:


NIP-101h.1: Weight

Description#

This NIP defines the format for storing and sharing weight data on Nostr.

Event Kind: 1351#

Content#

The content field MUST contain the numeric weight value as a string.

Required Tags#

Optional Tags#

Examples#

{
  "kind": 1351,
  "content": "70",
  "tags": [
    ["unit", "kg"],
    ["t", "health"],
    ["t", "weight"]
  ]
}
{
  "kind": 1351,
  "content": "154",
  "tags": [
    ["unit", "lb"],
    ["t", "health"],
    ["t", "weight"],
    ["converted_value", "69.85", "kg"]
  ]
}

NIP-101h.2: Height#

Status: Draft

Description#

This NIP defines the format for storing and sharing height data on Nostr.

Event Kind: 1352

Content#

The content field can use two formats:

Required Tags#

Optional Tags#

Examples#

// Example 1: Metric height
Apply to App.jsx

// Example 2: Imperial height with conversion
Apply to App.jsx

Implementation Notes#


NIP-101h.3: Age#

Status: Draft

Description#

This NIP defines the format for storing and sharing age data on Nostr.

Event Kind: 1353

Content#

The content field MUST contain the numeric age value as a string.

Required Tags#

Optional Tags#

Examples#

// Example 1: Basic age
Apply to App.jsx

// Example 2: Age with DOB
Apply to App.jsx

Implementation Notes#


NIP-101h.4: Gender#

Status: Draft

Description#

This NIP defines the format for storing and sharing gender data on Nostr.

Event Kind: 1354

Content#

The content field contains a string representing the user's gender.

Required Tags#

Optional Tags#

Common Values#

While any string value is permitted, the following common values are recommended for interoperability:

Examples#

// Example 1: Basic gender
Apply to App.jsx

// Example 2: Gender with pronouns
Apply to App.jsx

Implementation Notes#


NIP-101h.5: Fitness Level#

Status: Draft

Description#

This NIP defines the format for storing and sharing fitness level data on Nostr.

Event Kind: 1355

Content#

The content field contains a string representing the user's fitness level.

Required Tags#

Optional Tags#

Common Values#

While any string value is permitted, the following common values are recommended for interoperability:

Examples#

// Example 1: Basic fitness level
Apply to App.jsx

// Example 2: Activity-specific fitness level with metrics
Apply to App.jsx

Implementation Notes#

##health #fitness

Written by

Comments

No comments yet. Start the conversation.

Contents

14 sections

  1. Abstract
  2. Motivation
  3. Specification
  4. Privacy Considerations
  5. Description
  6. Event Kind: 1351
  7. Content
  8. Required Tags
  9. Optional Tags
  10. Examples
  11. NIP-101h.2: Height
  12. NIP-101h.3: Age
  13. NIP-101h.4: Gender
  14. NIP-101h.5: Fitness Level