Skip to main content

Sequence patient electronic healthcare record generation with large language models (LLMs) as the neural database.

Project description

PromptEHR

PyPI version Downloads GitHub Repo stars GitHub Repo forks

Wang, Zifeng and Sun, Jimeng. (2022). PromptEHR: Conditional Electronic Healthcare Records Generation with Prompt Learning. EMNLP'22.

News

  • [2023/01/08] PromptEHR is now integrated into PyTrial with a complete documentation and example, please check! New version with bugs fixed is also released!

Usage

Get pretrained PromptEHR model (learned on MIMIC-III sequence EHRs) in three lines:

from promptehr import PromptEHR

model = PromptEHR()

model.from_pretrained()

A jupyter example is available at https://github.com/RyanWangZf/PromptEHR/blob/main/example/demo_promptehr.ipynb.

How to install

Install the correct PyTorch version by referring to https://pytorch.org/get-started/locally/.

Then try to install PromptEHR by

pip install git+https://github.com/RyanWangZf/PromptEHR.git

or

pip install promptehr

Load demo synthetic EHRs (generated by PromptEHR)

from promptehr import load_synthetic_data
data = load_synthetic_data()

Use PromptEHR for generation

from promptehr import SequencePatient
from promptehr import load_synthetic_data
from promptehr import PromptEHR

# init model
model = PromptEHR()
model.from_pretrained()

# load input data
demo = load_synthetic_data(n_sample=1000) # we have 10,000 samples in total

# build the standard input data for train or test PromptEHR models
seqdata = SequencePatient(data={'v':demo['visit'], 'y':demo['y'], 'x':demo['feature'],},
    metadata={
        'visit':{'mode':'dense'},
        'label':{'mode':'tensor'}, 
        'voc':demo['voc'],
        'max_visit':20,
        }
    )
# you can try to fit on this data by
# model.fit(seqdata)

# start generate
# n: the target total number of samples to generate
# n_per_sample: based on each sample, how many fake samples will be generated
# the output will have the same format of `SequencePatient`
fake_data = model.predict(seqdata, n=1000, n_per_sample=10)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PromptEHR-0.0.6.tar.gz (230.2 kB view details)

Uploaded Source

Built Distribution

PromptEHR-0.0.6-py3-none-any.whl (312.9 kB view details)

Uploaded Python 3

File details

Details for the file PromptEHR-0.0.6.tar.gz.

File metadata

  • Download URL: PromptEHR-0.0.6.tar.gz
  • Upload date:
  • Size: 230.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for PromptEHR-0.0.6.tar.gz
Algorithm Hash digest
SHA256 31638dbdf274b35a37b8930cc47619b6467ef689cd9205204a04b01c83f20fe6
MD5 f11f68f386c719591c21580f9969f260
BLAKE2b-256 adbb9aadbcb822c0d5c358c49b9d4486639821bb389c8ac43f30eb2260611dca

See more details on using hashes here.

File details

Details for the file PromptEHR-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: PromptEHR-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 312.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for PromptEHR-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a2eae33478b51b3a84ad8b9d676dd9acf439250dfe1908f07c0257749654e775
MD5 d303d6162a1150b811c1df1918e4c90f
BLAKE2b-256 bd71067429415052340eba76d82a0adf9135b59b8cf4781703a45e123b1372cd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page