servers/aidbox
https://edgeniquola.edge.aidbox.app
Passed: 65
Failed: 0
Errors: 0
Patient read test case
case
Passed: 6
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patient
Create a patient for test
ok
post
/Patient
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient"}
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f995951b-49a0-4c80-9159-6e7fe1bb465f",
        :meta {:createdAt "2021-05-10T10:36:32.887076Z",
               :lastUpdated "2021-05-10T10:36:32.887076Z",
               :versionId "4799"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:id sty/string?,
        :meta {:lastUpdated sty/string?, :versionId sty/string?}},
 :by sty/matcho,
 :status sty/ok?}
read-patient
Read patient
ok
get
str/Patient/get-instatebodyid
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f995951b-49a0-4c80-9159-6e7fe1bb465f",
        :meta {:createdAt "2021-05-10T10:36:32.887076Z",
               :lastUpdated "2021-05-10T10:36:32.887076Z",
               :versionId "4799"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:id (get-in sty/state [:create-patient :body :id]),
        :meta {:lastUpdated sty/string?, :versionId sty/string?},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
read-patient-not-found
Try to read not existing patient
ok
get
str/Patient/pt-3
Result:
{:body {:id "not-found",
        :issue [{:code "not-found",
                 :diagnostics "Resource Patient/pt-3 not found",
                 :severity "fatal"}],
        :resourceType "OperationOutcome",
        :text {:div "Resource Patient/pt-3 not found", :status "generated"}},
 :status 404}
Match:
{:by sty/matcho, :status 404}
delete-patient
Delete created patient
ok
delete
str/Patient/get-instatebodyid
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f995951b-49a0-4c80-9159-6e7fe1bb465f",
        :meta {:createdAt "2021-05-10T10:36:33.063607Z",
               :lastUpdated "2021-05-10T10:36:33.063607Z",
               :versionId "4800"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
read-deleted-patient
Try to read just deleted patient
ok
get
str/Patient/get-instatebodyid
Result:
{:body {:id "deleted",
        :issue
          [{:code "deleted",
            :diagnostics
              "Resource Patient/f995951b-49a0-4c80-9159-6e7fe1bb465f not found",
            :severity "fatal"}],
        :resourceType "OperationOutcome",
        :text
          {:div
             "Resource Patient/f995951b-49a0-4c80-9159-6e7fe1bb465f not found",
           :status "generated"}},
 :status 410}
Match:
{:by sty/matcho, :status 410}
Search case
case
Passed: 22
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
clear-organizations
Clear all organizations
ok
post
/$sql
Body:
"TRUNCATE organization"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
clear-practitioners
Clear all practitioners
ok
post
/$sql
Body:
"TRUNCATE practitioner"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
clear-encounters
Clear all encounters
ok
post
/$sql
Body:
"TRUNCATE encounter"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
clear-appointments
Clear all appointments
ok
post
/$sql
Body:
"TRUNCATE appointment"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
create-resources
Create a set of resources for test
ok
put
/
Body:
[{:id "org-1", :name "ups", :resourceType "Organization"}
 {:id "org-2", :name "demo org", :resourceType "Organization"}
 {:birthDate "1980-10-10",
  :gender "male",
  :id "pt-1",
  :managingOrganization {:id "org-1", :resourceType "Organization"},
  :name [{:given ["Doe"], :text "John"}],
  :resourceType "Patient"}
 {:birthDate "2010-01-01",
  :gender "female",
  :id "pt-2",
  :managingOrganization {:id "org-2", :resourceType "Organization"},
  :name [{:text "Sarah"}],
  :resourceType "Patient"}
 {:id "pr-1", :name [{:text "Dr. Mike"}], :resourceType "Practitioner"}
 {:id "pr-2", :name [{:text "Dr. Phil"}], :resourceType "Practitioner"}
 {:class {:code "cls"},
  :id "enc-1",
  :period {:end "2021-04-24", :start "2021-04-23"},
  :resourceType "Encounter",
  :status "active",
  :subject {:id "pt-1", :resourceType "Patient"}}
 {:class {:code "cls"},
  :id "enc-2",
  :period {:end "2019-04-21", :start "2019-04-20"},
  :resourceType "Encounter",
  :status "completed",
  :subject {:id "pt-2", :resourceType "Patient"}}
 {:id "app-1",
  :participant
    [{:actor {:id "pt-1", :resourceType "Patient"}, :status "acepted"}
     {:actor {:id "pr-1", :resourceType "Practitioner"}, :status "acepted"}],
  :resourceType "Appointment",
  :status "pending"}
 {:id "app-2",
  :participant
    [{:actor {:id "pt-2", :resourceType "Patient"}, :status "acepted"}
     {:actor {:id "pr-2", :resourceType "Practitioner"}, :status "acepted"}],
  :resourceType "Appointment",
  :status "finished"}]
Result:
{:body
   ({:id "org-1",
     :meta {:createdAt "2021-05-10T10:36:33.514274Z",
            :lastUpdated "2021-05-10T10:36:33.514274Z",
            :versionId "4801"},
     :name "ups",
     :resourceType "Organization"}
    {:id "org-2",
     :meta {:createdAt "2021-05-10T10:36:33.517110Z",
            :lastUpdated "2021-05-10T10:36:33.517110Z",
            :versionId "4802"},
     :name "demo org",
     :resourceType "Organization"}
    {:birthDate "1980-10-10",
     :gender "male",
     :id "pt-1",
     :managingOrganization {:id "org-1", :resourceType "Organization"},
     :meta {:createdAt "2021-05-10T10:36:33.520137Z",
            :lastUpdated "2021-05-10T10:36:33.520137Z",
            :versionId "4803"},
     :name [{:given ["Doe"], :text "John"}],
     :resourceType "Patient"}
    {:birthDate "2010-01-01",
     :gender "female",
     :id "pt-2",
     :managingOrganization {:id "org-2", :resourceType "Organization"},
     :meta {:createdAt "2021-05-10T10:36:33.523137Z",
            :lastUpdated "2021-05-10T10:36:33.523137Z",
            :versionId "4804"},
     :name [{:text "Sarah"}],
     :resourceType "Patient"}
    {:id "pr-1",
     :meta {:createdAt "2021-05-10T10:36:33.524887Z",
            :lastUpdated "2021-05-10T10:36:33.524887Z",
            :versionId "4805"},
     :name [{:text "Dr. Mike"}],
     :resourceType "Practitioner"}
    {:id "pr-2",
     :meta {:createdAt "2021-05-10T10:36:33.527078Z",
            :lastUpdated "2021-05-10T10:36:33.527078Z",
            :versionId "4806"},
     :name [{:text "Dr. Phil"}],
     :resourceType "Practitioner"}
    {:class {:code "cls"},
     :id "enc-1",
     :meta {:createdAt "2021-05-10T10:36:33.529449Z",
            :lastUpdated "2021-05-10T10:36:33.529449Z",
            :versionId "4807"},
     :period {:end "2021-04-24", :start "2021-04-23"},
     :resourceType "Encounter",
     :status "active",
     :subject {:id "pt-1", :resourceType "Patient"}}
    {:class {:code "cls"},
     :id "enc-2",
     :meta {:createdAt "2021-05-10T10:36:33.532454Z",
            :lastUpdated "2021-05-10T10:36:33.532454Z",
            :versionId "4808"},
     :period {:end "2019-04-21", :start "2019-04-20"},
     :resourceType "Encounter",
     :status "completed",
     :subject {:id "pt-2", :resourceType "Patient"}}
    {:id "app-1",
     :meta {:createdAt "2021-05-10T10:36:33.535254Z",
            :lastUpdated "2021-05-10T10:36:33.535254Z",
            :versionId "4809"},
     :participant
       [{:actor {:id "pt-1", :resourceType "Patient"}, :status "acepted"}
        {:actor {:id "pr-1", :resourceType "Practitioner"}, :status "acepted"}],
     :resourceType "Appointment",
     :status "pending"}
    {:id "app-2",
     :meta {:createdAt "2021-05-10T10:36:33.538492Z",
            :lastUpdated "2021-05-10T10:36:33.538492Z",
            :versionId "4810"},
     :participant
       [{:actor {:id "pt-2", :resourceType "Patient"}, :status "acepted"}
        {:actor {:id "pr-2", :resourceType "Practitioner"}, :status "acepted"}],
     :resourceType "Appointment",
     :status "finished"}),
 :status 200}
Match:
{:body [{:id "org-1"} {:id "org-2"} {:id "pt-1"} {:id "pt-2"} {:id "pr-1"}
        {:id "pr-2"} {:id "enc-1"} {:id "enc-2"} {:id "app-1"} {:id "app-2"}],
 :by sty/matcho,
 :status sty/ok?}
find
Find a patient by id
ok
get
/Patient/pt-1
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "pt-1",
        :managingOrganization {:id "org-1", :resourceType "Organization"},
        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
               :lastUpdated "2021-05-10T10:36:33.520137Z",
               :versionId "4803"},
        :name [{:given ["Doe"], :text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:id sty/string?}, :by sty/matcho, :status sty/ok?}
search-by-id
Search patients by id
ok
get
/Patient?_id=pt-1,pt-2
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}
            {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :gender "female",
                        :id "pt-2",
                        :managingOrganization {:id "org-2",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                               :lastUpdated "2021-05-10T10:36:33.523137Z",
                               :versionId "4804"},
                        :name [{:text "Sarah"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?_id=pt-1,pt-2&page=1"}
           {:relation "self", :url "/Patient?_id=pt-1,pt-2&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE (\"patient\".id in (?, ?)) LIMIT ? OFFSET ? "
       "pt-1" "pt-2" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search-by-name
Search a patient by name
ok
get
/Patient?name=John Doe
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?name=John&page=1"}
           {:relation "self", :url "/Patient?name=John&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE aidbox_text_search(knife_extract_text(\"patient\".resource, $JSON$[[\"name\",\"family\"],[\"name\",\"given\"],[\"name\",\"middle\"],[\"name\",\"text\"]]$JSON$)) ilike unaccent(?) LIMIT ? OFFSET ? "
       "% John%" 100 0],
    :query-time 4,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}}]}, :by sty/matcho, :status sty/ok?}
search-by-content
Search a patient by content
ok
get
/Patient?_content=John Doe
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?_content=John&page=1"}
           {:relation "self", :url "/Patient?_content=John&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE to_tsvector('english',(\"patient\".resource - 'text')::text) @@ to_tsquery(?) LIMIT ? OFFSET ? "
       "john" 100 0],
    :query-time 3,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}}]}, :by sty/matcho, :status sty/ok?}
search-by-text
Search a patient by elements
ok
get
/Patient?_elements=birthDate,name.given
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :id "pt-1",
                        :name [{:given ["Doe"]}],
                        :resourceType "Patient"}}
            {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :id "pt-2",
                        :name [{}],
                        :resourceType "Patient"}}],
    :link [{:relation "first",
            :url "/Patient?_elements=birthDate,name.given&page=1"}
           {:relation "self",
            :url "/Patient?_elements=birthDate,name.given&page=1"}],
    :meta {:versionId "4810"},
    :query-sql ["SELECT \"patient\".* FROM \"patient\" LIMIT ? OFFSET ? " 100
                0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}}]}, :by sty/matcho, :status sty/ok?}
search_patient_by_gender
Search man among patients
ok
get
/Patient?gender=male
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?gender=male&page=1"}
           {:relation "self", :url "/Patient?gender=male&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE \"patient\".resource @> ? LIMIT ? OFFSET ? "
       "{\"gender\":\"male\"}" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}}]}, :by sty/matcho, :status sty/ok?}
