Versions Compared

Key

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

...

 

Code Block
languagexml
titleEksempel
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://nspop.dk/2014/04">
  <dksVersion>1</dksVersion>
  <timestamp>2014-08-05T12:29:07.239+02:00</timestamp>
  <name>MedicineCard</name>
  <endpoint>http://195.80.250.83/fmk12/ws/MedicineCard</endpoint>
  <operations>
    <action name="http://www.dkma.dk/medicinecard/xml.schema/2012/06/01#GetPrescriptionMedication">
      <timeoutMillis>30000</timeoutMillis>
      <idCardLevel>MOCES</idCardLevel>
      <idCardMaxAgeMins>540</idCardMaxAgeMins>
    </action>
    <action name="http://www.dkma.dk/medicinecard/xml.schema/2009/01/01#UpdateMedicineCard">
      <timeoutMillis>30000</timeoutMillis>
      <idCardLevel>MOCES</idCardLevel>
      <idCardMaxAgeMins>540</idCardMaxAgeMins>
        <trifork:extra xmlns:trifork=”http://trifork.com/”>
			 This is some extra text
        </trifork:extra>
    </action>
  </operations>
  <trifork:extra xmlns:trifork=”http://trifork.com/”>
    This is some extra text
  </trifork:extra>
</root>

XML Skema

XML skemaet kan ses herefter (men også her). 

Code Block
languagexml
titleXSD
linenumberstrue
collapsetrue
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://nspop.dk/2014/04"
           xmlns="http://nspop.dk/2014/04"
           elementFormDefault="qualified">
    <xs:simpleType name="modelType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="synchronous_timeout"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="idCardLevel">
        <xs:restriction base="xs:string">
            <xs:enumeration value="FOCES"/>
            <xs:enumeration value="VOCES"/>
            <xs:enumeration value="MOCES"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="actionType">
        <xs:sequence>
            <xs:element name="model" type="modelType" minOccurs="0" maxOccurs="1" />
            <xs:element name="timeoutMillis" type="xs:integer" minOccurs="0" maxOccurs="1" />
            <xs:element name="idCardLevel" type="idCardLevel" minOccurs="0"  maxOccurs="1" />
            <xs:element name="idCardMaxAgeMins" type="xs:integer" minOccurs="0" maxOccurs="1" />
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="operationsType">
        <xs:sequence>
            <xs:element name="action" type="actionType" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="dksVersion" type="xs:integer"/>
                <xs:element name="timestamp" type="xs:dateTime"/>
                <xs:element name="name" type="xs:string"/>
                <xs:element name="endpoint" type="xs:string"/>
                <xs:element name="operations" type="operationsType"/>
                <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Elementerne beskrives her:

ElementBeskrivelse
dksVersionDenne version skal stemme overens med xml skemaet, men pga. fortolkning kan der være forskel. Element er krævet, og tilladte værdier er pt. blot 1. Versionen fortæller CRK hvordan resterende indhold skal fortolkes.
timestamp

Dette er tidstemplet for hvornår dokumentet er lavet. Hvis ingen tidszone er angivet, vil lokal tidszone blive brugt. Hvis filens øvrige indhold ændres, skal timestamp ligeledes ændres.

name

En entydig streng, der identificerer servicen.

endpointDet endpoint servicen svarer på. Dokumentet beskriver kan actions for et eneste endpoint. Hvis flere endpoints ønskes beskrives, skal yderligere DKS services opsættes.
operationsListe af (Soap) actions. Rækkefølgen er her ikke signifikant.

Derudover er der subelementet, action:

ElementBeskrivelse
attributen attributten nameDenne streng angiver Soap Action. Attributen er krævet.
timeout

Tiden i millisekunder; DCC bruger denne til at time en forespørgelse ud. Elementet kan undlades, hvormed default værdien, 30 sekunder, vælges.

model

Afkoblingsmodel; pt. understøttes kun synchronous_timeout. Elementet kan undlades, hvormed default værdien, synchronous_timeout, vælges. 

idCardLevelAngiver krævet sikkerhedsniveau for det tilhørende id kort. Kan pt. have en af værdierne FOCES, VOCES eller MOCES. Bemærk at kun ved anvendelse af MOCES, kan forespørgsler evt. være rutet gennem en decentral SOSI-GW. Elementet kan undlades.
idCardMaxAgeTilladte alder i minutter for id-kortet før SOSI-GW vil prompte med et nyt login. Dette er relevant for de installationer, hvor DCC er placeret foran SOSI-GW. Elementet kan undlades, hvilket bevirker at ingen alder forsøges håndhæves. Elementet kan undlades.

Ud over de her beskrevne elementer, er det også muligt at tilføje yderligere elementer; både sidst under action-element og efter operations-elementet. Dette muliggører DKS implementationer at tilføje extra detaljer enten til dokumentation eller til internt brug i implementationen. CRK vil ikke forsøge at tolke disse elementer. 

Indhold

CRK benytter sig at det angivne tidsstempel i svaret (timestamp element) til at afgøre om der er ændringer. Derudover understøtter CRK If-Modified-Since, og vil derfor kun forvente et fuldt svar, hvis denne værdi er forskellig for dokumentet.

Migrering

I en overgangsperiode vil NSP-projektet internt vedligeholde DKS-definitioner for de udbudte services. Disse vil løbende erstattet af DKS-services udstillet af de enkelte backend-services, efterhånden som disse understøttes.