description: Defines an external service that can be used by custom prefill expressions in a Questionnaire. package_name: no.nhn.fhir.helsenorge.profiles derivation: constraint name: ExternalPrefillSource type: Extension elements: extension: array: true min: 3 index: 0 slicing: slices: retry: match: {} schema: short: Retry behavior configuration index: 107 extensions: maxAttempts: url: null short: Maximum retry attempts _required: true index: 109 extensions: {} elements: extension: {index: 110} url: pattern: {type: Uri, value: maxAttempts} index: 111 value: choices: [valueInteger] index: 113 valueInteger: {type: integer, choiceOf: value, index: 114} delayMilliseconds: url: null short: Delay between retries in milliseconds index: 115 extensions: {} elements: extension: {index: 116} url: pattern: {type: Uri, value: delayMilliseconds} index: 117 value: choices: [valueInteger] index: 119 valueInteger: {type: integer, choiceOf: value, index: 120} elements: extension: index: 108 slicing: slices: maxAttempts: match: {} schema: short: Maximum retry attempts _required: true index: 109 extensions: {} elements: extension: {index: 110} url: pattern: {type: Uri, value: maxAttempts} index: 111 value: choices: [valueInteger] index: 113 valueInteger: {type: integer, choiceOf: value, index: 114} delayMilliseconds: match: {} schema: short: Delay between retries in milliseconds index: 115 extensions: {} elements: extension: {index: 116} url: pattern: {type: Uri, value: delayMilliseconds} index: 117 value: choices: [valueInteger] index: 119 valueInteger: {type: integer, choiceOf: value, index: 120} url: pattern: {type: Uri, value: retry} index: 121 value: choices: [] index: 123 required: [extension] method: match: {} schema: short: HTTP method _required: true index: 7 extensions: {} elements: extension: {index: 8} url: pattern: {type: Uri, value: method} index: 9 value: choices: [valueCode] index: 11 valueCode: {type: code, choiceOf: value, index: 12} subjectParameter: match: {} schema: short: Name of parameter receiving subject identifier index: 19 extensions: {} elements: extension: {index: 20} url: pattern: {type: Uri, value: subjectParameter} index: 21 value: choices: [valueString] index: 23 valueString: {type: string, choiceOf: value, index: 24} name: match: {} schema: short: Logical unique identifier of the service _required: true index: 1 extensions: {} elements: extension: {index: 2} url: pattern: {type: Uri, value: name} index: 3 value: choices: [valueId] index: 5 valueId: {type: id, choiceOf: value, index: 6} auth: match: {} schema: short: Authentication metadata index: 46 extensions: type: url: null short: Authentication type _required: true index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: type} index: 50 value: choices: [valueCode] index: 52 valueCode: {type: code, choiceOf: value, index: 53} credentialRef: url: null short: Reference to external credential configuration index: 54 extensions: {} elements: extension: {index: 55} url: pattern: {type: Uri, value: credentialRef} index: 56 value: choices: [valueId] index: 58 valueId: {type: id, choiceOf: value, index: 59} scope: url: null short: OAuth scope array: true index: 60 extensions: {} elements: extension: {index: 61} url: pattern: {type: Uri, value: scope} index: 62 value: choices: [valueString] index: 64 valueString: {type: string, choiceOf: value, index: 65} elements: extension: index: 47 slicing: slices: type: match: {} schema: short: Authentication type _required: true index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: type} index: 50 value: choices: [valueCode] index: 52 valueCode: {type: code, choiceOf: value, index: 53} credentialRef: match: {} schema: short: Reference to external credential configuration index: 54 extensions: {} elements: extension: {index: 55} url: pattern: {type: Uri, value: credentialRef} index: 56 value: choices: [valueId] index: 58 valueId: {type: id, choiceOf: value, index: 59} scope: match: {} schema: short: OAuth scope array: true index: 60 extensions: {} elements: extension: {index: 61} url: pattern: {type: Uri, value: scope} index: 62 value: choices: [valueString] index: 64 valueString: {type: string, choiceOf: value, index: 65} url: pattern: {type: Uri, value: auth} index: 66 value: choices: [] index: 68 required: [extension] headers: match: {} schema: short: Static HTTP headers index: 69 extensions: header: url: null short: Single HTTP header array: true index: 70 extensions: name: url: null short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: url: null short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} elements: extension: array: true min: 2 index: 71 slicing: slices: name: match: {} schema: short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: match: {} schema: short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} url: pattern: {type: Uri, value: header} index: 84 value: choices: [] index: 86 elements: extension: short: Single HTTP header array: true index: 70 slicing: slices: header: match: {} schema: short: Single HTTP header array: true index: 70 extensions: name: url: null short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: url: null short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} elements: extension: array: true min: 2 index: 71 slicing: slices: name: match: {} schema: short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: match: {} schema: short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} url: pattern: {type: Uri, value: header} index: 84 value: choices: [] index: 86 url: pattern: {type: Uri, value: headers} index: 87 value: choices: [] index: 89 paging: match: {} schema: short: Paging configuration index: 90 extensions: mode: url: null short: Paging mode _required: true index: 92 extensions: {} elements: extension: {index: 93} url: pattern: {type: Uri, value: mode} index: 94 value: choices: [valueCode] index: 96 valueCode: {type: code, choiceOf: value, index: 97} nextPath: url: null short: Path to next-page token or URL index: 98 extensions: {} elements: extension: {index: 99} url: pattern: {type: Uri, value: nextPath} index: 100 value: choices: [valueString] index: 102 valueString: {type: string, choiceOf: value, index: 103} elements: extension: index: 91 slicing: slices: mode: match: {} schema: short: Paging mode _required: true index: 92 extensions: {} elements: extension: {index: 93} url: pattern: {type: Uri, value: mode} index: 94 value: choices: [valueCode] index: 96 valueCode: {type: code, choiceOf: value, index: 97} nextPath: match: {} schema: short: Path to next-page token or URL index: 98 extensions: {} elements: extension: {index: 99} url: pattern: {type: Uri, value: nextPath} index: 100 value: choices: [valueString] index: 102 valueString: {type: string, choiceOf: value, index: 103} url: pattern: {type: Uri, value: paging} index: 104 value: choices: [] index: 106 required: [extension] resultPath: match: {} schema: short: Path into response payload containing result object index: 124 extensions: {} elements: extension: {index: 125} url: pattern: {type: Uri, value: resultPath} index: 126 value: choices: [valueString] index: 128 valueString: {type: string, choiceOf: value, index: 129} parameters: match: {} schema: short: Request parameters index: 25 extensions: parameter: url: null short: Single request parameter array: true index: 26 extensions: name: url: null short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: url: null short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} elements: extension: array: true min: 2 index: 27 slicing: slices: name: match: {} schema: short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: match: {} schema: short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} url: pattern: {type: Uri, value: parameter} index: 40 value: choices: [] index: 42 elements: extension: short: Single request parameter array: true index: 26 slicing: slices: parameter: match: {} schema: short: Single request parameter array: true index: 26 extensions: name: url: null short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: url: null short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} elements: extension: array: true min: 2 index: 27 slicing: slices: name: match: {} schema: short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: match: {} schema: short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} url: pattern: {type: Uri, value: parameter} index: 40 value: choices: [] index: 42 url: pattern: {type: Uri, value: parameters} index: 43 value: choices: [] index: 45 endpoint: match: {} schema: short: Endpoint URL template _required: true index: 13 extensions: {} elements: extension: {index: 14} url: pattern: {type: Uri, value: endpoint} index: 15 value: choices: [valueUrl] index: 17 valueUrl: {type: url, choiceOf: value, index: 18} url: pattern: {type: Uri, value: 'https://helsenorge.no/fhir/StructureDefinition/external-prefill-source'} index: 130 value: choices: [] index: 132 package_version: 2.5.24 extensions: retry: url: null short: Retry behavior configuration index: 107 extensions: maxAttempts: url: null short: Maximum retry attempts _required: true index: 109 extensions: {} elements: extension: {index: 110} url: pattern: {type: Uri, value: maxAttempts} index: 111 value: choices: [valueInteger] index: 113 valueInteger: {type: integer, choiceOf: value, index: 114} delayMilliseconds: url: null short: Delay between retries in milliseconds index: 115 extensions: {} elements: extension: {index: 116} url: pattern: {type: Uri, value: delayMilliseconds} index: 117 value: choices: [valueInteger] index: 119 valueInteger: {type: integer, choiceOf: value, index: 120} elements: extension: index: 108 slicing: slices: maxAttempts: match: {} schema: short: Maximum retry attempts _required: true index: 109 extensions: {} elements: extension: {index: 110} url: pattern: {type: Uri, value: maxAttempts} index: 111 value: choices: [valueInteger] index: 113 valueInteger: {type: integer, choiceOf: value, index: 114} delayMilliseconds: match: {} schema: short: Delay between retries in milliseconds index: 115 extensions: {} elements: extension: {index: 116} url: pattern: {type: Uri, value: delayMilliseconds} index: 117 value: choices: [valueInteger] index: 119 valueInteger: {type: integer, choiceOf: value, index: 120} url: pattern: {type: Uri, value: retry} index: 121 value: choices: [] index: 123 required: [extension] method: url: null short: HTTP method _required: true index: 7 extensions: {} elements: extension: {index: 8} url: pattern: {type: Uri, value: method} index: 9 value: choices: [valueCode] index: 11 valueCode: {type: code, choiceOf: value, index: 12} subjectParameter: url: null short: Name of parameter receiving subject identifier index: 19 extensions: {} elements: extension: {index: 20} url: pattern: {type: Uri, value: subjectParameter} index: 21 value: choices: [valueString] index: 23 valueString: {type: string, choiceOf: value, index: 24} name: url: null short: Logical unique identifier of the service _required: true index: 1 extensions: {} elements: extension: {index: 2} url: pattern: {type: Uri, value: name} index: 3 value: choices: [valueId] index: 5 valueId: {type: id, choiceOf: value, index: 6} auth: url: null short: Authentication metadata index: 46 extensions: type: url: null short: Authentication type _required: true index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: type} index: 50 value: choices: [valueCode] index: 52 valueCode: {type: code, choiceOf: value, index: 53} credentialRef: url: null short: Reference to external credential configuration index: 54 extensions: {} elements: extension: {index: 55} url: pattern: {type: Uri, value: credentialRef} index: 56 value: choices: [valueId] index: 58 valueId: {type: id, choiceOf: value, index: 59} scope: url: null short: OAuth scope array: true index: 60 extensions: {} elements: extension: {index: 61} url: pattern: {type: Uri, value: scope} index: 62 value: choices: [valueString] index: 64 valueString: {type: string, choiceOf: value, index: 65} elements: extension: index: 47 slicing: slices: type: match: {} schema: short: Authentication type _required: true index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: type} index: 50 value: choices: [valueCode] index: 52 valueCode: {type: code, choiceOf: value, index: 53} credentialRef: match: {} schema: short: Reference to external credential configuration index: 54 extensions: {} elements: extension: {index: 55} url: pattern: {type: Uri, value: credentialRef} index: 56 value: choices: [valueId] index: 58 valueId: {type: id, choiceOf: value, index: 59} scope: match: {} schema: short: OAuth scope array: true index: 60 extensions: {} elements: extension: {index: 61} url: pattern: {type: Uri, value: scope} index: 62 value: choices: [valueString] index: 64 valueString: {type: string, choiceOf: value, index: 65} url: pattern: {type: Uri, value: auth} index: 66 value: choices: [] index: 68 required: [extension] headers: url: null short: Static HTTP headers index: 69 extensions: header: url: null short: Single HTTP header array: true index: 70 extensions: name: url: null short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: url: null short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} elements: extension: array: true min: 2 index: 71 slicing: slices: name: match: {} schema: short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: match: {} schema: short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} url: pattern: {type: Uri, value: header} index: 84 value: choices: [] index: 86 elements: extension: short: Single HTTP header array: true index: 70 slicing: slices: header: match: {} schema: short: Single HTTP header array: true index: 70 extensions: name: url: null short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: url: null short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} elements: extension: array: true min: 2 index: 71 slicing: slices: name: match: {} schema: short: Header name _required: true index: 72 extensions: {} elements: extension: {index: 73} url: pattern: {type: Uri, value: name} index: 74 value: choices: [valueString] index: 76 valueString: {type: string, choiceOf: value, index: 77} value: match: {} schema: short: Header value _required: true index: 78 extensions: {} elements: extension: {index: 79} url: pattern: {type: Uri, value: value} index: 80 value: choices: [valueString] index: 82 valueString: {type: string, choiceOf: value, index: 83} url: pattern: {type: Uri, value: header} index: 84 value: choices: [] index: 86 url: pattern: {type: Uri, value: headers} index: 87 value: choices: [] index: 89 paging: url: null short: Paging configuration index: 90 extensions: mode: url: null short: Paging mode _required: true index: 92 extensions: {} elements: extension: {index: 93} url: pattern: {type: Uri, value: mode} index: 94 value: choices: [valueCode] index: 96 valueCode: {type: code, choiceOf: value, index: 97} nextPath: url: null short: Path to next-page token or URL index: 98 extensions: {} elements: extension: {index: 99} url: pattern: {type: Uri, value: nextPath} index: 100 value: choices: [valueString] index: 102 valueString: {type: string, choiceOf: value, index: 103} elements: extension: index: 91 slicing: slices: mode: match: {} schema: short: Paging mode _required: true index: 92 extensions: {} elements: extension: {index: 93} url: pattern: {type: Uri, value: mode} index: 94 value: choices: [valueCode] index: 96 valueCode: {type: code, choiceOf: value, index: 97} nextPath: match: {} schema: short: Path to next-page token or URL index: 98 extensions: {} elements: extension: {index: 99} url: pattern: {type: Uri, value: nextPath} index: 100 value: choices: [valueString] index: 102 valueString: {type: string, choiceOf: value, index: 103} url: pattern: {type: Uri, value: paging} index: 104 value: choices: [] index: 106 required: [extension] resultPath: url: null short: Path into response payload containing result object index: 124 extensions: {} elements: extension: {index: 125} url: pattern: {type: Uri, value: resultPath} index: 126 value: choices: [valueString] index: 128 valueString: {type: string, choiceOf: value, index: 129} parameters: url: null short: Request parameters index: 25 extensions: parameter: url: null short: Single request parameter array: true index: 26 extensions: name: url: null short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: url: null short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} elements: extension: array: true min: 2 index: 27 slicing: slices: name: match: {} schema: short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: match: {} schema: short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} url: pattern: {type: Uri, value: parameter} index: 40 value: choices: [] index: 42 elements: extension: short: Single request parameter array: true index: 26 slicing: slices: parameter: match: {} schema: short: Single request parameter array: true index: 26 extensions: name: url: null short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: url: null short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} elements: extension: array: true min: 2 index: 27 slicing: slices: name: match: {} schema: short: Parameter name _required: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: name} index: 30 value: choices: [valueString] index: 32 valueString: {type: string, choiceOf: value, index: 33} value: match: {} schema: short: Parameter value or template _required: true index: 34 extensions: {} elements: extension: {index: 35} url: pattern: {type: Uri, value: value} index: 36 value: choices: [valueString] index: 38 valueString: {type: string, choiceOf: value, index: 39} url: pattern: {type: Uri, value: parameter} index: 40 value: choices: [] index: 42 url: pattern: {type: Uri, value: parameters} index: 43 value: choices: [] index: 45 endpoint: url: null short: Endpoint URL template _required: true index: 13 extensions: {} elements: extension: {index: 14} url: pattern: {type: Uri, value: endpoint} index: 15 value: choices: [valueUrl] index: 17 valueUrl: {type: url, choiceOf: value, index: 18} class: extension kind: complex-type url: https://helsenorge.no/fhir/StructureDefinition/external-prefill-source base: http://hl7.org/fhir/StructureDefinition/Extension version: 1.0.0