search_patient_by_not_gender
Search not man among patients
ok
get
/Patient?gender:not=male
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :gender "female",
                        :id "pt-2",
                        :managingOrganization {:id "org-2",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                               :lastUpdated "2021-05-10T10:36:33.523137Z",
                               :versionId "4804"},
                        :name [{:text "Sarah"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?gender:not=male&page=1"}
           {:relation "self", :url "/Patient?gender:not=male&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE NOT \"patient\".resource @> ? LIMIT ? OFFSET ? "
       "{\"gender\":\"male\"}" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-2"}}]}, :by sty/matcho, :status sty/ok?}
search_patient_by_last_updated
Search by last updated
ok
get
str/Patient?_lastUpdated=2021
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}
            {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :gender "female",
                        :id "pt-2",
                        :managingOrganization {:id "org-2",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                               :lastUpdated "2021-05-10T10:36:33.523137Z",
                               :versionId "4804"},
                        :name [{:text "Sarah"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?_lastUpdated=2021&page=1"}
           {:relation "self", :url "/Patient?_lastUpdated=2021&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE (\"patient\".ts <= knife_date_bound(?, ?) AND \"patient\".ts >= knife_date_bound(?, ?)) LIMIT ? OFFSET ? "
       "2021" "max" "2021" "min" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search-by-missing-given-name
Search a patient by missing
ok
get
/Patient?address:missing=true
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}
            {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :gender "female",
                        :id "pt-2",
                        :managingOrganization {:id "org-2",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                               :lastUpdated "2021-05-10T10:36:33.523137Z",
                               :versionId "4804"},
                        :name [{:text "Sarah"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?address:missing=true&page=1"}
           {:relation "self", :url "/Patient?address:missing=true&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"patient\".* FROM \"patient\" WHERE knife_extract(\"patient\".resource, ?) IS NULL LIMIT ? OFFSET ? "
       "[[\"address\"]]" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search_patient_by_date_created
Search yang patients
ok
get
/fhir/Patient?_createdAt=2021
Result:
{:body
   {:entry
      [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
        :resource {:birthDate "1980-10-10",
                   :gender "male",
                   :id "pt-1",
                   :managingOrganization {:reference "Organization/org-1"},
                   :meta {:extension [{:url "ex:createdAt",
                                       :valueInstant
                                         "2021-05-10T10:36:33.520137Z"}],
                          :lastUpdated "2021-05-10T10:36:33.520137Z",
                          :versionId "4803"},
                   :name [{:given ["Doe"], :text "John"}],
                   :resourceType "Patient"}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
        :resource {:birthDate "2010-01-01",
                   :gender "female",
                   :id "pt-2",
                   :managingOrganization {:reference "Organization/org-2"},
                   :meta {:extension [{:url "ex:createdAt",
                                       :valueInstant
                                         "2021-05-10T10:36:33.523137Z"}],
                          :lastUpdated "2021-05-10T10:36:33.523137Z",
                          :versionId "4804"},
                   :name [{:text "Sarah"}],
                   :resourceType "Patient"}}],
    :link [{:relation "first", :url "/Patient?_createdAt=2021&page=1"}
           {:relation "self", :url "/Patient?_createdAt=2021&page=1"}],
    :meta {:versionId "4810"},
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search_for_patient_created_this_year
Return patients list created inthe current year
ok
get
/Encounter?_include=patient
Result:
{:body
   {:entry
      [{:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-1"}],
        :resource {:class {:code "cls"},
                   :id "enc-1",
                   :meta {:createdAt "2021-05-10T10:36:33.529449Z",
                          :lastUpdated "2021-05-10T10:36:33.529449Z",
                          :versionId "4807"},
                   :period {:end "2021-04-24", :start "2021-04-23"},
                   :resourceType "Encounter",
                   :status "active",
                   :subject {:id "pt-1", :resourceType "Patient"}}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-2"}],
        :resource {:class {:code "cls"},
                   :id "enc-2",
                   :meta {:createdAt "2021-05-10T10:36:33.532454Z",
                          :lastUpdated "2021-05-10T10:36:33.532454Z",
                          :versionId "4808"},
                   :period {:end "2019-04-21", :start "2019-04-20"},
                   :resourceType "Encounter",
                   :status "completed",
                   :subject {:id "pt-2", :resourceType "Patient"}}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
        :resource {:birthDate "1980-10-10",
                   :gender "male",
                   :id "pt-1",
                   :managingOrganization {:id "org-1",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                          :lastUpdated "2021-05-10T10:36:33.520137Z",
                          :versionId "4803"},
                   :name [{:given ["Doe"], :text "John"}],
                   :resourceType "Patient"}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
        :resource {:birthDate "2010-01-01",
                   :gender "female",
                   :id "pt-2",
                   :managingOrganization {:id "org-2",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                          :lastUpdated "2021-05-10T10:36:33.523137Z",
                          :versionId "4804"},
                   :name [{:text "Sarah"}],
                   :resourceType "Patient"}}],
    :include-queries [["SELECT * FROM \"patient\" WHERE (id in (?, ?)) LIMIT ?"
                       "pt-2" "pt-1" 1000]],
    :link [{:relation "first", :url "/Encounter?_include=patient&page=1"}
           {:relation "self", :url "/Encounter?_include=patient&page=1"}],
    :meta {:versionId "4810"},
    :query-sql ["SELECT \"encounter\".* FROM \"encounter\" LIMIT ? OFFSET ? "
                100 0],
    :query-time 3,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "enc-1"}} {:resource {:id "enc-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search_for_patients_wth_enc_in_the_current_year
Search Patients with Encounters in the current year
ok
get
/Patient?_has:Encounter:subject:date:btw=2020,2021
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first",
            :url "/Patient?_has:Encounter:subject:date:btw=2020,2021&page=1"}
           {:relation "self",
            :url "/Patient?_has:Encounter:subject:date:btw=2020,2021&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT * FROM (SELECT DISTINCT ON (\"patient\".id) \"patient\".* FROM \"patient\" INNER JOIN encounter j_317b39e3 ON knife_extract_text(\"j_317b39e3\".resource, ?) && ARRAY[\"patient\".id] WHERE (knife_extract_max_timestamptz(\"j_317b39e3\".resource, ?) >= knife_date_bound(?, ?) AND knife_extract_min_timestamptz(\"j_317b39e3\".resource, ?) <= knife_date_bound(?, ?)) ) \"patient\" LIMIT ? OFFSET ?"
       "[[\"subject\",{\"resourceType\":\"Patient\"},\"id\"]]"
       "[[\"period\",\"start\"],[\"period\",\"end\"]]" "2020" "min"
       "[[\"period\",\"start\"],[\"period\",\"end\"]]" "2021" "max" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:total 1}, :by sty/matcho, :status sty/ok?}
search_for_patients_wth_enc_for_past_3_years
Search Patients with Encounters in the past three years
ok
get
/Patient?_has:Encounter:subject:date:btw=2019,2021
Result:
{:body
   {:entry [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :managingOrganization {:id "org-1",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                               :lastUpdated "2021-05-10T10:36:33.520137Z",
                               :versionId "4803"},
                        :name [{:given ["Doe"], :text "John"}],
                        :resourceType "Patient"}}
            {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
             :link [{:relation "self",
                     :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
             :resource {:birthDate "2010-01-01",
                        :gender "female",
                        :id "pt-2",
                        :managingOrganization {:id "org-2",
                                               :resourceType "Organization"},
                        :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                               :lastUpdated "2021-05-10T10:36:33.523137Z",
                               :versionId "4804"},
                        :name [{:text "Sarah"}],
                        :resourceType "Patient"}}],
    :link [{:relation "first",
            :url "/Patient?_has:Encounter:subject:date:btw=2019,2021&page=1"}
           {:relation "self",
            :url "/Patient?_has:Encounter:subject:date:btw=2019,2021&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT * FROM (SELECT DISTINCT ON (\"patient\".id) \"patient\".* FROM \"patient\" INNER JOIN encounter j_ba57160 ON knife_extract_text(\"j_ba57160\".resource, ?) && ARRAY[\"patient\".id] WHERE (knife_extract_max_timestamptz(\"j_ba57160\".resource, ?) >= knife_date_bound(?, ?) AND knife_extract_min_timestamptz(\"j_ba57160\".resource, ?) <= knife_date_bound(?, ?)) ) \"patient\" LIMIT ? OFFSET ?"
       "[[\"subject\",{\"resourceType\":\"Patient\"},\"id\"]]"
       "[[\"period\",\"start\"],[\"period\",\"end\"]]" "2019" "min"
       "[[\"period\",\"start\"],[\"period\",\"end\"]]" "2021" "max" 100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:total 2}, :by sty/matcho, :status sty/ok?}
search_for_appointment
Search appointments for patient pt-1
ok
get
/Appointment?patient=pt-1
Result:
{:body
   {:entry
      [{:fullUrl "https://edgeniquola.edge.aidbox.app/Appointment/app-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Appointment/app-1"}],
        :resource {:id "app-1",
                   :meta {:createdAt "2021-05-10T10:36:33.535254Z",
                          :lastUpdated "2021-05-10T10:36:33.535254Z",
                          :versionId "4809"},
                   :participant [{:actor {:id "pt-1", :resourceType "Patient"},
                                  :status "acepted"}
                                 {:actor {:id "pr-1",
                                          :resourceType "Practitioner"},
                                  :status "acepted"}],
                   :resourceType "Appointment",
                   :status "pending"}}],
    :link [{:relation "first", :url "/Appointment?patient=pt-1&page=1"}
           {:relation "self", :url "/Appointment?patient=pt-1&page=1"}],
    :meta {:versionId "4810"},
    :query-sql
      ["SELECT \"appointment\".* FROM \"appointment\" WHERE \"appointment\".resource @> ? LIMIT ? OFFSET ? "
       "{\"participant\":[{\"actor\":{\"id\":\"pt-1\",\"resourceType\":\"Patient\"}}]}"
       100 0],
    :query-time 2,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 1,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "app-1"}}]}, :by sty/matcho, :status sty/ok?}
search_for_encounter_include_resources
Return encounters list with patients
ok
get
/Encounter?_include=patient
Result:
{:body
   {:entry
      [{:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-1"}],
        :resource {:class {:code "cls"},
                   :id "enc-1",
                   :meta {:createdAt "2021-05-10T10:36:33.529449Z",
                          :lastUpdated "2021-05-10T10:36:33.529449Z",
                          :versionId "4807"},
                   :period {:end "2021-04-24", :start "2021-04-23"},
                   :resourceType "Encounter",
                   :status "active",
                   :subject {:id "pt-1", :resourceType "Patient"}}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-2"}],
        :resource {:class {:code "cls"},
                   :id "enc-2",
                   :meta {:createdAt "2021-05-10T10:36:33.532454Z",
                          :lastUpdated "2021-05-10T10:36:33.532454Z",
                          :versionId "4808"},
                   :period {:end "2019-04-21", :start "2019-04-20"},
                   :resourceType "Encounter",
                   :status "completed",
                   :subject {:id "pt-2", :resourceType "Patient"}}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
        :resource {:birthDate "1980-10-10",
                   :gender "male",
                   :id "pt-1",
                   :managingOrganization {:id "org-1",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                          :lastUpdated "2021-05-10T10:36:33.520137Z",
                          :versionId "4803"},
                   :name [{:given ["Doe"], :text "John"}],
                   :resourceType "Patient"}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
        :resource {:birthDate "2010-01-01",
                   :gender "female",
                   :id "pt-2",
                   :managingOrganization {:id "org-2",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                          :lastUpdated "2021-05-10T10:36:33.523137Z",
                          :versionId "4804"},
                   :name [{:text "Sarah"}],
                   :resourceType "Patient"}}],
    :include-queries [["SELECT * FROM \"patient\" WHERE (id in (?, ?)) LIMIT ?"
                       "pt-2" "pt-1" 1000]],
    :link [{:relation "first", :url "/Encounter?_include=patient&page=1"}
           {:relation "self", :url "/Encounter?_include=patient&page=1"}],
    :meta {:versionId "4810"},
    :query-sql ["SELECT \"encounter\".* FROM \"encounter\" LIMIT ? OFFSET ? "
                100 0],
    :query-time 3,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "enc-1"}} {:resource {:id "enc-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
search_revinclude
Return patients list with encounters
ok
get
/Patient?_revinclude=Encounter:subject:Patient
Result:
{:body
   {:entry
      [{:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-1"}],
        :resource {:birthDate "1980-10-10",
                   :gender "male",
                   :id "pt-1",
                   :managingOrganization {:id "org-1",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.520137Z",
                          :lastUpdated "2021-05-10T10:36:33.520137Z",
                          :versionId "4803"},
                   :name [{:given ["Doe"], :text "John"}],
                   :resourceType "Patient"}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Patient/pt-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Patient/pt-2"}],
        :resource {:birthDate "2010-01-01",
                   :gender "female",
                   :id "pt-2",
                   :managingOrganization {:id "org-2",
                                          :resourceType "Organization"},
                   :meta {:createdAt "2021-05-10T10:36:33.523137Z",
                          :lastUpdated "2021-05-10T10:36:33.523137Z",
                          :versionId "4804"},
                   :name [{:text "Sarah"}],
                   :resourceType "Patient"}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-1",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-1"}],
        :resource {:class {:code "cls"},
                   :id "enc-1",
                   :meta {:createdAt "2021-05-10T10:36:33.529449Z",
                          :lastUpdated "2021-05-10T10:36:33.529449Z",
                          :versionId "4807"},
                   :period {:end "2021-04-24", :start "2021-04-23"},
                   :resourceType "Encounter",
                   :status "active",
                   :subject {:id "pt-1", :resourceType "Patient"}}}
       {:fullUrl "https://edgeniquola.edge.aidbox.app/Encounter/enc-2",
        :link [{:relation "self",
                :url "https://edgeniquola.edge.aidbox.app/Encounter/enc-2"}],
        :resource {:class {:code "cls"},
                   :id "enc-2",
                   :meta {:createdAt "2021-05-10T10:36:33.532454Z",
                          :lastUpdated "2021-05-10T10:36:33.532454Z",
                          :versionId "4808"},
                   :period {:end "2019-04-21", :start "2019-04-20"},
                   :resourceType "Encounter",
                   :status "completed",
                   :subject {:id "pt-2", :resourceType "Patient"}}}],
    :include-queries
      [["SELECT distinct * FROM \"encounter\" WHERE ((knife_extract_text(resource, $$[[\"subject\",{\"resourceType\":\"Patient\"},\"id\"]]$$))[1] in (?, ?)) LIMIT ?"
        "pt-2" "pt-1" 1000]],
    :link [{:relation "first",
            :url "/Patient?_revinclude=Encounter:subject:Patient&page=1"}
           {:relation "self",
            :url "/Patient?_revinclude=Encounter:subject:Patient&page=1"}],
    :meta {:versionId "4810"},
    :query-sql ["SELECT \"patient\".* FROM \"patient\" LIMIT ? OFFSET ? " 100
                0],
    :query-time 3,
    :query-timeout 60000,
    :resourceType "Bundle",
    :total 2,
    :type "searchset"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}]},
 :by sty/matcho,
 :status sty/ok?}
Patient create test case
case
Passed: 7
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patient
Create a patient for test
ok
post
/Patient
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient"}
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f2cbfbc4-0ba8-4721-9521-7bb5405519bd",
        :meta {:createdAt "2021-05-10T10:36:34.580248Z",
               :lastUpdated "2021-05-10T10:36:34.580248Z",
               :versionId "4811"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:id sty/string?,
        :meta {:lastUpdated sty/string?, :versionId sty/string?},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
read-patient
Search just created patient by id
ok
get
str/Patient/get-instatebodyid
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f2cbfbc4-0ba8-4721-9521-7bb5405519bd",
        :meta {:createdAt "2021-05-10T10:36:34.580248Z",
               :lastUpdated "2021-05-10T10:36:34.580248Z",
               :versionId "4811"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:id (get-in sty/state [:create-patient :body :id])},
 :by sty/matcho,
 :status sty/ok?}
create-patient-not-successful-wrong-resource
Try to create wrong patient resource
ok
post
/Patient
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient",
 :type "bad resource"}
Result:
{:body {:issue [{:code "invalid",
                 :diagnostics "extra property",
                 :expression ["Patient.type"],
                 :severity "fatal"}],
        :resourceType "OperationOutcome",
        :text {:div "Invalid resource", :status "generated"}},
 :status 422}
Match:
{:by sty/matcho, :status 422}
create-patient-not-successful-wrong-birthday-format
Try to create a patient with wrong birthday format
ok
post
/Patient
Body:
{:birthDate "1980-17-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient",
 :type "bad resource"}
Result:
{:body
   {:issue
      [{:code "invalid",
        :diagnostics
          "expected format ^-?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1]))?)?$",
        :expression ["Patient.birthDate"],
        :severity "fatal"}
       {:code "invalid",
        :diagnostics "extra property",
        :expression ["Patient.type"],
        :severity "fatal"}],
    :resourceType "OperationOutcome",
    :text {:div "Invalid resource", :status "generated"}},
 :status 422}
Match:
{:by sty/matcho, :status 422}
create-patient-not-successful-wrong-resource-type
Try to create a patient with wrong resource type
ok
post
/Patient
Body:
{:birthDate "1980-17-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient_",
 :type "bad resource"}
Result:
{:body
   {:issue
      [{:code "invalid",
        :diagnostics
          "expected format ^-?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1]))?)?$",
        :expression ["Patient.birthDate"],
        :severity "fatal"}
       {:code "invalid",
        :diagnostics "extra property",
        :expression ["Patient.type"],
        :severity "fatal"}],
    :resourceType "OperationOutcome",
    :text {:div "Invalid resource", :status "generated"}},
 :status 422}
Match:
{:by sty/matcho, :status 422}
create-patient-not-successful-existing-id
Try to create a patient with the existing id
ok
put
/
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :id (get-in sty/state [:create-patient :body :id]),
 :managingOrganization {:id "org-1", :resourceType "Organization"},
 :name [{:text "John"}],
 :resourceType "Patient"}
Result:
{:body
   {:id "exception",
    :issue
      [{:code "exception",
        :diagnostics
          "Cannot invoke \"clojure.lang.Named.getName()\" because \"x\" is null",
        :severity "fatal"}],
    :resourceType "OperationOutcome",
    :text
      {:div
         "Cannot invoke \"clojure.lang.Named.getName()\" because \"x\" is null",
       :status "generated"}},
 :status 500}
Match:
{:by sty/matcho, :status 500}
Patient update test case
case
Passed: 6
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patient
Create a patient for test
ok
post
/Patient
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient"}
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f4e1fde4-8744-4c73-b986-6569c0e1f210",
        :meta {:createdAt "2021-05-10T10:36:34.983306Z",
               :lastUpdated "2021-05-10T10:36:34.983306Z",
               :versionId "4812"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:id sty/string?,
        :meta {:lastUpdated sty/string?, :versionId sty/string?},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
read-patient
Read patient
ok
get
str/Patient/get-instatebodyid
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "f4e1fde4-8744-4c73-b986-6569c0e1f210",
        :meta {:createdAt "2021-05-10T10:36:34.983306Z",
               :lastUpdated "2021-05-10T10:36:34.983306Z",
               :versionId "4812"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:id (get-in sty/state [:create-patient :body :id]),
        :meta {:lastUpdated sty/string?, :versionId sty/string?},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
update-patient
Update previously created patient
ok
put
/Patient?name=John
Body:
{:birthDate "1970-10-10", :gender "male", :name [{:text "Johnny"}]}
Result:
{:body {:birthDate "1970-10-10",
        :gender "male",
        :id "f4e1fde4-8744-4c73-b986-6569c0e1f210",
        :meta {:createdAt "2021-05-10T10:36:34.983306Z",
               :lastUpdated "2021-05-10T10:36:35.100298Z",
               :versionId "4813"},
        :name [{:text "Johnny"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:birthDate "1970-10-10",
        :id (get-in sty/state [:create-patient :body :id])},
 :by sty/matcho,
 :status sty/ok?}
update-as-create
Update as create
ok
put
/Patient
Body:
{:birthDate "2015-10-10", :gender "female", :name [{:text "Denny"}]}
Result:
{:body {:birthDate "2015-10-10",
        :gender "female",
        :id "b8639bdd-033d-4d1c-b41f-156d48ff38dc",
        :meta {:createdAt "2021-05-10T10:36:35.160988Z",
               :lastUpdated "2021-05-10T10:36:35.160988Z",
               :versionId "4814"},
        :name [{:text "Denny"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:resourceType "Patient"}, :by sty/matcho, :status sty/ok?}
update-non-successful
Versioned update
ok
put
str/Patient/get-instatebodyid
Body:
{:name [{:text "no-John"}]}
Result:
{:body {:id "f4e1fde4-8744-4c73-b986-6569c0e1f210",
        :meta {:createdAt "2021-05-10T10:36:34.983306Z",
               :lastUpdated "2021-05-10T10:36:35.219725Z",
               :versionId "4815"},
        :name [{:text "no-John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
Patient delete test case
case
Passed: 7
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patients
Create two patients for test
ok
put
/
Body:
[{:birthDate "1980-10-10",
  :gender "male",
  :id "pt-1",
  :meta {:versionId "999"},
  :name [{:text "John"}],
  :resourceType "Patient"}
 {:birthDate "2010-01-01",
  :gender "female",
  :id "pt-2",
  :meta {:versionId "1000"},
  :name [{:text "Sarah"}],
  :resourceType "Patient"}]
Result:
{:body ({:birthDate "1980-10-10",
         :gender "male",
         :id "pt-1",
         :meta {:createdAt "2021-05-10T10:36:35.343492Z",
                :lastUpdated "2021-05-10T10:36:35.343492Z",
                :versionId "4816"},
         :name [{:text "John"}],
         :resourceType "Patient"}
        {:birthDate "2010-01-01",
         :gender "female",
         :id "pt-2",
         :meta {:createdAt "2021-05-10T10:36:35.346634Z",
                :lastUpdated "2021-05-10T10:36:35.346634Z",
                :versionId "4817"},
         :name [{:text "Sarah"}],
         :resourceType "Patient"}),
 :status 200}
Match:
{:body [{:id "pt-1"} {:id "pt-2"}], :by sty/matcho, :status sty/ok?}
delete-patient
Delete created patient
ok
delete
/Patient/pt-1
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "pt-1",
        :meta {:createdAt "2021-05-10T10:36:35.401970Z",
               :lastUpdated "2021-05-10T10:36:35.401970Z",
               :versionId "4818"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
read-deleted-patient-not-successful
Try to read just deleted patient
ok
get
/Patient/pt-1
Result:
{:body {:id "deleted",
        :issue [{:code "deleted",
                 :diagnostics "Resource Patient/pt-1 not found",
                 :severity "fatal"}],
        :resourceType "OperationOutcome",
        :text {:div "Resource Patient/pt-1 not found", :status "generated"}},
 :status 410}
Match:
{:by sty/matcho, :status 410}
read-history-of-deleted-patient
Get history for just deleted patient
ok
get
/Patient/pt-1/_history
Result:
{:body
   {:entry [{:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:35.401970Z",
                               :lastUpdated "2021-05-10T10:36:35.401970Z",
                               :versionId "4818"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:35.343492Z",
                               :lastUpdated "2021-05-10T10:36:35.343492Z",
                               :versionId "4816"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.873425Z",
                               :versionId "4791"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.873425Z",
                               :versionId "4790"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.469502Z",
                               :versionId "4786"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:23.311340Z",
                               :lastUpdated "2021-05-10T10:35:23.311340Z",
                               :versionId "4784"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:23.108035Z",
                               :lastUpdated "2021-05-10T10:35:23.108035Z",
                               :versionId "4782"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.614528Z",
                               :versionId "4747"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.614528Z",
                               :versionId "4746"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.521551Z",
                               :versionId "4742"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.018745Z",
                               :lastUpdated "2021-05-10T08:45:29.018745Z",
                               :versionId "4740"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:28.984070Z",
                               :lastUpdated "2021-05-10T08:45:28.984070Z",
                               :versionId "4738"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.770606Z",
                               :versionId "4716"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.770606Z",
                               :versionId "4715"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.369459Z",
                               :versionId "4711"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:17.355204Z",
                               :lastUpdated "2021-05-10T08:43:17.355204Z",
                               :versionId "4709"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:17.209635Z",
                               :lastUpdated "2021-05-10T08:43:17.209635Z",
                               :versionId "4707"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:08.143034Z",
                               :versionId "4685"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:08.143034Z",
                               :versionId "4684"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:07.733967Z",
                               :versionId "4680"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:04.967847Z",
                               :lastUpdated "2021-05-10T08:20:04.967847Z",
                               :versionId "4678"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:04.762527Z",
                               :lastUpdated "2021-05-10T08:20:04.762527Z",
                               :versionId "4676"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.838046Z",
                               :versionId "4654"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.838046Z",
                               :versionId "4653"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.524996Z",
                               :versionId "4649"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:47.446109Z",
                               :lastUpdated "2021-05-10T08:16:47.446109Z",
                               :versionId "4647"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:47.285742Z",
                               :lastUpdated "2021-05-10T08:16:47.285742Z",
                               :versionId "4645"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:45.166940Z",
                               :versionId "4623"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:45.166940Z",
                               :versionId "4622"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:44.730587Z",
                               :versionId "4618"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:42.581038Z",
                               :lastUpdated "2021-05-10T08:10:42.581038Z",
                               :versionId "4616"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:42.375555Z",
                               :lastUpdated "2021-05-10T08:10:42.375555Z",
                               :versionId "4614"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:26.903339Z",
                               :lastUpdated "2021-05-10T08:08:26.903339Z",
                               :versionId "4596"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:24.695355Z",
                               :lastUpdated "2021-05-10T08:08:24.695355Z",
                               :versionId "4595"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.971134Z",
                               :versionId "4592"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.971134Z",
                               :versionId "4591"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.495684Z",
                               :versionId "4587"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:20.223531Z",
                               :lastUpdated "2021-05-10T08:08:20.223531Z",
                               :versionId "4585"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:19.581277Z",
                               :lastUpdated "2021-05-10T08:08:19.581277Z",
                               :versionId "4583"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:38.745569Z",
                               :lastUpdated "2021-05-10T08:03:38.745569Z",
                               :versionId "4565"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.934272Z",
                               :lastUpdated "2021-05-10T08:03:37.934272Z",
                               :versionId "4564"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.451145Z",
                               :versionId "4561"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.451145Z",
                               :versionId "4560"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.105125Z",
                               :versionId "4556"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:34.803171Z",
                               :lastUpdated "2021-05-10T08:03:34.803171Z",
                               :versionId "4554"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:34.656029Z",
                               :lastUpdated "2021-05-10T08:03:34.656029Z",
                               :versionId "4552"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:24.485756Z",
                               :lastUpdated "2021-05-10T07:59:24.485756Z",
                               :versionId "4534"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:23.732057Z",
                               :lastUpdated "2021-05-10T07:59:23.732057Z",
                               :versionId "4533"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:23.151162Z",
                               :versionId "4530"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:23.151162Z",
                               :versionId "4529"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:22.745266Z",
                               :versionId "4525"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:20.394992Z",
                               :lastUpdated "2021-05-10T07:59:20.394992Z",
                               :versionId "4523"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:20.234586Z",
                               :lastUpdated "2021-05-10T07:59:20.234586Z",
                               :versionId "4521"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:19.262910Z",
                               :lastUpdated "2021-05-10T07:59:19.553628Z",
                               :versionId "4518"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:19.262910Z",
                               :lastUpdated "2021-05-10T07:59:19.262910Z",
                               :versionId "4517"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:55.661802Z",
                               :lastUpdated "2021-05-10T07:36:55.661802Z",
                               :versionId "4503"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:54.741602Z",
                               :lastUpdated "2021-05-10T07:36:54.741602Z",
                               :versionId "4502"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:54.126504Z",
                               :versionId "4499"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:54.126504Z",
                               :versionId "4498"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:53.717387Z",
                               :versionId "4494"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:51.362301Z",
                               :lastUpdated "2021-05-10T07:36:51.362301Z",
                               :versionId "4492"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:51.157586Z",
                               :lastUpdated "2021-05-10T07:36:51.157586Z",
                               :versionId "4490"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:49.829692Z",
                               :lastUpdated "2021-05-10T07:36:50.241233Z",
                               :versionId "4487"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:49.829692Z",
                               :lastUpdated "2021-05-10T07:36:49.829692Z",
                               :versionId "4486"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:44.026344Z",
                               :lastUpdated "2021-05-10T07:27:44.026344Z",
                               :versionId "4470"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:43.211472Z",
                               :lastUpdated "2021-05-10T07:27:43.211472Z",
                               :versionId "4469"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.597966Z",
                               :versionId "4466"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.597966Z",
                               :versionId "4465"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.183325Z",
                               :versionId "4461"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:39.931100Z",
                               :lastUpdated "2021-05-10T07:27:39.931100Z",
                               :versionId "4459"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:39.722542Z",
                               :lastUpdated "2021-05-10T07:27:39.722542Z",
                               :versionId "4457"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:38.603198Z",
                               :lastUpdated "2021-05-10T07:27:39.016405Z",
                               :versionId "4454"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:38.603198Z",
                               :lastUpdated "2021-05-10T07:27:38.603198Z",
                               :versionId "4453"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:21.695761Z",
                               :lastUpdated "2021-05-10T07:26:21.695761Z",
                               :versionId "4439"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:20.777720Z",
                               :lastUpdated "2021-05-10T07:26:20.777720Z",
                               :versionId "4438"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:20.059302Z",
                               :versionId "4435"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:20.059302Z",
                               :versionId "4434"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:19.543911Z",
                               :versionId "4430"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:17.399416Z",
                               :lastUpdated "2021-05-10T07:26:17.399416Z",
                               :versionId "4428"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:17.191999Z",
                               :lastUpdated "2021-05-10T07:26:17.191999Z",
                               :versionId "4426"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:15.966475Z",
                               :lastUpdated "2021-05-10T07:26:16.378909Z",
                               :versionId "4423"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:15.966475Z",
                               :lastUpdated "2021-05-10T07:26:15.966475Z",
                               :versionId "4422"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:26.863662Z",
                               :lastUpdated "2021-05-10T07:21:26.863662Z",
                               :versionId "4408"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:26.072990Z",
                               :lastUpdated "2021-05-10T07:21:26.072990Z",
                               :versionId "4407"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:25.248462Z",
                               :versionId "4404"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:25.248462Z",
                               :versionId "4403"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:24.839448Z",
                               :versionId "4399"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:22.381962Z",
                               :lastUpdated "2021-05-10T07:21:22.381962Z",
                               :versionId "4397"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:22.197944Z",
                               :lastUpdated "2021-05-10T07:21:22.197944Z",
                               :versionId "4395"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:20.951166Z",
                               :lastUpdated "2021-05-10T07:21:21.461132Z",
                               :versionId "4392"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:20.951166Z",
                               :lastUpdated "2021-05-10T07:21:20.951166Z",
                               :versionId "4391"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:54.017691Z",
                               :lastUpdated "2021-05-04T17:35:54.017691Z",
                               :versionId "4370"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.901077Z",
                               :lastUpdated "2021-05-04T17:35:53.901077Z",
                               :versionId "4369"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.784077Z",
                               :versionId "4366"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.784077Z",
                               :versionId "4365"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.704360Z",
                               :versionId "4361"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.270115Z",
                               :lastUpdated "2021-05-04T17:35:53.270115Z",
                               :versionId "4359"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.244119Z",
                               :lastUpdated "2021-05-04T17:35:53.244119Z",
                               :versionId "4357"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.076552Z",
                               :lastUpdated "2021-05-04T17:35:53.130249Z",
                               :versionId "4354"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.076552Z",
                               :lastUpdated "2021-05-04T17:35:53.076552Z",
                               :versionId "4353"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}],
    :id "4818",
    :query-sql
      ["WITH history AS ((SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient\" WHERE id = ?) UNION (SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient_history\" WHERE id = ?)) SELECT * FROM history ORDER BY txid DESC LIMIT ?"
       "pt-1" "pt-1" 100],
    :resourceType "Bundle",
    :total 100,
    :type "history"},
 :status 200}
Match:
{:body {:entry [{:request {:method "DELETE"},
                 :resource {:resourceType "Patient"}}]},
 :by sty/matcho,
 :status 200}
conditional-delete-not-successful
Not successfull conditional delete for patient
ok
delete
/Patient/?birthdate=1990-01-11
Result:
{:body nil, :status 204}
Match:
{:by sty/matcho, :status 204}
conditional-delete-successful
Successfull conditional delete for patient
ok
delete
/Patient/?birthdate=2010-01-01
Result:
{:body {:birthDate "2010-01-01",
        :gender "female",
        :id "pt-2",
        :meta {:createdAt "2021-05-10T10:36:35.643556Z",
               :lastUpdated "2021-05-10T10:36:35.643556Z",
               :versionId "4819"},
        :name [{:text "Sarah"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status 200}
Capabilities statement testing
case
Passed: 1
Failed: 0
Errors: 0
metadata
ok
get
/metadata
Result:
{:body
   {:fhirVersion "4.0.0",
    :format ["json" "yaml" "edn"],
    :kind "instance",
    :name "aidbox",
    :patchFormat ["json-patch" "merge-patch"],
    :resourceType "CapabilityStatement",
    :rest
      [{:interaction [{:code "batch"} {:code "transaction"}],
        :mode "server",
        :operation
          [{:definition "Operation/scim-search-users",
            :name "scim-search-users"}
           {:definition "Operation/fhir-bulk-load", :name "fhir-bulk-load"}
           {:definition "Operation/Subsumes-get-id", :name "Subsumes-get-id"}
           {:definition "Operation/auth-token", :name "auth-token"}
           {:definition "Operation/FhirConditionalUpdate",
            :name "FhirConditionalUpdate"}
           {:definition "Operation/Update", :name "Update"}
           {:definition "Operation/Validate-update-delete",
            :name "Validate-update-delete"}
           {:definition "Operation/Expand-get-id", :name "Expand-get-id"}
           {:definition "Operation/Validate-create", :name "Validate-create"}
           {:definition "Operation/Lookup-post", :name "Lookup-post"}
           {:definition "Operation/get-metadata", :name "get-metadata"}
           {:definition "Operation/rotues", :name "rotues"}
           {:definition "Operation/Upload", :name "Upload"}
           {:definition "Operation/auth-external-provider-callback",
            :name "auth-external-provider-callback"}
           {:definition "Operation/test-exception", :name "test-exception"}
           {:definition "Operation/fhir-bulk-import", :name "fhir-bulk-import"}
           {:definition "Operation/encrypt-key", :name "encrypt-key"}
           {:definition "Operation/sdc-debug", :name "sdc-debug"}
           {:definition "Operation/re-handshake", :name "subs/re-handshake"}
           {:definition "Operation/Read", :name "Read"}
           {:definition "Operation/Lookup-get", :name "Lookup-get"}
           {:definition "Operation/resource-changes",
            :name "changes/resource-changes"}
           {:definition "Operation/CustomQuery", :name "CustomQuery"}
           {:definition "Operation/mapper-debug", :name "mapper-debug"}
           {:definition "Operation/Expand-post-id", :name "Expand-post-id"}
           {:definition "Operation/FhirHistoryType", :name "FhirHistoryType"}
           {:definition "Operation/scim-delete-user", :name "scim-delete-user"}
           {:definition "Operation/openid-configuration",
            :name "openid-configuration"}
           {:definition "Operation/mapper-apply-batch",
            :name "mapper-apply-batch"}
           {:definition "Operation/test-sleep", :name "test-sleep"}
           {:definition "Operation/conditional-update-app",
            :name "conditional-update-app"}
           {:definition "Operation/BundleValidate", :name "BundleValidate"}
           {:definition "Operation/index", :name "index"}
           {:definition "Operation/SubscriptionPoll", :name "SubscriptionPoll"}
           {:definition "Operation/auth-signup", :name "auth-signup"}
           {:definition "Operation/clear-etags-cache",
            :name "clear-etags-cache"}
           {:definition "Operation/auth-grants-view", :name "auth-grants-view"}
           {:definition "Operation/lookup", :name "lookup"}
           {:definition "Operation/HistoryResource", :name "HistoryResource"}
           {:definition "Operation/scim-resource-types",
            :name "scim-resource-types"}
           {:definition "Operation/auth-two-factor-view",
            :name "auth-two-factor-view"}
           {:definition "Operation/import-concepts", :name "import-concepts"}
           {:definition "Operation/fhir-search-param-search",
            :name "fhir-search-param-search"}
           {:definition "Operation/gsapi-write-url", :name "gsapi-write-url"}
           {:definition "Operation/ConditionalUpdate",
            :name "ConditionalUpdate"}
           {:definition "Operation/Patch", :name "Patch"}
           {:definition "Operation/FhirValidateUpdateDelete",
            :name "FhirValidateUpdateDelete"}
           {:definition "Operation/FhirTransaction", :name "FhirTransaction"}
           {:definition "Operation/scim-put-me", :name "scim-put-me"}
           {:definition "Operation/fhirlookup", :name "fhirlookup"}
           {:definition "Operation/logs", :name "logs"}
           {:definition "Operation/scim-get-me", :name "scim-get-me"}
           {:definition "Operation/FhirSubscriptionPoll",
            :name "FhirSubscriptionPoll"}
           {:definition "Operation/alpha-fhir-search",
            :name "alpha-fhir-search"}
           {:definition "Operation/smart-configuration",
            :name "smart-configuration"}
           {:definition "Operation/debug-notify", :name "subs/debug-notify"}
           {:definition "Operation/azure-container-read-url",
            :name "azure-container-read-url"}
           {:definition "Operation/azure-container-write-url",
            :name "azure-container-write-url"}
           {:definition "Operation/bulk-upsert", :name "bulk-upsert"}
           {:definition "Operation/sequence-nextval", :name "sequence-nextval"}
           {:definition "Operation/Validate-code-post",
            :name "Validate-code-post"}
           {:definition "Operation/FhirSearch", :name "FhirSearch"}
           {:definition "Operation/reload-metadata", :name "reload-metadata"}
           {:definition "Operation/scim-schema", :name "scim-schema"}
           {:definition "Operation/sequence-currval", :name "sequence-currval"}
           {:definition "Operation/Expand-get", :name "Expand-get"}
           {:definition "Operation/scim-search", :name "scim-search"}
           {:definition "Operation/changes", :name "changes/changes"}
           {:definition "Operation/HistoryType", :name "HistoryType"}
           {:definition "Operation/FhirCodeSystemUpdate",
            :name "FhirCodeSystemUpdate"}
           {:definition "Operation/aws-bucket-read-url",
            :name "aws-bucket-read-url"}
           {:definition "Operation/scim-put-user", :name "scim-put-user"}
           {:definition "Operation/FhirConditionalDelete",
            :name "FhirConditionalDelete"}
           {:definition "Operation/fhir-bulk-load-all",
            :name "fhir-bulk-load-all"}
           {:definition "Operation/scim-patch-me", :name "scim-patch-me"}
           {:definition "Operation/Validate-code-post-id",
            :name "Validate-code-post-id"}
           {:definition "Operation/devlogs", :name "devlogs"}
           {:definition "Operation/clear-etags-cache-all",
            :name "clear-etags-cache-all"}
           {:definition "Operation/encrypt", :name "encrypt"}
           {:definition "Operation/FhirHistory", :name "FhirHistory"}
           {:definition "Operation/auth-login-view", :name "auth-login-view"}
           {:definition "Operation/auth-confirm", :name "auth-confirm"}
           {:definition "Operation/ObservationLastN", :name "ObservationLastN"}
           {:definition "Operation/VRead", :name "VRead"}
           {:definition "Operation/sequence-setval", :name "sequence-setval"}
           {:definition "Operation/FhirUpdate", :name "FhirUpdate"}
           {:definition "Operation/auth-grant-view", :name "auth-grant-view"}
           {:definition "Operation/CompartmentObservationLastn",
            :name "CompartmentObservationLastn"}
           {:definition "Operation/bulk-copy", :name "bulk-copy"}
           {:definition "Operation/auth-signup-view", :name "auth-signup-view"}
           {:definition "Operation/json-schema", :name "json-schema"}
           {:definition "Operation/scim-get-user", :name "scim-get-user"}
           {:definition "Operation/Create", :name "Create"}
           {:definition "Operation/auth-external-provider-redirect",
            :name "auth-external-provider-redirect"}
           {:definition "Operation/subscribe", :name "subs/subscribe"}
           {:definition "Operation/loggy", :name "loggy"}
           {:definition "Operation/re-bulk-notify", :name "subs/re-bulk-notify"}
           {:definition "Operation/devlogs-truncate", :name "devlogs-truncate"}
           {:definition "Operation/config", :name "proto/config"}
           {:definition "Operation/auth-external-provider-list",
            :name "auth-external-provider-list"}
           {:definition "Operation/test-ping", :name "test-ping"}
           {:definition "Operation/Compose-post-id", :name "Compose-post-id"}
           {:definition "Operation/bulk-load", :name "bulk-load"}
           {:definition "Operation/auth-login-2fa-confirm",
            :name "auth-login-2fa-confirm"}
           {:definition "Operation/matcho", :name "matcho"}
           {:definition "Operation/scim-service-provider",
            :name "scim-service-provider"}
           {:definition "Operation/db-migrations-status",
            :name "db-migrations-status"}
           {:definition "Operation/fhir-structure-def-search",
            :name "fhir-structure-def-search"}
           {:definition "Operation/init-app", :name "init-app"}
           {:definition "Operation/auth-confirm-view",
            :name "auth-confirm-view"}
           {:definition "Operation/delete-sequence", :name "delete-sequence"}
           {:definition "Operation/auth-two-factor-disable",
            :name "auth-two-factor-disable"}
           {:definition "Operation/FhirBundleValidate",
            :name "FhirBundleValidate"}
           {:definition "Operation/FhirPostSearch", :name "FhirPostSearch"}
           {:definition "Operation/update-app", :name "update-app"}
           {:definition "Operation/Subsumes-post-id", :name "Subsumes-post-id"}
           {:definition "Operation/auth-two-factor-enable",
            :name "auth-two-factor-enable"}
           {:definition "Operation/FhirCodeSystemCreate",
            :name "FhirCodeSystemCreate"}
           {:definition "Operation/Subsumes-get", :name "Subsumes-get"}
           {:definition "Operation/sql", :name "sql"}
           {:definition "Operation/auth-authorization-server",
            :name "auth-authorization-server"}
           {:definition "Operation/aws-bucket-write-url",
            :name "aws-bucket-write-url"}
           {:definition "Operation/changes-stream",
            :name "changes/changes-stream"}
           {:definition "Operation/fhir-capability-redir",
            :name "fhir-capability-redir"}
           {:definition "Operation/FhirRead", :name "FhirRead"}
           {:definition "Operation/auth-two-factor-enable-view",
            :name "auth-two-factor-enable-view"}
           {:definition "Operation/auth-signup-confirm-view",
            :name "auth-signup-confirm-view"}
           {:definition "Operation/PatientMatch", :name "PatientMatch"}
           {:definition "Operation/Delete", :name "Delete"}
           {:definition "Operation/Compose-get", :name "Compose-get"}
           {:definition "Operation/re-notify", :name "subs/re-notify"}
           {:definition "Operation/gsapi-read-url", :name "gsapi-read-url"}
           {:definition "Operation/fhir-structure-def-read",
            :name "fhir-structure-def-read"}
           {:definition "Operation/basic-profile", :name "basic-profile"}
           {:definition "Operation/auth-signup-sent-view",
            :name "auth-signup-sent-view"}
           {:definition "Operation/Compose-get-id", :name "Compose-get-id"}
           {:definition "Operation/scim-delete-me", :name "scim-delete-me"}
           {:definition "Operation/CompartmentEverything",
            :name "CompartmentEverything"}
           {:definition "Operation/Search-post", :name "Search-post"}
           {:definition "Operation/create-sequence", :name "create-sequence"}
           {:definition "Operation/auth-jwks-json", :name "auth-jwks-json"}
           {:definition "Operation/debug-search-query",
            :name "debug-search-query"}
           {:definition "Operation/format-conv", :name "format-conv"}
           {:definition "Operation/fhir-capability", :name "fhir-capability"}
           {:definition "Operation/ConditionalDelete",
            :name "ConditionalDelete"}
           {:definition "Operation/health", :name "health"}
           {:definition "Operation/bulk-resource-type",
            :name "bulk-resource-type"}
           {:definition "Operation/FhirVread", :name "FhirVread"}
           {:definition "Operation/scim-create-user", :name "scim-create-user"}
           {:definition "Operation/decrypt", :name "decrypt"}
           {:definition "Operation/analyze-attributes",
            :name "analyze-attributes"}
           {:definition "Operation/drop-session", :name "drop-session"}
           {:definition "Operation/graphql", :name "graphql"}
           {:definition "Operation/FhirCompartmentEverything",
            :name "FhirCompartmentEverything"}
           {:definition "Operation/Compose-post", :name "Compose-post"}
           {:definition "Operation/create-app", :name "create-app"}
           {:definition "Operation/scim-patch-user", :name "scim-patch-user"}
           {:definition "Operation/FhirCompartmentSearch",
            :name "FhirCompartmentSearch"}
           {:definition "Operation/auth-test-policy", :name "auth-test-policy"}
           {:definition "Operation/auth-sessions-view",
            :name "auth-sessions-view"}
           {:definition "Operation/CompartmentSearch",
            :name "CompartmentSearch"}
           {:definition "Operation/auth-login", :name "auth-login"}
           {:definition "Operation/auth-two-factor-disable-view",
            :name "auth-two-factor-disable-view"}
           {:definition "Operation/bulk-sql", :name "bulk-sql"}
           {:definition "Operation/StopJob", :name "StopJob"}
           {:definition "Operation/auth-login-2fa-refresh",
            :name "auth-login-2fa-refresh"}
           {:definition "Operation/CodeSystem-create-post",
            :name "proto.manifest/CodeSystem-create-post"}
           {:definition "Operation/FhirValidateCreate",
            :name "FhirValidateCreate"}
           {:definition "Operation/alpha-search", :name "alpha-search"}
           {:definition "Operation/auth-logout", :name "auth-logout"}
           {:definition "Operation/fhir-search-param-read",
            :name "fhir-search-param-read"}
           {:definition "Operation/FhirCreate", :name "FhirCreate"}
           {:definition "Operation/db-run-migrations",
            :name "db-run-migrations"}
           {:definition "Operation/bulk-import", :name "bulk-import"}
           {:definition "Operation/RunJob", :name "RunJob"}
           {:definition "Operation/FhirPatch", :name "FhirPatch"}
           {:definition "Operation/Expand-post", :name "Expand-post"}
           {:definition "Operation/Transaction", :name "Transaction"}
           {:definition "Operation/smart-launch", :name "smart-launch"}
           {:definition "Operation/auth-userinfo", :name "auth-userinfo"}
           {:definition "Operation/CustomQueryDebug", :name "CustomQueryDebug"}
           {:definition "Operation/CodeSystem-create-put",
            :name "proto.manifest/CodeSystem-create-put"}
           {:definition "Operation/sdc-extract", :name "sdc-extract"}
           {:definition "Operation/bulk-load-all", :name "bulk-load-all"}
           {:definition "Operation/Search", :name "Search"}
           {:definition "Operation/FhirCodeSystemDelete",
            :name "FhirCodeSystemDelete"}
           {:definition "Operation/mapper-debug-noresource",
            :name "mapper-debug-noresource"}
           {:definition "Operation/metadata", :name "metadata"}
           {:definition "Operation/scim-bulk", :name "scim-bulk"}
           {:definition "Operation/CodeSystem-delete",
            :name "proto.manifest/CodeSystem-delete"}
           {:definition "Operation/auth-signup-confirm",
            :name "auth-signup-confirm"}
           {:definition "Operation/FhirDelete", :name "FhirDelete"}
           {:definition "Operation/FhirCompartmentObservationLastn",
            :name "FhirCompartmentObservationLastn"}
           {:definition "Operation/auth-authorization-request",
            :name "auth-authorization-request"}
           {:definition "Operation/Validate-code-get",
            :name "Validate-code-get"}
           {:definition "Operation/psql", :name "psql"}
           {:definition "Operation/auth-grant", :name "auth-grant"}
           {:definition "Operation/FhirObservationLastN",
            :name "FhirObservationLastN"}
           {:definition "Operation/cache-hash", :name "cache-hash"}
           {:definition "Operation/about", :name "about"}
           {:definition "Operation/Validate-code-get-id",
            :name "Validate-code-get-id"}
           {:definition "Operation/mapper-apply", :name "mapper-apply"}
           {:definition "Operation/auth-login-2fa-confirm-view",
            :name "auth-login-2fa-confirm-view"}
           {:definition "Operation/Subsumes-post", :name "Subsumes-post"}],
        :resource
          [{:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AccessPolicy",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Account.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Account.period",
                           :name "period",
                           :type "date"}
                          {:definition "/SearchParameter/Account.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/Account.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Account.owner",
                           :name "owner",
                           :type "reference"}
                          {:definition "/SearchParameter/Account.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Account.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Account.status",
                           :name "status",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Account",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ActivityDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/ActivityDefinition.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/ActivityDefinition.successor",
                :name "successor",
                :type "reference"}
               {:definition "/SearchParameter/ActivityDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/ActivityDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/ActivityDefinition.composed-of",
                :name "composed-of",
                :type "reference"}
               {:definition "/SearchParameter/ActivityDefinition.topic",
                :name "topic",
                :type "token"}
               {:definition
                  "/SearchParameter/ActivityDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ActivityDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/ActivityDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ActivityDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/ActivityDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/ActivityDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ActivityDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ActivityDefinition.publisher",
                :name "publisher",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "ActivityDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/AdverseEvent.resultingcondition",
                :name "resultingcondition",
                :type "reference"}
               {:definition "/SearchParameter/AdverseEvent.severity",
                :name "severity",
                :type "token"}
               {:definition "/SearchParameter/AdverseEvent.actuality",
                :name "actuality",
                :type "token"}
               {:definition "/SearchParameter/AdverseEvent.event",
                :name "event",
                :type "token"}
               {:definition "/SearchParameter/AdverseEvent.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/AdverseEvent.recorder",
                :name "recorder",
                :type "reference"}
               {:definition "/SearchParameter/AdverseEvent.substance",
                :name "substance",
                :type "reference"}
               {:definition "/SearchParameter/AdverseEvent.seriousness",
                :name "seriousness",
                :type "token"}
               {:definition "/SearchParameter/AdverseEvent.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/AdverseEvent.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/AdverseEvent.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/AdverseEvent.study",
                :name "study",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "AdverseEvent",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxConfig",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxJob",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/AidboxJobStatus.job",
                           :name "job",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "AidboxJobStatus",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxMigration",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxProfile",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxQuery",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AidboxSubscription",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/AllergyIntolerance.clinical-status",
                :name "clinical-status",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.recorder",
                :name "recorder",
                :type "reference"}
               {:definition "/SearchParameter/AllergyIntolerance.asserter",
                :name "asserter",
                :type "reference"}
               {:definition "/SearchParameter/AllergyIntolerance.manifestation",
                :name "manifestation",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.severity",
                :name "severity",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.last-date",
                :name "last-date",
                :type "date"}
               {:definition
                  "/SearchParameter/AllergyIntolerance.verification-status",
                :name "verification-status",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/AllergyIntolerance.onset",
                :name "onset",
                :type "date"}
               {:definition "/SearchParameter/AllergyIntolerance.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.route",
                :name "route",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/AllergyIntolerance.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/AllergyIntolerance.criticality",
                :name "criticality",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "AllergyIntolerance",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AlphaSDC",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "App",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Appointment.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.service-type",
                :name "service-type",
                :type "token"}
               {:definition "/SearchParameter/Appointment.practitioner",
                :name "practitioner",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.reason-reference",
                :name "reason-reference",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.actor",
                :name "actor",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.appointment-type",
                :name "appointment-type",
                :type "token"}
               {:definition "/SearchParameter/Appointment.service-category",
                :name "service-category",
                :type "token"}
               {:definition "/SearchParameter/Appointment.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Appointment.specialty",
                :name "specialty",
                :type "token"}
               {:definition "/SearchParameter/Appointment.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Appointment.reason-code",
                :name "reason-code",
                :type "token"}
               {:definition "/SearchParameter/Appointment.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.supporting-info",
                :name "supporting-info",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Appointment.slot",
                :name "slot",
                :type "reference"}
               {:definition "/SearchParameter/Appointment.part-status",
                :name "part-status",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "Appointment",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/AppointmentResponse.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/AppointmentResponse.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/AppointmentResponse.appointment",
                :name "appointment",
                :type "reference"}
               {:definition "/SearchParameter/AppointmentResponse.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/AppointmentResponse.part-status",
                :name "part-status",
                :type "token"}
               {:definition "/SearchParameter/AppointmentResponse.actor",
                :name "actor",
                :type "reference"}
               {:definition "/SearchParameter/AppointmentResponse.practitioner",
                :name "practitioner",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "AppointmentResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Attribute.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Attribute.entity",
                           :name "entity",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Attribute",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/AuditEvent.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/AuditEvent.site",
                :name "site",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.entity",
                :name "entity",
                :type "reference"}
               {:definition "/SearchParameter/AuditEvent.subtype",
                :name "subtype",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.agent-name",
                :name "agent-name",
                :type "string"}
               {:definition "/SearchParameter/AuditEvent.altid",
                :name "altid",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.entity-role",
                :name "entity-role",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.agent",
                :name "agent",
                :type "reference"}
               {:definition "/SearchParameter/AuditEvent.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/AuditEvent.outcome",
                :name "outcome",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.entity-name",
                :name "entity-name",
                :type "string"}
               {:definition "/SearchParameter/AuditEvent.entity-type",
                :name "entity-type",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.policy",
                :name "policy",
                :type "uri"}
               {:definition "/SearchParameter/AuditEvent.agent-role",
                :name "agent-role",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/AuditEvent.source",
                :name "source",
                :type "reference"}
               {:definition "/SearchParameter/AuditEvent.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/AuditEvent.action",
                :name "action",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "AuditEvent",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AuthConfig",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AwsAccount",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AzureAccount",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "AzureContainer",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Basic.code",
                           :name "code",
                           :type "token"}
                          {:definition "/SearchParameter/Basic.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Basic.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Basic.author",
                           :name "author",
                           :type "reference"}
                          {:definition "/SearchParameter/Basic.created",
                           :name "created",
                           :type "date"}
                          {:definition "/SearchParameter/Basic.subject",
                           :name "subject",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Basic",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Binary",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "BiologicallyDerivedProduct",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/BodyStructure.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/BodyStructure.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/BodyStructure.morphology",
                :name "morphology",
                :type "token"}
               {:definition "/SearchParameter/BodyStructure.location",
                :name "location",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "BodyStructure",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "BulkImportStatus",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Bundle.timestamp",
                           :name "timestamp",
                           :type "date"}
                          {:definition "/SearchParameter/Bundle.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Bundle.message",
                           :name "message",
                           :type "reference"}
                          {:definition "/SearchParameter/Bundle.composition",
                           :name "composition",
                           :type "reference"}
                          {:definition "/SearchParameter/Bundle.type",
                           :name "type",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Bundle",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/CarePlan.care-team",
                :name "care-team",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.replaces",
                :name "replaces",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.activity-date",
                :name "activity-date",
                :type "date"}
               {:definition "/SearchParameter/CarePlan.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.activity-reference",
                :name "activity-reference",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.intent",
                :name "intent",
                :type "token"}
               {:definition "/SearchParameter/CarePlan.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/CarePlan.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/CarePlan.activity-code",
                :name "activity-code",
                :type "token"}
               {:definition "/SearchParameter/CarePlan.condition",
                :name "condition",
                :type "reference"}
               {:definition "/SearchParameter/CarePlan.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/CarePlan.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/CarePlan.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/CarePlan.goal",
                :name "goal",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "CarePlan",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/CareTeam.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/CareTeam.encounter",
                           :name "encounter",
                           :type "reference"}
                          {:definition "/SearchParameter/CareTeam.participant",
                           :name "participant",
                           :type "reference"}
                          {:definition "/SearchParameter/CareTeam.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/CareTeam.category",
                           :name "category",
                           :type "token"}
                          {:definition "/SearchParameter/CareTeam.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/CareTeam.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/CareTeam.date",
                           :name "date",
                           :type "date"}],
            :searchRevInclude ["all"],
            :type "CareTeam",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "CatalogEntry",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ChargeItem.entered-date",
                :name "entered-date",
                :type "date"}
               {:definition "/SearchParameter/ChargeItem.price-override",
                :name "price-override",
                :type "quantity"}
               {:definition "/SearchParameter/ChargeItem.quantity",
                :name "quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ChargeItem.service",
                :name "service",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/ChargeItem.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ChargeItem.patient",
                :name "patient",
                :type "reference"}
               {:definition
                  "/SearchParameter/ChargeItem.performing-organization",
                :name "performing-organization",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.occurrence",
                :name "occurrence",
                :type "date"}
               {:definition "/SearchParameter/ChargeItem.account",
                :name "account",
                :type "reference"}
               {:definition
                  "/SearchParameter/ChargeItem.requesting-organization",
                :name "requesting-organization",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.context",
                :name "context",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.enterer",
                :name "enterer",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.performer-actor",
                :name "performer-actor",
                :type "reference"}
               {:definition "/SearchParameter/ChargeItem.factor-override",
                :name "factor-override",
                :type "number"}
               {:definition "/SearchParameter/ChargeItem.performer-function",
                :name "performer-function",
                :type "token"}
               {:definition "/SearchParameter/ChargeItem.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ChargeItem",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ChargeItemDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/ChargeItemDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ChargeItemDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition
                  "/SearchParameter/ChargeItemDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ChargeItemDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ChargeItemDefinition.context",
                :name "context",
                :type "token"}
               {:definition
                  "/SearchParameter/ChargeItemDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ChargeItemDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ChargeItemDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/ChargeItemDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition
                  "/SearchParameter/ChargeItemDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/ChargeItemDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ChargeItemDefinition.date",
                :name "date",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "ChargeItemDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Claim.priority",
                           :name "priority",
                           :type "token"}
                          {:definition "/SearchParameter/Claim.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Claim.use",
                           :name "use",
                           :type "token"}
                          {:definition "/SearchParameter/Claim.procedure-udi",
                           :name "procedure-udi",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.item-udi",
                           :name "item-udi",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.detail-udi",
                           :name "detail-udi",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.enterer",
                           :name "enterer",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.subdetail-udi",
                           :name "subdetail-udi",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.payee",
                           :name "payee",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Claim.created",
                           :name "created",
                           :type "date"}
                          {:definition "/SearchParameter/Claim.care-team",
                           :name "care-team",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.encounter",
                           :name "encounter",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.facility",
                           :name "facility",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.insurer",
                           :name "insurer",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Claim.provider",
                           :name "provider",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Claim",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ClaimResponse.requestor",
                :name "requestor",
                :type "reference"}
               {:definition "/SearchParameter/ClaimResponse.request",
                :name "request",
                :type "reference"}
               {:definition "/SearchParameter/ClaimResponse.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ClaimResponse.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ClaimResponse.outcome",
                :name "outcome",
                :type "token"}
               {:definition "/SearchParameter/ClaimResponse.payment-date",
                :name "payment-date",
                :type "date"}
               {:definition "/SearchParameter/ClaimResponse.created",
                :name "created",
                :type "date"}
               {:definition "/SearchParameter/ClaimResponse.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ClaimResponse.use",
                :name "use",
                :type "token"}
               {:definition "/SearchParameter/ClaimResponse.disposition",
                :name "disposition",
                :type "string"}
               {:definition "/SearchParameter/ClaimResponse.insurer",
                :name "insurer",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ClaimResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Client",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/ClinicalImpression.supporting-info",
                :name "supporting-info",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.assessor",
                :name "assessor",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ClinicalImpression.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ClinicalImpression.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ClinicalImpression.problem",
                :name "problem",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.investigation",
                :name "investigation",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.finding-ref",
                :name "finding-ref",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.previous",
                :name "previous",
                :type "reference"}
               {:definition "/SearchParameter/ClinicalImpression.finding-code",
                :name "finding-code",
                :type "token"}
               {:definition "/SearchParameter/ClinicalImpression.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ClinicalImpression",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/CodeSystem.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/CodeSystem.system",
                :name "system",
                :type "uri"}
               {:definition "/SearchParameter/CodeSystem.content-mode",
                :name "content-mode",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/CodeSystem.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/CodeSystem.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/CodeSystem.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/CodeSystem.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.language",
                :name "language",
                :type "token"}
               {:definition "/SearchParameter/CodeSystem.supplements",
                :name "supplements",
                :type "reference"}
               {:definition "/SearchParameter/CodeSystem.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/CodeSystem.name",
                :name "name",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "CodeSystem",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Communication.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Communication.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/Communication.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Communication.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/Communication.subject",
                :name "subject",
                :type "reference"}
               {:definition
                  "/SearchParameter/Communication.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/Communication.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/Communication.medium",
                :name "medium",
                :type "token"}
               {:definition "/SearchParameter/Communication.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Communication.received",
                :name "received",
                :type "date"}
               {:definition "/SearchParameter/Communication.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/Communication.recipient",
                :name "recipient",
                :type "reference"}
               {:definition "/SearchParameter/Communication.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Communication.sent",
                :name "sent",
                :type "date"}
               {:definition "/SearchParameter/Communication.sender",
                :name "sender",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Communication",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/CommunicationRequest.recipient",
                :name "recipient",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.authored",
                :name "authored",
                :type "date"}
               {:definition "/SearchParameter/CommunicationRequest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.medium",
                :name "medium",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.sender",
                :name "sender",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.priority",
                :name "priority",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.occurrence",
                :name "occurrence",
                :type "date"}
               {:definition "/SearchParameter/CommunicationRequest.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.replaces",
                :name "replaces",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.requester",
                :name "requester",
                :type "reference"}
               {:definition "/SearchParameter/CommunicationRequest.encounter",
                :name "encounter",
                :type "reference"}
               {:definition
                  "/SearchParameter/CommunicationRequest.group-identifier",
                :name "group-identifier",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/CommunicationRequest.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "CommunicationRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/CompartmentDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/CompartmentDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/CompartmentDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/CompartmentDefinition.resource",
                :name "resource",
                :type "token"}
               {:definition "/SearchParameter/CompartmentDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/CompartmentDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/CompartmentDefinition.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/CompartmentDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/CompartmentDefinition.code",
                :name "code",
                :type "token"}
               {:definition
                  "/SearchParameter/CompartmentDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/CompartmentDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/CompartmentDefinition.date",
                :name "date",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "CompartmentDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Composition.confidentiality",
                :name "confidentiality",
                :type "token"}
               {:definition "/SearchParameter/Composition.entry",
                :name "entry",
                :type "reference"}
               {:definition "/SearchParameter/Composition.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Composition.section",
                :name "section",
                :type "token"}
               {:definition "/SearchParameter/Composition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Composition.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/Composition.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/Composition.period",
                :name "period",
                :type "date"}
               {:definition "/SearchParameter/Composition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Composition.related-id",
                :name "related-id",
                :type "token"}
               {:definition "/SearchParameter/Composition.related-ref",
                :name "related-ref",
                :type "reference"}
               {:definition "/SearchParameter/Composition.attester",
                :name "attester",
                :type "reference"}
               {:definition "/SearchParameter/Composition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Composition.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/Composition.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Composition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/Composition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/Composition.encounter",
                :name "encounter",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Composition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Concept.valueset",
                           :name "valueset",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.system",
                           :name "system",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.code",
                           :name "code",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.codetext",
                           :name "codetext",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.display",
                           :name "display",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.hierarchy",
                           :name "hierarchy",
                           :type "string"}
                          {:definition "/SearchParameter/Concept.deprecated",
                           :name "deprecated",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Concept",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ConceptMap.target-code",
                :name "target-code",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.other",
                :name "other",
                :type "reference"}
               {:definition "/SearchParameter/ConceptMap.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.dependson",
                :name "dependson",
                :type "uri"}
               {:definition "/SearchParameter/ConceptMap.source-code",
                :name "source-code",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ConceptMap.target-system",
                :name "target-system",
                :type "uri"}
               {:definition "/SearchParameter/ConceptMap.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ConceptMap.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.source",
                :name "source",
                :type "reference"}
               {:definition "/SearchParameter/ConceptMap.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/ConceptMap.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ConceptMap.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/ConceptMap.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.target",
                :name "target",
                :type "reference"}
               {:definition "/SearchParameter/ConceptMap.product",
                :name "product",
                :type "uri"}
               {:definition "/SearchParameter/ConceptMap.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/ConceptMap.source-system",
                :name "source-system",
                :type "uri"}
               {:definition "/SearchParameter/ConceptMap.target-uri",
                :name "target-uri",
                :type "reference"}
               {:definition "/SearchParameter/ConceptMap.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/ConceptMap.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/ConceptMap.source-uri",
                :name "source-uri",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ConceptMap",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Condition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Condition.onset-date",
                :name "onset-date",
                :type "date"}
               {:definition "/SearchParameter/Condition.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Condition.verification-status",
                :name "verification-status",
                :type "token"}
               {:definition "/SearchParameter/Condition.recorded-date",
                :name "recorded-date",
                :type "date"}
               {:definition "/SearchParameter/Condition.onset-age",
                :name "onset-age",
                :type "quantity"}
               {:definition "/SearchParameter/Condition.stage",
                :name "stage",
                :type "token"}
               {:definition "/SearchParameter/Condition.abatement-string",
                :name "abatement-string",
                :type "string"}
               {:definition "/SearchParameter/Condition.evidence-detail",
                :name "evidence-detail",
                :type "reference"}
               {:definition "/SearchParameter/Condition.asserter",
                :name "asserter",
                :type "reference"}
               {:definition "/SearchParameter/Condition.body-site",
                :name "body-site",
                :type "token"}
               {:definition "/SearchParameter/Condition.evidence",
                :name "evidence",
                :type "token"}
               {:definition "/SearchParameter/Condition.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Condition.abatement-date",
                :name "abatement-date",
                :type "date"}
               {:definition "/SearchParameter/Condition.abatement-age",
                :name "abatement-age",
                :type "quantity"}
               {:definition "/SearchParameter/Condition.onset-info",
                :name "onset-info",
                :type "string"}
               {:definition "/SearchParameter/Condition.severity",
                :name "severity",
                :type "token"}
               {:definition "/SearchParameter/Condition.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/Condition.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Condition.clinical-status",
                :name "clinical-status",
                :type "token"}
               {:definition "/SearchParameter/Condition.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Condition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Consent.action",
                :name "action",
                :type "token"}
               {:definition "/SearchParameter/Consent.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Consent.purpose",
                :name "purpose",
                :type "token"}
               {:definition "/SearchParameter/Consent.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Consent.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Consent.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Consent.scope",
                :name "scope",
                :type "token"}
               {:definition "/SearchParameter/Consent.consentor",
                :name "consentor",
                :type "reference"}
               {:definition "/SearchParameter/Consent.data",
                :name "data",
                :type "reference"}
               {:definition "/SearchParameter/Consent.security-label",
                :name "security-label",
                :type "token"}
               {:definition "/SearchParameter/Consent.source-reference",
                :name "source-reference",
                :type "reference"}
               {:definition "/SearchParameter/Consent.period",
                :name "period",
                :type "date"}
               {:definition "/SearchParameter/Consent.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Consent.actor",
                :name "actor",
                :type "reference"}
               {:definition "/SearchParameter/Consent.organization",
                :name "organization",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Consent",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Contract.issued",
                           :name "issued",
                           :type "date"}
                          {:definition "/SearchParameter/Contract.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Contract.instantiates",
                           :name "instantiates",
                           :type "uri"}
                          {:definition "/SearchParameter/Contract.signer",
                           :name "signer",
                           :type "reference"}
                          {:definition "/SearchParameter/Contract.domain",
                           :name "domain",
                           :type "reference"}
                          {:definition "/SearchParameter/Contract.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Contract.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Contract.url",
                           :name "url",
                           :type "uri"}
                          {:definition "/SearchParameter/Contract.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Contract.authority",
                           :name "authority",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Contract",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Coverage.class-type",
                           :name "class-type",
                           :type "token"}
                          {:definition "/SearchParameter/Coverage.payor",
                           :name "payor",
                           :type "reference"}
                          {:definition "/SearchParameter/Coverage.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Coverage.dependent",
                           :name "dependent",
                           :type "string"}
                          {:definition "/SearchParameter/Coverage.beneficiary",
                           :name "beneficiary",
                           :type "reference"}
                          {:definition "/SearchParameter/Coverage.subscriber",
                           :name "subscriber",
                           :type "reference"}
                          {:definition "/SearchParameter/Coverage.class-value",
                           :name "class-value",
                           :type "string"}
                          {:definition "/SearchParameter/Coverage.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition
                             "/SearchParameter/Coverage.policy-holder",
                           :name "policy-holder",
                           :type "reference"}
                          {:definition "/SearchParameter/Coverage.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Coverage.status",
                           :name "status",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Coverage",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/CoverageEligibilityRequest.created",
                :name "created",
                :type "date"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.patient",
                :name "patient",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.enterer",
                :name "enterer",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.facility",
                :name "facility",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.provider",
                :name "provider",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityRequest.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "CoverageEligibilityRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/CoverageEligibilityResponse.outcome",
                :name "outcome",
                :type "token"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.requestor",
                :name "requestor",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.request",
                :name "request",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.created",
                :name "created",
                :type "date"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.insurer",
                :name "insurer",
                :type "reference"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.disposition",
                :name "disposition",
                :type "string"}
               {:definition
                  "/SearchParameter/CoverageEligibilityResponse.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "CoverageEligibilityResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "CronJob",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "CronJobRun",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "CronJobStatus",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DetectedIssue.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/DetectedIssue.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/DetectedIssue.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/DetectedIssue.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DetectedIssue.implicated",
                :name "implicated",
                :type "reference"}
               {:definition "/SearchParameter/DetectedIssue.identified",
                :name "identified",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "DetectedIssue",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Device.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Device.location",
                           :name "location",
                           :type "reference"}
                          {:definition "/SearchParameter/Device.organization",
                           :name "organization",
                           :type "reference"}
                          {:definition "/SearchParameter/Device.device-name",
                           :name "device-name",
                           :type "string"}
                          {:definition "/SearchParameter/Device.model",
                           :name "model",
                           :type "string"}
                          {:definition "/SearchParameter/Device.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Device.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Device.udi-di",
                           :name "udi-di",
                           :type "string"}
                          {:definition "/SearchParameter/Device.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Device.url",
                           :name "url",
                           :type "uri"}
                          {:definition "/SearchParameter/Device.manufacturer",
                           :name "manufacturer",
                           :type "string"}
                          {:definition "/SearchParameter/Device.udi-carrier",
                           :name "udi-carrier",
                           :type "string"}],
            :searchRevInclude ["all"],
            :type "Device",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DeviceDefinition.parent",
                :name "parent",
                :type "reference"}
               {:definition "/SearchParameter/DeviceDefinition.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/DeviceDefinition.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "DeviceDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/DeviceMetric.parent",
                           :name "parent",
                           :type "reference"}
                          {:definition "/SearchParameter/DeviceMetric.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/DeviceMetric.source",
                           :name "source",
                           :type "reference"}
                          {:definition
                             "/SearchParameter/DeviceMetric.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/DeviceMetric.category",
                           :name "category",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "DeviceMetric",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DeviceRequest.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/DeviceRequest.device",
                :name "device",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.insurance",
                :name "insurance",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.requester",
                :name "requester",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/DeviceRequest.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.intent",
                :name "intent",
                :type "token"}
               {:definition "/SearchParameter/DeviceRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DeviceRequest.group-identifier",
                :name "group-identifier",
                :type "token"}
               {:definition "/SearchParameter/DeviceRequest.event-date",
                :name "event-date",
                :type "date"}
               {:definition "/SearchParameter/DeviceRequest.prior-request",
                :name "prior-request",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/DeviceRequest.authored-on",
                :name "authored-on",
                :type "date"}
               {:definition "/SearchParameter/DeviceRequest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.patient",
                :name "patient",
                :type "reference"}
               {:definition
                  "/SearchParameter/DeviceRequest.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/DeviceRequest.performer",
                :name "performer",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "DeviceRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DeviceUseStatement.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/DeviceUseStatement.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DeviceUseStatement.device",
                :name "device",
                :type "reference"}
               {:definition "/SearchParameter/DeviceUseStatement.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "DeviceUseStatement",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DiagnosticReport.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.conclusion",
                :name "conclusion",
                :type "token"}
               {:definition
                  "/SearchParameter/DiagnosticReport.results-interpreter",
                :name "results-interpreter",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DiagnosticReport.media",
                :name "media",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.result",
                :name "result",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/DiagnosticReport.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/DiagnosticReport.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/DiagnosticReport.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/DiagnosticReport.issued",
                :name "issued",
                :type "date"}
               {:definition "/SearchParameter/DiagnosticReport.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/DiagnosticReport.specimen",
                :name "specimen",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "DiagnosticReport",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DocumentManifest.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.related-id",
                :name "related-id",
                :type "token"}
               {:definition "/SearchParameter/DocumentManifest.created",
                :name "created",
                :type "date"}
               {:definition "/SearchParameter/DocumentManifest.related-ref",
                :name "related-ref",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.recipient",
                :name "recipient",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DocumentManifest.item",
                :name "item",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/DocumentManifest.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/DocumentManifest.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/DocumentManifest.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/DocumentManifest.source",
                :name "source",
                :type "uri"}],
            :searchRevInclude ["all"],
            :type "DocumentManifest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/DocumentReference.contenttype",
                :name "contenttype",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.security-label",
                :name "security-label",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.authenticator",
                :name "authenticator",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.facility",
                :name "facility",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/DocumentReference.format",
                :name "format",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.language",
                :name "language",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.period",
                :name "period",
                :type "date"}
               {:definition "/SearchParameter/DocumentReference.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.setting",
                :name "setting",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/DocumentReference.relatesto",
                :name "relatesto",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.relation",
                :name "relation",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.event",
                :name "event",
                :type "token"}
               {:definition "/SearchParameter/DocumentReference.location",
                :name "location",
                :type "uri"}
               {:definition "/SearchParameter/DocumentReference.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.related",
                :name "related",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.custodian",
                :name "custodian",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/DocumentReference.type",
                :name "type",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "DocumentReference",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EffectEvidenceSynthesis.context",
                :name "context",
                :type "token"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.effective",
                :name "effective",
                :type "date"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.title",
                :name "title",
                :type "string"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.version",
                :name "version",
                :type "token"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.url",
                :name "url",
                :type "uri"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/EffectEvidenceSynthesis.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/EffectEvidenceSynthesis.context-quantity",
                :name "context-quantity",
                :type "quantity"}],
            :searchRevInclude ["all"],
            :type "EffectEvidenceSynthesis",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Encounter.service-provider",
                :name "service-provider",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.length",
                :name "length",
                :type "quantity"}
               {:definition "/SearchParameter/Encounter.reason-reference",
                :name "reason-reference",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.participant-type",
                :name "participant-type",
                :type "token"}
               {:definition "/SearchParameter/Encounter.participant",
                :name "participant",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.reason-code",
                :name "reason-code",
                :type "token"}
               {:definition "/SearchParameter/Encounter.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Encounter.location-period",
                :name "location-period",
                :type "date"}
               {:definition "/SearchParameter/Encounter.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Encounter.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.class",
                :name "class",
                :type "token"}
               {:definition "/SearchParameter/Encounter.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Encounter.account",
                :name "account",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.practitioner",
                :name "practitioner",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.special-arrangement",
                :name "special-arrangement",
                :type "token"}
               {:definition "/SearchParameter/Encounter.diagnosis",
                :name "diagnosis",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.appointment",
                :name "appointment",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.episode-of-care",
                :name "episode-of-care",
                :type "reference"}
               {:definition "/SearchParameter/Encounter.type",
                :name "type",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "Encounter",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Endpoint.payload-type",
                           :name "payload-type",
                           :type "token"}
                          {:definition
                             "/SearchParameter/Endpoint.connection-type",
                           :name "connection-type",
                           :type "token"}
                          {:definition "/SearchParameter/Endpoint.organization",
                           :name "organization",
                           :type "reference"}
                          {:definition "/SearchParameter/Endpoint.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/Endpoint.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Endpoint.identifier",
                           :name "identifier",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Endpoint",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EnrollmentRequest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/EnrollmentRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/EnrollmentRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/EnrollmentRequest.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "EnrollmentRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EnrollmentResponse.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/EnrollmentResponse.request",
                :name "request",
                :type "reference"}
               {:definition "/SearchParameter/EnrollmentResponse.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "EnrollmentResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Entity.module",
                           :name "module",
                           :type "token"}
                          {:definition "/SearchParameter/Entity.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Entity.description",
                           :name "description",
                           :type "string"}],
            :searchRevInclude ["all"],
            :type "Entity",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EpisodeOfCare.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/EpisodeOfCare.incoming-referral",
                :name "incoming-referral",
                :type "reference"}
               {:definition "/SearchParameter/EpisodeOfCare.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/EpisodeOfCare.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/EpisodeOfCare.condition",
                :name "condition",
                :type "reference"}
               {:definition "/SearchParameter/EpisodeOfCare.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/EpisodeOfCare.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/EpisodeOfCare.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/EpisodeOfCare.care-manager",
                :name "care-manager",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "EpisodeOfCare",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EventDefinition.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/EventDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/EventDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/EventDefinition.topic",
                :name "topic",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/EventDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/EventDefinition.composed-of",
                :name "composed-of",
                :type "reference"}
               {:definition "/SearchParameter/EventDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/EventDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/EventDefinition.successor",
                :name "successor",
                :type "reference"}
               {:definition "/SearchParameter/EventDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/EventDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/EventDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/EventDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/EventDefinition.depends-on",
                :name "depends-on",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "EventDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition
                             "/SearchParameter/Evidence.context-quantity",
                           :name "context-quantity",
                           :type "quantity"}
                          {:definition "/SearchParameter/Evidence.derived-from",
                           :name "derived-from",
                           :type "reference"}
                          {:definition "/SearchParameter/Evidence.url",
                           :name "url",
                           :type "uri"}
                          {:definition "/SearchParameter/Evidence.version",
                           :name "version",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.topic",
                           :name "topic",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.predecessor",
                           :name "predecessor",
                           :type "reference"}
                          {:definition "/SearchParameter/Evidence.description",
                           :name "description",
                           :type "string"}
                          {:definition "/SearchParameter/Evidence.effective",
                           :name "effective",
                           :type "date"}
                          {:definition "/SearchParameter/Evidence.title",
                           :name "title",
                           :type "string"}
                          {:definition "/SearchParameter/Evidence.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Evidence.composed-of",
                           :name "composed-of",
                           :type "reference"}
                          {:definition "/SearchParameter/Evidence.context-type",
                           :name "context-type",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/Evidence.context",
                           :name "context",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.publisher",
                           :name "publisher",
                           :type "string"}
                          {:definition "/SearchParameter/Evidence.depends-on",
                           :name "depends-on",
                           :type "reference"}
                          {:definition "/SearchParameter/Evidence.jurisdiction",
                           :name "jurisdiction",
                           :type "token"}
                          {:definition "/SearchParameter/Evidence.successor",
                           :name "successor",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Evidence",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/EvidenceVariable.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/EvidenceVariable.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/EvidenceVariable.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/EvidenceVariable.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.topic",
                :name "topic",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/EvidenceVariable.successor",
                :name "successor",
                :type "reference"}
               {:definition "/SearchParameter/EvidenceVariable.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.composed-of",
                :name "composed-of",
                :type "reference"}
               {:definition "/SearchParameter/EvidenceVariable.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/EvidenceVariable.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/EvidenceVariable.effective",
                :name "effective",
                :type "date"}
               {:definition
                  "/SearchParameter/EvidenceVariable.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/EvidenceVariable.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/EvidenceVariable.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/EvidenceVariable.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/EvidenceVariable.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/EvidenceVariable.context-type",
                :name "context-type",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "EvidenceVariable",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ExampleScenario.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/ExampleScenario.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ExampleScenario.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ExampleScenario.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ExampleScenario.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/ExampleScenario.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ExampleScenario.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/ExampleScenario.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/ExampleScenario.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ExampleScenario.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/ExampleScenario.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "ExampleScenario",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ExplanationOfBenefit.detail-udi",
                :name "detail-udi",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.payee",
                :name "payee",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.coverage",
                :name "coverage",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.enterer",
                :name "enterer",
                :type "reference"}
               {:definition
                  "/SearchParameter/ExplanationOfBenefit.subdetail-udi",
                :name "subdetail-udi",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.item-udi",
                :name "item-udi",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.facility",
                :name "facility",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.care-team",
                :name "care-team",
                :type "reference"}
               {:definition
                  "/SearchParameter/ExplanationOfBenefit.procedure-udi",
                :name "procedure-udi",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ExplanationOfBenefit.created",
                :name "created",
                :type "date"}
               {:definition "/SearchParameter/ExplanationOfBenefit.provider",
                :name "provider",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ExplanationOfBenefit.claim",
                :name "claim",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ExplanationOfBenefit.disposition",
                :name "disposition",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "ExplanationOfBenefit",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/FamilyMemberHistory.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/FamilyMemberHistory.sex",
                :name "sex",
                :type "token"}
               {:definition
                  "/SearchParameter/FamilyMemberHistory.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/FamilyMemberHistory.relationship",
                :name "relationship",
                :type "token"}
               {:definition
                  "/SearchParameter/FamilyMemberHistory.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/FamilyMemberHistory.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/FamilyMemberHistory.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/FamilyMemberHistory.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/FamilyMemberHistory.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "FamilyMemberHistory",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Flag.encounter",
                           :name "encounter",
                           :type "reference"}
                          {:definition "/SearchParameter/Flag.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Flag.author",
                           :name "author",
                           :type "reference"}
                          {:definition "/SearchParameter/Flag.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Flag.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Flag.identifier",
                           :name "identifier",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Flag",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "GcpServiceAccount",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Goal.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Goal.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Goal.start-date",
                           :name "start-date",
                           :type "date"}
                          {:definition "/SearchParameter/Goal.lifecycle-status",
                           :name "lifecycle-status",
                           :type "token"}
                          {:definition "/SearchParameter/Goal.category",
                           :name "category",
                           :type "token"}
                          {:definition "/SearchParameter/Goal.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition
                             "/SearchParameter/Goal.achievement-status",
                           :name "achievement-status",
                           :type "token"}
                          {:definition "/SearchParameter/Goal.target-date",
                           :name "target-date",
                           :type "date"}],
            :searchRevInclude ["all"],
            :type "Goal",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Grant",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/GraphDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/GraphDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/GraphDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/GraphDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/GraphDefinition.start",
                :name "start",
                :type "token"}
               {:definition "/SearchParameter/GraphDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/GraphDefinition.publisher",
                :name "publisher",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "GraphDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Group.value",
                           :name "value",
                           :type "token"}
                          {:definition "/SearchParameter/Group.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Group.exclude",
                           :name "exclude",
                           :type "token"}
                          {:definition "/SearchParameter/Group.characteristic",
                           :name "characteristic",
                           :type "token"}
                          {:definition "/SearchParameter/Group.member",
                           :name "member",
                           :type "reference"}
                          {:definition "/SearchParameter/Group.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Group.managing-entity",
                           :name "managing-entity",
                           :type "reference"}
                          {:definition "/SearchParameter/Group.code",
                           :name "code",
                           :type "token"}
                          {:definition "/SearchParameter/Group.actual",
                           :name "actual",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Group",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/GuidanceResponse.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/GuidanceResponse.request",
                :name "request",
                :type "token"}
               {:definition "/SearchParameter/GuidanceResponse.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/GuidanceResponse.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "GuidanceResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/HealthcareService.active",
                :name "active",
                :type "token"}
               {:definition
                  "/SearchParameter/HealthcareService.service-category",
                :name "service-category",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/HealthcareService.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/HealthcareService.service-type",
                :name "service-type",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/HealthcareService.program",
                :name "program",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.coverage-area",
                :name "coverage-area",
                :type "reference"}
               {:definition "/SearchParameter/HealthcareService.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.characteristic",
                :name "characteristic",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.specialty",
                :name "specialty",
                :type "token"}
               {:definition "/SearchParameter/HealthcareService.name",
                :name "name",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "HealthcareService",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Hl7v2Config",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Hl7v2Message.event",
                           :name "event",
                           :type "token"}
                          {:definition "/SearchParameter/Hl7v2Message.config",
                           :name "config",
                           :type "reference"}
                          {:definition "/SearchParameter/Hl7v2Message.type",
                           :name "type",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Hl7v2Message",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "IdentityProvider",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ImagingStudy.reason",
                :name "reason",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.bodysite",
                :name "bodysite",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.series",
                :name "series",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.interpreter",
                :name "interpreter",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.referrer",
                :name "referrer",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.started",
                :name "started",
                :type "date"}
               {:definition "/SearchParameter/ImagingStudy.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.dicom-class",
                :name "dicom-class",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.basedon",
                :name "basedon",
                :type "reference"}
               {:definition "/SearchParameter/ImagingStudy.modality",
                :name "modality",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.instance",
                :name "instance",
                :type "token"}
               {:definition "/SearchParameter/ImagingStudy.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ImagingStudy",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Immunization.manufacturer",
                :name "manufacturer",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.lot-number",
                :name "lot-number",
                :type "string"}
               {:definition "/SearchParameter/Immunization.reaction",
                :name "reaction",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.vaccine-code",
                :name "vaccine-code",
                :type "token"}
               {:definition "/SearchParameter/Immunization.series",
                :name "series",
                :type "string"}
               {:definition "/SearchParameter/Immunization.target-disease",
                :name "target-disease",
                :type "token"}
               {:definition "/SearchParameter/Immunization.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.status-reason",
                :name "status-reason",
                :type "token"}
               {:definition "/SearchParameter/Immunization.reason-reference",
                :name "reason-reference",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Immunization.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Immunization.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Immunization.reason-code",
                :name "reason-code",
                :type "token"}
               {:definition "/SearchParameter/Immunization.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Immunization.reaction-date",
                :name "reaction-date",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "Immunization",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/ImmunizationEvaluation.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ImmunizationEvaluation.date",
                :name "date",
                :type "date"}
               {:definition
                  "/SearchParameter/ImmunizationEvaluation.dose-status",
                :name "dose-status",
                :type "token"}
               {:definition "/SearchParameter/ImmunizationEvaluation.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ImmunizationEvaluation.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/ImmunizationEvaluation.immunization-event",
                :name "immunization-event",
                :type "reference"}
               {:definition
                  "/SearchParameter/ImmunizationEvaluation.target-disease",
                :name "target-disease",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "ImmunizationEvaluation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/ImmunizationRecommendation.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.vaccine-type",
                :name "vaccine-type",
                :type "token"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.target-disease",
                :name "target-disease",
                :type "token"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.information",
                :name "information",
                :type "reference"}
               {:definition "/SearchParameter/ImmunizationRecommendation.date",
                :name "date",
                :type "date"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.support",
                :name "support",
                :type "reference"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/ImmunizationRecommendation.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ImmunizationRecommendation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ImplementationGuide.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ImplementationGuide.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/ImplementationGuide.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ImplementationGuide.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/ImplementationGuide.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/ImplementationGuide.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/ImplementationGuide.experimental",
                :name "experimental",
                :type "token"}
               {:definition "/SearchParameter/ImplementationGuide.resource",
                :name "resource",
                :type "reference"}
               {:definition "/SearchParameter/ImplementationGuide.date",
                :name "date",
                :type "date"}
               {:definition
                  "/SearchParameter/ImplementationGuide.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ImplementationGuide.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/ImplementationGuide.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/ImplementationGuide.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ImplementationGuide.global",
                :name "global",
                :type "reference"}
               {:definition "/SearchParameter/ImplementationGuide.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/ImplementationGuide.status",
                :name "status",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "ImplementationGuide",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/InsurancePlan.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/InsurancePlan.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/InsurancePlan.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/InsurancePlan.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/InsurancePlan.administered-by",
                :name "administered-by",
                :type "reference"}
               {:definition "/SearchParameter/InsurancePlan.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/InsurancePlan.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/InsurancePlan.owned-by",
                :name "owned-by",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "InsurancePlan",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Invoice.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition
                             "/SearchParameter/Invoice.participant-role",
                           :name "participant-role",
                           :type "token"}
                          {:definition "/SearchParameter/Invoice.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Invoice.totalnet",
                           :name "totalnet",
                           :type "quantity"}
                          {:definition "/SearchParameter/Invoice.account",
                           :name "account",
                           :type "reference"}
                          {:definition "/SearchParameter/Invoice.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Invoice.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Invoice.participant",
                           :name "participant",
                           :type "reference"}
                          {:definition "/SearchParameter/Invoice.recipient",
                           :name "recipient",
                           :type "reference"}
                          {:definition "/SearchParameter/Invoice.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Invoice.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Invoice.issuer",
                           :name "issuer",
                           :type "reference"}
                          {:definition "/SearchParameter/Invoice.totalgross",
                           :name "totalgross",
                           :type "quantity"}],
            :searchRevInclude ["all"],
            :type "Invoice",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Lambda",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Library.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Library.jurisdiction",
                           :name "jurisdiction",
                           :type "token"}
                          {:definition "/SearchParameter/Library.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Library.topic",
                           :name "topic",
                           :type "token"}
                          {:definition "/SearchParameter/Library.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Library.depends-on",
                           :name "depends-on",
                           :type "reference"}
                          {:definition "/SearchParameter/Library.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Library.context-type",
                           :name "context-type",
                           :type "token"}
                          {:definition "/SearchParameter/Library.description",
                           :name "description",
                           :type "string"}
                          {:definition "/SearchParameter/Library.content-type",
                           :name "content-type",
                           :type "token"}
                          {:definition "/SearchParameter/Library.successor",
                           :name "successor",
                           :type "reference"}
                          {:definition "/SearchParameter/Library.context",
                           :name "context",
                           :type "token"}
                          {:definition "/SearchParameter/Library.version",
                           :name "version",
                           :type "token"}
                          {:definition "/SearchParameter/Library.derived-from",
                           :name "derived-from",
                           :type "reference"}
                          {:definition "/SearchParameter/Library.publisher",
                           :name "publisher",
                           :type "string"}
                          {:definition "/SearchParameter/Library.predecessor",
                           :name "predecessor",
                           :type "reference"}
                          {:definition "/SearchParameter/Library.composed-of",
                           :name "composed-of",
                           :type "reference"}
                          {:definition
                             "/SearchParameter/Library.context-quantity",
                           :name "context-quantity",
                           :type "quantity"}
                          {:definition "/SearchParameter/Library.title",
                           :name "title",
                           :type "string"}
                          {:definition "/SearchParameter/Library.effective",
                           :name "effective",
                           :type "date"}
                          {:definition "/SearchParameter/Library.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/Library.url",
                           :name "url",
                           :type "uri"}],
            :searchRevInclude ["all"],
            :type "Library",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Linkage.source",
                           :name "source",
                           :type "reference"}
                          {:definition "/SearchParameter/Linkage.item",
                           :name "item",
                           :type "reference"}
                          {:definition "/SearchParameter/Linkage.author",
                           :name "author",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Linkage",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/List.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/List.title",
                           :name "title",
                           :type "string"}
                          {:definition "/SearchParameter/List.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/List.notes",
                           :name "notes",
                           :type "string"}
                          {:definition "/SearchParameter/List.source",
                           :name "source",
                           :type "reference"}
                          {:definition "/SearchParameter/List.item",
                           :name "item",
                           :type "reference"}
                          {:definition "/SearchParameter/List.encounter",
                           :name "encounter",
                           :type "reference"}
                          {:definition "/SearchParameter/List.empty-reason",
                           :name "empty-reason",
                           :type "token"}
                          {:definition "/SearchParameter/List.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/List.code",
                           :name "code",
                           :type "token"}
                          {:definition "/SearchParameter/List.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/List.identifier",
                           :name "identifier",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "List",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Location.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/Location.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/Location.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Location.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/Location.operational-status",
                :name "operational-status",
                :type "token"}
               {:definition "/SearchParameter/Location.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/Location.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Location.partof",
                :name "partof",
                :type "reference"}
               {:definition "/SearchParameter/Location.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Location.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/Location.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/Location.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/Location.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/Location.address-state",
                :name "address-state",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "Location",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Mapping",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition
                             "/SearchParameter/Measure.context-quantity",
                           :name "context-quantity",
                           :type "quantity"}
                          {:definition "/SearchParameter/Measure.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.publisher",
                           :name "publisher",
                           :type "string"}
                          {:definition "/SearchParameter/Measure.title",
                           :name "title",
                           :type "string"}
                          {:definition "/SearchParameter/Measure.composed-of",
                           :name "composed-of",
                           :type "reference"}
                          {:definition "/SearchParameter/Measure.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/Measure.effective",
                           :name "effective",
                           :type "date"}
                          {:definition "/SearchParameter/Measure.jurisdiction",
                           :name "jurisdiction",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.context",
                           :name "context",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.context-type",
                           :name "context-type",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.predecessor",
                           :name "predecessor",
                           :type "reference"}
                          {:definition "/SearchParameter/Measure.version",
                           :name "version",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Measure.url",
                           :name "url",
                           :type "uri"}
                          {:definition "/SearchParameter/Measure.derived-from",
                           :name "derived-from",
                           :type "reference"}
                          {:definition "/SearchParameter/Measure.depends-on",
                           :name "depends-on",
                           :type "reference"}
                          {:definition "/SearchParameter/Measure.description",
                           :name "description",
                           :type "string"}
                          {:definition "/SearchParameter/Measure.successor",
                           :name "successor",
                           :type "reference"}
                          {:definition "/SearchParameter/Measure.topic",
                           :name "topic",
                           :type "token"}
                          {:definition "/SearchParameter/Measure.identifier",
                           :name "identifier",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Measure",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MeasureReport.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MeasureReport.period",
                :name "period",
                :type "date"}
               {:definition "/SearchParameter/MeasureReport.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/MeasureReport.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MeasureReport.reporter",
                :name "reporter",
                :type "reference"}
               {:definition "/SearchParameter/MeasureReport.measure",
                :name "measure",
                :type "reference"}
               {:definition "/SearchParameter/MeasureReport.evaluated-resource",
                :name "evaluated-resource",
                :type "reference"}
               {:definition "/SearchParameter/MeasureReport.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/MeasureReport.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MeasureReport",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Media.based-on",
                           :name "based-on",
                           :type "reference"}
                          {:definition "/SearchParameter/Media.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Media.modality",
                           :name "modality",
                           :type "token"}
                          {:definition "/SearchParameter/Media.site",
                           :name "site",
                           :type "token"}
                          {:definition "/SearchParameter/Media.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Media.device",
                           :name "device",
                           :type "reference"}
                          {:definition "/SearchParameter/Media.created",
                           :name "created",
                           :type "date"}
                          {:definition "/SearchParameter/Media.view",
                           :name "view",
                           :type "token"}
                          {:definition "/SearchParameter/Media.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Media.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Media.operator",
                           :name "operator",
                           :type "reference"}
                          {:definition "/SearchParameter/Media.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Media.encounter",
                           :name "encounter",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "Media",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Medication.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Medication.lot-number",
                :name "lot-number",
                :type "token"}
               {:definition "/SearchParameter/Medication.expiration-date",
                :name "expiration-date",
                :type "date"}
               {:definition "/SearchParameter/Medication.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Medication.ingredient-code",
                :name "ingredient-code",
                :type "token"}
               {:definition "/SearchParameter/Medication.ingredient",
                :name "ingredient",
                :type "reference"}
               {:definition "/SearchParameter/Medication.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Medication.form",
                :name "form",
                :type "token"}
               {:definition "/SearchParameter/Medication.manufacturer",
                :name "manufacturer",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Medication",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicationAdministration.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationAdministration.reason-not-given",
                :name "reason-not-given",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationAdministration.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/MedicationAdministration.context",
                :name "context",
                :type "reference"}
               {:definition "/SearchParameter/MedicationAdministration.device",
                :name "device",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicationAdministration.reason-given",
                :name "reason-given",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationAdministration.effective-time",
                :name "effective-time",
                :type "date"}
               {:definition
                  "/SearchParameter/MedicationAdministration.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationAdministration.medication",
                :name "medication",
                :type "reference"}
               {:definition "/SearchParameter/MedicationAdministration.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MedicationAdministration.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/MedicationAdministration.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/MedicationAdministration.request",
                :name "request",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicationAdministration",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicationDispense.prescription",
                :name "prescription",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MedicationDispense.receiver",
                :name "receiver",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.destination",
                :name "destination",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MedicationDispense.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.medication",
                :name "medication",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/MedicationDispense.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MedicationDispense.whenprepared",
                :name "whenprepared",
                :type "date"}
               {:definition
                  "/SearchParameter/MedicationDispense.whenhandedover",
                :name "whenhandedover",
                :type "date"}
               {:definition
                  "/SearchParameter/MedicationDispense.responsibleparty",
                :name "responsibleparty",
                :type "reference"}
               {:definition "/SearchParameter/MedicationDispense.context",
                :name "context",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicationDispense",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicationKnowledge.manufacturer",
                :name "manufacturer",
                :type "reference"}
               {:definition "/SearchParameter/MedicationKnowledge.source-cost",
                :name "source-cost",
                :type "token"}
               {:definition "/SearchParameter/MedicationKnowledge.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MedicationKnowledge.ingredient",
                :name "ingredient",
                :type "reference"}
               {:definition "/SearchParameter/MedicationKnowledge.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MedicationKnowledge.doseform",
                :name "doseform",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.classification",
                :name "classification",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.ingredient-code",
                :name "ingredient-code",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.monitoring-program-type",
                :name "monitoring-program-type",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.classification-type",
                :name "classification-type",
                :type "token"}
               {:definition "/SearchParameter/MedicationKnowledge.monograph",
                :name "monograph",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.monograph-type",
                :name "monograph-type",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicationKnowledge.monitoring-program-name",
                :name "monitoring-program-name",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "MedicationKnowledge",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicationRequest.intended-dispenser",
                :name "intended-dispenser",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.priority",
                :name "priority",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.requester",
                :name "requester",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.authoredon",
                :name "authoredon",
                :type "date"}
               {:definition "/SearchParameter/MedicationRequest.medication",
                :name "medication",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.date",
                :name "date",
                :type "date"}
               {:definition
                  "/SearchParameter/MedicationRequest.intended-performer",
                :name "intended-performer",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicationRequest.intended-performertype",
                :name "intended-performertype",
                :type "token"}
               {:definition "/SearchParameter/MedicationRequest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/MedicationRequest.intent",
                :name "intent",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "MedicationRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicationStatement.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MedicationStatement.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MedicationStatement.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/MedicationStatement.medication",
                :name "medication",
                :type "reference"}
               {:definition "/SearchParameter/MedicationStatement.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/MedicationStatement.source",
                :name "source",
                :type "reference"}
               {:definition "/SearchParameter/MedicationStatement.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/MedicationStatement.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/MedicationStatement.context",
                :name "context",
                :type "reference"}
               {:definition "/SearchParameter/MedicationStatement.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MedicationStatement.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicationStatement",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicinalProduct.name-language",
                :name "name-language",
                :type "token"}
               {:definition "/SearchParameter/MedicinalProduct.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MedicinalProduct.name",
                :name "name",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "MedicinalProduct",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductAuthorization.holder",
                :name "holder",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicinalProductAuthorization.country",
                :name "country",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicinalProductAuthorization.subject",
                :name "subject",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicinalProductAuthorization.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicinalProductAuthorization.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductAuthorization",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductContraindication.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductContraindication",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductIndication.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductIndication",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "MedicinalProductIngredient",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductInteraction.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductInteraction",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "MedicinalProductManufactured",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MedicinalProductPackaged.subject",
                :name "subject",
                :type "reference"}
               {:definition
                  "/SearchParameter/MedicinalProductPackaged.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductPackaged",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductPharmaceutical.target-species",
                :name "target-species",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicinalProductPharmaceutical.route",
                :name "route",
                :type "token"}
               {:definition
                  "/SearchParameter/MedicinalProductPharmaceutical.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductPharmaceutical",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/MedicinalProductUndesirableEffect.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MedicinalProductUndesirableEffect",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MessageDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/MessageDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/MessageDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/MessageDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/MessageDefinition.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.focus",
                :name "focus",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.event",
                :name "event",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.parent",
                :name "parent",
                :type "reference"}
               {:definition "/SearchParameter/MessageDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MessageDefinition.description",
                :name "description",
                :type "string"}
               {:definition
                  "/SearchParameter/MessageDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/MessageDefinition.url",
                :name "url",
                :type "uri"}],
            :searchRevInclude ["all"],
            :type "MessageDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MessageHeader.enterer",
                :name "enterer",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.response-id",
                :name "response-id",
                :type "token"}
               {:definition "/SearchParameter/MessageHeader.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.destination-uri",
                :name "destination-uri",
                :type "uri"}
               {:definition "/SearchParameter/MessageHeader.source",
                :name "source",
                :type "string"}
               {:definition "/SearchParameter/MessageHeader.event",
                :name "event",
                :type "token"}
               {:definition "/SearchParameter/MessageHeader.source-uri",
                :name "source-uri",
                :type "uri"}
               {:definition "/SearchParameter/MessageHeader.focus",
                :name "focus",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/MessageHeader.sender",
                :name "sender",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.receiver",
                :name "receiver",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.destination",
                :name "destination",
                :type "string"}
               {:definition "/SearchParameter/MessageHeader.responsible",
                :name "responsible",
                :type "reference"}
               {:definition "/SearchParameter/MessageHeader.target",
                :name "target",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "MessageHeader",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Module",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/MolecularSequence.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/MolecularSequence.chromosome",
                :name "chromosome",
                :type "token"}
               {:definition "/SearchParameter/MolecularSequence.window-start",
                :name "window-start",
                :type "number"}
               {:definition "/SearchParameter/MolecularSequence.window-end",
                :name "window-end",
                :type "number"}
               {:definition "/SearchParameter/MolecularSequence.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/MolecularSequence.variant-start",
                :name "variant-start",
                :type "number"}
               {:definition "/SearchParameter/MolecularSequence.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/MolecularSequence.referenceseqid",
                :name "referenceseqid",
                :type "token"}
               {:definition "/SearchParameter/MolecularSequence.variant-end",
                :name "variant-end",
                :type "number"}],
            :searchRevInclude ["all"],
            :type "MolecularSequence",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/NamingSystem.value",
                :name "value",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/NamingSystem.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.kind",
                :name "kind",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.responsible",
                :name "responsible",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.contact",
                :name "contact",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.period",
                :name "period",
                :type "date"}
               {:definition "/SearchParameter/NamingSystem.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/NamingSystem.id-type",
                :name "id-type",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/NamingSystem.context-quantity",
                :name "context-quantity",
                :type "quantity"}],
            :searchRevInclude ["all"],
            :type "NamingSystem",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Notification",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "NotificationTemplate",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/NutritionOrder.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition
                  "/SearchParameter/NutritionOrder.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/NutritionOrder.supplement",
                :name "supplement",
                :type "token"}
               {:definition "/SearchParameter/NutritionOrder.datetime",
                :name "datetime",
                :type "date"}
               {:definition "/SearchParameter/NutritionOrder.provider",
                :name "provider",
                :type "reference"}
               {:definition "/SearchParameter/NutritionOrder.oraldiet",
                :name "oraldiet",
                :type "token"}
               {:definition "/SearchParameter/NutritionOrder.additive",
                :name "additive",
                :type "token"}
               {:definition "/SearchParameter/NutritionOrder.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/NutritionOrder.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/NutritionOrder.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/NutritionOrder.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/NutritionOrder.formula",
                :name "formula",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "NutritionOrder",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Observation.focus",
                :name "focus",
                :type "reference"}
               {:definition "/SearchParameter/Observation.encounter",
                :name "encounter",
                :type "reference"}
               {:definition
                  "/SearchParameter/Observation.combo-data-absent-reason",
                :name "combo-data-absent-reason",
                :type "token"}
               {:definition "/SearchParameter/Observation.method",
                :name "method",
                :type "token"}
               {:definition "/SearchParameter/Observation.combo-value-quantity",
                :name "combo-value-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/Observation.combo-code",
                :name "combo-code",
                :type "token"}
               {:definition
                  "/SearchParameter/Observation.component-value-quantity",
                :name "component-value-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/Observation.component-code",
                :name "component-code",
                :type "token"}
               {:definition "/SearchParameter/Observation.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/Observation.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Observation.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/Observation.specimen",
                :name "specimen",
                :type "reference"}
               {:definition "/SearchParameter/Observation.value-string",
                :name "value-string",
                :type "string"}
               {:definition "/SearchParameter/Observation.value-concept",
                :name "value-concept",
                :type "token"}
               {:definition "/SearchParameter/Observation.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Observation.value-date",
                :name "value-date",
                :type "date"}
               {:definition "/SearchParameter/Observation.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Observation.data-absent-reason",
                :name "data-absent-reason",
                :type "token"}
               {:definition "/SearchParameter/Observation.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/Observation.combo-value-concept",
                :name "combo-value-concept",
                :type "token"}
               {:definition "/SearchParameter/Observation.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/Observation.component-data-absent-reason",
                :name "component-data-absent-reason",
                :type "token"}
               {:definition "/SearchParameter/Observation.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/Observation.device",
                :name "device",
                :type "reference"}
               {:definition "/SearchParameter/Observation.value-quantity",
                :name "value-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/Observation.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/Observation.has-member",
                :name "has-member",
                :type "reference"}
               {:definition
                  "/SearchParameter/Observation.component-value-concept",
                :name "component-value-concept",
                :type "token"}
               {:definition "/SearchParameter/Observation.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Observation.date",
                :name "date",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "Observation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "ObservationDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Operation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/OperationDefinition.base",
                :name "base",
                :type "reference"}
               {:definition "/SearchParameter/OperationDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.kind",
                :name "kind",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/OperationDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/OperationDefinition.instance",
                :name "instance",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.description",
                :name "description",
                :type "string"}
               {:definition
                  "/SearchParameter/OperationDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/OperationDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/OperationDefinition.system",
                :name "system",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.url",
                :name "url",
                :type "uri"}
               {:definition
                  "/SearchParameter/OperationDefinition.output-profile",
                :name "output-profile",
                :type "reference"}
               {:definition "/SearchParameter/OperationDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition
                  "/SearchParameter/OperationDefinition.input-profile",
                :name "input-profile",
                :type "reference"}
               {:definition "/SearchParameter/OperationDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/OperationDefinition.name",
                :name "name",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "OperationDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "OperationOutcome",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Organization.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/Organization.partof",
                :name "partof",
                :type "reference"}
               {:definition "/SearchParameter/Organization.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/Organization.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/Organization.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/Organization.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/Organization.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Organization.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/Organization.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Organization.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/Organization.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/Organization.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/Organization.address",
                :name "address",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "Organization",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/OrganizationAffiliation.specialty",
                :name "specialty",
                :type "token"}
               {:definition
                  "/SearchParameter/OrganizationAffiliation.participating-organization",
                :name "participating-organization",
                :type "reference"}
               {:definition "/SearchParameter/OrganizationAffiliation.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/OrganizationAffiliation.network",
                :name "network",
                :type "reference"}
               {:definition
                  "/SearchParameter/OrganizationAffiliation.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/OrganizationAffiliation.service",
                :name "service",
                :type "reference"}
               {:definition
                  "/SearchParameter/OrganizationAffiliation.primary-organization",
                :name "primary-organization",
                :type "reference"}
               {:definition "/SearchParameter/OrganizationAffiliation.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/OrganizationAffiliation.role",
                :name "role",
                :type "token"}
               {:definition "/SearchParameter/OrganizationAffiliation.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/OrganizationAffiliation.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/OrganizationAffiliation.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/OrganizationAffiliation.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/OrganizationAffiliation.email",
                :name "email",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "OrganizationAffiliation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "PGSequence",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Parameters",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Patient.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/Patient.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/Patient.given",
                :name "given",
                :type "string"}
               {:definition "/SearchParameter/Patient.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/Patient.general-practitioner",
                :name "general-practitioner",
                :type "reference"}
               {:definition "/SearchParameter/Patient.gender",
                :name "gender",
                :type "token"}
               {:definition "/SearchParameter/Patient.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Patient.family",
                :name "family",
                :type "string"}
               {:definition "/SearchParameter/Patient.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/Patient.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Patient.link",
                :name "link",
                :type "reference"}
               {:definition "/SearchParameter/Patient.race",
                :name "race",
                :type "token"}
               {:definition "/SearchParameter/Patient.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/Patient.language",
                :name "language",
                :type "token"}
               {:definition "/SearchParameter/Patient.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/Patient.death-date",
                :name "death-date",
                :type "date"}
               {:definition "/SearchParameter/Patient.deceased",
                :name "deceased",
                :type "token"}
               {:definition "/SearchParameter/Patient.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/Patient.email",
                :name "email",
                :type "token"}
               {:definition "/SearchParameter/Patient.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/Patient.birthdate",
                :name "birthdate",
                :type "date"}
               {:definition "/SearchParameter/Patient.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/Patient.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/Patient.address-postalcode",
                :name "address-postalcode",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "Patient",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/PaymentNotice.provider",
                :name "provider",
                :type "reference"}
               {:definition "/SearchParameter/PaymentNotice.created",
                :name "created",
                :type "date"}
               {:definition "/SearchParameter/PaymentNotice.request",
                :name "request",
                :type "reference"}
               {:definition "/SearchParameter/PaymentNotice.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/PaymentNotice.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/PaymentNotice.payment-status",
                :name "payment-status",
                :type "token"}
               {:definition "/SearchParameter/PaymentNotice.response",
                :name "response",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "PaymentNotice",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/PaymentReconciliation.status",
                :name "status",
                :type "token"}
               {:definition
                  "/SearchParameter/PaymentReconciliation.disposition",
                :name "disposition",
                :type "string"}
               {:definition "/SearchParameter/PaymentReconciliation.requestor",
                :name "requestor",
                :type "reference"}
               {:definition "/SearchParameter/PaymentReconciliation.request",
                :name "request",
                :type "reference"}
               {:definition "/SearchParameter/PaymentReconciliation.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/PaymentReconciliation.outcome",
                :name "outcome",
                :type "token"}
               {:definition
                  "/SearchParameter/PaymentReconciliation.payment-issuer",
                :name "payment-issuer",
                :type "reference"}
               {:definition "/SearchParameter/PaymentReconciliation.created",
                :name "created",
                :type "date"}],
            :searchRevInclude ["all"],
            :type "PaymentReconciliation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Person.link",
                :name "link",
                :type "reference"}
               {:definition "/SearchParameter/Person.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Person.relatedperson",
                :name "relatedperson",
                :type "reference"}
               {:definition "/SearchParameter/Person.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/Person.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/Person.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Person.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Person.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/Person.gender",
                :name "gender",
                :type "token"}
               {:definition "/SearchParameter/Person.birthdate",
                :name "birthdate",
                :type "date"}
               {:definition "/SearchParameter/Person.email",
                :name "email",
                :type "token"}
               {:definition "/SearchParameter/Person.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/Person.practitioner",
                :name "practitioner",
                :type "reference"}
               {:definition "/SearchParameter/Person.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/Person.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/Person.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/Person.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/Person.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/Person.address-city",
                :name "address-city",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "Person",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/PlanDefinition.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/PlanDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/PlanDefinition.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/PlanDefinition.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/PlanDefinition.definition",
                :name "definition",
                :type "reference"}
               {:definition "/SearchParameter/PlanDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/PlanDefinition.topic",
                :name "topic",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/PlanDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/PlanDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/PlanDefinition.successor",
                :name "successor",
                :type "reference"}
               {:definition "/SearchParameter/PlanDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/PlanDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/PlanDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/PlanDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/PlanDefinition.composed-of",
                :name "composed-of",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "PlanDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Practitioner.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.given",
                :name "given",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.communication",
                :name "communication",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.email",
                :name "email",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.gender",
                :name "gender",
                :type "token"}
               {:definition "/SearchParameter/Practitioner.family",
                :name "family",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/Practitioner.address-country",
                :name "address-country",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "Practitioner",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/PractitionerRole.endpoint",
                :name "endpoint",
                :type "reference"}
               {:definition "/SearchParameter/PractitionerRole.organization",
                :name "organization",
                :type "reference"}
               {:definition "/SearchParameter/PractitionerRole.email",
                :name "email",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.service",
                :name "service",
                :type "reference"}
               {:definition "/SearchParameter/PractitionerRole.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/PractitionerRole.role",
                :name "role",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.practitioner",
                :name "practitioner",
                :type "reference"}
               {:definition "/SearchParameter/PractitionerRole.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.specialty",
                :name "specialty",
                :type "token"}
               {:definition "/SearchParameter/PractitionerRole.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/PractitionerRole.telecom",
                :name "telecom",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "PractitionerRole",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Procedure.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.reason-reference",
                :name "reason-reference",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.location",
                :name "location",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Procedure.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Procedure.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/Procedure.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Procedure.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Procedure.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/Procedure.reason-code",
                :name "reason-code",
                :type "token"}
               {:definition "/SearchParameter/Procedure.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Procedure.part-of",
                :name "part-of",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "Procedure",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Provenance.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Provenance.target",
                           :name "target",
                           :type "reference"}
                          {:definition "/SearchParameter/Provenance.agent-role",
                           :name "agent-role",
                           :type "token"}
                          {:definition "/SearchParameter/Provenance.agent",
                           :name "agent",
                           :type "reference"}
                          {:definition "/SearchParameter/Provenance.recorded",
                           :name "recorded",
                           :type "date"}
                          {:definition "/SearchParameter/Provenance.when",
                           :name "when",
                           :type "date"}
                          {:definition
                             "/SearchParameter/Provenance.signature-type",
                           :name "signature-type",
                           :type "token"}
                          {:definition "/SearchParameter/Provenance.entity",
                           :name "entity",
                           :type "reference"}
                          {:definition "/SearchParameter/Provenance.location",
                           :name "location",
                           :type "reference"}
                          {:definition "/SearchParameter/Provenance.agent-type",
                           :name "agent-type",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Provenance",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Questionnaire.definition",
                :name "definition",
                :type "uri"}
               {:definition "/SearchParameter/Questionnaire.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/Questionnaire.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/Questionnaire.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/Questionnaire.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/Questionnaire.subject-type",
                :name "subject-type",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/Questionnaire.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/Questionnaire.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/Questionnaire.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/Questionnaire.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/Questionnaire.version",
                :name "version",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "Questionnaire",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/QuestionnaireResponse.part-of",
                :name "part-of",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.authored",
                :name "authored",
                :type "date"}
               {:definition "/SearchParameter/QuestionnaireResponse.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/QuestionnaireResponse.source",
                :name "source",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/QuestionnaireResponse.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/QuestionnaireResponse.author",
                :name "author",
                :type "reference"}
               {:definition
                  "/SearchParameter/QuestionnaireResponse.questionnaire",
                :name "questionnaire",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "QuestionnaireResponse",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Registration",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/RelatedPerson.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.address-country",
                :name "address-country",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.address-postalcode",
                :name "address-postalcode",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.address",
                :name "address",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.address-use",
                :name "address-use",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.email",
                :name "email",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.address-state",
                :name "address-state",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.active",
                :name "active",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.relationship",
                :name "relationship",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.gender",
                :name "gender",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.phone",
                :name "phone",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.phonetic",
                :name "phonetic",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.birthdate",
                :name "birthdate",
                :type "date"}
               {:definition "/SearchParameter/RelatedPerson.telecom",
                :name "telecom",
                :type "token"}
               {:definition "/SearchParameter/RelatedPerson.address-city",
                :name "address-city",
                :type "string"}
               {:definition "/SearchParameter/RelatedPerson.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "RelatedPerson",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/RequestGroup.encounter",
                :name "encounter",
                :type "reference"}
               {:definition
                  "/SearchParameter/RequestGroup.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}
               {:definition "/SearchParameter/RequestGroup.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/RequestGroup.authored",
                :name "authored",
                :type "date"}
               {:definition "/SearchParameter/RequestGroup.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/RequestGroup.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/RequestGroup.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/RequestGroup.intent",
                :name "intent",
                :type "token"}
               {:definition "/SearchParameter/RequestGroup.priority",
                :name "priority",
                :type "token"}
               {:definition "/SearchParameter/RequestGroup.author",
                :name "author",
                :type "reference"}
               {:definition "/SearchParameter/RequestGroup.participant",
                :name "participant",
                :type "reference"}
               {:definition "/SearchParameter/RequestGroup.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/RequestGroup.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/RequestGroup.group-identifier",
                :name "group-identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "RequestGroup",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ResearchDefinition.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ResearchDefinition.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition "/SearchParameter/ResearchDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.successor",
                :name "successor",
                :type "reference"}
               {:definition "/SearchParameter/ResearchDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/ResearchDefinition.topic",
                :name "topic",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/ResearchDefinition.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/ResearchDefinition.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/ResearchDefinition.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/ResearchDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/ResearchDefinition.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ResearchDefinition.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/ResearchDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.composed-of",
                :name "composed-of",
                :type "reference"}
               {:definition "/SearchParameter/ResearchDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ResearchDefinition.url",
                :name "url",
                :type "uri"}],
            :searchRevInclude ["all"],
            :type "ResearchDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition
                  "/SearchParameter/ResearchElementDefinition.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.context",
                :name "context",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.depends-on",
                :name "depends-on",
                :type "reference"}
               {:definition "/SearchParameter/ResearchElementDefinition.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ResearchElementDefinition.url",
                :name "url",
                :type "uri"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/ResearchElementDefinition.name",
                :name "name",
                :type "string"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/ResearchElementDefinition.topic",
                :name "topic",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.effective",
                :name "effective",
                :type "date"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.predecessor",
                :name "predecessor",
                :type "reference"}
               {:definition "/SearchParameter/ResearchElementDefinition.date",
                :name "date",
                :type "date"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.composed-of",
                :name "composed-of",
                :type "reference"}
               {:definition "/SearchParameter/ResearchElementDefinition.title",
                :name "title",
                :type "string"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.context-type",
                :name "context-type",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.derived-from",
                :name "derived-from",
                :type "reference"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.description",
                :name "description",
                :type "string"}
               {:definition
                  "/SearchParameter/ResearchElementDefinition.successor",
                :name "successor",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ResearchElementDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ResearchStudy.partof",
                :name "partof",
                :type "reference"}
               {:definition "/SearchParameter/ResearchStudy.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.focus",
                :name "focus",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.location",
                :name "location",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.sponsor",
                :name "sponsor",
                :type "reference"}
               {:definition "/SearchParameter/ResearchStudy.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.keyword",
                :name "keyword",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/ResearchStudy.protocol",
                :name "protocol",
                :type "reference"}
               {:definition
                  "/SearchParameter/ResearchStudy.principalinvestigator",
                :name "principalinvestigator",
                :type "reference"}
               {:definition "/SearchParameter/ResearchStudy.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ResearchStudy.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ResearchStudy.site",
                :name "site",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ResearchStudy",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ResearchSubject.individual",
                :name "individual",
                :type "reference"}
               {:definition "/SearchParameter/ResearchSubject.study",
                :name "study",
                :type "reference"}
               {:definition "/SearchParameter/ResearchSubject.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ResearchSubject.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/ResearchSubject.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ResearchSubject.status",
                :name "status",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "ResearchSubject",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/RiskAssessment.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/RiskAssessment.condition",
                :name "condition",
                :type "reference"}
               {:definition "/SearchParameter/RiskAssessment.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/RiskAssessment.risk",
                :name "risk",
                :type "token"}
               {:definition "/SearchParameter/RiskAssessment.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/RiskAssessment.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/RiskAssessment.method",
                :name "method",
                :type "token"}
               {:definition "/SearchParameter/RiskAssessment.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/RiskAssessment.probability",
                :name "probability",
                :type "number"}
               {:definition "/SearchParameter/RiskAssessment.encounter",
                :name "encounter",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "RiskAssessment",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/RiskEvidenceSynthesis.effective",
                :name "effective",
                :type "date"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.identifier",
                :name "identifier",
                :type "token"}
               {:definition
                  "/SearchParameter/RiskEvidenceSynthesis.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.version",
                :name "version",
                :type "token"}
               {:definition
                  "/SearchParameter/RiskEvidenceSynthesis.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.url",
                :name "url",
                :type "uri"}
               {:definition
                  "/SearchParameter/RiskEvidenceSynthesis.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.publisher",
                :name "publisher",
                :type "string"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.name",
                :name "name",
                :type "string"}
               {:definition
                  "/SearchParameter/RiskEvidenceSynthesis.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/RiskEvidenceSynthesis.context",
                :name "context",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "RiskEvidenceSynthesis",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Role.user",
                           :name "user",
                           :type "reference"}
                          {:definition "/SearchParameter/Role.name",
                           :name "name",
                           :type "string"}],
            :searchRevInclude ["all"],
            :type "Role",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Schedule.actor",
                           :name "actor",
                           :type "reference"}
                          {:definition "/SearchParameter/Schedule.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/Schedule.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Schedule.active",
                           :name "active",
                           :type "token"}
                          {:definition "/SearchParameter/Schedule.specialty",
                           :name "specialty",
                           :type "token"}
                          {:definition
                             "/SearchParameter/Schedule.service-category",
                           :name "service-category",
                           :type "token"}
                          {:definition "/SearchParameter/Schedule.service-type",
                           :name "service-type",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Schedule",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Search",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition
                             "/SearchParameter/SearchParameter.resource",
                           :name "resource",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "SearchParameter",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SearchQuery",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/ServiceRequest.specimen",
                :name "specimen",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.based-on",
                :name "based-on",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.encounter",
                :name "encounter",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.performer-type",
                :name "performer-type",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.performer",
                :name "performer",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.subject",
                :name "subject",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.priority",
                :name "priority",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.instantiates-uri",
                :name "instantiates-uri",
                :type "uri"}
               {:definition "/SearchParameter/ServiceRequest.replaces",
                :name "replaces",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.body-site",
                :name "body-site",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.requester",
                :name "requester",
                :type "reference"}
               {:definition "/SearchParameter/ServiceRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.occurrence",
                :name "occurrence",
                :type "date"}
               {:definition "/SearchParameter/ServiceRequest.intent",
                :name "intent",
                :type "token"}
               {:definition "/SearchParameter/ServiceRequest.authored",
                :name "authored",
                :type "date"}
               {:definition "/SearchParameter/ServiceRequest.requisition",
                :name "requisition",
                :type "token"}
               {:definition
                  "/SearchParameter/ServiceRequest.instantiates-canonical",
                :name "instantiates-canonical",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "ServiceRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "Session",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Slot.service-category",
                           :name "service-category",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.appointment-type",
                           :name "appointment-type",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.service-type",
                           :name "service-type",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.specialty",
                           :name "specialty",
                           :type "token"}
                          {:definition "/SearchParameter/Slot.schedule",
                           :name "schedule",
                           :type "reference"}
                          {:definition "/SearchParameter/Slot.start",
                           :name "start",
                           :type "date"}],
            :searchRevInclude ["all"],
            :type "Slot",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Specimen.type",
                           :name "type",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.parent",
                           :name "parent",
                           :type "reference"}
                          {:definition "/SearchParameter/Specimen.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Specimen.collector",
                           :name "collector",
                           :type "reference"}
                          {:definition "/SearchParameter/Specimen.container",
                           :name "container",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Specimen.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.bodysite",
                           :name "bodysite",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.accession",
                           :name "accession",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.container-id",
                           :name "container-id",
                           :type "token"}
                          {:definition "/SearchParameter/Specimen.collected",
                           :name "collected",
                           :type "date"}],
            :searchRevInclude ["all"],
            :type "Specimen",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/SpecimenDefinition.container",
                :name "container",
                :type "token"}
               {:definition "/SearchParameter/SpecimenDefinition.type",
                :name "type",
                :type "token"}
               {:definition "/SearchParameter/SpecimenDefinition.identifier",
                :name "identifier",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "SpecimenDefinition",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/StructureMap.jurisdiction",
                :name "jurisdiction",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.context",
                :name "context",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.title",
                :name "title",
                :type "string"}
               {:definition "/SearchParameter/StructureMap.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.description",
                :name "description",
                :type "string"}
               {:definition "/SearchParameter/StructureMap.name",
                :name "name",
                :type "string"}
               {:definition "/SearchParameter/StructureMap.url",
                :name "url",
                :type "uri"}
               {:definition "/SearchParameter/StructureMap.context-type",
                :name "context-type",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.context-quantity",
                :name "context-quantity",
                :type "quantity"}
               {:definition "/SearchParameter/StructureMap.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/StructureMap.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.version",
                :name "version",
                :type "token"}
               {:definition "/SearchParameter/StructureMap.publisher",
                :name "publisher",
                :type "string"}],
            :searchRevInclude ["all"],
            :type "StructureMap",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubsNotification",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubsSubscription",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/Substance.code",
                :name "code",
                :type "token"}
               {:definition "/SearchParameter/Substance.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/Substance.container-identifier",
                :name "container-identifier",
                :type "token"}
               {:definition "/SearchParameter/Substance.substance-reference",
                :name "substance-reference",
                :type "reference"}
               {:definition "/SearchParameter/Substance.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/Substance.expiry",
                :name "expiry",
                :type "date"}
               {:definition "/SearchParameter/Substance.quantity",
                :name "quantity",
                :type "quantity"}
               {:definition "/SearchParameter/Substance.status",
                :name "status",
                :type "token"}],
            :searchRevInclude ["all"],
            :type "Substance",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubstanceNucleicAcid",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubstancePolymer",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubstanceProtein",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubstanceReferenceInformation",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "SubstanceSourceMaterial",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition
                             "/SearchParameter/SubstanceSpecification.code",
                           :name "code",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "SubstanceSpecification",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/SupplyDelivery.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/SupplyDelivery.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/SupplyDelivery.receiver",
                :name "receiver",
                :type "reference"}
               {:definition "/SearchParameter/SupplyDelivery.supplier",
                :name "supplier",
                :type "reference"}
               {:definition "/SearchParameter/SupplyDelivery.patient",
                :name "patient",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "SupplyDelivery",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/SupplyRequest.date",
                :name "date",
                :type "date"}
               {:definition "/SearchParameter/SupplyRequest.supplier",
                :name "supplier",
                :type "reference"}
               {:definition "/SearchParameter/SupplyRequest.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/SupplyRequest.category",
                :name "category",
                :type "token"}
               {:definition "/SearchParameter/SupplyRequest.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/SupplyRequest.requester",
                :name "requester",
                :type "reference"}
               {:definition "/SearchParameter/SupplyRequest.subject",
                :name "subject",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "SupplyRequest",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/Task.owner",
                           :name "owner",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.part-of",
                           :name "part-of",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.intent",
                           :name "intent",
                           :type "token"}
                          {:definition "/SearchParameter/Task.code",
                           :name "code",
                           :type "token"}
                          {:definition "/SearchParameter/Task.performer",
                           :name "performer",
                           :type "token"}
                          {:definition "/SearchParameter/Task.modified",
                           :name "modified",
                           :type "date"}
                          {:definition "/SearchParameter/Task.based-on",
                           :name "based-on",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.priority",
                           :name "priority",
                           :type "token"}
                          {:definition "/SearchParameter/Task.patient",
                           :name "patient",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.period",
                           :name "period",
                           :type "date"}
                          {:definition "/SearchParameter/Task.authored-on",
                           :name "authored-on",
                           :type "date"}
                          {:definition "/SearchParameter/Task.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/Task.focus",
                           :name "focus",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.encounter",
                           :name "encounter",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.requester",
                           :name "requester",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.subject",
                           :name "subject",
                           :type "reference"}
                          {:definition "/SearchParameter/Task.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/Task.business-status",
                           :name "business-status",
                           :type "token"}
                          {:definition "/SearchParameter/Task.group-identifier",
                           :name "group-identifier",
                           :type "token"}],
            :searchRevInclude ["all"],
            :type "Task",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "TokenIntrospector",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "User",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition "/SearchParameter/ValueSet.reference",
                           :name "reference",
                           :type "uri"}
                          {:definition "/SearchParameter/ValueSet.jurisdiction",
                           :name "jurisdiction",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.url",
                           :name "url",
                           :type "uri"}
                          {:definition
                             "/SearchParameter/ValueSet.context-quantity",
                           :name "context-quantity",
                           :type "quantity"}
                          {:definition "/SearchParameter/ValueSet.name",
                           :name "name",
                           :type "string"}
                          {:definition "/SearchParameter/ValueSet.code",
                           :name "code",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.date",
                           :name "date",
                           :type "date"}
                          {:definition "/SearchParameter/ValueSet.description",
                           :name "description",
                           :type "string"}
                          {:definition "/SearchParameter/ValueSet.context",
                           :name "context",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.publisher",
                           :name "publisher",
                           :type "string"}
                          {:definition "/SearchParameter/ValueSet.title",
                           :name "title",
                           :type "string"}
                          {:definition "/SearchParameter/ValueSet.context-type",
                           :name "context-type",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.status",
                           :name "status",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.identifier",
                           :name "identifier",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.version",
                           :name "version",
                           :type "token"}
                          {:definition "/SearchParameter/ValueSet.expansion",
                           :name "expansion",
                           :type "uri"}],
            :searchRevInclude ["all"],
            :type "ValueSet",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [{:definition
                             "/SearchParameter/VerificationResult.target",
                           :name "target",
                           :type "reference"}],
            :searchRevInclude ["all"],
            :type "VerificationResult",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam
              [{:definition "/SearchParameter/VisionPrescription.patient",
                :name "patient",
                :type "reference"}
               {:definition "/SearchParameter/VisionPrescription.status",
                :name "status",
                :type "token"}
               {:definition "/SearchParameter/VisionPrescription.datewritten",
                :name "datewritten",
                :type "date"}
               {:definition "/SearchParameter/VisionPrescription.prescriber",
                :name "prescriber",
                :type "reference"}
               {:definition "/SearchParameter/VisionPrescription.identifier",
                :name "identifier",
                :type "token"}
               {:definition "/SearchParameter/VisionPrescription.encounter",
                :name "encounter",
                :type "reference"}],
            :searchRevInclude ["all"],
            :type "VisionPrescription",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "ui_history",
            :updateCreate true,
            :versioning "versioned-update"}
           {:conditionalCreate true,
            :conditionalDelete "single",
            :conditionalRead "full-support",
            :conditionalUpdate true,
            :interaction [{:code "read"} {:code "vread"} {:code "update"}
                          {:code "patch"} {:code "delete"}
                          {:code "history-instance"} {:code "history-type"}
                          {:code "create"} {:code "search-type"}],
            :readHistory true,
            :referencePolicy "local",
            :searchInclude ["all"],
            :searchParam [],
            :searchRevInclude ["all"],
            :type "ui_snippet",
            :updateCreate true,
            :versioning "versioned-update"}],
        :security
          {:extension
             [{:extension
                 [{:url "token",
                   :valueUri "https://edgeniquola.edge.aidbox.app/auth/token"}
                  {:url "authorize",
                   :valueUri
                     "https://edgeniquola.edge.aidbox.app/auth/authorize"}],
               :url
                 "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"}]},
        :service [{:coding [{:code "SMART-on-FHIR",
                             :system
                               "http://hl7.org/fhir/restful-security-service"}],
                   :text "OAuth2 using SMART-on-FHIR profile"}]}],
    :title "[a]idbox"},
 :status 200}
