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.

De enkelte brugerhistorier er beskrevet i dokumentet DROS - Brugerhistorier og giver et overblik over DROS set fra anvendersystemerne.

I dette dokument er der en oversigt over snitfladebeskrivelser for DROS.

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.

Hver af DROS services udstiller 2 WSDL filer.

  1. En standard ITI WSDL: Denne WSDL beskriver den standardiserede snitflade som er defineret som en del af IHE XDS stanadarden
  2. En DGWS WSDL: Denne WSDL er tilpasset således, at kravene i forhold til DGWS fremgår af WSDL filen
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

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

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.

Brugerhistorie: Opret Stable Dokument

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

Det dokument, der skal registreres sendes med. Bemærk, at det er anvenderens opgave at sætte requestet rigtigt sammen for at få registreret metadata om dokumentet i den bagvedliggende nationale XDS infrastruktur. Korrekt metadata er en forudsætning for at andre anvendere kan fremsøge dokumentet med meningsfyldte søge parametre (se DDS - Guide til anvendere for information om fremsøgning og hentning af dokumenter).

I requestet nedenfor ses selve dokumentet (som MTOM attachment) samt de specificerede metadata (linjerne til )

---------------------------
ID: 4
Address: https://dros-url/dros/iti41
Encoding: UTF-8
Http-Method: POST
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:da2afd84-8a4e-46ca-ab71-e920902deb54"; start="<root.message@cxf.apache.org>"; start-info="application/soap+xml"
Headers: {Accept=[*/*]}
Payload: --uuid:da2afd84-8a4e-46ca-ab71-e920902deb54
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+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>
     .. soap headers fjernet for overskueligehed...
  </soap:Header>
  <soap:Body>
    <ns4:ProvideAndRegisterDocumentSetRequest 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">
      <ns5:SubmitObjectsRequest>
        <ns2:RegistryObjectList>
          <ns2:ExtrinsicObject mimeType="text/xml" lid="6635226481159821119.5553848086728887795.1616059898080" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="47f10d08-1f5a-4d1f-bf75-2480edb0700a">
            <ns2:Slot name="creationTime">
              <ns2:ValueList>
                <ns2:Value>20210318103138</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="languageCode">
              <ns2:ValueList>
                <ns2:Value>da-DK</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="serviceStartTime">
              <ns2:ValueList>
                <ns2:Value>20210318103138</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="serviceStopTime">
              <ns2:ValueList>
                <ns2:Value>20210318103138</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="sourcePatientId">
              <ns2:ValueList>
                <ns2:Value>2512489996^^^&1.2.208.176.1.2&ISO</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Name>
              <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
            </ns2:Name>
            <ns2:Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="" id="urn:uuid:5a78ae33-6d98-44a1-ae3b-fd545d8f1d10">
              <ns2:Slot name="authorInstitution">
                <ns2:ValueList>
                  <ns2:Value>DROS Testafdeling^^^^^&1.2.208.176.1.1&ISO^^^^12345679999</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="001" id="urn:uuid:5fcce592-4f19-42ec-939c-4d05418f562f">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>1.2.208.184.100.9</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Klinisk rapport"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:ef6231d7-3b2a-411a-a20f-4543c4cc1371">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>1.2.208.184.14.1</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="DK CDA APD"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="22232009" id="urn:uuid:f5d80141-b100-48fd-9a00-b25b7b67b1d3">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>2.16.840.1.113883.6.96</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="hospital"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="408443003" id="urn:uuid:f3166c7e-593a-44d4-adf9-c6dfcd15a1d6">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>2.16.840.1.113883.6.96</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="almen medicin"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="39289-4" id="urn:uuid:c8c1b043-ef3e-489e-88d4-1e4ab987a4a6">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>2.16.840.1.113883.6.1</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" nodeRepresentation="N" id="urn:uuid:dc253ec1-4932-4ccb-b190-0166bfa21e92">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>2.16.840.1.113883.5.25</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="N"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:ExternalIdentifier registryObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="ABCDE^^^&1.2.208.176.1.2&ISO" id="urn:uuid:43dc1279-864a-4265-82ad-3f2c3897e064">
              <ns2:Name>
                <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="6635226481159821119.5553848086728887795.1616059898080" id="urn:uuid:4461d584-820c-4ed2-ba63-ae05ba1a6c79">
              <ns2:Name>
                <ns2:LocalizedString value="XDSDocumentEntry.uniqueId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
          </ns2:ExtrinsicObject>
          <ns2:RegistryPackage status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="5769991821585463978.758404392655567289.1616059898086">
            <ns2:Slot name="submissionTime">
              <ns2:ValueList>
                <ns2:Value>20210318103138</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="5769991821585463978.758404392655567289.1616059898086" nodeRepresentation="39289-4" id="urn:uuid:012c6bc3-b724-44fc-ae7a-f773c91098dc">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>2.16.840.1.113883.6.1</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:ExternalIdentifier registryObject="5769991821585463978.758404392655567289.1616059898086" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="ABCDE^^^&1.2.208.176.1.2&ISO" id="urn:uuid:eed2a086-047e-4c54-9dc8-dcec6098e8cc">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="5769991821585463978.758404392655567289.1616059898086" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="5769991821585463978.758404392655567289.1616059898086" id="urn:uuid:4eb17351-da34-4dd0-a763-ce67e0cb3382">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="5769991821585463978.758404392655567289.1616059898086" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="5769991821585463978.758404392655567289.1616059898086" id="urn:uuid:753972d4-20b5-4846-8f8e-aadeab5ca426">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
          </ns2:RegistryPackage>
          <ns2:Classification classifiedObject="5769991821585463978.758404392655567289.1616059898086" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:01fe37ff-c362-4c5f-af35-5aa59c257af5"/>
          <ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="5769991821585463978.758404392655567289.1616059898086" targetObject="47f10d08-1f5a-4d1f-bf75-2480edb0700a" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="8f80396b-6133-47b5-8a03-353c8e7b1ec7">
            <ns2:Slot name="SubmissionSetStatus">
              <ns2:ValueList>
                <ns2:Value>Original</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
          </ns2:Association>
        </ns2:RegistryObjectList>
      </ns5:SubmitObjectsRequest>
      <ns4:Document id="47f10d08-1f5a-4d1f-bf75-2480edb0700a">
        <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:0defde0a-5f1e-46f2-b5cd-116ed655ad2d-3@urn%3Aihe%3Aiti%3Axds-b%3A2007"/>
      </ns4:Document>
    </ns4:ProvideAndRegisterDocumentSetRequest>
  </soap:Body>
</soap:Envelope>
--uuid:da2afd84-8a4e-46ca-ab71-e920902deb54
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-ID: <0defde0a-5f1e-46f2-b5cd-116ed655ad2d-3@urn:ihe:iti:xds-b:2007>

<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" classCode="DOCCLIN" moodCode="EVN" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd">
  <realmCode code="DK"/>
  <typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>
  <!-- MedCom DK CDA APD profile OID -->
  <templateId root="1.2.208.184.14.1"/>
  <id assigningAuthorityName="MedCom" extension="aa2386d0-79ea-11e3-981f-0800200c9a66" root="1.2.208.184"/>
  <!-- LOINC code for appointment date -->
  <code code="39289-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
  <!-- title = "Aftale for" + patient id -->
  <title>Aftale for 2512489996</title>
  <effectiveTime value="20170113100000+0100"/>
  <confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
  <languageCode code="da-DK"/>

  ... resten af dokumetet er fjernet for overskuelighed ...  

</ClinicalDocument>
--uuid:da2afd84-8a4e-46ca-ab71-e920902deb54--