PACIO Advance Directive Interoperability Implementation Guide
0.0.1 - STU1

PACIO Advance Directive Interoperability Implementation Guide - Local Development build (v0.0.1). See the Directory of published versions

CapabilityStatement: PADI CapabilityStatement

Raw OpenAPI-Swagger Definition file | Download

PADI CapabilityStatement

  • Implementation Guide Version: 0.0.1
  • FHIR Version: 4.0.1
  • Supported formats: xml, json
  • Published: 2021-05-13
  • Published by: HL7 Patient Empowerment Working Group (PE WG)

This Section describes the expected capabilities of the PACIO Advance Directive Interoperability (ADI) Server actor which is responsible for providing responses to the queries submitted by the ADI Requestors.

There are two primary vehicles in which Advance Directive Information can be conveyed: DocumentReference and Composition. Through a DocumentReference, the ADI may be encoded inside directly as content data or referred to through a content reference (pointing to the ADI included in a resource like Binary). Through a Composition, the complete document may be retrieved through a $document operation or its referred to entries retrieved directly. The resources referred to by the composition resource include Observation, Organization, RelatedPerson, Consent, List, and Provenance.

[TODO] Additional guidance on general use

FHIR RESTful Capabilities

The ADI Server SHALL:

  1. Support all profiles defined in this Implementation Guide.
  2. Implement the RESTful behavior according to the FHIR specification.
  3. Return the following response classes:
    • (Status 400): invalid parameter
    • (Status 401/4xx): unauthorized request
    • (Status 403): insufficient scope
    • (Status 404): unknown resource
    • (Status 410): deleted resource.
  4. Support json source formats for all ADI interactions.
  5. Support the searchParameters on each profile individually and in combination.

The ADI Server SHOULD:

  1. Support xml source formats for all ADI interactions.

Security:

  1. See the Guidance section for requirements and recommendations.
  2. A server SHALL reject any unauthorized requests by returning an 'HTTP 401' unauthorized response code.

RESTful Capabilities by Resource/Profile:

Summary of Search Criteria

Resource TypeSupported ProfilesSupported SearchesSupported _includesSupported _revincludesSupported Operations
CompositionPADI-Header, PADI-PACPComposition _id, attester, author, category, confidentiality, context, date, encounter, entry, identifier, patient, period, related-id, related-ref, section, status, subject, title, type
ConsentPADI-HealthcareAgentAuthority, PADI-ConsentForHealthcareAgent _id, action, actor, category, consentor, data, date, identifier, organization, patient, period, purpose, scope, security-label, source-reference, status
DocumentReferencePADI-DocumentReference _id, authenticator, author, category, contenttype, custodian, date, description, encounter, event, facility, format, identifier, language, location, patient, period, related, relatesto, relation, relationship, security-label, setting, status, subject, type
GoalPADI-PersonalHealthGoal _id, achievement-status, category, identifier, lifecycle-status, patient, start-date, subject, target-date
ListPADI-PersonalPrioritiesOrganizer _id, code, date, empty-reason, encounter, identifier, item, notes, patient, source, status, subject, title
ObservationPADI-PMOLSTObservation, PADI-PersonalInterventionPreference, PADI-OrganDonationObservation, PADI-AutopsyObservation, PADI-CareExperiencePreference _id, based-on, category, code, code-value-concept, code-value-date, code-value-quantity, code-value-string, combo-code, combo-code-value-concept, combo-code-value-quantity, combo-data-absent-reason, combo-value-concept, combo-value-quantity, component-code, component-code-value-concept, component-code-value-quantity, component-data-absent-reason, component-value-concept, component-value-quantity, data-absent-reason, date, derived-from, device, encounter, focus, has-member, identifier, method, part-of, patient, performer, specimen, status, subject, value-concept, value-date, value-quantity, value-string
Organization _id, active, address, address-city, address-country, address-postalcode, address-state, address-use, endpoint, identifier, name, partof, phonetic, type
Patientus-core-patient _id, active, address, address-city, address-country, address-postalcode, address-state, address-use, birthdate, death-date, deceased, email, family, gender, general-practitioner, given, identifier, language, link, name, organization, phone, phonetic, telecom, race, ethnicity
ProvenancePADI-Provenance _id, agent, agent-role, agent-type, entity, location, patient, recorded, signature-type, target, when
RelatedPersonPADI-HealthcareAgent, PADI-Guardian _id, active, address, address-city, address-country, address-postalcode, address-state, address-use, birthdate, email, gender, identifier, name, patient, phone, phonetic, relationship, telecom

