Connectathon 2026 Wiki

Racsel logo
Back to home

Tasks · T2-E

Generate ICVP QR

View flow

Use the mobile app and app backend to load the IPS, select the immunization, and generate a signed ICVP QR that can also be carried in the wallet.

Requirements

T2-D

Expected response

A QR corresponding to the ICVP is generated, signed by the issuing country, and ready for validation or wallet carriage.

Evidence

Generated QR and passcode for validation. Test case TK2_TC05.

Observations

Mediator operation: <base-node-url>:3000/fhir/Bundle/<id_bundle>/$icvp. The app backend asks the ICVP service to generate and sign the QR, then returns it to the mobile app for display.

Requests to run

Collection

National Node - LACPass IPS

ICVP Transformation

curl -X GET "${IPS_MEDIATOR}/fhir/Bundle/${BUNDLE_ID}/\$icvp" \
  -H "Accept: application/fhir+json"

Expected response

HTTP 200 with generated ICVP data used for QR issuance.

Collection

App Backend - Lacpass App API

Generate ICVP certificate from an IPS

curl -X GET "${APP_BACKEND_URL}/ips/icvp?bundleId=${BUNDLE_ID}&immunizationId=${IMMUNIZATION_ID}" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

Expected response

HTTP 200 with generated ICVP certificate data.

Collection

App Backend - Lacpass App API

Generate wallet link

curl -X POST "${APP_BACKEND_URL}/wallet/generate-link" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -d '{"credentialType":"ICVP","claims":${ICVP_CLAIMS_JSON}}'

Expected response

HTTP 200 with wallet handoff data when wallet support is enabled.