1. Introduktion

1.1. 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.

1.2. 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).

1.3. Referencer

TermBeskrivelseEvt reference
DGWSDen Gode Webservice
IHE XDSCross Enterprise Document Sharing (IHE)Cross-Enterprise Document Sharing

2. 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.

3. 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 1 )

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

4. 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.

Eksempelkoden stammer oprindeligt (er tilrettet for simplificering) fra DROS integrationstest og kan findes her:  https://svn.nspop.dk/src/components/dros/trunk/

ITI snitfladerne kaldes som SOAP web services, og er i det såkaldte XML basererede "RIM format", der er specificeret af IHE XDS standarden. Open eHealth frameworket kan blandt andet mappe fra RIM formatet til en en "OpeneHealth core model", som er java klasser. Og gør det at udvikle ITI kald lettere at arbejde med.

Helt overordnet kan det at lave et ITI kald deles op i følgende trin

  1. Opret kald i OpeneHealth core model
    1. For iti41 kald indebærer det blandt andet opret/indlæs af dokument samt opret af metadata til documententry
    2. For iti42, 57 og 61 indebærer det oprettelse af metadata
  2. Udfør kald - det transformeres til RIM format på vej ud, og tilbage til core model ved returnering vha. openeHealth frameworket
  3. Aflæs kaldets svar og håndter eventuelle fejl returneret


Dette kan illustreres ved følgende tranformeringsdiagram, hvor man ser core modellen blive transformateret til RIM formatet, og efterfølgende et ITI kald udført. Resultatet af ITI kaldet kommer tilbage i RIM format, og transformeres til core modellen:

kald


Et eksempel på, hvordan forskellen mellem core model og RIM format kommer til udtryk, ses her for håndtering af confidentiality code og CPR nummer i forbindelse med oprettelse af et dokument.

Først OpeneHealth core model, den kode man skriver i sit program:

documentEntry.getConfidentialityCodes().add(new Code("N", new LocalizedString("N"), "2.16.840.1.113883.5.25"));

AssigningAuthority patientIdAssigningAuthority = new AssigningAuthority("1.2.208.176.1.2");
Code patientCode = new Code("2512489996", new LocalizedString("CPR"), "1.2.208.176.1.2");
documentEntry.setPatientId(new Identifiable(patientCode, patientIdAssigningAuthority));


Og her tilsvarende RIM format, som openeHealth oversætter det til:

<ns2:Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2" nodeRepresentation="N" id="urn:uuid:9068bc2b-1717-4337-abfb-027f303b20c6">
  <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="urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:6dc240d8-d871-4df1-b8c6-3414f1415022">
  <ns2:Name>
    <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
  </ns2:Name>
</ns2:ExternalIdentifier> 


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.

5. 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.

Derudover skal den anvendende organisation være whitelistet til kald til DROS. Dette gøres ved at oprette en supportsag via https://www.nspop.dk/category/sup - husk at vedhæfte den offentlige del af det certifikat, der skal anvendes eller angiv CVR eller certifkatets uuid i sagen.

Der kan være flere instanser af DROS kørende. Er dette tilfælde, vil der være et krav til hvilken dokument type, man kalder den enkelte med. Det vil fremgå af den returnerede fejlbesked, hvilke type koder, man kan anvende for den kaldte DROS.

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

5.1. Understøttelse af 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).

En vigtig detalje er Document Entry UUID, som sættes på DocumentEntry. Denne anvendes i forbindelse med "Ret Stable Dokument" og "Slet Dokument" og skal sættes med prefix "urn:uuid:".  I nedenstående eksempel er det "urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2"

Helt overordnet vil et kald ITI-41 kunne laves med:

Eksempel på ITI-41 kald
// Indlæs dokumentet, som skal registreres
String documentPayload = getAppointmentXmlDocument();

// Opret documentEntry   -   boks 2 (core model) i transformeringsfiguren 
DocumentEntry documentEntry = createDocumentEntry(); 

// Opret kald/request   -   boks 2 og 3 (core model og RIM format) i transformeringsfiguren 
ProvideAndRegisterDocumentSetRequestType provideAndRegisterDocumentSetRequest = buildProvideAndRegisterDocumentSetRequestAftale(documentEntry, documentPayload);

// Udfør kald   -   ITI kaldet mellem boks 3 (RIM format) og DROS i transformeringsfiguren 
RegistryResponseType registryResponse = iti41PortType.documentRepositoryProvideAndRegisterDocumentSetB(provideAndRegisterDocumentSetRequest);

// Aflæs kaldets svar   -   boks 3 og 2 (RIM format og core model) i transformeringsfiguren 
handleResponse(registryResponse);


En del af felterne i documentEntry er felter, som kan findes i selve header delen af XML dokumentet. Derfor kan det at lave en documentEntry gøres på 2 måder: Hvis man selv har skabt XML dokumentet, så har man disse felters værdi og kan sætte dem direkte. Er XML dokumentet skabt på forhånd, kan man deserialisere det, og hente relevante informationer ud.

Når man udfylder documentEntry med metadata skal man overholde de danske regler defineret af Medcom (links fundet feb 2022):

Det følgende eksempel viser, hvordan man kan sætte værdierne i documententry. Se "den danske metadta profil" for specifikke detaljer.

Eksempel på oprettelse af documententry
public DocumentEntry createDocumentEntry() {

     sourcePatientInfo.setName(new XpnName("Berggren", "Nancy", "Ann", null, null, null));
 	 sourcePatientInfo.setGender("F");
 	 sourcePatientInfo.setDateOfBirth("19481225");

	return createDocumentEntry(new Code("2512489996", new LocalizedString("CPR"), "1.2.208.176.1.2"),    // OID for CPR registret (se XDS metadata value set)
 			new Code("12345679999", new LocalizedString("DROS Testafdeling"), "1.2.208.176.1.1"),    // OID for SOR (XDS metadata value set)
  			"20220221113011", "20220221113011", "20220221113011", // datoer skal angives i UTC tid
			new Code("001", new LocalizedString("Klinisk rapport"), "1.2.208.184.100.9"), 
			new Code("N", new LocalizedString("N"), "2.16.840.1.113883.5.25"), 
			null, 
			new Code("urn:ad:dk:medcom:appointmentsummary:full", new LocalizedString("DK Appointment Summary Document schema"), "1.2.208.184.100.10"), 
			new Code("22232009", new LocalizedString("hospital"), "2.16.840.1.113883.6.96"), 
			"da-DK", 
			"text/xml", 
			"Dato og tidspunkt for møde mellem patient og sundhedsperson", 
			new Code("39289-4", new LocalizedString("Follow-up (referred to) provider &or specialist, appointment date"), "2.16.840.1.113883.6.1"), 
			new Code("408443003", new LocalizedString("almen medicin"), "2.16.840.1.113883.6.96"), 
 			sourcePatientInfo,
 			"urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2", // dette er det entryuuid, som skal anvendes i forbindelse med evt. ret og slet dokument
			"8438472030670286734.7450729509229840524.1645439411709",
			"8438472030670286734.7450729509229840524.1645439411709");
}


