Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootNational Adviseringsservice 2 (NAS2) - Leverancebeskrivelse
includeroottrue


Foreløbig guide - der arbejdes p.t. på opdatering af denne guide.

Indhold

Table of Contents

Introduktion

...

ServiceEndpoint
Pull point factory/nas2/pullpointfactory
ID list/nas2/idlist
Subscription manager/nas2/subscriptionmanager
Notification broker/nas2/notificationbroker/service
Pull point factory/nas2/pullpointfactory

...

Bemærk: Der skal indgås 'Tilslutningsaftale: - Specifikke vilkår for oprettelse af NAS 2.0 Topics, med opfyldelse navnestandard m.v. Venligst kontakt af NSP-Operatør på nsp.op@nsioperator@nspop.dk

Navnet på alle Topics der ønskes oprettet skal følge denne skabelon:

...

  • Ejer er et registreret domæne for den organisation der ejer projektet. F.eks. sundhedsdatastyrelsen.dk
  • Projekt Forretningsområde er et kort navn der tydeligt identificere det projekt forretningsområde, der er ansvarlig for adviseringerne [a-z0-9]*. F.eks. maternitycard graviditet, medicinering, laboratoriesvar
  • År/måned/dag er datoen for hvornår standarden for adviseringens payload er fastsat [0-9]{4}/[0-9]{2}/[0-9]{2}. F.eks. 2020/01/01
  • Hændelse skal tydeligt forklare hvad der er adviseringen omhandler. F.eks MaternityCardUpdated

Der er mulighed for whitelisting på et Topic, så kun godkendte klienter har adgang til at oprette abonnement og hente beskeder for et Topic. Adgangsstyringen vil i så fald ske på baggrund af CVR, CVR-Xid eller UUID i certifikatet ved et kald til servicen. 

Afsendersnitflade

Afsender snitfladen Afsendersnitfladen er ikke for nuværende beskyttet af DGWS, og dermed sker sikkerhed sker udelukkende på baggrund af IP whitelisting og det faktum at topic skal være oprettet i systemet for at det er muligt at afsende adviseringer.

Scenarie for afsender


Det vil dog overgå til at DGWS bliver påkrævet, og afsendere bør opdatere deres systemer til at håndtere dette, så man optager et token i STS'en inden man kalder nedenstående snitflader.  
Hvis der er DGWS headers på kaldet vil disse blive verificeret. Hvis de ikke er inkluderet, vil requests gå igennem uden tjek, så længe det endnu ikke er påkrævet. 

Scenarie for afsender

Det Fælles Medicin kort udsender en advisering på emnet TESTNAS-TOPIC1, omhandlende et specifikt Det Fælles Medicin kort udsender en advisering på emnet TESTNAS-TOPIC1, omhandlende et specifikt cpr-nummer.

Scenariet omfatter:

...

NotificationMessage
ElementKrævetAnvendtBeskrivelse
SubscriptionReferenceJaNejJaNejAnvendes ikkeEt eller flere NotificationMessage elementer.
TopicJaJaElement af typen TopicExpressionType
ProducerReferenceNejNejAnvendes ikke.
Message

Selve adviseringen der skal bestå af et NotifyContent element

...

Response består af nedenstående. Er et tome tomt element.

NotifyResponse
ElementKrævetAnvendtBeskrivelse


Request med DGWS headers

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns8="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header/>Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns5:Notify>
      <ns5:NotificationMessage>
        <ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns5:Topic>
        <ns5:Message>
          <ns9:NotifyContent id="2512484916" idType="http://nsi.dk/advis/v10/CPR" isSystemNotification="false">
            <ns9:NotifyContent id="12345" idType="mintype-abc">
              <test>&lt;noget&gt;xml&lt;/noget&gt;</test>
            </ns9:NotifyContent>
          </ns9:NotifyContent>
        </ns5:Message>
      </ns5:NotificationMessage>
    </ns5:Notify>
  </ns2:Body>
</ns2:Envelope>

ResponseRequest uden DGWS headers (UDFASES) 

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2ns6="http://schemasdocs.xmlsoapoasis-open.org/soap/envelope/wsrf/bf-2" xmlns:ns3ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertionwsn/b-2" xmlns:ns5ns8="http://wwwdocs.w3oasis-open.org/2000/09/xmldsig#wsn/t-1" xmlns:ns6ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsrf/rp-2" xmlns:ns7ns9="http://wwwnsi.medcom.dk/dgws/2006/04/dgws-1.0.xsdadvis/v10" xmlns:ns8ns2="http://wwwschemas.w3xmlsoap.org/2005soap/08envelope/addressing" xmlns:ns9ns4="http://docswww.oasis-openw3.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsrf/bf-22005/08/addressing" xmlns:ns11ns3="http://docswww.oasis-openmedcom.orgdk/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1" xmlns:ns13="http://nsi.dk/advis/v10dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header/>
  <ns2:Body>
    <ns9<ns5:NotifyResponse/>
Notify>
      </ns2<ns5:Body>
</ns2:Envelope>


...

Abonnementsnitfladen er beskyttet af DGWS og det er derfor krævet at man har optaget et token i STS'en inden man kalder nedenstående snitflader. 

Nedenstående beskrivelse af hvordan et anvendersystem kan benytte adviseringsservicens abonnent-snitflade tager udgangspunkt i et scenarie, der kort beskrives her.

Scenarie for abonnement

Et elektronisk omsorgsjournal-system (EOJ-system) ønsker at modtage adviseringer udsendt fra Det Fælles Medicinkort (FMK).

Efter kontakt med FMK har EOJ-organisationen erfaret, at det er FMK’s emne TESTNAS-TOPIC1, der anvender CPR-nummer-baseret id-filtrering, der ønskes abonnement på.

Adviseringer på dette emne udsendes allerede, de fleste vedrørende borgere uden for EOJ-systemets interesseområde. EOJ-system planlægger derfor at abonnere ved brug af en id-liste over borgere inden for interesseområdet; en id-liste, der navngives "en-cpr-id-liste".

EOJ-systemet udstiller ikke NotificationConsumer-snitfladen fra standarden WS-NOTIFICATION og ønsker derfor at gøre brug af et pullpoint.

Scenariet omfatter:

  1. EOJ-system opretter CPR-nummer-baseret id-liste
  2. EOJ-system opretter et pullpoint
  3. EOJ-system opretter abonnement på emne og id-liste
  4. EOJ-system indhenter adviseringer fra pullpoint

Adviseringsservicens abonnent-snitflade anvender fødereret sikkerhed og kræver Den Gode Webservice 1.0.1-ID-kort på minimum niveau 3. Derfor skal EOJ-systemet indhente et ID-kort signereret af STS’en, der kan anvendes i kald af abonnent-snitfladens operationer. Denne del er ikke med i nedenstående beskrivelser og eksempler da det antages at anvender har kendskab til DGWS. 

Anvendersystem opretter en id-liste

...

NAS-IM-1: Opret id liste

...

Der oprettes en CPR-nummer-baseret id-liste.

I anvendelse af id-listen herunder er det navnet (Name elementet) på id-listen, der indgår som kald-parameter.

Snitflade

Dette er ikke en del af WS-notification og derfor er hele snitfladen dokumenteret nedenfor. Det er CreateIDList operationen i IDList servicen der kaldes. 

Oprettelse af ID liste sker ved hjælp af CreateIDListRequest elementet.

...

NotificationMessage>
        <ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns5:Topic>
        <ns5:Message>
          <ns9:NotifyContent id="2512484916" idType="http://nsi.dk/advis/v10/CPR" isSystemNotification="false">
            <ns9:NotifyContent id="12345" idType="mintype-abc">
              <test>&lt;noget&gt;xml&lt;/noget&gt;</test>
            </ns9:NotifyContent>
          </ns9:NotifyContent>
        </ns5:Message>
      </ns5:NotificationMessage>
    </ns5:Notify>
  </ns2:Body>
