Skip to content

Commit 0fb2aeb

Browse files
committed
feat: yaml examples wip
1 parent d07af06 commit 0fb2aeb

File tree

42 files changed

+1578
-3671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1578
-3671
lines changed

sandbox/api/app.py

Lines changed: 33 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
from flask import Flask, request
55

66
from .constants import (
7-
CONSENT__ADULT_CONSENTING_EXAMPLE,
8-
CONSENT__MIXED_EXAMPLE,
9-
CONSENT__MOTHER_CHILD_EXAMPLE,
107
CONSENT_PERFORMER,
118
INTERNAL_ERROR_RESPONSE,
129
INTERNAL_SERVER_ERROR_EXAMPLE,
@@ -18,16 +15,17 @@
1815
VALIDATE_RELATIONSHIP_025,
1916
VALIDATE_RELATIONSHIP_INCLUDE_009,
2017
VALIDATE_RELATIONSHIP_INCLUDE_025, CONSENT_PATIENT, BAD_REQUEST_INCLUDE_PARAM_INVALID,
21-
CONSENT__STATUS_PARAM_INVALID, CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PERFORMER,
22-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PATIENT, CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP,
23-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH, CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP,
24-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PERFORMER,
25-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PATIENT, CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH,
26-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PERFORMER,
27-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PATIENT, CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH,
28-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE, CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_BOTH,
29-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER, CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT,
30-
CONSENT__MULTIPLE_RELATIONSHIPS, CONSENT__NO_RELATIONSHIPS,
18+
CONSENT__STATUS_PARAM_INVALID,
19+
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP,
20+
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH,
21+
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP,
22+
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH,
23+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH,
24+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER,
25+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT,
26+
CONSENT__MULTIPLE_RELATIONSHIPS,
27+
CONSENT__NO_RELATIONSHIPS, CONSENT__FILTERED_RELATIONSHIPS_STATUS_ACTIVE,
28+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_INACTIVE, CONSENT__FILTERED_RELATIONSHIPS_STATUS_PROPOSED_ACTIVE
3129
)
3230
from .utils import (
3331
check_for_empty,
@@ -38,7 +36,8 @@
3836
generate_response_from_example,
3937
load_json_file,
4038
remove_system,
41-
check_for_consent_include_params
39+
check_for_consent_include_params,
40+
check_for_consent_filtering_params
4241
)
4342

4443
app = Flask(__name__)
@@ -160,43 +159,37 @@ def get_consent() -> Union[dict, tuple]:
160159

