1. Indhold

2. Introduktion

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

2.2. Læsevejledning

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

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

2.3. Dokument historik

Dato Ansvarlig Beskrivelse
5/2-2018 KvalitetsIT Initiel version

2.4. Definitioner og referencer

Reference Beskrivelse
DGWS Den Gode WebService
STS Security Token Service
FHIR Fast Health Interoperability Resources

2.5. 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, opdatere og trække information omkring den enkelte patient.

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

4. Snitfladebeskrivelse

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

4.1. RegisterPatientAllergy og UpdatePatientAllergy

Denne operation kræver minimum et id kort niveau 3. 

4.1.1. RegisterPatientAllergyRequest og UpdatePatientAllergyRequest

MedicationAllergyIntoleranceReduced
Elementer Beskrivelse Påkrævet
identifier

Id på registreringen. Skal være i UUID format.

Ved RegisterPatient: Hvis der ikke angives et ID genereres der et af LAR . 

Ved UpdatePatient: Id skal findes allerede

Nej
clinicalStatus

Status på registreringen. Er enten active, inactive eller resolved

Ved updatePatient: en allergi med status inactive kan ikke opdateres

Ja
verificationStatus Overskrives altid med confirmed af LAR servicen. Nej
type Overskrives altid med allergy af LAR servicen. Nej
category Overskrives altid med medication af LAR servicen. Nej
criticality Kritikalitet af allergien. Er enten low, high eller unable-to-assess. Nej
substance Substans som allergien drejer sig om. Består af en kode og et system. System kan være oid for ATC kode og koden er så en specifik ATC kode. Ja
substanceDescription Tekstuel beskrivelse af substansen. Nej
drugId Drug id identifikation af den substans som allergien drejer sig om. Består af en kode og et system. System er OID for drug id og koden er det specifikke drug id.  Nej
patient

Patient allergien drejer sig om. Består af en code og et system. Hvor code er værdien (CPR nummer) og system er oid koden for CPR systemet.

Ved UpdatePatient: Patienten må ikke opdateres men skal indeholde det samme som der allerede findes på allergien.

Ja
onsetDateTime Tidspunkt allergien er identificeret eller observeret væk igen. Ja
recorder Lægefaglig person, der har indberettet allergien. Består af en code og system. System er oid koden for autorisationskoder og code er autorsationskoden. Ja
recorderOrganization Organisation der har indberettet allergien. Består af en code og system. System er oid for SOR og code er SOR koden. Ja
note Note omkring allergien Nej
reaction.manifestation

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

Skal være udfyldt, hvis manifestationDescription ikke er.

(Ja)
reaction.manifestationDescription

Tekstuel beskrivelse.

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

(Ja)
reaction.onset Tidspunkt hvor reaktion er observeret Nej
reaction.serverity Hvor alvorlig reaktionen er. Enten mild, moderate eller severe. Nej
versionId

Allergiens version, der opdateres automatisk ved opdateringer

Ved UpdatePatient: skal være udfyldt og indeholde nyeste version

(Ja)
lastUpdated

Angiver hvornår allergiens senest er opdateret. 

Overskrives altid af CAVE servicen

Nej

4.1.2. RegisterPatientAllergyResponse og UpdatePatientAllergyResponse

Består af ReplyStatus og en liste af MedicationAllergyIntoleranceReduced.

ReplyStatus
Element Beskrivelse Påkrævet
statusCode

Status kode på forespørgselen.

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

Ja
statusText Status tekst svarende til status koden. Med uddybende beskrivelse af evt. fejl. Ja


4.2. GetPatientAllergyList

Denne operation kræver minimum et id kort niveau 4. 

4.2.1. GetPatientAllergyListRequest

Element Beskrivelse Påkrævet
patient Patient der skal forespørges på. Består af en code og et system. Hvor code er værdien (CPR nummer) og system er oid koden for CPR systemet. Ja
requesterOrganization Organization der foretager forespørgslen. Består af en code og en type. Code er organization og type er shak, sor eller ydernummer. Ja
consentOverride Indikation af om der skal foretages værdispring. Ja
includeHistory

Indikation af, om der ønskes historik med i søgeresultatet. Default er nej.

Hvis Nej, returneres kun allergier med clinical status active.

Hvis Ja, returneres alle allegier uafhængigt af clinical status. Og for hver allergi, returneres alle versioner, dvs alle rettelser foretaget til allergien.

Nej


4.2.2. GetPatientAllergyListResponse

Består af ReplyStatus og en liste af MedicationAllergyIntoleranceReduced.

ReplyStatus
Element Beskrivelse Påkrævet
statusCode

Status kode på forespørgselen.

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

Ja
statusText Status tekst svarende til status koden. Med uddybende beskrivelse af evt. fejl. Ja
MedicationAllergyIntoleranceReduced

Beskrivelse Påkrævet
identifier Id på registreringen. Samme identifier kan forekomme flere gange med forskellig versionId, hvis historik er inkluderet Nej
clinicalStatus Status på registreringen. Er enten Active, Inactive eller Resolved Ja
verificationStatus Altid confirmed. Nej
type Altid allergy. Nej
category Altid medication. Nej
criticality Kritikalitet af allergien. Er enten low, high eller unnable-to-assess. Nej
substance Substans som allergien drejer sig om. Består af en kode og et system. System kan være oid for ATC kode og koden er så en specifik ATC kode. Ja
substanceDescription Tekstuel beskrivelse af substansen. Nej
drugId Drug id identifikation af den substans som allergien drejer sig om. Består af en kode og et system. System er OID for drug id og koden er det specifikke drug id.  Nej
patient Patient allergien drejer sig om. Består af en code og et system. Hvor code er værdien (CPR nummer) og system er oid koden for CPR systemet. Ja
onsetDateTime Tidspunkt allergien er identificeret eller observeret væk igen. Ja
recorder Lægefaglig person der har indberettet allergien. Består af en code og system. System er oid koden for autorisationskoder og code er autorsationskoden. Ja
recorderOrganization Organisation der har indberettet allergien. Består af en code og system. System er oid for SOR og code er SOR koden. Ja
note Note omkring allergien Nej
reaction.manifestation

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

