Versions Compared

Key

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

Indhold

Table of Contents

Introduktion

Formål

Denne guide har som formål at give et overblik over , hvordan LAR servicen kaldes. Guiden indeholder referencer til snitfladebeskrivelser for kald til LAR servicen.

...

<xxx>.

<Denne guide er tilegnet klienter til NSP og specifikt den leverede komponent/service. Denne del skal være tilstrækkelig for en klientleverandør, som skal udvikle aftagersystemer. Heri tilgodeses specielt referencer til andre dokumenter, da en anvender også skal have en bredere forståelse af den anvendte komponent og eventuelle omgivelser.

Det er selvfølgelig også ret væsentligt at template udfyldes udtømmende, herunder i forhold til den logik og de regler, der skal følges for den måde servicen anvendes på, og som servicen selv efterlever>

Beskrivelse

<Formål og beskrivelse af komponenten/servicen>

Links til mere information

<Relevante links til andre dokumenter, herunder i forhold til de data services skal arbejde på, og den model de følger>

<Eventuel link til mere uddybende beskrivelse, intern på NSP og eksternt>

Grafisk fremstilling og sammenhængen

<Tegning(er) der letter forståelsen og beskrivelser af relevante sammenhængen>

Relevante use-cases

<Angiv use cases såfremt det er relevant>

Læsevejledning og forudsætninger

Dette dokument er henvendt til udviklere og arkitekter, der skal anvende LAR servicen<> . 

Det forventes at læseren har kendskab til <f.eks.: SOAP WebService, Den Gode WebService (DGWS) og Sercurity Token Service (STS), o.

Dokument historik

...

Definitioner og referencer

...

Introduktion til domænet: Landsdækkende cave register

CAVE er et medicinsk fagudtryk for lægemidler, som en patient ikke bør få, typisk på grund af en unormal reaktion på produktet. CAVE er således en information om patientoplysninger, som sundhedspersoner skal være særligt opmærksomme på, fx om bivirkninger i forbindelse med indtagelse af et lægemiddel.

LAR servicen er en SOAP baseret snitflade til dette cave/ allergi register så man kan oprette og trække information omkring den enkelte patient.

Brug af LAR service

LAR service udstiller en SOAP snitflade. SOAP snitfladen overholder DGWS. Det betyder, at der skal være en gyldig security og medcom header. Disse to headers er ikke beskrevet i snitfladebeskrivelsen, da disse er en del af DGWS. 

SOAP snitfladen udstiller to SOAP actions og det er disse, der er beskrevet i snitfladebeskrivelse afsnittet.

Snitfladebeskrivelse

Snitfladerne er inspireret af FHIR standarden, og alle elementer hedder, så vidt det er muligt, det samme som i FHIR standarden. 

RegisterPatientAllergy

RegisterPatientAllergyRequest

...

Code og system for reaktionen. System er oid for SKS.

Skal være udfyldt, hvis manifestationDescription ikke er.

...

Tekstuel beskrivelse.

Skal være udfyldt, hvis manifestion code/system ikke er

...

Består af ReplyStatus og en liste af MedicationAllergyIntoleranceReduced.

...

Status kode på forespørgselen.

Kan være en af følgende: Success, NotValidData, ProblemCallingCave

...

GetPatientAllergyList

GetPatientAllergyListRequest

...

a.>

<Eventuel andre forudsætninger>

Sikkerhed

<Forudsætninger for anvendelse og krævede adgange, whitelistinger etc., Sikkerhedsniveau. Angiv krav til authentication for at kunne bruge servicen/komponenten.>

Service udstil type<Angiv typen, f.eks. DGWS, IDWS, ...>
Krævede adgange <Angiv adgange som er nødvendige for anvendere for at kunne benytte servicen/komponenten>
Whitelisting <Angiv eventuel nødvendig whitelisting>
Krævet sikkerhedsniveau <Angiv krav til authentication for at kunne bruge servicen/komponenten>
Forudsætninger for anvendelse <Angiv forudsæntninger som er nødvendige for at kunne bruge servicen/komponenten, eventuelle nødvendige kald til andre services, etc.>
Logning<Angiv om og hvad der logges>
<evt. yderligere krav eller forhold>