public DocumentEntry createDocumentEntry(Code patientId, Code organisation, String creationTime, String serviceStartTime, String serviceStopTime, Code classCode, Code confidentialityCode, List<Code> eventCodes, Code formatCode, Code healthcareFacilityTypeCode, 
		 String languageCode, String mimeType, String title, Code typeCode, Code practiceSettingCode, String documentEntryUuid, String uniqueId, String logicalId) {
	
	// Opret DocumentEntry for CDA dokumentet
	DocumentEntry documentEntry = new DocumentEntry();
	documentEntry.setEntryUuid(documentEntryUuid); //
	documentEntry.setUniqueId(uniqueId);
	documentEntry.setLogicalUuid(logicalId);

	// Patient Identification
	Identifiable patientIdentifiable = null;
	if (patientId != null) {
		AssigningAuthority patientIdAssigningAuthority = new AssigningAuthority(patientId.getSchemeName());
		patientIdentifiable = new Identifiable(patientId.getCode(), patientIdAssigningAuthority);
	}
	documentEntry.setPatientId(patientIdentifiable);
	documentEntry.setSourcePatientId(patientIdentifiable);


	// Opret author (Organisation)
	AssigningAuthority organisationAssigningAuthority = new AssigningAuthority(organisation.getSchemeName());
	Author author = new Author();
	if (organisation != null && organisation.getCode() != null) {
		String orgDisplayname = (organisation.getDisplayName() != null ? organisation.getDisplayName().getValue() : "");
		Organization authorOrganisation = new Organization(orgDisplayname, organisation.getCode(), organisationAssigningAuthority);
		author.getAuthorInstitution().add(authorOrganisation);
	}
	documentEntry.setAuthor(author);

	// Availability Status (enumeration: APPROVED, SUBMITTED, DEPRECATED)
	documentEntry.setAvailabilityStatus(AvailabilityStatus.APPROVED);

	// Datoer - skal angives i UTC tid
	if (creationTime != null) {
		documentEntry.setCreationTime(creationTime);
	}
	if (serviceStartTime != null) {
		documentEntry.setServiceStartTime(serviceStartTime);
	}
	if (serviceStopTime != null) {
		documentEntry.setServiceStopTime(serviceStopTime);
	}

	if (classCode != null) {
		documentEntry.setClassCode(classCode);
	}
	if (confidentialityCode != null) {
		documentEntry.getConfidentialityCodes().add(confidentialityCode);
	}

	List<Code> eventCodesEntry = documentEntry.getEventCodeList();
	if (eventCodes != null) {
		for (Code eventCode : eventCodes) {
			eventCodesEntry.add(eventCode);
		}
	}
	if (formatCode != null) {
		documentEntry.setFormatCode(formatCode);
	}
	if (healthcareFacilityTypeCode != null) {
		documentEntry.setHealthcareFacilityTypeCode(healthcareFacilityTypeCode);
	}
	if (languageCode != null) {
		documentEntry.setLanguageCode(languageCode);
	}
	if (mimeType != null) {
		documentEntry.setMimeType(mimeType);
	}
	documentEntry.setType(DocumentEntryType.STABLE);
	if (title != null) {
		documentEntry.setTitle(new LocalizedString(title));
	}
	if (typeCode != null) {
		documentEntry.setTypeCode(typeCode);
	}
	if (practiceSettingCode != null) {
		documentEntry.setPracticeSettingCode(practiceSettingCode);
	}
	return documentEntry;
}


At lave ProvideAndRegisterDocumentSetRequestType kan gøres på følgende måde:

Eksempel på oprettelse af ProvideAndRegisterDocumentSetRequestType
public ProvideAndRegisterDocumentSetRequestType buildProvideAndRegisterDocumentSetRequest(DocumentEntry documentEntry, String documentPayload, Code contentTypeCode) {

	ProvideAndRegisterDocumentSet provideAndRegisterDocumentSet = new ProvideAndRegisterDocumentSet();

	Document document = new Document(documentEntry, new DataHandler(new ByteArrayDataSource(documentPayload.getBytes(), documentEntry.getMimeType())));
	provideAndRegisterDocumentSet.getDocuments().add(document);

	// Opret SubmissionSet
	SubmissionSet submissionSet = createSubmissionSet(documentEntry.getPatientId(), new Code("39289-4", new LocalizedString("Follow-up (referred to) provider &or specialist, appointment date"), "2.16.840.1.113883.6.1"), "20220221113011");
	provideAndRegisterDocumentSet.setSubmissionSet(submissionSet);

	// Opret association mellem SubmissionSet og DocumentEntry
	Association association = createAssociation(submissionSet, documentEntry);
	provideAndRegisterDocumentSet.getAssociations().add(association);

	// Transformer request - dette laver core model om til RIM format
	ProvideAndRegisterDocumentSetTransformer registerDocumentSetTransformer = new ProvideAndRegisterDocumentSetTransformer(ebXMLFactory);
	EbXMLProvideAndRegisterDocumentSetRequest30 ebxmlRequest = (EbXMLProvideAndRegisterDocumentSetRequest30) registerDocumentSetTransformer.toEbXML(provideAndRegisterDocumentSet);
	ProvideAndRegisterDocumentSetRequestType provideAndRegisterDocumentSetRequestType = ebxmlRequest.getInternal();

	return provideAndRegisterDocumentSetRequestType;
}


At oprette SubmissionSet kan gøres som:

Eksempel på submissionset
public SubmissionSet createSubmissionSet(Identifiable patientIdentifiable, Code contentTypeCode, String submissionTime) {
	SubmissionSet submissionSet = new SubmissionSet();
	submissionSet.setUniqueId(generateId());
	submissionSet.setSourceId(generateId());
	submissionSet.setEntryUuid(generateUUID());
	submissionSet.setPatientId(patientIdentifiable);
	submissionSet.setContentTypeCode(contentTypeCode);
	submissionSet.setAvailabilityStatus(AvailabilityStatus.APPROVED);
	submissionSet.setSubmissionTime(submissionTime);
	return submissionSet;
}


Og at oprette en association kan gøres som:

