---
# System prepended metadata

title: Vaccinations functionality

---

# Vaccinations functionality


```plantuml
@startuml

class Medicine {
  + name
  + (maybe official_name)
  + category:enum[vaccine]
}

class Patient {

}

class VaccinationSideEffect {
  vaccination_id
  side_effect_id
}

class SideEffect {
  - name
}

class Vaccination {
  - medicine_id (FK)
  - person_id (FK)
  - vaccinated_at:datetime (better naming needed)
  - sysvac_registered_at:datetime
  - consented_to_be_vaccinated_at:datetime
  - has_allergies_at:datetime
  - consent_for_receiving_vaccine_at:datetime
  // there is no dedicated field for NO-SHOW
}

Vaccination }|--|| Patient
Vaccination }|--|| Medicine

VaccinationSideEffect }|--|| Vaccination
VaccinationSideEffect }|--|| SideEffect

@enduml
```
## Medicine table
```csvpreview {header="true"}
id, name, official_name, category
1, Pfizer, Comirnaty, :vaccine
2, Moderna, Spikevax mRNA-1273, :vaccine
```


