ministero-salute / it-fse-support

https://ministero-salute.github.io/it-fse-support/
33 stars 20 forks source link

Cancellazione metadati - Error: document not found #117

Closed avlp closed 1 year ago

avlp commented 1 year ago

Salve, si segnala che per il documento con identificativo urn:ietf:rfc:3986^HC40-EMR:1501509072022900283V1 inserito con traceID:7b651d4e5a4438e6,spanID:7b651d4e5a4438e6 Invocando la cancellazione si ottiene l'errore document not found. Request: DELETE /govway/rest/in/FSE/gateway/v1/documents/urn%3Aietf%3Arfc%3A3986%5EHC40-EMR%3A1501509072022900283V1 Response: {"traceID":"b9f1b3c7816d2ed4","spanID":"b9f1b3c7816d2ed4","type":"/msg/eds-error","title":"Eds error.","detail":"Document cannot be found on the Server FHIR","status":404,"instance":"/msg/eds-document-missing"}

Dettaglio servizio search status: { "traceID": "f7465d5c6af8d4a9", "spanID": "4e23d31f8af64e3d", "transactionData": [ { "eventType": "RIFERIMENTI_INI", "eventDate": "2023-02-22T13:38:50.608+00:00", "eventStatus": "SUCCESS", "message": "Riferimenti trovati: UUID_MOCKATO", "identificativoDocumento": "urn:ietf:rfc:3986^HC40-EMR:1501509072022900283V1", "subject": "SCCGPP**********^^^&2.16.840.1.113883.2.9.4.3.2&ISO", "tipoAttivita": "PHR", "organizzazione": "150", "workflowInstanceId": "78798c53086d4bd9aeee3647e6ff33d6b903474127bb8130df21aac59c29c116.0f7e0143bb^^^^urn:ihe:iti:xdw:2013:workflowInstanceId", "traceId": "b9f1b3c7816d2ed4", "issuer": "integrity:S1#111ENGINNERING", "expiringDate": "2024-02-22T13:38:50.619+00:00" }, { "eventType": "EDS_DELETE", "eventDate": "2023-02-22T13:38:50.657+00:00", "eventStatus": "BLOCKING_ERROR", "message": "404 : \"{\"traceID\":\"b9f1b3c7816d2ed4\",\"spanID\":\"0bcfbdf337a2e573\",\"type\":\"/err/resource\",\"title\":\"Resource error\",\"detail\":\"Error: document not found!\",\"status\":404,\"instance\":\"/not-found\"}\"", "identificativoDocumento": "urn:ietf:rfc:3986^HC40-EMR:1501509072022900283V1", "subject": "SCCGPP**********^^^&2.16.840.1.113883.2.9.4.3.2&ISO", "tipoAttivita": "PHR", "organizzazione": "150", "workflowInstanceId": "78798c53086d4bd9aeee3647e6ff33d6b903474127bb8130df21aac59c29c116.0f7e0143bb^^^^urn:ihe:iti:xdw:2013:workflowInstanceId", "traceId": "b9f1b3c7816d2ed4", "issuer": "integrity:S1#111ENGINNERING", "expiringDate": "2024-02-22T13:38:51.388+00:00" } ] }

IStacchiotti commented 1 year ago

Buongiorno, dalle analisi svolte ci risulta quanto segue:

  1. Sta utilizzando un CDA.XML (allegato al pdf) sprovvisto di riferimenti per la seguente risorsa: Organization (/legalAuthenticator/representedOrganization/asOrganizationPartOf) E' necessario inserire un tag <id extension="<value>" root="<value" /> affinché sia correttamente processato.<asOrganizationPartOf><id root=".." extension="..." /> <-- QUI <wholeOrganization><id extension="..." root="..."/></wholeOrganization></asOrganizationPartOf>
  2. Come conseguenza del punto uno, l'inserimento sul FHIR fallisce ma poiché l'azione di processamento è asincrona rispetto alla richiesta: le viene restituito un 200 OK poiché la richiesta è stata "presa in carico" ma successivamente fallisce. Dunque il CDA in realtà non è mai stato processato.
  3. Per evitare confusione a seguito della spiegazione al punto 2, si raccomanda l'utilizzo dell'endpoint POST v1/status/{worflowInstanceId} per poter seguire punto per punto lo stato di processamento della richiesta. E' sufficiente che verifichi qualche secondo dopo la richiesta di pubblicazione che alla voce'eventType' nell'array 'transactionData' sia presente un elemento valorizzato con "EDS_WORKFLOW" ed 'eventStatus' valorizzato con "SUCCESS". Se quest'ultimo è presente, vuol dire che l'inserimento è andato a buon fine e il server FHIR ha correttamente processato il bundle. In conclusione, è stato presentato un CDA con un riferimento mancante e data la natura asincrona del processamento del bundle, il server ha restituito un 200 OK (preso in carico) ma successivamente è fallito. Di fatto il CDA con l'identificativo indicato non è mai stato inserito e per questo la successiva richiesta di DELETE è fallita con 404 NOT-FOUND. Per essere sicuri dell'inserimento di un qualsiasi bundle, raccomandiamo di utilizzare l'endpoint POST v1/status/{worflowInstanceId} come indicato per verificare il successo del processamento. Saluti
IStacchiotti commented 1 year ago

Buonasera, la presente viene chiusa come risolta. Si può procedere con la riapertura nel caso fosse necessario ulteriore supporto. Grazie