Eksempel på association
public Association createAssociation(SubmissionSet submissionSet, DocumentEntry documentEntry) {
	Association association = new Association();
	association.setAssociationType(AssociationType.HAS_MEMBER);
	association.setEntryUuid(generateUUID());
	association.setSourceUuid(submissionSet.getEntryUuid());
	association.setTargetUuid(documentEntry.getEntryUuid());
	association.setAvailabilityStatus(AvailabilityStatus.APPROVED);
	association.setLabel(AssociationLabel.ORIGINAL);
	return association;
}


Når kaldet er udført, tjekkes om alt gik, som det skulle:

public void handleResponse(RegistryResponseType registryResponse) {

	// Transformer response - dette laver RIM format til core model
	ResponseTransformer responseTransformer = new ResponseTransformer(ebXMLFactory);
	Response response = responseTransformer.fromEbXML(new EbXMLRegistryResponse30(registryResponse));

	if (response.getStatus().equals(Status.SUCCESS)) {
		// Kaldet gik godt
	} else
	if (response.getStatus().equals(Status.PARTIAL_SUCCESS) || response.getStatus().equals(Status.FAILURE)) {
		// Der er warning eller fejl i kaldet, håndter dem
		for (ErrorInfo error : response.getErrors()) {
		}
	} 
}


I requestet nedenfor ses selve dokumentet (som MTOM attachment) samt de specificerede metadata (den del af requestet, der er i tag SubmitObjectsRequest).