Match:
{:body {:resourceType "CapabilityStatement"}, :by sty/matcho, :status 200}
Transactions test case
case
Passed: 5
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patients-in-transaction
Create patients in transaction
ok
post
/
Body:
{:entry [{:request {:act sty/http, :method :put, :url "Patient/pt-1"},
          :resource {:birthDate "2021-01-01"}}
         {:request {:act sty/http, :method :put, :url "Patient/pt-2"},
          :resource {:birthDate "2021-01-02"}}
         {:request {:act sty/http, :method :put, :url "Patient/pt-3"},
          :resource {:birthDate "2021-01-03"}}],
 :type :transaction}
Result:
{:body
   {:entry [{:resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.142148Z",
                               :versionId "4820"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4820",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :location "/Patient/pt-1/_history/4820",
                        :status "201",
                        :x-duration 5,
                        :x-request-id "600359874d6838ff0cff7c8e223f97b3"}}
            {:resource {:birthDate "2021-01-02",
                        :id "pt-2",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.142148Z",
                               :versionId "4821"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4821",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :location "/Patient/pt-2/_history/4821",
                        :status "201",
                        :x-duration 4,
                        :x-request-id "600359874d6838ff0cff7c8e223f97b3"}}
            {:resource {:birthDate "2021-01-03",
                        :id "pt-3",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.142148Z",
                               :versionId "4822"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4822",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :location "/Patient/pt-3/_history/4822",
                        :status "201",
                        :x-duration 3,
                        :x-request-id "600359874d6838ff0cff7c8e223f97b3"}}],
    :id "4823",
    :resourceType "Bundle",
    :type "transaction-response"},
 :status 200}
