🚨 Announcement
In this release, Raccoon has undergone a significant amount of refactoring. I am trying to implement the Controller-Service-Repository
architecture, aiming to minimize changes to the service when switching databases. Although I have implemented the SQL version as requested, I also experienced the pain of code changes in subsequent updates. Therefore, I believe that architectural refactoring may minimize code changes when switching to different databases.
Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
1.5.0 (2024-01-24)
Features
- #13 (b837646)
- add
findOneByDicomUID
for study/series/instance models and use for delete (feb1ed1) - add
findOneByPatientID
to wrap mongoosefindOne
method (a731375) - add
getValue
andgetValues
in base dicom json (8fda280) - add
Human Performer's Name
for UPS model (2810f96) - add
Institution Code (00080082)
association (57ecdb8) - add
QueryUpsDicomJsonFactory
and using ingeWorkItemService
(ee2ec31) - add
updateStatusByQuery
forMwlItemModel
instead findAll (db9e488) - add columns for attributes in issuer of Admission ID Sequence (e71a032)
- add constructor for injecting CFindSCP without qr levels (ec8e658)
- add dicom convert to fhir API (8d9adb3)
- add DT transform value for sql (c517f41)
- add first version of creating work item service (ed58e54)
- add fns to get tag, keyword and vr of dicom json (61a391c)
- add Modality Worklist query support for C-FIND (4965b62)
- add module alias for mongodb (031f72b)
- add pagination in study getDicomJson (1ba1706)
- add series many to many person name model (b454036)
- add store dest in models of each level (e07cd58)
- add string json array query (6a2fbf7)
- add time query (72566ca)
- add ups global subscription model (717fc17)
- add UPS work item model (83f5dd8)
- api: move set patient into data adjust in create ups (b00b525)
- audit: Add audit logger implementation (8930b0c)
- C MOVE DIMSE Service (3468469)
- change
getModalitiesInStudy
query way (c185a7f) - change all string type length to 255 for each vr (80fb3b8)
- change update logic for creating mwl item (76a047a)
- complete series query builder (4740615)
- create or update x0040A073 when store (d2f1ccc)
- delete DICOM of hierarchy levels APIs (66ba0e2)
- delete expired (deleteStatus) patients and associated records (46563d3)
- extract 00400275 to schema (avoid json) (9b44292)
- extract 0040A043, 0040A730 to single schema (44b558e)
- extract x0040A073 to single schema (54bac25)
- implement count API for MWL item (188b10d)
- implement trigger update work item event (583dbcf)
- implement update workitem API (de32f10)
- Implement UPS query for getting work items (13dcd24)
- instance model, and store instance (19dce9e)
- instance query builder (bbfe1d8)
- mongo-mwl: implement first version of create MWL item (bfb6312)
- mongodb: generate PatientID from server for create patient API (565fc7f)
- mongodb: implement API
update, create patient by patient ID
for PAM-RS (c5c1a08) - mongodb: implement change filtered mwl items' status (2e9a48d)
- mongodb: implement change status of mwl item (302b2bd)
- mongodb: implement count MWL items (a19caa7)
- mongodb: implement create patient of PAM-RS (1f63757)
- mongodb: implement delete patient API (0f8c39d)
- mongodb: implement MWL delete API (4c2c0bf)
- mongodb: implement search for WML items API (926de76)
- mongo: use countDocuments instead of count (47769a3)
- only add events when
hitSubscriptions
greater equal than 1 (c212fd0) - patient query builder (c7701f7)
- pg: create db when not exists (dda14ad)
- postgres use jsonb, otherwise json (a893d1d)
- query all series API (4da907d)
- query builder add uid query when params present (76e02e0)
- query image that in recycling status (delete status 1) (1c7bf4a)
- query instance route (33bb29d)
- remove cast column to jsonb (70153a2)
- Retrieve Bulkdata Resources APIs (0efd963)
- Retrieve Thumbnail Resources APIs (8fc1a0b)
- Retrieve Transaction Metadata Resources APIs (30e13ae)
- Retrieve Transaction Rendered Resources APIs (c21c55e)
- search instances in a series by uids API (be576b6)
- search instances in a study by study uid API (2f066aa)
- search patient API (34103a5)
- search series in a study by study uid API (7672b4b)
- series create person names when creation (e567951)
- series query with series instance uid (adf0455)
- series sql model, and store series (d16c095)
- set UIDs of level to primary key (f085f7c)
- store dicom code items in UPS work item (4cb8ecd)
- store transfer syntax UID for instance (9ce4213)
- study getDicomJson fn (fe04b33)
- study model to be one to many association (bf117fe)
- study: complete person name query (7ac8ace)
- support build date time query (21750b6)
- support hierarchy level query (51c7a0b)
- support iccprofile (588f05f)
- support switch to mongodb mode with module alias (dcfe3aa)
- support tag filed or human readable field for query builder (fca2bbb)
- support wildcard search of string querying (73d8e97)
- update 0040A043, 0040A730 when upload exist (e8d6da4)
- update exist item when store instance (b942171)
- update modalities in study after storing (e6a3c39)
- update patientID (x00100020) to unique (99a564e)
- update save method in UPS (1768e9c)
- Update SQL configuration to include a logging option (a946c2d)
- UPS-SQL: Update code association to use 'belongsTo' (1772da8)
- use
dicomjson-to-fhir
instead of original handwritten functions (f547447) - use dcm4che dcm2json instead of dcmtk (89e385b)
- WADO-RS Retrieve Instance Resources APIs (eb26522)
- WADO-URI (2f0be9c)
- WIP: instance query builder (2ea6320)
- WIP: query (8f14829)
- WIP: series query builder (c3f604d)
- wrap
findMwlItems
in mwl item model (094b637)
Bug Fixes
auditInstanceTransferred
call in controller (5aca989)getAuditInstancesInfoFromStudyUID
not handle empty studyUID (6b667a2)PatientModel
not load indicom-json-model
(fc859ac)- Add method to increment delete status for hierarchical image (bb4616a)
- adjustment of sps is incorrect in create service (b65061e)
- can not load .model.js (3fe3ed4)
- cannot query with comma of attributes (4663e11)
- cannot query with comma of PN attributes (45a8fcd)
- circular in
dicom-json-model
(a9c8e2f) - delete status overwrite original query (8c060d6)
- dicom json model should input object not array (693f8de)
- dimse: the issue of file path in different operating systems (b23d78a)
- expose all error to client (55e1dcf)
- filtered global subscription not working (1336ba7)
- incorrect args position in
raiseInternalServerError
(c9ca0ff) - incorrect deletion path of study and series (dd48303)
- incorrect frame when retrieve multiple frames (e870cb1)
- incorrect import statement for workItemModel (20bf8df)
- incorrect require path (b4e347f)
- incorrect result of querying instance in study (5c9b223)
- incorrect store json in series (343e945)
- incorrect type of x00080104 in code schema (7d3f83b)
- missing adaptor for mongodb for audit message factory (e854c97)
- missing assign
apiLogger
inthis
ofstoreInstanceController
(e3fa12b) - missing await for async function (430e2cc)
- missing delete instance file in deletion (55ef94f)
- missing mongodb env example (766fe20)
- missing store
00400100
Scheduled Procedure Step Seq to DB (0e1dc3a) - missing update work item dicom json usage (3592f10)
- missing use series match iterator proxy (3bbcfec)
- module alias name not consist (bdc1ebe)
- mongodb: get/count MWL items API broken (3e022d1)
- mongodb: missing
00100020
in updated patient (0e96bde) - mongodb: not save audit message into db (13c6619)
- mongodb: query object incorrect in
checkPatientExist
(50429e6) - mongodb: toDicomJsonModel is not a function that missing consistent (f08bf44)
- move
findOneByDicomUID
to static (46031c9) - not append reason code when change state to canceled for work item (d2ed93c)
- not exist function
writeSpecificFramesRenderedImages
(2b4e5db) - query param to dicom tag wrong (f48a5c0)
- series match iterator proxy is not working (320896f)
- set header when response sent in ApiErrorHandler (432ce6b)
- should use
originUrl
inpostProcess
(071ad0e) - sps not assigned correct (7ab6685)
- stow rs service usage missing res parameter (2904d45)
- the argument should be work item model obj (1b85848)
- ths tls is not applied cause handshake_failed (40e4fd3)
- typo (f201219)
- VR of sequence is empty of
setValue
in BaseDicomJson (a98b142)