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>