|
| 1 | +Alias: UCUM = http://unitsofmeasure.org |
| 2 | +Alias: $FT = http://hl7.org/fhir/fhir-types |
| 3 | +Alias: $JT = https://samply.github.io/blaze/fhir/CodeSystem/JobType |
| 4 | +Alias: $JSR = https://samply.github.io/blaze/fhir/CodeSystem/JobStatusReason |
| 5 | +Alias: $JO = https://samply.github.io/blaze/fhir/CodeSystem/JobOutput |
| 6 | +Alias: $PJP = https://samply.github.io/blaze/fhir/CodeSystem/PruneJobParameter |
| 7 | +Alias: $PJO = https://samply.github.io/blaze/fhir/CodeSystem/PruneJobOutput |
| 8 | +Alias: $PI = https://samply.github.io/blaze/fhir/CodeSystem/PruneIndices |
| 9 | + |
| 10 | +CodeSystem: PruneJobParameter |
| 11 | +Id: PruneJobParameter |
| 12 | +Title: "Prune Job Parameter" |
| 13 | +* ^status = #active |
| 14 | +* #t "T" |
| 15 | + |
| 16 | +CodeSystem: PruneJobOutput |
| 17 | +Id: PruneJobOutput |
| 18 | +Title: "Prune Job Output" |
| 19 | +* ^status = #active |
| 20 | +* #total-index-entries "Total Index Entries" |
| 21 | +* #index-entries-processed "Index Entries Processed" |
| 22 | +* #index-entries-deleted "Index Entries Deleted" |
| 23 | +* #processing-duration "Processing Duration" |
| 24 | +* #next-index "Next Index" |
| 25 | +* #next-type "Next Type" |
| 26 | +* #next-id "Next Id" |
| 27 | +* #next-t "Next T" |
| 28 | + |
| 29 | +CodeSystem: PruneIndices |
| 30 | +Id: PruneIndices |
| 31 | +Title: "Prune Indices" |
| 32 | +* ^status = #active |
| 33 | +* #resource-as-of "ResourceAsOf" |
| 34 | +* #type-as-of "TypeAsOf" |
| 35 | +* #system-as-of "SystemAsOf" |
| 36 | + |
| 37 | +ValueSet: PruneIndices |
| 38 | +Id: PruneIndices |
| 39 | +Title: "Prune Indices Value Set" |
| 40 | +* ^status = #active |
| 41 | +* include codes from system PruneIndices |
| 42 | + |
| 43 | +Profile: PruneJob |
| 44 | +Parent: Job |
| 45 | +* code = $JT#prune "Prune the Database" |
| 46 | +* input ^slicing.discriminator.type = #pattern |
| 47 | +* input ^slicing.discriminator.path = "type" |
| 48 | +* input ^slicing.rules = #open |
| 49 | +* input contains t 1..1 |
| 50 | +* input[t] ^short = "T" |
| 51 | +* input[t] ^definition = "The database point in time to use as start of pruning." |
| 52 | +* input[t].type = $PJP#t |
| 53 | +* input[t].value[x] only positiveInt |
| 54 | +* output ^slicing.discriminator.type = #pattern |
| 55 | +* output ^slicing.discriminator.path = "type" |
| 56 | +* output ^slicing.rules = #open |
| 57 | +* output contains totalIndexEntries 0..1 |
| 58 | +* output[totalIndexEntries] ^short = "Total Index Entries" |
| 59 | +* output[totalIndexEntries] ^definition = "Estimated total number of index entries to prune." |
| 60 | +* output[totalIndexEntries].type = $PJO#total-index-entries |
| 61 | +* output[totalIndexEntries].value[x] only unsignedInt |
| 62 | +* output contains indexEntriesProcessed 0..1 |
| 63 | +* output[indexEntriesProcessed] ^short = "Index Entries Processed" |
| 64 | +* output[indexEntriesProcessed] ^definition = "Number of index entries processed." |
| 65 | +* output[indexEntriesProcessed].type = $PJO#index-entries-processed |
| 66 | +* output[indexEntriesProcessed].value[x] only unsignedInt |
| 67 | +* output contains indexEntriesDeleted 0..1 |
| 68 | +* output[indexEntriesDeleted] ^short = "Index Entries Deleted" |
| 69 | +* output[indexEntriesDeleted] ^definition = "Number of index entries deleted." |
| 70 | +* output[indexEntriesDeleted].type = $PJO#index-entries-deleted |
| 71 | +* output[indexEntriesDeleted].value[x] only unsignedInt |
| 72 | +* output contains processingDuration 0..1 |
| 73 | +* output[processingDuration] ^short = "Processing Duration" |
| 74 | +* output[processingDuration] ^definition = "Duration the pruning processing took. Durations while the job was paused don't count." |
| 75 | +* output[processingDuration].type = $PJO#processing-duration |
| 76 | +* output[processingDuration].value[x] only Quantity |
| 77 | +* output[processingDuration].valueQuantity |
| 78 | + * system 1..1 |
| 79 | + * system = UCUM |
| 80 | + * code 1..1 |
| 81 | + * code = #s "seconds" |
| 82 | +* output contains nextIndex 0..1 |
| 83 | +* output[nextIndex] ^short = "Next Index" |
| 84 | +* output[nextIndex] ^definition = "The name of the index to continue with. Used in case the job is resumed after manual pausing or shutdown of Blaze." |
| 85 | +* output[nextIndex].type = $PJO#next-index |
| 86 | +* output[nextIndex].value[x] only code |
| 87 | +* output[nextIndex].valueCode from PruneIndices |
| 88 | +* output contains nextType 0..1 |
| 89 | +* output[nextType] ^short = "Next Type" |
| 90 | +* output[nextType] ^definition = "The FHIR resource type to continue with. Used in case the job is resumed after manual pausing or shutdown of Blaze." |
| 91 | +* output[nextType].type = $PJO#next-type |
| 92 | +* output[nextType].value[x] only code |
| 93 | +* output[nextType].valueCode from http://hl7.org/fhir/ValueSet/resource-types |
| 94 | +* output contains nextId 0..1 |
| 95 | +* output[nextId] ^short = "Next Id" |
| 96 | +* output[nextId] ^definition = "The FHIR resource id to continue with. Used in case the job is resumed after manual pausing or shutdown of Blaze." |
| 97 | +* output[nextId].type = $PJO#next-id |
| 98 | +* output[nextId].value[x] only id |
| 99 | +* output contains nextT 0..1 |
| 100 | +* output[nextT] ^short = "Next T" |
| 101 | +* output[nextT] ^definition = "The database point in time to continue with. Used in case the job is resumed after manual pausing or shutdown of Blaze." |
| 102 | +* output[nextT].type = $PJO#next-t |
| 103 | +* output[nextT].value[x] only positiveInt |
| 104 | + |
| 105 | +Instance: PruneJobReadyExample |
| 106 | +InstanceOf: PruneJob |
| 107 | +* status = #ready |
| 108 | +* intent = #order |
| 109 | +* code = $JT#prune "Prune the Database" |
| 110 | +* authoredOn = "2024-10-15T15:01:00.000Z" |
| 111 | +* input[t].type = $PJP#t "T" |
| 112 | +* input[t].valuePositiveInt = 42 |
| 113 | + |
| 114 | +Instance: PruneJobInProgressExample |
| 115 | +InstanceOf: PruneJob |
| 116 | +* status = #in-progress |
| 117 | +* statusReason = $JSR#started "Started" |
| 118 | +* intent = #order |
| 119 | +* code = $JT#prune "Prune the Database" |
| 120 | +* authoredOn = "2024-10-15T15:01:00.000Z" |
| 121 | +* input[t].type = $PJP#t "T" |
| 122 | +* input[t].valuePositiveInt = 42 |
| 123 | +* output[totalIndexEntries].type = $PJO#total-index-entries "Total Index Entries" |
| 124 | +* output[totalIndexEntries].valueUnsignedInt = 1000 |
| 125 | +* output[indexEntriesProcessed].type = $PJO#index-entries-processed "Index Entries Processed" |
| 126 | +* output[indexEntriesProcessed].valueUnsignedInt = 100 |
| 127 | +* output[indexEntriesDeleted].type = $PJO#index-entries-deleted "Index Entries Deleted" |
| 128 | +* output[indexEntriesDeleted].valueUnsignedInt = 10 |
| 129 | +* output[processingDuration].type = $PJO#processing-duration "Processing Duration" |
| 130 | +* output[processingDuration].valueQuantity.value = 10 |
| 131 | +* output[nextIndex].type = $PJO#next-index "Next Index" |
| 132 | +* output[nextIndex].valueCode = $PI#resource-as-of |
| 133 | +* output[nextType].type = $PJO#next-type "Next Type" |
| 134 | +* output[nextType].valueCode = $FT#Patient |
| 135 | +* output[nextId].type = $PJO#next-id "Next Id" |
| 136 | +* output[nextId].valueId = "0" |
| 137 | +* output[nextT].type = $PJO#next-t "Next T" |
| 138 | +* output[nextT].valuePositiveInt = 23 |
| 139 | + |
| 140 | +Instance: PruneJobFailedExample |
| 141 | +InstanceOf: PruneJob |
| 142 | +* status = #failed |
| 143 | +* intent = #order |
| 144 | +* code = $JT#prune "Prune the Database" |
| 145 | +* authoredOn = "2024-10-15T15:01:00.000Z" |
| 146 | +* input[t].type = $PJP#t "T" |
| 147 | +* input[t].valuePositiveInt = 42 |
| 148 | +* output[error].type = $JO#error "Error" |
| 149 | +* output[error].valueString = "error message" |
0 commit comments