Difference between revisions of "The Lookup Table Modification API"

From MircWiki
Jump to: navigation, search
(Created page with "This article describes how to update the DICOM Anonymizer lookup table through an external program. The intended audience of this article is software developers. See [[The CTP Lo...")
 
Line 3: Line 3:
 
An external program can add or modify a single entry in the lookup table for a DicomAnonymizer stage by accessing the CTP LookupServlet with this URL path:
 
An external program can add or modify a single entry in the lookup table for a DicomAnonymizer stage by accessing the CTP LookupServlet with this URL path:
  
:<b><tt>/lookup?id=...&key=...&value</tt></b>
+
:<b><tt>/lookup?id=...&key=...&value=...</tt></b>
  
 
where:
 
where:
Line 9: Line 9:
 
* <b><tt>key</tt></b> is the key of the lookup table entry to be created or modified
 
* <b><tt>key</tt></b> is the key of the lookup table entry to be created or modified
 
* <b><tt>value</tt></b> is the value to be assigned to the key
 
* <b><tt>value</tt></b> is the value to be assigned to the key
 +
 +
Note, this API requires that the DicomAnonymizer stage have an <b><tt>id</tt></b> attribute.
  
 
To be effective, the key must include both the KeyType and the PHI value. For example:
 
To be effective, the key must include both the KeyType and the PHI value. For example:
Line 17: Line 19:
  
 
The LookupServlet supports this API through both the HTTP GET and PUT methods. GET is supported only to make initial testing easy. Developers are encouraged to implement using the PUT method as the GET support will be removed in the near future.
 
The LookupServlet supports this API through both the HTTP GET and PUT methods. GET is supported only to make initial testing easy. Developers are encouraged to implement using the PUT method as the GET support will be removed in the near future.
 +
 +
The servlet returns one of these response codes:
 +
* 200: OK - the update succeeded.
 +
* 403: Forbidden - the requesting user is either not authenticated or does not have the admin role.
 +
* 304: Not modified - the request could not be serviced with the supplied parameters.
 +
 +
The Not modified response can occur if any one of these conditions are met:
 +
* any of the three parameters are missing
 +
* the <b><tt>id</tt></b> parameter does not reference a registered PipelineStage
 +
* the <b><tt>id</tt></b> parameter references a PipelineStage that is not a DicomAnonymizer
 +
 +
If the update succeeds, the servlet returns the text <b><tt>OK</tt></b>; otherwise, the response is empty.

Revision as of 13:11, 25 June 2015

This article describes how to update the DICOM Anonymizer lookup table through an external program. The intended audience of this article is software developers. See The CTP Lookup Table Editor for a description of the lookup table structure.

An external program can add or modify a single entry in the lookup table for a DicomAnonymizer stage by accessing the CTP LookupServlet with this URL path:

/lookup?id=...&key=...&value=...

where:

  • id is the id attribute of the DicomAnonymizer stage whose lookup table is to be modified
  • key is the key of the lookup table entry to be created or modified
  • value is the value to be assigned to the key

Note, this API requires that the DicomAnonymizer stage have an id attribute.

To be effective, the key must include both the KeyType and the PHI value. For example:

http://192.168.0.4:8080/lookup?id=TEST&key=ptid/567&value=777

adds the ptid/567 entry to the table and assigns it the value 777.

The LookupServlet supports this API through both the HTTP GET and PUT methods. GET is supported only to make initial testing easy. Developers are encouraged to implement using the PUT method as the GET support will be removed in the near future.

The servlet returns one of these response codes:

  • 200: OK - the update succeeded.
  • 403: Forbidden - the requesting user is either not authenticated or does not have the admin role.
  • 304: Not modified - the request could not be serviced with the supplied parameters.

The Not modified response can occur if any one of these conditions are met:

  • any of the three parameters are missing
  • the id parameter does not reference a registered PipelineStage
  • the id parameter references a PipelineStage that is not a DicomAnonymizer

If the update succeeds, the servlet returns the text OK; otherwise, the response is empty.