PTj
|
Patient j
|
HCPi
|
Health Care Provider i
|
ITA
|
Identifier Translation Agency
|
PR
|
Population Register
|
DRi
|
Disease Register i
|
NHEPID
|
Personal identifying deatils for a Notifiable Health Event
|
NHEMED
|
Medical details for a Notifiable Health Event
|
{NHEPID}KPR
|
NHEPID encrypted with the public key of PR
|
{NHEMED}KDRi
|
NHEMED encrypted with the public key of DRi
|
N
|
A nonce (number-used-once)
|
prlu()
|
Population Register look-up, returns a PRID
|
PRID
|
Population Register ID number
|
italu()
|
Identifier Translation Agency look-up, returns a PDRID
|
drlu()
|
Returns the name of a Disease Register, given a nonce
|
PDRID
|
person/Disease Register-specific ID number
|
drup()
|
Updates a Disease Register database with the NHEMED for a particular PDRID.
|
Protocol
|
1.
|
PTj → HCPi : NHEPID,NHEMED
|
2.
|
HCP → ITA : {{NHEPID}KPR,{NHEMED}KDRi
}KITA
|
3.
|
ITA → PR : {{NHEPID}KPR, N}KPR
|
4.
|
PR : PRID = prlu(NHEPID)
|
5.
|
PR → ITA : {PRID,N}KITA
|
6.
|
ITA : PDRID = italu(PRID, drlu(N))
|
7.
|
ITA → DRi : { PDRID,N,{NHEMED}KDRi
}KDRi
|
8.
|
DRi : drup(PDRID,N,NHEMED)
|