Composition

Conformance Expectation: SHALL

Supported Profiles: PADI-Header, PADI-PACPComposition

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Composition resource using:
    GET [base]/Composition/[id]

  • A Server SHOULD be capable of returning a Composition resource using:
    GET [base]/Composition/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Composition?_id=[id]
SHOULDattester reference GET [base]/Composition?attester=[attester]
SHOULDauthor reference GET [base]/Composition?author=[author]
SHALLcategory token GET [base]/Composition?category=[system]|[code]
MAYconfidentiality token GET [base]/Composition?confidentiality=[system]|[code]
MAYcontext token GET [base]/Composition?context=[system]|[code]
SHALLdate date GET [base]/Composition?date=[date]
MAYencounter reference GET [base]/Composition?encounter=[encounter]
MAYentry reference GET [base]/Composition?entry=[entry]
SHALLidentifier token GET [base]/Composition?identifier=[system]|[code]
SHALLpatient reference GET [base]/Composition?patient=[patient]
SHALLperiod date GET [base]/Composition?period=[period]
MAYrelated-id token GET [base]/Composition?related-id=[system]|[code]
MAYrelated-ref reference GET [base]/Composition?related-ref=[related-ref]
MAYsection token GET [base]/Composition?section=[system]|[code]
MAYstatus token GET [base]/Composition?status=[status]
MAYsubject reference GET [base]/Composition?subject=[subject]
MAYtitle string GET [base]/Composition?title=[title]
SHALLtype token GET [base]/Composition?type=[system]|[code]

Conformance Expectation: SHALL

Supported Profiles: PADI-HealthcareAgentAuthority, PADI-ConsentForHealthcareAgent

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Consent resource using:
    GET [base]/Consent/[id]

  • A Server SHOULD be capable of returning a Consent resource using:
    GET [base]/Consent/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Consent?_id=[id]
SHOULDaction token GET [base]/Consent?action=[system]|[code]
SHALLactor reference GET [base]/Consent?actor=[actor]
SHALLcategory token GET [base]/Consent?category=[system]|[code]
SHALLconsentor reference GET [base]/Consent?consentor=[consentor]
MAYdata reference GET [base]/Consent?data=[data]
MAYdate date GET [base]/Consent?date=[date]
SHOULDidentifier token GET [base]/Consent?identifier=[system]|[code]
MAYorganization reference GET [base]/Consent?organization=[organization]
SHALLpatient reference GET [base]/Consent?patient=[patient]
SHALLperiod date GET [base]/Consent?period=[period]
SHALLpurpose token GET [base]/Consent?purpose=[system]|[code]
SHOULDscope token GET [base]/Consent?scope=[system]|[code]
MAYsecurity-label token GET [base]/Consent?security-label=[system]|[code]
MAYsource-reference reference GET [base]/Consent?source-reference=[source-reference]
MAYstatus token GET [base]/Consent?status=[status]

DocumentReference

Conformance Expectation: SHALL

Supported Profiles: PADI-DocumentReference

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a DocumentReference resource using:
    GET [base]/DocumentReference/[id]

  • A Server SHOULD be capable of returning a DocumentReference resource using:
    GET [base]/DocumentReference/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/DocumentReference?_id=[id]