Opret Stable Dokument Request
---------------------------
ID: 4
Address: https://dros-url/dros/iti41
Encoding: UTF-8
Http-Method: POST
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:2f4c8aeb-3158-4730-acaf-d113802064c9"; start="<root.message@cxf.apache.org>"; start-info="application/soap+xml"
Headers: {Accept=[*/*]}
Payload: --uuid:2f4c8aeb-3158-4730-acaf-d113802064c9
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="8438472030670286734.7450729509229840524.1645439411709" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67">
            <ns2:Slot name="creationTime">
              <ns2:ValueList>
                <ns2:Value>20220221113011</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>20220221113011</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="serviceStopTime">
              <ns2:ValueList>
                <ns2:Value>20220221113011</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:Slot name="sourcePatientInfo">
              <ns2:ValueList>
                <ns2:Value>PID-5|Berggren^Nancy^Ann</ns2:Value>
                <ns2:Value>PID-7|19481225</ns2:Value>
                <ns2:Value>PID-8|F</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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="" id="urn:uuid:5d10bc50-f8fc-4209-9b5b-9ae7e3ec9c16">
              <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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="001" id="urn:uuid:fc8d7a57-1ca4-492d-ab01-69306d007f09">
              <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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="urn:ad:dk:medcom:appointmentsummary:full" id="urn:uuid:1ad9b3b9-163a-401d-9bb8-087b14fad7ab">
              <ns2:Slot name="codingScheme">
                <ns2:ValueList>
                  <ns2:Value>1.2.208.184.100.10</ns2:Value>
                </ns2:ValueList>
              </ns2:Slot>
              <ns2:Name>
                <ns2:LocalizedString xml:lang="en-US" charset="UTF-8" value="DK Appointment Summary Document schema"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="22232009" id="urn:uuid:9e659080-2238-43b7-bc6d-6705596e9451">
              <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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="408443003" id="urn:uuid:4c1de4ab-f396-4d40-aa0f-5cd48e9fbf46">
              <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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="39289-4" id="urn:uuid:e80eacf0-9047-47de-9d7a-7b37ae7fb749">
              <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="Follow-up (referred to) provider &or specialist, appointment date"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" nodeRepresentation="N" id="urn:uuid:4274843e-3550-4234-877b-9b70ed5ec1ef">
              <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="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="ABCDE^^^&1.2.208.176.1.2&ISO" id="urn:uuid:90e4671c-fed6-4b01-9b23-efbdad59a90a">
              <ns2:Name>
                <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="8438472030670286734.7450729509229840524.1645439411709" id="urn:uuid:6d5fe954-401e-4e44-b9a7-ea69713d55fb">
              <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="6610087827968212831.3203050515460410630.1645439455555">
            <ns2:Slot name="submissionTime">
              <ns2:ValueList>
                <ns2:Value>20220221113011</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="6610087827968212831.3203050515460410630.1645439455555" nodeRepresentation="39289-4" id="urn:uuid:5901c10c-427c-4e9f-bd02-f722bbe682cc">
              <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="Follow-up (referred to) provider &or specialist, appointment date"/>
              </ns2:Name>
            </ns2:Classification>
            <ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:455d6c19-04a8-4abc-86a7-b4610879f9bb">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="6610087827968212831.3203050515460410630.1645439455555" id="urn:uuid:d86cc2f3-726d-4e67-8d5b-65ddcb244607">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="6610087827968212831.3203050515460410630.1645439455555" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="6610087827968212831.3203050515460410630.1645439455555" id="urn:uuid:995d3638-f9b9-4cf7-99da-396b2c15b82c">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
          </ns2:RegistryPackage>
          <ns2:Classification classifiedObject="6610087827968212831.3203050515460410630.1645439455555" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:71497627-476c-492c-8dac-b1532e4fcdb0"/>
          <ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="6610087827968212831.3203050515460410630.1645439455555" targetObject="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="d5d9f096-a2d2-4029-86cc-6a19e3af30e4">
            <ns2:Slot name="SubmissionSetStatus">
              <ns2:ValueList>
                <ns2:Value>Original</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
          </ns2:Association>
        </ns2:RegistryObjectList>
      </ns5:SubmitObjectsRequest>
      <ns4:Document id="urn:uuid:cfe0c274-170c-457e-8db4-978ef88cbc67">
        <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:5cc72a7d-d08c-4a24-aecb-ada368be561d-1@urn%3Aihe%3Aiti%3Axds-b%3A2007"/>
      </ns4:Document>
    </ns4:ProvideAndRegisterDocumentSetRequest>
  </soap:Body>
</soap:Envelope>

--uuid:2f4c8aeb-3158-4730-acaf-d113802064c9
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-ID: <5cc72a7d-d08c-4a24-aecb-ada368be561d-1@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">
  ... resten af dokumetet er fjernet for overskuelighed ... 
</ClinicalDocument> 
--uuid:2f4c8aeb-3158-4730-acaf-d113802064c9-- 
--------------------------------------
Opret Stable Dokument Response
----------------------------
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--
--------------------------------------

5.2. 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.

Det dokument, der skal registreres sendes med i requestet. Efter udførsel, vil det gamle dokument være deprecated.

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).

Derudover er det anvenderens opgave at specificere, hvilket dokument der skal rettes. Til dette formål anvendes Document Entry UUID, hvorunder dokumentet er registreret i det nationale XDS Registry. Dette angives i forbindelse med "Opret Stable Dokument" se ovenfor. (Alternativt kan dette UUID findes ved først at gennemføre en søgning mod Dokumentdelingsservicen). I requestet angives dette med en Association med typen RPLC (replace).


En rettelse laves på samme måde, som ovenfor angivet ovenfor med opret et nyt dokument. Men derudover skal der, når man laver ProvideAndRegisterDocumentSetRequestType, oprettes en association mellem det gamle og det nye dokumententry. entryUuidFoDocuemntToReplace vil være urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2 ifald man vil rette det oprindelige dokument fra "Opret Stable Dokument".

Eksempel på association for rettelse
// Hvis det er en opdatering af dokumentet, oprettes association mellem det gamle og det nye dokument vha. entryuuid'erne
if (doReplace && entryUuidForDocumentToReplace != null) {
 	Association replacementAssociation = new Association(AssociationType.REPLACE, generateUUID(), documentEntry.getEntryUuid(), entryUuidForDocumentToReplace);
 	provideAndRegisterDocumentSet.getAssociations().add(replacementAssociation);
}


I requestet nedenfor ses selve dokumentet (som MTOM attachment) samt de specificerede metadata (den del af requestet, der er i tag SubmitObjectsRequest).

Ret Stable Dokument Request
---------------------------
ID: 8
Address: https://drosurl/dros/iti41
Encoding: UTF-8
Http-Method: POST
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:33963231-c4aa-44e3-af97-3c16b4d89d01"; start="<root.message@cxf.apache.org>"; start-info="application/soap+xml"
Headers: {Accept=[*/*]}
Payload: --uuid:33963231-c4aa-44e3-af97-3c16b4d89d01
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>
      ...soapheaders fjernet for overskuelighed ...
  </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="7611575883162573286.6957150597387238313.1616587056189" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e">
            <ns2:Slot name="creationTime">
              <ns2:ValueList>
                <ns2:Value>20210324125736</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>20210324125736</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="serviceStopTime">
              <ns2:ValueList>
                <ns2:Value>20210324125736</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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="" id="urn:uuid:64496e25-9d48-4493-8c87-af16295e6c7a">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="001" id="urn:uuid:95bfd81c-6ee8-439c-a632-2b4ae57c24a1">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:94e018a0-7035-483d-bb19-535c7fd6431a">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="22232009" id="urn:uuid:22c69921-481a-4618-84be-e98ca990ff1e">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="408443003" id="urn:uuid:57cddacf-1817-4b36-a60b-c34dee69158d">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="39289-4" id="urn:uuid:b78f2670-e44e-4691-8d2f-b02fc091191d">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" nodeRepresentation="N" id="urn:uuid:c8d8920e-5602-4227-9a54-1ea71896038b">
              <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="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:4dd25780-3dda-43e4-bb1d-7f1721dc3664">
              <ns2:Name>
                <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="7611575883162573286.6957150597387238313.1616587056189" id="urn:uuid:53bc441e-9f7b-4eca-bb08-e578cf629c6a">
              <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="6838596777883573123.630395976964457848.1616587072756">
            <ns2:Slot name="submissionTime">
              <ns2:ValueList>
                <ns2:Value>20210324125736</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
            <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="6838596777883573123.630395976964457848.1616587072756" nodeRepresentation="39289-4" id="urn:uuid:77f55447-c9ce-4d44-b1c1-59aaef16d8ff">
              <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="6838596777883573123.630395976964457848.1616587072756" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:71c0d6e1-5ebb-4c93-815f-495ab78134b9">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="6838596777883573123.630395976964457848.1616587072756" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="6838596777883573123.630395976964457848.1616587072756" id="urn:uuid:68f39bc4-aabc-4923-8e4a-7de2ad738404">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
            <ns2:ExternalIdentifier registryObject="6838596777883573123.630395976964457848.1616587072756" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="6838596777883573123.630395976964457848.1616587072756" id="urn:uuid:d6e3eaa1-8fd1-44b4-90d4-9ac53599ea81">
              <ns2:Name>
                <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
              </ns2:Name>
            </ns2:ExternalIdentifier>
          </ns2:RegistryPackage>
          <ns2:Classification classifiedObject="6838596777883573123.630395976964457848.1616587072756" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:eb803b33-4000-4eb7-ba8c-5143219048e5"/>
          <ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="6838596777883573123.630395976964457848.1616587072756" targetObject="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="59bf36cb-e000-4abb-a184-bc8a336fa98a">
            <ns2:Slot name="SubmissionSetStatus">
              <ns2:ValueList>
                <ns2:Value>Original</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
          </ns2:Association>
          <ns2:Association associationType="urn:ihe:iti:2007:AssociationType:RPLC" sourceObject="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e" targetObject="urn:uuid:7ce5b105-cb7e-4bf4-8dfc-17e1a50d6db1" id="880ba1dc-5e9e-4200-ab9a-804acc19b097"/>
        </ns2:RegistryObjectList>
      </ns5:SubmitObjectsRequest>
      <ns4:Document id="urn:uuid:7e9b48d8-2930-4481-9e99-d1e17fe7760e">
        <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:5a142a5b-fe8d-40dc-bc7e-1e2df3a527c9-5@urn%3Aihe%3Aiti%3Axds-b%3A2007"/>
      </ns4:Document>
    </ns4:ProvideAndRegisterDocumentSetRequest>
  </soap:Body>
</soap:Envelope>

--uuid:33963231-c4aa-44e3-af97-3c16b4d89d01
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-ID: <5a142a5b-fe8d-40dc-bc7e-1e2df3a527c9-5@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:33963231-c4aa-44e3-af97-3c16b4d89d01--
--------------------------------------
Ret Stable Dokument Response
----------------------------
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--
--------------------------------------

5.3. 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.

Det er anvenderens opgave at specificere, hvilket dokument der skal opdateres ved at matche logcialId, uniqueId og objecttype (stable). Det fulde sæt af metadata skal sendes med i requestet og ikke kun, som ønskes ændret.

Helt overordnet vil et kald ITI-57 kunne laves med:

Eksempel på ITI-57 kald opdater metadata
// Skaf documententry detaljer, som skal opdateres
DocumentEntry documentEntryToUpdate = getDocumentEntryToUpdate();

// Tildel ny entryuuid
documentEntryToUpdate.setEntryUuid(generateUUID());