161160
# Single consenting adult relationship
162161
if (performer_identifier == "9000000010"):
163-
return check_for_consent_include_params(
162+
check_for_consent_include_params(
164163
_include,
165-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PATIENT,
166-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PERFORMER,
164+
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP,
167165
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH,
168-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP
169166
)
170167
# Single mother child relationship
171168
elif (performer_identifier == "9000000019"):
172-
return check_for_consent_include_params(
169+
check_for_consent_include_params(
173170
_include,
174-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PATIENT,
175-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PERFORMER,
171+
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP,
176172
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH,
177-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP
178173
)
179-
# multiple relationships
174+
# Filtering
180175
elif (performer_identifier == "9000000017"):
181-
if (status == "active"):
182-
return check_for_consent_include_params(
183-
_include,
184-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PATIENT,
185-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PERFORMER,
186-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_BOTH,
187-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE
188-
)
189-
else:
190-
return check_for_consent_include_params(
191-
_include,
192-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT,
193-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER,
194-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH,
195-
CONSENT__MULTIPLE_RELATIONSHIPS
196-
)
176+
check_for_consent_filtering_params(
177+
status,
178+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_ACTIVE,
179+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_INACTIVE,
180+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_PROPOSED_ACTIVE
181+
)
182+
elif (performer_identifier == "9000000022"):
183+
check_for_consent_include_params(
184+
_include,
185+
CONSENT__MULTIPLE_RELATIONSHIPS,
186+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH,
187+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT,
188+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER,
189+
)
197190
# No relationships
198191
elif (performer_identifier == "9000000025"):
199-
return generate_response(load_json_file(CONSENT__NO_RELATIONSHIPS), 200)
192+
return generate_response_from_example(CONSENT__NO_RELATIONSHIPS, 200)
200193
else:
201194
return generate_response(load_json_file(NOT_FOUND), 400)
202195

sandbox/api/constants.py

Lines changed: 22 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -25,47 +25,6 @@
2525
"./api/responses/POST_QuestionnaireResponse/questionnaire_response_success.json"
2626
)
2727

28-
BAD_REQUEST_INCLUDE_PARAM_INVALID = "./api/responses/bad_request_include_param_invalid.json"
29-
30-
consent_dir = "./api/responses/GET_Consent/"
31-
CONSENT__MULTIPLE_RELATIONSHIPS = consent_dir + "multiple_relationships.json"
32-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH = consent_dir + "multiple_relationships_include_both.json"
33-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT = consent_dir + "multiple_relationships_include_patient.json"
34-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER = consent_dir + "multiple_relationships_include_performer.json"
35-
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER = consent_dir + "multiple_relationships_include_performer.json"
36-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE = consent_dir + "multiple_relationships_status_active.json"
37-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_BOTH = (
38-
consent_dir + "multiple_relationships_status_active_include_both.json"
39-
)
40-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PATIENT = (
41-
consent_dir + "multiple_relationships_status_active_include_patient.json"
42-
)
43-
CONSENT__MULTIPLE_RELATIONSHIPS_STATUS_ACTIVE_INCLUDE_PERFORMER = (
44-
consent_dir + "multiple_relationships_status_active_include_performer.json"
45-
)
46-
CONSENT__NO_RELATIONSHIPS = consent_dir + "no_relationships.json"
47-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP = consent_dir + "single_consenting_adult_relationship.json"
48-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH = (
49-
consent_dir + "single_consenting_adult_relationship_include_both.json"
50-
)
51-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PATIENT = (
52-
consent_dir + "single_consenting_adult_relationship_include_patient.json"
53-
)
54-
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_PERFORMER = (
55-
consent_dir + "single_consenting_adult_relationship_include_performer.json"
56-
)
57-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP = consent_dir + "single_mother_child_relationship.json"
58-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH = (
59-
consent_dir + "single_mother_child_relationship_include_both.json"
60-
)
61-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PATIENT = (
62-
consent_dir + "single_mother_child_relationship_include_patient.json"
63-
)
64-
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_PERFORMER = (
65-
consent_dir + "single_mother_child_relationship_include_performer.json"
66-
)
67-
CONSENT__STATUS_PARAM_INVALID = consent_dir + "bad_request_status_param_invalid.json"
68-
6928
PATIENT_IDENTIFIERS = ["9000000017", "9000000033"]
7029
RELATED_IDENTIFIERS = ["9000000009", "9000000025"]
7130

@@ -75,8 +34,26 @@
7534
# Example files
7635

7736
# Common examples
78-
INTERNAL_SERVER_ERROR_EXAMPLE = "./api/examples/shared/internal-server-error.yaml"
37+
INTERNAL_SERVER_ERROR_EXAMPLE = "./api/examples/errors/internal-server-error.yaml"
38+
BAD_REQUEST_INCLUDE_PARAM_INVALID = "./api/examples/errors/bad_request_include_param_invalid.json"
7939
# Consent examples
80-
CONSENT__ADULT_CONSENTING_EXAMPLE = "./api/examples/GET_Consent/adults-consenting.yaml"
81-
CONSENT__MIXED_EXAMPLE = "./api/examples/GET_Consent/mixed.yaml"
82-
CONSENT__MOTHER_CHILD_EXAMPLE = "./api/examples/GET_Consent/mother-child.yaml"
40+
consent_dir = "./api/examples/GET_Consent/"
41+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_ACTIVE = consent_dir + "filtered-relationships-status-active.yaml"
42+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_INACTIVE = consent_dir + "filtered-relationships-status-inactive.yaml"
43+
CONSENT__FILTERED_RELATIONSHIPS_STATUS_PROPOSED_ACTIVE = (
44+
consent_dir + "filtered-relationships-status-proposed-active.yaml"
45+
)
46+
CONSENT__MULTIPLE_RELATIONSHIPS = consent_dir + "multiple-relationships.yaml"
47+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH = consent_dir + "multiple-relationships-include-performer-patient.yaml"
48+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PATIENT = consent_dir + "multiple-relationships-include-patient.yaml"
49+
CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_PERFORMER = consent_dir + "multiple-relationships-include-performer.yaml"
50+
CONSENT__NO_RELATIONSHIPS = consent_dir + "no-relationships.yaml"
51+
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP = consent_dir + "single-consenting-adult-relationship.yaml"
52+
CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH = (
53+
consent_dir + "single-consenting-adult-relationship-include-performer-patient.yaml"
54+
)
55+
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP = consent_dir + "single-mother-child-relationship.yaml"
56+
CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH = (
57+
consent_dir + "single-mother-child-relationship-include-performer-patient.yaml"
58+
)
59+
CONSENT__STATUS_PARAM_INVALID = consent_dir + "bad_request_status_param_invalid.json"

sandbox/api/responses/GET_Consent/bad_request_status_param_invalid.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)