action ndhm_post_v0_5_consent_requests_init { label: "Create consent request" description: "Creates a consent request to get data about a patient by HIU user. CM should call Gateway - ***/v0.5/consent-requests/on-init*** API with the consent-request-id" provider: ndhm method: POST path: "/v0.5/consent-requests/init" encoding: json input: { type: "object" properties: { Authorization: { type: "string" } consent: { type: "object" required: ["consentNotificationUrl", "hiTypes", "hiu", "patient", "permission", "purpose", "requester"] properties: { careContexts: { type: "array" items: { type: "object" required: ["patientReference", "careContextReference"] properties: { careContextReference: { type: "string" } patientReference: { type: "string" } } } } hiTypes: { type: "array" items: { type: "string" enum: ["OPConsultation", "Prescription", "DischargeSummary", "DiagnosticReport"] } } hip: { type: "object" } hiu: { type: "object" } patient: { type: "object" } permission: { type: "object" required: ["accessMode", "dataEraseAt", "dateRange", "frequency"] properties: { accessMode: { type: "string" enum: ["VIEW", "STORE", "QUERY", "STREAM"] } dataEraseAt: { type: "string" format: "date-time" } dateRange: { type: "object" required: ["from", "to"] properties: { from: { type: "string" format: "date-time" } to: { type: "string" format: "date-time" } } } frequency: { type: "object" properties: { repeats: { type: "integer" } unit: { type: "string" enum: ["HOUR", "WEEK", "DAY", "MONTH", "YEAR"] } value: { type: "integer" } } } } } purpose: { type: "object" required: ["code", "text"] properties: { code: { type: "string" description: "From the fixed set, documented at refUri" } refUri: { type: "string" format: "uri" } text: { type: "string" } } } requester: { type: "object" required: ["name"] properties: { identifier: { type: "object" required: ["type", "value"] properties: { system: { type: "string" } type: { type: "string" } value: { type: "string" } } } name: { type: "string" } } } } } requestId: { type: "string" format: "uuid" description: "a nonce, unique for each HTTP request." } timestamp: { type: "string" format: "date-time" description: "Date time format in UTC, includes miliseconds YYYY-MM-DDThh:mm:ss.vZ" } } required: ["Authorization", "consent", "requestId", "timestamp"] additionalProperties: false } output: { type: "object" additionalProperties: true } }