Print Page as PDF
Subscription Management ICR (2270)

Subscription Management    ICR (2270)

Name Value
NUMBER 2270
IA # 2270
DATE CREATED 1998/01/23
CUSTODIAL PACKAGE HEALTH LEVEL SEVEN
CUSTODIAL ISC San Francisco
USAGE Supported
TYPE Routine
DBIC APPROVAL STATUS APPROVED
ROUTINE HLSUB
NAME Subscription Management
GENERAL DESCRIPTION
The following API's support creation, references, and
updates to HL7 subscriptions using the SUBSCRIPTION CONTROL FILE (774).

In addition, Vista applications may set up a pointer to file 774 if needed. An
example of this can be found in the Patient file. See the CIRN documentation
for details on how this is used.
STATUS Active
DURATION Till Otherwise Agreed
ID HLSUB
COMPONENT/ENTRY POINT
COMPONENT/ENTRY POINT COMPONENT DESCRIPTION
$$ACT
$$ACT^HLSUB
Purpose:  Request a new Subscription Control Number
Example:

KRN,KDE>S X=$$ACT^HLSUB

KRN,KDE>W X 2
UPD
UPD^HLSUB(HLSCN,HLNN,HLTP,HLAD,HLTD,HLRAP,.HLER)
Purpose:  Subscription Update-add/edit a subscriber
Input:  HLSCN=Subscription Control Number (required)
HLNN=Logical Link name in file 870 (required)
HLTP=Subscription Type (required)
0=descriptive updates only
1=clinical updates
2=other (locally defined)
HLAD=Activation date (optional), defaults to 'now'
HLTD=Termination date (optional), default is 'open-ended'
HLRAP=HL7 receiving application
HLER=error message(s)
Notes:
a. The ACTIVATION DATE and TERMINATION DATE fields can be pre-determined
by the subscriber.

b. Setting the TERMINATION DATE field is optional. Setting this field is
effectively setting an expiration date for the subscriber. Messages will
no longer be delivered to this network node as long as the current date is
later than the termination date. If the current subscription has a
Termination Date set and the subscriber changes their mind, the date can
be changed or deleted with a new subscription update message. The current
termination date will be deleted when the variable HLTD is set to 'null.'

c. The Subscription Control Number and the Destination multiple are
UNEDITABLE fields.  d. All modifications to existing subscriber records using
this call
results in an update of the Subscriber History multiple.

Example:
a. KRN,KDE>D
UPD^HLSUB(1,"TEST-LLP",1,"4/29/1997@10:27:57","","CIRN",.HLER)

b. INQUIRE TO FILE ENTRIES:
DESTINATION: CIRN@TEST LLP              RECEIVING APPLICATION: CIRN
LOGICAL LINK: TEST LLP                TYPE: Patient Clinical and
Descriptive
CREATION DATE/TIME: APR 29, 1997@10:27:57
ACTIVATION DATE/TIME: APR 29, 1997@10:27:57
MODIFICATION DATE/TIME: APR 29, 1997@10:27:57
LAST CREATION DATE/TIME: APR 29, 1997@10:25:07
LAST ACTIVATION DATE/TIME: APR 29, 1997@10:25:07
LAST SUBSCRIPTION TYPE: Patient Clinical and Descriptive
GET
GET^HLSUB(HLSCN,HLTP,HLCL,.HLL)
Purpose: Return active subscriber information
Input:
HLSCN=Subscription control number
HLTP=Subscription type (optional)
HLCL=HL7 Client Protocol (optional)
HLL=Array of current subscribers (passed by reference)
Output:
HLL("LINKS",n)=CLIENT PROTOCOL^LOGICAL LINK^TYPE^CREATION
DATE^ACTIVATION DATE^TERMINATION DATE

Notes:

a. When HLTP is 'null' all subscribers are returned.

b. Multiple calls can be made to GET. For example, to route a message to
both Clinical and Descriptive subscribers, the first call would have HLTP
set to '0', and in the second call it would be set to '1.' If the HLL
array already exists, it will be appended to.
c. The HL7 Package requires the HLL array to contain both the HL7 Client
Protocol and the Logical Link. In this call, the Client Protocol is optional.
If you pass in the Protocol name, it will be returned in the first piece of
the array. If you are making this call specifically to dynamically route a
message, submit the Client Protocol. If you make this call to retrieve other
information about the subscriber, the first piece of the HLL array will be
null.


Examples:

(1) Return all subscriber information  for SCN #1

KRN,KDE>K HLL D GET^HLSUB(1,,,.HLL)

KRN,KDE>ZW HLL
HLL("LINKS",1)=^INDY-TCP^RG
SUBSCRIPTION@INDY-TCP^9^^23^1^2970501.184903^2970501.184903

(2) Return all subscribers using multiple calls and selected 'subscriber
types'

KRN,KDE>K HLL D GET^HLSUB(1,1,"CIRN ROUTER",.HLL)

KRN,KDE>ZW HLL
HLL("LINKS",1)=CIRN ROUTER^ISC-SF^1^2961031.142702^2950617.13

KRN,KDE>D GET^HLSUB(1,2,"CIRN ROUTER",.HLL)

KRN,KDE>ZW HLL
HLL("LINKS",1)=CIRN ROUTER^ISC-SF^1^2961031.142702^2950617.13
HLL("LINKS",2)=CIRN ROUTER^KERNEL^2^2961031.11144^2961031.110628