MAYauthenticator reference GET [base]/DocumentReference?authenticator=[authenticator]
MAYauthor reference GET [base]/DocumentReference?author=[author]
SHOULDcategory token GET [base]/DocumentReference?category=[system]|[code]
SHOULDcontenttype token GET [base]/DocumentReference?contenttype=[system]|[code]
SHALLcustodian reference GET [base]/DocumentReference?custodian=[custodian]
SHALLdate date GET [base]/DocumentReference?date=[date]
MAYdescription string GET [base]/DocumentReference?description=[description]
MAYencounter reference GET [base]/DocumentReference?encounter=[encounter]
MAYevent token GET [base]/DocumentReference?event=[system]|[code]
MAYfacility token GET [base]/DocumentReference?facility=[system]|[code]
SHOULDformat token GET [base]/DocumentReference?format=[system]|[code]
SHALLidentifier token GET [base]/DocumentReference?identifier=[system]|[code]
MAYlanguage token GET [base]/DocumentReference?language=[system]|[code]
MAYlocation uri GET [base]/DocumentReference?location=[uri]
SHALLpatient reference GET [base]/DocumentReference?patient=[patient]
SHALLperiod date GET [base]/DocumentReference?period=[period]
MAYrelated reference GET [base]/DocumentReference?related=[related]
MAYrelatesto reference GET [base]/DocumentReference?relatesto=[relatesto]
MAYrelation token GET [base]/DocumentReference?relation=[system]|[code]
MAYrelationship composite GET [base]/DocumentReference?relationship=[code]&[value]
MAYsecurity-label token GET [base]/DocumentReference?security-label=[system]|[code]
MAYsetting token GET [base]/DocumentReference?setting=[system]|[code]
SHALLstatus token GET [base]/DocumentReference?status=[status]
MAYsubject reference GET [base]/DocumentReference?subject=[subject]
SHALLtype token GET [base]/DocumentReference?type=[system]|[code]

Goal

Conformance Expectation: SHALL

Supported Profiles: PADI-PersonalHealthGoal

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Goal resource using:
    GET [base]/Goal/[id]

  • A Server SHOULD be capable of returning a Goal resource using:
    GET [base]/Goal/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Goal?_id=[id]
MAYachievement-status token GET [base]/Goal?achievement-status=[system]|[code]
SHALLcategory token GET [base]/Goal?category=[system]|[code]
SHOULDidentifier token GET [base]/Goal?identifier=[system]|[code]
SHOULDlifecycle-status token GET [base]/Goal?lifecycle-status=[system]|[code]
SHALLpatient reference GET [base]/Goal?patient=[patient]
MAYstart-date date GET [base]/Goal?start-date=[start-date]
MAYsubject reference GET [base]/Goal?subject=[subject]
MAYtarget-date date GET [base]/Goal?target-date=[target-date]

List

Conformance Expectation: SHALL

Supported Profiles: PADI-PersonalPrioritiesOrganizer

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a List resource using:
    GET [base]/List/[id]

  • A Server SHOULD be capable of returning a List resource using:
    GET [base]/List/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/List?_id=[id]
SHALLcode token GET [base]/List?code=[system]|[code]
MAYdate date GET [base]/List?date=[date]
MAYempty-reason token GET [base]/List?empty-reason=[system]|[code]
MAYencounter reference GET [base]/List?encounter=[encounter]
SHOULDidentifier token GET [base]/List?identifier=[system]|[code]
MAYitem reference GET [base]/List?item=[item]
MAYnotes string GET [base]/List?notes=[notes]
SHALLpatient reference GET [base]/List?patient=[patient]
MAYsource reference GET [base]/List?source=[source]
MAYstatus token GET [base]/List?status=[status]
MAYsubject reference GET [base]/List?subject=[subject]
MAYtitle string GET [base]/List?title=[title]

Observation

Conformance Expectation: SHALL

Supported Profiles: PADI-PMOLSTObservation, PADI-PersonalInterventionPreference, PADI-OrganDonationObservation, PADI-AutopsyObservation, PADI-CareExperiencePreference

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Observation resource using:
    GET [base]/Observation/[id]

  • A Server SHOULD be capable of returning a Observation resource using:
    GET [base]/Observation/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Observation?_id=[id]
