User Tools

Site Tools


fmk:generel:fejlhandtering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fmk:generel:fejlhandtering [2020-02-19 09:49] – [Kode 10005: Akutte ændring af pausering på dosisdispenseret ordination] sasfmk:generel:fejlhandtering [2026-03-06 08:53] (current) – external edit 127.0.0.1
Line 9: Line 9:
 | 1000 - 3999 | Applikationsfejl | 3000: Intern server fejl | | 1000 - 3999 | Applikationsfejl | 3000: Intern server fejl |
 | 4000 - 9999 | Valideringsfejl, rolle-rettighedsfejl m.v. | 4003: "SOSI xml fejl: ID card is not valid in time. The card has to be less than 9 hours old 4200: Ingen roller passer på brugeren | | 4000 - 9999 | Valideringsfejl, rolle-rettighedsfejl m.v. | 4003: "SOSI xml fejl: ID card is not valid in time. The card has to be less than 9 hours old 4200: Ingen roller passer på brugeren |
-| 10000 - 10999 | Udvidet valideringsfejl, dvs. fejl som kan ignoreres | 10001: Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept |+| 10000 - 10999 | [[fmk:generel:udvidet_validering | Udvidet valideringsfejl]], dvs. fejl som kan ignoreres | 10001: Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept |
  
 En liste af fejl FMK returnerer findes i afsnittet [[Fejlkoder og -tekster]]. En liste af fejl FMK returnerer findes i afsnittet [[Fejlkoder og -tekster]].
Line 70: Line 70:
  
 ====== Udvidet validering ====== ====== Udvidet validering ======
-Udvidet validering er et nyt koncept i FMK, der understøtter validering, som muligvis ikke er relevant for alle klienter. Nogle klienter kan vælge helt at fravælge en udvidet validering, mens andre klienter kan vælge først at vise fejlen for en bruger og derefter, hvis brugeren ønsker det, prøve igen hvor valideringen er fravalgt. Udvidet validering returnerer fejl der ligger intervallet 10000-10999. Et eksempel på en udvidet validering der kan fravælges, er validering der sikrer at man ikke kan seponere lægemiddelordinationer med åbne recepter +den sidste type af validering er de såkaldte udvidet valideringer, som i modsætning til de 3 andre typer af valideringsfejl kan disse valideringer skippes gennem brugen af de specifikke felt ''ModificationMetadata'' som findes de fleste opdaterende requests som sendes til FMK.
  