Match:
{:body {:entry [{:resource {:id "pt-1"}} {:resource {:id "pt-2"}}
                {:resource {:id "pt-3"}}]},
 :by sty/matcho,
 :status sty/ok?}
read-patient
Read one of just created patients
ok
get
str/Patient/pt-1
Result:
{:body {:birthDate "2021-01-01",
        :id "pt-1",
        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
               :lastUpdated "2021-05-10T10:36:36.142148Z",
               :versionId "4820"},
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:birthDate "2021-01-01", :id "pt-1", :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
create-multiple-versions-patient-in-transaction
Create multiple versions of the patient in transaction
ok
post
/
Body:
{:entry [{:request {:act sty/http, :method :put, :url "Patient/pt-1"},
          :resource {:birthDate "2021-01-02"}}
         {:request {:act sty/http, :method :put, :url "Patient/pt-1"},
          :resource {:birthDate "2021-01-03"}}
         {:request {:act sty/http, :method :put, :url "Patient/pt-1"},
          :resource {:birthDate "2021-01-04"}}],
 :type :transaction}
Result:
{:body
   {:entry [{:resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4824"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4824",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :status "200",
                        :x-duration 5,
                        :x-request-id "90d15ec05132eeafc0a3be04d4c448a2"}}
            {:resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4825"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4825",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :status "200",
                        :x-duration 5,
                        :x-request-id "90d15ec05132eeafc0a3be04d4c448a2"}}
            {:resource {:birthDate "2021-01-04",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4826"},
                        :resourceType "Patient"},
             :response {:cache-control "no-cache",
                        :etag "4826",
                        :last-modified "Mon, 10 May 2021 10:36:36 GMT",
                        :status "200",
                        :x-duration 5,
                        :x-request-id "90d15ec05132eeafc0a3be04d4c448a2"}}],
    :id "4827",
    :resourceType "Bundle",
    :type "transaction-response"},
 :status 200}
Match:
{:body {:entry
          [{:resource
              {:birthDate "2021-01-02", :id "pt-1", :resourceType "Patient"}}
           {:resource
              {:birthDate "2021-01-03", :id "pt-1", :resourceType "Patient"}}
           {:resource
              {:birthDate "2021-01-04", :id "pt-1", :resourceType "Patient"}}]},
 :by sty/matcho,
 :status sty/ok?}
read-patient-history
Read history of a patient
ok
get
/Patient/pt-1/_history/
Result:
{:body
   {:entry [{:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-04",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4826"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4825"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.273187Z",
                               :versionId "4824"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:36.142148Z",
                               :lastUpdated "2021-05-10T10:36:36.142148Z",
                               :versionId "4820"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:35.401970Z",
                               :lastUpdated "2021-05-10T10:36:35.401970Z",
                               :versionId "4818"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:36:35.343492Z",
                               :lastUpdated "2021-05-10T10:36:35.343492Z",
                               :versionId "4816"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.873425Z",
                               :versionId "4791"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.873425Z",
                               :versionId "4790"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:25.469502Z",
                               :lastUpdated "2021-05-10T10:35:25.469502Z",
                               :versionId "4786"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:23.311340Z",
                               :lastUpdated "2021-05-10T10:35:23.311340Z",
                               :versionId "4784"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T10:35:23.108035Z",
                               :lastUpdated "2021-05-10T10:35:23.108035Z",
                               :versionId "4782"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.614528Z",
                               :versionId "4747"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.614528Z",
                               :versionId "4746"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.521551Z",
                               :lastUpdated "2021-05-10T08:45:29.521551Z",
                               :versionId "4742"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:29.018745Z",
                               :lastUpdated "2021-05-10T08:45:29.018745Z",
                               :versionId "4740"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:45:28.984070Z",
                               :lastUpdated "2021-05-10T08:45:28.984070Z",
                               :versionId "4738"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.770606Z",
                               :versionId "4716"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.770606Z",
                               :versionId "4715"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:19.369459Z",
                               :lastUpdated "2021-05-10T08:43:19.369459Z",
                               :versionId "4711"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:17.355204Z",
                               :lastUpdated "2021-05-10T08:43:17.355204Z",
                               :versionId "4709"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:43:17.209635Z",
                               :lastUpdated "2021-05-10T08:43:17.209635Z",
                               :versionId "4707"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:08.143034Z",
                               :versionId "4685"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:08.143034Z",
                               :versionId "4684"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:07.733967Z",
                               :lastUpdated "2021-05-10T08:20:07.733967Z",
                               :versionId "4680"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:04.967847Z",
                               :lastUpdated "2021-05-10T08:20:04.967847Z",
                               :versionId "4678"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:20:04.762527Z",
                               :lastUpdated "2021-05-10T08:20:04.762527Z",
                               :versionId "4676"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.838046Z",
                               :versionId "4654"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.838046Z",
                               :versionId "4653"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:49.524996Z",
                               :lastUpdated "2021-05-10T08:16:49.524996Z",
                               :versionId "4649"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:47.446109Z",
                               :lastUpdated "2021-05-10T08:16:47.446109Z",
                               :versionId "4647"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:16:47.285742Z",
                               :lastUpdated "2021-05-10T08:16:47.285742Z",
                               :versionId "4645"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:45.166940Z",
                               :versionId "4623"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:45.166940Z",
                               :versionId "4622"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:44.730587Z",
                               :lastUpdated "2021-05-10T08:10:44.730587Z",
                               :versionId "4618"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:42.581038Z",
                               :lastUpdated "2021-05-10T08:10:42.581038Z",
                               :versionId "4616"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:10:42.375555Z",
                               :lastUpdated "2021-05-10T08:10:42.375555Z",
                               :versionId "4614"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:26.903339Z",
                               :lastUpdated "2021-05-10T08:08:26.903339Z",
                               :versionId "4596"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:24.695355Z",
                               :lastUpdated "2021-05-10T08:08:24.695355Z",
                               :versionId "4595"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.971134Z",
                               :versionId "4592"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.971134Z",
                               :versionId "4591"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:22.495684Z",
                               :lastUpdated "2021-05-10T08:08:22.495684Z",
                               :versionId "4587"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:20.223531Z",
                               :lastUpdated "2021-05-10T08:08:20.223531Z",
                               :versionId "4585"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:08:19.581277Z",
                               :lastUpdated "2021-05-10T08:08:19.581277Z",
                               :versionId "4583"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:38.745569Z",
                               :lastUpdated "2021-05-10T08:03:38.745569Z",
                               :versionId "4565"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.934272Z",
                               :lastUpdated "2021-05-10T08:03:37.934272Z",
                               :versionId "4564"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.451145Z",
                               :versionId "4561"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.451145Z",
                               :versionId "4560"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:37.105125Z",
                               :lastUpdated "2021-05-10T08:03:37.105125Z",
                               :versionId "4556"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:34.803171Z",
                               :lastUpdated "2021-05-10T08:03:34.803171Z",
                               :versionId "4554"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T08:03:34.656029Z",
                               :lastUpdated "2021-05-10T08:03:34.656029Z",
                               :versionId "4552"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:24.485756Z",
                               :lastUpdated "2021-05-10T07:59:24.485756Z",
                               :versionId "4534"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:23.732057Z",
                               :lastUpdated "2021-05-10T07:59:23.732057Z",
                               :versionId "4533"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:23.151162Z",
                               :versionId "4530"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:23.151162Z",
                               :versionId "4529"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:22.745266Z",
                               :lastUpdated "2021-05-10T07:59:22.745266Z",
                               :versionId "4525"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:20.394992Z",
                               :lastUpdated "2021-05-10T07:59:20.394992Z",
                               :versionId "4523"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:20.234586Z",
                               :lastUpdated "2021-05-10T07:59:20.234586Z",
                               :versionId "4521"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:19.262910Z",
                               :lastUpdated "2021-05-10T07:59:19.553628Z",
                               :versionId "4518"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:59:19.262910Z",
                               :lastUpdated "2021-05-10T07:59:19.262910Z",
                               :versionId "4517"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:55.661802Z",
                               :lastUpdated "2021-05-10T07:36:55.661802Z",
                               :versionId "4503"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:54.741602Z",
                               :lastUpdated "2021-05-10T07:36:54.741602Z",
                               :versionId "4502"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:54.126504Z",
                               :versionId "4499"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:54.126504Z",
                               :versionId "4498"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:53.717387Z",
                               :lastUpdated "2021-05-10T07:36:53.717387Z",
                               :versionId "4494"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:51.362301Z",
                               :lastUpdated "2021-05-10T07:36:51.362301Z",
                               :versionId "4492"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:51.157586Z",
                               :lastUpdated "2021-05-10T07:36:51.157586Z",
                               :versionId "4490"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:49.829692Z",
                               :lastUpdated "2021-05-10T07:36:50.241233Z",
                               :versionId "4487"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:36:49.829692Z",
                               :lastUpdated "2021-05-10T07:36:49.829692Z",
                               :versionId "4486"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:44.026344Z",
                               :lastUpdated "2021-05-10T07:27:44.026344Z",
                               :versionId "4470"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:43.211472Z",
                               :lastUpdated "2021-05-10T07:27:43.211472Z",
                               :versionId "4469"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.597966Z",
                               :versionId "4466"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.597966Z",
                               :versionId "4465"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:42.183325Z",
                               :lastUpdated "2021-05-10T07:27:42.183325Z",
                               :versionId "4461"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:39.931100Z",
                               :lastUpdated "2021-05-10T07:27:39.931100Z",
                               :versionId "4459"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:39.722542Z",
                               :lastUpdated "2021-05-10T07:27:39.722542Z",
                               :versionId "4457"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:38.603198Z",
                               :lastUpdated "2021-05-10T07:27:39.016405Z",
                               :versionId "4454"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:27:38.603198Z",
                               :lastUpdated "2021-05-10T07:27:38.603198Z",
                               :versionId "4453"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:21.695761Z",
                               :lastUpdated "2021-05-10T07:26:21.695761Z",
                               :versionId "4439"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:20.777720Z",
                               :lastUpdated "2021-05-10T07:26:20.777720Z",
                               :versionId "4438"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:20.059302Z",
                               :versionId "4435"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:20.059302Z",
                               :versionId "4434"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:19.543911Z",
                               :lastUpdated "2021-05-10T07:26:19.543911Z",
                               :versionId "4430"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:17.399416Z",
                               :lastUpdated "2021-05-10T07:26:17.399416Z",
                               :versionId "4428"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:17.191999Z",
                               :lastUpdated "2021-05-10T07:26:17.191999Z",
                               :versionId "4426"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:15.966475Z",
                               :lastUpdated "2021-05-10T07:26:16.378909Z",
                               :versionId "4423"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:26:15.966475Z",
                               :lastUpdated "2021-05-10T07:26:15.966475Z",
                               :versionId "4422"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:26.863662Z",
                               :lastUpdated "2021-05-10T07:21:26.863662Z",
                               :versionId "4408"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:26.072990Z",
                               :lastUpdated "2021-05-10T07:21:26.072990Z",
                               :versionId "4407"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:25.248462Z",
                               :versionId "4404"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:25.248462Z",
                               :versionId "4403"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:24.839448Z",
                               :lastUpdated "2021-05-10T07:21:24.839448Z",
                               :versionId "4399"},
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:22.381962Z",
                               :lastUpdated "2021-05-10T07:21:22.381962Z",
                               :versionId "4397"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:22.197944Z",
                               :lastUpdated "2021-05-10T07:21:22.197944Z",
                               :versionId "4395"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "1970-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:20.951166Z",
                               :lastUpdated "2021-05-10T07:21:21.461132Z",
                               :versionId "4392"},
                        :name [{:text "Johnny"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-10T07:21:20.951166Z",
                               :lastUpdated "2021-05-10T07:21:20.951166Z",
                               :versionId "4391"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:54.017691Z",
                               :lastUpdated "2021-05-04T17:35:54.017691Z",
                               :versionId "4370"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.901077Z",
                               :lastUpdated "2021-05-04T17:35:53.901077Z",
                               :versionId "4369"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-03",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.784077Z",
                               :versionId "4366"},
                        :resourceType "Patient"}}
            {:request {:method "PUT", :url "Patient"},
             :resource {:birthDate "2021-01-02",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.784077Z",
                               :versionId "4365"},
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "2021-01-01",
                        :id "pt-1",
                        :meta {:createdAt "2021-05-04T17:35:53.704360Z",
                               :lastUpdated "2021-05-04T17:35:53.704360Z",
                               :versionId "4361"},
                        :resourceType "Patient"}}],
    :id "4826",
    :query-sql
      ["WITH history AS ((SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient\" WHERE id = ?) UNION (SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient_history\" WHERE id = ?)) SELECT * FROM history ORDER BY txid DESC LIMIT ?"
       "pt-1" "pt-1" 100],
    :resourceType "Bundle",
    :total 100,
    :type "history"},
 :status 200}
