{
  "format": "dataset-manifest/1",
  "slug": "ward-vitals",
  "version": 1,
  "seed": "ward-vitals:1",
  "spec": {
    "format": "dataset/1",
    "slug": "ward-vitals",
    "name": "Ward Vitals",
    "tagline": "Synthetic dataset of vital sign readings in a hospital ward.",
    "description": "Patients receive continuous monitoring of their vital signs on a hospital ward, with data collected at regular intervals to ensure timely responses to any changes in their condition. Medical staff utilize this information to track heart rate, temperature, and blood pressure, allowing them to make informed decisions about patient care. Each patient is assigned to a specific bed, and their vital sign readings are logged throughout their admission, creating a comprehensive view of their health status over time.\n\nThe dataset contains three tables: patients, beds, and readings. Each row in the patients table represents an individual patient, including details such as their admission date and relevant medical history. The beds table holds information about the available beds in the ward, including their status and location, linking each patient to a specific bed during their stay. The readings table captures the vital sign measurements taken periodically for each patient, detailing the time of the reading and the specific metrics recorded. This structure allows for straightforward joins between the tables, enabling queries that relate patients to their corresponding beds and readings.\n\nBy analyzing this data, developers can explore various questions such as trends in vital sign changes over time, the impact of specific interventions on patient readings, or correlations between patient demographics and their health outcomes. It serves as excellent practice for developing skills in data manipulation, aggregation, and relationship mapping in a healthcare context. The data is synthetic, providing a safe and realistic environment for testing algorithms and developing insights without the complexities of real patient data.",
    "domain": "healthcare",
    "shape": "time-series",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "healthcare",
      "vital signs",
      "patient data",
      "time-series",
      "analytics",
      "ETL",
      "readings"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "patients": {
        "description": "This table contains information about patients admitted to a healthcare facility. Each row represents a unique patient, identified by their patient_id, along with their admission and discharge dates, age, and gender.",
        "rows": 100,
        "columns": {
          "patient_id": {
            "kind": "pk",
            "description": "Unique identifier for each patient."
          },
          "admission_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the patient was admitted."
          },
          "discharge_date": {
            "kind": "date",
            "after": "admission_date",
            "withinDays": 30,
            "description": "Date when the patient was discharged."
          },
          "age": {
            "kind": "int",
            "min": 18,
            "max": 90,
            "description": "Age of the patient in years."
          },
          "gender": {
            "kind": "enum",
            "values": [
              "male",
              "female",
              "other"
            ],
            "description": "Gender of the patient (male, female, or other)."
          }
        }
      },
      "beds": {
        "description": "This table tracks the bed assignments for patients in the healthcare facility. Each row represents a bed assignment linked to a specific patient, including the time the bed was assigned and its current status.",
        "rows": 100,
        "columns": {
          "bed_id": {
            "kind": "pk",
            "description": "Unique identifier for each bed."
          },
          "patient_id": {
            "kind": "fk",
            "ref": "patients.patient_id",
            "description": "Identifier linking to the patient assigned to the bed."
          },
          "assigned_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date and time when the bed was assigned to the patient.",
            "dayProfile": "business"
          },
          "status": {
            "kind": "enum",
            "values": [
              "occupied",
              "available",
              "cleaning"
            ],
            "description": "Current status of the bed (occupied, available, or cleaning)."
          }
        }
      },
      "readings": {
        "description": "This table records vital sign readings for patients. Each row corresponds to a specific reading taken at a certain time for a patient, including heart rate, temperature, and blood pressure.",
        "rows": {
          "per": "patients",
          "via": "patient_id",
          "min": 1,
          "max": 20,
          "skew": "long-tail"
        },
        "columns": {
          "reading_id": {
            "kind": "pk",
            "description": "Unique identifier for each reading."
          },
          "patient_id": {
            "kind": "fk",
            "ref": "patients.patient_id",
            "description": "Identifier linking to the patient for whom the reading was taken."
          },
          "recorded_at": {
            "kind": "datetime",
            "after": "patient_id.admission_date",
            "withinDays": 30,
            "description": "Date and time when the reading was recorded.",
            "dayProfile": "waking"
          },
          "heart_rate": {
            "kind": "int",
            "min": 60,
            "max": 100,
            "description": "Heart rate of the patient in beats per minute."
          },
          "temperature": {
            "kind": "decimal",
            "min": 35,
            "max": 42,
            "scale": 1,
            "description": "Body temperature of the patient in degrees."
          },
          "blood_pressure": {
            "kind": "words",
            "description": "Blood pressure reading of the patient."
          }
        }
      }
    },
    "suggestedQueries": [
      {
        "title": "Get all patients and their admission dates",
        "sql": "SELECT patient_id, admission_date FROM patients;",
        "dialect": "postgres"
      },
      {
        "title": "Count readings per patient",
        "sql": "SELECT patient_id, COUNT(*) as reading_count FROM readings GROUP BY patient_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average heart rate of patients",
        "sql": "SELECT patient_id, AVG(heart_rate) as avg_heart_rate FROM readings GROUP BY patient_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find patients with abnormal temperature readings",
        "sql": "SELECT DISTINCT patient_id FROM readings WHERE temperature < 36.0 OR temperature > 38.5;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Healthcare Data Analysts",
        "body": "Healthcare data analysts can utilize this dataset to examine trends in vital signs over time. By analyzing the relationships between various readings and patient outcomes, they can derive insights that may assist in improving patient care and operational efficiency."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Developers working on ETL pipelines can employ this dataset to simulate the extraction, transformation, and loading processes. They can test data integration workflows by pulling data from the patients, beds, and readings tables to ensure their pipelines handle healthcare data accurately."
      },
      {
        "title": "Medical Researchers",
        "body": "Medical researchers can leverage this dataset to study the impact of different variables on patient health outcomes. By analyzing the vital signs in correlation with patient demographics and bed assignments, they can uncover patterns that inform clinical decisions."
      },
      {
        "title": "Healthcare Software Developers",
        "body": "Healthcare software developers can use this synthetic dataset to prototype applications that require patient monitoring features. By integrating the readings and patient data, they can create tools that visualize vital sign trends and alert medical staff when readings fall outside normal ranges."
      }
    ],
    "analysisQuestions": [
      "What is the average age of patients admitted to the facility?",
      "How many beds are currently occupied?",
      "What trends can be observed in patients' vital signs over time?"
    ]
  },
  "counts": {
    "patients": 100,
    "beds": 100,
    "readings": 675
  },
  "stats": {
    "patients": {
      "rows": 100,
      "columns": {
        "patient_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "admission_date": {
          "nulls": 0,
          "distinct": 92,
          "min": "2023-01-01",
          "max": "2024-12-23"
        },
        "discharge_date": {
          "nulls": 0,
          "distinct": 94,
          "min": "2023-01-01",
          "max": "2024-12-27"
        },
        "age": {
          "nulls": 0,
          "distinct": 54,
          "min": 18,
          "max": 90
        },
        "gender": {
          "nulls": 0,
          "distinct": 3,
          "min": "female",
          "max": "other"
        }
      }
    },
    "beds": {
      "rows": 100,
      "columns": {
        "bed_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "patient_id": {
          "nulls": 0,
          "distinct": 63,
          "min": 2,
          "max": 100
        },
        "assigned_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-07 17:09:00",
          "max": "2024-12-26 15:30:43"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "available",
          "max": "occupied"
        }
      }
    },
    "readings": {
      "rows": 675,
      "columns": {
        "reading_id": {
          "nulls": 0,
          "distinct": 675,
          "min": 1,
          "max": 675
        },
        "patient_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "recorded_at": {
          "nulls": 0,
          "distinct": 675,
          "min": "2023-01-02 15:19:08",
          "max": "2025-01-08 16:20:41"
        },
        "heart_rate": {
          "nulls": 0,
          "distinct": 41,
          "min": 60,
          "max": 100
        },
        "temperature": {
          "nulls": 0,
          "distinct": 71,
          "min": 35,
          "max": 42
        },
        "blood_pressure": {
          "nulls": 0,
          "distinct": 674
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/patients.csv",
      "format": "csv",
      "table": "patients",
      "key": "datasets/ward-vitals/v1/csv/patients.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/csv/patients.csv",
      "bytes": 3552,
      "sha256": "cdc08085c9557b945abb7e42652befe0264a01b6f9fd4a3c0b118f495919d7ae",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/beds.csv",
      "format": "csv",
      "table": "beds",
      "key": "datasets/ward-vitals/v1/csv/beds.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/csv/beds.csv",
      "bytes": 3661,
      "sha256": "b0fd0e8c1be704a38b4b15541bf61a96e5b1ffb2166fcd05c21ae024a5eb1dde",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/readings.csv",
      "format": "csv",
      "table": "readings",
      "key": "datasets/ward-vitals/v1/csv/readings.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/csv/readings.csv",
      "bytes": 42689,
      "sha256": "ae36db99b7a85bc2a7b9b3051059b8e2abeefa1da6ffc349a3775b11bc4ba352",
      "rows": 675,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "ward-vitals.json",
      "format": "json",
      "table": null,
      "key": "datasets/ward-vitals/v1/ward-vitals.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/ward-vitals.json",
      "bytes": 169996,
      "sha256": "ec33d60d15b24ecc985f6505cccfdc60027453704bec74bc68b63c83af774006",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/ward-vitals/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/sql/postgres.sql",
      "bytes": 64972,
      "sha256": "f3cea7bcdc400050b2222bf3c9eb6d1fde5b9bb40f9a588828632dccec417d17",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/ward-vitals/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/sql/mysql.sql",
      "bytes": 64607,
      "sha256": "0cb083f75e2b602a7db5a66b9b688681784f8a375151bcdfd0d7a92b3644268f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/ward-vitals/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/sql/mssql.sql",
      "bytes": 66637,
      "sha256": "b63a10841c1d9adcd7a40779e0f473ab00c4f3ec124b03dd21ef388744231d33",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/ward-vitals/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/sql/sqlite.sql",
      "bytes": 64516,
      "sha256": "4a0fcb0df662ccf111136a26b23410e20943384f271c171f533aae61a9e7bcf6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/ward-vitals/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/prisma/seed.ts",
      "bytes": 144770,
      "sha256": "3a0f89473e6385b907d061ec57178175421568423b5b35386114c5958efae42f",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/ward-vitals/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ward-vitals/v1/django/fixtures.json",
      "bytes": 201366,
      "sha256": "b7d5b4ce326e2d7ca321b6d8e8319c191055a41f1c09fa22c422613941ab28a9",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766664407,
  "updatedAt": 1788766664407
}