Skal være udfyldt, hvis manifestationDescription ikke er.

(Ja)
reaction.manifestationDescription

Tekstuel beskrivelse.

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

(Ja)
reaction.onset Tidspunkt hvor reaktion er observeret Nej
reaction.serverity

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

Nej
versionId Allergiens version. Nej
lastUpdated Tidspunkt allergien er senest opdateret Nej

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

System Kode Kort beskrivelse
ATC urn:oid:2.16.840.1.113883.6.73 Klassifikation af lægemiddel efter indholdsstof og virkemåde.
SOR urn:oid:1.2.208.176.1.1 Sundhedsvæsenets organisationsregister
Autorisationskode urn:oid:1.2.208.176.1.3 Autorisationskoder for sundhedspersonale i Danmark.
CPR urn:oid:1.2.208.176.1.2 Det centrale personregister
SKS urn:oid:1.2.208.176.2.4.12 Sundhedsvæsenets Klassifikations System
Drug Id urn:oid:mangler_afklaring OID for drug id.


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

5.1. RegisterPatientAllergy

Nedenstående er et eksempel på SOAP request, der anvendes til at registrere oplysninger. De enekelte elementer er beskrevet under snitfladebeskrivelse.

<?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:drugId>
          <ns8:system>urn:oid:drug_id</ns8:system>
          <ns8:code>28105409014</ns8:code>
        </ns8:drugId>
        <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.

<?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>

5.2. UpdatePatientAllergy

Nedenstående er et eksempel på SOAP request, der anvendes til at opdatere oplysninger. De enekelte elementer er beskrevet under snitfladebeskrivelse.

<?xml version="1.0">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:UpdatePatientAllergyRequest 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>55f27e41-dc85-4bbb-96df-38f91735b59a</ns8:identifier>
        <ns8:clinicalStatus value="active"/>
        <ns8:verificationStatus value="confirmed"/>
        <ns8:type value="allergy"/>
        <ns8:category value="medication"/>
        <ns8:criticality value="low"/>
        <ns8:substance>
          <ns8:system>urn:oid:2.16.840.1.113883.6.73</ns8:system>
          <ns8:code>2648005</ns8:code>
        </ns8:substance>
        <ns8:substanceDescription>2648005 description</ns8:substanceDescription>
        <ns8:drugId>
          <ns8:system>urn:oid:drug_id</ns8:system>
          <ns8:code>228105409014</ns8:code>
        </ns8:drugId>
        <ns8:patient>
          <ns8:system>urn:oid:1.2.208.176.1.2</ns8:system>
          <ns8:code>2001211005</ns8:code>
        </ns8:patient>
        <ns8:onsetDateTime>2018-11-02T13:30:00.000+01:00</ns8:onsetDateTime>
        <ns8:recorder>
          <ns8:system>urn:oid:1.2.208.176.1.3</ns8:system>
          <ns8:code>21234</ns8:code>
        </ns8:recorder>
        <ns8:recorderOrganization>
          <ns8:system>urn:oid:1.2.208.176.1.1</ns8:system>
          <ns8:code>21234567890</ns8:code>
        </ns8:recorderOrganization>
        <ns8:note>Oil of calamus allergy changed</ns8:note>
        <ns8:reaction>
          <ns8:manifestation>
            <ns8:system>urn:oid:1.2.208.176.2.4.12</ns8:system>
            <ns8:code>25678</ns8:code>
          </ns8:manifestation>
          <ns8:manifestationDescription>Severe reaction was observed for several hours updated</ns8:manifestationDescription>
          <ns8:onset>2018-11-02T13:30:00.000+01:00</ns8:onset>
          <ns8:severity value="moderate"/>
        </ns8:reaction>
        <ns8:versionId>1</ns8:versionId>
        <ns8:lastUpdated>2020-01-21T10:05:18.000+01:00</ns8:lastUpdated>
      </MedicationAllergyIntoleranceReduced>
    </ns6:UpdatePatientAllergyRequest>
  </soap:Body>
</soap:Envelope>


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

<?xml version="1.0">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:UpdatePatientAllergyResponse 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:UpdatePatientAllergyResponse>
  </soap:Body>
</soap:Envelope>


5.3. GetPatientAllergyList

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

<?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>
        <ns6:includeHistory>false</ns6:includeHistory>
      </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.

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>...</soap:Header>
  <soap:Body>
    <ns6:GetPatientAllergyListResponse 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>
      <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:drugId>
          <ns8:system>urn:oid:drug_id</ns8:system>
          <ns8:code>28105409014</ns8:code>
        </ns8:drugId>
        <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>
        <ns8:versionId>1</ns8:versionId>
        <ns8:lastUpdated>2020-01-21T09:32:36.000+01:00</ns8:lastUpdated>
      </MedicationAllergyIntoleranceReduced>
    </ns6:GetPatientAllergyListResponse>
  </soap:Body>
</soap:Envelope>



  • No labels