PackagesCanonicalsLogsProblems
    Packages
    ca.infoway.io.halo@1.0.0-dft-preballot
    http://fhir.infoway-inforoute.ca/io/HALO/StructureDefinition/set-context-transaction-bundle
description: A profile of Bundle capturing the resources to be populated within the SoFA as a result of the $set-context operation.
package_name: ca.infoway.io.halo
derivation: constraint
name: SetContextTransactionBundle
type: Bundle
elements:
  type:
    pattern: {type: Code, value: transaction}
    index: 0
  entry:
    index: 1
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: $this.resource, type: profile}
      min: 1
      slices:
        patient:
          match: {}
          schema:
            array: true
            index: 2
            elements:
              fullUrl: {index: 3}
              resource: {index: 4}
              request:
                index: 5
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 6
                  url:
                    pattern: {type: Uri, value: Patient}
                    index: 7
            required: [resource, fullUrl, request]
        immunization:
          match: {}
          schema:
            array: true
            index: 80
            elements:
              fullUrl: {index: 81}
              resource: {index: 82}
              request:
                index: 83
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 84
                  url:
                    pattern: {type: Uri, value: Immunization}
                    index: 85
            required: [resource, fullUrl, request]
        appointment:
          match: {}
          schema:
            array: true
            index: 122
            elements:
              fullUrl: {index: 123}
              resource: {index: 124}
              request:
                index: 125
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 126
                  url:
                    pattern: {type: Uri, value: Appointment}
                    index: 127
            required: [resource, fullUrl, request]
        slot:
          match: {}
          schema:
            array: true
            index: 104
            elements:
              fullUrl: {index: 105}
              resource: {index: 106}
              request:
                index: 107
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 108
                  url:
                    pattern: {type: Uri, value: Slot}
                    index: 109
            required: [resource, fullUrl, request]
        medicationStatement:
          match: {}
          schema:
            array: true
            index: 68
            elements:
              fullUrl: {index: 69}
              resource: {index: 70}
              request:
                index: 71
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 72
                  url:
                    pattern: {type: Uri, value: MedicationStatement}
                    index: 73
            required: [resource, fullUrl, request]
        encounter:
          match: {}
          schema:
            array: true
            index: 8
            elements:
              fullUrl: {index: 9}
              resource: {index: 10}
              request:
                index: 11
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 12
                  url:
                    pattern: {type: Uri, value: Encounter}
                    index: 13
            required: [resource, fullUrl, request]
        practitionerRole:
          match: {}
          schema:
            array: true
            index: 14
            elements:
              fullUrl: {index: 15}
              resource: {index: 16}
              request:
                index: 17
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 18
                  url:
                    pattern: {type: Uri, value: PractitionerRole}
                    index: 19
            required: [resource, fullUrl, request]
        documentReference:
          match: {}
          schema:
            array: true
            index: 110
            elements:
              fullUrl: {index: 111}
              resource: {index: 112}
              request:
                index: 113
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 114
                  url:
                    pattern: {type: Uri, value: DocumentReference}
                    index: 115
            required: [resource, fullUrl, request]
        observation:
          match: {}
          schema:
            array: true
            index: 98
            elements:
              fullUrl: {index: 99}
              resource: {index: 100}
              request:
                index: 101
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 102
                  url:
                    pattern: {type: Uri, value: Observation}
                    index: 103
            required: [resource, fullUrl, request]
        procedure:
          match: {}
          schema:
            array: true
            index: 86
            elements:
              fullUrl: {index: 87}
              resource: {index: 88}
              request:
                index: 89
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 90
                  url:
                    pattern: {type: Uri, value: Procedure}
                    index: 91
            required: [resource, fullUrl, request]
        organization:
          match: {}
          schema:
            array: true
            index: 38
            elements:
              fullUrl: {index: 39}
              resource: {index: 40}
              request:
                index: 41
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 42
                  url:
                    pattern: {type: Uri, value: Organization}
                    index: 43
            required: [resource, fullUrl, request]
        consent:
          match: {}
          schema:
            array: true
            index: 44
            elements:
              fullUrl: {index: 45}
              resource: {index: 46}
              request:
                index: 47
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 48
                  url:
                    pattern: {type: Uri, value: Consent}
                    index: 49
            required: [resource, fullUrl, request]
        diagnosticReport:
          match: {}
          schema:
            array: true
            index: 92
            elements:
              fullUrl: {index: 93}
              resource: {index: 94}
              request:
                index: 95
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 96
                  url:
                    pattern: {type: Uri, value: DiagnosticReport}
                    index: 97
            required: [resource, fullUrl, request]
        condition:
          match: {}
          schema:
            array: true
            index: 50
            elements:
              fullUrl: {index: 51}
              resource: {index: 52}
              request:
                index: 53
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 54
                  url:
                    pattern: {type: Uri, value: Condition}
                    index: 55
            required: [resource, fullUrl, request]
        serviceRequest:
          match: {}
          schema:
            array: true
            index: 116
            elements:
              fullUrl: {index: 117}
              resource: {index: 118}
              request:
                index: 119
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 120
                  url:
                    pattern: {type: Uri, value: ServiceRequest}
                    index: 121
            required: [resource, fullUrl, request]
        appointmentResponse:
          match: {}
          schema:
            array: true
            index: 128
            elements:
              fullUrl: {index: 129}
              resource: {index: 130}
              request:
                index: 131
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 132
                  url:
                    pattern: {type: Uri, value: AppointmentResponse}
                    index: 133
            required: [resource, fullUrl, request]
        practitioner:
          match: {}
          schema:
            array: true
            index: 20
            elements:
              fullUrl: {index: 21}
              resource: {index: 22}
              request:
                index: 23
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 24
                  url:
                    pattern: {type: Uri, value: Practitioner}
                    index: 25
            required: [resource, fullUrl, request]
        carePlan:
          match: {}
          schema:
            array: true
            index: 26
            elements:
              fullUrl: {index: 27}
              resource: {index: 28}
              request:
                index: 29
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 30
                  url:
                    pattern: {type: Uri, value: CarePlan}
                    index: 31
            required: [resource, fullUrl, request]
        location:
          match: {}
          schema:
            array: true
            index: 32
            elements:
              fullUrl: {index: 33}
              resource: {index: 34}
              request:
                index: 35
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 36
                  url:
                    pattern: {type: Uri, value: Location}
                    index: 37
            required: [resource, fullUrl, request]
        familyMemberHistory:
          match: {}
          schema:
            array: true
            index: 74
            elements:
              fullUrl: {index: 75}
              resource: {index: 76}
              request:
                index: 77
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 78
                  url:
                    pattern: {type: Uri, value: FamilyMemberHistory}
                    index: 79
            required: [resource, fullUrl, request]
        medication:
          match: {}
          schema:
            array: true
            index: 62
            elements:
              fullUrl: {index: 63}
              resource: {index: 64}
              request:
                index: 65
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 66
                  url:
                    pattern: {type: Uri, value: Medication}
                    index: 67
            required: [resource, fullUrl, request]
        allergyIntolerance:
          match: {}
          schema:
            array: true
            index: 56
            elements:
              fullUrl: {index: 57}
              resource: {index: 58}
              request:
                index: 59
                elements:
                  method:
                    pattern: {type: Code, value: POST}
                    index: 60
                  url:
                    pattern: {type: Uri, value: AllergyIntolerance}
                    index: 61
            required: [resource, fullUrl, request]
package_version: 1.0.0-dft-preballot
class: profile
kind: resource
url: http://fhir.infoway-inforoute.ca/io/HALO/StructureDefinition/set-context-transaction-bundle
base: http://hl7.org/fhir/StructureDefinition/Bundle
version: null
required: [entry]