// Opdater version
documentEntryToUpdate.setVersion(new Version("2"));

// Opdater det metadata som skal justeres. F.eks. practice setting
documentEntryToUpdate.setPracticeSettingCode(practiceSettingCode);

// Opret kald/ request
SubmitObjectsRequest submitObjectsRequest = createUpdateDocumentMetadataRequest(documentEntryToUpdate);

// Udfør kald
RegistryResponseType registryResponse = iti57PortType.documentRegistryUpdateDocumentSet(submitObjectsRequest);

// Aflæs kaldets svar
handleResponse(registryResponse);


At lave SubmitObjectsRequest kan gøres på følgende måde:

Eksempel på oprettelse af SubmitObjectsRequest
public SubmitObjectsRequest createUpdateRequest(DocumentEntry documentEntryToUpdate) {

	RegisterDocumentSet request = new RegisterDocumentSet();
    String oldVersion = "1";

	// Opret SubmissionSet
	SubmissionSet submissionSet = createSubmissionSetForDocumentEntry(generateUUID(), documentEntryToUpdate, generateUUID());
	request.setSubmissionSet(submissionSet);
	
	// Opret association mellem SubmissionSet og DocumentEntry der skal opdateres
	Association association = createHasMemberAssociationWithPropagation(submissionSet, documentEntryToUpdate, oldVersion);
	request.getAssociations().add(association);

	// Sæt de nye metadata
	request.getDocumentEntries().add(documentEntryToUpdate);
    
    // Transformer request - dette laver core model om til RIM format
	RegisterDocumentSetTransformer requestTransformer = new RegisterDocumentSetTransformer(ebXMLFactory);
	EbXMLSubmitObjectsRequest30 ebxmlRequest = (EbXMLSubmitObjectsRequest30) requestTransformer.toEbXML(registerDocumentSet);
	SubmitObjectsRequest submitObjectsRequest = ebxmlRequest.getInternal();

	return submitObjectsRequest;
}


At oprette SubmissionSet kan gøres som:

Eksempel på submissionset
private SubmissionSet createSubmissionSetForDocumentEntry(String id, DocumentEntry documentEntry, String uniqueId) {
	SubmissionSet submissionSet = new SubmissionSet();
	submissionSet.setEntryUuid(id);
	submissionSet.setLogicalUuid(id);
	submissionSet.setUniqueId(uniqueId);
	submissionSet.setPatientId(documentEntry.getPatientId());
	submissionSet.setSourceId(documentEntry.getRepositoryUniqueId());
	submissionSet.setContentTypeCode(documentEntry.getTypeCode());
	submissionSet.setSubmissionTime(new DateTime());
	
	return submissionSet;
}


Og at oprette en association kan gøres som følgende. 

Eksempel på association
public Association createHasMemberAssociationWithPropagation(SubmissionSet submissionSet, DocumentEntry documentEntry, String oldVersion) {
	Association association = createAssociation(submissionSet, documentEntry);
    association.setPreviousVersion(oldVersion);
    association.setAssociationPropagation(true);
	return association;
}

public Association createAssociation(SubmissionSet submissionSet, DocumentEntry documentEntry) {
	// Opret association mellem SubmissionSet og DocumentEntry
	Association association = new Association();
	association.setAssociationType(AssociationType.HAS_MEMBER);
	association.setEntryUuid(generateUUID());
	association.setSourceUuid(submissionSet.getEntryUuid());
	association.setTargetUuid(documentEntry.getEntryUuid());
	association.setAvailabilityStatus(AvailabilityStatus.APPROVED);
	association.setLabel(AssociationLabel.ORIGINAL);
	return association;
}


I requestet nedenfor ses opdatering af metadata for et dokument.

