Skip to content

Commit

Permalink
ENSEMBLE identifier is needed to ensure membership indication of desi…
Browse files Browse the repository at this point in the history
…red ENSEMBLE
  • Loading branch information
pstaeck committed Dec 4, 2024
1 parent d3d3821 commit 83789cd
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 12 deletions.
11 changes: 11 additions & 0 deletions src/t2iapi/context/context_requests.proto
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,14 @@ Request to associate a specific patient type.
message AssociatePatientRequest {
PatientType patient_type = 1; // Patient type to be associated
}

/*
Request to indicate membership in an SDC PARTICIPANT ENSEMBLE for a provided pm:EnsembleContextDescriptor and a
provided ENSEMBLE identifier.
*/
message EnsembleIdentifierRequest {
string descriptor_handle = 1;
string ensemble_identifier = 2; // ENSEMBLE identifier that refers to a SDC PARTICIPANT ENSEMBLE whose membership
// to be indicated
}

18 changes: 15 additions & 3 deletions src/t2iapi/context/context_responses.proto
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,23 @@ message EnsembleContextIndicateMembershipWithIdentificationResponse {
}

/*
Response which contains a list of @Handles of pm:EnsembleContextStates. The corresponding states form a representative
set of pm:EnsembleContextStates which if associated are sufficient to indicate membership in the SDC
Response which contains a list of pairs whereby each pair consists of a pm:EnsembleContextStates/@Handle and an ENSEMBLE
identifier that refers to the SDC PARTICIPANT ENSEMBLE whose membership is indicated by that state. The states form a
representative set of pm:EnsembleContextStates which if associated are sufficient to indicate membership in the SDC
PARTICIPANT ENSEMBLE(s) for a given pm:EnsembleContextDescriptor.
*/
message RepresentativeEnsembleMembershipIndicationResponse {
BasicResponse status = 1;
repeated string context_state_handle = 2;
repeated ContextStateEnsembleIdentifierPair context_state_ensemble_identifier_pair = 2;
}