<Eventuel nærmere introduktion>

<Eventuel yderligere beskrivelse af området / domænet som servicen/komponenten servicerer>.

<Samt yderligere information som er vigtigt for anvendelsen eller forståelsen>

Definitioner og referencer

ReferenceBeskrivelse






Dokument historik

DatoAnsvarligBeskrivelse
dd/mm-yyyy

Initiel version

Adgang, brug og snitflader

Adgang

<Beskrivelse af hvordan service/komponent bruges, snitflade(r), endpoints, og andet relevant>

Tilgængelig<Angiv på hvilke(n) NSP-installation(er) servicen/komponenten er tilgængelig>
Endpoint(s)

<Angiv udstillede endpoint(s), og hvad de hedder.>

WSDL

<Angiv henvisning til WSDL(er). For ekstern anvendbare services typisk på https://wsdl.nspop.dk/>

Beskrivelse af services

<Beskrivelser af service(s) / actions på endpoint(s). I lægmands termer beskrive hvad man kan forvente af de enkelte services.>

Namespaces etc<Angiv eventuelt Namespaces, eksterne typer, ..>

Snitfladebeskrivelse og brug

<Beskrivelse af Snitfladerne, samt den logik og de regler, der skal følges for den måde servicen anvendes på, og som servicen selv efterlever.

<snitflade 1>

<Beskrivelse af hver snitflade input/output>

<snitflade 1>Request

<beskrivelse af request>

<Marker hvilke der er obligatoriske. Gerne en beskrivende tekst på samtlige parametre, og gerne også et eksempel på hvilke data der kan sættes ind her. Selv hvis man forstår beskrivelsen, så er det stadig godt at have et eksempel. Angiv hvis der er undtagelser eller specielle hensyn>

<navn>
ElementBeskrivelsePåkrævet






<snitflade 1>Response

<beskrivelse af svar>

<navn>
ElementBeskrivelsePåkrævet






<snitflade 2, osv., med request/response>

Generelle koder, værdier, etc.

<Angiv eventuelle generelle koder, værdier, etc>

Fejlbeskeder

<Beskrivelse af  fejlbeskeder, og i hvilke situationer man kan forvente at se disse i.

Noter omkring ting som går på tværs af services. Det kan være fejl som optræder generelt og som man skal være opmærksom på.>

Eksempler på request/response

Eksempler på request og response til de operationer der udstilles. De enkelte

GetPatientAllergyListResponse

Består af ReplyStatus og en liste af MedicationAllergyIntoleranceReduced.

...

Status kode på forespørgselen.

Kan være en af følgende: Success, NotValidData, ProblemCallingCave, MsbTechnicalError, TreatmentRelationTechhnicalError, SamtykkeTechnicalError, MinLogTechnicalError, SuccessButDataSpecificConsent, NegativeConsent

...

Code og system for reaktionen. System er oid for SKS.

Skal være udfyldt, hvis manifestationDescription ikke er.

...

Tekstuel beskrivelse.

Skal være udfyldt, hvis code/system ikke er

...

Hvor alvorlig reaktionen er. Enten mild, moderate eller severe.

...

Anvendte kodesystemer

De steder i snitfladen, hvor der er beskrevet, at der anvendes et kode system (f.eks. oid for ATC), så er det nedentående systemer, der tillades i LAR servicen. 

...

Eksempler

Eksempler på request of response til de SOAP operationer der udstilles. De enekelte elementer er beskrevet under snitfladebeskrivelse. Klient proxier kan genereres ud fra udfra WSDL filen'en.

RegisterPatientAllergy

...

<eksempel 1 på ..>

