Page History
Table of Contents |
---|
Introduktion
Formål
Dette dokument er en vejledning til anvendelse af den Dokument Registrerings- og Opdateringsservice (DROS). På baggrund af dokumentet er det muligt at lave en teknisk implementation af de brugerhistorier der er beskrevet i DROS - Brugerhistorier.
Formålet med dette dokument er at vejlede udviklere, der skal udvikle eller vedligeholde systemer, som anvender DROS snitflader.
Læsevejledning
Dette dokument er rettet mod udviklere, der skal udvikle eller teste services, der har grænseflader mod DROS.
Læseren forudsættes at være bekendt med de involverede teknologier, som f.eks. SOAP og DGWS. Derudover forudsættes, at læseren er bekendt med IHE XDS (herunder ITI-XX services).
Referencer
Term | Beskrivelse | Evt reference |
---|---|---|
DGWS | Den Gode Webservice | |
IHE XDS | Cross Enterprise Document Sharing (IHE) | Cross-Enterprise Document Sharing |
Introduktion til DROS
DROS er en service på NSP, der udstiller snitflader til registering og opdatering af dokumenter og metadata i den nationale XDS infrastruktur.
...
Efterfølgende gennemgås de brugerhistorier, der er beskrevet i DROS - Brugerhistorier og der gives en oversigt over, hvordan de enkelte brugerhistorier kan realiseres: Dvs. hvilke snitflader i DROS er i spil samt eksempler på requests og responses.
Snitfladebeskrivelser og endpoints
DROS udstiller en række services til registrering og opdatering af dokumenter og disses metadata. DROS snitfladerne tager udgangspunkt i de standardsnitflader, der er beskrevet som en del af IHE XDS.
...
Servicenavn | Service URL | Standard WSDL | DGWS WSDL | ||
---|---|---|---|---|---|
ITI-41: Provide And Registre Documentset | http://<NSP miljø>/dros/iti41 | http://<NSP miljø>/dros/iti41?wsdl | http://<NSP miljø>/dros/dgws-wsdl/iti41.wsdl | ||
ITI-42: Register Document Set | http://<NSP miljø>/dros/iti42 | http://<NSP miljø>/dros/iti42?wsdl | http://<NSP miljø>/dros/dgws-wsdl/iti42.wsdl | ||
ITI-42: Register Document Set (ingen DGWS
) | http://<NSP miljø>/dros/iti42noDgws | http://<NSP miljø>/dros/iti42noDgws?wsdl | N/A | ||
ITI-57: Update Document Set | http://<NSP miljø>/dros/iti57 | http://<NSP miljø>/dros/iti57?wsdl | http://<NSP miljø>/dros/dgws-wsdl/iti57.wsdl | ||
ITI-61: Register On-Demand Document Entry | http://<NSP miljø>/dros/iti61 | http://<NSP miljø>/dros/iti61?wsdl | http://<NSP miljø>/dros/dgws-wsdl/iti61.wsdl |
Validering og advarsler
Vær opmærksom på, at responses kan indeholde advarsler, som man som anvender bør undersøge og reagere på. Advarslerne skal fortolkes sådan, at requestet er gået godt, selv om et antal valideringer fejlede. Nedenfor ses et eksempel på et response med advarsler.
Code Block | ||||
---|---|---|---|---|
| ||||
<soap:Body> <ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"> <ns3:RegistryErrorList> <ns3:RegistryError codeContext="Source patient name i det leverede CDA dokument matcher ikke source patient name i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Confidentiality code i det leverede CDA dokument matcher ikke code i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Service stop time i det leverede CDA dokument matcher ikke service stop time i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Author.Person skal være angivet i documententry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Author institution i det leverede CDA dokument matcher ikke author institution i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Service start time i det leverede CDA dokument matcher ikke service start time i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Author person i det leverede CDA dokument matcher ikke author institution i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Patient id i det leverede CDA dokument matcher ikke patient id i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Source patient gender i det leverede CDA dokument matcher ikke source patient gender i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Cda dokumentet har ikke lovlig type" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Source patient id i det leverede CDA dokument matcher ikke souce patient id i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Source patient birth i det leverede CDA dokument matcher ikke source patient birth i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Creationtime i det leverede CDA dokument matcher ikke creationtime i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Source patient info skal være angivet i documententry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> <ns3:RegistryError codeContext="Title i det leverede CDA dokument matcher ikke title i document entry" errorCode="XDSRegistryMetadataError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" location=""/> </ns3:RegistryErrorList> </ns3:RegistryResponse> </soap:Body> |
Understøttelse af udvikling for anvendere
Det er op til anvenderen selv at vælge platform og frameworks, der passer til resten af dennes løsning. Der er dog et eksempel på "anvenderkode", der eventuelt kan bruges som inspiration, hvis anvenderen laver en Java-baseret løsning.
Eksempelkoden er tilgængelig her: https://svn.nspop.dk/svn/test/drs/
Understøttelse af Brugerhistorier
Med udgangspunkt i brugerhistorierne i DROS - Brugerhistorier beskrives i det følgende, hvorledes de enkelte snitflader skal anvendes til at understøtte disse.
Alle brugerhistorier indeholder eksempler på succesfulde requests og responses.
Understøttelse af brugerhistorie: Opret Stable Dokument
Til at oprette et stable dokument skal servicen ITI-41: Provide And Registre Documentset anvendes.
...
Code Block | ||||
---|---|---|---|---|
| ||||
---------------------------- ID: 4 Response-Code: 200 Encoding: ISO-8859-1 Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:5f117400-a483-42cc-9bb2-83a95b12bb37"; start="<root.message@cxf.apache.org>"; start-info="text/xml" Headers: {connection=[keep-alive], content-type=[multipart/related; type="application/xop+xml"; boundary="uuid:5f117400-a483-42cc-9bb2-83a95b12bb37"; start="<root.message@cxf.apache.org>"; start-info="text/xml"], Date=[Wed, 24 Mar 2021 11:33:14 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]} Payload: --uuid:5f117400-a483-42cc-9bb2-83a95b12bb37 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: binary Content-ID: <root.message@cxf.apache.org> <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/> </soap:Body> </soap:Envelope> --uuid:5f117400-a483-42cc-9bb2-83a95b12bb37-- -------------------------------------- |
Understøttelse af brugerhistorie: Ret Stable Dokument
Til at uploade et nyt dokument, om som en rettelse til et eksisterende dokument skal servicen ITI-41: Provide And Registre Documentset anvendes.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
---------------------------- ID: 8 Response-Code: 200 Encoding: ISO-8859-1 Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:72910188-7f13-44f9-8804-ea150846fa23"; start="<root.message@cxf.apache.org>"; start-info="text/xml" Headers: {connection=[keep-alive], content-type=[multipart/related; type="application/xop+xml"; boundary="uuid:72910188-7f13-44f9-8804-ea150846fa23"; start="<root.message@cxf.apache.org>"; start-info="text/xml"], Date=[Wed, 24 Mar 2021 11:57:53 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]} Payload: --uuid:72910188-7f13-44f9-8804-ea150846fa23 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: binary Content-ID: <root.message@cxf.apache.org> <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/> </soap:Body> </soap:Envelope> --uuid:72910188-7f13-44f9-8804-ea150846fa23-- -------------------------------------- |
Understøttelse af brugerhistorie: Slet Dokument
Til at slette et dokument skal servicen ITI-57: Update Document Set anvendes. Denne operation sletter ikke dokumentet fysisk, men vil registrere det med status 'deprecated' i det nationale XDS registry.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
---------------------------- ID: 12 Response-Code: 200 Encoding: UTF-8 Content-Type: text/xml;charset=UTF-8 Headers: {connection=[keep-alive], content-type=[text/xml;charset=UTF-8], Date=[Wed, 24 Mar 2021 12:16:48 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]} Payload: <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/> </soap:Body> </soap:Envelope> -------------------------------------- |
Understøttelse af brugerhistorie: Opret On-demand Entry
Til at oprette en on-demand entry i det nationale XDS registry skal servicen ITI-61: Register On-Demand Document Entry anvendes.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
---------------------------- ID: 1 Response-Code: 200 Encoding: UTF-8 Content-Type: text/xml;charset=UTF-8 Headers: {connection=[keep-alive], content-type=[text/xml;charset=UTF-8], Date=[Wed, 24 Mar 2021 12:26:05 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]} Payload: <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns3:RegistryResponse xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns4="urn:ihe:iti:xds-b:2007" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/> </soap:Body> </soap:Envelope> -------------------------------------- |
Understøttelse af brugerhistorie: Register Document Set (med og uden DGWS)
Til at oprette document entries i det nationale XDS registry skal servicen ITI-42: Register Document Set anvendes. Selve requestene er ens uanset, om DGWS benyttes eller ej. Request nedenfor kan derfor anvendes som inspiration i begge tilfælde.
...