</ns2:Envelope>

Response med DGWS headers

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12

Response

...

Request

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsn/t-1" xmlns:ns2ns13="http://schemasnsi.xmlsoap.orgdk/soapadvis/envelope/v10">
  xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8<ns9:CreateIDListRequest>NotifyResponse/>
      <ns8:Name>en-cpr-id-liste</ns8:Name>
      <ns8:Description>This is a description</ns8:Description>
      <ns8:IDType>http://nsi.dk/advis/v10/CPR</ns8:IDType>
      <ns8:Id>CPR1</ns8:Id>
      <ns8:Id>CPR2</ns8:Id>
    </ns8:CreateIDListRequest>
  </ns2:Body>
</ns2:Envelope>

</ns2:Body>
</ns2:Envelope>

Response uden DGWS headers (UDFASES)Response

Code Block
languagesqlxml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.nsiw3.dkorg/20122005/1208/nas/idlistaddressing">
  <ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header> xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1" xmlns:ns13="http://nsi.dk/advis/v10">
  <ns2:Header/>
  <ns2:Body>
    <ns8:CreateIDListResponse>
      <ns8:ExistingListUpdated>false</ns8:ExistingListUpdated>
  <ns9:NotifyResponse/>
  </ns8:CreateIDListResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem opretter et pullpoint

...

NAS-PPF-1: Oprette et pullpoint

...


Abonnementsnitflade

Abonnementsnitfladen er beskyttet af DGWS og det er derfor krævet at man har optaget et token i STS'en inden man kalder nedenstående snitflader. 

Nedenstående beskrivelse af hvordan et anvendersystem kan benytte adviseringsservicens abonnent-snitflade tager udgangspunkt i et scenarie, der kort beskrives her.

Scenarie for abonnement

Et elektronisk omsorgsjournal-system (EOJ-system) ønsker at modtage adviseringer udsendt fra Det Fælles Medicinkort (FMK).

Efter kontakt med FMK har EOJ-organisationen erfaret, at det er FMK’s emne TESTNAS-TOPIC1, der anvender CPR-nummer-baseret id-filtrering, der ønskes abonnement på.

Adviseringer på dette emne udsendes allerede, de fleste vedrørende borgere uden for EOJ-systemets interesseområde. EOJ-system planlægger derfor at abonnere ved brug af en id-liste over borgere inden for interesseområdet; en id-liste, der navngives "en-cpr-id-liste".

EOJ-systemet udstiller ikke NotificationConsumer-snitfladen fra standarden WS-NOTIFICATION og ønsker derfor at gøre brug af et pullpoint.

Scenariet omfatter:

  1. EOJ-system opretter CPR-nummer-baseret id-liste
  2. EOJ-system opretter et pullpoint
  3. EOJ-system opretter abonnement på emne og id-liste
  4. EOJ-system indhenter adviseringer fra pullpoint

Adviseringsservicens abonnent-snitflade anvender fødereret sikkerhed og kræver Den Gode Webservice 1.0.1-ID-kort på minimum niveau 3. Derfor skal EOJ-systemet indhente et ID-kort signereret af STS’en, der kan anvendes i kald af abonnent-snitfladens operationer. Denne del er ikke med i nedenstående beskrivelser og eksempler da det antages at anvender har kendskab til DGWS. 
Bemærk, at der for adgang til Topics med whitelisting, kræves at ID-kortet er fra NewSecurityTokenService (ID-kort fra den tidligere anvendte SecurityTokenService kan ikke give adgang).

Anvendersystem opretter en id-liste

NAS-IM-1: Opret id liste

Som et eksternt system ønsker jeg at oprette en liste med positive id'er til filtrering af adviseringer.

Der oprettes en CPR-nummer-baseret id-liste.

I anvendelse af id-listen herunder er det navnet (Name elementet) på id-listen, der indgår som kald-parameter.

Snitflade

Dette er ikke en del af WS-notification og derfor er hele snitfladen dokumenteret nedenfor. Det er CreateIDList operationen i IDList servicen der kaldes. 

Oprettelse af ID liste sker ved hjælp af CreateIDListRequest elementet.

CreateIDListRequest
ElementKrævetAnvendtBeskrivelse
NameJaJaNavnet på den ID liste der ønskes oprettet. Hvis ID listen skal oprettes må navnet ikke findes i forvejen. Hvis det drejer sig om opdatering af en ID liste er det navnet på den liste der ønskes opdateret. 
DescriptionJaJaTekstuel beskrivelse af ID listen. 
IDTypeJaJaID typen
IdJaJaListe af positive ID'er til ID listen.

Response

CreateIDListResponse
ElementKrævetAnvendtBeskrivelse
ExistingListUpdatesJaJaBoolean indikator om der er oprettet en ID liste eller opdateret en eksisterende ID liste. 


Request

Code Block
languagesql
<

For at et anvendersystem kan indhente adviseringer skal der orpettes et pull point. Et pull point er en adresse hvor fra der kan afhentes adviseringer. I svaret returneres der en reference der skal anvendes når GetMessages skal kaldes. 

Snitflade

Dette er operationen CreatePullPoint på PullPointFactory der kaldes. I WS-notification hedder operationen CeratePullPoint. 

Create pull point består udelukkende af et tomt CreatePullPoint element. Se nedenstående request for eksempel. 

...

Svaret består af nedenstående element.

...

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreatePullPoint/>
  </ns2:Body>
</ns2:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2ns6="http://schemaswww.xmlsoapw3.org/soap2000/envelope09/xmldsig#" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5ns8="http://www.w3nsi.orgdk/20002012/12/09nas/xmldsig#idlist" xmlns:ns6ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7ns2="http://wwwschemas.medcomxmlsoap.dkorg/dgwssoap/2006/04/dgws-1.0.xsdenvelope/" xmlns:ns8ns4="http://docs.oasis-open.org/wss/2004/wsn/b-201/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns9ns3="http://www.w3medcom.orgdk/2005dgws/08/addressing" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2">
  <ns2:Header>
    <!-- DGWS 2006/04/dgws-1.0.xsd">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreatePullPointResponse>CreateIDListRequest>
      <ns8:PullPoint>
  Name>en-cpr-id-liste</ns8:Name>
      <ns8:Description>This is a description</ns8:Description>
      <ns9<ns8:Address>httpIDType>http:///localhost:8081/pullpoint/service/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns9:Address>nsi.dk/advis/v10/CPR</ns8:IDType>
      <ns8:Id>CPR1</ns8:Id>
      <<ns8:Id>CPR2</ns8:PullPoint>Id>
    </ns8:CreatePullPointResponse>CreateIDListRequest>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem opretter et abonnement på emne og id-liste

...

NAS-SM-1: Opret abonnement

...

Ved oprettelse af abonnement knyttes et pullpoint sammen med et topic. Dermed bliver der oprettet et abonnement på et givent topic til et givent pull point. Dette abonnement kan indeholde enten navnet på en eksisterende id liste, en liste af id'er eller ingen af disse to. Ved angivelse af enten en id liste eller en liste af ider filtreres adviseringer på det angivne topic i forhold til de id'er der er i listen. Hvis der hverken er angivet ID'er eller navnet på en ID liste så modtages alle adviseringer på det topic der oprettes abonnement på. 

I svaret returneres der en endpoint reference der skal bruges når et abonnement skal nedlægges. 

Snitflade

Dette er operationen Subscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Subscribe. 

Request består af nedenstående

...

Liste af elementer. Skal indeholde et eller to elementer. 

  1. Et element af typen TopicExpressionType med attributten Dialect = http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple
  2. Evt. et element af typen MessageContent med attributten Dialect = http://nsi.dk/advis/v10/IDMCP_Dialect. MessageContent indeholder et IDFilter element.



