Skip to main content

Python API to Pathling

Project description

Python API for Pathling

This is the Python API for Pathling. It currently supports encoding of FHIR JSON bundles and NDJSON into Apache Spark dataframes.

Installation

Prerequisites:

  • Python 3.8+ with pip
  • PySpark 3.1+

To install, run this command:

pip install pathling  

Usage

The code below shows an example of using the Pathling API to encode Patient resources from FHIR JSON bundles:

from pyspark.sql import SparkSession
from pathling import PathlingContext
from pathling.etc import find_jar

spark = SparkSession.builder
.appName('pathling-test')
.master('local[*]')
.config('spark.jars', find_jar())
.getOrCreate()

ptl = PathlingContext.create(spark)

json_bundles = spark.read.text('examples/data/bundles/', wholetext=True)

patients_df = ptl.encode_bundle(json_bundles, 'Patient')
patients_df.show()

More usage examples can be found in the examples directory.

Development setup

Create an isolated python environment with Miniconda, e.g:

conda create -n pathling-dev python=3.8
conda activate pathling-dev

Prerequisites:

  • maven (Ubuntu 20.04: apt install maven)
  • java (Ubuntu 20.04: apt install default-jdk)
  • make (Ubuntu 20.04: apt install make)

To run the tests and install the package, run this command from the project root:

mvn install -pl lib/python -am

Pathling is copyright © 2018-2022, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230. Licensed under the CSIRO Open Source Software Licence Agreement.

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

pathling-5.3.2.tar.gz (29.4 MB view hashes)

Uploaded source

Built Distribution

pathling-5.3.2-py2.py3-none-any.whl (29.4 MB view hashes)

Uploaded py2 py3

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