Home

@import url(“https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&family=IBM+Plex+Mono:wght@400;500&display=swap”);

/* Katharina O Cathaoir website styles. Paste all of this into Additional CSS. */

/* Hide the theme’s own header, footer and page title so the custom page fills the screen */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part,
.wp-block-post-title { display: none !important; }
.wp-site-blocks, .wp-site-blocks > main, .wp-site-blocks main .entry-content,
.wp-site-blocks main > .wp-block-group { margin-top: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
body { overflow-x: hidden; background: #f6f8f7; }
html { scroll-behavior: smooth; }
.koc { max-width: none !important; width: 100vw; margin-left: calc(50% – 50vw) !important; margin-right: calc(50% – 50vw) !important; margin-top: 0 !important; isolation: isolate; }
.koc p, .koc ul, .koc ol { margin-top: 0; }
.koc img { height: auto; }

.koc {
–bg: #f6f8f7;
–surface: #ffffff;
–ink: #15302f;
–muted: #4d6564;
–rule: #d5dfdd;
–accent: #c8553d;
–accent-soft: #f6dcd3;
–teal: #2f7f78;
–font-display: “Bricolage Grotesque”, “Helvetica Neue”, Arial, sans-serif;
–font-body: “Source Serif 4”, Georgia, “Times New Roman”, serif;
–font-mono: “IBM Plex Mono”, ui-monospace, Menlo, Consolas, monospace;
–step–1: 0.875rem;
–step-0: 1.0625rem;
–step-1: 1.3rem;
–step-2: 1.75rem;
–step-3: clamp(2.2rem, 5vw, 3.6rem);
–gutter-l: max(16px, env(safe-area-inset-left, 0px));
–gutter-r: max(16px, env(safe-area-inset-right, 0px));
}
.koc, .koc * { box-sizing: border-box; }
.koc {
background: var(–bg); color: var(–ink);
font-family: var(–font-body); font-size: var(–step-0); line-height: 1.6;
}
.koc a { color: var(–teal); text-underline-offset: 3px; }
.koc a:hover { color: var(–accent); }
.koc a:focus-visible, .koc button:focus-visible { outline: 2px solid var(–accent); outline-offset: 3px; border-radius: 2px; }
.koc h1, .koc h2, .koc h3 { font-family: var(–font-display); text-wrap: balance; line-height: 1.15; margin: 0; }
.koc .wrap { max-width: 1120px; margin: 0 auto; padding-left: var(–gutter-l); padding-right: var(–gutter-r); }
.koc .nav { position: sticky; top: 0px; z-index: 5; background: color-mix(in srgb, var(–bg) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(–rule); }
.koc .nav .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 12px; flex-wrap: wrap; }
.koc .brand { font-family: var(–font-display); font-weight: 700; font-size: 1.05rem; color: var(–ink); text-decoration: none; }
.koc .nav ul { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; flex-wrap: wrap; font-family: var(–font-display); font-size: var(–step–1); }
.koc .nav ul a { color: var(–muted); text-decoration: none; }
.koc .nav ul a:hover { color: var(–accent); }
.koc .lang { font-family: var(–font-mono); font-size: 0.8rem; color: var(–muted); }
.koc .lang b { color: var(–ink); }
.koc .hero .wrap { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding-block: 56px 64px; }
.koc .hero-text { min-width: 0; }
.koc .kicker { font-family: var(–font-mono); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(–teal); margin: 0 0 18px; }
.koc .hero h1 { font-size: var(–step-3); font-weight: 700; letter-spacing: -0.02em; }
.koc .tagline { font-family: var(–font-display); font-size: var(–step-1); color: var(–accent); margin: 14px 0 22px; font-weight: 600; }
.koc .hero p.intro { max-width: 34em; margin: 0 0 26px; }
.koc .cta { display: flex; gap: 12px; flex-wrap: wrap; }
.koc .latest { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(–rule); }
.koc .latest .kicker { margin-bottom: 8px; }
.koc .latest ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 0.95rem; }
.koc .latest li { display: grid; grid-template-columns: 5.5em 1fr; gap: 10px; }
.koc .latest .when { font-family: var(–font-mono); font-size: 0.8rem; color: var(–accent); padding-top: 2px; font-variant-numeric: tabular-nums; }
.koc .btn { font-family: var(–font-display); font-weight: 600; font-size: 0.95rem; padding: 10px 18px; border-radius: 999px; text-decoration: none; border: 1.5px solid var(–ink); color: var(–ink); }
.koc .btn.primary { background: var(–ink); color: var(–bg); }
.koc .btn:hover { border-color: var(–accent); color: var(–accent); }
.koc .btn.primary:hover { background: var(–accent); color: #fff; border-color: var(–accent); }
.koc .hero figure { margin: 0; position: relative; }
.koc .hero figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; border-radius: 4px; display: block; }
.koc .hero figure::after { content: “”; position: absolute; right: -14px; bottom: -14px; width: 46%; height: 46%; background: var(–accent-soft); z-index: -1; border-radius: 4px; }
.koc figcaption { font-family: var(–font-mono); font-size: 0.75rem; color: var(–muted); margin-top: 10px; }
.koc .facts { border-block: 1px solid var(–rule); background: var(–surface); }
.koc .facts .wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 26px; }
.koc .fact b { display: block; font-family: var(–font-display); font-size: var(–step-2); color: var(–teal); line-height: 1.1; font-variant-numeric: tabular-nums; }
.koc .fact span { font-size: var(–step–1); color: var(–muted); }
.koc section.block { padding-block: 72px 24px; scroll-margin-top: 64px; }
.koc .block .wrap { display: grid; grid-template-columns: 200px 1fr; gap: 40px; }
.koc .label { font-family: var(–font-mono); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(–muted); padding-top: 8px; border-top: 2px solid var(–accent); align-self: start; }
.koc .body { min-width: 0; }
.koc .body h2 { font-size: var(–step-2); margin-bottom: 18px; }
.koc .body h3 { font-size: 1.05rem; font-weight: 600; margin: 34px 0 12px; }
.koc .prose p { max-width: 38em; margin: 0 0 14px; }
.koc .timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.koc .timeline li { display: grid; grid-template-columns: 9.5em 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(–rule); }
.koc .timeline .yr { font-family: var(–font-mono); font-size: 0.85rem; color: var(–muted); font-variant-numeric: tabular-nums; padding-top: 2px; }
.koc .themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.koc .theme { background: var(–surface); border: 1px solid var(–rule); border-radius: 4px; padding: 20px; }
.koc .theme h3 { margin: 0 0 8px; color: var(–teal); }
.koc .theme p { margin: 0; font-size: 0.97rem; }
.koc .books { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.koc .books li { padding-left: 16px; border-left: 3px solid var(–accent-soft); }
.koc .books cite { font-style: italic; }
.koc .books .meta { color: var(–muted); font-size: 0.95rem; }
.koc .pubs { list-style: none; padding: 0; margin: 0; counter-reset: fn; }
.koc .pubs li { counter-increment: fn; display: grid; grid-template-columns: 2.2em 1fr; gap: 8px; padding: 9px 0; border-bottom: 1px dotted var(–rule); font-size: 0.97rem; }
.koc .pubs li::before { content: counter(fn); font-family: var(–font-mono); font-size: 0.75rem; color: var(–accent); padding-top: 4px; }
.koc .pubs .cite { font-family: var(–font-mono); font-size: 0.8rem; color: var(–muted); }
.koc .more { margin-top: 14px; font-family: var(–font-display); font-size: 0.95rem; }
.koc .featured { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(–surface); border: 1px solid var(–rule); border-radius: 4px; overflow: hidden; margin-bottom: 28px; }
.koc .featured img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 220px; }
.koc .featured .txt { padding: 24px; min-width: 0; }
.koc .tag { display: inline-block; font-family: var(–font-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; background: var(–accent-soft); color: var(–accent); padding: 3px 8px; border-radius: 2px; }
.koc .featured h3 { margin: 12px 0 8px; font-size: 1.3rem; }
.koc .featured p { margin: 0; color: var(–muted); }
.koc .videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 30px; }
.koc .vcard { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px 20px; background: var(–surface); border: 1px solid var(–rule); border-radius: 4px; min-width: 0; }
.koc .vcard p { margin: 0; flex: 1; }
.koc .vcard .ev { color: var(–muted); }
@media (max-width: 600px) {
.koc .videos { grid-template-columns: 1fr; }
}
.koc .gallery { display: grid; grid-template-columns: 1.6fr 0.8fr; gap: 12px; margin-bottom: 30px; }
.koc .gallery figure { margin: 0; min-width: 0; }
.koc .gallery img { width: 100%; height: 240px; object-fit: cover; border-radius: 4px; display: block; }
.koc .gallery .tall img { object-position: 50% 70%; }
.koc .talks { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.koc .talks th { text-align: left; font-family: var(–font-mono); font-weight: 500; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(–muted); padding: 0 12px 8px 0; border-bottom: 1px solid var(–ink); }
.koc .talks td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(–rule); vertical-align: top; }
.koc .talks td:first-child { font-family: var(–font-mono); font-size: 0.82rem; color: var(–muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.koc .talks .ev { color: var(–muted); }
.koc .upcoming td:first-child { color: var(–accent); }
.koc .tablewrap { overflow-x: auto; }
.koc .cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.koc .plain { padding-left: 1.1em; margin: 0; }
.koc .plain li { margin-bottom: 8px; }
.koc .outlets { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; list-style: none; }
.koc .outlets li { font-family: var(–font-display); font-weight: 600; font-size: 0.9rem; border: 1px solid var(–rule); padding: 4px 12px; border-radius: 999px; background: var(–surface); }
.koc .contact { background: var(–ink); color: var(–bg); margin-top: 72px; }
.koc .contact .wrap { padding-block: 64px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; }
.koc .contact h2 { font-size: var(–step-2); margin-bottom: 12px; }
.koc .contact p { margin: 0; max-width: 30em; opacity: 0.85; }
.koc .contact dl { margin: 0; display: grid; grid-template-columns: 7em 1fr; gap: 12px 16px; font-size: 0.97rem; }
.koc .contact dt { font-family: var(–font-mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.7; padding-top: 4px; }
.koc .contact dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.koc .contact a { color: var(–bg); }
.koc .contact a:hover { color: var(–accent-soft); }
.koc .copy { font: inherit; font-family: var(–font-mono); font-size: 0.72rem; margin-left: 8px; background: transparent; color: var(–bg); border: 1px solid currentColor; border-radius: 999px; padding: 2px 10px; cursor: pointer; opacity: 0.8; }
.koc .copy:hover { opacity: 1; }
.koc .todo { font-family: var(–font-mono); font-size: 0.75rem; background: var(–accent); color: #fff; padding: 2px 6px; border-radius: 2px; }
.koc footer { background: var(–ink); color: var(–bg); border-top: 1px solid color-mix(in srgb, var(–bg) 20%, transparent); }
.koc footer .wrap { padding-block: 18px; font-size: 0.8rem; opacity: 0.7; font-family: var(–font-mono); }
@media (max-width: 860px) {
.koc .hero .wrap, .koc .contact .wrap, .koc .featured, .koc .cols { grid-template-columns: 1fr; }
.koc .hero .wrap { padding-block: 32px 48px; gap: 32px; }
.koc .hero figure::after { right: -8px; bottom: -8px; }
.koc .block .wrap { grid-template-columns: 1fr; gap: 16px; }
.koc .label { justify-self: start; }
.koc .facts .wrap { grid-template-columns: repeat(2, 1fr); }
.koc .themes { grid-template-columns: 1fr; }
.koc .gallery { grid-template-columns: 1.6fr 0.8fr; }

}
@media (max-width: 520px) {
.koc .nav ul { gap: 14px; }
.koc .timeline li { grid-template-columns: 1fr; gap: 2px; }
.koc .gallery img { height: 180px; }
.koc .contact dl { grid-template-columns: 1fr; gap: 2px 0; }
.koc .contact dd { margin-bottom: 10px; }

}

Director of Research · Danish Institute for Human Rights

Dr Katharina Ó Cathaoir

Health law, human rights and the regulation of new technologies.

I am a legal expert and researcher working where health law, data protection, human rights and AI regulation meet. I lead Research and Data at the Danish Institute for Human Rights, Denmark’s national human rights institution (NHRI) and equality body. Before that, I was a tenured associate professor at the University of Copenhagen and led AI governance for the Capital Region of Denmark.

Latest

  • Oct 2026 Keynote, Governing Algorithms for Care, University of Amsterdam
  • Sep 2026 Conference of the European Association of Health Law, Uppsala University
  • Sep 2026 Inaugural Health Nexus Forum, De Hoorn, Belgium

Katharina Ó Cathaoir speaking on a panel at the Danish National Genome Center
Danish National Genome Center, 2025

~60publications, including the leading Danish health law textbook
5books written or edited, one forthcoming
6countries where I have held visiting research posts
650+citations on Google Scholar

About

Biography

Katharina Ó Cathaoir is Director of Research at the Danish Institute for Human Rights, where she sits on the Institute’s senior leadership team. Her research focuses on health law and human rights, with particular attention to health data, AI and the rights of children and older persons.

From 2017 to 2025 she was at the Faculty of Law, University of Copenhagen, becoming a tenured associate professor. She was Denmark’s first Pro Futura Scientia Fellow at the Swedish Collegium for Advanced Study. From 2024 to 2025 she built the Capital Region of Denmark’s first guidelines on compliance with the EU’s AI Act.

She has written or co-authored around 60 publications, including the leading Danish health law textbook, and co-founded the Journal of Global Health Law. Her work has been cited by the Lancet Commission, WHO, UNICEF and the Supreme Court of Ireland. She has held visiting posts at the HeLEx Centre, Faculty of Law, University of Oxford; the O’Neill Institute, Georgetown Law; the Sutherland School of Law, University College Dublin; the Centre for Law and Genetics, University of Tasmania; and the Norwegian Centre for Human Rights, University of Oslo.

Career

  1. 2026–Director of Research, Danish Institute for Human Rights
  2. 2024–2025Chief Legal Advisor, Capital Region of Denmark
  3. 2021–2025Pro Futura Scientia Fellow, Swedish Collegium for Advanced Study
  4. 2017–2025Postdoc, Assistant and Associate Professor (tenured), Faculty of Law, University of Copenhagen
  5. 2017Law Fellow, O’Neill Institute, Georgetown University Law Center
  6. 2013Legal Advisor, Permanent Mission of Ireland to the United Nations
  7. 2012–2013Judicial Researcher, Courts Service of Ireland

Education

  1. 2017PhD in Law, University of Copenhagen
  2. 2012LL.M. in International and Comparative Law, Trinity College Dublin (first class honours)
  3. 2011BCL in Law and Irish, University College Cork (first class honours)

Grant review

I review research grant applications for the European Commission, the Swedish Research Council, the Swiss National Science Foundation and the Polish Research Council.

Research

Four questions my research keeps returning to

Health data and AI

How the GDPR, the EU AI Act and the European Health Data Space shape consent, transparency and bias in medical AI.

Health and human rights

The right to health, patients’ rights and healthcare discrimination.

Children, older persons and vulnerable groups

Children’s rights and food marketing, reproductive health, and older persons’ rights during COVID-19.

Pandemics and public health law

Comparative legal responses to COVID-19 and the regulation of non-communicable disease.

Books

  • Principles of Patient Rights: International and European Law Edward Elgar, under contract. With H.S. Aasen and M. Hartlev.
  • The European Health Data Space: Examining a New Era in Data Protection Routledge 2025. Co-editor with S. Slokenberga and M. Shabani.
  • Children’s Rights and Food Marketing: State Duties in Obesity Prevention Intersentia 2022.
  • Health and Human Rights: Global and European Perspectives Intersentia 2022. With B. Toebes et al.
  • Health and Law: Perspectives on the Health System, Health Professionals and Patients’ Rights, 3rd ed. In Danish. Djøf Forlag 2022. With M. Hartlev and P. Jakobsen.

Selected articles

  1. Deviating from the Norm? The Pregnant Body in Scandinavian Health Law. 25 German Law Journal 665 (2024)
  2. Establishing Healthcare Discrimination: An Analysis of Scandinavian Equality Boards. 26 European Journal of Social Security 324 (2024)
  3. Transparency of Machine-Learning in Healthcare: The GDPR & European Health Law (with M. Mourby and C. Bjerre Collin). 43 Computer Law & Security Review (2021)
  4. The Invisible Child of Personalised Medicine. 8 Journal of Law and the Biosciences (2021)
  5. Older Persons and the Right to Health in the Nordics during COVID-19 (with H.D. Gunnarsdóttir et al.). 28 European Journal of Health Law 417 (2021)
  6. Establishing the International Genetic Discrimination Observatory (with Y. Joly et al.). 52 Nature Genetics 466 (2020)
  7. Lurching from Complacency to Panic in the Fight Against Dangerous Microbes (with L.O. Gostin). 67 Emory Law Journal 337 (2018)
  8. Advancing the Right to Health (with L.O. Gostin et al.). 107 American Journal of Public Health 1755 (2017)
  9. Childhood Obesity and the Right to Health. Cited by the Lancet Commission, UNICEF and WHO. 18 Health and Human Rights Journal 249 (2016)

Full list of publications on Google Scholar and ORCID

Funded projects

Years Project Funder and role
2025–2029 TRUST MIND: trust, mental health and AI Lundbeck Foundation · co-applicant
2021–2025 The Law on Health Data Outliers Riksbankens Jubileumsfond · PI
2021–2022 DOCURA: care homes and digital documentation Copenhagen Centre for Public Policy · co-PI
2020–2021 Legislating Corona Independent Research Fund Denmark · PI

Practice

Compliance and advisory work

Alongside research, I advise public bodies and project teams on how data protection, health law and AI regulation apply in practice.

Capital Region of Denmark, 2024–2025

  • Developed the Region’s first guidelines on compliance with the EU AI Act, turning the GDPR, Danish health law and the AI Act into practical rules for clinical and IT staff.
  • Assessed digital health programmes and AI-based technologies for compliance with the GDPR and Danish law.
  • Negotiated agreements with third-party technology vendors, including designing a solution that met Danish legal requirements.
  • Led compliance for a major clinical IT rollout, allowing a new AI-enabled programme to be approved and delivering significant annual savings for the Region.

Research and policy advice

  • Advised clinicians and research teams on research ethics, the GDPR and Danish data protection law, and designed a data governance framework.
  • Delivered commissioned reports to the European Commission.
  • Advisory work for DaneAge, the National Organisation for Social Services and the Danish Heart Foundation.

Talks

Speaking

Watch

2022 · Lecture

Realizing the right to health through healthcare technologies · University of North Carolina

Watch on YouTube

2022 · Talk

The ethics of pandemics: lessons learned in the Nordic countries · NordForsk, Bergen. Starts at 1:08:00.

Watch on YouTube

2018 · Panel

Children’s right to health: childhood obesity · University of Bergen

Watch on YouTube

2026 · Forum

Inaugural Health Nexus Forum · De Hoorn, Belgium

Watch on LinkedIn

Date Talk
Dec 2026 Health Law Roundtable · Faculty of Law, Lund University (upcoming)
Oct 2026 Keynote: Fundamental rights impact assessments in AI-driven healthcare · University of Amsterdam
Sep 2026 10th Conference of the European Association of Health Law · Uppsala University
Sep 2026 Inaugural Health Nexus Forum · De Hoorn, Belgium · video
Oct 2025 Implementing the AI Act in Danish healthcare · Kammeradvokaten AI network for public authorities
Sep 2025 Supporting a data-driven healthcare system · Danish National Genome Center
Sep 2025 Regulation of biobanks · Danish Regions
Jun 2024 Digitisation of healthcare in the EU · Department of Legal Sciences (School of Law), University of Salerno
Jun 2024 The European Health Data Space · University of Santander
Mar 2024 The European Health Data Space · Faculty of Law, University of Oxford
Jun 2023 Medical AI: GDPR and informed consent in Nordic law · Lifesciencelaw.dk and CeBIL, Copenhagen
May 2023 Law and the health challenges of the future · University of Oslo
Apr 2023 Human rights in the EU and consent for genomics research · Global Alliance for Genomics and Health
Mar 2023 Top-down altruism: the EU Data Governance Act · University of Oxford
Oct 2022 Realizing the right to health through health care technologies · University of North Carolina · video
Sep 2022 Children’s rights and abortion · Uppsala University
2022 The ethics of pandemics: lessons learned in the Nordic countries · NordForsk, Bergen · video
Apr 2022 Data bias in health research · Northeastern University
2022 Keynote: The Convention on the Rights of the Child · Danish Cancer Society (Kræftens Bekæmpelse)
2020 Precision medicine and society · Columbia University
Aug 2018 Panel: Children’s right to health and childhood obesity · University of Bergen · video

Media

Media

Op-eds

  • Let us protect the dormant relationships in genetic data. Politiken, August 2024 (with M.N. Svendsen et al.)
  • Denmark lags behind on regulating unhealthy food marketing to children. Altinget, February 2022

Get in touch

For speaking invitations, research collaborations or media enquiries, please contact me by email or LinkedIn.

Email
kocathaoir@gmail.com
LinkedIn
linkedin.com/in/katharinao
Scholar
Google Scholar profile
ORCID
0000-0002-1535-9134
CV
Download CV (PDF)
© 2026 Katharina Ó Cathaoir · Copenhagen