Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

TermBeskrivelseEvt reference
DGWSDen Gode Webservice
IHE XDSCross 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.

...

ServicenavnService URLStandard WSDLDGWS WSDL
ITI-41: Provide And Registre Documentsethttp://<NSP miljø>/dros/iti41http://<NSP miljø>/dros/iti41?wsdlhttp://<NSP miljø>/dros/dgws-wsdl/iti41.wsdl
ITI-42: Register Document Sethttp://<NSP miljø>/dros/iti42http://<NSP miljø>/dros/iti42?wsdlhttp://<NSP miljø>/dros/dgws-wsdl/iti42.wsdl

ITI-42: Register Document Set (ingen DGWS

Footnote

Der findes services, der leverer data ind til DROS uden DGWS. Denne service findes af legacy hensyn, men fremtidige anvendere ventes at anvende ITI-42 med DGWS)

)

http://<NSP miljø>/dros/iti42noDgwshttp://<NSP miljø>/dros/iti42noDgws?wsdlN/A
ITI-57: Update Document Sethttp://<NSP miljø>/dros/iti57http://<NSP miljø>/dros/iti57?wsdlhttp://<NSP miljø>/dros/dgws-wsdl/iti57.wsdl
ITI-61: Register On-Demand Document Entryhttp://<NSP miljø>/dros/iti61http://<NSP miljø>/dros/iti61?wsdlhttp://<NSP miljø>/dros/dgws-wsdl/iti61.wsdl


 Aftale repository/registry via DCC

ITI-snitfladeSOAPActionDecoupling-url (test1)ServiceIdentifier
ITI41

urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/aftaler/nspservices/aftaler
ITI42

urn:ihe:iti:2007:RegisterDocumentSet-b

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/aftaler/nspservices/aftaler
ITI57

urn:ihe:iti:2010:UpdateDocumentSet

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/aftaler/nspservices/aftaler
ITI61

urn:ihe:iti:2010:RegisterOnDemandDocumentEntry

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/aftaler/nspservices/aftaler

 Planer og indsatser (Psykiatriplaner) repository/registry via DCC

Håndterer dokumenttype PHAD (103140-0)

...

urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b

...

urn:ihe:iti:2007:RegisterDocumentSet-b

...

urn:ihe:iti:2010:UpdateDocumentSet

...

urn:ihe:iti:2010:RegisterOnDemandDocumentEntry

...


 Graviditetsmappe repository/registry via DCC

Håndterer dokumenttyperne Vandrejournal, Svangerskabsjournal, Kliniske målinger (PSCR,PRF og CMR)

ITI-snitfladeSOAPActionDecoupling-url (test1)ServiceIdentifier
ITI41

urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/gm/nspservices/gm
ITI42

urn:ihe:iti:2007:RegisterDocumentSet-b

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/gm/nspservices/gm
ITI57

urn:ihe:iti:2010:UpdateDocumentSet

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/gm/nspservices/gm
ITI61

urn:ihe:iti:2010:RegisterOnDemandDocumentEntry

http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/gm/nspservices/gm

Understøttelse af udvikling for anvendere

Det er op til anvenderen/udvikleren selv at vælge platform og frameworks, der passer til resten af dennes løsning. Fra et udvikler perspektiv kan man enten vælge selv at generere stubkode udfra de standardiserede WSDL filer eller at anvende et tredjepartsprodukt. Her gives et forslag til, hvordan det kan gribes an med tredjepartsproduktet IPF Open eHealth Integration Platform, som forudsætter man arbejder på en java platform. Man kan med fordel inkludere biblioteket IPF Commons IHE XDS i sin kodebase. Her findes både stubbe og en masse anvendelige utilities. Andre platforme kan have tilsvarende værktøjer og muligheder.

...

I afsnittene nedenfor, som omhandler understøttelse af bruger historierne "opret stable dokument", "ret stable dokument" og "slet dokument"  er der vist pseudocode, som illustrerer, hvordan man kan implementere kaldene vha. ovennævnte metode. Afsnittene hænger sådan sammen, at for den givne brugerhistorie kan man se koden (OpeneHealth core model), som skaber kaldet, og hvilke request og response (rim format) det medfører. Som skrevet er der tale om pseudocode, for at illustrere principperne, og ikke fuldt implementeret logik, som kan kopieres, som det er.

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.

...

Fejl i autentificeringen (herunder whitelisting) rapporteres tilbage til brugeren som en SOAP Fault.

Understøttelse af brugerhistorie: Opret Stable Dokument

Til at oprette et stable dokument skal servicen ITI-41: Provide And Registre Documentset anvendes.

...

Code Block
titleOpret Stable Dokument Response
collapsetrue
----------------------------
ID: 4
Response-Code: 200
Encoding: ISO-8859-1
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
Headers: {connection=[keep-alive], content-type=[multipart/related; type="application/xop+xml"; boundary="uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe"; start="<root.message@cxf.apache.org>"; start-info="text/xml"], Date=[Mon, 21 Feb 2022 10:30:57 GMT], Server=[WildFly/8], transfer-encoding=[chunked], X-Powered-By=[Undertow/1]}
Payload: --uuid:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe
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:Header>
       ...soapheaders fjernet for overskuelighed ... 
  </soap:Header>
  <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:bd72b204-e4ba-4cc8-86a6-9f1a1b18adfe--
--------------------------------------

Understøttelse af brugerhistorie: Ret Stable Dokument

Til at uploade et nyt dokument, som en rettelse til et eksisterende dokument skal servicen ITI-41: Provide And Registre Documentset anvendes.

...

Code Block
titleRet Stable Dokument Response
linenumberstrue
collapsetrue
----------------------------
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: Opdater dokument metadata

Til at rette et dokument skal servicen ITI-57 Update Document Set anvendes. Man kan på NSP kun opdatere metadata for et stable dokument, og ikke et on-demand dokument.

...

Code Block
titleOpdater metadata Dokument Response
linenumberstrue
collapsetrue
----------------------------
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: 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
titleSlet Dokument Response
linenumberstrue
collapsetrue
----------------------------
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
titleOpret On-Demand Entry Response
linenumberstrue
collapsetrue
----------------------------
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.

...