Response

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist">
  <ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreateIDListResponse>
      <ns8:ExistingListUpdated>false</ns8:ExistingListUpdated>
    </ns8:CreateIDListResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem opretter et pullpoint

NAS-PPF-1: Oprette et pullpoint

Som et eksternt system ønsker jeg at oprette et pullpoint.

For at et anvendersystem kan indhente adviseringer skal der orpettes et pull point. Et pull point er en adresse hvor fra der kan afhentes adviseringer. I svaret returneres der en reference der skal anvendes når GetMessages skal kaldes. 

Snitflade

Dette er operationen CreatePullPoint på PullPointFactory der kaldes. I WS-notification hedder operationen CeratePullPoint. 

Create pull point består udelukkende af et tomt CreatePullPoint element. Se nedenstående request for eksempel. 

CreatePullPoint
ElementKrævetAnvendtBeskrivelse
anyNejNej"Fritekst" element der ikke anvendes.

Svaret består af nedenstående element.

CreatePullPointResponse
ElementKrævetAnvendtBeskrivelse
PullPointJaJaPull point reference. Sidste del af path skal anevndes når GetMessages kaldes.
anyNejNej"Fritekst" felt der ikke anvendes


...

Response består af nedenstående

...

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://wwwdocs.w3oasis-open.org/wss/20002004/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns8ns5="http://www.w3.org/20052000/0809/addressingxmldsig#" xmlns:ns7ns8="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsn/b-2" xmlns:ns13ns7="http://nsiwww.medcom.dk/dgws/2006/advis/v1004/dgws-1.0.xsd" xmlns:ns9="http://docswww.oasis-openw3.org/2005/wsn08/b-2addressing" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
<ns2:Header>
     <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns9<ns8:Subscribe>CreatePullPoint/>
      <ns9:ConsumerReference>
        <ns8:Address>http://localhost:8081/pullpoint/service/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns8:Address>
      </ns9:ConsumerReference>
      <ns9:Filter>
        <ns9</ns2:Body>
</ns2:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3:TopicExpression Dialect="http://docs.oasis-open.org/wss/2004/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns9:TopicExpression>
        <ns9:MessageContent Dialect01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://nsiwww.w3.dkorg/advis2000/v1009/IDMCP_Dialectxmldsig#">
          <ns13:IDFilter>
            <ns13:IDList name="en-cpr-id-liste"/>
          </ns13:IDFilter>
        </ns9:MessageContent>
      </ns9:Filter> 
    </ns9:Subscribe>
  </ns2:Body>
</ns2:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2 xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://schemasdocs.xmlsoapoasis-open.org/soap/envelope/wsrf/bf-2" xmlns:ns3ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
  <ns2:Header>
    <!-- DWGS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns9:SubscribeResponse>Bemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. 
      <ns9:SubscriptionReference>
        <ns8:Address>http://localhost:8083/subscriptionmanager/service/ab48bed1-408b-49ff-a867-cd5253758c2c</ns8:Address>
      </ns9:SubscriptionReference>
      <ns9:TerminationTime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    </ns9:SubscribeResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem indhenter adviseringer

...

NAS-PP-1: Afhenting af adviseringer

...

wsrf/rp-2">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreatePullPointResponse>
      <ns8:PullPoint>
        <ns9:Address>http://localhost:8081/pullpoint/service/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns9:Address>
      </ns8:PullPoint>
    </ns8:CreatePullPointResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem opretter et abonnement på emne og id-liste

NAS-SM-1: Opret abonnement

Som et eksternt system ønsker jeg at oprette en liste med positive id'er til filtrering af adviseringer.

Ved oprettelse af abonnement knyttes et pullpoint sammen med et topic. Dermed bliver der oprettet et abonnement på et givent topic til et givent pull point. Dette abonnement kan indeholde enten navnet på en eksisterende id liste, en liste af id'er eller ingen af disse to. Ved angivelse af enten en id liste eller en liste af ider filtreres adviseringer på det angivne topic i forhold til de id'er der er i listen. Hvis der hverken er angivet ID'er eller navnet på en ID liste så modtages alle adviseringer på det topic der oprettes abonnement på. 

I svaret returneres der en endpoint reference der skal bruges når et abonnement skal nedlægges. 

Bemærk at der kan være whitelisting på adgangen til et Topic. I så fald vil kun godkendte systemer have mulighed for at oprette et abonnement på det givne Topic. 

Snitflade

Dette er operationen Subscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Subscribe. 

Request består af nedenstående

Subscribe
ElementKrævetAnvendtBeskrivelse
ConsumerReferenceJaJaReference til det pull point der er oprettet tidligere. Skal være komplet URL som returneret fra CreatePullPoint.
FilterJaJaElement af typen FilterType.
InitialTerminationTimeNejNejAnvendes ikke.
SubscriptionPolicyNejNejAnvendes ikke.
anyNejNejAnvendes ikke.
FilterTypeBemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. 
ElementKrævetAnvendtBeskrivelse
anyJaJa

Liste af elementer. Skal indeholde et eller to elementer. 

  1. Et element af typen TopicExpressionType med attributten Dialect = http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple
  2. Evt. et element af typen MessageContent med attributten Dialect = http://nsi.dk/advis/v10/IDMCP_Dialect. MessageContent indeholder et IDFilter element.
TopicExpressionType
ElementKrævetAnvendtBeskrivelse

JaJaVærdien i TopicExpressionType elementet indeholder det topic der oprettes abonnement på. 
IDFilter
ElementKrævetAnvendtBeskrivelse
IDListNejJaElement af typen IDList.
SingleIDNejJaListe af typen SingleID.
XPathFilterNejNejAnvendes ikke
IDList
AttributeKrævetAnvendtBeskrivelse
nameJaJaNavnet på en eksisterende id liste. Bemærk at dette er en attribute på IDList typen.



Det er GetMessages operationen der kaldes. SingleID
AttributeKrævetAnvendtBeskrivelse
idJaJaID værdien. Bemærk at dette er en attribute på SingleID typen. 
idTypeJaJaID typen. Bemærk at dette er en attribute på SinBemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. gleID typen. Alle idType værdier skal være ens for hele listen af SingleID elementer. 

Response består af nedenstående

SubscribeResponse
ElementKrævetAnvendtBeskrivelse
SubscriptionReferenceJaJaReference til netop oprettet subscription.
CurrentTimeNejNejAnvendes ikke.
TerminationTimeNejNejAnvendes ikke.
anyNejNejAnvendes ikke.

Request

Nedenstående viser eksempel på hvordan operationen GetMessages i PullPoint kaldes. Bemærk at anvendersystemet skal bruge den del af pull point referencen der indentificerer et givent pull point når GetMessages kaldes. Denne reference blev returneret da CreatePullPoint blev kaldt i PullPointFactory. Se under punktet "anvendersystem opretter et pullpoint" for hvilken del af pull point referencen der identificerer et givent pull point. 

Snitflade

Dette er operationen GetMessages på PullPoint der kaldes. I WS-notification hedder operationen GetMessages. 

Request består af nedenstående. 

...

Response består af nedenstående. 

...

Request

Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns6="http://docswww.oasis-openw3.org/2000/wsn09/t-1xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns8ns7="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/b-2" xmlns:ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsrf/rp-2" xmlns:ns11="http://wwwdocs.w3oasis-open.org/2000/09/xmldsig#wsrf/bf-2" xmlns:ns10="urnhttp:oasis:names:tc:SAML:2.0:assertion//docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wsn/b-2wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
	    <!-- DGWS HEADERSheaders -->
  </ns2:Header>
  <ns2:Body>
    <ns9:Subscribe>
      <ns4<ns9:GetMessages>ConsumerReference>
        <ns4:MaximumNumber>1000</ns4:MaximumNumber>
