Skip to content

Commit 6cb0acf

Browse files
authored
Merge pull request #30 from Health-Informatics-UoN/add_about
Add README description and Footer with UoN logo
2 parents 1ef2372 + 11c3492 commit 6cb0acf

6 files changed

Lines changed: 58 additions & 15 deletions

File tree

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,13 @@
1-
# open-case-reports
2-
A user interface to query case reports with specific patient criteria.
1+
# Open Case Reports
2+
3+
Open Case Reports filters and explores published clinical Case Reports.
4+
Enabling clinicians and researchers to filter through a dataset generated from over 118,000 open-access clinical case reports.
5+
6+
Users can filter using structured OMOP clinical filters, including Conditions, Procedures, Drugs and Measurements. Matching results are linked directly to the original case report publications on PubMed, allowing rapid access to supporting clinical evidence.
7+
8+
Key Features:
9+
- Explore clinical case reports using OMOP CDM concepts
10+
- Available concepts: OMOP CDM Condition, Procedure, and Drug exposure and Measurement.
11+
- Combine multiple filters to find relevant patient cases
12+
- Displays Titles, Descriptions and direct links to Case Reports on PubMed, using the [PMC OAI-PMH API](https://pmc.ncbi.nlm.nih.gov/tools/oai/)
13+
- Hosted at: https://opencasereports.com/

app/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Geist, Geist_Mono } from "next/font/google";
22
import { ThemeProvider } from "next-themes";
33
import "./globals.css";
4+
import Footer from "@/components/layout/Footer";
45

56
const geistSans = Geist({
67
variable: "--font-geist-sans",
@@ -23,6 +24,7 @@ export default function RootLayout({
2324
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
2425
{children}
2526
</ThemeProvider>
27+
<Footer />
2628
</body>
2729
</html>
2830
);

app/page.tsx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import NotesSection from "@/components/NotesSection";
33
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
44
import DomainSelect from "@/components/DomainSelect";
55
import { ModeToggle } from "@/components/mode-toggle";
6-
76
export default async function Page({
87
searchParams,
98
}: {
@@ -26,21 +25,19 @@ export default async function Page({
2625
const page = Math.max(1, parseInt(params.page ?? "1", 10) || 1);
2726
return (
2827
<div className="min-h-screen bg-muted/40 p-6">
29-
<div className="mb-6">
30-
<h1 className="text-3xl font-bold tracking-tight">Open Case Reports</h1>
31-
<p className="text-muted-foreground">
32-
Browse common terms and find associated Case Reports
33-
</p>
34-
</div>
35-
<Card className="mb-6">
36-
<CardHeader className="pb-3">
37-
<CardTitle className="text-2xl">Filters</CardTitle>
28+
<Card className="relative mb-6">
29+
<CardHeader className="pb-0">
30+
<CardTitle className="text-2xl">Open Case Reports</CardTitle>
3831
</CardHeader>
39-
40-
<CardContent>
32+
<CardContent className="pt-0">
33+
<p className="text-base text-muted-foreground">
34+
Explore published clinical case reports that have been transformed
35+
into the OMOP Common Data Model using a clinical NLP pipeline.
36+
Select a domain to filter through concepts, and select one
37+
or more concepts to view the associated case reports.
38+
</p>
4139
<div className="flex items-center gap-4">
4240
<span className="text-lg font-medium ">Domain</span>
43-
4441
<DomainSelect domain={domain} />
4542
</div>
4643
<div className="absolute top-4 right-4">

components/layout/Footer.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import Image from "next/image";
2+
3+
export default function Footer() {
4+
const currentYear = new Date().getFullYear();
5+
6+
return (
7+
<footer>
8+
<div className="bg-background py-6 border-t border-border">
9+
<div className="container mx-auto flex flex-col items-center gap-2">
10+
<Image
11+
src="/UoN-light.png"
12+
alt="Organisation Logo"
13+
width={150}
14+
height={70}
15+
priority
16+
className="block h-auto w-auto dark:hidden"
17+
/>
18+
<Image
19+
src="/UoN-dark.png"
20+
alt="Organisation Logo"
21+
width={150}
22+
height={70}
23+
priority
24+
className="hidden h-auto w-auto dark:block"
25+
/>
26+
<p className="text-center text-sm text-foreground">
27+
©University of Nottingham {currentYear} | All rights reserved
28+
</p>
29+
</div>
30+
</div>
31+
</footer>
32+
);
33+
}

public/UoN-dark.png

10.2 KB
Loading

public/UoN-light.png

11 KB
Loading

0 commit comments

Comments
 (0)