/*
Response containing the @Handle of the newly created or adapted pm:EnsembleContextState. It is created or adapted such
that its @ContextAssociation is 'Assoc' in order to indicates membership in a SDC PARTICIPANT ENSEMBLE specified by the
ENSEMBLE identifier.
*/
message IndicateMembershipInEnsembleByIdentifierResponse {
BasicResponse status = 1;
string context_state_handle = 2; // @Handle of the pm:EnsembleContextStates, that was created or adapted such that
// it indicates membership in an SDC PARTICIPANT ENSEMBLE
}
37 changes: 28 additions & 9 deletions src/t2iapi/context/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,12 @@ service ContextService {
/*
Indicate membership in an SDC PARTICIPANT ENSEMBLE resp. in SDC PARTICIPANT ENSEMBLEs for a provided
pm:EnsembleContextDescriptor by associating each state contained in a representative set of pm:EnsembleContextStates
of that descriptor. Return the list of handles of states contained in that representative set.
of that descriptor. Return a list of pairs whereby each pair consists of a state handle contained in the
representative set and an ENSEMBLE identifier that refers to the SDC PARTICIPANT ENSEMBLE whose membership is
indicated by that state.There is exactly one pair for each state handle contained in the representative set.
The ENSEMBLE identifier is valid until the next call of this method. It is specified by the USER and shall uniquely
identify the related SDC PARTICIPANT ENSEMBLE.
The representative set of pm:EnsembleContextStates for a given pm:EnsembleContextDescriptor is a minimal set of
pm:EnsembleContextStates which if associated are sufficient to indicate membership in the SDC PARTICIPANT ENSEMBLE(s)
Expand All @@ -170,32 +175,46 @@ service ContextService {
Example 1: treatment session
The fact that a POC MEDICAL DEVICE is currently working in a (temporal) logical group based on a treatment session
may be expressed by a pm:EnsembleContextDescriptor. If each of its pm:EnsembleContextStates describes a step in
this treatment session, then it is sufficient if the manipulation returns only one state handle. It is
representative since all pm:EnsembleContextStates of the pm:EnsembleContextDescriptor behave the same and indicate
membership in the logical group resp. SDC PARTICIPANT ENSEMBLE if associated.
this treatment session, then it is sufficient if the manipulation returns only one state handle and the related
ENSEMBLE identifier. It is representative since all pm:EnsembleContextStates of the pm:EnsembleContextDescriptor
behave the same and indicate membership in the logical group resp. SDC PARTICIPANT ENSEMBLE if associated.
Example 2: location inferring
If a pm:EnsembleContextDescriptor has multiple pm:EnsembleContextStates whereby each describes a membership of a
location-inferred SDC PARTICIPANT ENSEMBLE if associated. It is sufficient that the manipulation returns only one
state handle since it is representative. All pm:EnsembleContextStates of the pm:EnsembleContextDescriptor behave the
same independent of the location allocation.
state handle and the related ENSEMBLE identifier since it is representative. All pm:EnsembleContextStates of the
pm:EnsembleContextDescriptor behave the same independent of the location allocation.
Example 3: general hospital process
Consider a general process within the hospital with multiple steps whereby each step is divided into multiple minor
steps describing the major step more precisely. Membership of this main process as well as of the sub processes is
modeled by a pm:EnsembleContextDescriptor that has multiple pm:EnsembleContextStates for the major as well as for
the minor steps. To indicate membership in the main as well as in the sub process a pm:EnsembleContextState
representing a major step and a pm:EnsembleContextState representing a major's minor step have to be associated.
It is sufficient that the manipulation returns the state handles of these two pm:EnsembleContextStates. In case the
process steps at each level differs structurally (e.g. a main step has no minor steps or the nesting depth of the
sub processes varies) the returned set of states must be extended accordingly to be still representative.
It is sufficient that the manipulation returns the state handles of these two pm:EnsembleContextStates and their
related ENSEMBLE identifiers. In case the process steps at each level differs structurally (e.g. a main step has
no minor steps or the nesting depth of the sub processes varies) the returned set of states must be extended
accordingly to be still representative.
The state shall be persistent until a next manipulation call. If the device is not able to maintain the static state,
it shall return RESULT_NOT_SUPPORTED.
*/
rpc RepresentativeEnsembleMembershipIndication (BasicHandleRequest)
returns (RepresentativeEnsembleMembershipIndicationResponse);

/*
Indicate membership in an SDC PARTICIPANT ENSEMBLE for a provided pm:EnsembleContextDescriptor and for a provided
ENSEMBLE identifier by creation or adaption of a pm:EnsembleContextState such that its @ContextAssociation is "Assoc".
Return the handle of that pm:EnsembleContextState.
The ENSEMBLE identifier is USER specified and shall uniquely identify the related SDC PARTICIPANT ENSEMBLE.
The state shall be persistent until a next manipulation call. If the device is not able to maintain the static state,
it shall return RESULT_NOT_SUPPORTED.
*/
rpc IndicateMembershipInEnsembleByIdentifier (EnsembleIdentifierRequest)
returns (IndicateMembershipInEnsembleByIdentifierResponse);

/*
End membership in an SDC PARTICIPANT ENSEMBLE for a provided pm:EnsembleContextState/@Handle.
Expand Down
8 changes: 8 additions & 0 deletions src/t2iapi/context/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,12 @@ enum ContextType {
CONTEXT_TYPE_OPERATOR = 3;
CONTEXT_TYPE_MEANS = 4;
CONTEXT_TYPE_ENSEMBLE = 5;
}

/*
Represents pair of pm:EnsembleContextState/@Handle and ENSEMBLE identifier referring to an SDC PARTICIPANT ENSEMBLE.
*/
message ContextStateEnsembleIdentifierPair {
string context_state_handle = 1;
string ensemble_identifier = 2;
}

0 comments on commit 83789cd

Please sign in to comment.