/** * @param userId The identity of the remote user or process receiving the data * @param altUserId Alternate UserID * @param userName UserName * @param networkAccessPointId Network Access Point ID * @param userIsRequestor A single user (either local or remote) shall be identified as the requestor, i.e., * UserIsRequestor with a value of TRUE. This accommodates both push and pull transfer models for media * @return this */ public DataExportBuilder addReceivingParticipant(String userId, String altUserId, String userName, String networkAccessPointId, boolean userIsRequestor) { return addDestinationActiveParticipant(userId, altUserId, userName, networkAccessPointId, userIsRequestor); }
/** * @param userId The identity of the local user or process exporting the data. If both are known, * then two active participants shall be included (both the person and the process). * @param altUserId Alternate UserID * @param userName UserName * @param networkAccessPointId Network Access Point ID * @param userIsRequestor A single user (either local or remote) shall be identified as the requestor, i.e., * UserIsRequestor with a value of TRUE. This accommodates both push and pull transfer models for media * @return this */ public DataExportBuilder addExportingParticipant(String userId, String altUserId, String userName, String networkAccessPointId, boolean userIsRequestor) { return addSourceActiveParticipant(userId, altUserId, userName, networkAccessPointId, userIsRequestor); }
public DataExportBuilder(EventOutcomeIndicator outcome, String eventOutcomeDescription, EventActionCode eventActionCode, EventType eventType, PurposeOfUse... purposesOfUse) { super(); setEventIdentification(outcome, eventOutcomeDescription, eventActionCode, EventIdCode.Export, eventType, purposesOfUse ); }
public T setPatient(String patientId) { if (patientId != null) { delegate.addPatientParticipantObject( patientId, null, Collections.emptyList(), null); } return self(); }
/** * @param userId UserID * @param altUserId Alternate UserID * @param userName UserName * @param networkAccessPointId Network Access Point ID * @param mediaIdentifier Media Identifier * @param mediaType Media Type * @return this */ public DataExportBuilder setDestinationMediaParticipant(String userId, String altUserId, String userName, String networkAccessPointId, NetworkAccessPointTypeCode networkAccessPointTypeCode, String mediaIdentifier, MediaType mediaType) { return addActiveParticipant( userId, altUserId, userName, false, Collections.singletonList(ActiveParticipantRoleIdCode.DestinationMedia), networkAccessPointId, networkAccessPointTypeCode, mediaIdentifier, requireNonNull(mediaType)); }
@Override public void validate() { super.validate(); int sources = getMessage().findActiveParticipants(ap -> ap.getRoleIDCodes().contains(ActiveParticipantRoleIdCode.Source)).size(); if (sources < 1 || sources > 2) { throw new AuditException("Must have one or two ActiveParticipant with RoleIDCode Source"); } if (getMessage().findActiveParticipants(ap -> ap.getRoleIDCodes().contains(ActiveParticipantRoleIdCode.DestinationMedia)).size() != 1) { throw new AuditException("Must have one ActiveParticipant with RoleIDCode DestinationMedia"); } if (getMessage().findParticipantObjectIdentifications(poi -> poi.getParticipantObjectIDTypeCode() == ParticipantObjectIdTypeCode.PatientNumber).isEmpty()) { throw new AuditException("Must one or more ParticipantObjectIdentification with ParticipantObjectIDTypeCode PatientNumber"); } } }
public T addExportedEntity( String objectId, ParticipantObjectIdType participantObjectIdType, ParticipantObjectTypeCode participantObjectTypeCode, ParticipantObjectTypeCodeRole participantObjectTypeCodeRole, ParticipantObjectDataLifeCycle participantObjectDataLifeCycle, List<TypeValuePairType> details) { delegate.addParticipantObjectIdentification( requireNonNull(participantObjectIdType, "Exported entity ID type must not be null"), null, null, details, objectId != null ? objectId : getAuditContext().getAuditValueIfMissing(), participantObjectTypeCode, participantObjectTypeCodeRole, participantObjectDataLifeCycle, null); return self(); }
public PHIExportBuilder(AuditContext auditContext, AuditDataset auditDataset, EventOutcomeIndicator eventOutcomeIndicator, String eventOutcomeDescription, EventActionCode eventActionCode, EventType eventType, PurposeOfUse... purposesOfUse) { super(auditContext, new DataExportBuilder( eventOutcomeIndicator, eventOutcomeDescription, eventActionCode, eventType, purposesOfUse)); // First the source, then the destination if (auditDataset.isServerSide()) { setRemoteParticipant(auditDataset); addHumanRequestor(auditDataset); setLocalParticipant(auditDataset); } else { setLocalParticipant(auditDataset); addHumanRequestor(auditDataset); setRemoteParticipant(auditDataset); } }