CDES-M

Medical Extension

Bridging Cannabis Data to Healthcare Standards

FHIR R4 ICD-10-CM SNOMED CT NPI

Scroll down or use arrow keys to navigate

The Problem

Healthcare Systems

  • Use FHIR, ICD-10, SNOMED CT
  • Speak "diagnosis codes"
  • Require NPI for providers
  • Track patient outcomes via LOINC

Cannabis Systems

  • Use CDES, METRC, BioTrack
  • Speak "strain names"
  • Track terpene profiles
  • No healthcare interoperability
These worlds don't talk to each other

The Solution: CDES-M as a Bridge

CDES

Cannabis Data Standard

Strains & Genetics

Terpene Profiles

COA Lab Results

Product Catalog

CDES-M

Medical Bridge

Provider Practitioner

Patient Patient

Rx MedicationRequest

Efficacy Observation

Healthcare

Existing Standards

HL7 FHIR R4

ICD-10-CM / ICD-11

SNOMED CT

NPI / LOINC / CPT

CDES-M doesn't replace standardsit maps INTO them

Standards Integration Map

Standard Purpose CDES-M Usage
HL7 FHIR R4 Healthcare interoperability Full resource mapping (Practitioner, Patient, MedicationRequest, Observation)
ICD-10-CM Diagnosis codes Condition.icd10_code (G89.29, F43.10, C34.90)
SNOMED CT Clinical terminology Condition.snomed_code for precise descriptions
NPI Provider identification Provider.npi (10-digit national identifier)
LOINC Lab observations EfficacyReport codes (77580-4 for PRO)
CPT Billing codes Future: Consultation coding (99xxx)

Core Entities

Provider

  • NPI (10-digit)
  • State License
  • DEA Number
  • MMJ Certification
  • Specialty
FHIR Practitioner

Patient

  • MMJ Card
  • Conditions (ICD-10)
  • Cannabis History
  • Terpene Fingerprint
  • Consent Preferences
FHIR Patient (PHI)

Recommendation

  • Target Terpene Profile
  • Cannabinoid Targets
  • Dosing Guidance
  • Rationale
  • Valid Period
FHIR MedicationRequest

EfficacyReport

  • Effectiveness Rating
  • Symptom Scores
  • Side Effects
  • Duration/Onset
  • Would Use Again?
FHIR Observation (PRO)

How It Works

1

Provider creates recommendation

Selects target terpene profile based on patient conditions

2

CDES-M matches products

Uses CDES strain/product data to find matching dispensary inventory

3

Patient tracks efficacy

Reports outcomes via EfficacyReport (Patient-Reported Outcomes)

4

Data flows to EHR

FHIR R4 export enables integration with healthcare systems

Python SDK

# Install
pip install cdes-m
# Create a recommendation
from cdes_m import Recommendation, TargetProfile
from cdes_m.fhir import recommendation_to_medication_request

rec = Recommendation(
  patient_id=patient.id,
  provider_id=provider.id,
  target_profile=TargetProfile(
    terpene_profile={}
      "myrcene": 0.8,
      "caryophyllene": 0.5
    }
  ),
  rationale="Anti-inflammatory profile for COPD"
)

# Convert to FHIR MedicationRequest
fhir_rx = recommendation_to_medication_request(rec, patient.id, provider.id)

Use Cases

MMJ Clinics

Structured recommendations with ICD-10 coding for qualifying conditions

Dispensaries

Match recommendations to inventory using terpene profiles

Patient Apps

Track efficacy, build terpene fingerprint, share with provider

EHR Integration

FHIR R4 export to Epic, Cerner, Allscripts, etc.

Insurance

Standardized coding for future reimbursement models

Research

Anonymized efficacy data for evidence-based protocols

Governance & Community

Technical WG

Schema development, FHIR mapping, SDK

Tuesdays @ 3:00 PM ET

Bi-weekly

Medical Advisory Board

Clinical protocols, evidence review

2nd Tuesday @ 12:00 PM ET

Monthly

Payer/Provider Forum

Insurance, reimbursement, enterprise

3rd Thursday @ 2:00 PM ET

Inaugural: Jan 16, 2026

Compliance WG

HIPAA, state regulations, audits

1st & 3rd Wednesday @ 1:00 PM ET

Bi-weekly

Get Involved

Read the Spec

Full specification on GitHub

View Specification

Use the SDK

Python SDK on PyPI

pip install cdes-m

Join a Meeting

Request calendar invite

cdes@acidni.net

Questions?

cdes@acidni.net

1 / 10