Name your novel disease Introduction

The current coronavirus disease is officially named COVID-19, from the 3 words corona virus disease, and the year 2019. (Technically it's coronavirus, making 2 words, but whatever...)

Given this example, we can apply this naming convention to name other potential diseases.

Challenge

You will be given 3 words and a year.


Take the first letters of the first 2 words, up to and including the first vowel, and append them together.
Then, append the first letter of the 3rd word. 
Finally, append the character -, followed by the last 2 digits of the year.


Thus, corona,virus,disease,2019 -&gt; co + vi + d + - + 19 -&gt; covid-19.

Challenge rules


It is guaranteed that each of the three words have at least one vowel. For the purposes of this challenge, vowels are defined as the letters a, e, i, o, u.
You may assume that words consist only of lowercase letters a-z, or only uppercase letters A-Z if you prefer. Your output may be in either case.
It's guaranteed that the date is exactly four digits.
Input may be specified in any format, as long as there is a delimiter between the words. For example, ['corona', 'virus', 'disease', '2019'], corona,virus,disease,2019, [['corona', 'virus'], 'disease', 2019] and corona virus disease 2019 are all valid inputs.


This is code-golf, so shortest answer wins.

Example test cases

corona,virus,disease,2019 -&gt; covid-19
computer,addiction,syndrome,1970 -&gt; coas-70
code,golf,fun,2020 -&gt; cogof-20
a,ba,ca,1234 -&gt; abac-34
tree,string,create,9000 -&gt; trestric-00
love,time,cholera,1985 -&gt; lotic-85
Python 3, 83 81 bytes



lambda a,b,c,d:g(*a)+g(*b)+c[0]+"-"+d[2:]
g=lambda c,*s:c[:c in"aeiou"]or c+g(*s)


Try it online!

-2 bytes thanks to @JonathanAllan!

Explanation:

g is a recursive function that takes in a splatted string and return the string, truncated after the first vowel.


lambda c,*s gather the splatted string into the first character c and the rest s.
c[:c in"aeiou"] or c+g(*s) evaluates to:


if c is a vowel, then c[:c in"aeiou"] evaluates to c[:1] which is c. Since c is Truthy, it is returned.
if c is not a vowel, then c[:c in"aeiou"] evaluates to c[:0] aka the empty string. The empty string is Falsy, so c+g(*s) (the recursive case) is returned.




Old solution, kept here for sentimental reason

Python 3, 89 bytes



lambda a,b,c,d:g(a)+g(b)+c[0]+"-"+d[2:]
g=lambda s:s[:[x in"aeiou"for x in s].index(1)+1]


Try it online!