OpenREM 1.0.0b2__py3-none-any.whl → 1.0.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openrem/locale/de/LC_MESSAGES/django.po +1060 -1059
- openrem/locale/django.pot +973 -972
- openrem/locale/es_MX/LC_MESSAGES/django.po +1049 -1048
- openrem/locale/it/LC_MESSAGES/django.po +1044 -1043
- openrem/locale/lt/LC_MESSAGES/django.po +989 -988
- openrem/locale/nb_NO/LC_MESSAGES/django.po +985 -984
- openrem/locale/pt_BR/LC_MESSAGES/django.po +1003 -1002
- openrem/manage.py +10 -10
- openrem/openremproject/__init__.py +1 -1
- openrem/openremproject/local_settings.py.linux +128 -128
- openrem/openremproject/local_settings.py.windows +144 -144
- openrem/openremproject/local_settings.py.windows-sqlite3 +129 -129
- openrem/openremproject/settings.py +278 -278
- openrem/openremproject/urls.py +32 -32
- openrem/openremproject/wsgi.py.example +28 -28
- openrem/remapp/__init__.py +2 -2
- openrem/remapp/admin.py +31 -31
- openrem/remapp/exports/ct_export.py +780 -753
- openrem/remapp/exports/dx_export.py +817 -805
- openrem/remapp/exports/export_common.py +931 -951
- openrem/remapp/exports/export_common_pandas.py +2422 -0
- openrem/remapp/exports/exportviews.py +815 -860
- openrem/remapp/exports/mg_csv_nhsbsp.py +292 -292
- openrem/remapp/exports/mg_export.py +673 -510
- openrem/remapp/exports/nm_export.py +796 -575
- openrem/remapp/exports/rf_export.py +1418 -1431
- openrem/remapp/extractors/ct_philips.py +424 -414
- openrem/remapp/extractors/ct_toshiba.py +2116 -2108
- openrem/remapp/extractors/dx.py +1033 -952
- openrem/remapp/extractors/extract_common.py +817 -817
- openrem/remapp/extractors/import_views.py +426 -426
- openrem/remapp/extractors/mam.py +685 -672
- openrem/remapp/extractors/nm_image.py +439 -431
- openrem/remapp/extractors/ptsizecsv2db.py +368 -368
- openrem/remapp/extractors/rdsr.py +667 -654
- openrem/remapp/extractors/rdsr_methods.py +1771 -1768
- openrem/remapp/extractors/rrdsr_methods.py +630 -622
- openrem/remapp/fixtures/openskin_safelist.json +11 -11
- openrem/remapp/forms.py +2286 -2277
- openrem/remapp/interface/chart_functions.py +2412 -2393
- openrem/remapp/interface/mod_filters.py +1241 -1243
- openrem/remapp/migrations/0001_initial.py.1-0-upgrade +1043 -1043
- openrem/remapp/models.py +3418 -3407
- openrem/remapp/netdicom/dicomviews.py +681 -683
- openrem/remapp/netdicom/qrscu.py +2646 -2646
- openrem/remapp/netdicom/tools.py +134 -134
- openrem/remapp/static/css/bootstrap-theme.css +587 -587
- openrem/remapp/static/css/bootstrap-theme.min.css +4 -4
- openrem/remapp/static/css/bootstrap.css +6800 -6800
- openrem/remapp/static/css/bootstrap.min.css +4 -4
- openrem/remapp/static/css/datepicker3.css +790 -790
- openrem/remapp/static/css/jquery.qtip.min.css +2 -2
- openrem/remapp/static/css/openrem-extra.css +442 -442
- openrem/remapp/static/css/openrem.css +96 -96
- openrem/remapp/static/css/registration.css +34 -34
- openrem/remapp/static/fonts/glyphicons-halflings-regular.svg +287 -287
- openrem/remapp/static/js/bootstrap-datepicker.js +1671 -1671
- openrem/remapp/static/js/bootstrap.js +2363 -2363
- openrem/remapp/static/js/bootstrap.min.js +6 -6
- openrem/remapp/static/js/charts/chartCommonFunctions.js +75 -75
- openrem/remapp/static/js/charts/chartFullScreen.js +41 -41
- openrem/remapp/static/js/charts/ctChartAjax.js +331 -331
- openrem/remapp/static/js/charts/dxChartAjax.js +290 -290
- openrem/remapp/static/js/charts/mgChartAjax.js +144 -144
- openrem/remapp/static/js/charts/nmChartAjax.js +64 -64
- openrem/remapp/static/js/charts/plotly-2.35.2.min.js +8 -0
- openrem/remapp/static/js/charts/rfChartAjax.js +128 -128
- openrem/remapp/static/js/chroma.min.js +32 -32
- openrem/remapp/static/js/datepicker.js +5 -5
- openrem/remapp/static/js/dicom.js +115 -115
- openrem/remapp/static/js/django_reverse/reverse.js +13 -13
- openrem/remapp/static/js/formatDate.js +7 -7
- openrem/remapp/static/js/html5shiv.min.js +8 -8
- openrem/remapp/static/js/jquery-1.11.0.min.js +4 -4
- openrem/remapp/static/js/npm.js +12 -12
- openrem/remapp/static/js/respond.min.js +4 -4
- openrem/remapp/static/js/skin-dose-maps/jquery.qtip.min.js +4 -4
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dHUDObject.js +112 -112
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dObject.js +367 -367
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dPersonObject.js +158 -158
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapColourScaleObject.js +153 -153
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapObject.js +367 -367
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapping.js +584 -584
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapping3d.js +255 -255
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMappingAjax.js +267 -212
- openrem/remapp/static/js/skin-dose-maps/three.min.js +835 -835
- openrem/remapp/static/js/sorttable.js +495 -495
- openrem/remapp/templates/base.html +253 -253
- openrem/remapp/templates/registration/changepassword.html +25 -25
- openrem/remapp/templates/registration/changepassworddone.html +12 -12
- openrem/remapp/templates/registration/login.html +42 -42
- openrem/remapp/templates/remapp/backgroundtaskmaximumrows_form.html +29 -29
- openrem/remapp/templates/remapp/base.html +1 -1
- openrem/remapp/templates/remapp/ctdetail.html +235 -235
- openrem/remapp/templates/remapp/ctfiltered.html +310 -310
- openrem/remapp/templates/remapp/dicomdeletesettings_form.html +31 -31
- openrem/remapp/templates/remapp/dicomqr.html +147 -147
- openrem/remapp/templates/remapp/dicomquerydetails.html +83 -83
- openrem/remapp/templates/remapp/dicomqueryimages.html +49 -49
- openrem/remapp/templates/remapp/dicomqueryseries.html +109 -109
- openrem/remapp/templates/remapp/dicomquerysummary.html +48 -48
- openrem/remapp/templates/remapp/dicomremoteqr_confirm_delete.html +60 -60
- openrem/remapp/templates/remapp/dicomremoteqr_form.html +32 -32
- openrem/remapp/templates/remapp/dicomstorescp_confirm_delete.html +53 -53
- openrem/remapp/templates/remapp/dicomstorescp_form.html +48 -48
- openrem/remapp/templates/remapp/dicomsummary.html +257 -257
- openrem/remapp/templates/remapp/displaychartoptions.html +184 -184
- openrem/remapp/templates/remapp/displayhomepageoptions.html +57 -57
- openrem/remapp/templates/remapp/displayname-count.html +6 -6
- openrem/remapp/templates/remapp/displayname-last-date.html +3 -3
- openrem/remapp/templates/remapp/displayname-modality.html +86 -105
- openrem/remapp/templates/remapp/displayname-skinmap.html +18 -18
- openrem/remapp/templates/remapp/displaynameupdate.html +100 -100
- openrem/remapp/templates/remapp/displaynameview.html +222 -219
- openrem/remapp/templates/remapp/dxdetail.html +176 -176
- openrem/remapp/templates/remapp/dxfiltered.html +324 -324
- openrem/remapp/templates/remapp/exports-active.html +25 -25
- openrem/remapp/templates/remapp/exports-complete.html +35 -35
- openrem/remapp/templates/remapp/exports-error.html +26 -26
- openrem/remapp/templates/remapp/exports-queue.html +18 -18
- openrem/remapp/templates/remapp/exports.html +191 -191
- openrem/remapp/templates/remapp/failed_summary_list.html +27 -27
- openrem/remapp/templates/remapp/filteredbase.html +162 -162
- openrem/remapp/templates/remapp/highdosemetricalertsettings_form.html +76 -76
- openrem/remapp/templates/remapp/home-list-modalities.html +94 -94
- openrem/remapp/templates/remapp/home.html +202 -202
- openrem/remapp/templates/remapp/list_filters.html +24 -24
- openrem/remapp/templates/remapp/mgdetail.html +160 -138
- openrem/remapp/templates/remapp/mgfiltered.html +311 -311
- openrem/remapp/templates/remapp/nmdetail.html +300 -300
- openrem/remapp/templates/remapp/nmfiltered.html +255 -255
- openrem/remapp/templates/remapp/notpatient.html +190 -190
- openrem/remapp/templates/remapp/notpatientindicators_form_base.html +81 -81
- openrem/remapp/templates/remapp/notpatientindicatorsid_confirm_delete.html +54 -54
- openrem/remapp/templates/remapp/notpatientindicatorsid_form.html +23 -23
- openrem/remapp/templates/remapp/notpatientindicatorsname_confirm_delete.html +54 -54
- openrem/remapp/templates/remapp/notpatientindicatorsname_form.html +23 -23
- openrem/remapp/templates/remapp/notpatientindicatorsname_form_base.html +85 -85
- openrem/remapp/templates/remapp/openskinsafelist_add.html +130 -130
- openrem/remapp/templates/remapp/openskinsafelist_confirm_delete.html +100 -100
- openrem/remapp/templates/remapp/openskinsafelist_form.html +207 -207
- openrem/remapp/templates/remapp/patientidsettings_form.html +83 -83
- openrem/remapp/templates/remapp/populate_summary_progress.html +83 -83
- openrem/remapp/templates/remapp/populate_summary_progress_error.html +36 -36
- openrem/remapp/templates/remapp/review_failed_imports.html +157 -157
- openrem/remapp/templates/remapp/review_failed_study.html +41 -41
- openrem/remapp/templates/remapp/review_studies_delete_button.html +20 -20
- openrem/remapp/templates/remapp/review_study.html +19 -19
- openrem/remapp/templates/remapp/review_summary_list.html +245 -245
- openrem/remapp/templates/remapp/rf_dose_alert_email_template.html +14 -1
- openrem/remapp/templates/remapp/rfalertnotificationsview.html +59 -59
- openrem/remapp/templates/remapp/rfdetail.html +547 -543
- openrem/remapp/templates/remapp/rfdetailbase.html +18 -18
- openrem/remapp/templates/remapp/rffiltered.html +404 -404
- openrem/remapp/templates/remapp/sizeimports.html +119 -119
- openrem/remapp/templates/remapp/sizeprocess.html +96 -96
- openrem/remapp/templates/remapp/sizeupload.html +110 -110
- openrem/remapp/templates/remapp/skindosemapcalcsettings_form.html +28 -28
- openrem/remapp/templates/remapp/standardname-modality.html +69 -69
- openrem/remapp/templates/remapp/standardnames_confirm_delete.html +71 -71
- openrem/remapp/templates/remapp/standardnames_form.html +87 -87
- openrem/remapp/templates/remapp/standardnamesettings_form.html +41 -41
- openrem/remapp/templates/remapp/standardnamesrefreshall.html +92 -92
- openrem/remapp/templates/remapp/standardnameview.html +103 -103
- openrem/remapp/templates/remapp/study_confirm_delete.html +147 -147
- openrem/remapp/templates/remapp/task_admin.html +265 -265
- openrem/remapp/templates/remapp/tasks.html +76 -76
- openrem/remapp/templatetags/formfilters.py +13 -13
- openrem/remapp/templatetags/proper_paginate.py +38 -38
- openrem/remapp/templatetags/remappduration.py +36 -36
- openrem/remapp/templatetags/sigdig.py +38 -38
- openrem/remapp/templatetags/sort_class_property_value.py +15 -15
- openrem/remapp/templatetags/update_variable.py +20 -20
- openrem/remapp/templatetags/url_replace.py +25 -25
- openrem/remapp/tests/test_charts_common.py +202 -202
- openrem/remapp/tests/test_charts_ct.py +7111 -7111
- openrem/remapp/tests/test_charts_dx.py +3513 -3513
- openrem/remapp/tests/test_charts_mg.py +1116 -1115
- openrem/remapp/tests/test_dcmdatetime.py +189 -189
- openrem/remapp/tests/test_dicom_qr.py +2580 -2580
- openrem/remapp/tests/test_display_name.py +274 -274
- openrem/remapp/tests/test_export_ct_xlsx.py +272 -248
- openrem/remapp/tests/test_export_dx_xlsx.py +137 -134
- openrem/remapp/tests/test_export_mammo_csv.py +242 -242
- openrem/remapp/tests/test_export_rf_xlsx.py +246 -246
- openrem/remapp/tests/test_files/DX-Im-DRGEM.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-GEPristina-2D.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-GEPristina-DBT.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-Giotto-DBT.dcm +0 -0
- openrem/remapp/tests/test_files/skin_map_alphenix.py +590 -590
- openrem/remapp/tests/test_files/skin_map_zee.py +354 -354
- openrem/remapp/tests/test_filters_ct.py +321 -321
- openrem/remapp/tests/test_filters_dx.py +92 -92
- openrem/remapp/tests/test_filters_mammo.py +183 -183
- openrem/remapp/tests/test_filters_rf.py +118 -118
- openrem/remapp/tests/test_get_values.py +72 -72
- openrem/remapp/tests/test_hash_id.py +65 -65
- openrem/remapp/tests/test_import_ct_esr_ge.py +3034 -3034
- openrem/remapp/tests/test_import_ct_philips_rdsr.py +42 -42
- openrem/remapp/tests/test_import_ct_rdsr_multiple.py +256 -256
- openrem/remapp/tests/test_import_ct_rdsr_siemens.py +827 -827
- openrem/remapp/tests/test_import_ct_rdsr_spectrumdynamics.py +91 -91
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_dosecheck.py +67 -67
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_multivaluesd.py +33 -33
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_pixelmed.py +118 -118
- openrem/remapp/tests/test_import_ct_sc_philips.py +44 -44
- openrem/remapp/tests/test_import_dual_rdsr.py +110 -110
- openrem/remapp/tests/test_import_dx.py +1267 -1191
- openrem/remapp/tests/test_import_dx_rdsr.py +1250 -1253
- openrem/remapp/tests/test_import_mam.py +438 -438
- openrem/remapp/tests/test_import_mg_im_hol_proj.py +46 -46
- openrem/remapp/tests/test_import_mg_rdsr.py +586 -586
- openrem/remapp/tests/test_import_nm_image.py +420 -420
- openrem/remapp/tests/test_import_nm_siemens_rdsr.py +396 -396
- openrem/remapp/tests/test_import_px.py +161 -161
- openrem/remapp/tests/test_import_rf_rdsr.py +420 -418
- openrem/remapp/tests/test_missing_date.py +42 -42
- openrem/remapp/tests/test_not_patient.py +60 -60
- openrem/remapp/tests/test_openskin.py +272 -272
- openrem/remapp/tests/test_patient_id_settings.py +72 -72
- openrem/remapp/tests/test_pt_size_import.py +232 -232
- openrem/remapp/tests/test_rf_detail.py +113 -113
- openrem/remapp/tests/test_rf_high_dose_alert.py +361 -361
- openrem/remapp/tools/background.py +361 -361
- openrem/remapp/tools/check_standard_name_status.py +47 -0
- openrem/remapp/tools/check_uid.py +70 -70
- openrem/remapp/tools/dcmdatetime.py +248 -248
- openrem/remapp/tools/default_import.py +44 -47
- openrem/remapp/tools/get_values.py +230 -230
- openrem/remapp/tools/hash_id.py +58 -58
- openrem/remapp/tools/make_skin_map.py +448 -406
- openrem/remapp/tools/not_patient_indicators.py +72 -72
- openrem/remapp/tools/openskin/calc_exp_map.py +173 -173
- openrem/remapp/tools/openskin/geomclass.py +475 -475
- openrem/remapp/tools/openskin/geomfunc.py +433 -432
- openrem/remapp/tools/openskin/skinmap.py +417 -417
- openrem/remapp/tools/populate_summary.py +185 -193
- openrem/remapp/tools/save_skin_map_structure.py +73 -73
- openrem/remapp/tools/send_high_dose_alert_emails.py +238 -207
- openrem/remapp/urls.py +456 -448
- openrem/remapp/version.py +11 -11
- openrem/remapp/views.py +1147 -1052
- openrem/remapp/views_admin.py +3876 -3936
- openrem/remapp/views_charts_ct.py +2110 -2058
- openrem/remapp/views_charts_dx.py +1906 -1836
- openrem/remapp/views_charts_mg.py +1349 -1196
- openrem/remapp/views_charts_nm.py +535 -535
- openrem/remapp/views_charts_rf.py +1219 -1241
- openrem/remapp/views_openskin.py +379 -384
- openrem/sample-config/openrem-consumer.service +12 -12
- openrem/sample-config/openrem-gunicorn.service +13 -13
- openrem/sample-config/openrem-server +14 -13
- openrem/sample-config/openrem_orthanc_config_linux.lua +454 -454
- openrem/sample-config/openrem_orthanc_config_windows.lua +455 -455
- openrem/sample-config/queue-init.bat +73 -73
- openrem/scripts/openrem_ctphilips.py +25 -25
- openrem/scripts/openrem_cttoshiba.py +28 -28
- openrem/scripts/openrem_dx.py +22 -22
- openrem/scripts/openrem_mg.py +22 -22
- openrem/scripts/openrem_nm.py +22 -22
- openrem/scripts/openrem_ptsizecsv.py +17 -17
- openrem/scripts/openrem_qr.py +12 -12
- openrem/scripts/openrem_rdsr.py +25 -25
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/METADATA +39 -29
- openrem-1.0.0b3.dist-info/RECORD +379 -0
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/WHEEL +1 -1
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info/licenses}/COPYING-GPLv3 +674 -674
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info/licenses}/LICENSE +22 -22
- OpenREM-1.0.0b2.dist-info/RECORD +0 -373
- openrem/remapp/static/js/charts/plotly-2.17.1.min.js +0 -8
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_ctphilips.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_cttoshiba.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_dx.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_mg.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_nm.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_ptsizecsv.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_qr.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_rdsr.py +0 -0
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/top_level.txt +0 -0
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{% extends "remapp/base.html" %}
|
|
2
|
-
|
|
3
|
-
{% block navhelp %}
|
|
4
|
-
<li>
|
|
5
|
-
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/i_deletesettings.html" target="_blank" data-toggle="tooltip" title="DICOM delete settings documentation - opens in a new tab">
|
|
6
|
-
DICOM delete settings documentation
|
|
7
|
-
</a>
|
|
8
|
-
</li>
|
|
9
|
-
{% endblock %}
|
|
10
|
-
|
|
11
|
-
{% block confnav %}<li class="dropdown active">{% endblock %}
|
|
12
|
-
|
|
13
|
-
{% block mainblock %}
|
|
14
|
-
|
|
15
|
-
<div class="row">
|
|
16
|
-
<div class="col-md-6 col-md-offset-3">
|
|
17
|
-
{% if admin.admingroup %}
|
|
18
|
-
<h2>Modify DICOM object deletion policy</h2>
|
|
19
|
-
{% load crispy_forms_tags %}
|
|
20
|
-
{% crispy form %}
|
|
21
|
-
{% else %}
|
|
22
|
-
<p>Only users in the Admin group can modify these settings.</p>
|
|
23
|
-
{% endif %}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
{% endblock %}
|
|
1
|
+
{% extends "remapp/base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block navhelp %}
|
|
4
|
+
<li>
|
|
5
|
+
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/i_deletesettings.html" target="_blank" data-toggle="tooltip" title="DICOM delete settings documentation - opens in a new tab">
|
|
6
|
+
DICOM delete settings documentation
|
|
7
|
+
</a>
|
|
8
|
+
</li>
|
|
9
|
+
{% endblock %}
|
|
10
|
+
|
|
11
|
+
{% block confnav %}<li class="dropdown active">{% endblock %}
|
|
12
|
+
|
|
13
|
+
{% block mainblock %}
|
|
14
|
+
|
|
15
|
+
<div class="row">
|
|
16
|
+
<div class="col-md-6 col-md-offset-3">
|
|
17
|
+
{% if admin.admingroup %}
|
|
18
|
+
<h2>Modify DICOM object deletion policy</h2>
|
|
19
|
+
{% load crispy_forms_tags %}
|
|
20
|
+
{% crispy form %}
|
|
21
|
+
{% else %}
|
|
22
|
+
<p>Only users in the Admin group can modify these settings.</p>
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
{% endblock %}
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
{% extends "remapp/base.html" %}
|
|
2
|
-
|
|
3
|
-
{% block headextras %}
|
|
4
|
-
<!-- Bootstrap-datepicker CSS -->
|
|
5
|
-
<!-- Bootstrap-datepicker JavaScript
|
|
6
|
-
================================================== -->
|
|
7
|
-
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/datepicker3.css">
|
|
8
|
-
|
|
9
|
-
<script src="{{ STATIC_URL }}js/bootstrap-datepicker.js"></script>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<!-- Internet Explorer (up to version 8) doesn't support array indexOf. The script
|
|
14
|
-
below adds the functionality if it is missing. -->
|
|
15
|
-
<script>
|
|
16
|
-
if (!Array.prototype.indexOf) {
|
|
17
|
-
Array.prototype.indexOf = function (obj, start) {
|
|
18
|
-
for (var i = (start || 0), j = this.length; i < j; i++) {
|
|
19
|
-
if (this[i] === obj) {
|
|
20
|
-
return i;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return -1;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
{% block headscript %}
|
|
29
|
-
{% endblock %}
|
|
30
|
-
{% endblock %}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{% block navhelp %}
|
|
34
|
-
<li>
|
|
35
|
-
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/netdicom.html" target="_blank" data-toggle="tooltip" title="DICOM store & query-retrieve documentation - opens in a new tab">
|
|
36
|
-
DICOM store and query-retrieve documentation
|
|
37
|
-
</a>
|
|
38
|
-
</li>
|
|
39
|
-
<li>
|
|
40
|
-
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/install-prep.html#resources-for-creating-rdsr-for-older-toshiba-ct-scanners" target="_blank" data-toggle="tooltip" title="Generating RDSR from older Toshiba CT - opens in a new tab">
|
|
41
|
-
Generating RDSR from older Toshiba scanners
|
|
42
|
-
</a>
|
|
43
|
-
</li>
|
|
44
|
-
{% endblock %}
|
|
45
|
-
|
|
46
|
-
{% block importnav %}
|
|
47
|
-
<li class="dropdown active">{% endblock %}
|
|
48
|
-
|
|
49
|
-
{% block mainblock %}
|
|
50
|
-
|
|
51
|
-
<script src="{{ STATIC_URL }}js/dicom.js"></script>
|
|
52
|
-
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
53
|
-
|
|
54
|
-
<div class="row">
|
|
55
|
-
<div class="col-md-5 col-md-offset-1">
|
|
56
|
-
|
|
57
|
-
<h3>Current DICOM SCP statuses</h3>
|
|
58
|
-
Remote QR nodes
|
|
59
|
-
<dl class="dl-horizontal">
|
|
60
|
-
{% autoescape off %}
|
|
61
|
-
{% for qr_node in qr_nodes %}
|
|
62
|
-
<script>
|
|
63
|
-
$(document).ready(
|
|
64
|
-
function get_qr_status(json) {
|
|
65
|
-
$.ajax(
|
|
66
|
-
{
|
|
67
|
-
url: "{% url 'get_qr_status' %}",
|
|
68
|
-
data: {
|
|
69
|
-
node: '{{ qr_node.pk }}',
|
|
70
|
-
csrfmiddlewaretoken: '{{ csrf_token }}'
|
|
71
|
-
},
|
|
72
|
-
type: "POST",
|
|
73
|
-
success: function (data) {
|
|
74
|
-
$('#qrnode{{ qr_node.pk }}').html(data);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
</script>
|
|
81
|
-
<dt>{{ qr_node.name }}</dt>
|
|
82
|
-
<dd id="qrnode{{ qr_node.pk }}">Waiting for verification response</dd>
|
|
83
|
-
|
|
84
|
-
{% endfor %}
|
|
85
|
-
|
|
86
|
-
{% endautoescape %}
|
|
87
|
-
</dl>
|
|
88
|
-
Local Store nodes
|
|
89
|
-
<dl class="dl-horizontal">
|
|
90
|
-
{% autoescape off %}
|
|
91
|
-
{% for store_node in store_nodes %}
|
|
92
|
-
<script>
|
|
93
|
-
$(document).ready(
|
|
94
|
-
function get_store_status(json) {
|
|
95
|
-
$.ajax(
|
|
96
|
-
{
|
|
97
|
-
url: "{% url 'get_store_status' %}",
|
|
98
|
-
data: {
|
|
99
|
-
node: '{{ store_node.pk }}',
|
|
100
|
-
csrfmiddlewaretoken: '{{ csrf_token }}'
|
|
101
|
-
},
|
|
102
|
-
type: "POST",
|
|
103
|
-
success: function (data) {
|
|
104
|
-
$('#storenode{{ store_node.pk }}').html(data);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
)
|
|
108
|
-
}
|
|
109
|
-
)
|
|
110
|
-
</script>
|
|
111
|
-
<dt>{{ store_node.name }}</dt>
|
|
112
|
-
<dd id="storenode{{ store_node.pk }}">Waiting for verification response</dd>
|
|
113
|
-
|
|
114
|
-
{% endfor %}
|
|
115
|
-
|
|
116
|
-
{% endautoescape %}
|
|
117
|
-
</dl>
|
|
118
|
-
|
|
119
|
-
<h3>Query retrieve dialogue</h3>
|
|
120
|
-
|
|
121
|
-
{% load crispy_forms_tags %}
|
|
122
|
-
{% crispy form %}
|
|
123
|
-
</div>
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<div class="col-md-5 col-md-offset-1">
|
|
127
|
-
<div class="row">
|
|
128
|
-
<div id="qr-status"></div>
|
|
129
|
-
<div id="move-button"></div>
|
|
130
|
-
</div>
|
|
131
|
-
<div class="row">
|
|
132
|
-
<div id="move-status"></div>
|
|
133
|
-
</div>
|
|
134
|
-
<div class="row">
|
|
135
|
-
<div id="subops"></div>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
<div class="row">
|
|
140
|
-
<hr>
|
|
141
|
-
<div class="col-md-4 col-md-offset-4">
|
|
142
|
-
<a class="btn btn-default btn-block" href="{% url 'dicom_summary' %}" role="button">Modify DICOM nodes</a>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
<script src="{{ STATIC_URL }}js/datepicker.js"></script>
|
|
146
|
-
|
|
147
|
-
{% endblock %}
|
|
1
|
+
{% extends "remapp/base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block headextras %}
|
|
4
|
+
<!-- Bootstrap-datepicker CSS -->
|
|
5
|
+
<!-- Bootstrap-datepicker JavaScript
|
|
6
|
+
================================================== -->
|
|
7
|
+
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/datepicker3.css">
|
|
8
|
+
|
|
9
|
+
<script src="{{ STATIC_URL }}js/bootstrap-datepicker.js"></script>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<!-- Internet Explorer (up to version 8) doesn't support array indexOf. The script
|
|
14
|
+
below adds the functionality if it is missing. -->
|
|
15
|
+
<script>
|
|
16
|
+
if (!Array.prototype.indexOf) {
|
|
17
|
+
Array.prototype.indexOf = function (obj, start) {
|
|
18
|
+
for (var i = (start || 0), j = this.length; i < j; i++) {
|
|
19
|
+
if (this[i] === obj) {
|
|
20
|
+
return i;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return -1;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
{% block headscript %}
|
|
29
|
+
{% endblock %}
|
|
30
|
+
{% endblock %}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
{% block navhelp %}
|
|
34
|
+
<li>
|
|
35
|
+
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/netdicom.html" target="_blank" data-toggle="tooltip" title="DICOM store & query-retrieve documentation - opens in a new tab">
|
|
36
|
+
DICOM store and query-retrieve documentation
|
|
37
|
+
</a>
|
|
38
|
+
</li>
|
|
39
|
+
<li>
|
|
40
|
+
<a href="https://docs.openrem.org/en/{{ admin.docsversion }}/install-prep.html#resources-for-creating-rdsr-for-older-toshiba-ct-scanners" target="_blank" data-toggle="tooltip" title="Generating RDSR from older Toshiba CT - opens in a new tab">
|
|
41
|
+
Generating RDSR from older Toshiba scanners
|
|
42
|
+
</a>
|
|
43
|
+
</li>
|
|
44
|
+
{% endblock %}
|
|
45
|
+
|
|
46
|
+
{% block importnav %}
|
|
47
|
+
<li class="dropdown active">{% endblock %}
|
|
48
|
+
|
|
49
|
+
{% block mainblock %}
|
|
50
|
+
|
|
51
|
+
<script src="{{ STATIC_URL }}js/dicom.js"></script>
|
|
52
|
+
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
53
|
+
|
|
54
|
+
<div class="row">
|
|
55
|
+
<div class="col-md-5 col-md-offset-1">
|
|
56
|
+
|
|
57
|
+
<h3>Current DICOM SCP statuses</h3>
|
|
58
|
+
Remote QR nodes
|
|
59
|
+
<dl class="dl-horizontal">
|
|
60
|
+
{% autoescape off %}
|
|
61
|
+
{% for qr_node in qr_nodes %}
|
|
62
|
+
<script>
|
|
63
|
+
$(document).ready(
|
|
64
|
+
function get_qr_status(json) {
|
|
65
|
+
$.ajax(
|
|
66
|
+
{
|
|
67
|
+
url: "{% url 'get_qr_status' %}",
|
|
68
|
+
data: {
|
|
69
|
+
node: '{{ qr_node.pk }}',
|
|
70
|
+
csrfmiddlewaretoken: '{{ csrf_token }}'
|
|
71
|
+
},
|
|
72
|
+
type: "POST",
|
|
73
|
+
success: function (data) {
|
|
74
|
+
$('#qrnode{{ qr_node.pk }}').html(data);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
</script>
|
|
81
|
+
<dt>{{ qr_node.name }}</dt>
|
|
82
|
+
<dd id="qrnode{{ qr_node.pk }}">Waiting for verification response</dd>
|
|
83
|
+
|
|
84
|
+
{% endfor %}
|
|
85
|
+
|
|
86
|
+
{% endautoescape %}
|
|
87
|
+
</dl>
|
|
88
|
+
Local Store nodes
|
|
89
|
+
<dl class="dl-horizontal">
|
|
90
|
+
{% autoescape off %}
|
|
91
|
+
{% for store_node in store_nodes %}
|
|
92
|
+
<script>
|
|
93
|
+
$(document).ready(
|
|
94
|
+
function get_store_status(json) {
|
|
95
|
+
$.ajax(
|
|
96
|
+
{
|
|
97
|
+
url: "{% url 'get_store_status' %}",
|
|
98
|
+
data: {
|
|
99
|
+
node: '{{ store_node.pk }}',
|
|
100
|
+
csrfmiddlewaretoken: '{{ csrf_token }}'
|
|
101
|
+
},
|
|
102
|
+
type: "POST",
|
|
103
|
+
success: function (data) {
|
|
104
|
+
$('#storenode{{ store_node.pk }}').html(data);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
</script>
|
|
111
|
+
<dt>{{ store_node.name }}</dt>
|
|
112
|
+
<dd id="storenode{{ store_node.pk }}">Waiting for verification response</dd>
|
|
113
|
+
|
|
114
|
+
{% endfor %}
|
|
115
|
+
|
|
116
|
+
{% endautoescape %}
|
|
117
|
+
</dl>
|
|
118
|
+
|
|
119
|
+
<h3>Query retrieve dialogue</h3>
|
|
120
|
+
|
|
121
|
+
{% load crispy_forms_tags %}
|
|
122
|
+
{% crispy form %}
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
<div class="col-md-5 col-md-offset-1">
|
|
127
|
+
<div class="row">
|
|
128
|
+
<div id="qr-status"></div>
|
|
129
|
+
<div id="move-button"></div>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="row">
|
|
132
|
+
<div id="move-status"></div>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="row">
|
|
135
|
+
<div id="subops"></div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
<div class="row">
|
|
140
|
+
<hr>
|
|
141
|
+
<div class="col-md-4 col-md-offset-4">
|
|
142
|
+
<a class="btn btn-default btn-block" href="{% url 'dicom_summary' %}" role="button">Modify DICOM nodes</a>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<script src="{{ STATIC_URL }}js/datepicker.js"></script>
|
|
146
|
+
|
|
147
|
+
{% endblock %}
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
{% extends "remapp/base.html" %}
|
|
2
|
-
|
|
3
|
-
{% block headextras %}
|
|
4
|
-
<script src="{{ STATIC_URL }}js/sorttable.js"></script>
|
|
5
|
-
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
6
|
-
<script src="{{ STATIC_URL }}js/dicom.js"></script>
|
|
7
|
-
<script>
|
|
8
|
-
$(document).ready(function() {
|
|
9
|
-
json = {"queryID": "{{query.query_id}}"};
|
|
10
|
-
queryProgress(json);
|
|
11
|
-
});
|
|
12
|
-
</script>
|
|
13
|
-
{% endblock %}
|
|
14
|
-
|
|
15
|
-
{% block mainblock %}
|
|
16
|
-
|
|
17
|
-
<div class="row">
|
|
18
|
-
<div class="col-md-8">
|
|
19
|
-
<h4>
|
|
20
|
-
<p>
|
|
21
|
-
This table shows all the studies that the remote PACS/DICOM node sent and where
|
|
22
|
-
considered for downloading (moving). Click on any study to see the series that were found for this study.
|
|
23
|
-
</p><p>
|
|
24
|
-
Note that studies that are present on the remote
|
|
25
|
-
will not be shown here if their modality type was not selected for downloading. Similarly,
|
|
26
|
-
they will not be shown if they were filtered because their date does not match,
|
|
27
|
-
since those things are filtered already on the remote node. To see all studies sent by the
|
|
28
|
-
remote hence enable all modalities and set no date at all.
|
|
29
|
-
</p><p>
|
|
30
|
-
<a href="{% url 'get_query_summary' %}">
|
|
31
|
-
Back to the query overview.
|
|
32
|
-
</a>
|
|
33
|
-
</p>
|
|
34
|
-
</h4>
|
|
35
|
-
<table class="table table-bordered table-hover row-clickable table-sortable"
|
|
36
|
-
aria-describedby="Table of studies sent in response to DICOM query">
|
|
37
|
-
<tr>
|
|
38
|
-
<th>Study UID</th>
|
|
39
|
-
<th>Study description</th>
|
|
40
|
-
<th>Modality</th>
|
|
41
|
-
<th>Downloaded?</th>
|
|
42
|
-
</tr>
|
|
43
|
-
{% for qstudy in querystudies %}
|
|
44
|
-
<tr>
|
|
45
|
-
<td>
|
|
46
|
-
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
47
|
-
{{qstudy.study_instance_uid}}
|
|
48
|
-
</a>
|
|
49
|
-
</td>
|
|
50
|
-
<td>
|
|
51
|
-
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
52
|
-
{{qstudy.study_description}}
|
|
53
|
-
</a>
|
|
54
|
-
</td>
|
|
55
|
-
<td>
|
|
56
|
-
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
57
|
-
{{qstudy.modality}}
|
|
58
|
-
</a>
|
|
59
|
-
</td>
|
|
60
|
-
<td>
|
|
61
|
-
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
62
|
-
{{qstudy.deleted_reason}}
|
|
63
|
-
</a>
|
|
64
|
-
</td>
|
|
65
|
-
</tr>
|
|
66
|
-
{% endfor %}
|
|
67
|
-
</table>
|
|
68
|
-
</div>
|
|
69
|
-
|
|
70
|
-
<div class="col-md-3 ">
|
|
71
|
-
<div class="row">
|
|
72
|
-
<div id="qr-status"></div>
|
|
73
|
-
<div id="move-button"></div>
|
|
74
|
-
</div>
|
|
75
|
-
<div class="row">
|
|
76
|
-
<div id="move-status"></div>
|
|
77
|
-
</div>
|
|
78
|
-
<div class="row">
|
|
79
|
-
<div id="subops"></div>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
|
|
1
|
+
{% extends "remapp/base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block headextras %}
|
|
4
|
+
<script src="{{ STATIC_URL }}js/sorttable.js"></script>
|
|
5
|
+
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
6
|
+
<script src="{{ STATIC_URL }}js/dicom.js"></script>
|
|
7
|
+
<script>
|
|
8
|
+
$(document).ready(function() {
|
|
9
|
+
json = {"queryID": "{{query.query_id}}"};
|
|
10
|
+
queryProgress(json);
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
{% endblock %}
|
|
14
|
+
|
|
15
|
+
{% block mainblock %}
|
|
16
|
+
|
|
17
|
+
<div class="row">
|
|
18
|
+
<div class="col-md-8">
|
|
19
|
+
<h4>
|
|
20
|
+
<p>
|
|
21
|
+
This table shows all the studies that the remote PACS/DICOM node sent and where
|
|
22
|
+
considered for downloading (moving). Click on any study to see the series that were found for this study.
|
|
23
|
+
</p><p>
|
|
24
|
+
Note that studies that are present on the remote
|
|
25
|
+
will not be shown here if their modality type was not selected for downloading. Similarly,
|
|
26
|
+
they will not be shown if they were filtered because their date does not match,
|
|
27
|
+
since those things are filtered already on the remote node. To see all studies sent by the
|
|
28
|
+
remote hence enable all modalities and set no date at all.
|
|
29
|
+
</p><p>
|
|
30
|
+
<a href="{% url 'get_query_summary' %}">
|
|
31
|
+
Back to the query overview.
|
|
32
|
+
</a>
|
|
33
|
+
</p>
|
|
34
|
+
</h4>
|
|
35
|
+
<table class="table table-bordered table-hover row-clickable table-sortable"
|
|
36
|
+
aria-describedby="Table of studies sent in response to DICOM query">
|
|
37
|
+
<tr>
|
|
38
|
+
<th>Study UID</th>
|
|
39
|
+
<th>Study description</th>
|
|
40
|
+
<th>Modality</th>
|
|
41
|
+
<th>Downloaded?</th>
|
|
42
|
+
</tr>
|
|
43
|
+
{% for qstudy in querystudies %}
|
|
44
|
+
<tr>
|
|
45
|
+
<td>
|
|
46
|
+
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
47
|
+
{{qstudy.study_instance_uid}}
|
|
48
|
+
</a>
|
|
49
|
+
</td>
|
|
50
|
+
<td>
|
|
51
|
+
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
52
|
+
{{qstudy.study_description}}
|
|
53
|
+
</a>
|
|
54
|
+
</td>
|
|
55
|
+
<td>
|
|
56
|
+
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
57
|
+
{{qstudy.modality}}
|
|
58
|
+
</a>
|
|
59
|
+
</td>
|
|
60
|
+
<td>
|
|
61
|
+
<a href="{% url 'get_query_series' qstudy.pk %}">
|
|
62
|
+
{{qstudy.deleted_reason}}
|
|
63
|
+
</a>
|
|
64
|
+
</td>
|
|
65
|
+
</tr>
|
|
66
|
+
{% endfor %}
|
|
67
|
+
</table>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<div class="col-md-3 ">
|
|
71
|
+
<div class="row">
|
|
72
|
+
<div id="qr-status"></div>
|
|
73
|
+
<div id="move-button"></div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="row">
|
|
76
|
+
<div id="move-status"></div>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="row">
|
|
79
|
+
<div id="subops"></div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
84
|
{% endblock %}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{% extends "remapp/base.html" %}
|
|
2
|
-
|
|
3
|
-
{% block headextras %}
|
|
4
|
-
<script src="{{ STATIC_URL }}js/sorttable.js"></script>
|
|
5
|
-
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
6
|
-
{% endblock %}
|
|
7
|
-
|
|
8
|
-
{% block mainblock %}
|
|
9
|
-
|
|
10
|
-
<div class="row">
|
|
11
|
-
<div class="col-md-8">
|
|
12
|
-
<h4>
|
|
13
|
-
<p>
|
|
14
|
-
This table shows all the files that the remote PACS/DICOM node sent and where
|
|
15
|
-
considered for downloading (moving). For a list of SOP classes see the
|
|
16
|
-
<a
|
|
17
|
-
href="https://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html"
|
|
18
|
-
target="_blank" rel="noopener">
|
|
19
|
-
DICOM Standard
|
|
20
|
-
</a>.
|
|
21
|
-
</p>
|
|
22
|
-
<p>
|
|
23
|
-
In most cases this will not show all the images on the remote. The reason is that if OpenREM decides
|
|
24
|
-
to download a whole series it will not go checking which images are stored. Similarly if a series
|
|
25
|
-
particularily fit for downloading is discovered, all others may be ignored without ever looking at
|
|
26
|
-
their files.
|
|
27
|
-
</p>
|
|
28
|
-
<p>
|
|
29
|
-
You are viewing files that are part of
|
|
30
|
-
<a href="{% url 'get_query_series' queryseries.dicom_qr_rsp_study.pk %}">series {{queryseries.series_instance_uid}}</a>, which is a part of the
|
|
31
|
-
study <a href=" {% url 'get_query_details' queryseries.dicom_qr_rsp_study.dicom_query.pk %}">study {{queryseries.dicom_qr_rsp_study.study_instance_uid}}</a>.
|
|
32
|
-
</p>
|
|
33
|
-
</h4>
|
|
34
|
-
<table class="table table-bordered table-hover table-sortable" aria-describedby="Table of images in query response.">
|
|
35
|
-
<tr>
|
|
36
|
-
<th>SOP class</th>
|
|
37
|
-
<th>Downloaded?</th>
|
|
38
|
-
</tr>
|
|
39
|
-
{% for image in queryimages %}
|
|
40
|
-
<tr>
|
|
41
|
-
<td>{{image.sop_class_uid}}</td>
|
|
42
|
-
<td>{{image.deleted_reason}}</td>
|
|
43
|
-
</tr>
|
|
44
|
-
{% endfor %}
|
|
45
|
-
</table>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
{% extends "remapp/base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block headextras %}
|
|
4
|
+
<script src="{{ STATIC_URL }}js/sorttable.js"></script>
|
|
5
|
+
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
6
|
+
{% endblock %}
|
|
7
|
+
|
|
8
|
+
{% block mainblock %}
|
|
9
|
+
|
|
10
|
+
<div class="row">
|
|
11
|
+
<div class="col-md-8">
|
|
12
|
+
<h4>
|
|
13
|
+
<p>
|
|
14
|
+
This table shows all the files that the remote PACS/DICOM node sent and where
|
|
15
|
+
considered for downloading (moving). For a list of SOP classes see the
|
|
16
|
+
<a
|
|
17
|
+
href="https://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html"
|
|
18
|
+
target="_blank" rel="noopener">
|
|
19
|
+
DICOM Standard
|
|
20
|
+
</a>.
|
|
21
|
+
</p>
|
|
22
|
+
<p>
|
|
23
|
+
In most cases this will not show all the images on the remote. The reason is that if OpenREM decides
|
|
24
|
+
to download a whole series it will not go checking which images are stored. Similarly if a series
|
|
25
|
+
particularily fit for downloading is discovered, all others may be ignored without ever looking at
|
|
26
|
+
their files.
|
|
27
|
+
</p>
|
|
28
|
+
<p>
|
|
29
|
+
You are viewing files that are part of
|
|
30
|
+
<a href="{% url 'get_query_series' queryseries.dicom_qr_rsp_study.pk %}">series {{queryseries.series_instance_uid}}</a>, which is a part of the
|
|
31
|
+
study <a href=" {% url 'get_query_details' queryseries.dicom_qr_rsp_study.dicom_query.pk %}">study {{queryseries.dicom_qr_rsp_study.study_instance_uid}}</a>.
|
|
32
|
+
</p>
|
|
33
|
+
</h4>
|
|
34
|
+
<table class="table table-bordered table-hover table-sortable" aria-describedby="Table of images in query response.">
|
|
35
|
+
<tr>
|
|
36
|
+
<th>SOP class</th>
|
|
37
|
+
<th>Downloaded?</th>
|
|
38
|
+
</tr>
|
|
39
|
+
{% for image in queryimages %}
|
|
40
|
+
<tr>
|
|
41
|
+
<td>{{image.sop_class_uid}}</td>
|
|
42
|
+
<td>{{image.deleted_reason}}</td>
|
|
43
|
+
</tr>
|
|
44
|
+
{% endfor %}
|
|
45
|
+
</table>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
|
|
50
50
|
{% endblock %}
|