Mydex Template System
Introduction
The purpose of the Mydex Template System is to make it easier for Subscribers, when integrating the PDX API into their own applications, to render and interact with multiple elements of a member’s Personal Data Store via logical groupings of attributes that relate to specific aspects of a member’s life.
This is a core part of Mydex’s mission to enable two way interoperability between any applications connected to the Personal Data eXchange.
This documentation is focused on explaining the principles and approach. The first example we are making available via the Mydex PDX API is our Modular About Me Feature Block.
There is a dedicated document covering the implementation of OAuth 2.0 for managing access to these dedicated routes which replaces the use of API Keys. Please review this document as well, as it will require changes at your end to support the new approach.
Making a request
Requests are made to the PDX-API which interacts directly with individual PDSs.
All live requests are made to: https://api.mydex.org/api/pds/.. followed by the path for the specific template, module and subsection being requested. In order to understand how the path is created, we first need to understand the language and hierarchy of the “templates” system.
For requests in the sandbox environment, please replace the above path with https://sbx-api.mydex.org/api/pds…
Templates hierarchy
-
templates refers to the suite of templates
e.g. ‘mam’, which is made up of smaller template groupings called
modules.
-
module refers to a specific grouping of template
data e.g. ‘this-is-me’.
- subsection refers to an individual page of template data e.g. ‘personal-details’
Requesting indexes / menu items
For each level of the hierarchy, you can make a request for an index / list of menu items for the next level in the hierarchy. Each index can be reached by requesting that level with the ‘/index’ suffix.
For example, if you want an index / list of modules for a given “templates”, you make a request to that “templates” /index endpoint and an indexed list of urls for the modules that belong to that “templates” will be returned (The response data in these instances can be used to build menus in your UI). Click on the following heading to view an example:
Example module index request
https://api.mydex.org/api/pds/mam/index
…returns the following response, a list of modules containing a heading and url link for each one:
{
"this-is-me": {
"heading": "This Is Me",
"url": "https://api.mydex.org/api/pds/mam/this-is-me"
},
"key-info": {
"heading": "Key Information",
"url": "https://api.mydex.org/api/pds/mam/key-info"
},
"health-wellbeing": {
"heading": "Health & Wellbeing",
"url": "https://api.mydex.org/api/pds/mam/health-wellbeing"
},
"my-support": {
"heading": "My Support",
"url": "https://api.mydex.org/api/pds/mam/my-support"
},
"my-supporting-roles": {
"heading": "My Supporting Roles",
"url": "https://api.mydex.org/api/pds/mam/my-supporting-roles"
},
"planning-ahead": {
"heading": "Planning Ahead",
"url": "https://api.mydex.org/api/pds/mam/planning-ahead"
}
}
In a similar vein, when you request a specific “module” /index endpoint, you will be returned a list of subsection objects belonging to the module, each containing a heading and url link. Click on the following heading to view an example:
Example subsection index request
https://api.mydex.org/api/pds/mam/this-is-me/index
…returns the following response:
{
"personal-details": {
"heading": "Personal Details",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/personal-details"
},
"contact-details": {
"heading": "Contact Details",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/contact-details"
},
"current-support": {
"heading": "Current",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/current-support"
},
"personal-qualities": {
"heading": "Personal Qualities",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/personal-qualities"
},
"my-people": {
"heading": "My People",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-people"
},
"my-pastimes": {
"heading": "Pastimes",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-pastimes"
},
"my-home": {
"heading": "Home",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-home"
},
"my-routines": {
"heading": "Routines",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-routines"
},
"reminiscence-gallery": {
"heading": "Reminiscence Gallery",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/reminiscence-gallery"
},
"money-matters": {
"heading": "Money Matters",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/money-matters"
}
}
The urls for each subsection can be used to request the template data for that subsection.
Building the request for a subsection
The URL for each subsection is always the same. Retrieving, adding or updating data via those endpoints depends on the HTTP Method used (e.g. GET or PUT).
Please click below to find out how to build your request with the correct url and query parameters:
Getting the correct url
First you need to know what subsection you want to request (and also which module and templates system this subsection belongs to). You can see a list of available subsections here: Mydex Modular About Me (MAM) Routes v1 The request url format is as follows:
https://api.mydex.org/api/pds/{templates}/{module}/{subsection}
The placeholders are to be replaced by the values of the templates → module → subsection you are requesting.
An example request is: https://api.mydex.org/api/pds/mam/this-is-me/personal-details
Authenticating to the PDX API and the member's PDS
Connection details (sent as query parameters)
If you don’t already have a Dedicated Connection on the Mydex Safe, Secure Cloud Personal Data eXchange (PDX API), please refer to requesting a dedicated connection.
You will also need to have stepped a member through First Time Connection in order for them to consent to connecting their PDS to your Dedicated Connection. Please refer to the documentation on how to do this.
In order to access the template-subsection data along with all the inputs for a specific PDS, you need to include your connection details in the request. The following query parameters must be included:
- {{uid}} → the unique numerical Member UID for this PDS
- {{con_id}} → the connection id
Member Connection Key (sent as a header)
Unlike traditional dataset routes on the PDX API, the member connection key must be sent as a header in the request (instead of as a query parameter called ‘key’ ), with the name ‘Connection-Token’ and the member connection key as the value.
OAuth2.0 access token (sent as a header)
You must also send an OAuth2.0 access token as the
‘Authorization’ Bearer token. For Template and
Feature Block routes, this token must be scoped to mydex:pdx
as well as the scope that matches the method and endpoint, for example:
get:/api/pds/mam/this-is-me/personal-details
For more information on OAuth2.0 access tokens and scopes, please refer to this section of the PDX API documentation.
Complete URL structure
The full url will look like the following (with placeholders replaced for real values):
https://api.mydex.org/api/pds/{templates}/{module}/{subsection}?uid={{uid}}&con_id={{con_id}}
The header Connection-Token is not shown here because it forms part of the HTTP headers and not the URL - likewise for the Authorization Bearer token header.
Handling requests
Requests are managed via GET and PUT requests along with "Nested component" feature management. Please click on the tabs below for specific details on each.
When you request a subsection, you will get a JSON object response that contains data about how that subsection is structured, along with the input values for each input field.
The response data from a GET request can be used to build your UI by using the labels and input values to build a form and populate its inputs.
For more examples of what you get in the response of a GET request, please see the section containing response examples.
Anatomy of the response
The JSON object contains the following elements:
-
The heading of the Module
-
A list of menu items - each item contains a url
link for each of the subsections within the same module indexed by its
relative heading
-
breadcrumbs - each item contains a heading and a
url link for each of the subsections within the same module
- The main content for the subsection requested
It looks a bit like this:
{
"heading": "This Is Me",
"menu_items": {},
"breadcrumbs": {},
"main_content": {}
}
Anatomy of the main_content
-
The heading of this subsection
- An array of input fields
It looks a bit like this:
{
"heading": "Personal Details",
"input_fields": {}
}
Anatomy of the input fields / question-answers
Each element in the input fields array represents a question/answer pair and is structured as follows:
-
Each is indexed by the question_id. This is
required when making a request to update the input values.
-
The type value tells us how the question should
function in the UI.
-
The label is the label that should appear in the
UI. The way the question is phrased. There are options here for a
person-centered value "citizen" or a more formal wording that might
be used in the context of a service provider app "service-provider".
-
The validation_rules is an array containing
validation codes which can be used to determine how the answer/value
submitted in a PUT should be formatted.
- The input - the answer/value that is stored in the person’s PDS.
It looks something like:
"also_known_as": {
"type": "input-text",
"label": {
"citizen": "How else am I known",
"service_provider": "Also known as (AKA)"
},
"validation_rules": [
"is_text"
],
"input": "Bobbi"
}
Please click on the headings below for more detail about each element of a single input field:
question_id
Each element in the input_fields array is indexed by its own unique question_id. The question_id is in the form of a ‘machine name’, such as more_about_my_goals. This id should be stored so that it can be used upon submitting the form. You can see more about PUT requests in the relevant section (please navigate using the tabs above). Each citizen input must be indexed by the relevant question_id in the PUT request for submitting the form.
type
The type element contains a code that is indicative of the type of UI element expected, and in some cases it may also describe something about the functionality associated with the element.
See the table of existing codes and their meaning here: Type codes
label
Each question contains a label which is formed of two elements. The label with name “citizen” is worded in a suitably person-centered way, and the label with name “service_provider” is more suitable if being used in the context of an organisation.
validation_rules
The validation rules element contains one or more validation codes that describe how an answer should be submitted in a PUT request. See the table linked here for a list of validation codes and their meaning: Validation rules
input
The answers stored in a person’s PDS are mapped to the question_id. They appear here indexed by input.
Miscellaneous features
There are some features of a single input field entity that are not present every time. These are outlined below:
“options”
This is included in question types such as input-select and check-buttons-multi - anywhere where the input value must come from a set of predefined values. Type input-select requires a citizen to select one value from a list of options, whereas check-buttons-multi requires a citizen to select one or more values from a list of values. The options array contains a list of options that can be selected from - in the case of input-select, one value is submitted, and in the case of check-buttons-multi an array of options is submitted.
Nested forms
Nested forms are included where a question is of a type consistent with being a nested component. For more about nested components, see the section on nested components by clicking on the relevant tab above.
Each time one of these types of questions appears, it will include a form for managing the relevant records via their own routes. For example “my-health-conditions” will come with a form “add_health_condition”, “gallery_uploader” will come with a form “add_image” and so on.
It will look something like this:
"add_image": {
"file": {
"type": "image",
"label": {
"citizen": "File",
"service-provider": "File"
},
"validation_rules": [
"base64_encoded",
"max_10_mb"
]
},
"file_name": {
"type": "input-text",
"label": {
"citizen": "File name",
"service-provider": "File name"
},
"validation_rules": [
"is_text"
]
},
"description": {
"type": "input-text",
"label": {
"citizen": "Description",
"service-provider": "Description"
},
"validation_rules": [
"is_text"
]
}
}
“required=true”
You may see this element in some of the nested forms. This means that the relevant PDS record must have a value for this field. In other words, when adding or updating a nested component record:
-
On a POST request, a value for this field must be present
- On a PUT request, the value must not be removed, it can only be updated or stay the same.
When updating the input field data for a given subsection, you must include the data you want to update in the body of the request. At its most basic, the body is formed of an array of values indexed by the ‘question_id’ that each input value relates to. For example:
{
"what_do_i_like_socially_environmentally" : ["Big groups"],
"positive_qualities" : "happy",
"challenging_about_me" : "impatient",
"good_day_looks_like" : "Seeing family and friends",
"bad_day_looks_like" : "having nothing to do",
"area_of_my_goals" : ["Healthy eating", "Relaxation"],
"like_to_get_back_to" : "studying",
"achieve_in_future" : "visit my daughter in spain",
"more_about_my_goals" : "I would like to get better at spanish so that I can understand my grandchildren better"
}
The question_ids that you can see as indexes in that example match the question_ids you will get in the GET response, as described in the section on GET.
The validation rule in the form data tells us how an answer should be formatted. See the following section on validation rules for more information.
Validation rules
The table linked here in the Appendix describes the validation rules mapped to their codes. You will see these codes in the input fields within a subsection templates data structure.
“Nested components” refers to any type of question/answer where the answer is linked to more complex data. For example a “my-people” type question requires people to be submitted as the answer. Continuing this example, people exist as whole records in a person’s PDS. In order to link a person as an answer to a question, we write the id (or ids) of that person (or people) as the answer.
This approach applies to the following question types:
-
my-people, the answer is linked to people records
-
my-contacts, the answer is linked to contact records
-
my-health-conditions, the answer is linked to health condition records
-
my-medications, the answer is linked to medication records
-
my-support-packages, the answer is linked to support package records
- gallery-uploader / file-dropper, the answer is linked to digital asset records
To submit an answer to any of these types of questions, linked record ids are required. This means that we need to be able to manage these records so that we can retrieve the ids required to answer the question.
The following scenarios demonstrate how and why managing records in a PDS is used to support answering these types of questions.
Scenarios
To answer these types of questions, we must submit an array of one or more ids. This could mean either of the following:
-
Link a record: The citizen wants to add a link to a record in their PDS as an answer to a question.
- The citizen already answered the question previously, but now wants to update their answer.
For more on these two different scenarios, please click on the headings below:
Link an existing record to a question
When linking a record as an answer to a question, the citizen will either:
-
choose from an existing record in their PDS, or
- add a new record to their PDS and link it as an answer to the question.
Choose an existing record
Make a GET request to the relevant route for the specific question type. A record can be chosen from the resulting list and the id then stored in preparation to submit in the PUT request for this question.
Add a new record and link it
Make a POST request to the relevant route for the specific question type. The id of this record will be returned in the response. This id can then be stored in preparation to submit in the PUT request for this question.
Update the answer to a question
When updating an answer to a question, the citizen will either:
-
Change what records are linked as an answer to this question, or
- The linked records stay the same, however the citizen would like to update some of the details of one or more of the linked records.
Update what records are linked
A PUT request to update the question/answer here is sufficient. The answer is stored as an array of ids, so if a record is un-linked, it can be removed from the id array before being re-submitted. Likewise if someone wants to link more records, more ids can be added to the id array and re-submitted in a PUT request (using the templates routes).
Update the record itself
To update a specific linked record, a PUT request should be made to the relevant route for the specific type of nested component using the id of the record that the person wants to update.
Deleting a record
A record can be deleted using a DELETE request.
Managing nested components via routes
A list of available routes mapped to the relevant question type is available in the Appendix linked here.
When making a request to any of these routes, in addition to the Connection-Token header containing the Member Key, remember to pass the Member’s uid and Connection ID details as query parameters, like so:
https://api.mydex.org/api/pds/mam/get-people?uid={{uid}}&con_id={{cid}}
Use your connection values to fill in the placeholders:
-
{{uid}} → the unique id for this PDS
- {{con_id}} → the connection id
Each nested component has functionality available fo POST, PUT, DELETE, GET. Please click on the headings below for details on each type of request:
POST / PUT
To understand what data to send along in the body of a PUT or POST request for a given nested component, please refer to the nested form that is included on a GET request for a given subsection. These forms are formatted in the same way the input_fields of a subsection are i.e. with a question_id, type and so on. You can find out more about the anatomy of these input_fields in the section on GET (please click on the tab above).
The nested form will tell you...
- The question_id required to index your values by
- The validation_rules that must be applied to the formatting of the values submitted
...along with the labels and type values that you can use to build a form in the UI to capture the data.
For a PUT request, you must include the id of the record you wish to update. It should be included in the body of the request indexed by "id".
Example request body
{
"first_name" : "Andrew",
"surname" : "Smith",
"nickname" : "Andy",
"home_phone" : "07987654321",
"mobile_phone" : "07987654321",
"email" : "andrew.smith@gmail.com"
}
Example responses
A successful request will return a success response which will look something like this:
{
"success": "1",
"response_data": {
"message": "contact successfully added",
"last_insert_id": "37"
}
}
A failed request will return an error message in the response which will describe what the issue is:
{
"success": 0,
"message": "my_index: Trying to update a field that is outside of scope."
}
This message tells us that you have tried to write data to the index "my_index" which is out of scope for this particular nested component. Error messages will always contain the index (or key) that it relates to.
DELETE
When making a request to a DELETE route, the id of the record to be deleted must be included in the body of the request. The body of the request should look something like this:
{
"id" : 5
}
In response, you will receive a success message to confirm deletion has been successful:
{
"success": "1",
"response_data": {
"message": "person successfully deleted",
"deleted_id": "26"
}
}
Or else you will receive a message explaining why deletion has not taken place, for example:
{
"success": 0,
"message": "No person exists for the given ID."
}
GET
GET all
A simple GET request will return all records of this type of nested component i.e. a GET all request. In most cases a GET all request will return each record in brief, meaning that only the most pertinent values are returned. For example, a GET all my-contacts will return only the name of the contact.
GET by id
To get a specific record or records, it is possible to pass the id or ids of the required record as a query parameter. For example: adding query parameters ?id=34,56,72 will return contacts with ids 34, 56 and 72 (where they exist).
When records are requested by their id, the full record is returned.
GET with pagination
Pagination can be achieve by passing offset and limit query parameters. So, for example: ?limit=2&offset=0 will return the first two records, ?limit=2&offset=2 will return the next two records and so on.
Specific features by type
The nested component types listed below all have their own specific features. Click on each to find out more:
my-contacts
contact_type
A contact can be either a person or an organisation. When submitting a POST request, be careful to refer to the correct nested form to support the request i.e. a person should be managed using the add_person form, and an organisation should be managed using the add-organisation form.
POST request
The body of the request should include what contact_type of contact it is. For example, when adding an organisation:
{
"contact_type" : "organisation",
"data" : {
"organisation_name" : "My favourite tea shop",
"street" : {
"address_line_1" : "1 Shoppe Avenue",
"address_line_2" : "Tea Square"
},
"town" : "York",
"county" : "N.Yorks",
"postcode" : "YO24 4EP",
"country" : "",
"business_phone" : "01904 3394567",
"email" : "betty@tea-shoppe.com"
}
}
PUT request
This is similar to the POST request however, the contact_type is not required and should be replaced by a value for the id of the record to be updated. For example:
{
"id" : 52,
"data" : {
"first_name" : "Andrew",
"surname" : "Smith",
"nickname" : "Andy",
"street" : {
"address_line_1" : "1 Fort Yard",
"address_line_2" : "Fort Street"
},
"town" : "Glasgow",
"county" : "E.Duns",
"postcode" : "G61 4EP",
"country" : "",
"home_phone" : "01419876543",
"email" : "my_email@gmail.com",
"relationship_type" : "Brother"
}
}
GET request
Optional query parameters:
-
?contact_type=organisation this will return a list
of contacts of type ‘organisation’. For people only request
‘person’
- ?contact_type=person&limit=2&offset=0 will return the first two contacts of type ‘person’.
gallery-uploader
POST/PUT request
When submitting a file, the following list of file/mime types are the ones currently supported (any outside of this scope will return an error).
- jpeg/jpg
- png
- webp
- heic/heif
GET request
A basic GET request will return a thumbnail (jpeg) of the original image. The full image is returned when a request is made for a specific id.
my-medications & my-health-conditions
The options array in the medications form for medication_name contains an option “Other:”. If a value “Other:” is to be submitted, it must be in the format “Other: {{user input}}" i.e. “Other:” followed by user input. Any attempt to submit “Other:” without user input will return an error message.
Appendix
Please find useful resources relating to the Mydex Template System below by clicking on the relevant heading:
UI "type" codes
Code | Description |
---|---|
check-buttons-multi | A question with a group/list of answer-options that can be selected from. Multiple options can be selected. Typically displayed as check buttons. |
file-dropper | A question that expects a file as an answer. |
gallery-uploader | A gallery that enables the ability to upload images. |
input-date | Date input element. |
input-select | A question with a group/list of answer-options that can be selected from. Only one option can be selected. |
input-text | Expects free text. Typically allows for a single line of text e.g. “First name” |
input-text-multi | Expects free text. Typically allows for a larger unit of text such as something more descriptive/narrative. |
phone-entry | Expects a phone number. |
radio-list | A question with a group/list of answer-options that can be selected from. Multiple options can be selected. Typically displayed as radio buttons. This can sometimes be a multi-dimensional list where options require a secondary value e.g. “yes”/”no”/”maybe” |
list-add-items | A list of items assigned to a single question |
display-only | This element will display the linked PDS data, but it is not editable. |
my-people | A question that is answered by selecting people from a person’s PDS |
my-contacts | A question that is answered by selecting contacts from a person’s PDS |
my-health-conditions | A question that is answered by selecting health conditions from a person’s PDS |
my-medications | A question that is answered by selecting medications from a person’s PDS |
my-support-packages | A question that is answered by selecting support packages from a person’s PDS |
Validation rules
Code | Rule |
---|---|
is_text | Must be of type string. |
base64_encoded | Must be base64 encoded. |
is_valid_option | Must be an option from the ‘options’ array in the input field entity. |
unix_timestamp_earlier_than_today | Must be a date that is earlier than today. Also checks to make sure that a valid unix timestamp is submitted. |
is_valid_phone_number |
Must be a valid phone number. Can contain an optional prefix ‘+’ or ‘00’ for
international codes. After the prefix, any non-numeric characters are stripped and
the resulting value (minus the prefix) must be more than 0 and up to 31 digits long.
The sanitised value is what will be saved to the PDS. Please note that any phone numbers
submitted that only contain non-numeric values (outside of the prefix) will
fail validation. Empty strings are allowed to clear a phone number. Examples of acceptable
values are as follows:
|
is_valid_email | Must be a valid email. |
is_bool | Must be of type boolean. |
is_my_people_array | Must be correctly formatted my-people array. An array of ids, where the array is indexed by ‘my_people’. Example: “my_people” : [4, 12, 18] |
is_my_image_array | Must be correctly formatted my-images array. An array of ids, where the array is indexed by ‘my_images’. Example: “my_images” : [4, 12, 18] |
is_my_contacts_array | Must be correctly formatted my-contacts array. An array of ids, where the array is indexed by ‘my_contacts’. Example: “my_contacts” : [4, 12, 18] |
is_my_health_conditions_array | Must be correctly formatted my-health-conditions array. An array of ids, where the array is indexed by ‘my_health_conditions’. Example: “my_health_conditions” : [4, 12, 18] |
max_10_mb | Files uploaded cannot exceed 10mb in size. |
is_yes_no_in_progress_options_array | Expects an array containing all the options as keys with a value for each key as “Yes”, “No”, “In progress” or “” (in the case a value has not yet been assigned to the options). |
is_array | Expects an array. |
is_whole_number | Expects a whole number i.e. no floats or strings other than those representing whole numbers. |
disabled | You cannot write to this data field. |
is_support_schedule | This must be an array of schedule items. Each schedule item is an object which must contain values for all of the following: ‘frequency’, ‘start_time’, ‘end_time’, ‘location’ and depending on the value submitted for ‘frequency’, either ‘week_day’ or ‘month_day’. For example: { “frequency”: “Weekly”, “week_day”: “Monday”, “start_time”: “08:00”, “end_time”: “09:00”, “location”: “home” } |
is_24hr_time | A string formatted as 24hr time like so: “HH:mm”. For example, 08:00, 12:00, 15:45, 20:32 and so on |
is_single_contact | This is very similar to is_my_contacts_array , however only one id is expected to be passed. |
Available nested component routes
Question type | Action | Route |
---|---|---|
my-people | GET | https://api.mydex.org/api/pds/mam/get-people |
POST | https://api.mydex.org/api/pds/mam/add-person | |
PUT | https://api.mydex.org/api/pds/mam/update-person | |
DELETE | https://api.mydex.org/api/pds/mam/delete-person | |
my-contacts | GET | https://api.mydex.org/api/pds/mam/get-contacts |
POST | https://api.mydex.org/api/pds/mam/add-contact | |
PUT | https://api.mydex.org/api/pds/mam/update-contact | |
DELETE | https://api.mydex.org/api/pds/mam/delete-contact | |
gallery-uploader | GET | https://api.mydex.org/api/pds/mam/add-digital-asset/image |
POST | https://api.mydex.org/api/pds/mam/update-digital-asset/image | |
PUT | https://api.mydex.org/api/pds/mam/delete-digital-asset/image | |
DELETE | https://api.mydex.org/api/pds/mam/get-digital-assets/image | |
my-medications | GET | https://api.mydex.org/api/pds/mam/get-medications |
POST | https://api.mydex.org/api/pds/mam/add-medication | |
PUT | https://api.mydex.org/api/pds/mam/update-medication | |
DELETE | https://api.mydex.org/api/pds/mam/delete-medication | |
my-health-conditions | GET | https://api.mydex.org/api/pds/mam/get-health-conditions |
POST | https://api.mydex.org/api/pds/mam/add-health-condition | |
PUT | https://api.mydex.org/api/pds/mam/update-health-condition | |
DELETE | https://api.mydex.org/api/pds/mam/delete-health-condition | |
my-support-packages | GET | https://api.mydex.org/api/pds/mam/get-support-packages |
POST | https://api.mydex.org/api/pds/mam/add-support-package | |
PUT | https://api.mydex.org/api/pds/mam/update-support-package | |
DELETE | https://api.mydex.org/api/pds/mam/delete-support-package |
Available subsection routes
This is a list of subsection routes that are currently available:
- https://api.mydex.org/api/pds/mam/this-is-me/personal-details
- https://api.mydex.org/api/pds/mam/this-is-me/contact-details
- https://api.mydex.org/api/pds/mam/this-is-me/current-support
- https://api.mydex.org/api/pds/mam/this-is-me/personal-qualities
- https://api.mydex.org/api/pds/mam/this-is-me/my-people
- https://api.mydex.org/api/pds/mam/this-is-me/my-pastimes
- https://api.mydex.org/api/pds/mam/this-is-me/my-home
- https://api.mydex.org/api/pds/mam/this-is-me//my-routines
- https://api.mydex.org/api/pds/mam/this-is-me/reminiscence-gallery
- https://api.mydex.org/api/pds/mam/this-is-me/money-matters
- https://api.mydex.org/api/pds/mam/this-is-me/medical-details
- https://api.mydex.org/api/pds/mam/this-is-me/mey-medications
- https://api.mydex.org/api/pds/mam/this-is-me/main-support
- https://api.mydex.org/api/pds/mam/this-is-me/access
- https://api.mydex.org/api/pds/mam/this-is-me/my-priorities
- https://api.mydex.org/api/pds/mam/this-is-me/support-package
- https://api.mydex.org/api/pds/mam/this-is-me/my-preferences
- https://api.mydex.org/api/pds/mam/health-wellbeing/medical-history
- https://api.mydex.org/api/pds/mam/health-wellbeing/wellbeing
- https://api.mydex.org/api/pds/mam/health-wellbeing/memory
- https://api.mydex.org/api/pds/mam/health-wellbeing/staying-safe
- https://api.mydex.org/api/pds/mam/health-wellbeing/important
- https://api.mydex.org/api/pds/mam/health-wellbeing/money-matters
- https://api.mydex.org/api/pds/mam/my-support/communication
- https://api.mydex.org/api/pds/mam/my-support/medications
- https://api.mydex.org/api/pds/mam/my-support/general-fitness
- https://api.mydex.org/api/pds/mam/my-support/practical-help
- https://api.mydex.org/api/pds/mam/my-support/moving-around-inside
- https://api.mydex.org/api/pds/mam/my-support/moving-around-outside
- https://api.mydex.org/api/pds/mam/my-support/getting-washed
- https://api.mydex.org/api/pds/mam/my-support/foot-care
- https://api.mydex.org/api/pds/mam/my-support/personal-aids
- https://api.mydex.org/api/pds/mam/my-support/continence
- https://api.mydex.org/api/pds/mam/my-support/eating-drinking
- https://api.mydex.org/api/pds/mam/my-support/bedtime
- https://api.mydex.org/api/pds/mam/my-support/falls
- https://api.mydex.org/api/pds/mam/my-support/digital
- https://api.mydex.org/api/pds/mam/my-support/support-package
- https://api.mydex.org/api/pds/mam/my-support/action-list
- https://api.mydex.org/api/pds/mam/my-supporting-roles/personal-details
- https://api.mydex.org/api/pds/mam/my-supporting-roles/people-i-care-for
- https://api.mydex.org/api/pds/mam/my-supporting-roles/impact-on-my-health
- https://api.mydex.org/api/pds/mam/my-supporting-roles/emotional-wellbeing
- https://api.mydex.org/api/pds/mam/my-supporting-roles/impact-on-my-finances
- https://api.mydex.org/api/pds/mam/my-supporting-roles/my-life-balance
- https://api.mydex.org/api/pds/mam/my-supporting-roles/impact-on-future-plans
- https://api.mydex.org/api/pds/mam/my-supporting-roles/impact-on-employment
- https://api.mydex.org/api/pds/mam/my-supporting-roles/impact-on-my-home
- https://api.mydex.org/api/pds/mam/my-supporting-roles/other-aspects-of-life
- https://api.mydex.org/api/pds/mam/my-supporting-roles/skills-experience
- https://api.mydex.org/api/pds/mam/my-supporting-roles/what-matters
- https://api.mydex.org/api/pds/mam/planning-ahead/attitude-to-change
- https://api.mydex.org/api/pds/mam/planning-ahead/power-of-attorney
- https://api.mydex.org/api/pds/mam/planning-ahead/anticipatory-care-plan
- https://api.mydex.org/api/pds/mam/planning-ahead/will
- https://api.mydex.org/api/pds/mam/planning-ahead/unpaid-carer
- https://api.mydex.org/api/pds/mam/planning-ahead/advanced-directives
GET Response example
https://api.mydex.org/api/pds/mam/this-is-me/personal-qualities
{
"success": 1,
"response_data": {
"heading": "This Is Me",
"menu_items": {
"Personal Details": "https://api.mydex.org/api/pds/mam/this-is-me/personal-details",
"Contact Details": "https://api.mydex.org/api/pds/mam/this-is-me/contact-details",
"Current Support": "https://api.mydex.org/api/pds/mam/this-is-me/current-support",
"Personal Qualities": "https://api.mydex.org/api/pds/mam/this-is-me/personal-qualities",
"My People": "https://api.mydex.org/api/pds/mam/this-is-me/my-people",
"Pastimes": "https://api.mydex.org/api/pds/mam/this-is-me/my-pastimes",
"Home": "https://api.mydex.org/api/pds/mam/this-is-me/my-home",
"Routines": "https://api.mydex.org/api/pds/mam/this-is-me/my-routines",
"Reminiscence Gallery": "https://api.mydex.org/api/pds/mam/this-is-me/reminiscence-gallery",
"Money Matters": "https://api.mydex.org/api/pds/mam/this-is-me/money-matters"
},
"breadcrumbs": {
"personal-details": {
"heading": "Personal Details",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/personal-details"
},
"contact-details": {
"heading": "Contact Details",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/contact-details"
},
"current-support": {
"heading": "Current Support",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/current-support"
},
"personal-qualities": {
"heading": "Personal Qualities",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/personal-qualities"
},
"my-people": {
"heading": "My People",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-people"
},
"my-pastimes": {
"heading": "Pastimes",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-pastimes"
},
"my-home": {
"heading": "Home",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-home"
},
"my-routines": {
"heading": "Routines",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/my-routines"
},
"reminiscence-gallery": {
"heading": "Reminiscence Gallery",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/reminiscence-gallery"
},
"money-matters": {
"heading": "Money Matters",
"url": "https://api.mydex.org/api/pds/mam/this-is-me/money-matters"
}
},
"main_content": {
"heading": "Personal Qualities",
"sub_heading": "What are my personal qualities",
"input_fields": {
"what_do_i_like_socially_environmentally": {
"type": "check-buttons-multi",
"label": {
"citizen": "What do I like",
"service_provider": "What do you like"
},
"options": [
"Big groups",
"Small groups",
"One-to-one events",
"Being indoors",
"Being outdoors"
],
"validation_rules": [
"are_valid_options"
],
"input": [
"Big groups"
]
},
"positive_qualities": {
"type": "input-text",
"label": {
"citizen": "What do I feel are positive things about me",
"service_provider": "What are the positive things about you"
},
"validation_rules": [
"is_text"
],
"input": "happy"
},
"challenging_about_me": {
"type": "input-text",
"label": {
"citizen": "What do I feel are things people find challenging about me",
"service_provider": "What do people find challenging about you"
},
"validation_rules": [
"is_text"
],
"input": "impatient"
},
"good_day_looks_like": {
"type": "input-text",
"label": {
"citizen": "What does a good day look like for me",
"service_provider": "What does a good day look like"
},
"validation_rules": [
"is_text"
],
"input": "Seeing family and friends"
},
"bad_day_looks_like": {
"type": "input-text",
"label": {
"citizen": "What does a bad day look like for me",
"service_provider": "What does a bad day look like"
},
"validation_rules": [
"is_text"
],
"input": "having nothing to do"
},
"heading_0": {
"type": "heading",
"label": {
"citizen": "My Goals",
"service_provider": "My Goals"
}
},
"area_of_my_goals": {
"type": "check-buttons-multi",
"label": {
"citizen": "What goals do I have in what areas",
"service_provider": "What area do your goals relate to"
},
"options": [
"More active",
"More time with family/friends",
"Education / Learning",
"Healthy eating",
"Relaxation",
"More time going out",
"Other"
],
"validation_rules": [
"are_valid_options"
],
"input": [
"Healthy eating",
"Relaxation"
]
},
"like_to_get_back_to": {
"type": "input-text",
"label": {
"citizen": "What would I like to get back to doing",
"service_provider": "Things you would like to get back to"
},
"validation_rules": [
"is_text"
],
"input": "studying"
},
"achieve_in_future": {
"type": "input-text",
"label": {
"citizen": "What things would I like to achieve in the future",
"service_provider": "Things you would like to achieve in the future"
},
"validation_rules": [
"is_text"
],
"input": "visit my daughter in spain"
},
"more_about_my_goals": {
"type": "input-text",
"label": {
"citizen": "What else do I want to share about my goals",
"service_provider": "Other things you would like to share about your goals"
},
"validation_rules": [
"is_text"
],
"input": "I would like to get better at spanish so that I can understand my grandchildren better"
}
}
}
}
}