<ns8:Address>http://localhost:8081/pullpoint/service/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd</ns8:Address>
      </ns4ns9:GetMessages>ConsumerReference>
  </ns2:Body>
</ns2:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2    <ns9:Filter>
        <ns9:TopicExpression Dialect="http://schemasdocs.xmlsoapoasis-open.org/wsn/soapt-1/envelopeTopicExpression/Simple" xmlns:ns3>TESTNAS-TOPIC1</ns9:TopicExpression>
        <ns9:MessageContent Dialect="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:namesnsi.dk/advis/v10/IDMCP_Dialect">
          <ns13:IDFilter>
            <ns13:IDList name="en-cpr-id-liste"/>
          </ns13:IDFilter>
        </ns9:MessageContent>
      </ns9:Filter> 
    </ns9:Subscribe>
  </ns2:Body>
</ns2:Envelope>


Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secextutility-1.0.xsd" xmlns:ns7ns4="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsdurn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8ns5="http://docswww.oasis-openw3.org/2000/wsn09/b-2xmldsig#" xmlns:ns9ns6="http://docs.oasis-open.org/wsrf/bf-2wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns10ns8="http://www.w3.org/2005/08/addressing" xmlns:ns11ns9="http://docs.oasis-open.org/wsrfwsn/rpb-2" xmlns:ns12ns10="http://docs.oasis-open.org/wsn/t-1">
  <ns2:Header>
	<!-- DGWS HEADERS -->
  </ns2:Header> xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
  <ns2:Body>
    <ns8:GetMessagesResponse>
  Header>
    <!-- DWGS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8<ns9:NotificationMessage>
SubscribeResponse>Bemærk at dette er samme snitflade som oprettelse af <ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>ID liste. Name elementet skal blot referere til en eksisterende ID liste. 
      <ns9:SubscriptionReference>
    <ns13:NotifyContent xmlns:ns13="http    <ns8:Address>http://nsi.dk/advis/v10" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns8localhost:8083/subscriptionmanager/service/ab48bed1-408b-49ff-a867-cd5253758c2c</ns8:Address>
      </ns9:SubscriptionReference>
      <ns9:TerminationTime xmlns:xsi="http://www.w3.org/2005/08/addressing2001/XMLSchema-instance" xmlnsxsi:ns9nil="true"http://docs.oasis-open.org/wsn/b-2" id="12345" idType="mintype-abc">
            <test xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10"><noget>xml</noget></test>
          </ns13:NotifyContent>
        </ns8:Message>
      </ns8:NotificationMessage>
      <ns8:NotificationMessage>
        <ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>
          <ns13:NotifyContent xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns10="/>
    </ns9:SubscribeResponse>
  </ns2:Body>
</ns2:Envelope>


Anvendersystem indhenter adviseringer

NAS-PP-1: Afhenting af adviseringer

Som et eksternt system ønsker jeg at hente nye adviseringer fra NAS på et givent pullpoint

Nedenstående viser eksempel på hvordan operationen GetMessages i PullPoint kaldes. Bemærk at anvendersystemet skal bruge den del af pull point referencen der indentificerer et givent pull point når GetMessages kaldes. Denne reference blev returneret da CreatePullPoint blev kaldt i PullPointFactory. Se under punktet "anvendersystem opretter et pullpoint" for hvilken del af pull point referencen der identificerer et givent pull point. 

Når GetMessages kaldes, tjekkes det, at kalder har adgang til det tilknyttede Topic. Hvis der ikke er adgang, returneres en fejl til kalder.

Snitflade

Dette er operationen GetMessages på PullPoint der kaldes. I WS-notification hedder operationen GetMessages. 

Request består af nedenstående. 

GetMessages
ElementKrævetAnvendtBeskrivelse
MaximumNumberNejJaMaksimalt antal adviseringer der ønskes returneret. Hvis ikke angivet så er værdien sat til 500. Det maksimale antal adviserigner der kan anmodes om er 1.000

includeReceivedTimestampsInMessage (attribute)

NejJaBemærk at dette er en attribut. Hvis denne attribut forefindes og har value="true", vil response indeholde tidsstempel for hvornår en advisering er modtaget af NAS. Tidstempel returneres kun hvis sådan et findes på beskeden i NAS.

Response består af nedenstående. 

GetMessagesResponse
ElementKrævetAnvendtBeskrivelse
NotificationMessageNejJaListe af NotifikationMessage. Format er beskrevet under Notify operationen.  


Request med includeReceivedTimestampsInMessage

Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns11ns8="http://docs.oasis-open.org/wsrf/bfrp-2" xmlns:ns12ns7="http://docs.oasis-open.org/wsrf/rpbf-2" xmlns:ns8ns13="http://wwwnsi.w3.orgdk/2005advis/08/addressingv10" xmlns:ns9="http://docs.oasis-open.org/wss/wsn2004/01/b-2" id="361c09bb-4bdd-495d-b8c4-87b3cce3755c" idType="mintype-abc">
            <testElement xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgwsoasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns4ns11="http://www.w3.org/20052000/0809/addressingxmldsig#" xmlns:ns5ns10="httpurn://docs.oasis-open.org/wsn/b-2oasis:names:tc:SAML:2.0:assertion" xmlns:ns6ns2="http://docsschemas.oasis-openxmlsoap.org/wsn/t-1soap/envelope/" xmlns:ns7ns4="http://docs.oasis-open.org/wsrfwsn/bfb-2" xmlns:ns8ns3="http://docswww.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
	<!-- DGWS           <tekst>xml tekst</tekst>
            </testElement>
          </ns13:NotifyContent>HEADERS -->
  </ns2:Header>
  <ns2:Body>
    <ns4:GetMessages    </ns8:Message>ns14:includeReceivedTimestampsInMessage="true" xmlns:ns14="http://sundhedsdatastyrelsen.dk/nas/2021/04/23">
      <<ns4:MaximumNumber>1000</ns8ns4:NotificationMessage>MaximumNumber>
    </ns8ns4:GetMessagesResponse>GetMessages>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem opdaterer id-liste

...

NAS-IM-2: Opdater id liste

...

Request uden includeReceivedTimestampsInMessage

Endpoint: http://NAS20/pullpoint/e4b99ea9-b2dd-4de3-89f5-a38b86b402fd

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9

Anvendersystemet kan opdatere sin id-liste løbende. Identifikation af ID listen er det navn som der er anvendt da listen blev oprettet. Er id-listen (som her) anvendt i et abonnement, betyder det, når adviseringer efterfølgende afhentes er det den nye id liste der evalueres op mod. Opdatering sker ved at alle eksisterende ID'er slettes og de nye indsættes. 

Opdatering sker med samme kald som ved oprettelse, men returnerer en indikation af, om listen eksisterede.

Snitflade

Bemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. Derfor henvises der til opret ID liste for snitflade dokumentation.

Request

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secextutility-1.0.xsd" xmlns:ns2ns12="http://schemasdocs.xmlsoapoasis-open.org/wss/soap2004/envelope/" xmlns:01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns11="http://www.w3.org/2000/09/xmldsig#" xmlns:ns10="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/b-2" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
    	<!-- DGWS headersHEADERS -->
  </ns2:Header>
  <ns2:Body>
    <ns8<ns4:CreateIDListRequest>GetMessages>
      <ns8:Name>en-cpr-id-liste</ns8:Name>
      <ns8:Description>This is a description</ns8:Description>
      <ns8:IDType>http://nsi.dk/advis/v10/CPR</ns8:IDType>
      <ns8:Id>CPR2</ns8:Id>
      <ns8:Id>CPR3</ns8:Id><ns4:MaximumNumber>1000</ns4:MaximumNumber>
    </ns8ns4:CreateIDListRequest>GetMessages>
  </ns2:Body>
</ns2:Envelope>


Response med notifyReceived

