This is an old revision of the document!
Table of Contents
Ændringer fra Apoteksnitfladen til FMK 1.4.6
FMK 1.4.6 er en videreudvikling af FMK's 1.4.4 snitflade, hvor der primært tilføjes funktionalitet til at understøtte apoteker på FMK. Snitfladen vil blive anvendt af mange forskellige aktører: læger, sygeplejersker, hjemmepleje, apoteker m.m. Det er således IKKE en snitflade der kun er til apotekerne. FMK 1.4.6 forener koncepter og funktionalitet både fra FMK's tidligere snitflader og fra den tidligere apoteksnitflade. Nedenstående beskrives de primære forskelle mellem apotekssnitflade 1.0 og FMK 1.4.6.
Terminologi
I apoteksnitfladen er en recept (i elementet Prescription) en ”container” som indeholder en liste af receptordinationer (i elementerne Medication eller MedicationSummary). I kontekst af apoteksnitfladen har receptordination ofte været omtalt som “ordinationer”, hvilket ikke er godt i FMK sammenhæng fordi man der opfatter “ordinationer” som lægemiddelordinationer (ikke receptordinationer).
I FMK’s snitflader før 1.4.6 har termen ”receptordination” også været brugt, men entiteten recept har aldrig været i spil. Fra FMK 1.4.6 omdøbes receptordination til recept (Prescription). Recept kommer således kommer til at svare til hvad der tidligere har været omtalt som receptordination, i både apotekssnitfladen og tidligere FMK snitflader.
Terminologi-ændringen foretages dels fordi det harmonerer bedre med almindelig sprogbrug og fordi begreberne receptordination og lægemiddelordination er blevet sammenblandet. I FMK er en skelnen mellem recept som ”container” og receptordination ikke strengt nødvendig idet en recept på FMK altid kun indeholder en enkelt receptordination. Desuden indgår termen receptordination ikke i begrebsbasen (se evt. http://begrebsbasen.sst.dk/ConceptModel/3f75094c-925b-44c3-b916-e1e4d319bc7a.htm). Begrebsbasen skelner ikke mellem recepten som ”container”, f.eks. i form af papirrecepter der kan indeholde 1-3 receptudstedte lægemidler, og en recept til en eller flere stk. af en lægemiddelpakning.
Lægemiddelordinationer og recepter
I FMK findes to forskellige slags ordinationer, lægemiddelordinationer, som er lægens billede af patientens aktuelle medicinering, og recepter, som er de lægemidler lægen har givet tilladelse til at udlevere på apoteket
Indholdet i den tidligere apotekssnitflade svarer til recepterne. I FMK er recepterne som udgangspunkt lavet ud fra en lægemiddelordination, og er derfor en entitet under denne. Ved opdatering af lægemiddelordinationer skal lægen også annullere + genoprette recepten hvis det stadig er relevant. Derfor bør de normalt afspejle samme lægemiddel, dosering m.m. Der er dog andre aktører som har rettigheder til at ændre lægemiddelordinationer, men på grund af lovgivningen ikke har samme rettigheder til at annullere/oprette recepter. Derfor kan der alligevel opstå forskelle imellem disse.
Når apoteker ekspederer en papir-/telefon-/fax-recept, indrapporteres den dog som en “løs recept” der ikke er knyttet til en lægemiddelordination. Lægen kan efterfølgende rydde op i dette og knytte de løse recepter til lægemiddelordinationer.
Versionering
I apotekersnitfladen har der været anvendt en såkaldt VersionCheckKey som kunne indrapporteres ved visse operationer, når man ville være sikker på at opdateringen blev lavet i forhold til den forventede version af recepten på serveren. Man har ikke kunnet hente bestemte versioner af data.
Dette udgår i FMK 1.4.6, da de ændringer, der kan lovligt kan foretages af apoteker på recepter i forvejen er beskyttet af valideringer. Recepter har altså ikke historik og derfor heller ikke versionsnumre.
Desuden er der i FMK nogle entiteter, som har en rigtig versionshistorik, dels medicinkortet som helhed og dels lægemiddelordinationer. Disse kan hentes i gamle versioner, eller en dedikeret historik-service kan hjælpe med at give et overblik over historikken, der ellers kan være ret kompleks at stykke sammen.
Strukturerede doseringer
FMK anvender i videst muligt omfang strukturerede doseringer. Dette er i modsætning til dosering i form af kode og/eller tekst. Den strukturerede dosering kan bl.a. bruges til at udtrykke et doseringskort ved dosisdispensering.
Som en hjælp til at udtrykke ofte forekommende doseringer i denne struktur kan klienter anvende doseringsforslag.
En struktureret dosering omsættes til en kort tekst og en lang tekst, fx når medicinkort hentes. Se flere detaljer under doseringsoversættelse.
Annullering af recept med igangværende ekspedition
Hvis en recept annulleres og evt. afløses af en nyere version, imens der er en igangværende ekspedition så kan ekspeditionen godt færdiggøres. Der er en særlig ny status på bestillingen som betyder at apoteket er i gang med ekspeditionen, som ikke skal sættes straks når en recept fx er adresseret, men først når selve ekspeditionen går igang. Inden ekspeditionen går i gang skal apoteket kalde servicen “påbegynd ekspedition” checker om recepten stadig har en status, så apoteket må ekspedere den, og i givet fald låser recepten og bestillingen indtil ekspeditionen er gennemført (eller afbrudt).
Lægen kan når som helst annullere en recept, men hvis der er en åben bestilling med status “under ekspedition” tillades denne ekspedition at blive fuldført. Men hvis der ikke er en bestilling, eller den ikke har status “under ekspedition” kan der ikke ekspederes mere på den recept.
Dette understøtter en opførsel som rent faktisk vil foregå på apotekerne, uanset om systemet understøtter det eller ej. Med denne ændring bliver det tydeligt for alle parter, hvis en bestilling er ved at blive ekspederet når recepten annulleres. Det sikrer også at apoteket rent faktisk kan indberette ekspeditionen, selvom det sker efter en læge har annulleret recepten. Det kunne de ikke før.
Gyldigheds-intervaller på recepter
Lægerne kan sætte gyldighedsinterval på recepter, så de tidligst må afhentes efter en dato og ikke senere end en anden dato.
Der er flere mulige brugs-scenarier for dette:
- Vagtlæger-recepter må ikke være gyldige efter 7 dage. Dette er tidligere håndteret automatisk ud fra viden om hvilket system vagtlægerne har brugt til at oprette recepter, eller ud fra vagtlægens organisation. Fra FMK 1.4.6 bliver det klientens ansvar at indberette med et passende gyldighedsinterval.
- Visse behandlinger skal igangsættes straks for at give mening. Hvis man venter for længe skal lægen revurdere om det er den rigtige behandling. Fx en penicillin-kur, som skal anvendes nu imens man er syg. Hvis man venter et halvt år er der ikke tale om samme sygdomsforløb, og så bør en læge igen vurdere om penicillin er den rigtige behandling.
- Fremdaterede recepter (som først er gyldige fra en fremtidig dato) kan give mening i visse situationer, hvis der ikke må udleveres for meget ad gangen, behandlingen ikke må igangsættes for tidligt (fx malaria-medicin) eller ikke flere gange på samme recept (fx morfin-præparater).
Service til at genåbne en recept
Der er lavet en ny service til at genåbne en recept, der fejlagtigt er ugyldiggjort eller afsluttet. Det kan betragtes som en fortryd operation til
Disse handlinger kan kun fortrydes fra samme organisation, som har gennemført dem.
Services til at rette fejl
Der er lavet nye services, der muliggør at rette fejlindberetninger i forbindelse med ekspeditioner. Det drejer sig om følgende services:
Bedre understøttelse for dosisdispensering (Fase 2)
Snitfladen understøtter at apoteket kan opdatere en bestilling til dosisdispensering med information om dosisdispenseringen:
- Pakkeapotek
- Deadline for hvornår lægen kan ændre medicineringen og få ændringen med i den kommende dosispakning
- Forventet første og sidste dosis-dag
- Produktionsdag på pakkeapoteket
- Pakkegruppe
Disse oplysninger er tiltænkt anvendelse når dosisdispenseringen skal forbedres i fase 2 af implementeringen hos apotekssystemer og læge-systemer (m.fl.).
Hvordan svarer de nye services til de gamle?
| Gammel service | Ny service | Bemærkninger |
|---|---|---|
| Hent ordinationer adresseret til lokationsnummer | Hent nye bestillinger | |
| Kvitter for modtagelse | Kvitter for bestillinger, (Påbegynd ekspedition) | I den gamle service kunne “Kvitter for modtagelse” bruger til at sætte en recept i status “under behandling”. Det kan Kvitter for bestillinger ikke bruges til, så skal man i stedet bruge Påbegynd ekspedition. |
| Foretag ekspedition | Opret effektuering på recept | |
| Opret recept og foretag ekspedition | Opret og ekspeder recept | |
| Avanceret søgning på person | Søg medicinkort | Der vil forekomme ændringer til denne service! |
| Hent recepter for patient ud fra cpr-nummer | Hent recept | Der laves ikke en “oversigts-service”, man henter alle detaljer i denne service. |
| Hent detaljerede receptsoplysninger for patient ud fra CPR-nummer | Hent recept | |
| Hent recepter ud fra recept-ID | - | Recept-ID anvendes ikke længere |
| Hent ordinationsdetaljer ud fra ordinations-ID | Hent recept, Påbegynd ekspedition | Hent medicinkort henter alle detaljer. Påbegynd ekspedition bruges til at sætte bestillingerne i status “ekspedition påbegyndt”, så recepten og bestillingen er låst til apoteket, ekspeditionens lovlighed i forhold til status checkes og nyeste version returneres (så apoteket kan se hvor meget der evt. er udleveret allerede). Bemærk at status på de returnerede recepters bestillinger skal checkes, den kan bl.a. være “Ekspedition påbegyndt” eller “Annulleret”. |
| Fjern status ”under behandling” | Afbryd ekspedition | |
| Sæt ordination afsluttet | Afslut recept | |
| Tilbagefør udlevering | Tilbagefør effektuering på recept, (Genåbn recept) | Genåbn recept er en “fortryd” funktion i forhold til afslutning af en ordination, som måske i visse tilfælde kan bruges i stedet for “tilbagefør med genåbning”. |
| Ugyldiggør ordination | Ugyldiggør recept | |
| Anmod om at frigive ordination | (udgår) | |
| Hent status for frigiv ordination | (udgår) | |
| Sæt status for frigiv ordination | (udgår) |
Hvordan svarer de nye entiteter til de gamle?
Mapning af felter fra apoteksnitfladen til FMK 1.4.6
| Apoteksnitflade | FMK 1.4.6 | Kommentar |
|---|---|---|
| Prescription | ||
| ….PrescriptionID | XXXXXX | |
| ….Sender | ||
| ……..Identifier | Prescription.Created.By.organisation.identifier | |
| ……..IdentifierCode | Prescription.Created.By.organisation.identifierSource | |
| ……..OrganisationName | Prescription.Created.By.organisation.name | |
| ……..StreetName | Prescription.Created.By.organisation.Address.AddressLine | |
| ……..PostCodeIdentifier | Prescription.Created.By.organisation.Address.AddressLine | |
| ……..TelephoneSubscriberIdentifier | Prescription.Created.By.organisation.Address.telephoneNumber | |
| ……..MedicalSpecialityCode | XXXXXX | |
| ……..Issuer | Prescription.Created.By | |
| …………CivilRegistrationNumber | XXXXXX | |
| …………AuthorisationIdentifier | Prescription.Created.By.AuthorisedHealthcareProfessional.AuthorisationIdentifier | |
| …………TitleAndName | Prescription.Created.By.AuthorisedHealthcareProfessional.Name | |
| …………SpecialityCode | Prescription.Created.By.AuthorisedHealthcareProfessional.SpecialityCode | |
| …………Occupation | XXXXXX | |
| ……..SenderSystem | Prescription.Created.By.systemName | |
| ….PatientOrRelative | MedicineCard.Patient | |
| ……..CivilRegistrationNumber | MedicineCard.Patient.Person.PersonIdentifier | |
| ……..PersonSurname | MedicineCard.Patient.Person.Surname | |
| ……..PersonGivenName | MedicineCard.Patient.Person.GivenName +MedicineCard.Patient.Person.MiddleName | |
| ……..StreetName | MedicineCard.Patient.Address.(StreetName, StreetBuildingIdentifier, FloorIdentifier, SuiteIdentifier) | |
| ……..DistrictName | MedicineCard.Patient.Address.DistrictName | |
| ……..PostCodeIdentifier | MedicineCard.Patient.Address.PostCodeIdentifier | |
| ……..CountryCode | MedicineCard.Patient.Address.CountryIdentificationCode | |
| ……..CountyCode | XXXXXX | |
| ……..PatientDateOfBirth | MedicineCard.Patient.Person.BirthDate | |
| ……..PatientSex | MedicineCard.Patient.Person.Gender | |
| ….ForGPUse | MedicineCard.Patient.Patient.PersonIdentifier / Prescription.Created.By.other.PersonIdentifier | |
| ….ForGPClinicUse | MedicineCard.Organisation.IdentifierSource | SKS_NUMBER / YDER_NUMBER / MUNICIPALITY_NUMBER |
| ….Medication | Prescription | |
| ……..MedicationID | Prescription.Identifier | |
| ……..VersionCheckKey | XXXXXX | |
| ……..MedicationCount | XXXXXX | |
| ……..MedicationCreatedDateTime | Prescription.Created.DateTime | |
| ……..EnvelopeDateTime | XXXXXX | |
| ……..LetterDateTime | XXXXXX | |
| ……..DrugPackage | ||
| …………PackageIdentifier | Prescription.PackageRestriction.PackageNumber / Prescription.DoseDispensedRestriction.PackageNumber | PackageNumber er normalt ikke udfyldt for DoseDispensedRestriction, kun hvis DrugID er ukendt |
| …………Formulation | ||
| …………….NameOfDrug | Prescription.Drug.Name | |
| …………….DosageForm | Prescription.Drug.Form.(Code, Text) | |
| …………….DrugStrength | Prescription.Drug.Strength.(Text / (Value,UnitCode, UnitText, Text?) | |
| …………MagistralFormulation | Prescription.Drug.DetailedDrugText | |
| …………PackageSize | Prescription.PackageRestriction.PackageSize.(Text / (Value, UnitCode, UnitText) | |
| …………NumberOfPackings | Prescription.PackageRestriction.PackageQuantity | |
| …………Importer | XXXXXX | |
| …………….ShortName | XXXXXX | |
| …………….LongName | XXXXXX | |
| …………ReimbursementClause | Prescription.ReimbursementClause | |
| …………SubstitutionCode | Prescription.SubstitutionAllowed | |
| …………Dosage | Prescription.Dosage | Struktureret dosering + genereret lang + evt. kort doseringstekst |
| …………….Code | XXXXXX | Dosering med mere struktur og flere detaljer findes i Prescription.Dosage |
| …………….Text | Prescription.(PackageRestriction / DoseDispensedRestriction).DosageText | Dosering med mere struktur og flere detaljer findes i Prescription.Dosage |
| …………….Period | XXXXXX | Dosering med mere struktur og flere detaljer findes i Prescription.Dosage |
| …………….PeriodUnit | XXXXXX | Dosering med mere struktur og flere detaljer findes i Prescription.Dosage |
| …………Indication | ||
| …………….Code | Prescription.Indication.Code | |
| …………….Text | Prescription.Indication.(Text / FreeText) | |
| …………Status | Prescription.Status | |
| …………StatusChangePharmacy | XXXXXX (Prescription.Modified) | Er ikke nødvendigvis det apotek, som sidst har ændret status. Kan være lægen der oprettede recepten, eller borgeren selv der har oprettet en bestilling osv. |
| …………InvalidationReason | Prescription.InvalidationReasonText | |
| …………DrugDatabaseVersion | XXXXXX | ID-typer har separate source + sourcedate i stedet |
| ……..Iteration | ||
| …………Number | Prescription.PackageRestriction.IterationNumber | NB: Før betød dette antal GEN-udleveringer, nu betyder det antal udleveringer i alt! |
| …………Interval | Prescription.PackageRestriction.IterationInterval | |
| …………IntervalUnit | Prescription.PackageRestriction.IterationIntervalUnit | |
| ……..SupplementaryInformation | Prescription.SupplementaryInformation | |
| ……..DoseDispensing | Prescription.DoseDispensedRestriction | |
| …………StartDate | Prescription.Dosage.StructuresFixed.Structure.StartDate | For indirekte? Brug også ValidFrom? |
| …………EndDate | Prescription.Dosage.StructuresFixed.Structure.EndDate | For indirekte? Brug også ValidTo? |
| …………CopyRequired | XXXXXX | |
| ……..AdministrationDone | Prescription.Order.Effectuation | Order.status = “Udført” |
| …………AdministrationID | Prescription.Order.Effectuation.Identifier | |
| …………AdministrationDateTime | Prescription.Order.Effectuation.DateTime | |
| …………AdministrationType | Prescription.Order.Effectuation.EffectuationMethod | en- eller flergangs apoteksudlevering, dosisdispenseret apoteksudlevering |
| …………PharmacyAdministrationNumber | XXXXXX | |
| …………PharmacyMedicationNumber | XXXXXX | |
| …………DrugPackage | ||
| …………….PackageIdentifier | Prescription.Order.Effectuation.PackageDispensed.PackageNumber | |
| …………….Formulation | ||
| ………………..NameOfDrug | Prescription.Order.Effectuation.PackageDispensed.SubstitutedDrug.Name | |
| ………………..DosageForm | Prescription.Order.Effectuation.PackageDispensed.SubstitutedDrug.Form.(Code, Text) | |
| ………………..DrugStrength | Prescription.Order.Effectuation.PackageDispensed.SubstitutedDrug.Strength.(Text / (Value, UnitCode, UnitText, Text?)) | |
| …………….MagistralFormulation | Prescription.Order.Effectuation.PackageDispensed.SubstitutedDrug.DetailedDrugText | |
| …………….PackageSize | Prescription.Order.Effectuation.PackageDispensed.PackageSize.(Text / (Value, UnitCode, UnitText) | |
| …………….NumberOfPackings | Prescription.Order.Effectuation.PackageDispensed.PackageQuantity | |
| …………….Importer | XXXXXX | |
| …………….ReimbursementClause | Prescription.ReimbursementClause | |
| …………….SubstitutionCode | Prescription.SubstitutionAllowed | |
| …………….Dosage | ||
| ………………..Code | XXXXXX | |
| ………………..Text | XXXXXX | Mangel? Burde apoteket kunne indrapportere en hel doseringsstruktur til fx at angive halv dosering ved dobbelt styrke (eller modsat)? |
| ………………..Period | XXXXXX | |
| ………………..PeriodUnit | XXXXXX | |
| …………….Indication | ||
| ………………..Code | XXXXXX | Særskilt indikation på en effektuering giver ingen mening. |
| ………………..Text | XXXXXX | Særskilt indikation på en effektuering giver ingen mening. |
| …………….DrugDatabaseVersion | Prescription.Order.Effectuation.PackageDispensed.SubstitutedDrug.Identifier@sourceWeekAndYear | |
| …………OrderInstruction | Prescription.Order.DeliveryInstructionText | |
| …………DeliveryInformation | Prescription.Order.DeliveryInstructionText | |
| …………Delivery | Prescription.Order.Delivery | |
| …………….PriorityOfDelivery | Prescription.Order.Delivery.Priority | |
| …………….StreetName | Prescription.Order.Delivery.StreetName | |
| …………….PseudoAddress | Prescription.Order.Delivery.PseudoAddress | |
| …………….PostCodeIdentifier | Prescription.Order.Delivery.PostCode | |
| …………….ContactName | Prescription.Order.Delivery.ContactName | |
| …………PharmacyWhereAdministrated | Prescription.Order.OrderedAtPharmacy | |
| …………….PharmacyName | Prescription.Order.OrderedAtPharmacy.Name | |
| …………….PNumber | Prescription.Order.OrderedAtPharmacy.(Identifier, @source, Type) | |
| …………PharmacyComment | Prescription.Order.Effectuation.PharmacyComment | |
| …………Text | Prescription.Order.Effectuation.PackageDispensed.LabelText | |
| ……..AdministrationOrdered | ||
| …………AdministrationID | XXXXXX | Order.status = “Bestilt” |
| …………OrderInstruction | XXXXXX | |
| …………DeliveryInstruction | XXXXXX | |
| …………Delivery | ||
| …………….PriorityOfDelivery | XXXXXX | |
| …………….StreetName | XXXXXX | |
| …………….PseudoAddress | XXXXXX | |
| …………….PostCodeIdentifier | XXXXXX | |
| …………….ContactName | XXXXXX | |
| …………PharmacyWhereAddressed | ||
| …………….PharmacyName | XXXXXX | |
| …………….LocationNumber | XXXXXX | |
| ……..AdministrationInProgress | Order.status = “Ekspedition påbegyndt” | |
| …………AdministrationID | Prescription.Order.Identifier | |
| …………OrderInstruction | Prescription.Order.DeliveryInstruction | |
| …………DeliveryInstruction | Prescription.Order.DeliveryInstruction | |
| …………Delivery | Prescription.Order.Delivery | |
| …………….PriorityOfDelivery | Prescription.Order.Delivery.Priority | |
| …………….StreetName | Prescription.Order.Delivery.StreetName | |
| …………….PseudoAddress | Prescription.Order.Delivery.PseudoAddress | |
| …………….PostCodeIdentifier | Prescription.Order.Delivery.PostCode | |
| …………….ContactName | Prescription.Order.Delivery.ContactName | |
| …………PharmacyWhereInProgress | Prescription.Order.OrderedAtPharmacy | |
| …………….PharmacyName | Prescription.Order.OrderedAtPharmacy.Name | |
| …………….LocationNumber | Prescription.Order.OrderedAtPharmacy.(Identifier, @source, Type) |