MAYbased-on reference GET [base]/Observation?based-on=[based-on]
MAYcategory token GET [base]/Observation?category=[system]|[code]
SHALLcode token GET [base]/Observation?code=[system]|[code]
MAYcode-value-concept composite GET [base]/Observation?code-value-concept=[code]&[value]
MAYcode-value-date composite GET [base]/Observation?code-value-date=[code]&[value]
MAYcode-value-quantity composite GET [base]/Observation?code-value-quantity=[code]&[value]
MAYcode-value-string composite GET [base]/Observation?code-value-string=[code]&[value]
MAYcombo-code token GET [base]/Observation?combo-code=[system]|[code]
MAYcombo-code-value-concept composite GET [base]/Observation?combo-code-value-concept=[code]&[value]
MAYcombo-code-value-quantity composite GET [base]/Observation?combo-code-value-quantity=[code]&[value]
MAYcombo-data-absent-reason token GET [base]/Observation?combo-data-absent-reason=[system]|[code]
MAYcombo-value-concept token GET [base]/Observation?combo-value-concept=[system]|[code]
MAYcombo-value-quantity quantity GET [base]/Observation?combo-value-quantity=[combo-value-quantity]
MAYcomponent-code token GET [base]/Observation?component-code=[system]|[code]
MAYcomponent-code-value-concept composite GET [base]/Observation?component-code-value-concept=[code]&[value]
MAYcomponent-code-value-quantity composite GET [base]/Observation?component-code-value-quantity=[code]&[value]
MAYcomponent-data-absent-reason token GET [base]/Observation?component-data-absent-reason=[system]|[code]
MAYcomponent-value-concept token GET [base]/Observation?component-value-concept=[system]|[code]
MAYcomponent-value-quantity quantity GET [base]/Observation?component-value-quantity=[component-value-quantity]
MAYdata-absent-reason token GET [base]/Observation?data-absent-reason=[system]|[code]
MAYdate date GET [base]/Observation?date=[date]
MAYderived-from reference GET [base]/Observation?derived-from=[derived-from]
MAYdevice reference GET [base]/Observation?device=[device]
MAYencounter reference GET [base]/Observation?encounter=[encounter]
MAYfocus reference GET [base]/Observation?focus=[focus]
MAYhas-member reference GET [base]/Observation?has-member=[has-member]
SHOULDidentifier token GET [base]/Observation?identifier=[system]|[code]
MAYmethod token GET [base]/Observation?method=[system]|[code]
MAYpart-of reference GET [base]/Observation?part-of=[part-of]
SHALLpatient reference GET [base]/Observation?patient=[patient]
MAYperformer reference GET [base]/Observation?performer=[performer]
MAYspecimen reference GET [base]/Observation?specimen=[specimen]
MAYstatus token GET [base]/Observation?status=[status]
MAYsubject reference GET [base]/Observation?subject=[subject]
MAYvalue-concept token GET [base]/Observation?value-concept=[system]|[code]
MAYvalue-date date GET [base]/Observation?value-date=[value-date]
MAYvalue-quantity quantity GET [base]/Observation?value-quantity=[value-quantity]
MAYvalue-string string GET [base]/Observation?value-string=[value-string]

Organization

Conformance Expectation: SHALL

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Organization resource using:
    GET [base]/Organization/[id]

  • A Server SHOULD be capable of returning a Organization resource using:
    GET [base]/Organization/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Organization?_id=[id]
MAYactive token GET [base]/Organization?active=[system]|[code]
MAYaddress string GET [base]/Organization?address=[address]
MAYaddress-city string GET [base]/Organization?address-city=[address-city]
MAYaddress-country string GET [base]/Organization?address-country=[address-country]
MAYaddress-postalcode string GET [base]/Organization?address-postalcode=[address-postalcode]
MAYaddress-state string GET [base]/Organization?address-state=[address-state]
MAYaddress-use token GET [base]/Organization?address-use=[system]|[code]
MAYendpoint reference GET [base]/Organization?endpoint=[endpoint]
MAYidentifier token GET [base]/Organization?identifier=[system]|[code]
MAYname string GET [base]/Organization?name=[name]
MAYpartof reference GET [base]/Organization?partof=[partof]
MAYphonetic string GET [base]/Organization?phonetic=[phonetic]
MAYtype token GET [base]/Organization?type=[system]|[code]

Patient

Conformance Expectation: SHALL

Supported Profiles: us-core-patient

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Patient resource using:
    GET [base]/Patient/[id]

  • A Server SHOULD be capable of returning a Patient resource using:
    GET [base]/Patient/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Patient?_id=[id]
