From 1e132620a5cb8bbb95d52b892941af72d12b3a21 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Tue, 22 Jul 2025 15:25:42 +0200 Subject: [PATCH 01/36] Draft diagram for new transaction DEV-48 --- .../plantuml/vol2-figure-dev-48-sequence.puml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 asciidoc/plantuml/vol2-figure-dev-48-sequence.puml diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml new file mode 100644 index 00000000..54bc3c13 --- /dev/null +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -0,0 +1,40 @@ +@startuml + +!include ./common_style.inc.puml +autonumber + +!global $str_somds_consumer = "SOMDS Consumer" +!global $str_somds_provider = "SOMDS Provider" + +participant "$str_somds_consumer" as consumer +participant "$str_somds_provider" as provider + +==Manage Distributed Alarm System [DEV-48]== +opt + consumer -> provider: SetFriendlyConsumerName + consumer <<-- provider: SetFriendlyConsumerNameResponse +end +consumer -> provider: MonitoredByDAS +consumer <<-- provider: MonitoredByDASResponse (MDIB version) + +par + loop upon alert condition change and before MaxTechnicalConfirmationDelay expires + consumer -> provider: ConfirmAlertsTechnicalDelivery (Alert Occurrence ID Tuple(s)) + consumer <<-- provider: ConfirmAlertsTechnicalDeliveryResponse (MDIB version) + end +else + loop before InvocationEffectiveTimeout expires + consumer -> provider: MonitoredByDAS + consumer <<-- provider: MonitoredByDASResponse (MDIB version) + end +end + +opt intentional ending of the DAS + alt consumer intentionally ends the DAS + consumer -> provider: EndMonitoredByDAS + consumer <<-- provider: EndMonitoredByDASResponse(MDIB version) + else provider intentionally ends the DAS + consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') + end +end +@enduml \ No newline at end of file From f4cf933bd98d16182d7b84dbf3f3e36b2f94fd6b Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Tue, 22 Jul 2025 17:56:23 +0200 Subject: [PATCH 02/36] Changed actors names in DEV-48 transaction diagram --- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index 54bc3c13..660491e5 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -3,11 +3,11 @@ !include ./common_style.inc.puml autonumber -!global $str_somds_consumer = "SOMDS Consumer" -!global $str_somds_provider = "SOMDS Provider" +!global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" +!global $str_somds_medical_alert_provider = "SOMDS Medical Alert Provider" -participant "$str_somds_consumer" as consumer -participant "$str_somds_provider" as provider +participant "$str_somds_medical_alert_consumer" as consumer +participant "$str_somds_medical_alert_provider" as provider ==Manage Distributed Alarm System [DEV-48]== opt From b91ca28cda52f8e009cba3f49264da03b4e9bf8f Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 23 Jul 2025 14:35:30 +0200 Subject: [PATCH 03/36] Added Provider selfChecks to DEV-48 transaction diagram --- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index 660491e5..c186bd3b 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -27,6 +27,10 @@ else consumer -> provider: MonitoredByDAS consumer <<-- provider: MonitoredByDASResponse (MDIB version) end +else + loop at least once every SelfCheckPeriod + provider -> consumer: Notification (PeriodicAlertReport incl. updated 'SelfCheck' information) + end end opt intentional ending of the DAS From d73f44a429c5cc9a8f66ce8f6dee265f8d3d171e Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 25 Jul 2025 14:52:45 +0200 Subject: [PATCH 04/36] Started carving out transactions DEV-48 and DEV-49 --- .../plantuml/vol2-figure-dev-48-sequence.puml | 10 +-------- .../plantuml/vol2-figure-dev-49-sequence.puml | 21 +++++++++++++++++++ asciidoc/volume0/tf0-ch-b-transactions.adoc | 14 ++++++++++--- .../volume2/dev-48/tf2-dev-48-summary.adoc | 3 +++ .../volume2/dev-49/tf2-dev-49-summary.adoc | 3 +++ 5 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 asciidoc/plantuml/vol2-figure-dev-49-sequence.puml create mode 100644 asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc create mode 100644 asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index c186bd3b..fd03661e 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -9,7 +9,7 @@ autonumber participant "$str_somds_medical_alert_consumer" as consumer participant "$str_somds_medical_alert_provider" as provider -==Manage Distributed Alarm System [DEV-48]== +==Establish Distributed Alarm System [DEV-48]== opt consumer -> provider: SetFriendlyConsumerName consumer <<-- provider: SetFriendlyConsumerNameResponse @@ -33,12 +33,4 @@ else end end -opt intentional ending of the DAS - alt consumer intentionally ends the DAS - consumer -> provider: EndMonitoredByDAS - consumer <<-- provider: EndMonitoredByDASResponse(MDIB version) - else provider intentionally ends the DAS - consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') - end -end @enduml \ No newline at end of file diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml new file mode 100644 index 00000000..1be8537d --- /dev/null +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -0,0 +1,21 @@ +@startuml + +!include ./common_style.inc.puml +autonumber + +!global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" +!global $str_somds_medical_alert_provider = "SOMDS Medical Alert Provider" + +participant "$str_somds_medical_alert_consumer" as consumer +participant "$str_somds_medical_alert_provider" as provider + +==End Distributed Alarm System [DEV-49]== + +alt consumer intentionally ends the DAS + consumer -> provider: EndMonitoredByDAS + consumer <<-- provider: EndMonitoredByDASResponse(MDIB version) +else provider intentionally ends the DAS + consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') +end + +@enduml \ No newline at end of file diff --git a/asciidoc/volume0/tf0-ch-b-transactions.adoc b/asciidoc/volume0/tf0-ch-b-transactions.adoc index 07a170d3..8eb0f86a 100644 --- a/asciidoc/volume0/tf0-ch-b-transactions.adoc +++ b/asciidoc/volume0/tf0-ch-b-transactions.adoc @@ -163,12 +163,20 @@ include::../volume2/dev-46/tf2-dev-46-summary.adoc[] .^| [[vol0_transaction_summary_dev_47,DEV-47 Retrieve Network Presence]] [[transaction_number_dev_47,DEV-47]] DEV-47 -| [[transaction_name_retrieve_network_presence,Retrieve Network Presence]] Retrieve Network Presence +| [[transaction_name_retrieve_network_presence,Retrieve Network Presence]] Retrieve Network Presence | include::../volume2/dev-47/tf2-dev-47-summary.adoc[] -.^| DEV-48 | _Reserved_ | -.^| DEV-49 | _Reserved_ | +.^| [[vol0_transaction_summary_dev_48, DEV-48 Establish Distributed Alarm System]][[transaction_number_dev_48, DEV-48]] DEV-48 +| [[transaction_name_establish_distributed_alarm_system, Establish Distributed Alarm System]] Establish Distributed Alarm System +| +include::../volume2/dev-48/tf2-dev-48-summary.adoc[] + +.^| [[vol0_transaction_summary_dev_49, DEV-49 End Distributed Alarm System]][[transaction_number_dev_49, DEV-49]] DEV-49 +| [[transaction_name_end_distributed_alarm_system, End Distributed Alarm System]] End Distributed Alarm System +| +include::../volume2/dev-49/tf2-dev-49-summary.adoc[] + .^| DEV-50 | _Reserved_ | |=== diff --git a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc new file mode 100644 index 00000000..50600a8b --- /dev/null +++ b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc @@ -0,0 +1,3 @@ +// DEV-48 Transaction Summary + +Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file diff --git a/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc new file mode 100644 index 00000000..9da83337 --- /dev/null +++ b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc @@ -0,0 +1,3 @@ +// DEV-49 Transaction Summary + +Intentionally end a Distributed Alarm System between a <> and a <>. \ No newline at end of file From 5caae1fc35710d45576e2234509a527114deed4c Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 25 Jul 2025 17:53:29 +0200 Subject: [PATCH 05/36] Corrected actors in transactions DEV-48 and DEV-49 --- asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc | 2 +- asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc index 50600a8b..a64167db 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc @@ -1,3 +1,3 @@ // DEV-48 Transaction Summary -Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file +Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file diff --git a/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc index 9da83337..7e6a1f2b 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc @@ -1,3 +1,3 @@ // DEV-49 Transaction Summary -Intentionally end a Distributed Alarm System between a <> and a <>. \ No newline at end of file +Intentionally end a Distributed Alarm System between a <> and a <>. \ No newline at end of file From bc09b0126f93302c7e2768946e3df6d21886f0d0 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Mon, 28 Jul 2025 17:54:50 +0200 Subject: [PATCH 06/36] First big badge of changes for DAS management --- ...a-delegation-example-sequence-diagram.puml | 3 +- ...-a-reporting-example-sequence-diagram.puml | 2 +- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 52 +++++++++++++++---- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 41 +++++++++++++++ asciidoc/volume2/dev-49/tf2-dev-49.adoc | 41 +++++++++++++++ asciidoc/volume2/tf2-main.adoc | 6 +++ 6 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 asciidoc/volume2/dev-48/tf2-dev-48.adoc create mode 100644 asciidoc/volume2/dev-49/tf2-dev-49.adoc diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml index a1dc9b86..824b2fb2 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include plantuml/common_style.inc.puml +!include ./common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" @@ -16,6 +16,7 @@ group secured sdc_sp -> sdc_sp: annunciate alert sdc_sc <- sdc_sc: annunciate alert + ==Establish Distributed Alarm System== ==Delegate alert== loop sdc_sc -> sdc_sp: Delegation Heartbeat diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml index 1959e9f1..9378ef5e 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include plantuml/common_style.inc.puml +!include ./common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 7c47d10b..3779c0b0 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -29,10 +29,10 @@ The actors and transactions in this specification are specialized versions of th Additional services have been provided to specifically support the exchange and management of this medical device alert information, providing a high-level of reliability and performance, commensurate with the potential risk to the patient if they are not promptly addressed. The profile builds upon the foundational <> capabilities provided by the <>. -These extended capabilities for medical data exchange are achieved by various means, including: +These extended capabilities for medical alert exchange are achieved by various means, including: -. Grouping <> actors with their <> counterparts -. Addressing requirements from the emerging <> ISO/IEEE standards: <> and <> +. Grouping <> actors with their <> counterparts +. Addressing requirements from the (emerging) <> ISO/IEEE standards: <>, <> and <> . Requiring capabilities that in the <> may be optional . Requiring additional <> data elements or content modules @@ -74,7 +74,7 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] .^|Optionality .^|Reference -.6+| <> +.8+| <> .^| <> .^| Responder .^| R @@ -108,7 +108,17 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] | [DEV-43] Deferred to a future version of SDPi // <> -.6+| <> +| <> +| Responder +| R ^(See^ ^Note^ ^3)^ +| <> + +| <> +| Responder and Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + +.8+| <> .^| <> .^| Initiator .^| R @@ -142,6 +152,16 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] | [DEV-43] Deferred to a future version of SDPi // <> +| <> +| Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + +| <> +| Responder and Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + .4+| <> ^(See^ ^Note^ ^2)^ .^| <> .^| Initiator @@ -171,6 +191,7 @@ Note 2: By default, the <> acts as a < If the gateway supports <>, then it also acts as a <> and accepts inbound [DEV-04] transactions from ACM Alert Reporters. In this case, the gateway will support both "Initiator & Responder" for these transactions. +Note 3: Transaction is required if <> is supported. |=== [#vol1_clause_sdpi_a_actor_descriptions_actor_profile_requirements] @@ -263,6 +284,19 @@ If a <> is being created, it may incorporate both << [#vol1_clause_sdpi_a_actor_options] === SDPi-A Actor Options +[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system] +==== Distributed Alarm System Option + +[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system_reftext, reftext='SDPi-A Option: Distributed Alarm System'] +[%noheader] +[%autowidth] +[cols="1"] +|=== +a| *{supplement_note}*: This section is intentionally left incomplete until the completion of the <> standard, which is required before this profile can be completed. + +This option enables <> and <> systems to safely and reliably run a Distributed Alarm System with each other. +This option enables both the <> [DEV-48] and <> [DEV-49] transactions. +|=== [#vol1_clause_sdpi_a_actor_option_alert_delegation] ==== Alert Delegation Option @@ -272,13 +306,13 @@ If a <> is being created, it may incorporate both << [%autowidth] [cols="1"] |=== -a| *{supplement_note}*: This section is intentionally left incomplete blank to indicate capabilities that will be added in a future version of the SDPi Supplement. -As stated elsewhere, the completion of the <> standard is required before this profile can be completed (beyond alert reporting for DIS capabilities), and that is especially the case for alert delegation. +a| *{supplement_note}*: This section is intentionally left incomplete to indicate capabilities that will be added in a future version of the SDPi Supplement. +As stated elsewhere, the completion of the <> standard is required before this profile can be completed (beyond alert reporting for DIS capabilities and DAS capabilities without delegation), and that is especially the case for alert delegation. *_The sequence diagram below for delegation is provided for informative purposes only and will be finalized when the IEEE standard and this profile option are completed._* This option will enable <> systems to safely and reliably transfer or "delegate" audible annunciation of alert conditions to another system. -This option will enable both the <> [DEV-41] and <> [DEV-42] transactions. +This option will enable both the <> [DEV-41] and <> [DEV-42] transactions, with the pre-requisites that also the <> option is selected and a Distributed Alarm System is active. |=== @@ -336,7 +370,7 @@ This option will enable the <> to resp [%autowidth] [cols="1"] |=== -a| *{supplement_note}*: As indicated in <> above, there are four grouped actors: +a| *{supplement_note}*: As indicated in <> above, there are four grouped actors: [none] . <> with <> diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc new file mode 100644 index 00000000..ab5cccc8 --- /dev/null +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -0,0 +1,41 @@ +:var_transaction_id: DEV-48 + + +//reset|+1|off +[#vol2_clause_dev_48,sdpi_offset=48] +=== Establish Distributed Alarm System [{var_transaction_id}] + +==== Scope + +include::tf2-dev-48-summary.adoc[] + +==== Actor Roles + +.Actor Roles [{var_transaction_id}] +[cols="1,2"] +|=== +|Actor |Roles + +|<> +|Requests a <> to establish a Distributed Alarm System. Also maintains an established Distributed Alarm System. + +|<> +|Listens for requests from a <> to establish a Distributed Alarm System and grants such requests. Also maintains an established Distributed Alarm System. + +|=== + +==== Referenced Standards + +* TBD + +==== Messages + +.Message Interaction Diagram [{var_transaction_id}] +[plantuml#vol2_figure_dev_48_sequence, target=puml-dev-48-sequence, format=svg] +.... +include::../../plantuml/vol2-figure-dev-48-sequence.puml[] +.... + +[#vol2_clause_dev_239_publish_medical_alert_update_ses] +include::../dev-x-default-ses-secured-mode.adoc[] + diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc new file mode 100644 index 00000000..4d23b1e0 --- /dev/null +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -0,0 +1,41 @@ +:var_transaction_id: DEV-49 + + +//reset|+1|off +[#vol2_clause_dev_49,sdpi_offset=49] +=== End Distributed Alarm System [{var_transaction_id}] + +==== Scope + +include::tf2-dev-49-summary.adoc[] + +==== Actor Roles + +.Actor Roles [{var_transaction_id}] +[cols="1,2"] +|=== +|Actor |Roles + +|<> +|Requests a <> to end a Distributed Alarm System. + +|<> +|Listens for requests from a <> to end a Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System on its own initiative and notifies the <>. + +|=== + +==== Referenced Standards + +* TBD + +==== Messages + +.Message Interaction Diagram [{var_transaction_id}] +[plantuml#vol2_figure_dev_49_sequence, target=puml-dev-49-sequence, format=svg] +.... +include::../../plantuml/vol2-figure-dev-49-sequence.puml[] +.... + +[#vol2_clause_dev_239_publish_medical_alert_update_ses] +include::../dev-x-default-ses-secured-mode.adoc[] + diff --git a/asciidoc/volume2/tf2-main.adoc b/asciidoc/volume2/tf2-main.adoc index 7f3f40be..7cc500ff 100644 --- a/asciidoc/volume2/tf2-main.adoc +++ b/asciidoc/volume2/tf2-main.adoc @@ -54,6 +54,12 @@ include::dev-46/tf2-dev-46.adoc[] //=== Retrieve Network Presence [DEV-47] include::dev-47/tf2-dev-47.adoc[] +//=== Establish Distributed Alarm System [DEV-48] +include::dev-48/tf2-dev-48.adoc[] + +//=== End Distributed Alarm System [DEV-49] +include::dev-49/tf2-dev-49.adoc[] + // TODO how does this differ from DEV-30 // //[appendix#clause-mdpws-constraints-corrigenda-adjuncts] From 8964f9de08da04020163d8745670755cf2cef83b Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Tue, 29 Jul 2025 17:47:11 +0200 Subject: [PATCH 07/36] Updated SDPi-A actor diagram svg --- asciidoc/images/vol1-diagram-sdpi-a-actor.svg | 341 ++++++++++++------ 1 file changed, 236 insertions(+), 105 deletions(-) diff --git a/asciidoc/images/vol1-diagram-sdpi-a-actor.svg b/asciidoc/images/vol1-diagram-sdpi-a-actor.svg index bc9e1dd1..01814dfa 100644 --- a/asciidoc/images/vol1-diagram-sdpi-a-actor.svg +++ b/asciidoc/images/vol1-diagram-sdpi-a-actor.svg @@ -6,7 +6,7 @@ version="1.1" id="svg209" sodipodi:docname="vol1-diagram-sdpi-a-actor.svg" - inkscape:version="1.1.2 (b8e25be833, 2022-02-05)" + inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -27,14 +27,22 @@ inkscape:zoom="0.8609375" inkscape:cx="519.78221" inkscape:cy="264.24682" - inkscape:window-width="1620" - inkscape:window-height="1058" - inkscape:window-x="-6" - inkscape:window-y="-6" + inkscape:window-width="1920" + inkscape:window-height="1009" + inkscape:window-x="-8" + inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="g207" /> + inkscape:current-layer="g207" + inkscape:showpageshadow="2" + inkscape:deskcolor="#d1d1d1" /> + @@ -70,21 +78,23 @@ font-family="Calibri, Calibri_MSFontService, sans-serif" font-weight="700" font-size="24px" - transform="translate(195.317,522)" - id="text11">SOMDS + id="text11" + x="185.317" + y="558">SOMDS Provider + id="text13" + x="180.67" + y="587">Provider @@ -92,27 +102,30 @@ font-family="Calibri, Calibri_MSFontService, sans-serif" font-weight="700" font-size="24px" - transform="translate(346.815,507)" - id="text17">SOMDS + id="text17" + x="336.815" + y="543">SOMDS Medical Alert + id="text19" + x="307.38901" + y="572">Medical Alert Provider + id="text21" + x="332.16901" + y="601">Provider @@ -120,21 +133,23 @@ font-family="Calibri, Calibri_MSFontService, sans-serif" font-weight="700" font-size="24px" - transform="translate(195.123,177)" - id="text25">SOMDS + id="text25" + x="185.123" + y="147">SOMDS Consumer + id="text27" + x="172.28999" + y="176">Consumer @@ -142,100 +157,136 @@ font-family="Calibri, Calibri_MSFontService, sans-serif" font-weight="700" font-size="24px" - transform="translate(346.341,163)" - id="text31">SOMDS + id="text31" + x="336.341" + y="133">SOMDS Medical Alert + id="text33" + x="306.914" + y="162">Medical Alert Consumer + id="text35" + x="323.50699" + y="191">Consumer + DEV + - DEV + id="text41" + x="193.30901" + y="225">38 Establish - + id="text43" + x="155.64301" + y="248">Medical Alert Exchange 38 Establish + id="text37-1" + x="156.52522" + y="435.74741">DEV Medical Alert Exchange + id="text39-8" + x="188.52522" + y="435.74741">- + 48 Establish + d="m 362,205.50817 -10e-5,299.63213 h 2 L 364,205.50817 Z m -3.0001,297.78515 4,11.08466 4,-11.08466 z" + id="path45" + style="stroke-width:1.1771" /> + d="m 385,511.88146 10e-5,-296.02987 h -2 L 383,511.88146 Z m 3.0001,-294.1924 -4,-11.01937 -4,11.01937 z" + id="path47" + style="stroke-width:1.17363" /> DEV + id="text49" + x="155.64301" + y="333">DEV - + id="text51" + x="187.64301" + y="333">- 41 Manage Medical + id="text53" + x="193.30901" + y="333">41 Manage Medical Alert Delegation + id="text55" + x="155.64301" + y="356">Alert Delegation DEV + id="text57" + x="401.08499" + y="312">DEV - + id="text59" + x="433.08499" + y="312">- 39 Publish + id="text61" + x="438.75101" + y="312">39 Publish Medical Alert Update + id="text63" + x="401.08499" + y="335">Medical Alert Update DEV + id="text95" + x="400.638" + y="364">DEV - + id="text97" + x="432.638" + y="364">- 42 Delegate + id="text99" + x="438.30499" + y="364">42 Delegate Medical Alert + id="text101" + x="400.638" + y="387">Medical Alert DEV + id="text103" + x="155.64301" + y="279">DEV - + id="text105" + x="187.64301" + y="279">- 40 Retrieve Medical + id="text107" + x="193.30901" + y="279">40 Retrieve Medical Alert Status + id="text109" + x="155.64301" + y="302">Alert Status DEV + id="text117" + x="155.642" + y="387">DEV + - - + id="text121" + x="193.30901" + y="387">43 Update Alert 43 Update Alert + id="text123" + x="155.642" + y="410">Acknowledgement Status Acknowledgement Status + id="text123-8" + x="157.09764" + y="457.42435">Distributed Alarm System + DEV + - + 49 End Distributed + Alarm System + DEV + - + 49 End Distributed + Alarm System 43 ) + From 0c45e12626fa1d288bff440ca4e0e0ba68eb4eaa Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Tue, 29 Jul 2025 18:05:09 +0200 Subject: [PATCH 08/36] Attempt to fix PUML diagram rendering issues --- .../vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml | 2 +- .../vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-49-sequence.puml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml index 824b2fb2..b62e30da 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include ./common_style.inc.puml +!include ../plantuml/common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml index 9378ef5e..3d06004c 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include ./common_style.inc.puml +!include ../plantuml/common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index fd03661e..5180871a 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include ./common_style.inc.puml +!include ../plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index 1be8537d..96201d72 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include ./common_style.inc.puml +!include ../plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" From 4d01f132e638758e483e233ae7d90e769a97f14c Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 30 Jul 2025 14:11:29 +0200 Subject: [PATCH 09/36] 2nd attempt to fix PUML diagram rendering issues --- .../vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml | 2 +- .../vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-49-sequence.puml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml index b62e30da..b9f1abb5 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include ../plantuml/common_style.inc.puml +!include common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml index 3d06004c..d9f3757c 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include ../plantuml/common_style.inc.puml +!include common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index 5180871a..67a552f9 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include ../plantuml/common_style.inc.puml +!include common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index 96201d72..4f31bafc 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include ../plantuml/common_style.inc.puml +!include common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" From e7f2970b9eaa440614d403aeb1b3bdbe1c7ce20c Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 30 Jul 2025 16:51:02 +0200 Subject: [PATCH 10/36] added referenced standards to DEV-48 and -49 --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 2 +- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index ab5cccc8..79a259d3 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -26,7 +26,7 @@ include::tf2-dev-48-summary.adoc[] ==== Referenced Standards -* TBD +* <> ==== Messages diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index 4d23b1e0..92055235 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -26,7 +26,7 @@ include::tf2-dev-49-summary.adoc[] ==== Referenced Standards -* TBD +* <> ==== Messages From 7a60af2c1018f1776d879755e1aedf69178cd8e1 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Thu, 31 Jul 2025 18:05:44 +0200 Subject: [PATCH 11/36] First inroads into DEV-48 message / operation descriptions --- .../plantuml/vol2-figure-dev-48-sequence.puml | 2 +- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index 67a552f9..240f3ff8 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -11,7 +11,7 @@ participant "$str_somds_medical_alert_provider" as provider ==Establish Distributed Alarm System [DEV-48]== opt - consumer -> provider: SetFriendlyConsumerName + consumer -> provider: SetFriendlyConsumerName (Friendly Consumer Name) consumer <<-- provider: SetFriendlyConsumerNameResponse end consumer -> provider: MonitoredByDAS diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 79a259d3..1daedb7f 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -1,5 +1,7 @@ :var_transaction_id: DEV-48 +:var_label_dev_48_operation_set_friendly_consumer_name: SetFriendlyConsumerName +:var_label_dev_48_operation_set_friendly_consumer_name_response: SetFriendlyConsumerNameResponse //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] @@ -36,6 +38,30 @@ include::tf2-dev-48-summary.adoc[] include::../../plantuml/vol2-figure-dev-48-sequence.puml[] .... +[#vol2_clause_dev_48_operation_set_friendly_consumer_name] +===== {var_label_dev_48_operation_set_friendly_consumer_name} Operation + +A <> invokes the {var_label_dev_48_operation_set_friendly_consumer_name} operation on a <> as specified in <>. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_trigger_events] +====== Trigger Events + +The {var_label_dev_48_operation_set_friendly_consumer_name} operation is invoked by a <> as the first step in establishing a Distributed Alarm System with the <>. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_semantics] +====== Message Semantics + +[[payload_dev_48_set_friendly_consumer_name_name]]Friendly Consumer Name:: The Distributed Alarm System consumer name by which a <> wishes to be referred to by the <>. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_expected_actions] +====== Expected Actions + +When a <> invokes this operation, the receiving <> responds with a <> message. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response] +===== {var_label_dev_48_operation_set_friendly_consumer_name_response} Message +CONTINUE FORM HERE!!!! + [#vol2_clause_dev_239_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 5f00859828a29e901c9d0bce086df517be56da17 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Mon, 1 Sep 2025 16:40:06 +0200 Subject: [PATCH 12/36] Harmonized PUML include paths --- .../vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml | 2 +- .../vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 2 +- asciidoc/plantuml/vol2-figure-dev-49-sequence.puml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml index b9f1abb5..2f108440 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include common_style.inc.puml +!include plantuml/common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml index d9f3757c..1959e9f1 100644 --- a/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml +++ b/asciidoc/plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml @@ -1,6 +1,6 @@ @startuml -!include common_style.inc.puml +!include plantuml/common_style.inc.puml !global $str_sdc_sc = "SOMDS Medical Alert Consumer" !global $str_sdc_sp = "SOMDS Medical Alert Provider" diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index 240f3ff8..ee4dc49f 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include common_style.inc.puml +!include plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index 4f31bafc..d1edd3d8 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include common_style.inc.puml +!include plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" From 3ef96ed16541e066b6ab9ca68f2de3a45a25f1ca Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Sat, 13 Sep 2025 16:43:56 -0400 Subject: [PATCH 13/36] Described set_friendly_consumer_name_response --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 1daedb7f..176297e9 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -59,8 +59,26 @@ The {var_label_dev_48_operation_set_friendly_consumer_name} operation is invoked When a <> invokes this operation, the receiving <> responds with a <> message. [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response] -===== {var_label_dev_48_operation_set_friendly_consumer_name_response} Message -CONTINUE FORM HERE!!!! +===== {var_label_dev_48_operation_set_friendly_consumer_name_response} Operation Invoked Report Message + +A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_set_friendly_consumer_name} +operation. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_trigger_events] +====== Trigger Events + +The <> sends a <> back to the <> that invoked the {var_label_dev_48_operation_set_friendly_consumer_name} +operation. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_semantics] +====== Message Semantics + +The <> does not contain any further semantics. + +[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected or required response. If the operation was successful, the <> uses the Friendly Consumer Name as the <>'s identifier for the clinical user. [#vol2_clause_dev_239_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 7dd9c9e1768b361385ac6a770920f0219e3d97de Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Sat, 13 Sep 2025 18:08:50 -0400 Subject: [PATCH 14/36] Described operation_monitored_by_das --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 47 ++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 176297e9..85f7976f 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -2,6 +2,8 @@ :var_label_dev_48_operation_set_friendly_consumer_name: SetFriendlyConsumerName :var_label_dev_48_operation_set_friendly_consumer_name_response: SetFriendlyConsumerNameResponse +:var_label_dev_48_operation_monitored_by_das: MonitoredByDAS +:var_label_dev_48_operation_monitored_by_das_response: MonitoredByDASResponse //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] @@ -61,7 +63,7 @@ When a <> invokes this oper [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response] ===== {var_label_dev_48_operation_set_friendly_consumer_name_response} Operation Invoked Report Message -A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_set_friendly_consumer_name} +A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_set_friendly_consumer_name} operation. [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_trigger_events] @@ -80,6 +82,49 @@ The <> does no When a <> sends this message, there is no expected or required response. If the operation was successful, the <> uses the Friendly Consumer Name as the <>'s identifier for the clinical user. +[#vol2_clause_dev_48_operation_monitored_by_das] +===== {var_label_dev_48_operation_monitored_by_das} Operation + +A <> invokes the {var_label_dev_48_operation_monitored_by_das} operation on a <> to establish a Distributed Alarm System, as specified in <>. + +[#vol2_clause_dev_48_operation_monitored_by_das_trigger_events] +====== Trigger Events + +The {var_label_dev_48_operation_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. + +[#vol2_clause_dev_48_operation_monitored_by_das_semantics] +====== Message Semantics + +The <> does not contain any further semantics. + +[#vol2_clause_dev_48_operation_monitored_by_das_expected_actions] +====== Expected Actions + +When a <> invokes this operation, the receiving <> responds with a <> message. + +[#vol2_clause_dev_48_operation_monitored_by_das_response] +===== {var_label_dev_48_operation_monitored_by_das_response} Operation Invoked Report Message + +A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_monitored_by_das} +operation. + +[#vol2_clause_dev_48_operation_monitored_by_das_response_trigger_events] +====== Trigger Events + +The <> sends a <> back to the <> that invoked the {var_label_dev_48_operation_monitored_by_das} +operation. + +[#vol2_clause_dev_48_operation_monitored_by_das_response_semantics] +====== Message Semantics + +[[payload_dev_48_monitored_by_das_name]]MDIB version:: The version of the <>'s MDIB from which the <> takes over the Distributed Alarm System responsibility and therefore starts confirming changes in the <>'s alert conditions. + + +[#vol2_clause_dev_48_operation_monitored_by_das_response_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected or required response. The <> marks the establishment of the Distributed Alarm System for both the <> and the <>. + [#vol2_clause_dev_239_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 7c7c64e52941a23cfe5d27ac2f53be70d3e1a445 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Mon, 10 Nov 2025 14:00:16 +0100 Subject: [PATCH 15/36] Corrected step 9 of DEV-48 diagram to be EpisodicAlertReport --- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index ee4dc49f..dbef5860 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -29,7 +29,7 @@ else end else loop at least once every SelfCheckPeriod - provider -> consumer: Notification (PeriodicAlertReport incl. updated 'SelfCheck' information) + provider -> consumer: Notification (EpisodicAlertReport incl. updated 'SelfCheck' information) end end From 5aaec2fcccac9fb68fea7d64a096109309197546 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Mon, 10 Nov 2025 14:52:20 +0100 Subject: [PATCH 16/36] Corrected some labels in section 2:3.48.4 --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 85f7976f..b93c237b 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -69,13 +69,13 @@ operation. [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_trigger_events] ====== Trigger Events -The <> sends a <> back to the <> that invoked the {var_label_dev_48_operation_set_friendly_consumer_name} +The <> sends a {var_label_dev_48_operation_set_friendly_consumer_name_response} message back to the <> that invoked the {var_label_dev_48_operation_set_friendly_consumer_name} operation. [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_semantics] ====== Message Semantics -The <> does not contain any further semantics. +The {var_label_dev_48_operation_set_friendly_consumer_name_response} message does not contain any further semantics. [#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_expected_actions] ====== Expected Actions @@ -95,7 +95,7 @@ The {var_label_dev_48_operation_monitored_by_das} operation is invoked by a <> does not contain any further semantics. +The {var_label_dev_48_operation_monitored_by_das} operation invocation message does not contain any further semantics. [#vol2_clause_dev_48_operation_monitored_by_das_expected_actions] ====== Expected Actions @@ -105,13 +105,13 @@ When a <> invokes this oper [#vol2_clause_dev_48_operation_monitored_by_das_response] ===== {var_label_dev_48_operation_monitored_by_das_response} Operation Invoked Report Message -A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_monitored_by_das} +A <> responds with a {var_label_dev_48_operation_monitored_by_das_response} message to a <>'s invocation of the {var_label_dev_48_operation_monitored_by_das} operation. [#vol2_clause_dev_48_operation_monitored_by_das_response_trigger_events] ====== Trigger Events -The <> sends a <> back to the <> that invoked the {var_label_dev_48_operation_monitored_by_das} +The <> sends a {var_label_dev_48_operation_monitored_by_das_response} message back to the <> that invoked the {var_label_dev_48_operation_monitored_by_das} operation. [#vol2_clause_dev_48_operation_monitored_by_das_response_semantics] @@ -123,7 +123,7 @@ operation. [#vol2_clause_dev_48_operation_monitored_by_das_response_expected_actions] ====== Expected Actions -When a <> sends this message, there is no expected or required response. The <> marks the establishment of the Distributed Alarm System for both the <> and the <>. +When a <> sends this message, there is no expected or required response. The {var_label_dev_48_operation_monitored_by_das_response} message marks the establishment of the Distributed Alarm System for both the <> and the <>. [#vol2_clause_dev_239_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 736fbb4e8586ca536db8f5beb15e0db038315076 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Mon, 10 Nov 2025 15:53:05 +0100 Subject: [PATCH 17/36] Extended MonitoredByDAS description to also cover DAS maintenance --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index b93c237b..532e26c3 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -85,12 +85,14 @@ When a <> sends this messag [#vol2_clause_dev_48_operation_monitored_by_das] ===== {var_label_dev_48_operation_monitored_by_das} Operation -A <> invokes the {var_label_dev_48_operation_monitored_by_das} operation on a <> to establish a Distributed Alarm System, as specified in <>. +A <> invokes the {var_label_dev_48_operation_monitored_by_das} operation on a <> to either establish a Distributed Alarm System or to keep an established Distributed Alarm System active , as specified in <>. [#vol2_clause_dev_48_operation_monitored_by_das_trigger_events] ====== Trigger Events -The {var_label_dev_48_operation_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. +When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. + +When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_monitored_by_das} operation is periodically invoked by a <> with a period shorter than _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System is kept active. [#vol2_clause_dev_48_operation_monitored_by_das_semantics] ====== Message Semantics @@ -123,7 +125,11 @@ operation. [#vol2_clause_dev_48_operation_monitored_by_das_response_expected_actions] ====== Expected Actions -When a <> sends this message, there is no expected or required response. The {var_label_dev_48_operation_monitored_by_das_response} message marks the establishment of the Distributed Alarm System for both the <> and the <>. +When a <> sends this message, there is no expected or required response. + +When there is no active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_monitored_by_das_response} message with InvocationState = 'Fin' marks the establishment of the Distributed Alarm System for both the <> and the <>. + +When there is an active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_monitored_by_das_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. [#vol2_clause_dev_239_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From df8639736e8e3a3b6dfe33c4f6cca249709b5a5b Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 18 Feb 2026 19:48:02 +0100 Subject: [PATCH 18/36] recreated some lost changes in the last master merge --- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 47 +++++++++++++++----------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 30a47e75..f0256a6c 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -1,7 +1,7 @@ -// = Service-oriented Device Point-of-care Interoperability - Alerting (SDPi-A) Profile +// = Service-oriented Device Point-of-care Interoperability – Alerting (SDPi-A) Profile -[#vol1_clause_sdpi_a_profile,sdpi_offset=12] -== Service-oriented Device Point-of-care Interoperability - Alerting (SDPi-A) Profile +[#vol1_clause_sdpi_a_profile,sdpi_offset=12,role=profile,profile-id=sdpi-a,reftext="Alerting Profile",oid-arcs=.13] +== Service-oriented Device Point-of-care Interoperability – Alerting (SDPi-A) Profile [%noheader] [%autowidth] @@ -192,7 +192,7 @@ This default configuration requires the grouped <>, then it also acts as a <> and accepts inbound [DEV-04] transactions from ACM Alert Reporters. In this case, the gateway will support both "Initiator & Responder" for these transactions. -In this case, the <> Actor <> (Direction="bidirectional") is enabled. +In this case, the <> Actor has both the <> and <> options selected. Note 3: Transaction is required if <> is supported. |=== @@ -221,9 +221,9 @@ TODO: include::../plantuml/vol1-figure-sdpi-a-reporting-example-sequence-diagram.puml[] .... -[#vol1_clause_sdpi_a_somds_medical_alert_provider] +[#vol1_clause_sdpi_a_somds_medical_alert_provider,role="actor actor-alias",actor-id="somds_medical_alert_provider",oid-arcs=.35] ===== SOMDS Medical Alert Provider -[#vol1_spec_sdpi_a_actor_somds_medical_alert_provider, reftext='SOMDS Medical Alert Provider'] +[#vol1_spec_sdpi_a_actor_somds_medical_alert_provider, reftext='SOMDS Medical Alert Provider',role="actor-alias",actor-id="somds_medical_alert_provider"] Actor Summary Definition: [none] . A <> grouped actor that sends medical alert information to a <>. @@ -234,14 +234,14 @@ Transactions enabled for this actor are identified in <> standards (<> and <>), as well as the <> standards <> and <> (Alert <>). Every <> is grouped with an <> to enable <>-based connectivity. -This actor inherits all the capabilities of the paired <>. -Note that optional capabilities for this specification, as specified in <>, may also result in additional requirements for the underlying <> and <>. +This actor inherits all the capabilities of the paired <>. +Note that optional capabilities for this specification, as specified in <>, may also result in additional requirements for the underlying <> and <>. Note that if a <> is being created, it may incorporate both <> and <> Actors, both receiving and publishing alerts. -[#vol1_clause_sdpi_a_somds_medical_alert_consumer] +[#vol1_clause_sdpi_a_somds_medical_alert_consumer,role="actor actor-alias",actor-id="somds_medical_alert_consumer",oid-arcs=.34] ===== SOMDS Medical Alert Consumer -[#vol1_spec_sdpi_a_actor_somds_medical_alert_consumer, reftext='SOMDS Medical Alert Consumer'] +[#vol1_spec_sdpi_a_actor_somds_medical_alert_consumer, reftext='SOMDS Medical Alert Consumer',role="actor-alias",actor-id="somds_medical_alert_consumer"] Actor Summary Definition: [none] . A <> grouped actor that receives medical alert information from a <>. @@ -257,9 +257,9 @@ Note that optional capabilities for this specification, as specified in <> is being created, it may incorporate both <> and <> Actors, both receiving and publishing alerts. -[#vol1_clause_sdpi_a_somds_acm_gateway] +[#vol1_clause_sdpi_a_somds_acm_gateway,role="actor actor-alias",actor-id="somds_acm_gateway",oid-arcs=.28] ===== SOMDS ACM Gateway -[#vol1_spec_sdpi_a_actor_somds_acm_gateway, reftext='SOMDS ACM Gateway'] +[#vol1_spec_sdpi_a_actor_somds_acm_gateway, reftext='SOMDS ACM Gateway',role="actor-alias",actor-id="somds_acm_gateway"] Actor Summary Definition: [none] . A <> grouped actor that supports the bi-directional exchange of medical alert information with non-SOMDS systems and applications using IHE Alert Communication Management (ACM) transactions. @@ -303,9 +303,15 @@ This option enables <> and This option enables both the <> [DEV-48] and <> [DEV-49] transactions. |=== -[#vol1_clause_sdpi_a_actor_option_alert_delegation] +[#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation] ==== Alert Delegation Option +// Deferred transactions. +sdpi_include_transaction::DEV-41[actor-id="somds_medical_alert_provider",responder="required",placeholder-name="Manage medical alert delegation"] +sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_provider",initiator="required",placeholder-name="Delegate medical alert"] + +sdpi_include_transaction::DEV-41[actor-id="somds_medical_alert_consumer",initiator="required",placeholder-name="Manage medical alert delegation"] +sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_consumer",responder="required",placeholder-name="Delegate medical alert"] [#vol1_clause_sdpi_a_actor_option_alert_delegation_reftext, reftext='SDPi-A Option: Alert Delegation'] [%noheader] [%autowidth] @@ -338,7 +344,7 @@ include::../plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml .... -[#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement,role=profile-option,profile-option-id=alert_user_acknowledgement,oid-arcs=".5"] +[#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement,role=profile-option,profile-option-id=alert_user_acknowledgement] ==== Alert User Acknowledgement Option [#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement_reftext, reftext='SDPi-A Option: Alert User Acknowledgement'] @@ -353,9 +359,12 @@ This option will enable the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> <> -sdpi_support_use_case::somds_medical_alert_consumer[support=optional] +sdpi_include_use_case::sicdsp[actor-id="somds_medical_alert_consumer", support=optional] [role="support-use-case", use-case-id="sicdmp", oid-arcs=.2] @@ -452,7 +461,7 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> <> -sdpi_support_use_case::somds_medical_alert_consumer[support=optional] +sdpi_include_use_case::sicdmp[actor-id="somds_medical_alert_consumer", support=optional] [role="support-use-case", use-case-id="acns", oid-arcs=.3] ===== <> (<>) @@ -465,7 +474,7 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> Alert <> -sdpi_support_use_case::somds_acm_gateway[support=optional] +sdpi_include_use_case::acns[actor-id="somds_acm_gateway", support=optional] [role="support-use-case", use-case-id="aars", oid-arcs=.3] ===== <> (<>) @@ -478,7 +487,7 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> Alert <> -sdpi_support_use_case::somds_acm_gateway[support=optional] +sdpi_include_use_case::aars[actor-id="somds_acm_gateway", support=optional] [#vol1_clause_sdpi_a_ses_considerations] === SDPi-A Safety, Effectiveness and Security - Requirements and Considerations From 5ef8df1761e2cbdce1ea5eef237ff61e3d5b7ec2 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 19 Feb 2026 20:57:25 +1300 Subject: [PATCH 19/36] Fixed merge issues. --- .../actor-tables/sdpi-a-transactions.adoc | 29 +++- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 155 ++---------------- 2 files changed, 37 insertions(+), 147 deletions(-) diff --git a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc index 15b6fbc4..3a1f6105 100644 --- a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc +++ b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc @@ -9,7 +9,7 @@ .^|Optionality .^|Reference -.6+| <> +.8+| <> .^| <> .^| Responder .^| R @@ -43,7 +43,17 @@ | [DEV-43] Deferred to a future version of SDPi // <> -.6+| <> +| <> +| Responder +| R ^(See^ ^Note^ ^3)^ +| <> + +| <> +| Responder and Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + +.8+| <> .^| <> .^| Initiator .^| R @@ -77,6 +87,16 @@ | [DEV-43] Deferred to a future version of SDPi // <> +| <> +| Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + +| <> +| Responder and Initiator +| R ^(See^ ^Note^ ^3)^ +| <> + .4+| <> ^(See^ ^Note^ ^2)^ .^| <> .^| Initiator @@ -103,10 +123,11 @@ Note 1: Transaction is required if <> is supported. Note 2: By default, the <> acts as a <>, initiating [DEV-04] transactions when they are received from <>s. -This default configuration requires the grouped <> Actor to have the <> option selected. +This default configuration requires the grouped <> Actor to have the <> enabled. If the gateway supports <>, then it also acts as a <> and accepts inbound [DEV-04] transactions from ACM Alert Reporters. In this case, the gateway will support both "Initiator & Responder" for these transactions. -In this case, both the <> Actor <> and <> options are selected. +In this case, the <> Actor has both the <> and <> options selected. +Note 3: Transaction is required if <> is supported. |=== \ No newline at end of file diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index f0256a6c..52a6dfed 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -63,139 +63,7 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] //// -[#vol1_table_sdpi_a_actors_transactions] -.SDPi-A Profile - Actors and Transactions -[%autowidth] -[cols="1,2,1,1,3"] -|=== -.^|Actors -.^|Transactions -.^|Initiator or Responder -.^|Optionality -.^|Reference - -.8+| <> -.^| <> -.^| Responder -.^| R -| <> - -| <> -| Initiator -| R -| <> - -| <> -| Responder -| R -| <> - -| <> (_deferred_) -| Responder -| R ^(See^ ^Note^ ^1)^ -| [DEV-41] Deferred to a future version of SDPi -// <> - -| <> (_deferred_) -| Initiator -| R ^(See^ ^Note^ ^1)^ -| [DEV-42] Deferred to a future version of SDPi -// <> - -| <> (_deferred_) -| Responder -| R -| [DEV-43] Deferred to a future version of SDPi -// <> - -| <> -| Responder -| R ^(See^ ^Note^ ^3)^ -| <> - -| <> -| Responder and Initiator -| R ^(See^ ^Note^ ^3)^ -| <> - -.8+| <> -.^| <> -.^| Initiator -.^| R -| <> - -| <> -| Responder -| R -| <> - -| <> -| Initiator -| O -| <> - -| <> (_deferred_) -| Initiator -| R ^(See^ ^Note^ ^1)^ -| [DEV-41] Deferred to a future version of SDPi -// <> - -| <> (_deferred_) -| Responder -| R ^(See^ ^Note^ ^1)^ -| [DEV-42] Deferred to a future version of SDPi -// <> - -| <> (_deferred_) -| Initiator -| R -| [DEV-43] Deferred to a future version of SDPi -// <> - -| <> -| Initiator -| R ^(See^ ^Note^ ^3)^ -| <> - -| <> -| Responder and Initiator -| R ^(See^ ^Note^ ^3)^ -| <> - -.4+| <> ^(See^ ^Note^ ^2)^ -.^| <> -.^| Initiator -.^| R -| <> - -| <> -| Responder -| R -| <> - -| <> -| Initiator -| O -| <> - -| <> (_deferred_) -| Initiator -| O -| [DEV-43] Deferred to a future version of SDPi -// <> - -5+<| -Note 1: Transaction is required if <> is supported. - -Note 2: By default, the <> acts as a <>, initiating [DEV-04] transactions when they are received from <>s. -This default configuration requires the grouped <> Actor to have the <> (Direction="export") option enabled. - -If the gateway supports <>, then it also acts as a <> and accepts inbound [DEV-04] transactions from ACM Alert Reporters. -In this case, the gateway will support both "Initiator & Responder" for these transactions. -In this case, the <> Actor has both the <> and <> options selected. - -Note 3: Transaction is required if <> is supported. -|=== +include::actor-tables/sdpi-a-transactions.adoc[] [#vol1_clause_sdpi_a_actor_descriptions_actor_profile_requirements] ==== Actor Descriptions and Actor Profile Requirements @@ -296,14 +164,12 @@ If a <> is being created, it may incorporate both << [cols="1"] |=== a| *{supplement_note}*: This section is intentionally left incomplete until the completion of the <> standard, which is required before this profile can be completed. -[#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation,oid-arcs=".4"] -==== Alert Delegation Option This option enables <> and <> systems to safely and reliably run a Distributed Alarm System with each other. This option enables both the <> [DEV-48] and <> [DEV-49] transactions. |=== -[#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation] +[#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation,oid-arcs=".4"] ==== Alert Delegation Option // Deferred transactions. @@ -312,6 +178,7 @@ sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_provider",initiat sdpi_include_transaction::DEV-41[actor-id="somds_medical_alert_consumer",initiator="required",placeholder-name="Manage medical alert delegation"] sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_consumer",responder="required",placeholder-name="Delegate medical alert"] + [#vol1_clause_sdpi_a_actor_option_alert_delegation_reftext, reftext='SDPi-A Option: Alert Delegation'] [%noheader] [%autowidth] @@ -344,7 +211,8 @@ include::../plantuml/vol1-figure-sdpi-a-delegation-example-sequence-diagram.puml .... -[#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement,role=profile-option,profile-option-id=alert_user_acknowledgement] + +[#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement,role=profile-option,profile-option-id=alert_user_acknowledgement,oid-arcs=.5] ==== Alert User Acknowledgement Option [#vol1_clause_sdpi_a_actor_option_alert_user_acknowledgement_reftext, reftext='SDPi-A Option: Alert User Acknowledgement'] @@ -359,12 +227,13 @@ This option will enable the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> <> -sdpi_include_use_case::sicdsp[actor-id="somds_medical_alert_consumer", support=optional] +sdpi_support_use_case::somds_medical_alert_consumer[support=optional] [role="support-use-case", use-case-id="sicdmp", oid-arcs=.2] @@ -461,7 +330,7 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> <> -sdpi_include_use_case::sicdmp[actor-id="somds_medical_alert_consumer", support=optional] +sdpi_support_use_case::somds_medical_alert_consumer[support=optional] [role="support-use-case", use-case-id="acns", oid-arcs=.3] ===== <> (<>) @@ -474,9 +343,9 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> Alert <> -sdpi_include_use_case::acns[actor-id="somds_acm_gateway", support=optional] +sdpi_support_use_case::somds_acm_gateway[support=optional] -[role="support-use-case", use-case-id="aars", oid-arcs=.3] +[role="support-use-case", use-case-id="aars", oid-arcs=.4] ===== <> (<>) This use case provides capabilities for requirements from <>. @@ -487,7 +356,7 @@ Specific capabilities supporting the <> use case include: * *Technical Pre-Conditions*: N/A * *Scenarios*: <> <> communication of medical alert information to a <> Alert <> -sdpi_include_use_case::aars[actor-id="somds_acm_gateway", support=optional] +sdpi_support_use_case::somds_acm_gateway[support=optional] [#vol1_clause_sdpi_a_ses_considerations] === SDPi-A Safety, Effectiveness and Security - Requirements and Considerations From 393ce3e71ff5aab9582c42e86e3880c087266d2f Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 19 Feb 2026 21:14:49 +1300 Subject: [PATCH 20/36] Added markup for transactions 48 & 49. --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 21 ++++++++++----------- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 19 ++++++++++--------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 532e26c3..ea36ec2f 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -7,6 +7,7 @@ //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] +[role=transaction,transaction-id=DEV-48] === Establish Distributed Alarm System [{var_transaction_id}] ==== Scope @@ -15,18 +16,16 @@ include::tf2-dev-48-summary.adoc[] ==== Actor Roles -.Actor Roles [{var_transaction_id}] -[cols="1,2"] -|=== -|Actor |Roles +[sdpi_transaction_actors] +-- +[actor-id="somds_medical_alert_consumer",contribution=Initiator] +Requests a <> to establish a Distributed Alarm System. +Also maintains an established Distributed Alarm System. -|<> -|Requests a <> to establish a Distributed Alarm System. Also maintains an established Distributed Alarm System. - -|<> -|Listens for requests from a <> to establish a Distributed Alarm System and grants such requests. Also maintains an established Distributed Alarm System. - -|=== +[actor-id="somds_medical_alert_provider",contribution=Responder] +Listens for requests from a <> to establish a +Distributed Alarm System and grants such requests. Also maintains an established Distributed Alarm System. +-- ==== Referenced Standards diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index 92055235..c428a251 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -3,6 +3,7 @@ //reset|+1|off [#vol2_clause_dev_49,sdpi_offset=49] +[role=transaction,transaction-id=DEV-49] === End Distributed Alarm System [{var_transaction_id}] ==== Scope @@ -11,18 +12,18 @@ include::tf2-dev-49-summary.adoc[] ==== Actor Roles -.Actor Roles [{var_transaction_id}] -[cols="1,2"] -|=== -|Actor |Roles +[sdpi_transaction_actors] +-- -|<> -|Requests a <> to end a Distributed Alarm System. +[actor-id="somds_medical_alert_consumer",contribution=Initiator] +Requests a <> to end a Distributed Alarm System. -|<> -|Listens for requests from a <> to end a Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System on its own initiative and notifies the <>. +[actor-id="somds_medical_alert_provider",contribution=Responder] +Listens for requests from a <> to end a +Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System +on its own initiative and notifies the <>. -|=== +-- ==== Referenced Standards From 71547bc9b02b1b4c3fc536af57db9515a4e175d0 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Thu, 19 Feb 2026 11:51:38 +0100 Subject: [PATCH 21/36] attempt to add simple content and markup for DAS option --- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 52a6dfed..c47c1e2c 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -155,19 +155,19 @@ If a <> is being created, it may incorporate both << [#vol1_clause_sdpi_a_actor_options] === SDPi-A Actor Options -[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system] -==== Distributed Alarm System Option -[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system_reftext, reftext='SDPi-A Option: Distributed Alarm System'] -[%noheader] -[%autowidth] -[cols="1"] -|=== -a| *{supplement_note}*: This section is intentionally left incomplete until the completion of the <> standard, which is required before this profile can be completed. +[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system,role=profile-option,profile-option-id=distributed_alarm_system,oid-arcs=".7"] +==== Distributed Alarm System Option This option enables <> and <> systems to safely and reliably run a Distributed Alarm System with each other. This option enables both the <> [DEV-48] and <> [DEV-49] transactions. -|=== + +// Transaction obligations for distributed alarm system option. +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_provider,responder=required] +sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_provider,responder=required,initiator=required] + +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_consumer,initiator=required] +sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_consumer,responder=required,initiator=required] [#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation,oid-arcs=".4"] ==== Alert Delegation Option From d646a66ddf2e599bd2ac0305c0ddcac84b5634b4 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Thu, 19 Feb 2026 13:19:54 +0100 Subject: [PATCH 22/36] 2nd attempt to add simple content and markup for DAS option --- asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc | 2 +- asciidoc/volume2/dev-39/tf2-dev-39.adoc | 2 +- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 2 +- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc index 3a1f6105..380b74c3 100644 --- a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc +++ b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc @@ -129,5 +129,5 @@ If the gateway supports <> Actor has both the <> and <> options selected. -Note 3: Transaction is required if <> is supported. +Note 3: Transaction is required if <> is supported. |=== \ No newline at end of file diff --git a/asciidoc/volume2/dev-39/tf2-dev-39.adoc b/asciidoc/volume2/dev-39/tf2-dev-39.adoc index 038f9fc8..3677957f 100644 --- a/asciidoc/volume2/dev-39/tf2-dev-39.adoc +++ b/asciidoc/volume2/dev-39/tf2-dev-39.adoc @@ -35,6 +35,6 @@ While a subscription is running, the <> and a <>, a {var_label_dev_48_operation_monitored_by_das_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. -[#vol2_clause_dev_239_publish_medical_alert_update_ses] +[#vol2_clause_dev_48_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index c428a251..e4802696 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -37,6 +37,6 @@ on its own initiative and notifies the < Date: Thu, 19 Feb 2026 15:27:51 +0100 Subject: [PATCH 23/36] removed A-PKP deprecated operation SetFriendlyConsumerName + other updates --- .../plantuml/vol2-figure-dev-48-sequence.puml | 14 ++- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 4 +- asciidoc/volume1/tf1-ch-2-overview.adoc | 4 +- .../volume2/dev-48/tf2-dev-48-summary.adoc | 2 +- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 86 +++++-------------- 5 files changed, 32 insertions(+), 78 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index dbef5860..b422912e 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -1,6 +1,6 @@ @startuml -!include plantuml/common_style.inc.puml +'!include plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" @@ -10,12 +10,8 @@ participant "$str_somds_medical_alert_consumer" as consumer participant "$str_somds_medical_alert_provider" as provider ==Establish Distributed Alarm System [DEV-48]== -opt - consumer -> provider: SetFriendlyConsumerName (Friendly Consumer Name) - consumer <<-- provider: SetFriendlyConsumerNameResponse -end -consumer -> provider: MonitoredByDAS -consumer <<-- provider: MonitoredByDASResponse (MDIB version) +consumer -> provider: ActivateMonitoredByDAS (Friendly Consumer Name) +consumer <<-- provider: ActivateMonitoredByDASResponse (MDIB version) par loop upon alert condition change and before MaxTechnicalConfirmationDelay expires @@ -24,8 +20,8 @@ par end else loop before InvocationEffectiveTimeout expires - consumer -> provider: MonitoredByDAS - consumer <<-- provider: MonitoredByDASResponse (MDIB version) + consumer -> provider: ActivateMonitoredByDAS + consumer <<-- provider: ActivateMonitoredByDASResponse (MDIB version) end else loop at least once every SelfCheckPeriod diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index c47c1e2c..5e30140b 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -12,7 +12,7 @@ Additionally, since the primary purpose of this specification is the communicati When this new standard is published, its requirements will be integrated into this supplement, with its <> added to <>. Many of those requirements will be mapped to the actors, transactions and other specifications in this specification. -Two of the transactions identified below, [DEV-41] and [DEV-42] are related to Medical Alert Delegation; however, at this stage there is considerable standards development activity to update the current <> standards, particularly in association with completing the Alert <> standard <>. +Two of the transactions identified below, [DEV-41] and [DEV-42] are related to Medical Alert Delegation; however, at this stage there is considerable standards development activity to update the current <> standards, particularly in association with completing the Alert <> standard <> and the External Control <> standard <>. As a result, the completion of these two transactions has been deferred to a subsequent version of the supplement. Similarly, a related transaction, [DEV-43], namely providing clinician alert acknowledgement status information back to the alerting device, is also being discussed further and will be deferred to a subsequent version of the supplement. @@ -185,7 +185,7 @@ sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_consumer",respond [cols="1"] |=== a| *{supplement_note}*: This section is intentionally left incomplete to indicate capabilities that will be added in a future version of the SDPi Supplement. -As stated elsewhere, the completion of the <> standard is required before this profile can be completed (beyond alert reporting for DIS capabilities and DAS capabilities without delegation), and that is especially the case for alert delegation. +As stated elsewhere, the completion of the <> and <> standards is required before this profile can be fully completed (beyond alert reporting for DIS capabilities and DAS capabilities without delegation), and that is especially the case for alert delegation. *_The sequence diagram below for delegation is provided for informative purposes only and will be finalized when the IEEE standard and this profile option are completed._* diff --git a/asciidoc/volume1/tf1-ch-2-overview.adoc b/asciidoc/volume1/tf1-ch-2-overview.adoc index 040f588d..7bdee5e1 100644 --- a/asciidoc/volume1/tf1-ch-2-overview.adoc +++ b/asciidoc/volume1/tf1-ch-2-overview.adoc @@ -148,7 +148,7 @@ Profile options are provided for additional capabilities that may be required to [sdpi_offset=12] ==== Service-oriented Device Point-of-care Interoperability - Alerting (SDPi-A) Profile The SDPi Alerting Profile builds on the basic <> capabilities of the <> profile, but adds the requirements to fully support *_medical alerting_*. -To that end, this specification implements the safety and security requirements of the <> alert <> standard (expected to be completed in 2025). +To that end, this specification implements the safety and security requirements of the <> alert <> standard (expected to be completed in 2026). The profile supports core medical alerting functionality needed by all participating systems. Profile options are provided for additional capabilities that may be required to support extended scenarios (e.g., alert delegation). @@ -170,7 +170,7 @@ It is *_not part of the capabilities specified for SDPi {ihe_supplement_sdpi_rev The SDPi External Control Profile builds on the basic <> capabilities of the <> Profile, but adds support for *_medical device external control capabilities_*. For example, the ability to have a system initiate a blood pressure reading, or set a breath rate, or titrate an infusion pump's delivery rate. -Given the significant risks associated with allowing device-external control functions in a network of <> systems, this specification implements the safety and security requirements of the <> external control <> standard (in development, anticipated in 2025 or later). +Given the significant risks associated with allowing device-external control functions in a network of <> systems, this specification implements the safety and security requirements of the <> external control <> standard (in development, anticipated in 2027). [sdpi_offset=5] diff --git a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc index a64167db..49e65956 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc @@ -1,3 +1,3 @@ // DEV-48 Transaction Summary -Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file +Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index a3862b91..648f7eff 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -2,8 +2,8 @@ :var_label_dev_48_operation_set_friendly_consumer_name: SetFriendlyConsumerName :var_label_dev_48_operation_set_friendly_consumer_name_response: SetFriendlyConsumerNameResponse -:var_label_dev_48_operation_monitored_by_das: MonitoredByDAS -:var_label_dev_48_operation_monitored_by_das_response: MonitoredByDASResponse +:var_label_dev_48_operation_act_monitored_by_das: ActivateMonitoredByDAS +:var_label_dev_48_operation_act_monitored_by_das_response: ActivateMonitoredByDASResponse //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] @@ -39,96 +39,54 @@ Distributed Alarm System and grants such requests. Also maintains an established include::../../plantuml/vol2-figure-dev-48-sequence.puml[] .... -[#vol2_clause_dev_48_operation_set_friendly_consumer_name] -===== {var_label_dev_48_operation_set_friendly_consumer_name} Operation +[#vol2_clause_dev_48_operation_act_monitored_by_das] +===== {var_label_dev_48_operation_act_monitored_by_das} Operation -A <> invokes the {var_label_dev_48_operation_set_friendly_consumer_name} operation on a <> as specified in <>. +A <> invokes the {var_label_dev_48_operation_act_monitored_by_das} operation on a <> to either establish a Distributed Alarm System or to keep an established Distributed Alarm System active , as specified in <>. -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_trigger_events] +[#vol2_clause_dev_48_operation_act_monitored_by_das_trigger_events] ====== Trigger Events -The {var_label_dev_48_operation_set_friendly_consumer_name} operation is invoked by a <> as the first step in establishing a Distributed Alarm System with the <>. +When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_act_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_semantics] -====== Message Semantics - -[[payload_dev_48_set_friendly_consumer_name_name]]Friendly Consumer Name:: The Distributed Alarm System consumer name by which a <> wishes to be referred to by the <>. - -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_expected_actions] -====== Expected Actions - -When a <> invokes this operation, the receiving <> responds with a <> message. - -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response] -===== {var_label_dev_48_operation_set_friendly_consumer_name_response} Operation Invoked Report Message - -A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_set_friendly_consumer_name} -operation. - -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_trigger_events] -====== Trigger Events - -The <> sends a {var_label_dev_48_operation_set_friendly_consumer_name_response} message back to the <> that invoked the {var_label_dev_48_operation_set_friendly_consumer_name} -operation. - -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_semantics] -====== Message Semantics - -The {var_label_dev_48_operation_set_friendly_consumer_name_response} message does not contain any further semantics. - -[#vol2_clause_dev_48_operation_set_friendly_consumer_name_response_expected_actions] -====== Expected Actions - -When a <> sends this message, there is no expected or required response. If the operation was successful, the <> uses the Friendly Consumer Name as the <>'s identifier for the clinical user. - -[#vol2_clause_dev_48_operation_monitored_by_das] -===== {var_label_dev_48_operation_monitored_by_das} Operation - -A <> invokes the {var_label_dev_48_operation_monitored_by_das} operation on a <> to either establish a Distributed Alarm System or to keep an established Distributed Alarm System active , as specified in <>. - -[#vol2_clause_dev_48_operation_monitored_by_das_trigger_events] -====== Trigger Events - -When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. - -When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_monitored_by_das} operation is periodically invoked by a <> with a period shorter than _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System is kept active. +When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_monitored_by_das} operation is periodically invoked by a <> with a period shorter than _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System is kept active. -[#vol2_clause_dev_48_operation_monitored_by_das_semantics] +[#vol2_clause_dev_48_operation_act_monitored_by_das_semantics] ====== Message Semantics -The {var_label_dev_48_operation_monitored_by_das} operation invocation message does not contain any further semantics. +[[payload_dev_48_act_monitored_by_das]]Friendly Consumer Name:: The Distributed Alarm System consumer name by which a <> wishes to be referred to by the <>. -[#vol2_clause_dev_48_operation_monitored_by_das_expected_actions] +[#vol2_clause_dev_48_operation_act_monitored_by_das_expected_actions] ====== Expected Actions -When a <> invokes this operation, the receiving <> responds with a <> message. +When a <> invokes this operation, the receiving <> responds with a <> message. -[#vol2_clause_dev_48_operation_monitored_by_das_response] -===== {var_label_dev_48_operation_monitored_by_das_response} Operation Invoked Report Message +[#vol2_clause_dev_48_operation_act_monitored_by_das_response] +===== {var_label_dev_48_operation_act_monitored_by_das_response} Operation Invoked Report Message -A <> responds with a {var_label_dev_48_operation_monitored_by_das_response} message to a <>'s invocation of the {var_label_dev_48_operation_monitored_by_das} +A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_act_monitored_by_das} operation. -[#vol2_clause_dev_48_operation_monitored_by_das_response_trigger_events] +[#vol2_clause_dev_48_operation_act_monitored_by_das_response_trigger_events] ====== Trigger Events -The <> sends a {var_label_dev_48_operation_monitored_by_das_response} message back to the <> that invoked the {var_label_dev_48_operation_monitored_by_das} +The <> sends a {var_label_dev_48_operation_act_monitored_by_das_response} message back to the <> that invoked the {var_label_dev_48_operation_act_monitored_by_das} operation. -[#vol2_clause_dev_48_operation_monitored_by_das_response_semantics] +[#vol2_clause_dev_48_operation_act_monitored_by_das_response_semantics] ====== Message Semantics -[[payload_dev_48_monitored_by_das_name]]MDIB version:: The version of the <>'s MDIB from which the <> takes over the Distributed Alarm System responsibility and therefore starts confirming changes in the <>'s alert conditions. +[[payload_dev_48_act_monitored_by_das_name]]MDIB version:: The version of the <>'s MDIB from which the <> takes over the Distributed Alarm System responsibility and therefore starts confirming changes in the <>'s alert conditions. -[#vol2_clause_dev_48_operation_monitored_by_das_response_expected_actions] +[#vol2_clause_dev_48_operation_act_monitored_by_das_response_expected_actions] ====== Expected Actions When a <> sends this message, there is no expected or required response. -When there is no active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_monitored_by_das_response} message with InvocationState = 'Fin' marks the establishment of the Distributed Alarm System for both the <> and the <>. +When there is no active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_act_monitored_by_das_response} message with InvocationState = 'Fin' marks the establishment of the Distributed Alarm System for both the <> and the <>. -When there is an active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_monitored_by_das_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. +When there is an active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_act_monitored_by_das_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. [#vol2_clause_dev_48_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 06f3365ef1a2832d57f0bd7701aebf8fd1ad5531 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Thu, 19 Feb 2026 15:36:08 +0100 Subject: [PATCH 24/36] fix build error + re-enable PUML file include --- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 2 +- asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index b422912e..d0dabf53 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -1,6 +1,6 @@ @startuml -'!include plantuml/common_style.inc.puml +!include plantuml/common_style.inc.puml autonumber !global $str_somds_medical_alert_consumer = "SOMDS Medical Alert Consumer" diff --git a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc index 49e65956..80c3fd9f 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48-summary.adoc @@ -1,3 +1,3 @@ // DEV-48 Transaction Summary -Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file +Establish a Distributed Alarm System between a <> and a <>. \ No newline at end of file From deadd73cd903c3f835f00828d8d4f174dea938a7 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Thu, 19 Feb 2026 18:47:00 +0100 Subject: [PATCH 25/36] first description of operation ConfirmAlertsTechnicalDelivery --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 42 +++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 648f7eff..433417cf 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -42,14 +42,14 @@ include::../../plantuml/vol2-figure-dev-48-sequence.puml[] [#vol2_clause_dev_48_operation_act_monitored_by_das] ===== {var_label_dev_48_operation_act_monitored_by_das} Operation -A <> invokes the {var_label_dev_48_operation_act_monitored_by_das} operation on a <> to either establish a Distributed Alarm System or to keep an established Distributed Alarm System active , as specified in <>. +A <> invokes the {var_label_dev_48_operation_act_monitored_by_das} operation on a <> to either establish a Distributed Alarm System or to keep an established Distributed Alarm System active, as specified in <>. [#vol2_clause_dev_48_operation_act_monitored_by_das_trigger_events] ====== Trigger Events When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_act_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. -When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_monitored_by_das} operation is periodically invoked by a <> with a period shorter than _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System is kept active. +When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_monitored_by_das} operation is periodically invoked by a <> with an interval shorter than the <>'s-defined _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System be kept active. [#vol2_clause_dev_48_operation_act_monitored_by_das_semantics] ====== Message Semantics @@ -65,7 +65,7 @@ When a <> invokes this oper ===== {var_label_dev_48_operation_act_monitored_by_das_response} Operation Invoked Report Message A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_act_monitored_by_das} -operation. +operation, as specified in <>. [#vol2_clause_dev_48_operation_act_monitored_by_das_response_trigger_events] ====== Trigger Events @@ -88,6 +88,42 @@ When there is no active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_act_monitored_by_das_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery] +===== {var_label_dev_48_operation_confirm_alerts_technical_delivery} Operation + +A <> invokes the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation on a <> to keep an established Distributed Alarm System active, as specified in <>. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_trigger_events] +====== Trigger Events + +The {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation is invoked by a <> to request to the <> that the Distributed Alarm System be kept active. The invocation must occur upon specific changes of the <>'s alert conditions - further specified in <> - and within an interval shorter than the <>'s-defined _MaxTechnicalConfirmationDelay_. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_semantics] +====== Message Semantics + +[[payload_dev_48_confirm_alerts_technical_delivery]]Alert Occurrence ID Tuple(s):: The set(s) of attributes describing the state of each of the alert conditions that the <> is confirming for technical delivery. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_expected_actions] +====== Expected Actions + +When a <> invokes this operation, the receiving <> responds with a <> message. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response] +===== {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} Operation Invoked Report Message + +A <> responds with a <> message to a <>'s invocation of the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_trigger_events] +====== Trigger Events +The <> sends a {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message back to the <> that invoked the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_semantics] +====== Message Semantics + +[[payload_dev_48_confirm_alerts_technical_delivery_response]]MDIB version:: *TODO: Ask the A-PKP group what the meaning and intent of the MDIB version is here!.* + +[#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_expected_actions] + [#vol2_clause_dev_48_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 3ad0a67384e04a973c9883928b7a3aafffc7b53e Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 20 Feb 2026 10:58:36 +0100 Subject: [PATCH 26/36] fixed roles in DEv-49 + reftext label for DAS option --- asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc | 2 +- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 1 + asciidoc/volume2/dev-49/tf2-dev-49.adoc | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc index 380b74c3..3a1f6105 100644 --- a/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc +++ b/asciidoc/volume1/actor-tables/sdpi-a-transactions.adoc @@ -129,5 +129,5 @@ If the gateway supports <> Actor has both the <> and <> options selected. -Note 3: Transaction is required if <> is supported. +Note 3: Transaction is required if <> is supported. |=== \ No newline at end of file diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 5e30140b..04de9364 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -159,6 +159,7 @@ If a <> is being created, it may incorporate both << [#vol1_clause_sdpi_a_actor_option_distributed_alarm_system,role=profile-option,profile-option-id=distributed_alarm_system,oid-arcs=".7"] ==== Distributed Alarm System Option +[#vol1_clause_sdpi_a_actor_option_distributed_alarm_system_reftext, reftext='SDPi-A Option: Distributed Alarm System'] This option enables <> and <> systems to safely and reliably run a Distributed Alarm System with each other. This option enables both the <> [DEV-48] and <> [DEV-49] transactions. diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index e4802696..bc9ccdea 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -15,12 +15,12 @@ include::tf2-dev-49-summary.adoc[] [sdpi_transaction_actors] -- -[actor-id="somds_medical_alert_consumer",contribution=Initiator] -Requests a <> to end a Distributed Alarm System. +[actor-id="somds_medical_alert_consumer",contribution=Initiator,contribution=Responder] +Requests a <> to end the Distributed Alarm System. Alternatively, listens for notifications from a <> that the Distributed Alarm System has been ended on the <>'s initiative. -[actor-id="somds_medical_alert_provider",contribution=Responder] -Listens for requests from a <> to end a -Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System +[actor-id="somds_medical_alert_provider",contribution=Responder,contribution=Initiator] +Listens for requests from a <> to end the +Distributed Alarm System and grants such requests. Alternatively, ends the Distributed Alarm System on its own initiative and notifies the <>. -- From 8a65e22860907805c578998712e7175a0c5ec175 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 20 Feb 2026 11:17:58 +0100 Subject: [PATCH 27/36] label fixes in 2:3.48 --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 433417cf..eb6c078d 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -4,6 +4,8 @@ :var_label_dev_48_operation_set_friendly_consumer_name_response: SetFriendlyConsumerNameResponse :var_label_dev_48_operation_act_monitored_by_das: ActivateMonitoredByDAS :var_label_dev_48_operation_act_monitored_by_das_response: ActivateMonitoredByDASResponse +:var_label_dev_48_operation_confirm_alerts_technical_delivery: ConfirmAlertsTechnicalDelivery +:var_label_dev_48_operation_confirm_alerts_technical_delivery_response: ConfirmAlertsTechnicalDeliveryResponse //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] @@ -47,7 +49,7 @@ A <> invokes the {var_label [#vol2_clause_dev_48_operation_act_monitored_by_das_trigger_events] ====== Trigger Events -When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_act_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. +When there is no active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_monitored_by_das} operation is invoked by a <> to request the establishment of a Distributed Alarm System with the <>. When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_48_operation_act_monitored_by_das} operation is periodically invoked by a <> with an interval shorter than the <>'s-defined _InvocationEffectiveTimeout_ to request to the <> that the Distributed Alarm System be kept active. @@ -64,7 +66,7 @@ When a <> invokes this oper [#vol2_clause_dev_48_operation_act_monitored_by_das_response] ===== {var_label_dev_48_operation_act_monitored_by_das_response} Operation Invoked Report Message -A <> responds with a <> to a <>'s invocation of the {var_label_dev_48_operation_act_monitored_by_das} +A <> responds with a {var_label_dev_48_operation_act_monitored_by_das_response} message to a <>'s invocation of the {var_label_dev_48_operation_act_monitored_by_das} operation, as specified in <>. [#vol2_clause_dev_48_operation_act_monitored_by_das_response_trigger_events] @@ -111,7 +113,7 @@ When a <> invokes this oper [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response] ===== {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} Operation Invoked Report Message -A <> responds with a <> message to a <>'s invocation of the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. +A <> responds with a <{var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message to a <>'s invocation of the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_trigger_events] ====== Trigger Events From ef1e380b24f020ec16bf51ad118ff82ff70a984d Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 20 Feb 2026 14:35:54 +0100 Subject: [PATCH 28/36] completed DEV-48 message descriptions --- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 36 ++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index eb6c078d..df60261e 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -1,11 +1,10 @@ :var_transaction_id: DEV-48 -:var_label_dev_48_operation_set_friendly_consumer_name: SetFriendlyConsumerName -:var_label_dev_48_operation_set_friendly_consumer_name_response: SetFriendlyConsumerNameResponse :var_label_dev_48_operation_act_monitored_by_das: ActivateMonitoredByDAS :var_label_dev_48_operation_act_monitored_by_das_response: ActivateMonitoredByDASResponse :var_label_dev_48_operation_confirm_alerts_technical_delivery: ConfirmAlertsTechnicalDelivery :var_label_dev_48_operation_confirm_alerts_technical_delivery_response: ConfirmAlertsTechnicalDeliveryResponse +:var_label_dev_48_notification: Notification //reset|+1|off [#vol2_clause_dev_48,sdpi_offset=48] @@ -113,11 +112,13 @@ When a <> invokes this oper [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response] ===== {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} Operation Invoked Report Message -A <> responds with a <{var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message to a <>'s invocation of the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. +The <> sends a {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message to respond to the <> that invoked the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. + [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_trigger_events] ====== Trigger Events -The <> sends a {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message back to the <> that invoked the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. + +A <> responds with a {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message upon a <>'s invocation of the {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation. [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_semantics] ====== Message Semantics @@ -125,6 +126,33 @@ The <> sends a {var_label_d [[payload_dev_48_confirm_alerts_technical_delivery_response]]MDIB version:: *TODO: Ask the A-PKP group what the meaning and intent of the MDIB version is here!.* [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected or required response. + +When there is an active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message with InvocationState = 'Fin' successfully closes a maintenance loop to keep the Distributed Alarm System active. + +[#vol2_clause_dev_48_notification] +===== {var_label_dev_48_notification} Message + +A <> uses the {var_label_dev_48_notification} message to keep an established Distributed Alarm System active, as specified in <>. + +[#vol2_clause_dev_48_notification_trigger_events] +====== Trigger Events + +The {var_label_dev_48_notification} message is sent by a <> to a <> so that the Distributed Alarm System be kept active. The sending must occur within an interval shorter than the <>'s-defined _SelfCheckPeriod_. + +[#vol2_clause_dev_48_notification_semantics] +====== Message Semantics + +[[payload_dev_48_notification]]EpisodicAlertReport:: A change report that contains the <>'s updated 'SelfCheck' information as specified in <>. The <> that receives this message uses the contained information to determine <>'s capability (and willingness) to keep the Distributed Alarm System active. + +[#vol2_clause_dev_48_notification_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected or required response. + +When there is an active Distributed Alarm System between a <> and a <>, a {var_label_dev_48_notification} message successfully closes a maintenance loop to keep the Distributed Alarm System active. [#vol2_clause_dev_48_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 3d901bbda0699fbb4ba47a59c2ed898132a9ef33 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 20 Feb 2026 18:02:54 +0100 Subject: [PATCH 29/36] DEV-48 updates to clarify message semantics and some A-PKP mechanisms --- asciidoc/plantuml/vol2-figure-dev-48-sequence.puml | 8 ++++---- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 8 ++++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml index d0dabf53..fc2cbd06 100644 --- a/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-48-sequence.puml @@ -10,18 +10,18 @@ participant "$str_somds_medical_alert_consumer" as consumer participant "$str_somds_medical_alert_provider" as provider ==Establish Distributed Alarm System [DEV-48]== -consumer -> provider: ActivateMonitoredByDAS (Friendly Consumer Name) +consumer -> provider: ActivateMonitoredByDAS (Friendly Consumer Name) consumer <<-- provider: ActivateMonitoredByDASResponse (MDIB version) par loop upon alert condition change and before MaxTechnicalConfirmationDelay expires consumer -> provider: ConfirmAlertsTechnicalDelivery (Alert Occurrence ID Tuple(s)) - consumer <<-- provider: ConfirmAlertsTechnicalDeliveryResponse (MDIB version) + consumer <<-- provider: ConfirmAlertsTechnicalDeliveryResponse end else loop before InvocationEffectiveTimeout expires - consumer -> provider: ActivateMonitoredByDAS - consumer <<-- provider: ActivateMonitoredByDASResponse (MDIB version) + consumer -> provider: ActivateMonitoredByDAS (Friendly Consumer Name) + consumer <<-- provider: ActivateMonitoredByDASResponse end else loop at least once every SelfCheckPeriod diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index df60261e..86f5d65e 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -79,6 +79,8 @@ operation. [[payload_dev_48_act_monitored_by_das_name]]MDIB version:: The version of the <>'s MDIB from which the <> takes over the Distributed Alarm System responsibility and therefore starts confirming changes in the <>'s alert conditions. +NOTE: The described meaning of the MDIB version only applies to an {var_label_dev_48_operation_act_monitored_by_das_response} message sent in response to an (initial) invocation of the {var_label_dev_48_operation_act_monitored_by_das} operation for establishing the Distributed Alarm System. For {var_label_dev_48_operation_act_monitored_by_das_response} messages sent in response to periodic {var_label_dev_48_operation_act_monitored_by_das} operation invocation for Distributed Alarm System maintenance, the MDIB version does not have the described meaning. + [#vol2_clause_dev_48_operation_act_monitored_by_das_response_expected_actions] ====== Expected Actions @@ -97,7 +99,9 @@ A <> invokes the {var_label [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_trigger_events] ====== Trigger Events -The {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation is invoked by a <> to request to the <> that the Distributed Alarm System be kept active. The invocation must occur upon specific changes of the <>'s alert conditions - further specified in <> - and within an interval shorter than the <>'s-defined _MaxTechnicalConfirmationDelay_. +The {var_label_dev_48_operation_confirm_alerts_technical_delivery} operation is invoked by a <> to request to the <> that the Distributed Alarm System be kept active. + +NOTE: The invocation must occur once right after the establishment of the Distributed Alarm System. In addition, the invocation must occur upon specific changes of the <>'s alert conditions - further specified in <> - within an interval shorter than the <>'s-defined _MaxTechnicalConfirmationDelay_. [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_semantics] ====== Message Semantics @@ -123,7 +127,7 @@ A <> responds with a {var_l [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_semantics] ====== Message Semantics -[[payload_dev_48_confirm_alerts_technical_delivery_response]]MDIB version:: *TODO: Ask the A-PKP group what the meaning and intent of the MDIB version is here!.* +The {var_label_dev_48_operation_confirm_alerts_technical_delivery_response} message does not contain any further semantics. [#vol2_clause_dev_48_operation_confirm_alerts_technical_delivery_response_expected_actions] ====== Expected Actions From 267927b8aad93ea9fea4902484fc075bfeadf38c Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 27 Feb 2026 12:18:31 +0100 Subject: [PATCH 30/36] First half of DEV-49 description --- asciidoc/sdpi-supplement.adoc | 6 +-- .../volume2/dev-49/tf2-dev-49-summary.adoc | 2 +- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 37 +++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/asciidoc/sdpi-supplement.adoc b/asciidoc/sdpi-supplement.adoc index 175d739e..0c439721 100644 --- a/asciidoc/sdpi-supplement.adoc +++ b/asciidoc/sdpi-supplement.adoc @@ -24,8 +24,8 @@ // https://docs.asciidoctor.org/asciidoc/latest/attributes/unset-attributes/ :markup-actor-transactions-table: -:sdpi_milestone_publication: SDPi 2.3 Publication -:sdpi_milestone_review: SDPi 2.3 Review +:sdpi_milestone_publication: SDPi 2.4 Publication +:sdpi_milestone_review: SDPi 2.4 Review :sdpi_version_major: 2 :sdpi_version_minor: 4 @@ -34,7 +34,7 @@ :ihe_supplement_sdpi_revision_short: {sdpi_version_major}.{sdpi_version_minor} :ihe_supplement_sdpi_revision_date: {localdatetime} :ihe_supplement_sdpi_revision_label: Standard for Trial Use / Implementation -:ihe_supplement_sdpi_publication_month: December 19, 2025 +:ihe_supplement_sdpi_publication_month: March XX, 2026 :ihe_supplement_sdpi_public_comment_submission_deadline: N/A // Oid, assigned by IHE-DEV, for the SDPi specification diff --git a/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc index 7e6a1f2b..fb8e90c7 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49-summary.adoc @@ -1,3 +1,3 @@ // DEV-49 Transaction Summary -Intentionally end a Distributed Alarm System between a <> and a <>. \ No newline at end of file +Intentionally end the Distributed Alarm System between a <> and a <>. \ No newline at end of file diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index bc9ccdea..abb3e07b 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -1,5 +1,7 @@ :var_transaction_id: DEV-49 +:var_label_dev_49_operation_end_monitored_by_das: EndMonitoredByDAS +:var_label_dev_49_operation_end_monitored_by_das_response: EndMonitoredByDASResponse //reset|+1|off [#vol2_clause_dev_49,sdpi_offset=49] @@ -37,6 +39,41 @@ on its own initiative and notifies the <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation on a <> to end the Distributed Alarm System, as specified in <>. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_trigger_events] +====== Trigger Events + +When there is an active Distributed Alarm System between a <> and a <>, the {var_label_dev_49_operation_end_monitored_by_das} operation is invoked by the <> to request the <> to end the Distributed Alarm System. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_semantics] +====== Message Semantics + +The {var_label_dev_49_operation_end_monitored_by_das} operation does not contain any further semantics. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_expected_actions] +====== Expected Actions + +When a <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation, the receiving <> responds with a {var_label_dev_49_operation_end_monitored_by_das_response} message. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_response] +===== {var_label_dev_49_operation_end_monitored_by_das_response} Operation Invoked Report Message + +A <> responds with a {var_label_dev_49_operation_end_monitored_by_das_response} message to a <>'s invocation of the {var_label_dev_49_operation_end_monitored_by_das} operation, as specified in <>. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_response_trigger_events] +====== Trigger Events + +The <> sends a {var_label_dev_49_operation_end_monitored_by_das_response} message back to the <> that invoked the {var_label_dev_49_operation_end_monitored_by_das} operation. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_response_semantics] +====== Message Semantics +TODO!!! - figure out menaing of the MDIB in this response message and document it here - + + [#vol2_clause_dev_49_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From a1f668d33cc55dde01c36737b2a0ea1c502be628 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 21 Feb 2026 17:48:26 +1300 Subject: [PATCH 31/36] Implemented support for multiple actor contributions in transactions. --- .../extension/SdpiInformationCollector.kt | 18 +++++-- .../extension/TransactionActorsProcessor.kt | 54 +++++++++++-------- .../org/sdpi/asciidoc/model/SdpiActor.kt | 2 +- .../sdpi/asciidoc/model/SdpiTransaction.kt | 18 +------ ...sdpi-article-ihe-tf-asciidoc-cookbook.adoc | 23 +++++++- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 35 ++++++++++-- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 8 +-- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 6 ++- 8 files changed, 112 insertions(+), 52 deletions(-) diff --git a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/SdpiInformationCollector.kt b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/SdpiInformationCollector.kt index 9e872491..d8e7bc6b 100644 --- a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/SdpiInformationCollector.kt +++ b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/SdpiInformationCollector.kt @@ -1044,6 +1044,11 @@ class SdpiInformationCollector( } } + /* + Matches actors with contributions for transactions referenced from profiles using + the syntax in the form: + sdpi_include_transaction::DEV-23[initiator="required", receiver="optional"] + */ private fun linkActorsToTransactionReferences() { for (profile in profiles.values) { linkActorsToTransactionReferences(profile.transactionReferences) @@ -1062,10 +1067,15 @@ class SdpiInformationCollector( for (obl in ref.obligations) { if (obl.actorId == null) { val contrib = obl.contribution - val role = transaction.actorRoles?.firstOrNull { it.contribution == contrib } - if (role != null) { - val strActorId = role.actorId - obl.actorId = strActorId + if (transaction.actorRoles != null) { + val matchingRoles = transaction.actorRoles.filter{it.contributions.contains(contrib)} + check(matchingRoles.size <= 1) { + logger.error("More than one actor contributes $contrib. Specify actor in $BLOCK_MACRO_NAME_INCLUDE_TRANSACTION") + } + if (matchingRoles.size == 1) { + val strActorId = matchingRoles[0].actorId + obl.actorId = strActorId + } } } } diff --git a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/TransactionActorsProcessor.kt b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/TransactionActorsProcessor.kt index 99144e58..808cf9f8 100644 --- a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/TransactionActorsProcessor.kt +++ b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/extension/TransactionActorsProcessor.kt @@ -55,26 +55,32 @@ class TransactionActorsProcessor : BlockProcessor(BLOCK_NAME_TRANSACTION_ACTORS) val roles = mutableListOf() var strActor: String? = null - var contribution: Contribution? = null + var contributions = mutableListOf() val description = mutableListOf() for (strLine in blockLines) { if (strLine.startsWith('[')) { - if (strActor != null && contribution != null && description.isNotEmpty()) { - roles.add(SdpiActorRole(strActor, contribution, description.toList())) + + // remove trailing blank lines. + while(description.isNotEmpty() && description.last().isEmpty()) { + description.removeLast() + } + + if (strActor != null && contributions.isNotEmpty() && description.isNotEmpty()) { + roles.add(SdpiActorRole(strActor, contributions, description.toList())) } description.clear() val result = parseContributorAttributes(strLine) strActor = result.first - contribution = result.second + contributions = result.second.toMutableList() } else { description.add(strLine) } } - if (strActor != null && contribution != null && description.isNotEmpty()) { - roles.add(SdpiActorRole(strActor, contribution, description.toList())) + if (strActor != null && contributions.isNotEmpty() && description.isNotEmpty()) { + roles.add(SdpiActorRole(strActor, contributions, description.toList())) } return roles @@ -104,12 +110,12 @@ class TransactionActorsProcessor : BlockProcessor(BLOCK_NAME_TRANSACTION_ACTORS) for (actorRole in roles) { val strActorId = "RefActor:${actorRole.actorId}[]" - val contribution = actorRole.contribution + val contributions = actorRole.contributions val strDescription = actorRole.description.joinToString("\r\n") val row = createTableRow(roleTable) row.cells.add(createTableCell(colActor, strActorId)) - row.cells.add(createTableCell(colContribution, contribution.keyword)) + row.cells.add(createTableCell(colContribution, contributions.joinToString { it.keyword })) row.cells.add(createTableCell(colDescription, strDescription)) @@ -119,31 +125,37 @@ class TransactionActorsProcessor : BlockProcessor(BLOCK_NAME_TRANSACTION_ACTORS) return roleTable } - private fun parseContributorAttributes(strLine: String): Pair { + private fun parseContributorAttributes(strLine: String): Pair> { val attributes = parseAttributes(strLine) - val strActorId = attributes[Roles.Transaction.ACTOR_ID.key] - checkNotNull(strActorId) { + val actorId = attributes.firstOrNull{ it.first == Roles.Transaction.ACTOR_ID.key} + checkNotNull(actorId) { logger.error("Actor in transaction is missing an actor id") } - val strContribution = attributes[Roles.Transaction.CONTRIBUTION.key] - checkNotNull(strContribution) { - logger.error("Actor $strActorId in transaction is missing a contribution") + val strActorId = actorId.second + val contributions = mutableListOf() + for(contribution in attributes.filter{it.first == Roles.Transaction.CONTRIBUTION.key}) { + val strContribution = contribution.second + val cont = parseContribution(strContribution) + checkNotNull(cont) { + logger.error("Actor $strActorId's contribution '$strContribution' is not recognized") + } + contributions.add(cont) } - val contribution = parseContribution(strContribution) - checkNotNull(contribution) { - logger.error("Actor $strActorId's contribution '$strContribution' is not recognized") + + check(contributions.isNotEmpty()) { + logger.error("Actor $strActorId in transaction is missing a contribution") } - return Pair(strActorId, contribution) + return Pair(strActorId, contributions) } - private fun parseAttributes(strValue: String): Map { - val attributes = mutableMapOf() + private fun parseAttributes(strValue: String): List> { + val attributes = mutableListOf>() for (match in RE_ATTRIBUTES.findAll(strValue)) { val (key, value) = match.destructured - attributes[key] = value + attributes.add(Pair(key, value)) } return attributes diff --git a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiActor.kt b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiActor.kt index 2a4a1c74..eb3fe285 100644 --- a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiActor.kt +++ b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiActor.kt @@ -21,7 +21,7 @@ data class SdpiActor( @Serializable data class SdpiActorRole( val actorId: String, - val contribution: Contribution, + val contributions: List, val description: List, ) { } diff --git a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiTransaction.kt b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiTransaction.kt index 9b105906..d2c2e5f8 100644 --- a/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiTransaction.kt +++ b/.ci/asciidoc-converter/src/main/kotlin/org/sdpi/asciidoc/model/SdpiTransaction.kt @@ -19,28 +19,14 @@ data class SdpiTransaction( return "link:#$strAnchor[$id]" } - fun getContributionFor(contribution: Contribution): Contribution? { - if (actorRoles == null) { - return null - } - - for(actor in actorRoles) { - if (actor.contribution == contribution) { - return actor.contribution - } - } - - return null - } - - fun getContributionForActor(strActorId: String): Contribution? { + fun getContributionForActor(strActorId: String): List? { if (actorRoles == null) { return null } for(actor in actorRoles) { if (actor.actorId == strActorId) { - return actor.contribution + return actor.contributions } } diff --git a/articles/sdpi-article-ihe-tf-asciidoc-cookbook.adoc b/articles/sdpi-article-ihe-tf-asciidoc-cookbook.adoc index 054b7e01..90c57855 100644 --- a/articles/sdpi-article-ihe-tf-asciidoc-cookbook.adoc +++ b/articles/sdpi-article-ihe-tf-asciidoc-cookbook.adoc @@ -455,7 +455,9 @@ or overriding obligations that apply when the actor option is selected for a par A profile, profile option or actor option references a <> using the `sdpi_include_transaction` [include processor](https://docs.asciidoctor.org/asciidoctorj/latest/extensions/include-processor/) and declares the obligations of contributors. -There are two forms for `sdpi_include_transaction`. The first form defines obligations for the actor roles defined in the transaction. That is, only the contribution (`initiator`, `receiver`, `responder`) and obligation (`required`, `optional`) are required. It is not necessary to repeat the actor. For example: +There are two forms for `sdpi_include_transaction`. The first form defines obligations for the actor roles defined in the transaction. That is, only the contribution (`initiator`, `receiver`, `responder`) and obligation (`required`, `optional`) are required. It is not necessary to repeat the actor provided the transaction actor obligation is not ambiguous. Transaction actor's obligations are ambiguous when more than one actor has the same obligation (e.g., two actors both initiate messages in the transaction). + +For example: [source, asciidoc] ---- @@ -609,6 +611,25 @@ Listens for vol2_clause_dev_23_message_hello messages to identify any <> to end a Distributed Alarm System. +Listens for notifications from a <> that end +a Distributed Alarm System. + +[actor-id="somds_medical_alert_provider",contribution=Responder,contribution=Initiator] +Listens for requests from a <> to end a +Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System +on its own initiative and notifies the <>. + +-- +---- + The transactions object identifier (oid) may <> using the `oid-arcs` attribute. If not present, object identifiers will be set automatically from the transaction id. When assigned automatically, two oids will be applied to each transaction: diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 5e30140b..e408be4c 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -63,6 +63,33 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] //// +sdpi_include_transaction::DEV-38[actor-id="somds_medical_alert_provider",responder="required"] +sdpi_include_transaction::DEV-39[actor-id="somds_medical_alert_provider",initiator="required"] +sdpi_include_transaction::DEV-40[actor-id="somds_medical_alert_provider",responder="required"] +sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_provider",responder=optional,initiator=optional] +sdpi_include_transaction::DEV-49[actor-id="somds_medical_alert_provider",responder="optional",initiator="optional"] + +sdpi_include_transaction::DEV-38[actor-id="somds_medical_alert_consumer",initiator="required"] +sdpi_include_transaction::DEV-39[actor-id="somds_medical_alert_consumer",responder="required"] +sdpi_include_transaction::DEV-40[actor-id="somds_medical_alert_consumer",initiator="optional"] +sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_consumer",initiator=optional,receiver=optional] +sdpi_include_transaction::DEV-49[actor-id="somds_medical_alert_consumer",responder="optional",initiator="optional"] + +sdpi_include_transaction::DEV-38[actor-id="somds_acm_gateway",responder="required"] +sdpi_include_transaction::DEV-39[actor-id="somds_acm_gateway",initiator="required"] +sdpi_include_transaction::DEV-40[actor-id="somds_acm_gateway",responder="required"] + +// Deferred transactions. +sdpi_include_transaction::DEV-41[actor-id="somds_medical_alert_provider",responder="optional",placeholder-name="Manage medical alert delegation"] +sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_provider",initiator="optional",placeholder-name="Delegate medical alert"] +sdpi_include_transaction::DEV-43[actor-id="somds_medical_alert_provider",responder="required",placeholder-name="Update alert acknowledgement status"] + +sdpi_include_transaction::DEV-41[actor-id="somds_medical_alert_consumer",initiator="optional",placeholder-name="Manage medical alert delegation"] +sdpi_include_transaction::DEV-42[actor-id="somds_medical_alert_consumer",responder="optional",placeholder-name="Delegate medical alert"] +sdpi_include_transaction::DEV-43[actor-id="somds_medical_alert_consumer",initiator="required",placeholder-name="Update alert acknowledgement status"] + +sdpi_include_transaction::DEV-43[actor-id="somds_acm_gateway",initiator="required",placeholder-name="Update alert acknowledgement status"] + include::actor-tables/sdpi-a-transactions.adoc[] [#vol1_clause_sdpi_a_actor_descriptions_actor_profile_requirements] @@ -163,11 +190,11 @@ This option enables <> and This option enables both the <> [DEV-48] and <> [DEV-49] transactions. // Transaction obligations for distributed alarm system option. -sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_provider,responder=required] -sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_provider,responder=required,initiator=required] +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_consumer,initiator=required,receiver=required] +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_provider,responder=required,initiator=required] -sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_consumer,initiator=required] -sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_consumer,responder=required,initiator=required] +sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_consumer,initiator=required,receiver=required] +sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_provider,responder=required,initiator=required] [#vol1_clause_sdpi_a_actor_option_alert_delegation,role=profile-option,profile-option-id=alert_delegation,oid-arcs=".4"] ==== Alert Delegation Option diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 433417cf..55fac0cb 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -18,13 +18,15 @@ include::tf2-dev-48-summary.adoc[] [sdpi_transaction_actors] -- -[actor-id="somds_medical_alert_consumer",contribution=Initiator] +[actor-id="somds_medical_alert_consumer",contribution=Initiator,contribution=Receiver] Requests a <> to establish a Distributed Alarm System. Also maintains an established Distributed Alarm System. +Receives notifications confirming Distributed Alarm System remains in effect. -[actor-id="somds_medical_alert_provider",contribution=Responder] +[actor-id="somds_medical_alert_provider",contribution=Responder,contribution=Initiator] Listens for requests from a <> to establish a -Distributed Alarm System and grants such requests. Also maintains an established Distributed Alarm System. +Distributed Alarm System and grants such requests. +Also maintains an established Distributed Alarm System. -- ==== Referenced Standards diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index e4802696..c2c8757b 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -15,10 +15,12 @@ include::tf2-dev-49-summary.adoc[] [sdpi_transaction_actors] -- -[actor-id="somds_medical_alert_consumer",contribution=Initiator] +[actor-id="somds_medical_alert_consumer",contribution=Initiator,contribution=Receiver] Requests a <> to end a Distributed Alarm System. +Listens for notifications from a <> that end +a Distributed Alarm System. -[actor-id="somds_medical_alert_provider",contribution=Responder] +[actor-id="somds_medical_alert_provider",contribution=Responder,contribution=Initiator] Listens for requests from a <> to end a Distributed Alarm System and grants such requests. Alternatively ends a Distributed Alarm System on its own initiative and notifies the <>. From 2ba8be1280f9b2aaf9cc6d57146f084d0604ffb6 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Tue, 3 Mar 2026 15:42:53 +0100 Subject: [PATCH 32/36] reverted some changes to DEV-48 (roles that apply to actors) --- asciidoc/volume1/tf1-ch-12-sdpi-a.adoc | 8 ++++---- asciidoc/volume2/dev-48/tf2-dev-48.adoc | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc index 64429904..cf139237 100644 --- a/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc +++ b/asciidoc/volume1/tf1-ch-12-sdpi-a.adoc @@ -66,13 +66,13 @@ image::../images/vol1-diagram-sdpi-a-actor.svg[] sdpi_include_transaction::DEV-38[actor-id="somds_medical_alert_provider",responder="required"] sdpi_include_transaction::DEV-39[actor-id="somds_medical_alert_provider",initiator="required"] sdpi_include_transaction::DEV-40[actor-id="somds_medical_alert_provider",responder="required"] -sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_provider",responder=optional,initiator=optional] +sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_provider",responder="required"] sdpi_include_transaction::DEV-49[actor-id="somds_medical_alert_provider",responder="optional",initiator="optional"] sdpi_include_transaction::DEV-38[actor-id="somds_medical_alert_consumer",initiator="required"] sdpi_include_transaction::DEV-39[actor-id="somds_medical_alert_consumer",responder="required"] sdpi_include_transaction::DEV-40[actor-id="somds_medical_alert_consumer",initiator="optional"] -sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_consumer",initiator=optional,receiver=optional] +sdpi_include_transaction::DEV-48[actor-id="somds_medical_alert_consumer",initiator="required"] sdpi_include_transaction::DEV-49[actor-id="somds_medical_alert_consumer",responder="optional",initiator="optional"] sdpi_include_transaction::DEV-38[actor-id="somds_acm_gateway",responder="required"] @@ -191,8 +191,8 @@ This option enables <> and This option enables both the <> [DEV-48] and <> [DEV-49] transactions. // Transaction obligations for distributed alarm system option. -sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_consumer,initiator=required,receiver=required] -sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_provider,responder=required,initiator=required] +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_consumer,initiator=required] +sdpi_include_transaction::DEV-48[actor-id=somds_medical_alert_provider,responder=required] sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_consumer,initiator=required,receiver=required] sdpi_include_transaction::DEV-49[actor-id=somds_medical_alert_provider,responder=required,initiator=required] diff --git a/asciidoc/volume2/dev-48/tf2-dev-48.adoc b/asciidoc/volume2/dev-48/tf2-dev-48.adoc index 7b9d8d34..72a7bb35 100644 --- a/asciidoc/volume2/dev-48/tf2-dev-48.adoc +++ b/asciidoc/volume2/dev-48/tf2-dev-48.adoc @@ -19,12 +19,12 @@ include::tf2-dev-48-summary.adoc[] [sdpi_transaction_actors] -- -[actor-id="somds_medical_alert_consumer",contribution=Initiator,contribution=Receiver] +[actor-id="somds_medical_alert_consumer",contribution=Initiator] Requests a <> to establish a Distributed Alarm System. Also maintains an established Distributed Alarm System. Receives notifications confirming Distributed Alarm System remains in effect. -[actor-id="somds_medical_alert_provider",contribution=Responder,contribution=Initiator] +[actor-id="somds_medical_alert_provider",contribution=Responder] Listens for requests from a <> to establish a Distributed Alarm System and grants such requests. Also maintains an established Distributed Alarm System. From 474818c0492be7934635e4ba62080d1c4879bcf6 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 4 Mar 2026 14:55:27 +0100 Subject: [PATCH 33/36] Continued DEV-49 messaging description --- .../plantuml/vol2-figure-dev-49-sequence.puml | 2 +- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 27 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index d1edd3d8..222f1f95 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -13,7 +13,7 @@ participant "$str_somds_medical_alert_provider" as provider alt consumer intentionally ends the DAS consumer -> provider: EndMonitoredByDAS - consumer <<-- provider: EndMonitoredByDASResponse(MDIB version) + consumer <<-- provider: EndMonitoredByDASResponse else provider intentionally ends the DAS consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') end diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index 61418e27..3f185f7e 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -2,6 +2,7 @@ :var_label_dev_49_operation_end_monitored_by_das: EndMonitoredByDAS :var_label_dev_49_operation_end_monitored_by_das_response: EndMonitoredByDASResponse +:var_label_dev_49_notification: Notification //reset|+1|off [#vol2_clause_dev_49,sdpi_offset=49] @@ -45,7 +46,7 @@ include::../../plantuml/vol2-figure-dev-49-sequence.puml[] [#vol2_clause_dev_49_operation_end_monitored_by_das] ===== {var_label_dev_49_operation_end_monitored_by_das} Operation -A <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation on a <> to end the Distributed Alarm System, as specified in <>. +A <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation on a <> to gracefully end the Distributed Alarm System, as specified in <>. [#vol2_clause_dev_49_operation_end_monitored_by_das_trigger_events] ====== Trigger Events @@ -74,8 +75,30 @@ The <> sends a {var_label_d [#vol2_clause_dev_49_operation_end_monitored_by_das_response_semantics] ====== Message Semantics -TODO!!! - figure out menaing of the MDIB in this response message and document it here - +The {var_label_dev_49_operation_end_monitored_by_das_response} message does not contain any further semantics. + +[#vol2_clause_dev_49_operation_end_monitored_by_das_response_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected or required response from the <>. + +A {var_label_dev_49_operation_end_monitored_by_das_response} message with InvocationState = 'Fin' marks the end of the Distributed Alarm System between the <> and the <>. + +[#vol2_clause_dev_49_notification] +===== {var_label_dev_49_notification} Message + +A <> uses the {var_label_dev_49_notification} message to gracefully end the Distributed Alarm System, as specified in <>. + +[#vol2_clause_dev_49_notification_trigger_events] +====== Trigger Events + +When a <> ends the Distributed Alarm System with a specific <>, it sends a {var_label_dev_49_notification} message to that <> to inform it that the Distributed Alarm System has ended. + +[#vol2_clause_dev_49_notification_semantics] +====== Message Semantics + +[[payload_dev_49_notification]]OperationInokedReport:: A report that contains ... !!!! TODO: check the semantics here!!!!! [#vol2_clause_dev_49_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From fbf4ebbdc73bdea58a909d46d21047f1d7e46d26 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Wed, 4 Mar 2026 15:10:28 +0100 Subject: [PATCH 34/36] clarified the two situations in DEV-49 --- asciidoc/plantuml/vol2-figure-dev-49-sequence.puml | 4 ++-- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index 222f1f95..5ad64da4 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -11,10 +11,10 @@ participant "$str_somds_medical_alert_provider" as provider ==End Distributed Alarm System [DEV-49]== -alt consumer intentionally ends the DAS +alt consumer initiates ending of the DAS consumer -> provider: EndMonitoredByDAS consumer <<-- provider: EndMonitoredByDASResponse -else provider intentionally ends the DAS +else provider initiates ending of the DAS consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') end diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index 3f185f7e..8472c0dc 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -46,7 +46,7 @@ include::../../plantuml/vol2-figure-dev-49-sequence.puml[] [#vol2_clause_dev_49_operation_end_monitored_by_das] ===== {var_label_dev_49_operation_end_monitored_by_das} Operation -A <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation on a <> to gracefully end the Distributed Alarm System, as specified in <>. +A <> invokes the {var_label_dev_49_operation_end_monitored_by_das} operation on a <> to initiate a graceful ending of the Distributed Alarm System, as specified in <>. [#vol2_clause_dev_49_operation_end_monitored_by_das_trigger_events] ====== Trigger Events @@ -88,7 +88,7 @@ A {var_label_dev_49_operation_end_monitored_by_das_response} message with Invoca [#vol2_clause_dev_49_notification] ===== {var_label_dev_49_notification} Message -A <> uses the {var_label_dev_49_notification} message to gracefully end the Distributed Alarm System, as specified in <>. +A <> uses the {var_label_dev_49_notification} message to initiate a graceful ending of the Distributed Alarm System, as specified in <>. [#vol2_clause_dev_49_notification_trigger_events] ====== Trigger Events From 8c17a63b782f667cb76ecd285a5f8b3be09e14c9 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 6 Mar 2026 12:38:10 +0100 Subject: [PATCH 35/36] completed DEV-49 description --- asciidoc/plantuml/vol2-figure-dev-49-sequence.puml | 2 +- asciidoc/volume2/dev-49/tf2-dev-49.adoc | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml index 5ad64da4..c9d04f71 100644 --- a/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml +++ b/asciidoc/plantuml/vol2-figure-dev-49-sequence.puml @@ -15,7 +15,7 @@ alt consumer initiates ending of the DAS consumer -> provider: EndMonitoredByDAS consumer <<-- provider: EndMonitoredByDASResponse else provider initiates ending of the DAS - consumer <- provider: Notification (OperationInvokedReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') + consumer <- provider: Notification (EpisodicOperationalStateReport incl. disabled operations 'MonitoredByDAS' and 'EndMonitoredByDAS') end @enduml \ No newline at end of file diff --git a/asciidoc/volume2/dev-49/tf2-dev-49.adoc b/asciidoc/volume2/dev-49/tf2-dev-49.adoc index 8472c0dc..d5be6580 100644 --- a/asciidoc/volume2/dev-49/tf2-dev-49.adoc +++ b/asciidoc/volume2/dev-49/tf2-dev-49.adoc @@ -98,7 +98,14 @@ When a <> ends the Distribu [#vol2_clause_dev_49_notification_semantics] ====== Message Semantics -[[payload_dev_49_notification]]OperationInokedReport:: A report that contains ... !!!! TODO: check the semantics here!!!!! +[[payload_dev_49_notification]]EpisodicOperationalStateReport:: A change report that contains information on the disablement (OperatingMode = 'Dis') of the operations with codes MDC_ACT_MONITORED_BY_DISTRIBUTED_ALARM_SYSTEM and MDC_ACT_END_MONITORED_BY_DISTRIBUTED_ALARM_SYSTEM. + +[#vol2_clause_dev_49_notification_expected_actions] +====== Expected Actions + +When a <> sends a {var_label_dev_49_notification} message, there is no expected or required response from the <>. + +A {var_label_dev_49_notification} message with the aforementioned message semantics marks the end of the Distributed Alarm System between the <> and the <>. [#vol2_clause_dev_49_publish_medical_alert_update_ses] include::../dev-x-default-ses-secured-mode.adoc[] From 28d878b99a4f2c314b990f7653e140bf4f8e0296 Mon Sep 17 00:00:00 2001 From: JavierEspina Date: Fri, 6 Mar 2026 12:46:29 +0100 Subject: [PATCH 36/36] Added changelog entry --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db0033ef..8bc29388 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,9 +18,10 @@ Each section shall contain a list of action items of the following format: `