Match:
{:body {:resourceType "Bundle", :type "history"},
 :by sty/matcho,
 :status sty/ok?}
Patient vread test case
case
Passed: 7
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patient
Create a patient for test
ok
post
/Patient
Body:
{:birthDate "1980-10-10",
 :gender "male",
 :name [{:text "John"}],
 :resourceType "Patient"}
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
        :meta {:createdAt "2021-05-10T10:36:36.474691Z",
               :lastUpdated "2021-05-10T10:36:36.474691Z",
               :versionId "4828"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:id sty/string?,
        :meta {:lastUpdated sty/string?, :versionId sty/string?}},
 :by sty/matcho,
 :status sty/ok?}
get-patient-history
Get patient history
ok
get
strstr/Patient/get-instatebodyid/_history
Result:
{:body
   {:entry [{:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
                        :meta {:createdAt "2021-05-10T10:36:36.474691Z",
                               :lastUpdated "2021-05-10T10:36:36.474691Z",
                               :versionId "4828"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}],
    :id "4828",
    :query-sql
      ["WITH history AS ((SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient\" WHERE id = ?) UNION (SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient_history\" WHERE id = ?)) SELECT * FROM history ORDER BY txid DESC LIMIT ?"
       "e8ac1e27-a323-4b05-b6bd-5e72b178b15f"
       "e8ac1e27-a323-4b05-b6bd-5e72b178b15f" 100],
    :resourceType "Bundle",
    :total 1,
    :type "history"},
 :status 200}
Match:
{:body {:resourceType "Bundle", :type "history"},
 :by sty/matcho,
 :status sty/ok?}
get-patient-existing-version
Get particular version of the patient resource
ok
get
strstrstr/Patient/get-instatebodyid/_history/get-instatebodymetaversionId
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
        :meta {:createdAt "2021-05-10T10:36:36.474691Z",
               :lastUpdated "2021-05-10T10:36:36.474691Z",
               :versionId "4828"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:body {:meta {:versionId (get-in sty/state
                                  [:create-patient :body :meta :versionId])},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
read-non-existing-version-of-non-existing-resource-not-successful
Try to read non-existing version of non-existing patient resource
ok
get
/Patient/pt-3/_history/1
Result:
{:body {:id "not-found",
        :issue [{:code "not-found",
                 :diagnostics "Resource Patient/pt-3 (version 1) not found",
                 :severity "fatal"}],
        :resourceType "OperationOutcome",
        :text {:div "Resource Patient/pt-3 (version 1) not found",
               :status "generated"}},
 :status 404}
Match:
{:by sty/matcho, :status 404}
delete-created-patient
Delete created patient
ok
delete
str/Patient/get-instatebodyid
Result:
{:body {:birthDate "1980-10-10",
        :gender "male",
        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
        :meta {:createdAt "2021-05-10T10:36:36.688288Z",
               :lastUpdated "2021-05-10T10:36:36.688288Z",
               :versionId "4829"},
        :name [{:text "John"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
get-history-for-deleted-patient
Get history for just deleted patient
ok
get
strstr/Patient/get-instatebodyid/_history
Result:
{:body
   {:entry [{:request {:method "DELETE", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
                        :meta {:createdAt "2021-05-10T10:36:36.688288Z",
                               :lastUpdated "2021-05-10T10:36:36.688288Z",
                               :versionId "4829"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}
            {:request {:method "POST", :url "Patient"},
             :resource {:birthDate "1980-10-10",
                        :gender "male",
                        :id "e8ac1e27-a323-4b05-b6bd-5e72b178b15f",
                        :meta {:createdAt "2021-05-10T10:36:36.474691Z",
                               :lastUpdated "2021-05-10T10:36:36.474691Z",
                               :versionId "4828"},
                        :name [{:text "John"}],
                        :resourceType "Patient"}}],
    :id "4829",
    :query-sql
      ["WITH history AS ((SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient\" WHERE id = ?) UNION (SELECT id, txid, ts, resource_type, status::text AS status, resource, cts FROM \"patient_history\" WHERE id = ?)) SELECT * FROM history ORDER BY txid DESC LIMIT ?"
       "e8ac1e27-a323-4b05-b6bd-5e72b178b15f"
       "e8ac1e27-a323-4b05-b6bd-5e72b178b15f" 100],
    :resourceType "Bundle",
    :total 2,
    :type "history"},
 :status 200}
Match:
{:body {:entry [{:request {:method "DELETE"},
                 :resource {:resourceType "Patient"}}]},
 :by sty/matcho,
 :status 200}
Patient patch test case
case
Passed: 4
Failed: 0
Errors: 0
clear-patients
Clear all patients
ok
post
/$sql
Body:
"TRUNCATE patient"
Result:
{:body {:message "No results where returned by statement"}, :status 200}
Match:
{:by sty/matcho, :status 200}
create-patient
Create a patient for test
ok
post
/Patient
Body:
{:active true,
 :birthDate "1980-10-10",
 :gender "male",
 :name [{:family "Doe", :given ["John"], :use :official}
        {:family "Dowson", :given ["Johnny"], :use :home}],
 :resourceType "Patient"}
Result:
{:body {:active true,
        :birthDate "1980-10-10",
        :gender "male",
        :id "9368207f-959d-48a8-9714-6fa8d687df11",
        :meta {:createdAt "2021-05-10T10:36:36.861278Z",
               :lastUpdated "2021-05-10T10:36:36.861278Z",
               :versionId "4830"},
        :name [{:family "Doe", :given ["John"], :use "official"}
               {:family "Dowson", :given ["Johnny"], :use "home"}],
        :resourceType "Patient"},
 :status 201}
Match:
{:body {:id sty/string?,
        :meta {:lastUpdated sty/string?, :versionId sty/string?},
        :resourceType "Patient"},
 :by sty/matcho,
 :status sty/ok?}
patch-merge
Merge patch created patient
ok
patch
strstr/Patient/get-instatebodyid?_method=merge-patch
Body:
{:active false, :gender "female"}
Result:
{:body {:active false,
        :birthDate "1980-10-10",
        :gender "female",
        :id "9368207f-959d-48a8-9714-6fa8d687df11",
        :meta {:createdAt "2021-05-10T10:36:36.861278Z",
               :lastUpdated "2021-05-10T10:36:36.918548Z",
               :versionId "4831"},
        :name [{:family "Doe", :given ["John"], :use "official"}
               {:family "Dowson", :given ["Johnny"], :use "home"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}
patch-JSON
Advances JSON patch
ok
patch
str/Patient/get-instatebodyid
Body:
[{:op "add", :path "/name/0/given/1", :value "Pavel"}
 {:op "replace", :path "/name/0/given/0", :value "Nikolai"}
 {:op "remove", :path "/name/1"} {:op "replace", :path "/active", :value true}]
Result:
{:body {:active true,
        :birthDate "1980-10-10",
        :gender "female",
        :id "9368207f-959d-48a8-9714-6fa8d687df11",
        :meta {:createdAt "2021-05-10T10:36:36.861278Z",
               :lastUpdated "2021-05-10T10:36:36.974886Z",
               :versionId "4832"},
        :name [{:family "Doe", :given ["Nikolai" "Pavel"], :use "official"}],
        :resourceType "Patient"},
 :status 200}
Match:
{:by sty/matcho, :status sty/ok?}