-Klienter som anvender snitflader ældre end 1.4.4.E2 skal som udgangspunkt angive om  de understøtter udvidet validering, dvs. om hvorvidt de er i stand til at håndtere valideringsfejl fra udvidet validering. Fra og med 1.4.4.E2 //skal// klienter kunne håndtere fejl fra udvidet validering. +Se mere her: [[Udvidet validering]]
- +
-En klient angiver at den kan håndtere udvidet validering i xml elementet ModificationMetadata med strengen “Extended validation supported”. ModificationMetadata findes på xml-elementer der på en eller anden måde modificerer data.  +
- +
-Eksempel på et request i 1.4.4 der seponerer 3 lægemiddelordinationer og samtidig angiver at udvidet validering er understøttet +
- +
-<code xml> +
-<WithdrawDrugMedicationRequest> +
- <PersonIdentifier>1111111118</PersonIdentifier> +
- <MedicineCardVersion>1341404077657004001</MedicineCardVersion> +
- <WithdrawnBy> +
- <AuthorisedHealthcareProfessional> +
- <AuthorisationIdentifier>2Q5TK</AuthorisationIdentifier> +
- <Name>Tess Christoffersen</Name> +
- </AuthorisedHealthcareProfessional> +
- <Organisation> +
- <Name>Lægerne Vestergade</Name> +
- <TelephoneNumber>86521348</TelephoneNumber> +
- <Type>Yder</Type> +
- <Identifier source="Yder">66974</Identifier> +
- </Organisation> +
- </WithdrawnBy> +
- <DrugMedication> +
- <Identifier>1971221231</Identifier> +
- <ModificationMetadata>Extended validation supported</ModificationMetadata> +
- </DrugMedication> +
- <DrugMedication> +
- <Identifier>1971221232</Identifier> +
-                <ModificationMetadata>Extended validation supported</ModificationMetadata> +
- </DrugMedication> +
- <DrugMedication> +
- <Identifier>1971221233</Identifier> +
-                <ModificationMetadata>Extended validation supported</ModificationMetadata> +
- </DrugMedication> +
-</WithdrawDrugMedicationRequest> +
-</code> +
- +
-I eksemplet vil der bliver udført udvidet validering på alle seponeringer i requestet, men i princippet behøver man ikke at angive det på alle. Udvidet validering vil kun blive udført på de seponeringer, hvor der er angivet at det er understøttet. +
- +
- +
-Bemærk at fra og med 1.4.4.E2, skal man ikke eksplicit angive at man understøtter udvidet validering, her vil der altid blive udført udvidet validering. +
- +
-En klient kan tilsvarende angive at en eller flere valideringer ikke ønskes ved at angive strengen  “Skip validation for (fejl_1, fejl_2, … fejl_n)” i ModificationMetadata-element. Bemærk at tilstedeværelsen af en valideringskode der skal ignoreres også implicit betyder at udvidet validering er understøttet og man skal derfor ikke samtidigt angive "Extended validation supported"+
-    +
-Eksempel på et et request i 1.4.4 der seponerer 3 lægemiddelordinationer, og samtidig angiver at der for en enkelt seponering ikke skal udføres validering med koden 10001: +
- +
-<code xml> +
-<WithdrawDrugMedicationRequest> +
- <PersonIdentifier>1111111118</PersonIdentifier> +
- <MedicineCardVersion>1341404077657004001</MedicineCardVersion> +
- <WithdrawnBy> +
- <AuthorisedHealthcareProfessional> +
- <AuthorisationIdentifier>2Q5TK</AuthorisationIdentifier> +
- <Name>Tess Christoffersen</Name> +
- </AuthorisedHealthcareProfessional> +
- <Organisation> +
- <Name>Lægerne Vestergade</Name> +
- <TelephoneNumber>86521348</TelephoneNumber> +
- <Type>Yder</Type> +
- <Identifier source="Yder">66974</Identifier> +
- </Organisation> +
- </WithdrawnBy> +
- <DrugMedication> +
- <Identifier>1971221231</Identifier> +
-                <ModificationMetadata>Extended validation supported</ModificationMetadata> +
- </DrugMedication> +
- <DrugMedication> +
- <Identifier>1971221232</Identifier> +
- <ModificationMetadata>Skip validation for (10001)</ModificationMetadata> +
- </DrugMedication> +
- <DrugMedication> +
- <Identifier>1971221233</Identifier> +
-                <ModificationMetadata>Extended validation supported</ModificationMetadata> +
- </DrugMedication> +
-</WithdrawDrugMedicationRequest> +
-</code> +
- +
-===== Udvidet validering på request niveau  ===== +
-Ovenstående validering er et eksempel på en validering der omhandler et konkret underelement i et request. Der kan også forekomme valideringer der går på tværs af et helt request. Et eksempel på en sådan validering på request-niveau, er validering af, at et CPR-nummer der potentielt kunne repræsentere en nyfødt, er kendt af FMK når der oprettes f.eks. lægemiddelordinationer. For fødeafdelinger er denne validering ikke ønskelig, da nyfødte ofte ikke er kendt i FMK før efter et stykke tid og dermed kan være en hindring i det daglige arbejde, mens den for andre aktører er ønskelig, da den sikrer mod fejlregistreringer. +
- +
-For snitflader ældre end 1.4.4.E2 udføres valideringer på request-niveau, hvis der blot et vilkårligt sted i requestet er angivet "Extended validation supported". Fra og med 1.4.4.E2 udføres de altid.  +
- +
-Når en validering på request-niveau ikke ønskes udført, skal valideringskoden angives på mindst ét ModificationMetada-element i requestet. +
- +
-Eksempel på et request i 1.4.4 der opretter lægemiddelordination med en tilhørende recept, og hvor validering med koden 10000 ikke skal udføres. +
- +
-<code xml> +
-… +
-<CreateDrugMedication> +
-        <BeginEndDate> +
-            <TreatmentStartedPreviously /> +
-            <TreatmentEndingUndetermined /> +
-        </BeginEndDate> +
-        <CreatePrescriptionMedication> +
-            <ModificationMetadata>Extended validation supported but skip validation for (10000)</ModificationMetadata> +
- </<CreatePrescriptionMedication> +
-   … +
-</CreateDrugMedication> +
-… +
-</code> +
- +
-For eksemplets skyld bliver valideringkoden sat på et underelement til CreateDrugMedication, men som beskrevet i følgende afsnit, kan man sætte den på det element, som bliver udpeget af fejlen.   +
- +
-===== Signalering af udvidede valideringsfejl  ===== +
-Fejl der skyldes en udvidet validering ligner almindelige fejl bortset fra at fejlkoden ligger i intervallet 10000-10999 og at fejlen indeholder detaljer om hvor fejlen er opstået. Hvis fejlen f.eks. opstår i DrugMedication-element nr. 2 i et WithdrawDrugMedicationRequest, returnes følgende fejl: +
- +
-<code xml, Example of extended validation (namespaces removed)> +
-  … +
-<Fault> +
- <faultcode>Server</faultcode> +
- <detail> +
- <FaultCode>10001</FaultCode> +
- <FaultText>Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept</FaultText> +
- <FaultDetails> +
- <KeyValueSet> +
- <Key>DrugMedicationIdentifier</Key> +
- <Value>31237621536712</Value> +
- </KeyValueSet> +
- <KeyValueSet> +
- <Key>WarningQuestion</Key> +
- <Value>Lægemiddelordinationen på Morfin har åbne recepter. Disse skal annulleres før du seponerer ordinationen. +
- Hvis du fortsætter vil seponeringen finde sted og efterlade åbne recepter på den behandling, du er ved at seponere.</Value> +
- </KeyValueSet> +
- <KeyValueSet> +
- <Key>ElementPath</Key> +
- <Value>WithdrawDrugMedicationRequest.DrugMedication[1]</Value> +
- </KeyValueSet> +
- </FaultDetails> +
- </detail> +
- <faultstring>Ej muligt at seponere lægemiddelordination 31237621536712 da der findes en åben recept</faultstring> +
-</Fault> +
-  … +
-</code> +
- +
-''WarningQuestion'' er en unik Key som kun benyttes til udvidet valideringer, denne indeholder en sekundær besked som alternativt kan vises for brugeren, og signalerer at man kan få sin opdatering igennem, men at man skal være opmærksom på eventuelle konsekvenser ved at gøre dette. +
- +
-Vi anbefaler kun at man viser WarningQuestion for brugeren **HVIS** systemet har en generisk håndtering at udvidet valideringer, eller kan det skabe massiv forvirring hvis WarningQuestion vises, men at systemet ikke undersøtter at overrule den specifikke kode. +
- +
-En list af WarningQuestions og hvilken fejlkode de tilhører kan findes her: [[WarningQuestion]]       +
- +
-ElementPath udpeger præcist hvor i requestet en fejl er opstået. Er det f.eks. 3. CreatePrescription i 2. DrugMedication i et CreateDrugMedicationRequest der fejler, indeholder ElementPath strengen “ CreateDrugMedicationRequest.DrugMedication[1].CreatePrescription[2]”. For samme fejl fra et UpdateMedicineCardRequest vil ElementPath være “UpdateMedicineCardRequest.CreateDrugMedication[1].CreatePrescription[2]”.  +
- +
-I langt de fleste Request-typer kan man ikke angive ModificationMetadata på rodniveau. For de typer hvor det er muligt, f.eks. RegisterPatientOrganisationRelationRequest kan ElementPath i princippet bestå kun af "RegisterPatientOrganisationRelationRequest"+
- +
- +
-===== Signalering af udvidede valideringsfejls på requestniveau  ===== +
-Valideringsfejl på udvidet validering på requestniveau signaleres på samme måde som beskrevet i forrige afsnit. Da det ikke altid er muligt at angive et ModificationMetadata på request niveau udpeger ElementPath et vilkårlig (ofte det første) element i requestet, som indeholder ModificationMetadata. For fejl på opret lægemiddelordination kunne ElementPath være "CreateDrugMedicationRequest.DrugMedication[0]" eller "UpdateMedicineCardRequest.CreateDrugMedication[0]" for fejl opstået i henholdsvis CreateDrugMedicationRequest og UpdateMedicineCardRequest. +
- +
-===== Tjeks for udvidede valideringer  ===== +
-Du kan finde nogle korte beskrivelse af de ting som de individuelle udvidede valideringer tjekker når der laves en forespørgsel. +
-  +
-==== Kode 10000: Nyfødte ==== +
-Kode 10000 henvender sig til registreringen af nyfødte. +
- +
-Når der laves et opdaterende kald på et CPR-nummer til FMK, hvis ikke FMK kan finde det pågældenden CPR-nummer i de stamdata den har tilgængelig, og den heller ikke allerede er registeret som nyfødt, så tjekkes der på om de første 6 cifre i stemmer overens med en person som kunne være født indenfor de seneste 20 dage. +
- +
-Hvis CPR nummeret stemmer overens med at være indenfor de seneste 20 dage, vil FMK sende en udvidet validering med kode 10000. +
- +
-==== Kode 10001: Seponering af ordination med aktive recepter ==== +
-Kode 10001 skal forsøge at minske problemet med åbne recepter på lukkede ordinationer  +
- +
-Når der laves et kald til at seponerer en given lægemiddelordination, så henter FMK alle recepter for denne ordination, og tjekker om nogle af disse stadig er åbne. +
- +
-Hvis der stadig er åbne recepter, vil FMK sende en udvidet validering med kode 10001. +
- +
-==== Kode 10004: Akutte ændring af struktureret dosering på dosisdispenseret ordination ==== +
-Kode 10004 skal forsøge at forhindre UTH med forskel i dosering på FMK og fysisk dosisdispensering. +
- +
-Når der laves et kald til at opdaterer en lægemiddel ordination med en struktureret dosering, tjekkes der på om denne håndteres dosisdispenseret, dette kan både være hvis der er recepter der håndteres dosisdispenseret, og der kan også være hvis apoteket har oprettet et dosisdispenseringskort til patienten, hvor denne ordination ingår. Såfremt ordinationen ikke er dosisdispenseret fortsætter denne validering ikke +
- +
-Såfremt ordinationen er håndteret dosisdispenseret, tjekker FMK om patienten har aktiv dosisdispensering som varetages gennem FMK, dvs at apoteket både har oprettet et dosisdispenseringskort på patienten i FMK, men også at der skal være aktive/kommende perioder på kortet, hvis ikke dette er tilfældet valideres der ikke yderligere. +
- +
-Såfremt den er håndteret dosisdispenseret igennem FMK, henter FMK den seneste version af lægemiddelordinationen som apoteket har oprettet en planlagt dispensering på, og benytter denne version som udgangspunkt til at validerer om der er sket ændringer i den strukturerede dosering i en dosisdispenseringsperiode som af apoteket er fastlåst (Perioder hvor tidsfrist for ændring er overskredet). +
- +
-Er der ændret i en doserings-periode i den strukturerde dosering som ligger **inden i** den fastlåst periode, ænder inkludere her ting såsom: Doseringstidspunkter, antal, iterationer, dag-nummer, supplerende tekst mm. ses dette som en akut ændring i det pakkede dosisdispensering. +
- +
-**Bemærk** Laves der ændringer som først træder i kraft efter den fastlåste periode ses dette ikke som en akut ændring. +
- +
-Læs mere om de individuelle regler og forskellige scenarier her: [[Akutte ændringer i dosisdispensering]] +
- +
-Hvis der anses for at være akutte ændringer i det pakkede dosisdispensering vil FMK sende en udvidet validering med kode 10004 +
- +
-==== Kode 10005: Afvisning af automatisk genereret recept-anmodninger fra FMK ==== +
-Kode 10005 skal forsøge at forhindre at dosisdispensering stopper på grund af manglende recepter. +
- +
-Når en læge vælger at afvise en recept anmodning der er genereret af FMK på baggrund af en udløbende recept til dosisdispensering, vil FMK forsøge at sikre sig at patienten bliver bekendt med afvisningen, og årsagen til denne. +
- +
-Såfremt at patient har en POR relation af typen "Visiteret til medicinadministration" forsætter denne validering ikke længere, da afvisningen med stor sandsynlighed vil blive set af en person som administrerer medicineringen for patienten. +
- +
-Har patienten ikke en relation af typen "Visiteret til medicinadministration" vil FMK sende en udvidet validering med kode 10005 +
- +
-==== Kode 10006: Akutte ændring af pausering på dosisdispenseret ordination ==== +
-Kode 10006 skal forsøge at forhindre UTH med forskel i dosering på FMK og fysisk dosisdispensering. +
- +
-Når der laves et kald enten til servicen [[fmk:1.4.4:pauser laegemiddelordination]] eller [[fmk:1.4.4:opdater laegemiddelordination]] med en helt ny eller ændret pausering, tjekkes der på om denne håndteres dosisdispenseret, dette kan både være hvis der er recepter der håndteres dosisdispenseret, og der kan også være hvis apoteket har oprettet et dosisdispenseringskort til patienten, hvor denne ordination ingår. Såfremt ordinationen ikke er dosisdispenseret fortsætter denne validering ikke +
- +
-Såfremt ordinationen er håndteret dosisdispenseret, tjekker FMK om patienten har aktiv dosisdispensering som varetages gennem FMK, dvs at apoteket både har oprettet et dosisdispenseringskort på patienten i FMK, men også at der skal være aktive/kommende perioder på kortet, hvis ikke dette er tilfældet valideres der ikke yderligere. +
- +
-Hvis ordination ingår i aktiv dosisdispensering gennem FMK, validerer FMK at der ikke er sket ændringer af pauseringen i en allerede fastlåst periode, dvs at dage som er pauserert i en fastlåst periode, også skal være pauseret i den nye pauseringer, og omvendt. +
- +
-Der valideres ikke på at man laver/ændre på pauseringer som ligger i fortiden. Dette er for at tillade man kan registerer efterfølgende hvis lægemidlet ikke har været taget. +
- +
-Læs mere om de individuelle regler og forskellige scenarier her: [[Akutte ændringer i dosisdispensering]] +
- +
-Såfremt der er lavet ændrigner i pauseringen i en fastlåst periode, vil FMK sende en udvidet validering med kode 10006 +
- +
-==== Kode 10007: Akut fjernelse af pausering på dosisdispenseret ordination ==== +
-Kode 10007 skal forsøge at forhindre UTH med forskel i dosering på FMK og fysisk dosisdispensering. +
- +
-Når der laves et kald enten til servicen [[fmk:1.4.4:ophaev pausering af laegemiddelordination]] eller [[fmk:1.4.4:opdater laegemiddelordination]] hvor der fjernes en pausering af lægemiddelordinationen, tjekkes der på om ordinationen håndteres dosisdispenseret, dette kan både være hvis der er recepter der håndteres dosisdispenseret, og der kan også være hvis apoteket har oprettet et dosisdispenseringskort til patienten, hvor denne ordination ingår. Såfremt ordinationen ikke er dosisdispenseret fortsætter denne validering ikke +
- +
-Såfremt ordinationen er håndteret dosisdispenseret, tjekker FMK om patienten har aktiv dosisdispensering som varetages gennem FMK, dvs at apoteket både har oprettet et dosisdispenseringskort på patienten i FMK, men også at der skal være aktive/kommende perioder på kortet, hvis ikke dette er tilfældet fortsætter denne validering ikke. +
- +
-Hvis ordination ingår i aktiv dosisdispensering gennem FMK, validerer FMK at den nuværende pausering ikke har dage/tidpsunkter som ligger. i en fastlåst DD periode +
- +
-Der valideres ikke på at man fjerner pauseringer som fuldt ud ligger i fortiden. Disse ordinationer bør heller ikke være markeret som pauseret længere. +
- +
-Læs mere om de individuelle regler og forskellige scenarier her: [[Akutte ændringer i dosisdispensering]] +
- +
-Såfremt der er fjernet en aktiv pauseringen som er aktiv i en fastlåst periode, vil FMK sende en udvidet validering med kode 10007+
fmk/generel/fejlhandtering.1582105772.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki