Skip to content

Working with Sections

ccdakit provides 29 complete clinical section builders.

Note: For a comprehensive guide to each section with HL7 background, see the HL7/C-CDA Guide

Available Sections

ProblemsSection

Diagnoses, conditions, and health concerns.

from ccdakit import ProblemsSection, CDAVersion

section = ProblemsSection(
    problems=problems_list,
    version=CDAVersion.R2_1
)

Required Protocol Properties: - name: str - Problem name - code: str - SNOMED or ICD-10 code - code_system: str - "SNOMED" or "ICD10" - status: str - "active", "inactive", "resolved" - onset_date: Optional[date] - When problem started

MedicationsSection

Current and historical medications.

from ccdakit import MedicationsSection

section = MedicationsSection(
    medications=meds_list,
    version=CDAVersion.R2_1
)

Required Properties: - name: str - Medication name - code: str - RxNorm code - status: str - "active", "completed", "discontinued" - dosage: str - e.g., "10 mg" - route: str - e.g., "oral" - frequency: str - e.g., "twice daily"

AllergiesSection

Allergies and intolerances.

from ccdakit import AllergiesSection

section = AllergiesSection(
    allergies=allergies_list,
    version=CDAVersion.R2_1
)

Required Properties: - allergen: str - Allergen name - code: str - RxNorm, UNII, or SNOMED code - code_system: str - Code system used - type: str - "allergy" or "intolerance" - status: str - "active" or "inactive" - reaction: Optional[str] - Reaction description - severity: Optional[str] - "mild", "moderate", "severe"

ImmunizationsSection

Vaccination history.

from ccdakit import ImmunizationsSection

section = ImmunizationsSection(
    immunizations=immunizations_list,
    version=CDAVersion.R2_1
)

Required Properties: - vaccine_name: str - Vaccine name - cvx_code: str - CVX code - administration_date: date - When given - status: str - "completed", "refused", "not given"

VitalSignsSection

Vital signs measurements with organizers.

from ccdakit import VitalSignsSection

section = VitalSignsSection(
    organizers=vital_organizers,
    version=CDAVersion.R2_1
)

Each organizer contains multiple vital signs from same observation time.

ProceduresSection

Medical procedures performed.

from ccdakit import ProceduresSection

section = ProceduresSection(
    procedures=procedures_list,
    version=CDAVersion.R2_1
)

Required Properties: - name: str - Procedure name - code: str - CPT or SNOMED code - code_system: str - "CPT" or "SNOMED" - date: date - Procedure date - status: str - "completed", "aborted"

ResultsSection

Laboratory results and panels.

from ccdakit import ResultsSection

section = ResultsSection(
    organizers=result_organizers,
    version=CDAVersion.R2_1
)

Supports lab panels with multiple results.

SocialHistorySection

Social history observations including smoking status.

from ccdakit import SocialHistorySection

section = SocialHistorySection(
    smoking_statuses=smoking_list,
    version=CDAVersion.R2_1
)

EncountersSection

Healthcare encounters.

from ccdakit import EncountersSection

section = EncountersSection(
    encounters=encounters_list,
    version=CDAVersion.R2_1
)

PastMedicalHistorySection

Past complaints, problems, and diagnoses up to the current complaint.

from ccdakit import PastMedicalHistorySection

section = PastMedicalHistorySection(
    problems=problems_list,
    version=CDAVersion.R2_1
)

Required Protocol Properties: - name: str - Problem name - code: str - SNOMED or ICD-10 code - code_system: str - Code system identifier - status: str - Problem status - onset_date: Optional[date] - When problem started

GoalsSection

Patient health and treatment goals.

from ccdakit import GoalsSection

section = GoalsSection(
    goals=goals_list,
    version=CDAVersion.R2_1
)

Required Properties: - description: str - Goal description - status: str - Goal status - start_date: Optional[date] - When goal was set - target_date: Optional[date] - Target completion date - value: Optional[str] - Target value

HealthConcernsSection

Health concerns requiring attention and management.

from ccdakit import HealthConcernsSection

section = HealthConcernsSection(
    health_concerns=concerns_list,
    version=CDAVersion.R2_1
)

Required Properties: - name: str - Concern description - status: str - "active", "inactive", "resolved" - effective_time_low: Optional[date] - Start date - effective_time_high: Optional[date] - End date - observations: list - Related observations

FunctionalStatusSection

Physical abilities including ADLs and IADLs.

from ccdakit import FunctionalStatusSection

section = FunctionalStatusSection(
    organizers=functional_status_organizers,
    version=CDAVersion.R2_1
)

Each organizer groups functional status observations from the same assessment.

MentalStatusSection

Psychological and mental competency observations.

from ccdakit import MentalStatusSection

section = MentalStatusSection(
    observations=mental_status_observations,
    organizers=mental_status_organizers,
    version=CDAVersion.R2_1
)

Supports both individual observations and grouped organizers.

AssessmentAndPlanSection

Clinician's conclusions and treatment plans.

from ccdakit import AssessmentAndPlanSection

section = AssessmentAndPlanSection(
    items=assessment_plan_items,
    version=CDAVersion.R2_1
)

Required Properties: - item_type: str - "assessment" or "plan" - text: str - Item description - planned_act: Optional - Associated planned activity

