User Tools

Site Tools


yamms:yamms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
yamms:yamms [2011/08/17 14:12] devayamms:yamms [2011/08/24 11:14] (current) – removed deva
Line 1: Line 1:
-======YaMMS - Yet another Medical Messaging System====== 
-=====Message Transport Procedure===== 
-====Message IDs and logging==== 
-Message ids are based on two components; The capital letter 'Y' for YaMMS and a running serial number counting from 10000.\\ 
-Each message is stored in a folder with the name generated from the generation date; [year]/[month].\\ 
-When a new message id is to be generated the folder with the greatest year/month is opened and the file with the greatest serial number is identified. With this number as the base a new file is created with ''CREATE_EXCL'' increasing the counter as long as the creation fails. 
  
-====Receiving==== 
-  * Message files drop into the inbox folder from ftp in regular intervals (ex. 10 minutes). 
-  * Each message file is parsed and receipts are put in the outbox. 
-  * Each message file is added to an index containing message metadata (ex. read/unread). 
-  * Bad messages (syntax errors, unknown types etc.) are marked as such. 
-  * Control messages are used to mark uploaded messages in the outbox-waiting-confirm folder. 
- 
-====Sending==== 
-  * Inotify on the outbox triggers the sending event. 
-  * Any newly written messages in the outbox is syntax checked and validated. 
-  * Errornous messages are stalled and a message is put in the inbox that the message could not be sent. 
-  * Validated messages are uploaded to the ftp server. 
-  * Each uploaded file is put in a outbox-waiting-confirm folder and marked as uploaded but not confirmed. 
-  * Each upload also makes a download. 
- 
-=====Http protocol (client interface)===== 
-  * Get inbox contents (list of messages containing id, type and resume tupples) 
-  * Move message to [trash|archive|...] 
-  * (Delete message entirely?) 
-  * Send [hospitalreferral|...] 
-  * Mark message as [read|unread|handled|...] 
-  * Get address by id. 
-  * Edit address (by id). 
-  * Create address. 
-  * Delete address. 
- 
-=====Internal Message Format====== 
-All internal messages are in UTF-8 encoding.\\ 
-All address ids maps to address entries in database on server. 
- 
-====Read Format==== 
-Contains: 
-  * Message id 
-  * Sender address id 
-  * Receiver address id 
-  * Message title 
-  * Message status 
-  * Message times (sent/received/read etc) 
-  * Message body (server generated resume based on MedCom XML) 
-  * Original MedCom XML in base64. 
-<code xml> 
-<yamms> 
-  <message id="47720D608496E1" sender="123" receiver="124" status="unread"> 
-    <title>Some title</title> 
-    <body>Dette er et eller andet smart.</body> 
-    <msg>IDUgbWcgMSoxIGZvciBibG9kdHJ5a2tldCAtIFRhYmwgTm9ydmFzYyA1IG1nIDEqMSBmb3IgYmxv 
-ZHRyeWtrZXQtIFRhYmwgQ2VudHlsIG0uIEtDbCAxIGRnbCAgZm9yIEJUIG9nIHZhbmRkcml2ZW5k 
-ZSAtIFRhYmwgS2FsZW9yaWQgMSBkZ2wga2FsaXVtdGlsc2t1ZCA8QnJlYWsvPjwvQWN0dWFsTWVk 
-aWNpbmU+CiAgICA8L1JlbGV2YW50Q2xpbmljYWxJbmZvcm1hdGlvbj4KICA8L0hvc3BpdGFsUmVm 
-ZXJyYWw+CjwvRW1lc3NhZ2U+Cg==</msg> 
-  </message> 
-  <message ...> 
-     . 
-     . 
-     . 
-  </message> 
-   . 
-   . 
-   . 
-</yamms> 
-</code> 
- 
-====Send Format==== 
-Contains: 
-  * Sender address id 
-  * Receiver address id 
-  * A list of required fields 
yamms/yamms.1313583132.txt.gz · Last modified: 2011/08/17 14:12 by deva