Compare commits
2 Commits
af9ec01c19
...
ac162cd2a3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac162cd2a3 | ||
|
|
bfb55055a2 |
@@ -2,7 +2,7 @@ version: '3'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
dicomweb-proxy:
|
dicomweb-proxy:
|
||||||
image: dicomweb-proxy:2.0
|
image: dicomweb-proxy:3.0.1
|
||||||
container_name: dicomweb-proxy
|
container_name: dicomweb-proxy
|
||||||
ports:
|
ports:
|
||||||
- "5000:5000"
|
- "5000:5000"
|
||||||
|
|||||||
@@ -65,20 +65,10 @@ function parseFile(filename: string): Promise<ElementType> {
|
|||||||
const spacingBetweenSlices = dataset.string('x00180088');
|
const spacingBetweenSlices = dataset.string('x00180088');
|
||||||
const percentPhaseFieldOfView = dataset.string('x00180094');
|
const percentPhaseFieldOfView = dataset.string('x00180094');
|
||||||
const fovDimensionElement = dataset.elements.x00181149;
|
const fovDimensionElement = dataset.elements.x00181149;
|
||||||
const fovDimension = fovDimensionElement
|
const fovDimension = fovDimensionElement ? [dataset.uint16('x00181149', 0), dataset.uint16('x00181149', 1)] : null;
|
||||||
? [
|
|
||||||
dataset.uint16('x00181130', 0),
|
|
||||||
dataset.uint16('x00181130', 1),
|
|
||||||
]
|
|
||||||
: null;
|
|
||||||
const acquisitionMatrixElement = dataset.elements.x00181310;
|
const acquisitionMatrixElement = dataset.elements.x00181310;
|
||||||
const acquisitionMatrix = acquisitionMatrixElement
|
const acquisitionMatrix = acquisitionMatrixElement
|
||||||
? [
|
? [dataset.uint16('x00181310', 0), dataset.uint16('x00181310', 1), dataset.uint16('x00181310', 2), dataset.uint16('x00181310', 3)]
|
||||||
dataset.uint16('x00181310', 0),
|
|
||||||
dataset.uint16('x00181310', 1),
|
|
||||||
dataset.uint16('x00181310', 2),
|
|
||||||
dataset.uint16('x00181310', 3),
|
|
||||||
]
|
|
||||||
: null;
|
: null;
|
||||||
const scanningSequence = dataset.string('x00180020');
|
const scanningSequence = dataset.string('x00180020');
|
||||||
const repetitionTime = dataset.string('x00180080');
|
const repetitionTime = dataset.string('x00180080');
|
||||||
@@ -94,7 +84,7 @@ function parseFile(filename: string): Promise<ElementType> {
|
|||||||
const acquisitionTime = dataset.string('x00080032');
|
const acquisitionTime = dataset.string('x00080032');
|
||||||
const acquistionDurationTotal = dataset.string('x00189073'); // in seconds
|
const acquistionDurationTotal = dataset.string('x00189073'); // in seconds
|
||||||
const acquistionDurationPerFrame = dataset.string('x00189220'); // in ms
|
const acquistionDurationPerFrame = dataset.string('x00189220'); // in ms
|
||||||
const parallelAcquisitionTechnique = dataset.string('x00181316');
|
const parallelAcquisitionTechnique = dataset.string('x00189078');
|
||||||
|
|
||||||
// append to all results
|
// append to all results
|
||||||
const result: ElementType = {
|
const result: ElementType = {
|
||||||
@@ -144,7 +134,7 @@ function parseFile(filename: string): Promise<ElementType> {
|
|||||||
'00080032': { Value: [acquisitionTime], vr: 'TM' },
|
'00080032': { Value: [acquisitionTime], vr: 'TM' },
|
||||||
'00189073': { Value: [acquistionDurationTotal], vr: 'DS' },
|
'00189073': { Value: [acquistionDurationTotal], vr: 'DS' },
|
||||||
'00189220': { Value: [acquistionDurationPerFrame], vr: 'FD' },
|
'00189220': { Value: [acquistionDurationPerFrame], vr: 'FD' },
|
||||||
'00181316': { Value: [parallelAcquisitionTechnique], vr: 'CS' },
|
'00189078': { Value: [parallelAcquisitionTechnique], vr: 'CS' },
|
||||||
};
|
};
|
||||||
|
|
||||||
resolve(result);
|
resolve(result);
|
||||||
@@ -163,7 +153,6 @@ export function parseMeta(json: object, studyInstanceUID: string, seriesInstance
|
|||||||
const sopInstanceUid = json[key]['00080018'].Value[0];
|
const sopInstanceUid = json[key]['00080018'].Value[0];
|
||||||
const pathname = path.join(storagePath, studyInstanceUID, sopInstanceUid);
|
const pathname = path.join(storagePath, studyInstanceUID, sopInstanceUid);
|
||||||
parsing.push(parseFile(pathname));
|
parsing.push(parseFile(pathname));
|
||||||
|
|
||||||
}
|
}
|
||||||
return Promise.all(parsing);
|
return Promise.all(parsing);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,8 +51,7 @@ module.exports = function (server: FastifyInstance, opts: unknown, done: () => v
|
|||||||
const hasStudyDate = query.StudyDate !== undefined;
|
const hasStudyDate = query.StudyDate !== undefined;
|
||||||
|
|
||||||
if (!hasMedicalRecord && !hasAccessionNumber && !hasPatientName && !hasStudyInstanceUID && !hasStudyDate) {
|
if (!hasMedicalRecord && !hasAccessionNumber && !hasPatientName && !hasStudyInstanceUID && !hasStudyDate) {
|
||||||
// TODO: buat startDate tgl H-1 karena terkadang kena Bug beda timezone +-7 di file DICOM nya
|
const startDate = moment().subtract(7, 'days').format('YYYYMMDD');
|
||||||
const startDate = moment().format('YYYYMMDD');
|
|
||||||
const endDate = moment().format('YYYYMMDD');
|
const endDate = moment().format('YYYYMMDD');
|
||||||
query.StudyDate = `${startDate}-${endDate}`;
|
query.StudyDate = `${startDate}-${endDate}`;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user