Skip to main content

Clinic Description Annotator for FHIR and SPARC

Project description

Clinical Description Annotator

Python3.9+ PyPI - Version

Annotator for annotating measurement results, workflows, workflow tools, models, and workflow tool process datasets in SPARC SDS datasets to the data format required for digitaltwins-on-fhir.

Usage

Annotate the measurements data for SPARC SDS dataset

  • Add measurement for one patient
from fhir_cda import Annotator
from fhir_cda.ehr import ObservationMeasurement, ObservationValue, Quantity

annotator = Annotator("./dataset/dataset-sparc").measurements()

m = ObservationMeasurement(
    value=ObservationValue(
        value_quantity=Quantity(
            value=30,
            unit="year",
            code="a")),
    code="30525-0")

annotator.add_measurements("sub-001", m).save()
  • Add measurements for one patient
m1 = ObservationMeasurement(
    value=ObservationValue(
        value_quantity=Quantity(
            value=0.15,
            unit="cm",
            code="cm")),
    code="21889-1")
m2 = ObservationMeasurement(
    value=ObservationValue(
        value_quantity=Quantity(
            value=0.15,
            unit="cm",
            code="cm",
            system="http://unitsofmeasure.org")),
    code="21889-1",
    code_system="http://loinc.org",
    display="Size Tumor")
annotator.add_measurements("sub-001", [m1, m2]).save()
  • Add measurement for multiple patients
m = ObservationMeasurement(
    value=ObservationValue(value_string="Female"),
    code="99502-7",
    display="Recorded sex or gender",
    code_system="http://loinc.org")
annotator.add_measurements(["sub-001", "sub-002"], m).save()
  • A measurements for multiple patients
m1 = ObservationMeasurement(
    value=ObservationValue(value_string="Female"),
    code="99502-7",
    display="Recorded sex or gender",
    code_system="http://loinc.org")
m2 = ObservationMeasurement(
    value=ObservationValue(
        value_quantity=Quantity(
            value=0.15,
            unit="cm",
            code="cm",
            system="http://unitsofmeasure.org")),
    code="21889-1",
    code_system="http://loinc.org",
    display="Size Tumor")
annotator.add_measurements(["sub-001", "sub-002"], [m1, m2])
annotator.save()
  • Add DocumentReference measurements
from fhir_cda.ehr import DocumentReferenceMeasurement
m2 = DocumentReferenceMeasurement(
    url="https://example.org/files/df0c4efd-69a6-428a-ba70-786caecfadfb.obj",
    content_type="model/obj",
    title="Breast Surface Mesh")
annotator.add_measurements(["sub-001"], [m2]).save()
  • Automated generating ImagingStudy Measurement for all patients by scan dataset
annotator.automated_generating_imaging_study_measurement_by_scan_dataset()
  • Add ImagingStudy measurements manually
    • Note: If we add it manually, we'll need to add the ImagingStudy measurement for each patient one by one. Alternatively, we can use a loop to automate the process.
from fhir_cda.ehr import ImagingStudyMeasurement
from fhir_cda.utils import check_first_file_extension
from pathlib import Path

p1 = Path("./dataset/dataset-sparc/primary/sub-001")
p1_sams = [x for x in p1.iterdir() if x.is_dir()]
p1_dcm_sams = [sam for sam in p1_sams if check_first_file_extension(sam) == "dcm"]
m4 = ImagingStudyMeasurement(uuid="",
                             sample_paths=p1_dcm_sams,
                             endpoint_url="",
                             description="dcm")
annotator.add_measurements(["sub-001"], [m4])
  • Notice: The default value for unit system and code system are:
unit_system = "http://unitsofmeasure.org"
code_system = "http://loinc.org"

Design Decisions

  • ImagingStudy Instances are not include at this stage, because but can be added it if required.

Contributors

Linkun Gao

Chinchien Lin

Ayah Elsayed

Jiali Xu

Gregory Sands

David Nickerson

Thiranja Prasad Babarenda Gamage

Publications

  1. Paper Title One, Author1, Author2. Journal Name, Year.
  2. Paper Title Two, Author1, Author2. Conference Name, Year.

Please cite the corresponding paper if you use this project in your research.

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

fhir_cda-1.2.3.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fhir_cda-1.2.3-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file fhir_cda-1.2.3.tar.gz.

File metadata

  • Download URL: fhir_cda-1.2.3.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fhir_cda-1.2.3.tar.gz
Algorithm Hash digest
SHA256 436571d58d9e8bdf2678876d64f7faf5cb30c1a2f14ba99ba16e145ed24b4849
MD5 d5575c454a12d0b2bf70f815e1c16df3
BLAKE2b-256 fbb35d287d45cf3cece6bddafab84246262784b47bea563cc2402b7a6ffaa4d3

See more details on using hashes here.

File details

Details for the file fhir_cda-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: fhir_cda-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fhir_cda-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 229592ba031c21e083453db63a11c44061a5b4b37cccd59911849bdacdb639ab
MD5 3678bc735430addbb809f79b4f6ec3d6
BLAKE2b-256 b7ea1e84392c662f5c80a56d561614a4ad70baa4ef1212c95c3fb7699df75ec9

See more details on using hashes here.

Supported by

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