Skip to main content

PUSH

Scenario

In this scenario a user of a public/private organisation with a non-EU Manufacturer profile uploads the organisation’s devices in EUDAMED.

Process

The following image displays the message exchange between EUDAMED and the public/private organisation which performs the upload.

EUDAMED message exchange process machine to machine data exchange

More specifically, the following steps take place in the above-mentioned scenario:

  1. A Push message (push0) is created by the organisation containing the following attributes:

    1. messageID: A unique identifier, issued by the requester

    2. correlationID: An identifier that will correlate the request to the response or to the acknowledgements, issued by the requester

    3. sender/service/ServiceID: An identifier of the callback service (for responses and acknowledgements)

    4. sender/node/nodeCode: An identifier of the EUDAMED unique number of the requester (e.g.SRN, CA number, etc.)

    5. sender/node/nodeID: An identifier of the eDelivery partyID

    6. sender/node/nodeProfileToken: The EUDAMED bearer security token attached to the requester

    7. recipient/service/serviceID: An identifier of the EUDAMED service

    8. recipient/service/serviceOperation: An identifier of the EUDAMED service operation to uniquely define the service scope

    9. payload/Entities: It contains the main service accepted entity

  2. The Push message (push1) is sent from the organisation’s backend to the organisation’s eDelivery AP. push0 message is encoded and embedded into the payload of a SOAP envelope( see Message exchange) page. The following attributes are included in the message:

    1. envelope/header/messaging/usermessage/partyinfo/from/partyID: A unique identifier of the organisation’s eDelivery AP

    2. envelope/header/messaging/usermessage/partyinfo/to/partyID: A unique identifier of the EUDAMED eDelivery AP

    3. envelope/body/submitRequest/payload: It holds the base64 format of the push0 message

  3. The Push message (push2) is sent from the organisation’s eDelivery AP to the EUDAMED eDelivery AP. The status of the message is now SENDING.

  4. An Acknowledge message (ack1) is sent from the EUDAMED eDelivery AP to the organisation’s eDelivery AP which implies that push2 was successfully received by the EUDAMED eDelivery AP. The status of the message is now DELIVERED.

  5. The Push message (push3) is sent from the EUDAMED eDelivery AP to EUDAMED’s backend.

  6. An Acknowledge message (ack2) is sent from the EUDAMED eDelivery AP to the organisation’s eDelivery AP which implies that push2 was successfully received by the EUDAMED eDelivery AP. The status of the message is now DELETED.

  7. An Acknowledge message (ack3) is created by EUDAMED containing the following attributes:

    1. messageID: A unique identifier, issued by the requester

    2. correlationID: The same as correlationID from the request message

    3. sender/service/ServiceID: An identifier of the EUDMAED initiator service

    4. sender/node/nodeCode: An identifier of the EUDAMED eDelivery party identifier

    5. sender/node/nodeID: An identifier of the eDelivery partyID

    6. recipient/service/serviceID: The requester’s generic callback service

    7. recipient/service/serviceOperation: The requester’s callback service operation (as specified in the request message)

    8. ackCode: The status code of the service call (success or matching error code)

    9. payload/report: It contains a report of processing statuses and details for each entity that have been sent through the Push message.

  8. An Acknowledge message (ack4) is sent from the EUDAMED backend to the EUDAMED eDelivery AP with the attributes listed below:

    1. envelope/header/messaging/usermessage/partyinfo/to/partyID: A unique identifier of the requester’s eDelivery AP

    2. envelope/header/messaging/usermessage/partyinfo/from/partyID: A unique identifier of the EUDAMED eDelivery AP

    3. envelope/body/submitRequest/payload: It holds the base64 format of the ack0 message.

  9. An Acknowledge message (ack5) is sent from the EUDAMED eDelivery AP to the organisation’s eDelivery.

  10. An Acknowledge message (ack6) is sent from the organisation’s eDelivery AP to the EUDAMED eDelivery AP. The status of the message is now DELIVERED.

  11. An Acknowledge message (ack7) is sent from the organisation’s eDelivery AP to the organisation’s backend. ack7 message is encoded and embedded into the payload of a SOAP envelope (see Message exchange) page. The following attributes are included in the message:

    1. envelope/header/messaging/usermessage/partyinfo/from/partyID: A unique identifier of the organisation’s eDelivery AP

    2. envelope/header/messaging/usermessage/partyinfo/to/partyID: A unique identifier of the EUDAMED eDelivery AP

    3. envelope/body/submitRequest/payload:It holds the base64 format of the push0 message

  12. An Acknowledgment message (ack8) is sent from the organisation’s eDelivery AP to the organisation’s backend. The status of the message is now DELETED.

