# Health
## Health Credential Issuance Workflow
1. User receives a link via email or some other means
2. User opens the link in their browser
3. The page will display a QR code
4. User scans the QR code
5. User's Cardea Mobile Agent connects to the Cardea Health Issuer Agent
6. Collect patient demographic information
7. Verify user identity, e.g. verify user control of phone number or email address
8. Look up patient in system
9. Issue medical release credential
10. Look up patient health data
11. Issue health credential(s)
```plantuml
skinparam backgroundColor #fff
skinparam handwritten false
skinparam BoxPadding 10
skinparam ParticipantPadding 10
skinparam NoteFontSize 24
skinparam NoteBorderColor #f80
skinparam NoteBackgroundColor #fea
skinparam sequenceArrowThickness 1
skinparam sequence {
BoxFontSize 36
BoxBorderColor #555
BoxBackgroundColor #fbfbfb
ActorFontColor #333
ActorFontSize 24
ActorFontName Arial
ActorBorderColor #555
ActorBackgroundColor #ccc
ParticipantFontName Arial
ParticipantFontSize 24
ParticipantFontColor #333
ParticipantBorderColor #555
ParticipantBackgroundColor #eee
LifeLineBorderColor #ccc
LifeLineBackgroundColor #000
ArrowFontSize 24
ArrowColor #f80
DividerFontSize 24
}
actor User
participant "Mobile App" as Mobile
participant "Health Issuer Agent" as Issuer
User -> Mobile: Install
Mobile -> Mobile: Scan Passport
Mobile -> Mobile: Encode
note over Mobile: stored on Mobile App
Mobile -> Verification: Send
```
## Health Record Verification Workflow
1. User opens School Health System Website in a browser
2. School Health System Website requests an invitation URL from the School Health System Cardea Primary Verifier Agent
3. School Health System Cardea Primary Verifier Agent returns an invitation URL
4. School Health System Website displays a QR code in the browser
5. User scans the QR code with the Cardea Mobile Agent
6. Cardea Mobile Agent connects to the School Health System Cardea Primary Verifier Agent
7. School Health System Cardea Primary Verifier Agent requests vaccine credential(s) from the Cardea Mobile Agent
8. Cardea Mobile Agent presents request to User
9. User consents to share the vaccine credential(s)
10. Cardea Mobile Agent sends the vaccine credential(s) to the School Health System Cardea Primary Verifier Agent
11. School Health System Cardea Primary Verifier Agent parses details of the vaccine credentials
12. School Health System Cardea Primary Verifier Agent evaluates the vaccine credential(s) using the School Health System's DEG (Decentralized Ecosystem Governance).
13. If the vaccine credentials are acceptable, School Health System Cardea Primary Verifier Agent issues a Health Authorization credential to the Cardea Mobile Agent
14. Cardea Mobile Agent presents the Health Authorization credential offer to the User
15. User accepts the Health Authorization credential offer on the Mobile App
```plantuml
skinparam backgroundColor #fff
skinparam handwritten false
skinparam BoxPadding 10
skinparam ParticipantPadding 10
skinparam NoteFontSize 24
skinparam NoteBorderColor #f80
skinparam NoteBackgroundColor #fea
skinparam sequenceArrowThickness 1
skinparam sequence {
BoxFontSize 36
BoxBorderColor #555
BoxBackgroundColor #fbfbfb
ActorFontColor #333
ActorFontSize 24
ActorFontName Arial
ActorBorderColor #555
ActorBackgroundColor #ccc
ParticipantFontName Arial
ParticipantFontSize 24
ParticipantFontColor #333
ParticipantBorderColor #555
ParticipantBackgroundColor #eee
LifeLineBorderColor #ccc
LifeLineBackgroundColor #000
ArrowFontSize 24
ArrowColor #f80
DividerFontSize 24
}
actor User
participant "Mobile App" as Mobile
participant "School Health System Website" as Website
participant "School Health System Cardea Primary Verifier Agent" as Government
User -> Website: Open in a browser
Website -> Government: Request invitation URL
Government -> Website: Return invitation URL
Website -> Website: Display QR code
Mobile -> Website: Scan QR code
Mobile -> Government: Connect
Government -> Mobile: Request Health\nAnoncred credential
Mobile -> User: Request sharing of Health\nAnoncred credential
User -> Mobile: Authorize sharing of Health\nAnoncred credential
Mobile -> Government: Present Health\nAnoncred credential
Government -> Government: Interpret Health\nAnoncred credential
note over Government: Health Anoncred\npresentation stored\n on Government Enterprise\nAgent (optional)
Website -> Government: Poll for verification results
Government -> Website: Send passport details
Website -> Website: Collect and store user details
note over Website: User passport, travel,\ninsurance details stored\non School Health System Website
Website -> Government: Request to issue\nHealth Authorization\ncredential to User
Government -> Mobile: Offer Health\nAuthorization credential
Mobile -> User: Display Health Authorization\ncredential offer
User -> Mobile: User accepts credential
note over Mobile: Health Authorization credential\nstored on Mobile App
```
## Health Authorization Verification Workflow
1. Registration Office Cardea Secondary Verifier Agent displays an invitation URL as a QR code
2. User scans QR code with Cardea Mobile Agent
3. Cardea Mobile Agent connects to Registration Office Cardea Secondary Verifier Agent
4. Registration Office Cardea Secondary Verifier Agent requests Health Authorization credential
5. User consents to share the Health Authorization credential
6. Cardea Mobile Agent sends the Health Authorization credential to the Registration Office Cardea Secondary Verifier Agent
7. Registration Office Cardea Secondary Verifier Agent interprets the presentation using the School Health System's DEG (Decentralized Ecosystem Governance)
8. Both Cardea Mobile Agent and Registration Office Cardea Secondary Verifier Agent display the verification result
```plantuml
skinparam backgroundColor #fff
skinparam handwritten false
skinparam BoxPadding 10
skinparam ParticipantPadding 10
skinparam NoteFontSize 24
skinparam NoteBorderColor #f80
skinparam NoteBackgroundColor #fea
skinparam sequenceArrowThickness 1
skinparam sequence {
BoxFontSize 36
BoxBorderColor #555
BoxBackgroundColor #fbfbfb
ActorFontColor #333
ActorFontSize 24
ActorFontName Arial
ActorBorderColor #555
ActorBackgroundColor #ccc
ParticipantFontName Arial
ParticipantFontSize 24
ParticipantFontColor #333
ParticipantBorderColor #555
ParticipantBackgroundColor #eee
LifeLineBorderColor #ccc
LifeLineBackgroundColor #000
ArrowFontSize 24
ArrowColor #f80
DividerFontSize 24
}
actor User
participant "Mobile App" as Mobile
participant "Verifier Agent" as Verifier
Verifier -> Verifier: Display QR code
Mobile -> Verifier: Scan QR code
Mobile -> Verifier: Connect
Verifier -> Mobile: Request Health\nAuthorization credential
Mobile -> User: Request sharing of Health\nAuthorization credential
User -> Mobile: Authorize sharing of Health\nAuthorization credential
Mobile -> Verifier: Present Health\nAuthorization credential
Verifier -> Verifier: Interpret Health\nAuthorization credential
Verifier -> Mobile: Both agents display verification result
note over Verifier: Health Authorization\npresentation stored\n on Verifier\nAgent (optional)
```