Code Block
languagexml
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:RegisterPatientAllergyRequest xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns6="http://nsp.dk/medicationallergyservice/2018/11/21/" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns8="http://nsp.dk/medicationallergyservice/allergy/2018/11/21/">
      <MedicationAllergyIntoleranceReduced>
        <ns8:identifier>494de20b-32ec-4955-8886-5514bd063c25</ns8:identifier>
        <ns8:clinicalStatus value="active"/>
        <ns8:verificationStatus value="confirmed"/>
        <ns8:type value="allergy"/>
        <ns8:category value="medication"/>
        <ns8:criticality value="high"/>
        <ns8:substance>
          <ns8:system>urn:oid:2.16.840.1.113883.6.73</ns8:system>
          <ns8:code>648005</ns8:code>
        </ns8:substance>
        <ns8:substanceDescription>648005 description</ns8:substanceDescription>
        <ns8:patient>
          <ns8:system>urn:oid:1.2.208.176.1.2</ns8:system>
          <ns8:code>1601010020</ns8:code>
        </ns8:patient>
        <ns8:onsetDateTime>2018-11-01T13:30:00.000+01:00</ns8:onsetDateTime>
        <ns8:recorder>
          <ns8:system>urn:oid:1.2.208.176.1.3</ns8:system>
          <ns8:code>1234</ns8:code>
        </ns8:recorder>
        <ns8:recorderOrganization>
          <ns8:system>urn:oid:1.2.208.176.1.1</ns8:system>
          <ns8:code>1234567890</ns8:code>
        </ns8:recorderOrganization>
        <ns8:note>Oil of calamus allergy</ns8:note>
        <ns8:reaction>
          <ns8:manifestation>
            <ns8:system>urn:oid:1.2.208.176.2.4.12</ns8:system>
            <ns8:code>5678</ns8:code>
          </ns8:manifestation>
          <ns8:manifestationDescription>Severe reaction was observed for several hours</ns8:manifestationDescription>
          <ns8:onset>2018-11-01T13:30:00.000+01:00</ns8:onset>
          <ns8:severity value="mild"/>
        </ns8:reaction>
      </MedicationAllergyIntoleranceReduced>
    </ns6:RegisterPatientAllergyRequest>
  </soap:Body>
</soap:Envelope>

Nedenstående er SOAP svar på ovenstående request når kaldet går godt.

Code Block
languagexml
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:RegisterPatientAllergyResponse xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns6="http://nsp.dk/medicationallergyservice/2018/11/21/" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns8="http://nsp.dk/medicationallergyservice/allergy/2018/11/21/">
      <ReplyStatus>
        <ns6:StatusCode>Success</ns6:StatusCode>
        <ns6:StatusText>Kald til servicen var successfuld</ns6:StatusText>
      </ReplyStatus>
    </ns6:RegisterPatientAllergyResponse>
  </soap:Body>
</soap:Envelope>

GetPatientAllergyList

Nedenstående er eksempel på SOAP request, der anvende til at læse data. 

Code Block
languagexml
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:GetPatientAllergyListRequest xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns5="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns6="http://nsp.dk/medicationallergyservice/2018/11/21/" xmlns:ns7="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns8="http://nsp.dk/medicationallergyservice/allergy/2018/11/21/">
      <MedicationAllergyIntoleranceSearchCriteria>
        <ns6:patient>
          <ns6:system>urn:oid:1.2.208.176.1.2</ns6:system>
          <ns6:code>1601010020</ns6:code>
        </ns6:patient>
        <ns6:requesterOrganization>
          <ns6:type value="sor"/>
          <ns6:code>12345</ns6:code>
        </ns6:requesterOrganization>
        <ns6:consentOverride>false</ns6:consentOverride>
      </MedicationAllergyIntoleranceSearchCriteria>
    </ns6:GetPatientAllergyListRequest>
  </soap:Body>
</soap:Envelope>

Nedenstående er SOAP svar på ovenstående request når kaldet går godt og der er registreret en allergi på patienten.

...

languagexml

...

titleEksempel request/response
collapsetrue
<eksempel her>

<mere eksempel>

Test

<beskriv Test muligheder, test-systemer og eventuelle testdata>

Eksempel kode og klient

Eksempel kode

<Eksempel kode. Det er meget lettere at lave sin egen implementering, hvis man kan kigge efter en anden ....>

Code Block
languagexml
titleEksempel kode
collapsetrue
<eksempel her, eller reference andet steds>

Eksempel klient

<og hvor det giver mening angiv eventuel eksempel klient, samt hvordan og hvor det eventuelt kan eksekveres>

...