Messages

Given the above-mentioned scenario, the following messages will be created:

Push0

<message:Push>   
    <message:correlationID>a754cdd7-3602-45b4-a993-c25adb18a60e
    </message:correlationID>
    <message:creationDateTime>2019-05-22T07:00:28.066+02:00
    </message:creationDateTime>
    <message:messageID>a64a5a1f-da86-4810-a0de-27d0338811a9
    </message:messageID>
    <message:recipient>
        <message:node>           
            <service:nodeActorCode>EUDAMED</service:nodeActorCode>
            <service:nodeID>eDelivery:EUDAMED</service:nodeID>
        </message:node>
        <message:service>           
            <service:serviceAccessToken>9434524234225234234239
            </service:serviceAccessToken> 
            <service:serviceID>DEVICE</service:serviceID>
            <service:serviceOperation>POST</service:serviceOperation>
        </message:service>
    </message:recipient>
    <message:payload>
        <device:Device xsi:type="device:IVDRDeviceType"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <device:IVDRBasicUDI>
                .................................               
                <budi:ARActorCode>BE-AR-000033010
                </budi:ARActorCode>
                <budi:MFActorCode>JP-MF-000033020
                </budi:MFActorCode>
                <budi:specialDevice>ORTHOPAEDIC</budi:specialDevice>
                <budi:applicableLegislation>IVDD
                </budi:applicableLegislation>
                ...................................
            </device:IVDRBasicUDI>
            <device:IVDRUDIDIData>
                <udidi:identifier>                
                    <udidi:DICode>UDICODE1</udidi:DICode>   
                    <udidi:issuingEntityCode>GS1
                    </udidi:issuingEntityCode>
                </udidi:identifier>
                ..........................................
            </device:IVDRUDIDIData>
        </device:Device>
        <device:Device xsi:type="device:MDRDeviceType"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <device:MDRBasicUDI>
                <budi:riskClass>IIb</budi:riskClass> 
                <budi:model>SCE8-03-05</budi:model>
                <budi:identifier>     
                    <udidi:DICode>M991CVS1277777</udidi:DICode>
                    <udidi:issuingEntityCode>GS1
                    </udidi:issuingEntityCode>
                </budi:identifier>
                <budi:ARActorCode>BE-AR-000000077</budi:ARActorCode>
                <budi:MFActorCode>JP-MF-000033020</budi:MFActorCode>
                <budi:applicableLegislation>MDR
                </budi:applicableLegislation>
                ............................................   
            </device:MDRBasicUDI>
            <device:MDRUDIDIData>
                ................................
            </device:MDRUDIDIData> 
        </device:Device>     
    </message:payload>
    <message:sender>
        <message:node>           
            <service:nodeActorCode>JP-MF-000033020
            </service:nodeActorCode>
            <service:nodeID>eDelivery:JP-MF-000033020
            </service:nodeID>
        </message:node>
        <message:service>           
            <service:serviceID>REPLY_SERVICE</service:serviceID> 
            <service:serviceOperation>GET</service:serviceOperation>
        </message:service>
    </message:sender>
</message:Push>

Ack3

<message:Acknowledgement>   
    <message:conversationID>0c4e479e-32a8-4439-9eea-4cd6c25c5745
    </message:conversationID>   
    <message:correlationID>a754cdd7-3602-45b4-a993-c25adb18a60e
    </message:correlationID>
    <message:creationDateTime>2019-05-29T00:53:47.165+02:00
    </message:creationDateTime>   
    <message:messageID>a64a5a1f-da86-4810-a0de-27d0338811a9
    </message:messageID>
    <message:recipient>
        <message:node>           
            <service:nodeActorCode>JP-MF-000033020
            </service:nodeActorCode>    
            <service:nodeID>eDelivery:JP-MF-000033020
            </service:nodeID>
        </message:node>
        <message:service>           
            <service:serviceID>REPLY_SERVICE</service:serviceID>
            <service:serviceOperation>GET</service:serviceOperation>
        </message:service>
    </message:recipient>
    <message:payload/>
    <message:sender>
        <message:node>           
            <service:nodeActorCode>EUDAMED</service:nodeActorCode>
            <service:nodeID>eDelivery:EUDAMED</service:nodeID>
        </message:node>
        <message:service>           
            <service:serviceID>DEVICE</service:serviceID>           
            <service:serviceOperation>GET</service:serviceOperation>
        </message:service>
    </message:sender>
    <message:responseCode>SUCCESS</message:responseCode>
</message:Acknowledgement>