Opdater metadata Dokument Request
---------------------------
ID: 12
Address: https://drosurl/dros/iti57
Encoding: UTF-8
Http-Method: POST
Content-Type: application/soap+xml
Headers: {Accept=[*/*]}
Payload: 
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
  <soapenv:Header>
.... fjernet for overskueligehed...

  </soapenv:Header>
  <soapenv:Body>
    <ns4:SubmitObjectsRequest xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns3="urn:ihe:iti:xds-b:2007" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0">
      <RegistryObjectList>
        <ExtrinsicObject id="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" lid="urn:uuid:8f5f66c8-321d-4fa4-b4af-890018e7719e" mimeType="text/xml" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved">
          <Slot name="creationTime">
            <ValueList>
              <Value>20240123105924</Value>
            </ValueList>
          </Slot>
          <Slot name="languageCode">
            <ValueList>
              <Value>da-DK</Value>
            </ValueList>
          </Slot>
          <Slot name="serviceStartTime">
            <ValueList>
              <Value>20240123105924</Value>
            </ValueList>
          </Slot>
          <Slot name="serviceStopTime">
            <ValueList>
              <Value>20240123105924</Value>
            </ValueList>
          </Slot>
          <Slot name="repositoryUniqueId">
            <ValueList>
              <Value>5135212154965747596.2217458485955375452.1706003967039</Value>
            </ValueList>
          </Slot>
          <Slot name="sourcePatientId">
            <ValueList>
              <Value>ABCDE^^^&1.2.208.176.1.2&ISO</Value>
            </ValueList>
          </Slot>
          <Slot name="sourcePatientInfo">
            <ValueList>
              <Value>PID-5|Berggren^Nancy^Ann</Value>
              <Value>PID-7|19481225</Value>
              <Value>PID-8|F</Value>
            </ValueList>
          </Slot>
          <Name>
            <LocalizedString charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson" xml:lang="en-US"/>
          </Name>
          <VersionInfo versionName="2"/>
          <Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:79698964-1396-4f08-a628-ecf428ba5c41" nodeRepresentation="">
            <Slot name="authorInstitution">
              <ValueList>
                <Value>DROS Testafdeling^^^^^&1.2.208.176.1.1&ISO^^^^12345679999</Value>
              </ValueList>
            </Slot>
          </Classification>
          <Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:34424719-be1e-44de-9254-5a7bbc0839dd" nodeRepresentation="001">
            <Slot name="codingScheme">
              <ValueList>
                <Value>1.2.208.184.100.9</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="Klinisk rapport" xml:lang="en-US"/>
            </Name>
          </Classification>
          <Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:a5a09b50-7dcd-4482-9af9-636cab0dfcd5" nodeRepresentation="urn:ad:dk:medcom:appointmentsummary:full">
            <Slot name="codingScheme">
              <ValueList>
                <Value>1.2.208.184.100.10</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="DK Appointment Summary Document schema" xml:lang="en-US"/>
            </Name>
          </Classification>
          <Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:d16b7aba-52cd-4e58-b9ea-e4df5f3b0a92" nodeRepresentation="22232009">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.6.96</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="hospital" xml:lang="en-US"/>
            </Name>
          </Classification>
          <Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:fc652668-9956-4ee0-a8fe-845a9cf3aade" nodeRepresentation="394821009">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.6.96</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="arbejdsmedicin" xml:lang="en-US"/>
            </Name>
          </Classification>
          <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:d712c782-4c93-45a0-9c1b-1e95bf90d90b" nodeRepresentation="39289-4">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.6.1</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="Follow-up (referred to) provider &or specialist, appointment date" xml:lang="en-US"/>
            </Name>
          </Classification>
          <Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" id="urn:uuid:67fea015-d05e-4133-866f-d3b298b50999" nodeRepresentation="N">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.5.25</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="N" xml:lang="en-US"/>
            </Name>
          </Classification>
          <ExternalIdentifier id="urn:uuid:a86b9d82-b2a2-4925-bed5-e117955d2712" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" registryObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" value="ABCDE^^^&1.2.208.176.1.2&ISO">
            <Name>
              <LocalizedString value="XDSDocumentEntry.patientId"/>
            </Name>
          </ExternalIdentifier>
          <ExternalIdentifier id="urn:uuid:4f05d086-f63e-4575-9f19-bac250ee52a3" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" registryObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8" value="6264145156628305494.3484194301893954463.1706003964982">
            <Name>
              <LocalizedString value="XDSDocumentEntry.uniqueId"/>
            </Name>
          </ExternalIdentifier>
        </ExtrinsicObject>
        <RegistryPackage id="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" lid="5044f4e8-3954-4c1f-a3f8-4f3f57136e41">
          <Slot name="submissionTime">
            <ValueList>
              <Value>20240123095927</Value>
            </ValueList>
          </Slot>
          <Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" id="urn:uuid:e9431404-c820-4377-9a3c-9114a51b1849" nodeRepresentation="39289-4">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.6.1</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString charset="UTF-8" value="Follow-up (referred to) provider &or specialist, appointment date" xml:lang="en-US"/>
            </Name>
          </Classification>
          <ExternalIdentifier id="urn:uuid:0ef8a571-6a8f-467d-b3ce-5172fb87acfe" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" registryObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" value="ABCDE^^^&1.2.208.176.1.2&ISO">
            <Name>
              <LocalizedString value="XDSSubmissionSet.patientId"/>
            </Name>
          </ExternalIdentifier>
          <ExternalIdentifier id="urn:uuid:8b73ff55-1bfc-4797-8601-076976f5bb8f" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" registryObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" value="20f04de2-d029-4490-a938-2f570e75f788">
            <Name>
              <LocalizedString value="XDSSubmissionSet.uniqueId"/>
            </Name>
          </ExternalIdentifier>
          <ExternalIdentifier id="urn:uuid:072feba4-6503-4e52-8794-c544da7c09c3" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" registryObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" value="5135212154965747596.2217458485955375452.1706003967039">
            <Name>
              <LocalizedString value="XDSSubmissionSet.sourceId"/>
            </Name>
          </ExternalIdentifier>
        </RegistryPackage>
        <Classification classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" classifiedObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" id="urn:uuid:2e3d7f69-e472-4c09-9aee-60c8916f2175"/>
        <Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" id="057f82dc-2df2-4604-8452-dd82ca01e364" sourceObject="5044f4e8-3954-4c1f-a3f8-4f3f57136e41" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" targetObject="urn:uuid:cb18a01d-b5dc-4880-ae5a-09e2378f3ec8">
          <Slot name="SubmissionSetStatus">
            <ValueList>
              <Value>Original</Value>
            </ValueList>
          </Slot>
          <Slot name="PreviousVersion">
            <ValueList>
              <Value>1</Value>
            </ValueList>
          </Slot>
          <Slot name="AssociationPropagation">
            <ValueList>
              <Value>yes</Value>
            </ValueList>
          </Slot>
        </Association>
      </RegistryObjectList>
    </ns4:SubmitObjectsRequest>
  </soapenv:Body>
</soapenv:Envelope>

--------------------------------------
Opdater metadata Dokument Response
----------------------------
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>
--------------------------------------


5.4. 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.

Deruodover er det anvenderens opgave at specificere, hvilket dokument der skal slettemarkeres (deprecates). Som det fremgår af nedenstående skal data fra den Document Entry, der ønskes slettemarkeret medsendes i requestet. Disse data angives i forbindelse med "Opret Stable Dokument" og har man dem derfra kan de anvendes. Alternativt kan der gennemføres en søgning mod Dokumentdelingsservicen for at finde disse data.

Helt overordnet vil et kald ITI-57 kunne laves med:

Eksempel på ITI-57 kald
// Skaf documententry detaljer, som skal deprecates
DocumentEntry documentEntryToDeprecate = getDocumentEntryToDeprecate();

// Opret kald/ request
SubmitObjectsRequest submitObjectsRequest = createDeprecateRequest(documentEntryToDeprecate);

// Udfør kald
RegistryResponseType registryResponse = iti57PortType.documentRegistryUpdateDocumentSet(submitObjectsRequest);

// Aflæs kaldets svar
handleResponse(registryResponse);


At lave SubmitObjectsRequest kan gøres på følgende måde:

Eksempel på oprettelse af SubmitObjectsRequest
public SubmitObjectsRequest createDeprecateRequest(DocumentEntry documentEntryToDeprecate) {

	RegisterDocumentSet request = new RegisterDocumentSet();

	// Opret SubmissionSet
	SubmissionSet submissionSet = createSubmissionSetForDocumentEntry(generateUUID(), documentEntryToDeprecate);
	request.setSubmissionSet(submissionSet);
	
	// Opret association mellem SubmissionSet og DocumentEntry der skal deprecates
	Association association = createAssociateDeprecateStatus(submissionSet, documentEntryToDeprecate);
	request.getAssociations().add(association);
	
	// Transformer request - dette laver core model om til RIM format
	RegisterDocumentSetTransformer requestTransformer = new RegisterDocumentSetTransformer(ebXMLFactory);
	EbXMLSubmitObjectsRequest30 ebxmlRequest = (EbXMLSubmitObjectsRequest30) requestTransformer.toEbXML(registerDocumentSet);
	SubmitObjectsRequest submitObjectsRequest = ebxmlRequest.getInternal();

	return submitObjectsRequest;
}


At oprette SubmissionSet kan gøres som:

Eksempel på submissionset
public SubmissionSet createSubmissionSetForDocumentEntry(String id, DocumentEntry documentEntryToDeprecate) {
	SubmissionSet submissionSet = new SubmissionSet();
	submissionSet.setEntryUuid(id);
	submissionSet.setLogicalUuid(id);
	submissionSet.setUniqueId(documentEntryToDeprecate.getEntryUuid());
	submissionSet.setPatientId(documentEntryToDeprecate.getPatientId());
	submissionSet.setSourceId(documentEntryToDeprecate.getRepositoryUniqueId());
	submissionSet.setContentTypeCode(documentEntryToDeprecate.getTypeCode());
	submissionSet.setSubmissionTime(new DateTime());
	
	return submissionSet;
}


Og at oprette en association kan gøres som følgende. TargetUuid vil være urn:uuid:69d3b9f3-7919-40e0-8731-32fb339216c2 ifald man vil rette det oprindelige dokument fra "Opret Stable Dokument".

Eksempel på association
public Association createAssociateDeprecateStatus(SubmissionSet submissionSet, DocumentEntry documentEntryToDeprecate) {
	Association association = new Association();
	association.setAssociationType(AssociationType.UPDATE_AVAILABILITY_STATUS);
	association.setSourceUuid(submissionSet.getLogicalUuid());
	association.setTargetUuid(documentEntryToDeprecate.getEntryUuid());
	association.setOriginalStatus(documentEntryToDeprecate.getAvailabilityStatus());
	association.setNewStatus(AvailabilityStatus.DEPRECATED);
	
	return association;
}


I requestet nedenfor ses både ny og gammel status under <Association> ligsom også documententry fremgår her med attributten targetObject.

Slet Dokument Request
---------------------------
ID: 12
Address: https://drosurl/dros/iti57
Encoding: UTF-8
Http-Method: POST
Content-Type: application/soap+xml
Headers: {Accept=[*/*]}
Payload: 
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
   .... fjernet for overskueligehed...
  </soap:Header>
  <soap:Body>
    <ns5:SubmitObjectsRequest 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">
      <ns2:RegistryObjectList>
        <ns2:RegistryPackage lid="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" id="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4">
          <ns2:Slot name="submissionTime">
            <ns2:ValueList>
              <ns2:Value>20210324121634</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" nodeRepresentation="39289-4" id="urn:uuid:4408bca9-abcc-415e-b00d-a8b19f067b09">
            <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="Follow-up (referred to) provider &or specialist, appointment date"/>
          </ns2:Name>
          </ns2:Classification>
          <ns2:ExternalIdentifier registryObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:324aed91-6339-4452-8678-2aa81a3e16d9">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="urn:uuid:6fe0081c-1efb-4015-8193-2ba551e3b568" id="urn:uuid:cd6acb6f-258c-4250-b46f-1eff52490f28">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="8085010197220234434.5099172141722846448.1616588194038" id="urn:uuid:6b60e4db-a67c-4ae3-9738-c2b1587a9e7a">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
        </ns2:RegistryPackage>
        <ns2:Classification classifiedObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:89811458-f16e-46b1-9d2e-bd8944766f86"/>
        <ns2:Association associationType="urn:ihe:iti:2010:AssociationType:UpdateAvailabilityStatus" sourceObject="d7ebbb2b-b153-45ac-93fa-f24393c6cbe4" targetObject="urn:uuid:6fe0081c-1efb-4015-8193-2ba551e3b568">
          <ns2:Slot name="OriginalStatus">
            <ns2:ValueList>
              <ns2:Value>urn:oasis:names:tc:ebxml-regrep:StatusType:Approved</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Slot name="NewStatus">
            <ns2:ValueList>
              <ns2:Value>urn:oasis:names:tc:ebxml-regrep:StatusType:Deprecated</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
        </ns2:Association>
      </ns2:RegistryObjectList>
    </ns5:SubmitObjectsRequest>
  </soap:Body>