SHOULDactive token GET [base]/Patient?active=[system]|[code]
MAYaddress string GET [base]/Patient?address=[address]
MAYaddress-city string GET [base]/Patient?address-city=[address-city]
MAYaddress-country string GET [base]/Patient?address-country=[address-country]
MAYaddress-postalcode string GET [base]/Patient?address-postalcode=[address-postalcode]
MAYaddress-state string GET [base]/Patient?address-state=[address-state]
MAYaddress-use token GET [base]/Patient?address-use=[system]|[code]
SHALLbirthdate date GET [base]/Patient?birthdate=[birthdate]
MAYdeath-date date GET [base]/Patient?death-date=[death-date]
MAYdeceased token GET [base]/Patient?deceased=[system]|[code]
SHOULDemail token GET [base]/Patient?email=[system]|[code]
SHALLfamily string GET [base]/Patient?family=[family]
SHALLgender token GET [base]/Patient?gender=[system]|[code]
MAYgeneral-practitioner reference GET [base]/Patient?general-practitioner=[general-practitioner]
SHALLgiven string GET [base]/Patient?given=[given]
SHALLidentifier token GET [base]/Patient?identifier=[system]|[code]
MAYlanguage token GET [base]/Patient?language=[system]|[code]
MAYlink reference GET [base]/Patient?link=[link]
SHALLname string GET [base]/Patient?name=[name]
MAYorganization reference GET [base]/Patient?organization=[organization]
SHOULDphone token GET [base]/Patient?phone=[system]|[code]
MAYphonetic string GET [base]/Patient?phonetic=[phonetic]
SHOULDtelecom token GET [base]/Patient?telecom=[system]|[code]
MAYrace token GET [base]/Patient?race=[system]|[code]
MAYethnicity token GET [base]/Patient?ethnicity=[system]|[code]

Provenance

Conformance Expectation: SHALL

Supported Profiles: PADI-Provenance

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a Provenance resource using:
    GET [base]/Provenance/[id]

  • A Server SHOULD be capable of returning a Provenance resource using:
    GET [base]/Provenance/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/Provenance?_id=[id]
SHOULDagent reference GET [base]/Provenance?agent=[agent]
MAYagent-role token GET [base]/Provenance?agent-role=[system]|[code]
MAYagent-type token GET [base]/Provenance?agent-type=[system]|[code]
MAYentity reference GET [base]/Provenance?entity=[entity]
MAYlocation reference GET [base]/Provenance?location=[location]
MAYpatient reference GET [base]/Provenance?patient=[patient]
MAYrecorded date GET [base]/Provenance?recorded=[recorded]
MAYsignature-type token GET [base]/Provenance?signature-type=[system]|[code]
SHOULDtarget reference GET [base]/Provenance?target=[target]
MAYwhen date GET [base]/Provenance?when=[when]

RelatedPerson

Conformance Expectation: SHALL

Supported Profiles: PADI-HealthcareAgent, PADI-Guardian

Reference Policy: resolves

Profile Interaction Summary:

  • SHALL support create, search-type, read, update.
  • SHOULD support vread, history-instance.

Fetch and Search Criteria:

  • A Server SHALL be capable of returning a RelatedPerson resource using:
    GET [base]/RelatedPerson/[id]

  • A Server SHOULD be capable of returning a RelatedPerson resource using:
    GET [base]/RelatedPerson/[id]/_history/vid

Search Parameter Summary:

ConformanceParameterTypeExample
SHALL_id token GET [base]/RelatedPerson?_id=[id]
MAYactive token GET [base]/RelatedPerson?active=[system]|[code]
MAYaddress string GET [base]/RelatedPerson?address=[address]
MAYaddress-city string GET [base]/RelatedPerson?address-city=[address-city]
MAYaddress-country string GET [base]/RelatedPerson?address-country=[address-country]
MAYaddress-postalcode string GET [base]/RelatedPerson?address-postalcode=[address-postalcode]
MAYaddress-state string GET [base]/RelatedPerson?address-state=[address-state]
MAYaddress-use token GET [base]/RelatedPerson?address-use=[system]|[code]
SHOULDbirthdate date GET [base]/RelatedPerson?birthdate=[birthdate]
SHOULDemail token GET [base]/RelatedPerson?email=[system]|[code]
SHOULDgender token GET [base]/RelatedPerson?gender=[system]|[code]
SHOULDidentifier token GET [base]/RelatedPerson?identifier=[system]|[code]
SHOULDname string GET [base]/RelatedPerson?name=[name]
SHALLpatient reference GET [base]/RelatedPerson?patient=[patient]
SHOULDphone token GET [base]/RelatedPerson?phone=[system]|[code]
MAYphonetic string GET [base]/RelatedPerson?phonetic=[phonetic]
SHALLrelationship token GET [base]/RelatedPerson?relationship=[system]|[code]
SHOULDtelecom token GET [base]/RelatedPerson?telecom=[system]|[code]