AdvanceDirectivesSection

Living wills, healthcare proxies, and resuscitation status.

from ccdakit import AdvanceDirectivesSection

section = AdvanceDirectivesSection(
    directives=directives_list,
    version=CDAVersion.R2_1
)

Required Properties: - directive_type: str - Type of advance directive - directive_value: str - Directive details - start_date: Optional[date] - When directive becomes effective - custodian_name: Optional[str] - Document custodian

FamilyHistorySection

Family member health conditions and risk factors.

from ccdakit import FamilyHistorySection

section = FamilyHistorySection(
    family_members=family_history_list,
    version=CDAVersion.R2_1
)

Required Properties: - relationship_display_name: str - Relationship to patient - subject: object - Family member demographics - observations: list - Health conditions

MedicalEquipmentSection

Implanted and external medical devices and equipment.

from ccdakit import MedicalEquipmentSection

section = MedicalEquipmentSection(
    equipment_list=equipment_list,
    version=CDAVersion.R2_1
)

Required Properties: - name: str - Equipment name - code: str - Equipment code - code_system: str - Code system - status: str - "active", "completed" - date_supplied: Optional[date] - Supply date

PlanOfTreatmentSection

Pending orders, interventions, and planned activities.

from ccdakit import PlanOfTreatmentSection

section = PlanOfTreatmentSection(
    planned_procedures=planned_procedures,
    planned_medications=planned_medications,
    planned_observations=planned_observations,
    version=CDAVersion.R2_1
)

Supports multiple types of planned activities with moodCode of INT (intent).

HospitalDischargeInstructionsSection

Instructions provided at hospital discharge.

from ccdakit import HospitalDischargeInstructionsSection

section = HospitalDischargeInstructionsSection(
    instructions=instructions_list,
    narrative_text="Follow discharge care plan.",
    version=CDAVersion.R2_1
)

Required Properties: - instruction_text: str - Instruction content - instruction_category: Optional[str] - Category (e.g., "Medications", "Diet")

DischargeMedicationsSection

Medications to take or stop after discharge.

from ccdakit import DischargeMedicationsSection

section = DischargeMedicationsSection(
    medications=discharge_meds_list,
    version=CDAVersion.R2_1
)

Uses same MedicationProtocol as MedicationsSection.

PhysicalExamSection

Direct clinical observations and examination findings.

from ccdakit import PhysicalExamSection

section = PhysicalExamSection(
    wound_observations=wound_observations,
    text="Physical exam findings...",
    version=CDAVersion.R2_1
)

Required Properties: - wound_type: str - Type of wound - date: datetime - Observation date - location: Optional[str] - Body location - laterality: Optional[str] - Left/right/bilateral

ReasonForVisitSection

Provider's documentation of reason for visit.

from ccdakit import ReasonForVisitSection

section = ReasonForVisitSection(
    reason_text="Annual physical examination",
    version=CDAVersion.R2_1
)

Simple narrative-only section without structured entries.

ChiefComplaintAndReasonForVisitSection

Patient's chief complaint and provider's reason for visit.

from ccdakit import ChiefComplaintAndReasonForVisitSection

section = ChiefComplaintAndReasonForVisitSection(
    chief_complaints=complaints_list,
    version=CDAVersion.R2_1
)

Required Properties: - text: str - Complaint or reason text

NutritionSection

Diet, nutrition requirements, and nutritional status.

from ccdakit import NutritionSection

section = NutritionSection(
    nutritional_statuses=nutrition_list,
    version=CDAVersion.R2_1
)

Required Properties: - status: str - Nutritional status - date: date - Assessment date - assessments: list - Nutrition assessments

PayersSection

Insurance providers and coverage information.

from ccdakit import PayersSection

section = PayersSection(
    payers=payers_list,
    version=CDAVersion.R2_1
)

Required Properties: - payer_name: str - Insurance company name - insurance_type: str - Type of insurance - member_id: str - Member identifier - start_date: Optional[date] - Coverage start

AdmissionMedicationsSection

Medications taken prior to and at admission.

from ccdakit import AdmissionMedicationsSection

section = AdmissionMedicationsSection(
    medications=admission_meds_list,
    version=CDAVersion.R2_1
)

Uses same MedicationProtocol as MedicationsSection.

InterventionsSection

Actions taken to achieve care goals and remove barriers.

from ccdakit import InterventionsSection

section = InterventionsSection(
    interventions=interventions_list,
    planned_interventions=planned_interventions,
    version=CDAVersion.R2_1
)

Required Properties: - description: str - Intervention description - status: str - Intervention status - effective_time: Optional[datetime] - When performed

HealthStatusEvaluationsSection

Outcomes of patient health status and care interventions.

from ccdakit import HealthStatusEvaluationsAndOutcomesSection

section = HealthStatusEvaluationsAndOutcomesSection(
    outcomes=outcomes_list,
    version=CDAVersion.R2_1
)

Required Properties: - code: str - Outcome code - display_name: str - Outcome description - value: str - Outcome value - effective_time: Optional[date] - Assessment date

Section Features

All sections automatically:

  • Generate narrative HTML tables
  • Validate required fields
  • Handle version-specific requirements
  • Support optional and required entries
  • Include proper template IDs

Next Steps