[ { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider", "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 1021, "localId": "R1021", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When the <> is enabled for a <> Actor, then it shall use the <> transaction to update the <> Actor on its network presence and departure." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1022, "localId": "R1022", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> Actor is configured or provisioned for the <>, but the proxy system is not available, then the <> shall revert back to \"ad hoc\" discovery mode." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_provider", "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 1023, "localId": "R1023", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When the <> is enabled for a <> Actor, then it shall use the <> transaction to retrieve <> network presence metadata from the <> Actor." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1024, "localId": "R1024", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> Actor is configured or provisioned for the <>, but the proxy system is not available, then the <> shall revert back to \"ad hoc\" discovery mode." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 1025, "localId": "R1025", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "In order to ensure that a system's network presence information is up-to-date and valid, during the period when the <> indicates that a system is present, it shall provide some means to determine that this state is still true." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1542, "localId": "R1542", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When a <> disables one or more <>s, the <> shall inform the affected users." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1543, "localId": "R1543", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> disables one or more <>s, the <> shall create a log entry, noting the disabled <>s as well as the cause for disabling them." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1544, "localId": "R1544", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should use TLS 1.3, or a higher version." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1520, "localId": "R1520", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> shall include all of the following information in the accompanying documentation:" ] } ], "noteContent": [ { "type": "block", "lines": [ "The 50ms target accuracy is suitable for highly demanding use cases like real time waveform comparison." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1521, "localId": "R1521", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> should configure its <> client to prioritize <> to the <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "<>s could use, for example, <> to satisfy this requirement. That is, employing cold and warm startup and <>s to synchronize the <> with a <> <>." ] }, { "type": "block", "lines": [ "<>s using other synchronization standards", "should strongly favour methods such as adjusting clock frequency over large changes (forward", "or backward in time) to maintain an accurate <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1510, "localId": "R1510", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not allow manual configuration of its internal clock while the device is operational in an <> network." ] } ], "noteContent": [ { "type": "block", "lines": [ "Since manual time adjustments of the device's internal clock would lead to plausible but still inaccurate timestamps, this requirement also prohibits manual adjustments when the <> is not available." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1540, "localId": "R1540", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When a <> connects to the <>, it shall not execute <>s until it detects and connects to a <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "Without a <>, there is no way for a <> to ensure that its communication partner has a valid certificate." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1530, "localId": "R1530", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> is operational and loses connection to the <>, it shall use its internal clock." ] } ], "noteContent": [ { "type": "block", "lines": [ "It is likely that a <> needs multiple attempts to connect to a TS service a few times during the day. The system needs to be stable against these kind of short term interruptions." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1531, "localId": "R1531", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For every MDS of a <>, the <> shall provide pm:ClockState/@Accuracy." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1532, "localId": "R1532", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> shall consider the risk of providing the <>'s <> if the accuracy of the device internal clock decreases due to an unreachable <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1533, "localId": "R1533", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> shall consider the risk of providing the <>'s <> if the accuracy of the <>'s clock decreases." ] } ], "noteContent": [ { "type": "block", "lines": [ "This goes beyond considering the risk of erroneous timestamps required by the Base <> Standard, since it forces the <> of a <> to define a minimum accuracy acceptable for a <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1534, "localId": "R1534", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> cannot reach the <>, the <> shall create a log entry." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1500, "localId": "R1500", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> shall consider the risk of workflow interruption due to misaligned clocks." ] } ], "noteContent": [ { "type": "block", "lines": [ "Clocks of <>s run apart due to lack of synchronization with NTP servers, different clock drifts or cyber-attacks." ] }, { "type": "block", "lines": [ "This requirement supplements RR1162 in <>: _The MANUFACTURER of an SDC BASE CONSUMER SHALL consider the RISKs resulting from erroneous timestamps._" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1560, "localId": "R1560", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> shall log each <> of the <> with an entry that includes the determination time of the log entry in both the <> before, and after, each <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement supplements TR1340 in <>— _An SDC BASE PARTICIPANT SHOULD log each <> of the device clock_ — requiring specific information in the log to support post incident analysis." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1522, "localId": "R1522", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When the <> detects an <> of a <>, the <> shall either:" ] } ], "noteContent": [ { "type": "block", "lines": [ "The <> of the <> considers the risks arising from <>s spanning <>s from an <> having occurred at the <> when the <> receives a changed value in the <>'s MDIB sequence identifier or when the `pm:ClockState/@ActivationState` is `StndBy`." ] }, { "type": "block", "lines": [ "This clarifies the ambiguity in <>, section B.182 and <>, R0014 when a participant uses slewing to make <> (using, for example, the <> <>) where information from one or more <>s is used to maintain clock-discipline and does not (generally) \"set\" the clock." ] }, { "type": "block", "lines": [ "Any <> strictly-less than `pm:ClockState/@LastSet` in the MDIB when `pm:ClockState/@ActivationState` is set to `StndBy` may be untrustworthy." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1561, "localId": "R1561", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> may indicate a <> belongs to a specific <> using the SDPi epoch extension." ] } ], "noteContent": [ { "type": "block", "lines": [ "Binding timestamps in the <> to a specific <> may be useful for states that are not updated frequently." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1562, "localId": "R1562", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> shall consider the risks arising from relying on <>s obtained from different <>s." ] } ], "noteContent": [ { "type": "block", "lines": [ "It may not be possible to reliably determine the relationship between <> obtained from different <>s without addition information regarding the cause of an <>. Consider, for example, an <> that arises when the <> was running significantly faster (or slower) than the <>. The arithmetic difference in time between two events spanning the adjustment (even when combined with the size of the step adjustment) may not match the elapsed time experienced by an unbiased observer because time passed at different rates in the different epochs." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1566, "localId": "R1566", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> of a <> that changes the MDIB sequence identifier when it can no longer make <> to its <> shall consider the risks arising from gaps in continuous data." ] } ], "noteContent": [ { "type": "block", "lines": [ "An abrupt time adjustment may indicate a serious error that impacts data that has already been:" ] }, { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "displayed on a chart to the user," }, { "type": "item", "strMarker": "*", "strText": "exported to other systems." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1569, "localId": "R1569", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> may enter a fault state by, for example, setting the `MdsState/@ActivationState` to `Fail` following an <> that it otherwise cannot recover from." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "A sudden change in a participant's time-reference frame may require intervention by the OPERATOR or RESPONSIBLE ORGANIZATION." }, { "type": "item", "strMarker": "*", "strText": "A <> may continue delivery with a subset one or more of its nominal System Function Contribution (<>) following an <> reporting the activation state of components using `AbstractDeviceComponentState/@ActivationState`." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1600, "localId": "R1600", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> may disconnect or go into a fail-safe mode when it determines an <> has occurred in a <> required to continue its <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "A consumer relying on the temporal accuracy of historic data for its <> may require operator input to continue safe operation following an <> to one or more of its data sources." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1601, "localId": "R1601", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should use the low-precision `Date` field included in HTTP response messages (<>, §6.6.1) to determine if discrepancies between <> clocks exceed requirements for its <>." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "This requirement supports a <> considering the risk resulting from erroneous timestamps <>, RR1162." }, { "type": "item", "strMarker": "*", "strText": "The maximum discrepancy between participant clocks may depend on the protocol being used to synchronize time (`pm:ClockState/pm:ActiveSyncProtocol`). The time reported by two devices employing <>, for example, may differ by more than 8 1/2 minutes, in a worst case scenario, without triggering an <>." }, { "type": "item", "strMarker": "*", "strText": "A <> could detect discrepancies exceeding a few seconds, which may affect its <>, using timestamps in HTTP headers, for example." }, { "type": "item", "strMarker": "*", "strText": "By monitoring timestamp on message responses (such as subscription renew requests), a <> may be able to take an appropriate action, such as alerting the operator, before using data with suspicious timestamps." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1602, "localId": "R1602", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should use the \"preferred format\", defined in <>, for the `Date` field included in all HTTP response messages." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "The `Date` field in HTTP response messages, as the best available approximation of the date and time of message generation, is mandatory for an origin server with a clock (<>, §6.6.1) though several formats are supported. This clarifies obsolete formats shouldn't be be used." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1603, "localId": "R1603", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall notify next users of invalid and/or suspicious timestamps arising from <> that affect its <>." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "Operators and downstream systems (e.g., central record keeping systems) may be impacted beyond the <>'s immediate <> by inconsistencies in temporal data." }, { "type": "item", "strMarker": "*", "strText": "Notifying next users could include writing an entry in a log accessible to next users." }, { "type": "item", "strMarker": "*", "strText": "Notifying next users could visual and/or audible indication to operators through colour, iconography or visual styling on timestamps affected by the <>." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1604, "localId": "R1604", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <>, adjusting invalid and/or suspicious timestamps arising from <>, should continue to treat the adjusted timestamp as invalid and/or suspicious." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "A <> may use information provided, for example, by the <> using, for example, the <> extension to improve the accuracy of a suspicious timestamp. However timestamps may remain less accurate than had the <> not occurred and it may still be appropriate to notify next users of this." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 503, "localId": "R0503", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall respond to a {var_label_dev_33_message_getlocalizedtext} message with a set of localized texts in <> resulting from the intersection of filtered localized texts sets as selected by <>, <>, <>, <>, and <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 504, "localId": "R0504", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall select a set of localized texts based on <> as follows:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 505, "localId": "R0505", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall select a set of localized texts based on <> as follows:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 506, "localId": "R0506", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall select a set of localized texts based on <> as follows:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 507, "localId": "R0507", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall select a set of localized texts based on <> as follows:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 508, "localId": "R0508", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall select a set of localized texts based on <> as follows:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 500, "localId": "R0500", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall at least provide the port types as specified in <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "According to <>, the GET SERVICE is the only mandatory service to be implemented. This specification extends the list of mandatory services to increase interoperability between <>s." ] }, { "type": "block", "lines": [ "All port types of SDC are {uri_sdc_wsdl}[available for download]." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 501, "localId": "R0501", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should not request context states by using the `GetContextStatesByIdentification` and `GetContextStatesByFilter` operations of the ++{++{uri_sdc_port_type}++}++ContextService port type." ] } ], "noteContent": [ { "type": "block", "lines": [ "`GetContextStatesByIdentification` and `GetContextStatesByFilter` are insufficiently defined in <> and are likely to be obsoleted in a future revision of the specification." ] }, { "type": "block", "lines": [ "A <> may retrieve context states by using `GetContextStates` and perform filtering by itself." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 509, "localId": "R0509", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> provides localized text references in its <>, the <> shall provide the LOCALIZATION SERVICE via port type ++{++{uri_sdc_port_type}++}++LocalizationService." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 2000, "localId": "R2000", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should use a dynamically configured IP address." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 2001, "localId": "R2001", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall periodically send Hello messages at random intervals between 60 seconds and 120 seconds." ] } ], "noteContent": [ { "type": "block", "lines": [ "The random interval between 60 seconds and 120 seconds aims to prevent <>s from congesting the network by sending recurring Hello messages at the same time." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 2002, "localId": "R2002", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should implement the retry and back-off algorithm defined in SOAP-over-UDP, Appendix A." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 3001, "localId": "R3001", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should not periodically send Probe messages." ] } ], "noteContent": [ { "type": "block", "lines": [ "If Probe messages are sent periodically, a rationale needs to be provided, since <>s send Hello messages periodically." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 3002, "localId": "R3002", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> may re-send Probe messages if demanded by a dedicated user interaction." ] } ], "noteContent": [ { "type": "block", "lines": [ "A dedicated user interaction can be a button press on a <>'s display or any other manual activation." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7000, "localId": "R7000", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall implement the scope matching rule `{var_uri_matching_rule}` as specified by <> in a way that the use of _prefix_ refers to the definition of a prefix in formal theory." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement erases disambiguation since there are multiple definitions of the term _prefix_." ] }, { "type": "block", "lines": [ "From this it follows that a prefix can be empty as otherwise the term _proper prefix_ would have to be used." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7001, "localId": "R7001", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When a <> requests `{var_filter_dialect_action}` filter processing in a Subscribe message, the <> shall assume the receiving <> to perform the `{var_uri_strcmp0}` matching rule." ] } ], "noteContent": [ { "type": "block", "lines": [ "The `{var_uri_rfc3986}` matching rule definition implemented by <>s ambiguously includes the term `prefix`.", "As `{var_uri_rfc3986}` subsumes `{var_uri_strcmp0}`, a fallback to case-sensitive string comparison is explicit and failsafe." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 7003, "localId": "R7003", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall leverage HTTP path dispatching to identify subscription managers and notification/end-to sinks." ] } ], "noteContent": [ { "type": "block", "lines": [ "WS-Eventing allows for an event source or sink to make use of WS-Addressing endpoint reference parameters in order to identify endpoints, which is discouraged because of additional unnecessary complexity in processing complex XML elements." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7004, "localId": "R7004", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "In a SubscribeResponse message, a <> shall provide an _Expires_ element." ] } ], "noteContent": [ { "type": "block", "lines": [ "The WS-Eventing specification that is normatively included in <> explains the absence of _Expires_ in a SubscribeResponse message (see <>, Section 3.1), which is actually prohibited according to the XML Schema. This specification underlines the need to provide an _Expires_ element in SubscribeResponse messages." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7005, "localId": "R7005", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "In a RenewResponse message, a <> shall provide an _Expires_ element." ] } ], "noteContent": [ { "type": "block", "lines": [ "The WS-Eventing specification that is normatively included in <> does not explain the absence of _Expires_ in a RenewResponse message (see <>, Section 3.2). This specification prohibits the absence of _Expires_ in RenewResponse messages to avoid subscriptions that run infinitely." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7002, "localId": "R7002", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall enclose all context states in pm:GetMdibResponse messages." ] } ], "noteContent": [ { "type": "block", "lines": [] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_discovery_proxy", "vol1_spec_sdpi_p_actor_somds_provider", "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 7006, "localId": "R7006", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> sends {var_label_dev_46_message_directed_probe} messages to verify presence of <>s, the <> shall notify all <>s subscribed to Bye messages about the <>'s absence." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 7007, "localId": "R7007", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall provide the Discovery Proxy service by implementing the port type", "with the <> dp:DiscoveryProxy." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 7008, "localId": "R7008", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall accept the WS-Eventing wse:Filter@Dialect", "urn:oid:1.3.6.1.4.1.19376.1.6.2.10.1.2.1." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_discovery_proxy" ], "requirementNumber": 7009, "localId": "R7009", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall add the filter dialect urn:oid:1.3.6.1.4.1.19376.1.6.2.10.1.2.1 to", "every Subscribe request to a <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 502, "localId": "R0502", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall use HTTPS with mutual authentication for those transactions that are required to be secured." ] } ], "noteContent": [ { "type": "block", "lines": [ "Each section that specifies a transaction indicates security requirements in the __Security Requirements & Considerations__ subsection beneath the __Safety, Effectiveness and Security - Requirements and Considerations__ of each transaction." ] }, { "type": "block", "lines": [ "Essentially, this specification asks for secured transmission of data except when ad-hoc discovery is performed." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1, "localId": "R0001", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> may delay sending a Resolve Match response to a Resolve message." ] } ], "noteContent": [ { "type": "block", "lines": [ "It is up to the <> of the <> to choose a delay that fits the hardware capabilities of the <> for concurrent connection requests." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 2, "localId": "R0002", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should be configurable with a priority group number in accordance with <> R0076." ] } ], "noteContent": [ { "type": "block", "lines": [ "As it is not trivial to determine the priority of a <> in all and every circumstance, the <> can provide configurable options that allow for flexible adaptation on environmental changes." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 3, "localId": "R0003", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> does not intend to enforce configuration of priority groups during installation of its <>, the manufacturer shall pre-configure priority groups to a reasonable default value that reflects the highest criticality of the <>'s system function." ] } ], "noteContent": [ { "type": "block", "lines": [ "This does not necessarily prevent the user from changing the priority group after the installation process is finished." ] }, { "type": "block", "lines": [ "Guidelines for reasonable default values are shown in <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 4, "localId": "R0004", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> does not intend to allow for a user to configure a priority group after the installation process of its <> is finished, the manufacturer may dynamically determine a reasonable priority group for its <> according to the highest criticality of the <>'s system function on startup." ] } ], "noteContent": [ { "type": "block", "lines": [ "In order to dynamically determine the priority group within a certain range, a <> can use, for example, a random number generator function or a real-time clock." ] }, { "type": "block", "lines": [ "Guidelines for reasonable priority group ranges are shown in <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider", "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1001, "localId": "R1001", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall only establish one TCP connection at a time for every subscribed <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1002, "localId": "R1002", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall utilize TCP to exchange messages with other <>s except for messages exchanged in the WS-Discovery Ad-hoc mode." ] } ], "noteContent": [ { "type": "block", "lines": [ "The WS-Discovery Ad-hoc mode utilizes UDP to exchange messages, see <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1003, "localId": "R1003", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall only utilize HTTP 1.1 without HTTP pipelining for any HTTP traffic." ] } ], "noteContent": [ { "type": "block", "lines": [ "Enforces use of HTTP 1.1 in order to limit choices by which a re-ordering of message delivery can be implemented." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1004, "localId": "R1004", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall transmit msg:WaveformStream, msg:AbstractMetricReport, msg:AbstractOperationalStateReport, msg:AbstractComponentReport, msg:AbstractAlertReport, msg:ObservedValueStream, msg:DescriptionModificationReport, and msg:AbstractContextReport messages sequentially." ] } ], "noteContent": [ { "type": "block", "lines": [ "This allows for a <> to apply report data on internal <> data structures before receiving the next report without buffering." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1005, "localId": "R1005", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should reconnect or go into a fail-safe mode when it receives a report with an <> version that is either lower than the last received version or more than one version higher than the last received version." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 1014, "localId": "R1014", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not send a notification of a subscription as long as there is another notification pending for that subscription." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 5, "localId": "R0005", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "In its role as an HTTP client, a <> should request gzip compression by using Accept-Encoding with \"gzip\"." ] } ], "noteContent": [ { "type": "listing", "title": "HTTP request header to request compression", "lines": [ "GET /path/to/resource HTTP/1.1", "Host: www.example.com", "Accept-Encoding: gzip" ] }, { "type": "block", "lines": [ "The client indicates gzip compression to be an accepted response encoding. Note that the server is nevertheless free to send the response without compression." ] }, { "type": "listing", "title": "HTTP response header indicating compressed content", "lines": [ "HTTP/1.1 200 OK", "Date: sun, 26 June 2016 22:38:34 GMT", "Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)", "Last-Modified: Wed, 08 Jan 2020 23:11:55 GMT", "Accept-Ranges: bytes", "Content-Length: 438", "Connection: close", "Content-Type: text/xml; charset=UTF-8", "Content-Encoding: gzip" ] }, { "type": "block", "lines": [ "The HTTP server decided to encode the response with the gzip compression. Note that servers are not required to actually compress (e.g., due to load conditions or unknown algorithms they are entitled to answer with identity encoding)." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer", "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 6, "localId": "R0006", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> includes an Accept-Encoding header field in an HTTP header in a WS-Eventing Subscribe request, the <> may transmit Notifications related to that subscription encoded with the encoding that was defined in the Subscribe request." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 10, "localId": "R0010", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> of a <> intends to include MDS production specifications in the WS-Discovery Scopes of the <>, the <> shall encode the production specifications by using the rules in <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "The URI encoding of production specifications is defined in <>." ] }, { "type": "block", "lines": [ "<>s can also encode metadata information as production specification, according to the mapping in <>." ] }, { "type": "block", "lines": [ "URIs of a <> name and serial number:" ] }, { "type": "ulist", "items": [ { "type": "item", "strMarker": "-", "strText": "`sdc.mds.prodspec:MediHealth:531970`" }, { "type": "item", "strMarker": "-", "strText": "`sdc.mds.prodspec:DE12345678:531972,urn%3Aoid%3A1.3.111.2.11073.10101.3`" } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 11, "localId": "R0011", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a <> of a <> intends to include MDS attributes in the WS-Discovery Scopes of the <>, the <> shall encode the attributes by using the rules in <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "The URI encoding of attributes is defined by the Extended Backus-Naur Form <> in <>." ] }, { "type": "block", "lines": [ "URI of a Soft ID named _PatMon 03_: `sdc.mds.attr:PatMon%2003:67886`" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 13, "localId": "R0013", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall serialize XML instance documents in accordance to its applicable XML Schema definitions." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement stems from the need to avoid pretty-print output if an XML serializer does not understand or know the underlying XML Schema definitions." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1012, "localId": "R1012", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall resolve the namespace of a prefixed <> in XML attribute values and content of elements to the namespace that is associated with its prefix and is valid for the smallest element, which encloses the <>, by XML content." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 1013, "localId": "R1013", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall resolve the namespace of an unprefixed <> in XML attribute values and content of elements to the default namespace that is valid for the smallest element, which encloses the <>, by XML content." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 8119, "localId": "R8119", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each private code a <> shall provide exactly one *pm:Translation* where *pm:Translation/@Code* is identical with *pm:CodedValue/@Code*." ] } ], "noteContent": [ { "type": "block", "lines": [ "Multiple translations are allowed, but exactly one translation is specified for a private code." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8100, "localId": "R8100", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If not differently specified in this section, the MSH segment fields shall be in compliance with the [PCD-01] or [PCD-04] transaction, retrospectively, as described in the <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8101, "localId": "R8101", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each <> element in the <>, a separate [PCD-01] message shall be exported." ] } ], "noteContent": [ { "type": "block", "lines": [ "The HL7 segments *MSH*, *PID*, and *PV1* contain information which can differ between multiple <> devices represented as <> elements in the <> (e. g. operating mode, patient demographics, patient location, etc.). Since these segments are commonly defined for all <> elements in the HL7 [PCD-01] message, separate HL7 [PCD-01] messages per <> are required to be exported." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8118, "localId": "R8118", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall set the MSH-11 field to the code for the processing ID, which is either be *\"P\"* (Production) or *\"D\"* (Debugging)." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC MDS information to the data fields of the HL7 data type *PT* used in the MSH-11 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8102, "localId": "R8102", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The SDC patient context information shall only be mapped to the corresponding fields in the HL7 PID segment when the requirements for a valid SDC patient context as defined in <> are fulfilled." ] } ], "noteContent": [ { "type": "block", "lines": [ "For a valid *pm:PatientContextState*, the *pm:AbstractContextState/@ContextAssociation* attribute is set to *\"Assoc\"* and the *pm:AbstractContextState/pm:Validator* is set to a valid validator. A corresponding inferred patient ensemble context is not required for the <> / <>." ] }, { "type": "block", "lines": [ "If the SDC patient context information is not intended to be used for the mapping, please refer to the <> on how to populate the fields of the PID segment in this case." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8103, "localId": "R8103", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall map the patient identifiers to the PID-3 field." ] } ], "noteContent": [ { "type": "block", "lines": [ "The PID-3 is a list of patient identifiers (e.g., medical record number, social security number, visit number, account number, etc.)" ] }, { "type": "block", "lines": [ "<> defines the mapping of the <> patient identification to the data fields of the HL7 data type *CX* used in the PID-3 field." ] }, { "type": "block", "lines": [ "If the <> patient identification element *pm:PatientContextState/pm:Identification* contains more than one patient identifier, each SDC patient identifier is mapped according to the <> table and added to the PID-3 patient identifier list." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8104, "localId": "R8104", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PID-5 field to the patient name information." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient name information to the data fields of the HL7 data type *XPN* used in the PID-5 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8105, "localId": "R8105", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PID-6 field to the mother's maiden name or birth name before marriage." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient name information to the data fields of the HL7 data type *XPN* used in the PID-6 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8106, "localId": "R8106", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PID-7 field to the date and time of birth." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient's date of birth information to the data fields of the HL7 data type *DTM* used in the PID-7 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8120, "localId": "R8120", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall export the patient's sex as OBX segment on the MDS level." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping for the patient's sex is defined in table <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8121, "localId": "R8121", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met and the patient's sex in the <> is sourced from the PID-8 field in HL7 V2 ADT messages provided by the hospital ADT system, then a <> / <> may set the PID-8 field to the code for the administrative sex." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient's sex information to the data fields of the HL7 data type *IS* used in the PID-8 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8107, "localId": "R8107", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met and the <> provides the Healthcare Delivery Organization (HDO) the possibility to configure the export of the patient's sex set in the <> in the PID-8 field, then a <> / <> shall set the PID-8 field to the code for the administrative sex." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient's sex information to the data fields of the HL7 data type *IS* used in the PID-8 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8122, "localId": "R8122", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If the <> provides the Healthcare Delivery Organization (HDO) the possibility to configure the export of the patient's sex in the PID-8 field, the manufacturer of the <> shall require in the ACCOMPANYING INFORMATION that the HDO has to consider the risk that the patient's sex set in the <> and mapped to the PID-8 field does not lead to a misinterpretation of the sex concept on <> consumer side." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8108, "localId": "R8108", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PID-10 field to the patient's race." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient's race information to the data fields of the HL7 data type *CWE* used in the PID-10 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8109, "localId": "R8109", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PID-31 field to an indicator whether the patient's identity is known." ] } ], "noteContent": [ { "type": "block", "lines": [ "For a valid *pm:PatientContextState*, the *pm:AbstractContextState/@ContextAssociation* attribute is set to *\"Assoc\"* and the *pm:AbstractContextState/pm:Validator* is set to a valid validator. In this case, the value is set to \"N\"." ] }, { "type": "block", "lines": [ "In all other cases, the value is set to \"Y\"." ] }, { "type": "block", "lines": [ "A corresponding inferred patient ensemble context is not required for the <> / <> in order to determine a valid *pm:PatientContextState*." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8111, "localId": "R8111", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The SDC patient and location context information shall only be mapped to the corresponding fields in the HL7 PV1 segment when the requirements for a valid SDC patient and location context as defined in the <> are fulfilled." ] } ], "noteContent": [ { "type": "block", "lines": [ "For a valid *pm:PatientContextState* or *pm:LocationContextSate*, the *pm:AbstractContextState/@ContextAssociation* attribute is set to *\"Assoc\"* and the *pm:AbstractContextState/pm:Validator* is set to a valid validator. A corresponding inferred patient or location ensemble context is not required for the <> / <>." ] }, { "type": "block", "lines": [ "If the SDC patient and/or location context information is not be used for the mapping, please refer to the <> on how to populate the fields of the PV1 segment in this case." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8112, "localId": "R8112", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall set the PV1-2 field to the code for the patient class." ] } ], "noteContent": [ { "type": "block", "lines": [ "The *HL7 table 0004 - Patient Class* defines a set of recommended codes to be used for the data fields of the HL7 data type *IS* used in the PV1-2 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8113, "localId": "R8113", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PV1-3 field to the patient's assigned location." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient location information to the data fields of the HL7 data type *PL* used in the PV1-3 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8114, "localId": "R8114", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PV1-19 field to the patient's visit identifier." ] }, { "type": "block", "lines": [ "If the SDC patient identifier element *pm:PatientContextState/pm:Identification* contains more than one patient identifier, only the unique identifier assigned to the patient's visit is mapped according to the <> table." ] }, { "type": "block", "lines": [ "When there is no unique visit identifier assigned to the patient's visit, the field is left empty." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC patient identifier to the data fields of the HL7 data type *CX* used in the PV1-19 field." ] }, { "type": "block", "lines": [ "A visit identifier could be a visit number, an account number, or any other identifier that relates to the patient's visit." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8115, "localId": "R8115", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PV1-44 field to the patient's admission date/time." ] }, { "type": "block", "lines": [ "The SDC data model does not support the concept of an admission date/time. There are also different types of admissions; e.g., hospital admission, care unit admission, etc." ] }, { "type": "block", "lines": [ "This said, it is up to the <> / <> to figure out the admission date/time to be set in the PV1-44 field. If the gateway is not able to determine the admission date/time, the field is left empty." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8116, "localId": "R8116", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If <> is met, then a <> / <> shall set the PV1-51 field to the code for the visit indicator." ] }, { "type": "block", "lines": [ "If *\"pm:PatientContextState/pm:Identification/pm:Type/@Code\"* is \"VN\" (Visit Number), the field is set to *\"V\"*." ] }, { "type": "block", "lines": [ "Otherwise, the field is left empty by default." ] } ], "noteContent": [ { "type": "block", "lines": [ "The HL7 table 0326 - Visit Indicator defines a set of recommended codes to be used for the data fields of the HL7 data type IS used in the PV1-51 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8012, "localId": "R8012", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall set the OBX-3 field to the identifier of the element in the hierarchical containment tree such as MDS, VMD, CHAN, or the actual related metric to be exported." ] } ], "noteContent": [ { "type": "block", "lines": [ "<>, <>, <> and <> define the mapping of the SDC containment tree element to the data fields of the HL7 data type *CWE* used in the OBX-3 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8013, "localId": "R8013", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC containment tree element, the <> / <> shall map an identifier of the element in the hierarchical containment tree such as MDS, VMD, CHAN, or the actual related metric as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8014, "localId": "R8014", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall set the OBX-4 field to a hierarchical representation of the SDC element in the hierarchical containment tree." ] } ], "noteContent": [ { "type": "block", "lines": [ "Please refer to the IHE technical framework <> for further information." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8015, "localId": "R8015", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall assign the handles (which are required to be unique in the same <>) of the containment tree elements representing MDSs, VMDs, channels and metrics to unique integer numbers per child level of the same parent." ] } ], "noteContent": [ { "type": "block", "lines": [ "This implies that, e.g., channel elements may use the same numbers as VMD elements but on the channel level the numbers must be unique for the channels related to the same VMD." ] }, { "type": "block", "lines": [ "There is no requirement to preserve the same assigned number for a containment tree element from message to message, but it is highly recommended since this makes it much easier for the DOC to process the HL7 V2 messages." ] }, { "type": "block", "lines": [ "Example for Containment Tree Element Handle Assignment:" ] }, { "type": "block", "lines": [ "The gateway assigns the handles of the containment tree elements to" ] }, { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "`3` for pm:MdsDescriptor/@Handle = \"My1Mds\"," }, { "type": "item", "strMarker": "*", "strText": "`1` for pm:VmdDescriptor/@Handle = \"Vmd.1\"," }, { "type": "item", "strMarker": "*", "strText": "`2` for pm:ChannelDescriptor/@Handle = \"Chan.4 and" }, { "type": "item", "strMarker": "*", "strText": "`1` for pm:AbstractMetricDescriptor/@Handle = \"Metric.Spo2\"." } ] }, { "type": "block", "lines": [ "The OBX-4 field for the containment tree elements is set to" ] }, { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "`3.0.0.0` for the MDS OBX segment," }, { "type": "item", "strMarker": "*", "strText": "`3.1.0.0` for the VMD OBX segment," }, { "type": "item", "strMarker": "*", "strText": "`3.1.2.0` for the CHAN OBX segment and" }, { "type": "item", "strMarker": "*", "strText": "`3.1.2.1` for the Metric OBX segment." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8117, "localId": "R8117", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> / <> shall set the OBX-18 field to the equipment (or device) identifier on the MDS level and/or the measurement module identifier of the equipment on the VMD level as defined in section <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the <> MDS meta data to the data fields of the HL7 data type *EI* used in the OBX-18 field." ] }, { "type": "block", "lines": [ "<> defines the mapping of the <> VMD information to the data fields of the HL7 data type *EI* used in the OBX-18 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8001, "localId": "R8001", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If available, the <> shall export height and weight as OBX segments on the MDS level." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping for the height observation is defined in table <> and the weight mapping in table <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8002, "localId": "R8002", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall use the *pm:PatientContextState/@BindingStartTime* as the timestamp for the height and weight observation and send new values as corrected results." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8003, "localId": "R8003", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the IHE DEC profile, the <> shall set the OBR-2 field to the identifier of the Device Observation Reporter (DOR) of the IHE DEC gateway (not the individual device identifier)." ] } ], "noteContent": [ { "type": "block", "lines": [ "For further information, please refer to the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8004, "localId": "R8004", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the IHE DEC profile, the <> shall set the OBR-3 field to the identifier of the Device Observation Reporter (DOR) of the IHE DEC gateway (not the individual device identifier)." ] } ], "noteContent": [ { "type": "block", "lines": [ "For further information, please refer to the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 8005, "localId": "R8005", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the IHE DEC profile, the <> shall set the OBR-4 field to the service identifier of the <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "For further information, please refer to the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8037, "localId": "R8037", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export continuously (periodically) measured metrics periodically at a defined interval." ] } ], "noteContent": [ { "type": "block", "lines": [ "It is up to the <> how the export interval is defined. The interval might be a fixed interval of e.g., 30 seconds, or a configurable interval ranging e.g., between 10 seconds and 2 minutes." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8038, "localId": "R8038", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-7 field to the start date and time of current export interval." ] } ], "noteContent": [ { "type": "block", "lines": [ "If, for example, the export interval is set to 30 seconds, the <> will export HL7 messages every 30 seconds with the OBR-7 field set to start date and time of the interval e.g., *20231030155930*, *20231030160000*, *20231030160030*, and so on." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8006, "localId": "R8006", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export the latest metric value of all continuously (periodically) measured metrics with a *pm:AbstractMetricState++++++/pm:MetricValue++++++/@DeterminationTime* which is equal or greater than the start date and time of the current interval, and less than the start date and time of the next export interval." ] } ], "noteContent": [ { "type": "block", "lines": [ "The OBR-7 field is set to the start time of the interval. The individual periodic metric value *@DeterminationTime* is basically ignored, but has to be within the time boundaries of the current export interval." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8007, "localId": "R8007", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For exporting episodic metric values and the absence of any continuously measured metric values for the current export interval, a <> shall set the OBR-7 field to the start date and time of current export interval." ] } ], "noteContent": [ { "type": "block", "lines": [ "Episodic metric values are usually exported along with the periodic metric values in the same export intervals. However, if a device does not provide periodic metric values in the current export interval, episodic metric values are exported in current export interval without periodic metric values." ] }, { "type": "block", "lines": [ "The *pm:AbstractMetricState++++++/pm:MetricValue++++++/@DeterminationTime* of an episodic metric value is set in the OBX-14 field and will override the timestamp defined in the OBR-7 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8008, "localId": "R8008", "globalId": "", "level": "MAY", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> may set the OBR-8 field to the end date and time of the current export interval." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement relates to the OBR-7 field mapping. Please refer to <> for further information." ] }, { "type": "block", "lines": [ "If, for example, the export interval is set to 30 seconds, the <> will export HL7 messages every 30 seconds with the OBR-7 field set to start date and time of the current interval and the OBR-8 field set to the start date and time of the next interval e.g., *20231030155930*|*20231030160000*, *20231030160000*|*20231030160030*, and so on." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8009, "localId": "R8009", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-10 field to the operator (user) information if available." ] }, { "type": "block", "lines": [ "The field is left empty if there is no valid SDC operator context." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC operator context information to the data fields of the HL7 data type *XCN* used in the OBR-10 field." ] }, { "type": "block", "lines": [ "The SDC operator context is only valid when the *pm:OperatorContextState/@ContextAssociation* is set to *\"Assoc\"* and a *pm:OperatorContextState/@BindingStartTime* is set." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8010, "localId": "R8010", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-2 field to the metric value type code as defined in *HL7 table 0125*." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC metric type to the data fields of the HL7 data type *ID* used in the OBX-2 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 8011, "localId": "R8011", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall leave the OBX-2 field empty for OBX segments defining the <>'s MDS, VMD, or CHAN containment tree elements." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8016, "localId": "R8016", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-5 field to the value of the SDC metric." ] } ], "noteContent": [ { "type": "block", "lines": [ "The formatting of the data depends on the data type." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8036, "localId": "R8036", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For a device-related element such as MDS, VMD, or channel, the OBX-5 field shall be left empty." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8017, "localId": "R8017", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall only export metrics with a *pm:AbstractMetricValue/pm:MetricQuality/@Validity* set to *Vld* (Valid) or *Vldated* (Validated Data)." ] } ], "noteContent": [ { "type": "block", "lines": [ "Metrics with a different *@Validity* are skipped/ignored." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8018, "localId": "R8018", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall only export metrics with the *pm:AbstractMetricDescriptor/@MetricCategory* set to *Msrmt* (Measurement), *Clc* (Calculation) or *Set* (Setting)." ] } ], "noteContent": [ { "type": "block", "lines": [ "Metrics with a different *@MetricCategory* are skipped/ignored." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8019, "localId": "R8019", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each numeric metric that complies with <> and <>, a <> shall set the OBX-5 field to the *pm:NumericMetricState/pm:MetricValue/@Value*." ] } ], "noteContent": [ { "type": "block", "lines": [ "Note that the decimal number needs to be formatted according to the HL7 numeric value formatting rules." ] }, { "type": "block", "lines": [ "Note that sample array metrics are not supported by the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8020, "localId": "R8020", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each string metric that complies with R8017 and R8018, a <> shall set the OBX-5 field to the *pm:StringMetricState/pm:MetricValue/@Value*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8021, "localId": "R8021", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each enumeration string metric that complies with R8017 and R8018, a <> shall set the OBX-5 field to a coded element value." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC coded element value to the data fields of the HL7 data type *CWE* used in the OBX-5 field." ] }, { "type": "block", "lines": [ "The *pm:EnumStringMetricState++++++/pm:MetricValue++++++/@Value* contains the string of the selected enumerated element.", "The actual coded element value can be retrieved from the *pm:EnumStringMetricDescriptor++++++/pm:AllowedValue* list by comparing the *pm:EnumStringMetricState++++++/pm:MetricValue++++++/@Value* with the *pm:EnumStringMetricDescriptor++++++/pm:AllowedValue++++++/pm:Value*." ] }, { "type": "block", "lines": [ "If a match has been found, the *pm:EnumStringMetricDescriptor++++++/pm:AllowedValue++++++/pm:Type* is required to be mapped as defined in <>." ] }, { "type": "block", "lines": [ "If no matching value has been found, the enumeration is treated as a string metric and the *pm:EnumStringMetricState++++++/pm:MetricValue++++++/@Value* is required to be set in the OBX-5 field, and", "the OBX-2 is required to be set to *\"ST\"* (see also <> and <>)." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8022, "localId": "R8022", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC coded element value in OBX-5 mapping, a <> shall map the identifier as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8023, "localId": "R8023", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each numeric metric, a <> shall set the OBX-6 field to a measurement unit." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> defines the mapping of the SDC measurement unit to the data fields of the HL7 data type *CWE* used in the OBX-6 field." ] }, { "type": "block", "lines": [ "For a device-related element such as MDS, VMD, CHANNEL, or other metric types, the OBX-6 field is left empty." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8024, "localId": "R8024", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC measurement unit of a metric, a <> shall map the identifier as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8026, "localId": "R8026", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall define the range of the alert limits on the metric level, if the *@Handle* of the metric is referenced by a *pm:LimitAlertConditionDescriptor* in the *pm:LimitAlertConditionDescriptor/pm:Source* list, by the format ` - ` where" ] } ], "noteContent": [ { "type": "block", "lines": [ "Note that the decimal number needs to be formatted according to the HL7 numeric value formatting rules." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8025, "localId": "R8025", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not set this field to the device measurement range capability for device related segments." ] } ], "noteContent": [ { "type": "block", "lines": [ "As stated in <> the reference range can only be set for device related segments (e.g., Channel). Within SDC the device measurement range refers to each metric and cannot be populated on higher levels in the containment tree." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8027, "localId": "R8027", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall leave the OBX-8 field empty as specified in the <> for valid and validated metric values." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8028, "localId": "R8028", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For a device-related element such as MDS, VMD, or CHANNEL, a <> shall set the OBX-11 field to *\"X\"*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8029, "localId": "R8029", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For metrics with the *pm:AbstractMetricValue/pm:MetricQuality/@Validity* set to *Vld* (Valid), a <> shall set the OBX-11 field to *\"R\"*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8030, "localId": "R8030", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For metrics with the *pm:AbstractMetricValue/pm:MetricQuality/@Validity* set to *Vldated* (Validated Data), a <> shall set the OBX-11 field to *\"F\"*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8031, "localId": "R8031", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-14 field to the date and time of the intermittently measured metric value." ] } ], "noteContent": [ { "type": "block", "lines": [ "Intermittently measured metrics have the *pm:AbstractMetricDescriptor/@MetricAvailability* set to \"*Intr*\"." ] }, { "type": "block", "lines": [ "<> defines the mapping of the SDC metric measurement timestamp to the data fields of the HL7 data type *DTM* used in the OBX-14 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8032, "localId": "R8032", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If available, a <> shall set the OBX-16 field to the operator." ] } ], "noteContent": [ { "type": "block", "lines": [ "Please refer to <> for further information." ] }, { "type": "block", "lines": [ "The <> requires only the map the \"ID Number\", and optionally the \"Family Name\" and \"Given Name\" in this field, whereas the OBR-10 field may contain additional information about the operator." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8033, "localId": "R8033", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-17 field to one of the coded terms as specified in <>, depending on the *pm:AbstractMetricDescriptor/@MetricCategory* (Category) and the *pm:AbstractMetricDescriptor/@DerivationMethod* (Derivation)." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8039, "localId": "R8039", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should repeat the OBX-17 field to express the *pm:AbstractMetricDescriptor/@MetricAvailability* as specified in <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8034, "localId": "R8034", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If available for the metric, a <> shall set the OBX-20 field to body site." ] } ], "noteContent": [ { "type": "block", "lines": [ "If the *pm:AbstractMetricState/pm:BodySite* element and the *pm:AbstractMetricDescriptor/pm:BodySite* element are available, the body site defined in the *pm:AbstractMetricState* is the preferred *pm:BodySite* element to be mapped." ] }, { "type": "block", "lines": [ "If *pm:BodySite* element list contains more than one *pm:BodySite* element, only the first entry of the list is used for the mapping." ] }, { "type": "block", "lines": [ "<> defines the mapping of the SDC body site element to the data fields of the HL7 data type *CWE* used in the OBX-20 field." ] }, { "type": "block", "lines": [ "For a device-related element such as MDS, VMD, or CHANNEL, the OBX-20 field is left empty." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8035, "localId": "R8035", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of a body site, a <> shall map the identifier as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8050, "localId": "R8050", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the IHE ACM profile, the <> shall set the OBR-2 field to the identifier of the Alarm Reporter (AR) of the IHE ACM gateway (not the individual device identifier)." ] } ], "noteContent": [ { "type": "block", "lines": [ "For further information, please refer to the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8051, "localId": "R8051", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-3 field to a unique identifier for the status to the alert indication." ] } ], "noteContent": [ { "type": "block", "lines": [ "For further information, please refer to the <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8052, "localId": "R8052", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the *initial alert event announcement message*, a <> shall set the OBR-3/EI-1 field to the unique identifier for the alert event." ] } ], "noteContent": [ { "type": "block", "lines": [ "This identifier consists of the *pm:AlertConditionState/@DescriptorHandle* plus the *SequenceId* plus the *pm:AlertConditionState/@StateVersion* of the state report." ] }, { "type": "block", "lines": [ "Unique Alert Event Identifier:" ] }, { "type": "block", "lines": [ "\"0x5C00009D.ae3170b5-4fd7-43b5-94c6-71b933342ffe.45\"" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8053, "localId": "R8053", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the *subsequent alert event messages for the same alert event*, a <> shall set the OBR-3/EI-1 field to the unique identifier of the alert event message that relates to the same alert event as announced in the initial alert event message." ] } ], "noteContent": [ { "type": "block", "lines": [ "This identifier is usually defined by the gateway." ] }, { "type": "block", "lines": [ "Unique Alert Event Message Identifier:" ] }, { "type": "block", "lines": [ "\"bd3170b6-4fd7-43b5-94c6-71b935642fac\"" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8054, "localId": "R8054", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-4 field to *\"196616\\^MDC_EVT_ALARM^MDC\"*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8055, "localId": "R8055", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-7 field to the date and time at which the Alert Reporter (AR) of the IHE ACM gateway created the alert event message to be sent." ] } ], "noteContent": [ { "type": "block", "lines": [ "Please refer to the *Appendix B B.7.1 OBR Observation Request Segment in ACM Transaction [PCD-04]* of the <> for further information." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8056, "localId": "R8056", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBR-29 field to the unique alert event identifier of the initial alert event message as defined for the OBR-3 field." ] } ], "noteContent": [ { "type": "block", "lines": [ "Please refer to <> for further information." ] }, { "type": "block", "lines": [ "The field is left empty for the initial alert event announcement message which contains the unique alert event identifier in the OBR-3 field." ] }, { "type": "block", "lines": [ "In all subsequent alert event messages, the OBR-29 field is set to the initial unique alert event identifier from the OBR-3 field." ] }, { "type": "block", "lines": [ "The table <> defines the mapping of the Alert Event Identifier to the data fields of the HL7 data type *EIP* used in the OBR-29 field." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8057, "localId": "R8057", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export device-related OBX segments, which define the hierarchical relationship of the alert event in the device's containment tree." ] } ], "noteContent": [ { "type": "block", "lines": [ "There might be up to three device-related OBX segments for the MDS, VMD, and CHANNEL dependent on the specific device's containment tree. The general mapping of the device-related OBX segments is defined in table <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8058, "localId": "R8058", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC device-related element, the identifier shall be mapped as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8061, "localId": "R8061", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export an Event Identification OBX segment which identifies the alert event." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping differs for physiological alert events and technical/advisory alert events (please refer also to <> for further information)." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8077, "localId": "R8077", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall report the Alert Event Phase as \"update\" when there are more updates than just the Alert Priority as specified in <> for the \"update\" Alert Event Phase." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8062, "localId": "R8062", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-14 field of the Event Identification OBX segment to the date/time of the alert event status change." ] } ], "noteContent": [ { "type": "block", "lines": [ "This either applies to a change of the *pm:AlertConditionState* or the *pm:AlertSignalState* of the signals related to the alert condition." ] }, { "type": "block", "lines": [ "The date/time to be set in the OBX-14 field relates to the alert event phase. <> defines the date/time mapping per alert event phase." ] }, { "type": "block", "lines": [ "The HL7 date and time format differs from the xsd date/time formats and requires a mapping accordingly (please refer to <> for further information)." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8063, "localId": "R8063", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC coded element value, the identifier shall be mapped as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8064, "localId": "R8064", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC coded element value, the identifier shall be mapped as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8065, "localId": "R8065", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export a Source Identification OBX segment, which identifies the source that led to the alert event." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping differs for physiological alert events and technical/advisory alert events (refer to <> for further information)." ] }, { "type": "block", "lines": [ "For physiological alert conditions, the alert event usually relates to a metric and its corresponding value that triggered the alert event. The *pm:AlertConditionDescriptor/pm:Source* element contains the handle to the related metric for the alert condition." ] }, { "type": "block", "lines": [ "For technical alert conditions, the alert event usually relates to a device-related element such as the MDS, a VMD, a CHANNEL, or METRIC. The *pm:AlertConditionDescriptor/pm:Source* element usually contains the handle to the device-related element. If *pm:Source* is empty, the alert condition relates to the device-related element which is the parent of the alert system to which the alert condition is assigned to." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8059, "localId": "R8059", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For a physiological alert event, a <> shall set the OBX-3 field in the <> to the source identifier." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8060, "localId": "R8060", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For a technical or advisory alert event, a <> shall set the OBX-5 field in the <> to the source identifier." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8066, "localId": "R8066", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall map the source identification for physiological alerts (alarms or advisories) to an OBX segment as defined in <>. The gateway captures the state of the related metric at the time the alert event occurred." ] } ], "noteContent": [ { "type": "block", "lines": [ "In SDC, the metric value that led to the physiological alert event is required to be reported in a state update before the *pm:AlertConditionState* update is reported. That is, the latest state of the metric related to the alert condition contains the value that led to the alert event when the *pm:AlertConditionState/@Presence* changed from *\"false\"* to *\"true\"*." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8067, "localId": "R8067", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-4 Observation Sub-ID to *\"....2\"* where **, **, **, and ** are the numbers of the device’s containment tree levels assigned by the gateway." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8068, "localId": "R8068", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set the OBX-11 Observation Result Status to *\"R\"*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8069, "localId": "R8069", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If a private *<>* code is used for the coding of the SDC coded element value, the identifier shall be mapped as described in Section <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8070, "localId": "R8070", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export an Event Phase OBX segment, which identifies the alert event phase." ] } ], "noteContent": [ { "type": "block", "lines": [ "The actual value of the IHE ACM Alert Event Phase attribute depends on a combination of SDC alert condition/signal states. The mapping is defined in table <>." ] }, { "type": "block", "lines": [ "All *pm:AlertSignalState* attributes, which are referred in table <> and needed to determine the actual alert phase, relate to *pm:AlertSignalState* elements with the *@Location* set to *\"Loc\"*." ] }, { "type": "block", "lines": [ "Unless the *pm:AlertConditionState/@ActivationState* is set to *\"On\"*, the *pm:AlertConditionState/@Presence* is always set to *\"false\"*; that is, the gateway will not export any IHE ACM alert event messages." ] }, { "type": "block", "lines": [ "OBX|6|ST|68481\\^MDC_ATTR_EVENT_PHASE^MDC|1.1.1.1.3|start||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8078, "localId": "R8078", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall report the Alert Event Phase as \"update\" when there are more updates than just the Alert Priority as specified in <> for the \"update\" Alert Event Phase." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8071, "localId": "R8071", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export an Alert State OBX segment, which defines the current state of the alert event." ] } ], "noteContent": [ { "type": "block", "lines": [ "The actual value of the IHE ACM Alert State attribute depends on a combination of SDC alert condition/signal states. The mapping is defined in table <>." ] }, { "type": "block", "lines": [ "All *pm:AlertSignalState* attributes, which are referred in table <> and needed to determine the actual alert phase, relate to *pm:AlertSignalState* elements with the *@Location* set to *\"Loc\"*." ] }, { "type": "block", "lines": [ "Unless the *pm:AlertConditionState/@ActivationState* is set to *\"On\"*, the *pm:AlertConditionState/@Presence* is always set to *\"false\"*; that is, the gateway will not export any IHE ACM alert event messages." ] }, { "type": "block", "lines": [ "OBX|7|ST|68482\\^MDC_ATTR_ALARM_STATE^MDC|1.1.1.1.4|active||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8072, "localId": "R8072", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall only report an inactive alert condition when the alarm condition transitioned from active or latched to inactive." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8073, "localId": "R8073", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall export an Inactivation State OBX segment, which defines the current inactivation state of the alert event." ] } ], "noteContent": [ { "type": "block", "lines": [ "The actual value of the IHE ACM Alert Inactivation State attribute depends on a combination of SDC alert condition/signal states. The mapping is defined in table <>." ] }, { "type": "block", "lines": [ "The OBX-5 field can contain multiple inactivation states separated by the HL7 message 'repeating field' character (usually '~'). Example: *\"audio-off~alert-acknowledged\"*" ] }, { "type": "block", "lines": [ "All *pm:AlertSignalState* attributes, which are referred in table <> and needed to determine the actual alert phase, relate to *pm:AlertSignalState* elements with the *@Location* set to *\"Loc\"*." ] }, { "type": "block", "lines": [ "Unless the *pm:AlertConditionState/@ActivationState* is set to *\"On\"*, the *pm:AlertConditionState/@Presence* is always set to *\"false\"*; that is, the gateway will not export any IHE ACM alert event messages." ] }, { "type": "block", "lines": [ "OBX|8|ST|68483\\^MDC_ATTR_ALARM_INACTIVATION_STATE^MDC|1.1.1.1.5|enabled||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8074, "localId": "R8074", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall map the SDC *pm:AlertConditionDescriptor/@Priority* attribute to an IHE ACM Alert Priority OBX segment as defined in the <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping is defined in table <>." ] }, { "type": "block", "lines": [ "OBX|9|ST|68484\\^MDC_ATTR_ALARM_PRIORITY^MDC|1.1.1.1.6|PM||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8075, "localId": "R8075", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "In the case of an alert priority escalation or deescalation, the *pm:AlertConditionState/@ActualPriority* is updated with a new priority that differs from the previous *@ActualPriority* in the state or the *@Priority* in the descriptor." ] }, { "type": "block", "lines": [ "In this case, the gateway shall send a new alert event message with the updated priority." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8076, "localId": "R8076", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall map the SDC *pm:AlertConditionDescriptor/@Kind* to an IHE ACM Alert Type OBX segment as defined in the <>." ] } ], "noteContent": [ { "type": "block", "lines": [ "The mapping is defined in table <>." ] }, { "type": "block", "lines": [ "OBX|10|ST|68485\\^MDC_ATTR_ALERT_TYPE^MDC|1.1.1.1.7|ST||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 8079, "localId": "R8079", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If *pm:AlertConditionState++++++/@ActualPriority* is available and set to *\"None\"*, or if *pm:AlertConditionState++++++/@ActualPriority* is NOT available and *pm:AlertConditionDescriptor++++++/@Priority* set to *\"None\"*, then the <> ALERT CONDITION is an advisory, and the alert type shall be set to *\"SA\"* in the IHE ACM Alert Type OBX segment." ] } ], "noteContent": [ { "type": "block", "lines": [ "OBX|10|ST|68485\\^MDC_ATTR_ALERT_TYPE^MDC|1.1.1.1.7|SA||||||R" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 701, "localId": "R0701", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "All <> systems shall fully implement the semantic content requirements in the <> <> standard." ] } ], "noteContent": [ { "type": "block", "lines": [ "This includes strict implementation of the <> <> specification, as well as use of the <> nomenclature." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 702, "localId": "R0702", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> shall disclose the OIDs that it uses throughout SDC communication." ] } ], "noteContent": [ { "type": "block", "lines": [ "This includes OIDs for private codes as detailed in <>, for private SDC extensions and for private PKPs." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 19, "localId": "R0019", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not provide BICEPS extensions that use XML mixed content." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 20, "localId": "R0020", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not provide BICEPS extensions that are based on or use the XML Schema QName type." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 21, "localId": "R0021", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "Biceps extensions, with timestamps who's interpretation by a <> would be affected by unexpected abrupt time adjustments, should support timestamp versioning using the <> extension." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "Extension authors can add types that inherit from `sdpi:TimestampEpochVersionType` to support versioning their timestamps." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 8, "localId": "R0008", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If available by the <> of a <>, the <> shall include every production specification listed in <> in its MDSs, unless a mapping to the BICEPS Participant Model exists." ] } ], "noteContent": [ { "type": "block", "lines": [ "<> shows the mapping between IEEE 11073-10101 RefIds and the BICEPS Participant Model. A dash in the column _{var_column_pm_mapping}_ signifies a non-existent mapping." ] }, { "type": "block", "lines": [ "Other production specifications may be used for types that are not listed in <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 9, "localId": "R0009", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If available by the <> of a <>, the <> shall include every attribute listed in <> in its MDS descriptors." ] } ], "noteContent": [ { "type": "block", "lines": [ "Other attributes may be used for types that are not listed in <>." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 7, "localId": "R0007", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall set `sdpi:MdcAttribute/@Code` to any code from the first partition of the IEEE 11073-10101 nomenclature in the range of 67841 (1::2305) to 68609 (1::3073)." ] } ], "noteContent": [ { "type": "block", "lines": [ "This prevents <>s from using codes outside the intended range of attributes." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 12, "localId": "R0012", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "If the administrative gender of a patient described by a pm:PatientDemographicsCoreData element is available, a <> shall at least add the sdpi:Gender extension to the pm:PatientDemographicsCoreData/ext:Extension element." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 14, "localId": "R0014", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the `sdpi:EquipmentIdentifier` extension, a <> shall use a stable, globally unique URI that is constant across re-initializations of the <> and uniquely refers to a physical or virtual entity." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 15, "localId": "R0015", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For the `sdpi:EquipmentIdentifier` extension, a <> shall use URI-encoded UUIDs or OIDs." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_participant" ], "requirementNumber": 16, "localId": "R0016", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "To test if two equipment identifiers are equal, a <> shall perform case-sensitive string comparison." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 17, "localId": "R0017", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall provide the `sdpi:EquipmentIdentifier` extension for each pm:MdsDescriptor in its <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 18, "localId": "R0018", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each <> <> of a <>, the <> should provide the `sdpi:EquipmentIdentifier` extension for the pm:VmdDescriptor in its <>." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 703, "localId": "R0703", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each compound metric, the <> shall provide a *pm:Relation* element to relate to all metrics belonging to the same compound metric." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 704, "localId": "R0704", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each *pm:Relation* of a <> that expresses membership in a compound metric, the <> shall set *pm:Code* to the coded term of the compound metric it belongs to." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 705, "localId": "R0705", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each *pm:Relation* of a <> that expresses membership in a compound metric, the <> shall set *@Kind* to *SST*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 706, "localId": "R0706", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each *pm:Relation* of a <> that expresses membership in a compound metric, the <> shall include all handle references of those metrics that belong to the same compound metric in *pm:Relation/@Entries* excluding the handle of the metric that contains the *pm:Relation*." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 707, "localId": "R0707", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each compound metric of a <>, if *@StartTime* and *@StopTime* are available, the <> shall provide the same values for *@StartTime* and *@StopTime* in each metric of the compound metric to signify the same measurement cycle." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 708, "localId": "R0708", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For each compound metric of a <>, if *@StartTime* and *@StopTime* are not available, the <> shall provide the same value for *@DeterminationTime* in each metric of the compound metric to signify the same measurement cycle." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 600, "localId": "R0600", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall include the `sdpi:EpochSupport` extension and set `sdpi:EpochSupport/@Version=1` in every <> `pm:ClockDescriptor`, used as part of its System Function Contribution (<>), that uses epoch versioning for <>s." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "The presence of `sdpi:EpochSupport` indicates support for this extension and related requirements." }, { "type": "item", "strMarker": "*", "strText": "A <> may set `ext:MustUnderstand=\"true\"` to prevent consumers that do not understand this extension from processing the <>." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 601, "localId": "R0601", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall ignore all epoch version information on any system clocks that do not include the `sdpi:EpochSupport` extension in any MDIB version or if the `sdpi:EpochSupport/@Version` changes within a single sequence id." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "The `spdi:EpochSupport` extension is intended to be immutable." }, { "type": "item", "strMarker": "*", "strText": "A <> may rely on future versions of the extension being backwards compatible." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 605, "localId": "R0605", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "The <> shall increment `sdpi:Epochs/@Version` by exactly one, beginning from 0, for every non-slewing time adjustment to any system clock used as part of its System Function Contribution (<>)." ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 606, "localId": "R0606", "globalId": "", "level": "SHOULD", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> should set the version of all versioned timestamps to 0 when it assigns a new MDIB sequence identifier (`pm:MdibVersionGroup/@SequenceId`)." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "Epoch versions are generally scoped to the `pm:MdibVersionGroup/@SequenceId`. Some providers may carry versioned timestamps across new sequences, particularly if the new sequence is created for reasons other than an abrupt time adjustment." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 610, "localId": "R0610", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> that versions timestamps in any `pm:AbstractMetricValue`, `pm:AbstractContextState`, `pm:AlertSystemState`, `pm:CalibrationInfo` and/or `pm:AlertConditionState` shall include, in every clock state update, the complete history of epoch offsets from the earliest version referenced in the MDIB to the current epoch." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "Epoch offsets provide a mechanism for consumers to (approximately) reconstruct time between epochs. Reconstruction can only be approximate because there is no mechanism to determine the source and timing of any external discrepancies that led to the abrupt change in a <>." }, { "type": "item", "strMarker": "*", "strText": "This allows a <> to choose which timestamps it versions. For example context binding timestamps (which may remain out of date significantly longer than other metrics) could be versioned but regularly updated metrics may not require timestamp versions." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 611, "localId": "R0611", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not change the epoch version assigned to a timestamp without creating a new timestamp." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "Epoch versions and timestamps are immutable and may not change independently." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 612, "localId": "R0612", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "When the source clock of a versioned timestamp is ambiguous, a <> shall include a reference to the `pm:ClockDescriptor/@Handle` in `sdpi:TimestampEpochVersionType/@Clock`." ] } ], "noteContent": [ { "type": "ulist", "items": [ { "type": "item", "strMarker": "*", "strText": "The clock source is not ambiguous when there is only one clock in the whole <>, or there is only one clock in the `pm:Mds` containing the `pm:AbstractState` that includes the versioned timestamp and the version timestamp does not use a clock from a different `pm:Mds`." }, { "type": "item", "strMarker": "*", "strText": "The `sdpi:TimestampEpochVersionType/@Clock` may be omitted when the source clock is not ambiguous to reduce message size." }, { "type": "item", "strMarker": "*", "strText": "This extension does not support timestamps in a single `pm:AbstractState` to be versioned from more than one source clock." } ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider", "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1006, "localId": "R1006", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall send messages that convey msg:WaveformStream, msg:AbstractMetricReport, msg:AbstractOperationalStateReport, msg:AbstractComponentReport, msg:AbstractAlertReport, msg:ObservedValueStream, msg:DescriptionModificationReport, and msg:AbstractContextReport elements to a <> in the ascending order of the <>'s pm:MdibVersionGroup/@MdibVersion." ] } ], "noteContent": [ { "type": "block", "lines": [ "BICEPS does not specify the order in which report messages are sent to <>s. This requirement restricts messages to be transmitted in the ascending order of the <>'s <> version." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1007, "localId": "R1007", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "Within an <> sequence, a <> shall send msg:WaveformStream, msg:EpisodicMetricReport, msg:EpisodicOperationalStateReport, msg:EpisodicComponentReport, msg:EpisodicAlertReport, msg:ObservedValueStream, msg:DescriptionModificationReport, and msg:EpisodicContextReport messages with a strictly increasing msg:AbstractReport/@MdibVersion." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement verifies that for a <> there will be no two reports with the same <> version. Furthermore, it prohibits decrementing version numbers within an <> sequence." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1008, "localId": "R1008", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not send msg:DescriptionModificationReport messages in which any two descriptors have the same handle." ] } ], "noteContent": [ { "type": "block", "lines": [ "This requirement simplifies processing of changes for a <> in a way that the <> can apply description modification changes one by one without additional consistency checks. If deletion and re-insertion of objects is needed, a <> sends out two description modification reports successively." ] }, { "type": "block", "lines": [ "DEPRECATION NOTICE - This requirement is being incorporated into the IEEE 11073-10207 BICEPS standard through a corrigendum. Once IEEE has published the IEEE 11073-10207 BICEPS Corrigenda, this SDPi requirement will be no longer needed, and will hence be removed." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1009, "localId": "R1009", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall order msg:DescriptionModificationReport/msg:ReportPart elements in a way that for an inserted parent descriptor, inserted child descriptors appear after that parent descriptor." ] } ], "noteContent": [ { "type": "block", "lines": [ "This explicitly requires to only communicate children as inserted if the parent has been inserted already, which simplifies insertion of descriptors on the <> side." ] }, { "type": "block", "lines": [ "DEPRECATION NOTICE - This requirement is being incorporated into the IEEE 11073-10207 BICEPS standard through a corrigendum (albeit without the clarification note immediately above). Once IEEE has published the IEEE 11073-10207 BICEPS Corrigenda, this SDPi requirement will be no longer needed, and will hence be removed." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1010, "localId": "R1010", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall not add pm:AbstractDescriptor elements to pm:AbstractDescriptors below msg:DescriptionModificationReport/msg:ReportPart." ] } ], "noteContent": [ { "type": "block", "lines": [ "Replaces biceps:R5024: \"Descriptors in this list SHALL not include nested descriptors.\"" ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_provider" ], "requirementNumber": 1011, "localId": "R1011", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall communicate a parent descriptor as deleted only if it does not include any child descriptors." ] } ], "noteContent": [ { "type": "block", "lines": [ "Replaces biceps:R5046: \"If a parent descriptor is deleted, then all child descriptors of that parent SHALL communicated as deleted in advance.\"" ] }, { "type": "block", "lines": [ "DEPRECATION NOTICE - This requirement is being incorporated into the IEEE 11073-10207 BICEPS standard through a corrigendum. Once IEEE has published the IEEE 11073-10207 BICEPS Corrigenda, this SDPi requirement will be no longer needed, and will hence be removed." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "actors": [ "vol1_spec_sdpi_p_actor_somds_consumer" ], "requirementNumber": 1015, "localId": "R1015", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "For any metric's *@StepWidth* or *@Resolution*, a <> shall ignore trailing zeros after the decimal point when determining display precision." ] } ], "noteContent": [ { "type": "block", "lines": [] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 1016, "localId": "R1016", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall determine the _active range_ for the current metric's *@Value* or a set of multiple metric's *@Samples* to be displayed at the <>'s display by the following priority order:" ] } ], "noteContent": [ { "type": "block", "lines": [ "If the <> wants to display, for example, a wave on the screen which consists of samples from multiple metric's *@Samples*, the display precision of the wave must be determined from the display precision of the individual samples. It is then up to the <> to select a common display precision for all samples to be displayed at the screen as a wave." ] } ], "exampleContent": [], "relatedContent": [] } }, { "type": "tech-feature", "requirementNumber": 1017, "localId": "R1017", "globalId": "", "level": "SHALL", "groups": [], "specification": { "normativeContent": [ { "type": "block", "lines": [ "A <> shall determine the current display precision for a metric's *@Value* or *@Samples* by the following priority order:" ] } ], "noteContent": [], "exampleContent": [], "relatedContent": [] } } ]