Code Block
languagesqlxml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://wwwdocs.nsioasis-open.dkorg/2012/12/nas/idlist">
  <ns2:Header>
  <!-- DGWS headerswsn/b-2" xmlns:ns9="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://www.w3.org/2005/08/addressing" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1">
  <ns2:Header>
	<!-- DGWS HEADERS -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreateIDListResponse>GetMessagesResponse>
      <ns8:ExistingListUpdated>true</ns8:ExistingListUpdated>
NotificationMessage>
        </ns8:CreateIDListResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem nedlægger abonnement

...

endpointNAS-SM-2: Nedlæg abonnement

...

Når et abonnement skal nedlægges, skal den subscription endpoint reference, der blev returneret ved oprettelsen anvendes.

Bemærk, at anvendersystemet skal kalde en service-port, der peger på en URL bestående af en adresse, som anvendersystemet tilgår SubscriptionManager-servicen med, samt identifikation af det specifikke abonnements subscription endpoint.

Snitflade

Dette er operationen Unsubscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Unsubscribe. 

Request består af nedenstående.  Bemærk at den subscription der ønskes nedlagt refereres via sidste del ag URL'en.

...

Response består af nedenstående. 

...

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-<ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>
          <ns13:NotifyContent xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:nasns998="http://sundhedsdatastyrelsen.dk/nas/2021/04/23" id="12345" idType="mintype-abc" nasns998:NotifyReceived="2021-04-23T14:05:04+02:00">
            <test xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns13ns4="http://nsi.dk/advis/v10www.w3.org/2005/08/addressing" xmlns:ns9ns5="http://docs.oasis-open.org/wsn/b-2" xmlns:ns12ns6="http://docs.oasis-open.org/wsrfwsn/rpt-21" xmlns:ns11ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10ns8="http://docs.oasis-open.org/wsnwsrf/trp-12" xmlns:ns2ns9="http://schemasnsi.xmlsoap.orgdk/soapadvis/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
v10"><noget>xml</noget></test>
     <!-- DGWS headers -->
  </ns2ns13:Header>NotifyContent>
  <ns2:Body>
    <ns9:Unsubscribe/>
  </ns2ns8:Body>
Message>
      </ns2ns8:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2NotificationMessage>
      <ns8:NotificationMessage>
        <ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>
          <ns13:NotifyContent xmlns:ns13="http://schemasnsi.xmlsoap.orgdk/soapadvis/envelope/v10" xmlns:ns3ns10="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/t-1" xmlns:ns4ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://wwwdocs.w3oasis-open.org/2000/09/xmldsig#wsrf/bf-2" xmlns:ns6ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsrf/rp-2" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10nasns998="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11sundhedsdatastyrelsen.dk/nas/2021/04/23" id="361c09bb-4bdd-495d-b8c4-87b3cce3755c" idType="mintype-abc" nasns998:NotifyReceived="2021-04-23T14:05:06+02:00">
            <testElement xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://docs.oasis-open.org/wsrfwsn/bfb-2" xmlns:ns12ns6="http://docs.oasis-open.org/wsrfwsn/rpt-21" xmlns:ns13ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10">
  <ns2:Header>
            <tekst>xml tekst</tekst>
            <!-- DGWS headers -->
/testElement>
          </ns2ns13:Header>
NotifyContent>
        <ns2</ns8:Body>Message>
    <ns9:UnsubscribeResponse/>
  </ns2ns8:Body>NotificationMessage>
    </ns2ns8:Envelope>

Anvendersystem nedlægger PullPoint

...

NAS-PP-2: Slette et pullpoint

...

GetMessagesResponse>
  </ns2:Body>
</ns2:Envelope>

Response uden notifyReceived

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes

Når et anvendersystem ikke længere anvender et pullpoint kan det nedlægges med DestroyPullPoint operationen. Bemærk at pull point id anvendes som en del af endpoint når servicen den kaldes. 

For at det er muligt at nedlægge et pull point må der IKKE være nogle subscriptions tilknyttet. Hvis der er dette returneres der en fejl til kalder. 

Snitflade

Dette er operationen DestroyPullPoint på PullPoint der kaldes. I WS-notification hedder operationen DestroyPullPoint. 

Request består af nedenstående. Bemærk at det pull point der ønskes nedlagt refereres via sidste del af URL'en. 

...

Response består af nedenstående. Det er blot et tomt element.

...

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6ns2="http://docsschemas.oasis-openxmlsoap.org/wsssoap/2004/01/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secextutility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns8ns6="http://docs.oasis-open.org/wsn/b-2wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns9ns8="http://wwwdocs.w3oasis-open.org/2005/08/addressingwsn/b-2" xmlns:ns12ns9="http://docs.oasis-open.org/wsrf/rpbf-2" xmlns:ns11ns10="http://docswww.oasis-openw3.org/2005/wsrf08/bf-2addressing" xmlns:ns10ns11="http://docs.oasis-open.org/wsnwsrf/trp-12" xmlns:ns2ns12="http://schemasdocs.xmlsoapoasis-open.org/soap/envelope/" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/t-1">
  <ns2:Header>
    	<!-- DGWS headersHEADERS -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyPullPoint/>
GetMessagesResponse>
      </ns2<ns8:Body>
</ns2:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2NotificationMessage>
        <ns8:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>
          <ns13:NotifyContent xmlns:ns13="http://schemasnsi.xmlsoap.orgdk/soapadvis/envelope/v10" xmlns:ns3ns10="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/t-1" xmlns:ns4ns11="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://wwwdocs.w3oasis-open.org/2000/09/xmldsig#wsrf/bf-2" xmlns:ns6ns12="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7wsrf/rp-2" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" id="12345" idType="mintype-abc">
            <test xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8ns4="http://docswww.oasis-openw3.org/2005/wsn08/b-2addressing" xmlns:ns9ns5="http://wwwdocs.w3oasis-open.org/2005/08/addressingwsn/b-2" xmlns:ns10ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12ns8="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13ns9="http://nsi.dk/advis/v10">
  <ns2:Header>
><noget>xml</noget></test>
          </ns13:NotifyContent>
        <!-- DGWS headers -->
/ns8:Message>
      </ns2ns8:Header>NotificationMessage>
      <ns2<ns8:Body>NotificationMessage>
        <ns8:DestroyPullPointResponse/>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem nedlægger id-liste

...

NAS-IM-3: Slet id liste

...

Når en ID liste ikke længere er tilknyttet en eller flere subscriptions kan det slettes med nedenstående kald. I svaret er der en indikation af om ID listen den fandtes eller ej.

Snitflade

Dette er operationen DestroyIDList på IDList der kaldes. Dette er ikke en del af WS-Notification.

Request består af nedenstående. 

...

Response består af nedenstående. 

...

Request

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">TESTNAS-TOPIC1</ns8:Topic>
        <ns8:Message>
          <ns13:NotifyContent xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://wwwdocs.w3oasis-open.org/2000/09/xmldsig#wsrf/bf-2" xmlns:ns5ns12="urnhttp:oasis:names:tc:SAML:2.0:assertion//docs.oasis-open.org/wsrf/rp-2" xmlns:ns8="http://www.nsiw3.dkorg/20122005/1208/nas/idlistaddressing" xmlns:ns7ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secextwsn/b-2" id="361c09bb-4bdd-495d-b8c4-87b3cce3755c" idType="mintype-abc">
            <testElement xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns2ns4="http://schemaswww.xmlsoapw3.org/soap2005/envelope08/addressing" xmlns:ns4ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwsn/b-2" xmlns:ns6="http://docs.oasis-open.org/wsn/t-1" xmlns:ns7="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns3ns8="http://wwwdocs.medcomoasis-open.dkorg/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyIDListRequest>
      <ns8:Name>en-cpr-id-liste</ns8:Name>wsrf/rp-2" xmlns:ns9="http://nsi.dk/advis/v10">
              <tekst>xml tekst</tekst>
            </testElement>
          </ns13:NotifyContent>
        </ns8:Message>
      </ns8:NotificationMessage>
    </ns8:DestroyIDListRequest>GetMessagesResponse>
  </ns2:Body>
