From 5a51b5e5832ba4d92d80c65341852d48fe6f5b6d Mon Sep 17 00:00:00 2001 From: John D'Amore Date: Wed, 3 Jul 2024 11:07:01 -0400 Subject: [PATCH 1/5] FHIR-46289 adding Flag profile --- input/fsh/profiles/FlagUvIps.fsh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 input/fsh/profiles/FlagUvIps.fsh diff --git a/input/fsh/profiles/FlagUvIps.fsh b/input/fsh/profiles/FlagUvIps.fsh new file mode 100644 index 00000000..ac86ee28 --- /dev/null +++ b/input/fsh/profiles/FlagUvIps.fsh @@ -0,0 +1,20 @@ +Profile: FlagUvIps +Parent: Flag +Id: flag-uv-ips +Title: "Alert (IPS)" +Description: """This profile constrains the Flag resource by the International Patient Summary (IPS) FHIR Implementation Guide. A record of an alert is represented in the patient summary as an instance of a Flag resource constrained by this profile. + +This specialized Flag is used to convey information about an alert specific to an IPS. Information is flagged to raise awareness of potential concers and/or dangers to/from the subject of the IPS. It brings information to the fore and may reference other information from the summary (through the supportingInfo extension) as well as present obstacles to care.""" +* ^version = "2.0.0" +* ^status = #active +* ^experimental = false +* ^date = "2024-07-03T10:50:07-05:00" +* ^publisher = "HL7 International / Patient Care" +* ^contact.telecom.system = #url +* ^contact.telecom.value = "http://www.hl7.org/Special/committees/patientcare" +* ^jurisdiction = $m49.htm#001 +* ^purpose = "This profile constrains the representation of a record of an alert in the context of the international patient summary as specified by the IPS project of HL7 International." +* extension contains workflow-supportingInfo named supportingInfo 0..1 +* extension contains flag-priority named flag-priority 0..1 MS +* status = #active (exactly) +* category MS From d960fe0398d884d98e9109068d6fdde5f1f6f2c3 Mon Sep 17 00:00:00 2001 From: John D'Amore Date: Wed, 3 Jul 2024 12:47:56 -0400 Subject: [PATCH 2/5] FHIR-46289 fixing alias use --- input/fsh/aliases.fsh | 2 ++ input/fsh/profiles/FlagUvIps.fsh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/input/fsh/aliases.fsh b/input/fsh/aliases.fsh index 23189772..f74fd47f 100644 --- a/input/fsh/aliases.fsh +++ b/input/fsh/aliases.fsh @@ -31,5 +31,7 @@ Alias: $v3-RouteOfAdministration = http://terminology.hl7.org/CodeSystem/v3-Rout Alias: $clinicaldocument = http://hl7.org/fhir/StructureDefinition/clinicaldocument Alias: $vitalsigns = http://hl7.org/fhir/StructureDefinition/vitalsigns Alias: $data-absent-reason = http://hl7.org/fhir/StructureDefinition/data-absent-reason +Alias: $workflow-supportingInfo = http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo +Alias: $flag-priority = http://hl7.org/fhir/StructureDefinition/flag-priority Alias: $condition-severity = http://hl7.org/fhir/ValueSet/condition-severity Alias: $vital-signs-profile = http://hl7.org/fhir/StructureDefinition/vitalsigns \ No newline at end of file diff --git a/input/fsh/profiles/FlagUvIps.fsh b/input/fsh/profiles/FlagUvIps.fsh index ac86ee28..707efaed 100644 --- a/input/fsh/profiles/FlagUvIps.fsh +++ b/input/fsh/profiles/FlagUvIps.fsh @@ -14,7 +14,7 @@ This specialized Flag is used to convey information about an alert specific to a * ^contact.telecom.value = "http://www.hl7.org/Special/committees/patientcare" * ^jurisdiction = $m49.htm#001 * ^purpose = "This profile constrains the representation of a record of an alert in the context of the international patient summary as specified by the IPS project of HL7 International." -* extension contains workflow-supportingInfo named supportingInfo 0..1 -* extension contains flag-priority named flag-priority 0..1 MS +* extension contains $workflow-supportingInfo named supportingInfo 0..1 +* extension contains $flag-priority named flag-priority 0..1 MS * status = #active (exactly) * category MS From 8271b3ee20bde927f65446995f28af1d38964353 Mon Sep 17 00:00:00 2001 From: John D'Amore Date: Wed, 3 Jul 2024 13:42:36 -0400 Subject: [PATCH 3/5] FHIR-41260 and fixes on FHIR-46289 --- input/fsh/profiles/CompositionUvIps.fsh | 31 +++++++++++++++++++++++-- input/fsh/profiles/FlagUvIps.fsh | 2 +- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/input/fsh/profiles/CompositionUvIps.fsh b/input/fsh/profiles/CompositionUvIps.fsh index 157583f8..1fea5a04 100644 --- a/input/fsh/profiles/CompositionUvIps.fsh +++ b/input/fsh/profiles/CompositionUvIps.fsh @@ -81,7 +81,9 @@ This profile is based on the ClinicalDocument profile.""" sectionPlanOfCare 0..1 and sectionSocialHistory 0..1 and sectionPregnancyHx 0..1 and - sectionAdvanceDirectives 0..1 + sectionAdvanceDirectives 0..1 and + sectionAlerts 0..1 and + sectionPatientStory 0..1 * section[sectionMedications] obeys ips-comp-1 * section[sectionMedications] ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name" * section[sectionMedications] ^extension[=].valueString = "Section" @@ -311,4 +313,29 @@ This profile is based on the ClinicalDocument profile.""" * section[sectionAdvanceDirectives].entry ^short = "Narrative description of the patient's advance directive." * section[sectionAdvanceDirectives].entry ^definition = "Contains a narrative description or a Consent entry with information about the patient's advance directive." * section[sectionAdvanceDirectives].entry contains advanceDirectivesConsent 0..* -* section[sectionAdvanceDirectives].entry[advanceDirectivesConsent] only Reference(Consent) \ No newline at end of file +* section[sectionAdvanceDirectives].entry[advanceDirectivesConsent] only Reference(Consent) +* section[sectionAlerts] ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name" +* section[sectionAlerts] ^extension[=].valueString = "Section" +* section[sectionAlerts] ^short = "IPS Alerts Section" +* section[sectionAlerts] ^definition = "The alerts section flags potential concerns and/or dangers to/from the patient and may also include obstacles to care." +* section[sectionAlerts].title 1.. +* section[sectionAlerts].code = $loinc#104605-1 +* section[sectionAlerts].entry only Reference(Flag or DocumentReference) +* section[sectionAlerts].entry ^slicing.discriminator[0].type = #profile +* section[sectionAlerts].entry ^slicing.discriminator[=].path = "resolve()" +* section[sectionAlerts].entry ^slicing.rules = #open +* section[sectionAlerts].entry ^short = "Alert information." +* section[sectionAlerts].entry ^definition = "Contains alert information to be brought to the fore. May optionally reference other resources in IPS." +* section[sectionAlerts].entry contains alertsFlag 0..* +* section[sectionAlerts].entry[alertsFlag] only Reference(FlagUvIps) +* section[sectionPatientStory] ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name" +* section[sectionPatientStory] ^extension[=].valueString = "Section" +* section[sectionPatientStory] ^short = "IPS Patient Story Section" +* section[sectionPatientStory] ^definition = "The section contains narrative text along with optional resources that express what matters to a patient. This may include needs, strengths, values, concerns and preferences to others providing support and care. The patient’s story, provided here, may be told by the patient or by a proxy." +* section[sectionPatientStory].title 1.. +* section[sectionPatientStory].code = $loinc#81338-6 +* section[sectionPatientStory].entry ^slicing.discriminator[0].type = #profile +* section[sectionPatientStory].entry ^slicing.discriminator[=].path = "resolve()" +* section[sectionPatientStory].entry ^slicing.rules = #open +* section[sectionPatientStory].entry ^short = "Patient Story resources." +* section[sectionPatientStory].entry ^definition = "Contains resources to support the Patient Story. Any resource may be used." \ No newline at end of file diff --git a/input/fsh/profiles/FlagUvIps.fsh b/input/fsh/profiles/FlagUvIps.fsh index 707efaed..52dd6e9a 100644 --- a/input/fsh/profiles/FlagUvIps.fsh +++ b/input/fsh/profiles/FlagUvIps.fsh @@ -4,7 +4,7 @@ Id: flag-uv-ips Title: "Alert (IPS)" Description: """This profile constrains the Flag resource by the International Patient Summary (IPS) FHIR Implementation Guide. A record of an alert is represented in the patient summary as an instance of a Flag resource constrained by this profile. -This specialized Flag is used to convey information about an alert specific to an IPS. Information is flagged to raise awareness of potential concers and/or dangers to/from the subject of the IPS. It brings information to the fore and may reference other information from the summary (through the supportingInfo extension) as well as present obstacles to care.""" +This specialized Flag is used to convey information about an alert specific to an IPS. Information is flagged to raise awareness of potential concerns and/or dangers to/from the subject of the IPS. It brings information to the fore and may reference other information from the summary (through the supportingInfo extension) as well as present obstacles to care.""" * ^version = "2.0.0" * ^status = #active * ^experimental = false From 2ce8db78560c84bf547ccc87b70e5d451a3c83df Mon Sep 17 00:00:00 2001 From: John D'Amore Date: Fri, 5 Jul 2024 16:07:34 -0400 Subject: [PATCH 4/5] FHIR-46289 add more constraints, add to Bundle --- input/fsh/profiles/BundleUvIps.fsh | 3 +++ input/fsh/profiles/FlagUvIps.fsh | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/input/fsh/profiles/BundleUvIps.fsh b/input/fsh/profiles/BundleUvIps.fsh index f92a604e..e0552748 100644 --- a/input/fsh/profiles/BundleUvIps.fsh +++ b/input/fsh/profiles/BundleUvIps.fsh @@ -56,6 +56,7 @@ Description: "This profile represents the constraints applied to the Bundle reso observation-results-radiology 0..* and observation-vital-signs 0..* and specimen 0..* and + flag 0..* and clinicalimpression 0..* and careplan 0..* and consent 0..* and @@ -112,6 +113,8 @@ Description: "This profile represents the constraints applied to the Bundle reso * entry[observation-vital-signs].resource only $vital-signs-profile * entry[specimen].resource 1.. * entry[specimen].resource only SpecimenUvIps +* entry[flag].resource 1.. +* entry[flag].resource only FlagUvIps * entry[clinicalimpression].resource 1.. * entry[clinicalimpression].resource only ClinicalImpression * entry[careplan].resource 1.. diff --git a/input/fsh/profiles/FlagUvIps.fsh b/input/fsh/profiles/FlagUvIps.fsh index 52dd6e9a..ea9bd778 100644 --- a/input/fsh/profiles/FlagUvIps.fsh +++ b/input/fsh/profiles/FlagUvIps.fsh @@ -1,6 +1,6 @@ Profile: FlagUvIps Parent: Flag -Id: flag-uv-ips +Id: Flag-uv-ips Title: "Alert (IPS)" Description: """This profile constrains the Flag resource by the International Patient Summary (IPS) FHIR Implementation Guide. A record of an alert is represented in the patient summary as an instance of a Flag resource constrained by this profile. @@ -18,3 +18,6 @@ This specialized Flag is used to convey information about an alert specific to a * extension contains $flag-priority named flag-priority 0..1 MS * status = #active (exactly) * category MS +* category only CodeableConceptIPS +* code MS +* code only CodeableConceptIPS \ No newline at end of file From 64172d93fc08c0b5f8a0fb66b8a01e9217eb4a11 Mon Sep 17 00:00:00 2001 From: Rob Hausam Date: Wed, 10 Jul 2024 01:00:43 -0500 Subject: [PATCH 5/5] FHIR-41260, FHIR-46289 - Rename FlagUvIps to FlagAlertUvIps (and change Flag profile id and title accordingly). Remove curently unused entry slicing declaration from Patient Story section (no entry slices have been defined yet). Update Alerts and Patient Story sections entry definition text. --- input/fsh/profiles/BundleUvIps.fsh | 2 +- input/fsh/profiles/CompositionUvIps.fsh | 9 +++------ input/fsh/profiles/{FlagUvIps.fsh => FlagAlertUvIps.fsh} | 8 ++++---- 3 files changed, 8 insertions(+), 11 deletions(-) rename input/fsh/profiles/{FlagUvIps.fsh => FlagAlertUvIps.fsh} (92%) diff --git a/input/fsh/profiles/BundleUvIps.fsh b/input/fsh/profiles/BundleUvIps.fsh index e0552748..9dbed37e 100644 --- a/input/fsh/profiles/BundleUvIps.fsh +++ b/input/fsh/profiles/BundleUvIps.fsh @@ -114,7 +114,7 @@ Description: "This profile represents the constraints applied to the Bundle reso * entry[specimen].resource 1.. * entry[specimen].resource only SpecimenUvIps * entry[flag].resource 1.. -* entry[flag].resource only FlagUvIps +* entry[flag].resource only FlagAlertUvIps * entry[clinicalimpression].resource 1.. * entry[clinicalimpression].resource only ClinicalImpression * entry[careplan].resource 1.. diff --git a/input/fsh/profiles/CompositionUvIps.fsh b/input/fsh/profiles/CompositionUvIps.fsh index 1fea5a04..b5384a13 100644 --- a/input/fsh/profiles/CompositionUvIps.fsh +++ b/input/fsh/profiles/CompositionUvIps.fsh @@ -325,17 +325,14 @@ This profile is based on the ClinicalDocument profile.""" * section[sectionAlerts].entry ^slicing.discriminator[=].path = "resolve()" * section[sectionAlerts].entry ^slicing.rules = #open * section[sectionAlerts].entry ^short = "Alert information." -* section[sectionAlerts].entry ^definition = "Contains alert information to be brought to the fore. May optionally reference other resources in IPS." +* section[sectionAlerts].entry ^definition = "Contains alert information to be communicated. May optionally reference other resources in IPS." * section[sectionAlerts].entry contains alertsFlag 0..* -* section[sectionAlerts].entry[alertsFlag] only Reference(FlagUvIps) +* section[sectionAlerts].entry[alertsFlag] only Reference(FlagAlertUvIps) * section[sectionPatientStory] ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name" * section[sectionPatientStory] ^extension[=].valueString = "Section" * section[sectionPatientStory] ^short = "IPS Patient Story Section" * section[sectionPatientStory] ^definition = "The section contains narrative text along with optional resources that express what matters to a patient. This may include needs, strengths, values, concerns and preferences to others providing support and care. The patient’s story, provided here, may be told by the patient or by a proxy." * section[sectionPatientStory].title 1.. * section[sectionPatientStory].code = $loinc#81338-6 -* section[sectionPatientStory].entry ^slicing.discriminator[0].type = #profile -* section[sectionPatientStory].entry ^slicing.discriminator[=].path = "resolve()" -* section[sectionPatientStory].entry ^slicing.rules = #open * section[sectionPatientStory].entry ^short = "Patient Story resources." -* section[sectionPatientStory].entry ^definition = "Contains resources to support the Patient Story. Any resource may be used." \ No newline at end of file +* section[sectionPatientStory].entry ^definition = "Contains resources to support the Patient Story. Instances of DocumentReference or any other suitable resource type may be used." \ No newline at end of file diff --git a/input/fsh/profiles/FlagUvIps.fsh b/input/fsh/profiles/FlagAlertUvIps.fsh similarity index 92% rename from input/fsh/profiles/FlagUvIps.fsh rename to input/fsh/profiles/FlagAlertUvIps.fsh index ea9bd778..a38866d1 100644 --- a/input/fsh/profiles/FlagUvIps.fsh +++ b/input/fsh/profiles/FlagAlertUvIps.fsh @@ -1,7 +1,7 @@ -Profile: FlagUvIps +Profile: FlagAlertUvIps Parent: Flag -Id: Flag-uv-ips -Title: "Alert (IPS)" +Id: Flag-alert-uv-ips +Title: "Flag - Alert (IPS)" Description: """This profile constrains the Flag resource by the International Patient Summary (IPS) FHIR Implementation Guide. A record of an alert is represented in the patient summary as an instance of a Flag resource constrained by this profile. This specialized Flag is used to convey information about an alert specific to an IPS. Information is flagged to raise awareness of potential concerns and/or dangers to/from the subject of the IPS. It brings information to the fore and may reference other information from the summary (through the supportingInfo extension) as well as present obstacles to care.""" @@ -20,4 +20,4 @@ This specialized Flag is used to convey information about an alert specific to a * category MS * category only CodeableConceptIPS * code MS -* code only CodeableConceptIPS \ No newline at end of file +* code only CodeableConceptIPS \ No newline at end of file