# PeriodTrackingMVP - Period Tracking Implementation Guide > A deliberately small FHIR R4 implementation guide for sharing granular, patient-generated menstrual period tracking data from consumer applications. ## Resolution context - Canonical IG URL: https://cycle.fhir.me/ImplementationGuide/me.fhir.period-tracking-mvp - Published site base URL: https://cycle.fhir.me/ - Resolve relative links in this file against: https://cycle.fhir.me/ ## Pages (site navigation; .md = liquid-resolved source) - [Home](index.md) - Specification - [Overview](specification.md) - [Use case](specification.md#use-case) - [Adoption layers](specification.md#adoption-layers) - [Data model](specification.md#data-model) - [SMART Health Links](specification.md#smart-health-links) - [Conformance](specification.md#conformance) - Implementation - [Overview](implementation.md) - [Workflow](implementation.md#workflow) - [FHIR mapping](implementation.md#fhir-mapping) - [Sharing and hosting](implementation.md#sharing-and-hosting) - [Viewer and display](implementation.md#viewer-and-display) - [Testing and journal](implementation.md#testing-and-journal) - More - [Artifacts](artifacts.html) - [IG details](ig-details.md) - [References](references.md) ## Profiles - [Menstrual Bleeding](StructureDefinition-menstrual-bleeding.html): Layer 0 required core fact: whether the source reports menstrual bleeding for the stated date or timestamp. | JSON: StructureDefinition-menstrual-bleeding.json - [Menstrual Flow](StructureDefinition-menstrual-flow.html): Layer 1 optional intensity fact for an app's uncalibrated menstrual-flow category. | JSON: StructureDefinition-menstrual-flow.json - [Symptom](StructureDefinition-symptom.html): Layer 1 optional symptom fact. | JSON: StructureDefinition-symptom.json - [Numeric Pain Severity](StructureDefinition-numeric-pain-severity.html): Layer 1 optional numeric pain fact for a source 0-10 patient-reported pain score. | JSON: StructureDefinition-numeric-pain-severity.json - [Basal Body Temperature](StructureDefinition-basal-body-temperature.html): Layer 1 optional basal body temperature fact for a source temperature measurement identified by the producer as basal. | JSON: StructureDefinition-basal-body-temperature.json - [Period Tracking Bundle](StructureDefinition-period-tracking-bundle.html): A self-contained FHIR R4 collection Bundle for transporting granular patient-generated period-tracking facts scoped to one person. | JSON: StructureDefinition-period-tracking-bundle.json - [Period Tracking Fact](StructureDefinition-period-tracking-fact.html): Abstract base profile for one independently meaningful fact entered, selected, verified, or measured in a period-tracking application. | JSON: StructureDefinition-period-tracking-fact.json ## Value sets - [Menstrual Flow](ValueSet-menstrual-flow.html): Uncalibrated, patient-reported ordinal flow categories used by period-tracking applications. | JSON: ValueSet-menstrual-flow.json - [Common Period-Tracking Symptoms](ValueSet-common-tracker-symptoms.html): A small, non-normative starter set of period-tracking symptoms that applications commonly record, offered so implementers can bootstrap a consistent symptom vocabulary. | JSON: ValueSet-common-tracker-symptoms.json ## Code systems - [Period Tracking Codes](CodeSystem-cycle.html): The eight provisional concepts required by this guide. | JSON: CodeSystem-cycle.json ## Examples - [Basal Body Temperature Example](Observation-basal-body-temperature-example.html): A standalone Layer 1 basal body temperature fact from the longitudinal example. | JSON: Observation-basal-body-temperature-example.json - [Longitudinal Period Tracking Export](Bundle-period-tracking-longitudinal-example.html): A synthetic ~seven-cycle copper-IUD worked example built from the Layer 0 boolean bleeding core plus Layer 1 structured facts; this is the Bundle wrapped by the example SMART Health Link and rendered by the clinician viewer. | JSON: Bundle-period-tracking-longitudinal-example.json - [Menstrual Bleeding Example](Observation-menstrual-bleeding-example.html): A standalone Layer 0 boolean bleeding fact from the longitudinal example. | JSON: Observation-menstrual-bleeding-example.json - [Menstrual Flow Example](Observation-menstrual-flow-example.html): A standalone Layer 1 source flow category fact from the longitudinal example. | JSON: Observation-menstrual-flow-example.json - [Numeric Pain Severity Example](Observation-numeric-pain-severity-example.html): A standalone Layer 1 0-10 pain score fact from the longitudinal example. | JSON: Observation-numeric-pain-severity-example.json - [Symptom Example](Observation-symptom-example.html): A standalone Layer 1 symptom fact from the longitudinal example. | JSON: Observation-symptom-example.json ## Agent package - [skill.zip](skill.zip): self-contained skill package (SKILL.md + core spec markdown), generated from this published site. Source: https://github.com/jmandel/cycle