SFM Basis API Implementation Guide

sfm-PLL-info

sfm-PLL-info represents the top level information of the PLL/multidosemessage for the M25.x messages. It is an extension of the Basic resource. It adds extensions for metadataPLL.

SFM will collect the latest M25 messages from Reseptformidleren (RF) and / or Kjernejournal (KJ)

Multidose patients registered for e-multidose will possibly have the three messages:

  • M25.1 from registered MD responsible doctor OR from other doctor.
  • M25.2 from registered pharmacy on updates and issues to resolve
  • M25.3 from packing pharmacy on actually packed medicine

"Normal" PLL patients will have only the M25.1 message, and no responsible doctor or pharmacy.

And then there may be the odd scenarios:

  • Patients having "old" paper based multidose will have registered pharmacy and "offline" medication list. These patients should not have a M25.1 but there is no guarantee. The M25.1 may be a PLL, or may be an old M25.1 from former MD responsible doctor with e-MD capabilities
  • Patient may no longer be a MD patient and is now a normal PLL patient, but with old M25.2 and M25.3 messages present in KJ or RF

Note that KJ does not contain updated registry information on Multidose - only the actual MD messages, and a lookup in RF i required to get formal and updated information.

The correct way to determine whether the multidose status of a patient is Active:

Identify if patient has Multidose-status:
Multidose Patient: 
if the $getMedication returns relatedparties equal pharmacy "Multidoseapotek" or a doctor "Multidoselege", OR if there is sfm-PLLinfo with lastdosingdate larger than today.
E-multidose patient:
both "Multidoseapotek" and "Multidoselege" shall be registered in relatedparties.

TODO: Check if there shall be details on e-multidose, and the details of the above fields as well. (7490) and labels

Extensions

Most of the attributes of the Norwegian Resept datamodel are represented in extensions:

FHIR Extension e-resept
metadatatPLL sfm-pllinformation M25
warning sfm-warning dd

Content in the profiled sfm-PLL-info resouce extension:

relatedParties: If the patient is a MD patient, the actual responsible MD doctor and pharmacy will be referred from here as sfm-PractitionerRole resources. The MD doctor sfm-practitioner role will be populated with both an organization and a practitioner, whereas the MD pharmacy may have only the organization. The PractitionerRole/Code will represent the type of responsibility from codeset 7490:

  • A for pharmacy
  • M for MD doctor

deliveryinformation: Contains deliveryinformation from M25.3 for each MD packed info:

  • prescriptionID - related prescription
  • refM10 - id of the paticular M10 Dispense message
  • repacking - reason for repacking, if any
  • datefirstdose
  • datelastdose
  • pictureref - URL to product image (of the dose)
  • deliverydoc - reference to embedded sfm-MedicationDispense

text: Text from top level "Merknad" in latest M25

substitute: Boolean for the case of an other doctor substitutes for the registered MD doctor.

createPLL: Flag used for outgoung bundle to state that an M25.1 message shall be sent to RF.

packingInfo: Information from pharmacy on order deadline, start and stop dates for the next packing.

PLLdate: the date and time of the latest M25.1 message.

warning :

  • doublePrescription - handled warnings related to double prescriptions
  • interaction - handled warnings related to interactions
  • allergyIntollerance - handled warnings related to allergyIntollerance
  • reasonMedicalChange - type of change and reason for medical change

Content in the Basic profile:

Identifier: Identifies the actual M25 message(s)(TBD!)

Code: Identifies the type of the latest message from

Command 'link' could not render: Object reference not set to an instance of an object.

Profile

sfm-PLL-info

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueReferenceReference(sfm-PractitionerRole)
id0..1
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueReferenceReference(sfm-MedicationStatement)
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueStringstring
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueCodeableConceptCodeableConcept
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDateTimedateTime
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDateTimedateTime
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueUrlurl
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueReferenceReference(sfm-MedicationDispense)
url1..1Fixed Value
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueStringstring
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueBooleanboolean
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueBooleanboolean
id0..1
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDateTimedateTime
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDatedate
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDatedate
url1..1Fixed Value
id0..1
extensionI0..*Extension
url1..1Fixed Value
valueDateTimedateTime
url1..1Fixed Value
warningI0..*Extension(Complex)
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
id0..1
extensionI0..*Extension
id0..1
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ I0..1Reference(Resource)
createdΣ0..1date
authorΣ I0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization)