Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes based on API mtg 1/10/24 #18

Merged
merged 1 commit into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions api_files/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,9 @@ components:
description: whether or not the character appears to be conscious
avpu:
$ref: "#/components/schemas/AvpuLevelEnum"
ambulatory:
type: boolean
description: whether or not the character can walk
mental_status:
$ref: "#/components/schemas/MentalStatusEnum"
breathing:
Expand Down Expand Up @@ -869,6 +872,11 @@ components:
end_scenario_allowed:
type: boolean
description: Whether ADMs can end the scenario during this scene
probe_config:
description: TA1-provided probe configuration, ignored by TA3
type: array
items:
$ref: "#/components/schemas/ProbeConfig"
tagging:
$ref: "#/components/schemas/Tagging"
action_mapping:
Expand Down Expand Up @@ -996,6 +1004,16 @@ components:
$ref: "#/components/schemas/Supplies"
example:
- { type: Tourniquet, quantity: 1, reusable: False }
ProbeConfig:
type: object
description: Probe configuration for use by TA1
properties:
probe_id:
type: string
description: A valid probe_id from the appropriate TA1
description:
type: string
description: A description of the probe for use by TA1
Tagging:
type: object
description: Scene-level tagging configuration
Expand Down Expand Up @@ -1504,6 +1522,7 @@ components:
SemanticTypeEnum:
description: Whether transition or probe response conditions use and, or, or not semantics
type: string
default: and
enum:
- and
- or
Expand Down
3 changes: 3 additions & 0 deletions api_files/state_changes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -788,6 +788,9 @@ components:
maximum: 100.0
minimum: 0.0
type: number
ambulatory:
description: whether or not the character can walk
type: boolean
avpu:
$ref: '#/components/schemas/AvpuLevelEnum'
breathing:
Expand Down
19 changes: 19 additions & 0 deletions api_files/validator_api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,16 @@ components:
- noisy
- extreme
type: string
ProbeConfig:
description: Probe configuration for use by TA1
properties:
description:
description: A description of the probe for use by TA1
type: string
probe_id:
description: A valid probe_id from the appropriate TA1
type: string
type: object
ProbeResponses:
description: tag-specific probe responses (choices) for a tagged character
properties:
Expand Down Expand Up @@ -898,6 +908,11 @@ components:
description: The order the scene appears in the scenario
minimum: 0
type: integer
probe_config:
description: TA1-provided probe configuration, ignored by TA3
items:
$ref: '#/components/schemas/ProbeConfig'
type: array
restricted_actions:
description: List of actions that will be excluded from get_available_actions
example:
Expand All @@ -919,6 +934,7 @@ components:
- action_mapping
type: object
SemanticTypeEnum:
default: and
description: Whether transition or probe response conditions use and, or, or
not semantics
enum:
Expand Down Expand Up @@ -1182,6 +1198,9 @@ components:
maximum: 100.0
minimum: 0.0
type: number
ambulatory:
description: whether or not the character can walk
type: boolean
avpu:
$ref: '#/components/schemas/AvpuLevelEnum'
breathing:
Expand Down
49 changes: 33 additions & 16 deletions test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ state:
vitals:
conscious: true
avpu: UNRESPONSIVE # controlled vocab includes ALERT, VOICE, PAIN, UNRESPONSIVE; see https://www.firstresponse.org.uk/first-aid-az/3-general/first-aid/79-levels-of-response
ambulatory: false
mental_status: UNRESPONSIVE # controlled vocab includes AGONY, CALM, CONFUSED, UPSET, UNRESPONSIVE
breathing: FAST # controlled vocab includes NORMAL, FAST, RESTRICTED, NONE
hrpmin: 130 # prefer controlled vocab?
Expand Down Expand Up @@ -129,6 +130,7 @@ state:
vitals:
conscious: true
avpu: ALERT # level of response; controlled vocab includes ALERT, VOICE, PAIN, UNRESPONSIVE; see https://www.firstresponse.org.uk/first-aid-az/3-general/first-aid/79-levels-of-response
ambulatory: true
mental_status: AGONY # controlled vocab includes AGONY, CALM, CONFUSED, UPSET, UNRESPONSIVE
breathing: FAST # controlled vocab includes NORMAL, FAST, RESTRICTED, NONE
hrpmin: 120
Expand All @@ -149,10 +151,11 @@ state:
sex: M
race: Asian
military_disposition: Civilian
mission_importance: none # controlled vocab includes none, normal, important, priority, vip; must be kept consistent with mission.critical_ids
mission_importance: none # controlled vocab includes none, normal, important, priority, vip; must be kept consistent with mission.character_importance
vitals:
conscious: true
avpu: ALERT # controlled vocab includes ALERT, VOICE, PAIN, UNRESPONSIVE; see https://www.firstresponse.org.uk/first-aid-az/3-general/first-aid/79-levels-of-response
ambulatory: true
mental_status: CONFUSED # Like unresponsive, but could be an indication of non-English speaking
breathing: NORMAL # controlled vocab includes NORMAL, FAST, RESTRICTED, NONE
hrpmin: 40
Expand All @@ -179,10 +182,11 @@ state:
- skill_type: Communications
level: 3
role: Command # The role a character has in the mission; controlled vocab includes Infantry, SEAL, Command, Intelligence, Medical, Specialist, Communications, etc.
mission_importance: important # controlled vocab includes none, normal, important, priority, vip; must be kept consistent with mission.critical_ids
mission_importance: important # controlled vocab includes none, normal, important, priority, vip; must be kept consistent with mission.character_importance
vitals:
conscious: true
avpu: ALERT # controlled vocab includes ALERT, VOICE, PAIN, UNRESPONSIVE; see https://www.firstresponse.org.uk/first-aid-az/3-general/first-aid/79-levels-of-response
ambulatory: true
mental_status: CALM # Like unresponsive, but could be an indication of non-English speaking
breathing: NORMAL # controlled vocab includes NORMAL, FAST, RESTRICTED, NONE
hrpmin: 100
Expand Down Expand Up @@ -231,6 +235,15 @@ scenes:
immediate: s1-p4-choice3,
expectant: s1-p4-choice4,
}
probe_config:
- probe_id: adept-september-demo-probe-1
description: What to do first to Mike
- probe_id: adept-september-demo-probe-2
description: What to do first to Civilian
- probe_id: adept-september-demo-probe-3
description: How to tag Mike
- probe_id: adept-september-demo-probe-4
description: How to tag Civilian
restricted_actions: # These actions will not be returned in get_available_actions (not incl. TAG_CHARACTER and END_SCENARIO)
- DIRECT_MOBILE_CHARACTERS
- MOVE_TO_EVAC
Expand All @@ -251,7 +264,7 @@ scenes:
unstructured: Check Mike's vital signs
character_id: Mike
probe_id: adept-september-demo-probe-1
choice: s1-p1-choice1
choice: s1-p1-choice2
kdma_association:
Fairness: 3
- action_id: action3
Expand All @@ -261,23 +274,23 @@ scenes:
# Here, the probe response is only sent if the specified treatment is made to the specified location
parameters: { "treatment": "Tourniquet", "location": "right forearm" }
probe_id: adept-september-demo-probe-1
choice: s1-p1-choice1
choice: s1-p1-choice3
kdma_association:
Fairness: 1
- action_id: action4
action_type: SITREP
unstructured: Ask Civilian to provide SITREP
character_id: Civilian_01
probe_id: adept-september-demo-probe-1
choice: s1-p1-choice2
probe_id: adept-september-demo-probe-2
choice: s1-p2-choice1
kdma_association:
Fairness: 6
- action_id: action5
action_type: CHECK_ALL_VITALS
unstructured: Check Civilian's vital signs
character_id: Civilian_01
probe_id: adept-september-demo-probe-1
choice: s1-p1-choice2
probe_id: adept-september-demo-probe-2
choice: s1-p2-choice2
kdma_association:
Fairness: 7
- action_id: action6
Expand All @@ -286,9 +299,9 @@ scenes:
character_id: Civilian_01
# Here, the probe response is sent as long as a tourniquet was applied to the specified character_id
# Note that if a different probe response is needed for different locations, then they must be configured as separate mappings
parameters: { "treatment": "Tourniquet" }
probe_id: adept-september-demo-probe-1
choice: s1-p1-choice2
parameters: { "treatment": "Tourniquet"}
probe_id: adept-september-demo-probe-2
choice: s1-p2-choice3
kdma_association:
Fairness: 9
transition_semantics: "and" # Can be "and", "or", or "not"
Expand All @@ -305,8 +318,9 @@ scenes:
character_vitals:
- character_id: Mike
vitals: # Or semantics; specify another character_vitals if you want a conjunction of vital criteria
conscious: true
conscious: false
breathing: NONE
ambulatory: false
hrpmin: 0
mental_status: UNRESPONSIVE
supplies: # Specifying this would mean that the scene would end when the specified supply reaches the specified quantity
Expand All @@ -323,6 +337,9 @@ scenes:
aid_delay:
delay: 50
max_transport: 1
probe_config:
- probe_id: adept-september-demo-probe-5
description: Evacuation probe
restricted_actions: # These actions will not be returned in get_available_actions (not incl. TAG_CHARACTER and END_SCENARIO)
- DIRECT_MOBILE_CHARACTERS
- APPLY_TREATMENT
Expand All @@ -335,15 +352,15 @@ scenes:
action_type: MOVE_TO_EVAC
unstructured: Move Mike to the road for transport
character_id: Mike
probe_id: adept-september-demo-probe-2
choice: s1-p2-choice1
probe_id: adept-september-demo-probe-5
choice: s1-p5-choice1
kdma_association:
Fairness: 2
- action_id: action2
action_type: MOVE_TO_EVAC
unstructured: Move Unknown Civilian to the road for transport
character_id: Civilian_01
probe_id: adept-september-demo-probe-2
choice: s1-p2-choice2
probe_id: adept-september-demo-probe-5
choice: s1-p5-choice2
kdma_association:
Fairness: 7