</ns2:Envelope>

Response

Anvendersystem opdaterer id-liste

NAS-IM-2: Opdater id liste

Som et eksternt system ønsker jeg at opdatere, en tidligere oprettet, liste med positive id'er til filtrering af adviseringer.

Anvendersystemet kan opdatere sin id-liste løbende. Identifikation af ID listen er det navn som der er anvendt da listen blev oprettet. Er id-listen (som her) anvendt i et abonnement, betyder det, når adviseringer efterfølgende afhentes er det den nye id liste der evalueres op mod. Opdatering sker ved at alle eksisterende ID'er slettes og de nye indsættes. 

Opdatering sker med samme kald som ved oprettelse, men returnerer en indikation af, om listen eksisterede.

Snitflade

Bemærk at dette er samme snitflade som oprettelse af ID liste. Name elementet skal blot referere til en eksisterende ID liste. Derfor henvises der til opret ID liste for snitflade dokumentation.

Request

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5
Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5ns8="http://www.w3nsi.orgdk/2012/200012/09nas/xmldsig#idlist" xmlns:ns6ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7ns2="http://wwwschemas.medcomxmlsoap.dkorg/dgwssoap/2006/04/dgwsenvelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns8ns3="http://www.nsimedcom.dk/2012dgws/122006/nas/idlist04/dgws-1.0.xsd">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyIDListResponse>CreateIDListRequest>
      <ns8:NoSuchList>false<Name>en-cpr-id-liste</ns8:NoSuchList>Name>
      <ns8:Description>This is a <description</ns8:DestroyIDListResponse>Description>
      </ns2:Body>
</ns2:Envelope>

Systemadviseringer

Systemadviseringer ved slettet data fra PullPoint

<ns8:IDType>http://nsi.dk/advis/v10/CPR</ns8:IDType>
      <ns8:Id>CPR2</ns8:Id>
      <ns8:Id>CPR3</ns8:Id>
    </ns8:CreateIDListRequest>
  </ns2:Body>
</ns2:Envelope>


ResponseHvis der ligger adviser på et pull point og disse ikke afhentes i tide genereres der en systemadvisering. Denne systemadvisering er tilgængelig på pull point indtil den er afhentet. Der leveres ikke nye adviser til pull point før systemadvisering er afhentet. Nedenstående er eksempel på sådan en systemadvisering.

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:nasns999ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:nasns998ns4="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:nasns997ns5="http://www.w3.org/2000/09/xmldsig#"
    xmlns:nasns996ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:ns3ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
    xmlns:ns5xmlns:ns8="http://docswww.oasis-open.org/wsn/b-2"nsi.dk/2012/12/nas/idlist">
    xmlns:ns4="http://www.w3.org/2005/08/addressing"
    xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2"
    xmlns:ns7="http://docs.oasis-open.org/wsrf/rp-2"
    xmlns:ns8="http://docs.oasis-open.org/wsn/t-1"
    xmlns:ns9="http://nsi.dk/advis/v10">
    <ns2:Header>
        <!-- DGWS headers -->
    </ns2:Header>
    <ns2:Body>
        <ns5:GetMessagesResponse>
            <ns5:NotificationMessage>
                <ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">pullpointUnusedTopic</ns5:Topic>
                <ns5:Message>
                    <ns9:NotifyContent isSystemNotification="true">
                        <text>Advarsel: Pullpoint har ikke været anvendt i længere tid og beskederne er blevet fjernet. Pullpoint er markeret som aktiv igen og vil igen begynde at modtage beskeder.</text>
                    </ns9:NotifyContent>
                </ns5:Message>
            </ns5:NotificationMessage>
        </ns5:GetMessagesResponse>
    </ns2:Body>
</ns2:Envelope>


<ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:CreateIDListResponse>
      <ns8:ExistingListUpdated>true</ns8:ExistingListUpdated>
    </ns8:CreateIDListResponse>
  </ns2:Body>
</ns2:Envelope>

Anvendersystem nedlægger abonnement

endpointNAS-SM-2: Nedlæg abonnement

Som et eksternt system ønsker jeg at nedlægge et tidligere oprettet abonnement.

Når et abonnement skal nedlægges, skal den subscription endpoint reference, der blev returneret ved oprettelsen anvendes.

Bemærk, at anvendersystemet skal kalde en service-port, der peger på en URL bestående af en adresse, som anvendersystemet tilgår SubscriptionManager-servicen med, samt identifikation af det specifikke abonnements subscription endpoint.

Snitflade

Dette er operationen Unsubscribe på SubscriptionManager der kaldes. I WS-notification hedder operationen Unsubscribe. 

Request består af nedenstående.  Bemærk at den subscription der ønskes nedlagt refereres via sidste del ag URL'en.

Unsubscribe
ElementKrævetAnvendtBeskrivelse
anyNejNejAnvendes ikke

Response består af nedenstående. 

UnsubscribeResponse
ElementKrævetAnvendtBeskrivelse
anyNejNejAnvendes ikke

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns9:Unsubscribe/>
  </ns2:Body>
</ns2:Envelope>


Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns9:UnsubscribeResponse/>
  </ns2:Body>
</ns2:Envelope>


Anvendersystem nedlægger PullPoint

NAS-PP-2: Slette et pullpoint

Som et eksternt system ønsker jeg at slette et pullpoint.

Når et anvendersystem ikke længere anvender et pullpoint kan det nedlægges med DestroyPullPoint operationen. Bemærk at pull point id anvendes som en del af endpoint når servicen den kaldes. 

For at det er muligt at nedlægge et pull point må der IKKE være nogle subscriptions tilknyttet. Hvis der er dette returneres der en fejl til kalder. 

Snitflade

Dette er operationen DestroyPullPoint på PullPoint der kaldes. I WS-notification hedder operationen DestroyPullPoint. 

Request består af nedenstående. Bemærk at det pull point der ønskes nedlagt refereres via sidste del af URL'en. 

DestroyPullPoint
ElementKrævetAnvendtBeskrivelse
anyNejNejAnvendes ikke

Response består af nedenstående. Det er blot et tomt element.

DestroyPullPointResponse
ElementKrævetAnvendtBeskrivelse
anyNejNejAnvendes ikke

Request

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyPullPoint/>
  </ns2:Body>
</ns2:Envelope>


Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.w3.org/2005/08/addressing" xmlns:ns10="http://docs.oasis-open.org/wsn/t-1" xmlns:ns11="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns12="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns13="http://nsi.dk/advis/v10">
  <ns2:Header>
    <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyPullPointResponse/>
  </ns2:Body>
</ns2:Envelope>


Anvendersystem nedlægger id-liste

NAS-IM-3: Slet id liste

Som et eksternt system ønsker jeg at slette, en tidligere oprettet, liste med positive id'er til filtrering af adviseringer.

Når en ID liste ikke længere er tilknyttet en eller flere subscriptions kan det slettes med nedenstående kald. I svaret er der en indikation af om ID listen den fandtes eller ej.

Snitflade

Dette er operationen DestroyIDList på IDList der kaldes. Dette er ikke en del af WS-Notification.

Request består af nedenstående. 

DestroyIDListRequest
ElementKrævetAnvendtBeskrivelse
NameJaJaAngiver navnet på den ID liste der ønskes slettet.

Response består af nedenstående. 

DestroyIDListResponse
ElementKrævetAnvendtBeskrivelse
NoSuchListJaJaBoolean værdi for om ID listen fandtes eller ej.

Request

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns6="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
  <ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyIDListRequest>
      <ns8:Name>en-cpr-id-liste</ns8:Name>
    </ns8:DestroyIDListRequest>
  </ns2:Body>
</ns2:Envelope>


