From d977dfd41693c058a16f42604d78af64c4c3f5af Mon Sep 17 00:00:00 2001 From: Jeroen Pinxten Date: Wed, 19 Jun 2024 15:20:00 +0000 Subject: [PATCH] Pull request #9: Data validation BAC-9366: Docs data validation Squashed commit of the following: commit 1214b4c19cdefb9ff225c876a4892ff706cea59e Author: Jeroen Pinxten Date: Wed Jun 19 17:18:46 2024 +0200 BAC-9366: data validation docs commit c54ac15fb08952bcc8ea949a5f120bea22173308 Author: Jeroen Pinxten Date: Wed Jun 19 16:59:48 2024 +0200 BAC-9366: data validation examples --- docs/developer_guide/data_validation.rst | 37 ++++++++++++++++++++++++ docs/developer_guide/index.rst | 1 + docs/developer_guide/paginators.rst | 4 +-- docs/models/index.rst | 2 ++ docs/models/series.rst | 6 ++++ docs/models/study.rst | 6 ++++ docs/resources/index.rst | 2 ++ docs/resources/series.rst | 8 +++++ docs/resources/studies.rst | 8 +++++ 9 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 docs/developer_guide/data_validation.rst create mode 100644 docs/models/series.rst create mode 100644 docs/models/study.rst create mode 100644 docs/resources/series.rst create mode 100644 docs/resources/studies.rst diff --git a/docs/developer_guide/data_validation.rst b/docs/developer_guide/data_validation.rst new file mode 100644 index 0000000..a31444d --- /dev/null +++ b/docs/developer_guide/data_validation.rst @@ -0,0 +1,37 @@ +Data validation +=============== + +Validating imported data +------------------------ + +.. code-block:: python + + from icometrix_sdk import IcometrixApi + + PROJECT_ID = "" + + # A directory containing your DICOM files + DICOM_DIR_PATH = "..." + + # Initialize the icometrix API + ico_api = IcometrixApi() + + # Get the project, to make sure its there (will throw a 404 in case the project is not found) + project = ico_api.projects.get_one_by_id(PROJECT_ID) + + # Upload a directory of DICOMs + data = StartUploadDto(icobrain_report_type="icobrain_ms") + upload = ico_api.uploads.upload_dicom_dir(PROJECT_ID, DICOM_DIR_PATH, data) + + # Wait for data to be imported + upload = ico_api.uploads.wait_for_data_import(upload.folder_uri) + + # Get imported studies + studies_in_upload = ico_api.uploads.get_studies_for_upload(upload_folder_uri=upload.folder_uri) + + for uploaded_study in studies_in_upload: + study = ico_api.studies.get_one(uploaded_study.project_id, uploaded_study.patient_id, uploaded_study.study_id) + + # Add some validation logic for each study e.g. find series + series = ico_api.series.get_all_for_study(study.uri) + # ... diff --git a/docs/developer_guide/index.rst b/docs/developer_guide/index.rst index c3b95ca..2735cb7 100644 --- a/docs/developer_guide/index.rst +++ b/docs/developer_guide/index.rst @@ -7,3 +7,4 @@ Developer Guide session models anonymization + data_validation diff --git a/docs/developer_guide/paginators.rst b/docs/developer_guide/paginators.rst index ed8418f..9b0887d 100644 --- a/docs/developer_guide/paginators.rst +++ b/docs/developer_guide/paginators.rst @@ -19,9 +19,9 @@ Sometimes it is needed to loop over all items in a collection, the SDK has a hel from icometrix_sdk import IcometrixApi from icometrix_sdk.utils.paginator import get_paginator - PROJECT_ID = "" + PROJECT_ID = "" - os.environ["API_HOST"] = "https://icobrain-test.icometrix.com" + os.environ["API_HOST"] = "..." # Initialize the icometrix API ico_api = IcometrixApi() diff --git a/docs/models/index.rst b/docs/models/index.rst index 135e47f..4da4741 100644 --- a/docs/models/index.rst +++ b/docs/models/index.rst @@ -6,6 +6,8 @@ Models user project patient + study + series upload customer_result customer_report diff --git a/docs/models/series.rst b/docs/models/series.rst new file mode 100644 index 0000000..98d3951 --- /dev/null +++ b/docs/models/series.rst @@ -0,0 +1,6 @@ +Series +====== + +.. automodule:: icometrix_sdk.models.series_entity + :members: + :undoc-members: diff --git a/docs/models/study.rst b/docs/models/study.rst new file mode 100644 index 0000000..60267b9 --- /dev/null +++ b/docs/models/study.rst @@ -0,0 +1,6 @@ +Study +===== + +.. automodule:: icometrix_sdk.models.study_entity + :members: + :undoc-members: diff --git a/docs/resources/index.rst b/docs/resources/index.rst index 859a6ae..31f40e8 100644 --- a/docs/resources/index.rst +++ b/docs/resources/index.rst @@ -6,6 +6,8 @@ Resources profile projects patients + studies + series uploads customer_results customer_reports \ No newline at end of file diff --git a/docs/resources/series.rst b/docs/resources/series.rst new file mode 100644 index 0000000..17d6817 --- /dev/null +++ b/docs/resources/series.rst @@ -0,0 +1,8 @@ +Series +====== + +.. automodule:: icometrix_sdk.resources.series + +.. autoclass:: icometrix_sdk.resources.series.Series + :members: + :show-inheritance: diff --git a/docs/resources/studies.rst b/docs/resources/studies.rst new file mode 100644 index 0000000..e54fd7f --- /dev/null +++ b/docs/resources/studies.rst @@ -0,0 +1,8 @@ +Studies +======= + +.. automodule:: icometrix_sdk.resources.studies + +.. autoclass:: icometrix_sdk.resources.studies.Studies + :members: + :show-inheritance: