source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/SubscriptionRepository/src/gov/hhs/fha/nhinc/subscription/repository/service/SubscriptionRepositoryService.java@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 2.5 KB
Line 
1package gov.hhs.fha.nhinc.subscription.repository.service;
2
3import gov.hhs.fha.nhinc.subscription.repository.data.SubscriptionCriteria;
4import gov.hhs.fha.nhinc.subscription.repository.data.SubscriptionRecord;
5import gov.hhs.fha.nhinc.subscription.repository.data.SubscriptionRecordList;
6import gov.hhs.fha.nhinc.subscription.repository.data.SubscriptionReference;
7import gov.hhs.fha.nhinc.subscription.repository.data.SubscriptionType;
8
9/**
10 * Interface for access to a subscription repository
11 *
12 * @author Neil Webb
13 */
14public interface SubscriptionRepositoryService
15{
16 /**
17 * Store a subscription item in the repository.
18 *
19 * @param subscriptionRecord Object to store
20 * @return The subscription reference to the newly created subscription record
21 */
22 public SubscriptionReference storeSubscription(SubscriptionRecord subscriptionRecord);
23
24 /**
25 * Remove a subscription from the repository.
26 *
27 * @param subscriptionRecord Subscription record to delete.
28 */
29 public void deleteSubscription(SubscriptionRecord subscriptionRecord);
30
31 /**
32 * Retrieve matching subscriptions matching the provided criteria. Both
33 * the subscribee and subscriber patients must match (may be null) and the
34 * criterion values provided must all be found in the stored criterion.
35 *
36 * @param criteria Subscription criteria to use in matching.
37 * @param subscriptionType Subscription type
38 * @return A list of subscription records matching the provided criteria.
39 */
40 public SubscriptionRecordList retrieveByCriteria(SubscriptionCriteria criteria, SubscriptionType subscriptionType);
41
42 /**
43 * Retrieve a subscription by subscription reference.
44 *
45 * @param subscriptionReference Subscription reference to the stored subscription record.
46 * @param subscriptionType Subscription type
47 * @return Matching subscription record
48 */
49 public SubscriptionRecord retrieveBySubscriptionReference(SubscriptionReference subscriptionReference, SubscriptionType subscriptionType);
50
51 /**
52 * Retrieve all subscriptions that match the provided parent subscription reference.
53 *
54 * @param parentSubscriptionReference Parent subscription reference.
55 * @param subscriptionType Subscription type
56 * @return Subscription records matching the provided parent subscription reference.
57 */
58 public SubscriptionRecordList retrieveByParentSubscriptionReference(SubscriptionReference parentSubscriptionReference, SubscriptionType subscriptionType);
59
60}
Note: See TracBrowser for help on using the repository browser.