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

DatoAnsvarligBeskrivelse
5/2-2018KvalitetsITInitiel version

2.4. Definitioner og referencer

ReferenceBeskrivelse
DGWSDen Gode WebService
STSSecurity Token Service
FHIRFast 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
ElementerBeskrivelsePå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
verificationStatusOverskrives altid med confirmed af LAR servicen.Nej
typeOverskrives altid med allergy af LAR servicen.Nej
categoryOverskrives altid med medication af LAR servicen.Nej
criticalityKritikalitet af allergien. Er enten low, high eller unable-to-assess.Nej
substanceSubstans 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
substanceDescriptionTekstuel beskrivelse af substansen.Nej
drugIdDrug 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
onsetDateTimeTidspunkt allergien er identificeret eller observeret væk igen.Ja
recorderLægefaglig person, der har indberettet allergien. Består af en code og system. System er oid koden for autorisationskoder og code er autorsationskoden.Ja
recorderOrganizationOrganisation der har indberettet allergien. Består af en code og system. System er oid for SOR og code er SOR koden.Ja
noteNote omkring allergienNej
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.onsetTidspunkt hvor reaktion er observeretNej
reaction.serverityHvor 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
ElementBeskrivelsePåkrævet
statusCode

Status kode på forespørgselen.

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

Ja
statusTextStatus 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

ElementBeskrivelsePåkrævet
patientPatient 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
requesterOrganizationOrganization der foretager forespørgslen. Består af en code og en type. Code er organization og type er shak, sor eller ydernummer.Ja
consentOverrideIndikation 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
ElementBeskrivelsePå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
statusTextStatus tekst svarende til status koden. Med uddybende beskrivelse af evt. fejl.Ja
MedicationAllergyIntoleranceReduced

BeskrivelsePåkrævet
identifierId på registreringen. Samme identifier kan forekomme flere gange med forskellig versionId, hvis historik er inkluderetNej
clinicalStatusStatus på registreringen. Er enten Active, Inactive eller ResolvedJa
verificationStatusAltid confirmed.Nej
typeAltid allergy.Nej
categoryAltid medication.Nej
criticalityKritikalitet af allergien. Er enten low, high eller unnable-to-assess.Nej
substanceSubstans 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
substanceDescriptionTekstuel beskrivelse af substansen.Nej
drugIdDrug 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
patientPatient 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
onsetDateTimeTidspunkt allergien er identificeret eller observeret væk igen.Ja
recorderLægefaglig person der har indberettet allergien. Består af en code og system. System er oid koden for autorisationskoder og code er autorsationskoden.Ja
recorderOrganizationOrganisation der har indberettet allergien. Består af en code og system. System er oid for SOR og code er SOR koden.Ja
noteNote omkring allergienNej
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.onsetTidspunkt hvor reaktion er observeretNej
reaction.serverity

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

Nej
versionIdAllergiens version.Nej
lastUpdatedTidspunkt allergien er senest opdateretNej

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. 

SystemKodeKort beskrivelse
ATCurn:oid:2.16.840.1.113883.6.73Klassifikation af lægemiddel efter indholdsstof og virkemåde.
SORurn:oid:1.2.208.176.1.1Sundhedsvæsenets organisationsregister
Autorisationskodeurn:oid:1.2.208.176.1.3Autorisationskoder for sundhedspersonale i Danmark.
CPRurn:oid:1.2.208.176.1.2Det centrale personregister
SKSurn:oid:1.2.208.176.2.4.12Sundhedsvæsenets Klassifikations System
Drug Idurn:oid:mangler_afklaringOID 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