diff --git a/input/fsh/Instance-1-minimal.fsh b/input/fsh/Instance-1-minimal.fsh index c3d04a9..c1a62d0 100644 --- a/input/fsh/Instance-1-minimal.fsh +++ b/input/fsh/Instance-1-minimal.fsh @@ -81,7 +81,7 @@ Usage: #example * code.coding[LOINC].display = "Consult note" * subject = Reference(b3b07166-24d7-462b-acb3-1a29269c4740) * effectiveDateTime = "2026-12-10T00:00:00Z" -* performer = Reference(b3860fb8-4b1d-4be5-8290-e6a026d10555) +* performer[organization] = Reference(b3860fb8-4b1d-4be5-8290-e6a026d10555) * extension[valueAttachment].url = $MedComObsExtValueAttachment * extension[valueAttachment].valueAttachment.contentType = #application/xhtml+xml * extension[valueAttachment].valueAttachment.title = "Journalnotat" diff --git a/input/fsh/Instance-2-maximum.fsh b/input/fsh/Instance-2-maximum.fsh index 5cacb39..f3340bf 100644 --- a/input/fsh/Instance-2-maximum.fsh +++ b/input/fsh/Instance-2-maximum.fsh @@ -36,7 +36,7 @@ Usage: #example * category.coding.display = "Klinisk rapport" * subject = Reference(d65cd8db-4520-4264-87be-a5fd01fb9762) * author[institution] = Reference(f8d0eb07-5336-4005-9081-b065f9a82663) -* author[+] = Reference(48ed6310-3095-44da-9e34-d1cd6bd830c9) +* author[person] = Reference(48ed6310-3095-44da-9e34-d1cd6bd830c9) * title = "Journalnotat for 3001749995" * confidentiality = #N * event.period.start = "2026-12-12T12:30:00+01:00" @@ -109,7 +109,8 @@ Usage: #example * code.coding[LOINC].display = "Consult note" * subject = Reference(d65cd8db-4520-4264-87be-a5fd01fb9762) * effectiveDateTime = "2026-12-12T09:05:00Z" -* performer = Reference(48ed6310-3095-44da-9e34-d1cd6bd830c9) +* performer[organization] = Reference(f8d0eb07-5336-4005-9081-b065f9a82663) +* performer[practitionerRole] = Reference(bb6fa4e1-f8b1-4bf4-b77e-bb03b2cc9820) * extension[valueAttachment].url = $MedComObsExtValueAttachment * extension[valueAttachment].valueAttachment.contentType = #application/xhtml+xml * extension[valueAttachment].valueAttachment.title = "Ã…rskontrol af diabetes" diff --git a/input/fsh/MedComNotesComposition.fsh b/input/fsh/MedComNotesComposition.fsh index 8e75e74..8f6b592 100644 --- a/input/fsh/MedComNotesComposition.fsh +++ b/input/fsh/MedComNotesComposition.fsh @@ -9,8 +9,16 @@ Description: "A profile for the MedCom Notes Composition resource." * title ^short = "Title MUST be 'Journalnotat for **CPR-nummer**'" * meta.profile obeys medcom-canonical-fixed-major * meta.profile ^short = "[DocumentEntry.formatCode] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`." -* author only Reference(MedComDocumentOrganization or MedComDocumentPractitioner or MedComDocumentPractitionerRole) + +* author only Reference(MedComDocumentOrganization or MedComDocumentPractitioner) +* author ^slicing.discriminator[0].type = #profile + * ^slicing.discriminator[0].path = "$this.resolve()" + * ^slicing.rules = #open +* author contains + person 0..1 MS * author[institution] only Reference(MedComDocumentOrganization) +* author[person] only Reference(MedComDocumentPractitioner) +* author[person] ^short = "The practitioner who authored the document." * category 1.. // SKS: i EKG er de endt med at have denne med, profileret som her. Var det noget med metadata? ja, nemlig. * category.coding.system = $ClassCodeCS diff --git a/input/fsh/MedComNotesObservation.fsh b/input/fsh/MedComNotesObservation.fsh index c1205be..29f547f 100644 --- a/input/fsh/MedComNotesObservation.fsh +++ b/input/fsh/MedComNotesObservation.fsh @@ -29,8 +29,19 @@ Description: "Observation profile intended to be used in MedCom's Notes standard * extension[valueAttachment].valueAttachment.title ^short = "Either the title of the note written by the responsible or a generic title e.g. 'Journalnotat'." * subject 1..1 MS * subject only Reference(MedComDocumentPatient) -* performer ..1 -* performer only Reference(MedComDocumentOrganization or MedComDocumentPractitioner or MedComDocumentPractitionerRole) +* performer 1..2 +* performer only Reference(MedComDocumentOrganization or MedComDocumentPractitionerRole) +* performer ^short = "Who is responsible for the note (Da: journalnotatet)" +* performer ^slicing.discriminator.type = #type +* performer ^slicing.discriminator.path = "$this" +* performer ^slicing.rules = #closed +* performer contains + organization 1..1 and + practitionerRole 0..1 +* performer[organization] only Reference(MedComDocumentOrganization) +* performer[organization] ^short = "organization responsible for the note (Da: journalnotatet)" +* performer[practitionerRole] only Reference(MedComDocumentPractitionerRole) +* performer[practitionerRole] ^short = "practitionerRole responsible for the note (Da: journalnotatet)" * insert ProducerShallPutInNarrative(effectiveDateTime) diff --git a/input/pagecontent/StructureDefinition-medcom-notes-observation-intro.md b/input/pagecontent/StructureDefinition-medcom-notes-observation-intro.md index cb4c96c..5a08a2e 100644 --- a/input/pagecontent/StructureDefinition-medcom-notes-observation-intro.md +++ b/input/pagecontent/StructureDefinition-medcom-notes-observation-intro.md @@ -20,7 +20,7 @@ The `effectiveDateTime` element is a mandatory element used to represent the dat The element `code` describes what was observed. This code is for Shared Notes fixed to code.coding:LOINC.code: `11488-4` system: `http://loinc.org` display: `Consult Note`. ## Author -A reference to the author of the note is included in the element `performer`. If information about the healthcare professional and his/her role is available this should be included in the profiles MedComDocumentPractitioner and MedComDocumentPractitionerRole, respectively. If only information about the authoring organization is available, this must be included. +A reference to the author of the note is included in the element `performer`. The authoring organization **MUST** be included. If information about the healthcare professional and his/her role is available this should be included in the profile MedComDocumentPractitionerRole with a reference to MedComDocumentPractitioner, holding the name of the practitioner. ## Resource references This Observation references the `Patient` resource through the `subject` element and the author `Organization`, `Practitioner`, or `PractitionerRole` through the `performer` element. \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index 29e25dd..83d9e7f 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -3,7 +3,7 @@ canonical: http://medcomfhir.dk/ig/notes name: MedComNotes title: DK MedCom Notes description: The DK MedCom Notes IG -status: active # draft | active | retired | unknown +status: draft # draft | active | retired | unknown version: 1.0.0 fhirVersion: 4.0.1 copyrightYear: 2025+