Response

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.nsi.dk/2012/12/nas/idlist">
  <ns2:Header>
  <!-- DGWS headers -->
  </ns2:Header>
  <ns2:Body>
    <ns8:DestroyIDListResponse>
      <ns8:NoSuchList>false</ns8:NoSuchList>
    </ns8:DestroyIDListResponse>
  </ns2:Body>
</ns2:Envelope>

Spole subscription tilbage

NAS-SM-3: Spol subscription tilbage

Som et eksternt system ønsker jeg at spole en given subscription tilbage til et givent tidspunkt så jeg kan afhente tidligere afhentede notifikationer igen.

Hvis et anvender system får brug at hente allerede afhentede notifikationer igen er det muligt at spole en given subscription tilbage til et givent tidspunkt. Det kan f.eks. være nødvendigt hvis en anvender har mistet data. NAS gemmer med jævne mellemrum hvor langt alle subscriptions er nået og der spoles tilbage til et tidspunkt umiddelbart før det ønskede tidspunkt.

Bemærk at der ikke kan spoles tilbage til et tidspunkt hvor data ikke længere er tilgængelige i NAS. Forsøger man alligevel får man returneret en fejl med mindste mulige tidspunkt. Selvom man spoler tilbage til det tidligst mulige tidspunkt så er der stadig risiko for at man ikke kan hente data da data kan være blevet slettet i det tidsrum man kalder RewindSubscription servicen og man kalder GetMessages.

Snitflade

Dette er operationen RewindSubscription på RewindSubscriptionServicen  der kaldes. Servicen den udstilles af SubscriptionManager servicen.  Dette er ikke en del af WS-Notification.

Request består af nedenstående. 

RewindSubscription
ElementKrævetAnvendtBeskrivelse
SubscriptionIdJaJaDen subscription der ønskes spolet tilbage.
RewindDateJaJaDato der ønskes spolet tilbage til. Der spoles tilbage til et tidspunkt umiddelbart før dette tidspunkt. Præcis dato der er spolet tilbage til returneres i svaret.

Response består af nedenstående. 

RewindSubsriptionResponse
ElementKrævetAnvendtBeskrivelse
RewindDateJaJaTidspunkt der er spolet tilbage til.

Request

Code Block
languagexml
<?xml version='1.0' encoding='UTF-8'?>
<soapenv: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:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 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>
        <!-- DGWS headers -->
    </soapenv:Header>
    <S:Body xmlns="http://www.w3.org/2000/09/xmldsig#"
        xmlns:ns2="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
        xmlns:ns3="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07"
        xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion"
        xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
        xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
        xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
        <ns3:RewindSubscriptionRequest xmlns:ns3="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07">
            <ns3:SubscriptionId>http://localhost:8080/subscriptionmanager/service/722a0488-b612-4972-99dd-d056c9049178</ns3:SubscriptionId>
            <ns3:RewindDate>2021-09-13T13:49:01.784+02:00</ns3:RewindDate>
        </ns3:RewindSubscriptionRequest>
    </S:Body>
</soapenv:Envelope>

Response

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns4="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns7="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns8="http://www.w3.org/2005/08/addressing" xmlns:ns9="http://docs.oasis-open.org/wsn/b-2" xmlns:ns10="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns11="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns12="http://docs.oasis-open.org/wsn/t-1" xmlns:ns13="http://nsi.dk/advis/v10" xmlns:ns14="http://www.sundhedsdatastyrelsen.dk/nas/rewindsubscription/2021/09/07">
    <ns2:Header>
        <!-- DGWS headers -->
    </ns2:Header>
    <ns2:Body>
        <ns14:RewindSubscriptionResponse>
            <ns14:RewindDate>2021-09-13T13:49:01.089+02:00</ns14:RewindDate>
        </ns14:RewindSubscriptionResponse>
    </ns2:Body>
</ns2:Envelope>

Ofte stillede spørgsmål

Hvordan håndterer jeg ID-lister med mange ID'er?

Hvis man ønsker at abbonnere på mange ID'er er det vigtigt at håndtere dette på en speciel måde af hensyn til performance. Mange ID'er er når der er tale om mere end ca. 10.000 ID'er.

Af hensyn til performance er det vigtigt at der ikke oprettes ID-lister med mere end ca. 10.000 ID'er. Hver af disse ID-lister skal have sin egen subscription og sit eget pull point. Det vil sige at man ikke må oprette mange subscriptions med hver sin ID-liste og så tilknytte dem til det samme pullpoint. Det er dog tilladt at anvende den samme ID-liste i flere subscriptions.

Når der skal indhentes adviser skal de enkelte pullpoints kaldes i "round robin" med op til 5 parallelle kald. Mellem hvert sæt af kald skal der gå ca. 10 sekunder.

Eksempel

Der ønskes abbonnement 505.000 ID'er.

  1. Der oprettes 50 ID-lister med hver 10.000 ID'er og en ID-liste med 5.000 ID'er. Der oprettes et tilsvarende antal subscriptions og pullpoints så der er et 1-1-1 forhold mellem ID-liste, subscription og pullpoint.
  2. De 51 pullpoint kaldes i round robin som beskrevet ovenover.
  3. Hvis der ønskes abbonnement på flere ID'er opdateres ID-listen med 5.000 ID'er.
  4. Når ID-listen med 5.000 ID'er når en størrelse på ca. 10.000 ID'er oprettes der ny ID-liste, subscription og pullpoint og nye ID'er tilføjes denne.


Hvad sker der hvis data slettes fra PullPoint inden afhentning (systemadviseringer)

Hvis der ligger adviser på et pull point og disse ikke afhentes i tide genereres der en systemadvisering. Denne systemadvisering er tilgængelig på pull point indtil den er afhentet. Der leveres ikke nye adviser til pull point før systemadvisering er afhentet. Nedenstående er eksempel på sådan en systemadvisering.

Code Block
languagesql
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:nasns999="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:nasns998="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:nasns997="http://www.w3.org/2000/09/xmldsig#"
    xmlns:nasns996="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:ns3="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
    xmlns:ns5="http://docs.oasis-open.org/wsn/b-2"
    xmlns:ns4="http://www.w3.org/2005/08/addressing"
    xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2"
    xmlns:ns7="http://docs.oasis-open.org/wsrf/rp-2"
    xmlns:ns8="http://docs.oasis-open.org/wsn/t-1"
    xmlns:ns9="http://nsi.dk/advis/v10">
    <ns2:Header>
        <!-- DGWS headers -->
    </ns2:Header>
    <ns2:Body>
        <ns5:GetMessagesResponse>
            <ns5:NotificationMessage>
                <ns5:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">pullpointUnusedTopic</ns5:Topic>
                <ns5:Message>
                    <ns9:NotifyContent isSystemNotification="true">
                        <text>Advarsel: Pullpoint har ikke været anvendt i længere tid og beskederne er blevet fjernet. Pullpoint er markeret som aktiv igen og vil igen begynde at modtage beskeder.</text>
                    </ns9:NotifyContent>
                </ns5:Message>
            </ns5:NotificationMessage>
        </ns5:GetMessagesResponse>
    </ns2:Body>
</ns2:Envelope>


Fejlscenarier

SnitfladeFejlbeskedHåndtering af fejlen
IDListCvr <CVR> og it system <ITSystemName> ejer ikke id listenListen findes i forvejen men ejes af nogle andre. Sørg for at Name er korrekt
IDListKan ikke opdatere ID liste med anden ID liste typeListen findes i forvejen, men med en anden id-type. Sørg for at typen er angivet korrekt.
IDListName er null eller tomSørg for at angive Name ved oprettelse af en liste.
IDListIDType er null eller tomSørg for at angive IDType ved oprettelse af en liste.
IDListID er null eller tomSørg for at angive ID ved oprettelse af en liste.
NotificationBrokerElementet 'TopicExpression' mangler i input.Inkluder 'TopicExpression' i dit input.
NotificationBrokerElementet 'TopicExpression' skal have et enkelt element under sig.Sørg for kun at have ét element under 'TopicExpression'.
NotificationBrokerElementet 'TopicExpression' må ikke have et tomt element under sigSørg for at elementet under 'TopicExpression' ikke er tomt.
NotificationBrokerElementet 'TopicExpression' skal have et tekst element under sig.Inkluder et tekst element under 'TopicExpression'.
NotificationBrokerElementet 'TopicExpression' skal have et ikke-tomt tekst element under sig.Sørg for at tekst elementet under 'TopicExpression' indeholder data.
NotificationBrokerElementet 'Message' mangler i input.Inkluder 'Message' elementet i dit input.
NotificationBrokerElementet 'Message' skal have et enkelt element under sig.Sørg for at 'Message' kun indeholder ét element.
NotificationBrokerElementet 'Message' skal have et 'NotifyContent' element under sig.Inkluder et 'NotifyContent' element under 'Message'.
NotificationBrokerElementet 'NotifyContent' skal have en ID type.Angiv en ID type for 'NotifyContent' elementet.
NotificationBrokerElementet 'NotifyContent' skal have et ID.Angiv et ID for 'NotifyContent' elementet.
NotificationBrokerElementet 'NotifyContent' skal have en advisering.Sørg for at 'NotifyContent' indeholder en advisering.
NotificationBrokerBeskederne [<index>, <antal>] blev ikke gemt.Dette skyldes et bagvedliggende problem hos NSP. Kontakt NSP support.
NotificationBrokerInvalid besked.Denne fejl kommer typisk kun hvis kaldet er tomt. Sørg for at requested er konstrueret korrekt.
PullPointUnknown operation: <OperationName>Sørg for at du kalder med en gyldig operation, dvs. enten DestroyPullPointRequest eller GetMessagesRequest.
PullPointDestroyPullPoint må ikke være nullDenne fejl kommer hvis body i requested er null. Sørg for at requested er konstrueret korrekt.
PullPointPullpoint findes ikke: <PullPointId>Sørg for at PullPointId er korrekt og eksisterer i systemet.
PullPointIDCard has no certificate info. IDCard from the NewSecurityTokenService must be used.Sørg for at bruge et ID-kort med gyldig certifikatinformation fra NewSecurityTokenService.
PullPointCVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic>Sørg for at CVR og SubjectSerialNumber har de nødvendige rettigheder til at tilgå det pågældende topic.
PullPoint<CVR> og <ITSystemName> ejer ikke pullpointSørg for at du bruger et pullpoint som du ejer. PullPoint står med en anden ejer i systemet.
PullPointTopic <Topic> findes ikke.Sørg for at topic'et eksisterer og er stavet korrekt.
PullPointTypen er enten BACKEND_PROBLEM eller TIMEOUT_EXCEEDEDDette er et internt problem på NSP. Kontakt NSP support.
PullPointSamtidig brug af pullpoint service ikke supporteret.Dette er et internt problem på NSP. Kontakt NSP support.
PullPointPullpoint, <PullPointId>, har abonnementer <Antal>.Før du forsøger at slette eller ændre et PullPoint, sørg for at afmelde eller fjerne alle aktive subscriptions fra det.
PullPointPullpoint findes ikke: <PullPointId>Sikr dig, at PullPointId er korrekt, og at det specificerede pullpoint faktisk er oprettet og tilgængeligt i systemet.
PullPointIDCard has no certificate info. IDCard from the NewSecurityTokenService must be used.Sørg for at du har fået sat ID-kortet korrekt på requested og at det er gyldigt.
PullPointCVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic>Sørg for Topic er angivet korrekte Fejlen tyder på at topic tilhører et andet CVR og/eller system.
PullPointFactoryUnknown operation: <OperationName>Sørg for, at den anvendte SoapAction er 'CreatePullPoint'. Fejlen tyder på man har angivet en ugyldig operation.
PullPointFactoryCreatePullPoint må ikke være null.Undersøg om requestet indeholder alle nødvendige data og ikke er tomt.
SubscriptionManagerDer skal være et filterInkluder et filter i subscribe-requestet
SubscriptionManagerDer skal være en consumer reference med en adresse.Tilføj en 'ConsumerReference' med en gyldig adresse i requestet
SubscriptionManagerPullPoint skal indeholde korrekt URL. Kaldt med: <URL>Sørg for, at URL'en i 'PullPoint' matcher det forventede format og syntaks.
SubscriptionManagerProducerProperties understøttes ikke.Undlad at inkludere 'ProducerProperties' i din anmodning, da de ikke understøttes.
SubscriptionManagerKun et MessageContent filter er understøttet.Brug kun et MessageContent i requestet.
SubscriptionManagerInvalid filter dialekt: <DIALECT>Sørg for at anvende en understøttet filterdialekt.
SubscriptionManagerUkendt TopicExpression: <TOPIC>Sørg for, at det angivne 'TopicExpression' er korrekt og kendt af systemet.
SubscriptionManagerKun et TopicExpression er understøttet.Inkluder præcist ét 'TopicExpression' i din anmodning.
SubscriptionManagerKun simple dialekt er understøttet: <DIALECT>Lige pt. understøttes der kun http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple. Sørg for, at du har angivet det korrekt.
SubscriptionManagerDer skal være et TopicExpression element.Tilføj mindst ét 'TopicExpression' element i din subscribe-anmodning.
SubscriptionManagerDer skal være præcist et element i topic expression.Sørg for at der kun er ét element i 'TopicExpression'.
SubscriptionManagerInvalid indhold i MessageContent.Sørg for at indholdet i 'MessageContent' filteret er korrekt formateret og gyldigt.
SubscriptionManagerDer skal være en IdList eller SingleID i IDFIlter.Inkluder enten en 'IdList' eller 'SingleID' i 'IDFilter' delen af dit request.
SubscriptionManagerType skal være ens for alle ID'er.Sørg for, at alle ID'er i en 'IdList' er af samme type, for at undgå denne fejl.
SubscriptionManagerPullPoint findes ikke: <PullPointId>Sørg for, at PullPointId er korrekt og at det angivne pullpoint faktisk findes i systemet.
SubscriptionManagerCVR <CVR> og it system <ITSystemName> ejer ikke pull point <PullPointId>Sørg for, at PullPointId er angivet korrekt. Fejlen tyder på, at det ejes af et andet CVR og/eller system.
SubscriptionManagerTopic findes ikke: <Topic>Sørg for, at det angivne topic eksisterer og er korrekt angivet i requestet
SubscriptionManagerIDCard has no certificate info. IDCard from the NewSecurityTokenService must be used.Sørg for, at ID-kortet indeholder gyldig certifikatinformation fra STS'en, som fås ved kald til NewSecurityTokenService.
SubscriptionManagerCVR <CVR> og subjectSerialNumber <SubjectSerialNumber> har ikke adgang til topic: <Topic>Sørg for at du har angivet det korrekte id. Topic står med en anden ejer.
SubscriptionManagerKan ikke finde subscription: <SubscriptionId>Sørg for at du har angivet det korrekte id. Subscription findes ikke.
SubscriptionManagerCVR <CVR> og it system <ITSsystemName> er ikke ejer af subscription <SubscriptionId>Sørg for at du har angivet det korrekte id. Subscription står med en anden ejer.
SubscriptionManagerID list findes ikke: <FilterName>Sørg for at du har angivet det korrekte id.
SubscriptionManager<Owner> ejer ikke id liste <OwnerId>Sørg for at OwnerID er angivet korrekt.
SubscriptionManagerNot possible to rewind subscription to requested date. Oldest possible date is <Dato>Sørg for, at den anmodede dato ikke ligger efter den, der er angivet i fejlbeskeden.