/
Design Draft 3
Design Draft 3
Considerations
- Image class, with settings like:
- SQL URL, a string, example: sql://root:123@localhost/openmrs
- table, a string, example: obs
- column, a string, example: value_complex
- and a handler to get images, a block of code, method or function.
- the module would serve DICOM images in browser, displaying:
- image in jpeg, or png
- image metadata
- Image would have properties like:
- obs_id, that would allow to know whose patient images belongs to
- metadata:
- modality
- date
- more to be added...
- examples of code:
- image = Image.find(patient_id: 1) # gets image which patient has id 1
- image.patient # gets patient image (OpenMRS one)
- image.obs[ervation] # gets the obs
- image.order # gets obs order
- image.encounter # gets order encounter
- image.visit # gets encounter visit
- examples of URL:
- http://www.mainsite.com/openmrs/rest/v1/images/1
- Note: I would like to ommit /rest/v1/ part because it is part of implementation details, it could be something like:
- http://www.mainsite.com/openmrs/images/1, latest version by default, please CONTINUE READING
- and if you want to use a specific API version: http://www.mainsite.com/openmrs/images/1?version=1
- due that http://www.mainsite.com/openmrs/images would disorganize OpenMRS API, Radiology Module could be mounted for example at http://www.mainsite.com/radiology/
- whatever be the root path, these are image search examples with parameters:
- /images?id=1&patient_id=1&uuid=...&modality=ultrasound&date=dd-mm-yyyy&date_2=dd-mm-yyyy
- more examples to be added...
- Note: dcm4chee would not be used!!!
- Note 2: we would also have /images/1
Workflow
- Referring physician creates an order
- Pending...