</soap:Envelope>
--------------------------------------
Slet Dokument Response
----------------------------
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>
--------------------------------------

5.5. 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. 

Det er dokumentkildens ansvar (anvenderen) at medsende de korrekte metadata i requestet. Korrekt metadata sikrer, at det er muligt for dokumentanvendere senere at fremsøge og anvende dokumentet.

Opret On-Demand Entry Request
---------------------------
ID: 1
Address: https://drosurl/dros/iti61
Encoding: UTF-8
Http-Method: POST
Content-Type: application/soap+xml
Headers: {Accept=[*/*]}
Payload:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
   .... fjernet for overskueligehed...
  </soap:Header>
  <soap:Body>
    <ns5:SubmitObjectsRequest 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">
      <ns2:RegistryObjectList>
        <ns2:ExtrinsicObject mimeType="text/xml" lid="4738771364862614920.4192258532904841719.1616588764618" objectType="urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346">
          <ns2:Slot name="languageCode">
            <ns2:ValueList>
              <ns2:Value>da-DK</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Slot name="repositoryUniqueId">
            <ns2:ValueList>
              <ns2:Value>1.1.111.111.1.1</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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="" id="urn:uuid:d3c0ef1e-df55-43a0-b1d0-6d9fcf30052f">
            <ns2:Slot name="authorInstitution">
              <ns2:ValueList>
                <ns2:Value>Testafdeling iti-42^^^^^&&1.2.208.176.1.1&&ISO^^^^123456789</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
          </ns2:Classification>
          <ns2:Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="001" id="urn:uuid:e7755ceb-2820-4f36-8c8e-f32ec3d6ec32">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:6caaa535-ff43-4b80-9f83-e6ef5e06ae53">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="22232009" id="urn:uuid:1b46c079-01dc-4d6a-be69-9283ad9f2b32">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="408443003" id="urn:uuid:bd2a7656-ac54-4856-adaa-6a4441eea5bc">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="39289-4" id="urn:uuid:28f9166c-137f-4838-8e24-cf23339f21ef">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" nodeRepresentation="N" id="urn:uuid:07589b06-a428-4b6e-86fb-aecb2f31b7f7">
            <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="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&&1.2.208.176.1.2&&ISO" id="urn:uuid:74ea238c-0650-4887-9e0e-312c363eb5cd">
            <ns2:Name>
              <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="4738771364862614920.4192258532904841719.1616588764618" id="urn:uuid:cb6db628-2ffa-453a-97ee-b45feb343b39">
            <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="6637572265238720153.8633190899051351182.1616588764704">
          <ns2:Slot name="submissionTime">
            <ns2:ValueList>
              <ns2:Value>20210324132604</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="6637572265238720153.8633190899051351182.1616588764704" nodeRepresentation="39289-4" id="urn:uuid:213f9946-a737-493e-af5a-18e09e20b849">
            <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="6637572265238720153.8633190899051351182.1616588764704" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&&1.2.208.176.1.2&&ISO" id="urn:uuid:f349066b-fbe0-4914-8441-7e352782dd78">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="6637572265238720153.8633190899051351182.1616588764704" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="6637572265238720153.8633190899051351182.1616588764704" id="urn:uuid:ac5fa8f9-015b-46a6-9068-b084db59193b">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="6637572265238720153.8633190899051351182.1616588764704" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="6637572265238720153.8633190899051351182.1616588764704" id="urn:uuid:face5d24-aec7-4e10-846e-b0273c4449c8">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
        </ns2:RegistryPackage>
        <ns2:Classification classifiedObject="6637572265238720153.8633190899051351182.1616588764704" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:2534f992-9e77-483c-aadd-e6b3d3a785b8"/>
        <ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="6637572265238720153.8633190899051351182.1616588764704" targetObject="urn:uuid:24b3cbf1-07c4-487e-adc7-a84f02790346" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="7a856cf3-1490-4dd1-b93c-1246cf24f0dc">
          <ns2:Slot name="SubmissionSetStatus">
            <ns2:ValueList>
              <ns2:Value>Original</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
        </ns2:Association>
      </ns2:RegistryObjectList>
    </ns5:SubmitObjectsRequest>
  </soap:Body>
</soap:Envelope>
--------------------------------------
Opret On-Demand Entry Response
----------------------------
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>
--------------------------------------

5.6. 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.

Det er dokumentkildens ansvar (anvenderen) at medsende de korrekte metadata i requestet. Korrekt metadata sikrer, at det er muligt for dokumentanvendere senere at fremsøge og anvende dokumentet.

Registrer Dokumentsæt Request
---------------------------
ID: 5
Address: https://drosurl/dros/iti42
Encoding: UTF-8
Http-Method: POST
Content-Type: application/soap+xml
Headers: {Accept=[*/*]}
Payload:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
     ...fjernet for overskuelighed ....
  </soap:Header>
  <soap:Body>
    <ns5:SubmitObjectsRequest 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">
      <ns2:RegistryObjectList>
        <ns2:ExtrinsicObject mimeType="text/xml" lid="5917994750758864930.666624453242109846.1616588809374" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3">
          <ns2:Slot name="creationTime">
            <ns2:ValueList>
              <ns2:Value>20210324132649</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Slot name="hash">
            <ns2:ValueList>
              <ns2:Value>51abb9636078defbf888d8457a7c76f85c8f114c</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="repositoryUniqueId">
            <ns2:ValueList>
              <ns2:Value>1.1.111.111.1.1</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Slot name="size">
            <ns2:ValueList>
              <ns2:Value>1000</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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="" id="urn:uuid:cf2ffd3b-a884-42eb-a17e-68fdb3b19f96">
            <ns2:Slot name="authorInstitution">
              <ns2:ValueList>
                <ns2:Value>Testafdeling iti-42^^^^^&1.2.208.176.1.1&ISO^^^^123456789</ns2:Value>
              </ns2:ValueList>
            </ns2:Slot>
          </ns2:Classification>
          <ns2:Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="001" id="urn:uuid:c5189c6b-0268-4e6e-8773-3fe24ec72030">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:588fcacb-1546-4171-9db3-f06d2b097b63">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="22232009" id="urn:uuid:e607316b-28f3-4059-9f9f-60971a4f4385">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="408443003" id="urn:uuid:b0aca82f-141f-463b-b086-11af3f4301b4">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="39289-4" id="urn:uuid:af15f276-94f6-4893-91c7-06b582e422e3">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" nodeRepresentation="N" id="urn:uuid:30674f9c-9888-46e6-bb0d-3bfe15389b19">
            <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="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:15fc8448-ad67-4812-80c5-f8ac312c5236">
            <ns2:Name>
              <ns2:LocalizedString value="XDSDocumentEntry.patientId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="5917994750758864930.666624453242109846.1616588809374" id="urn:uuid:f52116f8-60a6-4409-a18b-ca3e8fad52b1">
            <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="4768763516408332894.7378093021404807891.1616588809374">
          <ns2:Slot name="submissionTime">
            <ns2:ValueList>
              <ns2:Value>20210324132649</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
          <ns2:Classification classificationScheme="urn:uuid:aa543740-bdda-424e-8c96-df4873be8500" classifiedObject="4768763516408332894.7378093021404807891.1616588809374" nodeRepresentation="39289-4" id="urn:uuid:bf576f31-489f-49ca-b5ff-96e2e373f545">
            <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="4768763516408332894.7378093021404807891.1616588809374" identificationScheme="urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:31006bf8-0bef-4329-b981-97f2509b2601">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.patientId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="4768763516408332894.7378093021404807891.1616588809374" identificationScheme="urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8" value="4768763516408332894.7378093021404807891.1616588809374" id="urn:uuid:0b0ecfa4-b4b8-414a-8c29-7ef32d41cdb5">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.uniqueId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
          <ns2:ExternalIdentifier registryObject="4768763516408332894.7378093021404807891.1616588809374" identificationScheme="urn:uuid:554ac39e-e3fe-47fe-b233-965d2a147832" value="4768763516408332894.7378093021404807891.1616588809374" id="urn:uuid:1112a966-91d6-44a5-aa95-5621b289845b">
            <ns2:Name>
              <ns2:LocalizedString value="XDSSubmissionSet.sourceId"/>
            </ns2:Name>
          </ns2:ExternalIdentifier>
        </ns2:RegistryPackage>
        <ns2:Classification classifiedObject="4768763516408332894.7378093021404807891.1616588809374" classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd" id="urn:uuid:4eeb17d8-a04a-422a-89a4-7dab50f8acd7"/>
        <ns2:Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="4768763516408332894.7378093021404807891.1616588809374" targetObject="urn:uuid:16e8579e-51d2-4cbd-8aa4-34cfb933c2a3" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="639953d5-6be6-4671-93e1-8a15316ae13d">
          <ns2:Slot name="SubmissionSetStatus">
            <ns2:ValueList>
              <ns2:Value>Original</ns2:Value>
            </ns2:ValueList>
          </ns2:Slot>
        </ns2:Association>
      </ns2:RegistryObjectList>
    </ns5:SubmitObjectsRequest>
  </soap:Body>
</soap:Envelope>
--------------------------------------
Registrer Dokumentsæt Response
----------------------------
ID: 5
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:49 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>
--------------------------------------



  • No labels