Skip to content

Commit 663fc2a

Browse files
committed
Minor change and add dcmtk
1 parent a4461bb commit 663fc2a

6 files changed

Lines changed: 328 additions & 38 deletions

File tree

docker/php.Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ RUN apk add libpng-dev
88

99
RUN apk add --no-cache mysql-client msmtp perl wget procps shadow libzip libpng libjpeg-turbo libwebp freetype icu
1010

11+
# Install dcmtk from edge testing repository for mini_pacs support
12+
RUN apk add --no-cache dcmtk --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/
13+
14+
1115
RUN apk add --no-cache --virtual build-essentials \
1216
icu-dev icu-libs zlib-dev g++ make automake autoconf libzip-dev \
1317
libpng-dev libwebp-dev libjpeg-turbo-dev freetype-dev oniguruma-dev linux-headers && \

plugins/pasien/Admin.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,17 @@ private function _getRiwayatData($no_rkm_medis, $no_rawat = null, $detail = true
988988
$row['periksa_radiologi'][] = $radiologi_session;
989989
}
990990

991+
$row['mini_pacs'] = $this->db('mlite_mini_pacs_study')->where('no_rawat', $row['no_rawat'])->toArray();
992+
$mini_pacs_result = [];
993+
foreach ($row['mini_pacs'] as $mp) {
994+
$mp['series'] = $this->db('mlite_mini_pacs_series')->where('study_id', $mp['id'])->toArray();
995+
foreach ($mp['series'] as &$series) {
996+
$series['instances'] = $this->db('mlite_mini_pacs_instance')->where('series_id', $series['id'])->toArray();
997+
}
998+
$mini_pacs_result[] = $mp;
999+
}
1000+
$row['mini_pacs'] = $mini_pacs_result;
1001+
9911002
$pemberian_obat_sessions = $this->db('detail_pemberian_obat')
9921003
->select(['tgl_perawatan', 'jam'])
9931004
->where('no_rawat', $row['no_rawat'])

plugins/pasien/view/admin/riwayat.perawatan.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,7 @@ <h4 class="m-t-xl">Data Riwayat</h4>
821821
</div>
822822
{/loop}
823823
</div>
824+
824825
</div>
825826
</td>
826827
</tr>
@@ -829,10 +830,31 @@ <h4 class="m-t-xl">Data Riwayat</h4>
829830
</tr>
830831
{/if}
831832
{/loop}
833+
{if: $value.mini_pacs}
834+
<tr>
835+
<div style="width: 400px; display:flex; flex-wrap: wrap; gap: 15px; padding: 10px;">
836+
{loop: $value.mini_pacs as $mp}
837+
{loop: $mp.series as $s}
838+
{loop: $s.instances as $ins}
839+
<div style="text-align: center;">
840+
{if: file_exists(UPLOADS.'/pacs/'.$ins.sop_instance_uid.'_thumb.jpg')}
841+
<img src="{?=url('uploads/pacs/'.$ins.sop_instance_uid.'_thumb.jpg')?}"
842+
style="width: 100%; height: 100%; object-fit: cover;">
843+
{else}
844+
<i class="fa fa-picture-o fa-3x" style="color: #4bd396;"></i>
845+
{/if}
846+
</div>
847+
{/loop}
848+
{/loop}
849+
{/loop}
850+
</div>
851+
</tr>
852+
{/if}
832853
</table>
833854
</td>
834855
</tr>
835856
{/if}
857+
836858
{if: $value.operasi}
837859
<tr class="isi">
838860
<td valign="top" width="20%">Operasi</td>

plugins/radiologi/Admin.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1428,7 +1428,23 @@ public function anyRincian()
14281428
$periksa_radiologi[] = $row;
14291429
}
14301430

1431-
echo $this->draw('rincian.html', ['periksa_radiologi' => htmlspecialchars_array($periksa_radiologi), 'jumlah_total_radiologi' => $jumlah_total_radiologi, 'no_rawat' => htmlspecialchars($_POST['no_rawat'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'), 'radiologi' => htmlspecialchars_array($radiologi)]);
1431+
$mini_pacs = $this->db('mlite_mini_pacs_study')->where('no_rawat', $_POST['no_rawat'])->toArray();
1432+
foreach ($mini_pacs as &$mp) {
1433+
$series = $this->db('mlite_mini_pacs_series')->where('study_id', $mp['id'])->toArray();
1434+
foreach ($series as &$s) {
1435+
$s['instances'] = $this->db('mlite_mini_pacs_instance')->where('series_id', $s['id'])->toArray();
1436+
}
1437+
$mp['series'] = $series;
1438+
}
1439+
unset($mp);
1440+
1441+
echo $this->draw('rincian.html', [
1442+
'periksa_radiologi' => htmlspecialchars_array($periksa_radiologi),
1443+
'jumlah_total_radiologi' => $jumlah_total_radiologi,
1444+
'no_rawat' => htmlspecialchars($_POST['no_rawat'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'),
1445+
'radiologi' => htmlspecialchars_array($radiologi),
1446+
'mini_pacs' => htmlspecialchars_array($mini_pacs)
1447+
]);
14321448
exit();
14331449
}
14341450

plugins/radiologi/js/admin/radiologi.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,7 @@ $("#rincian").on("click",".hasil_radiologi", function(event){
520520
+ '<form method="post" action="" enctype="multipart/form-data">'
521521
+ ' Select file : <input type="file" name="file" id="file" class="form-control"><br>'
522522
+ ' <input type="button" class="btn btn-info" value="Upload" id="btn_upload">'
523+
+ ' <input type="button" class="btn btn-success" value="Upload Mini PACS (CR)" id="btn_upload_pacs" style="margin-left: 5px;">'
523524
+ '</form>'
524525
+ '<div id="preview"></div>'
525526
+ '</div>'
@@ -599,6 +600,53 @@ $("#rincian").on("click",".hasil_radiologi", function(event){
599600
}
600601
});
601602
});
603+
604+
$('#btn_upload_pacs').click(function(){
605+
var baseURL = mlite.url + '/' + mlite.admin;
606+
var url= baseURL + '/mini_pacs/apiupload?t=' + mlite.token;
607+
608+
var fd = new FormData();
609+
var files = $('#file')[0].files[0];
610+
if(!files) {
611+
bootbox.alert("Silakan pilih file gambar (JPEG/PNG) terlebih dahulu.");
612+
return;
613+
}
614+
fd.append('file_image',files);
615+
fd.append('no_rawat',no_rawat);
616+
fd.append('modality','CR');
617+
618+
var btn = $(this);
619+
var oldVal = btn.val();
620+
btn.prop('disabled', true).val('Uploading...');
621+
622+
$.ajax({
623+
url: url,
624+
type: 'post',
625+
data: fd,
626+
contentType: false,
627+
processData: false,
628+
dataType: 'json',
629+
success: function(data)
630+
{
631+
btn.prop('disabled', false).val(oldVal);
632+
if(data.status == 'success')
633+
{
634+
bootbox.alert("Berhasil mengunggah dan mengkonversi ke Mini PACS!");
635+
if(data.result) {
636+
$('#preview').append("<img src='"+data.result+"' width='100' height='100' style='display: inline-block; margin: 5px; border: 2px solid #555;'>");
637+
}
638+
}
639+
else
640+
{
641+
bootbox.alert(data.message || 'Gagal mengunggah');
642+
}
643+
},
644+
error: function() {
645+
btn.prop('disabled', false).val(oldVal);
646+
bootbox.alert("Terjadi kesalahan jaringan.");
647+
}
648+
});
649+
});
602650
});
603651

604652
box.modal('show');

0 commit comments

Comments
 (0)