Da finde ich folgende Seite sehr interessant:
4.2 Multiplizitat
Das doofe ist nur, das im Bezug auf Arztpraxen deine beiden Anforderungen nur in ganz ganz wenigen Fällen passen. Dazu muss die Software so allgemein wie möglich gehalten werden und ggf. sich in den laufenden Zustand einer Software und dessen Datenbestand versetzt werden.
Für deine Anforderung * -> * könnte man Behandlungsmethoden in Betracht ziehen:
Arzt (*) <--[Anwendung]--> Behandlungsmethoden (*)
Erläuterung: Ein Arzt kann keine (reine Untersuchungsärzte) oder beliebig viele Behandlungsmethoden anwenden. Eine Behandlungsmethode kann von keinen (z.B. Methoden, die nicht zu den Fachgebieten der Ärzte gehören) oder beliebig vielen Ärzten angewendet werden.
Für deine zweite Anforderung 0,1 (bzw. 0..1) -> 1..* ist es nochmals extrem schwieriger. Hier mal ein mögliches Beispiel mit dem Faktor Zeit:
Arzt (0..1) <--[Zurzeit_in_Behandlung]--> Krankheitsbild (1..*)
Erläuterung: Entweder behandelt ein Arzt gerade ein Krankheitsbild oder nicht. Jedes momentan existierende Krankheitsbild wird von mindestens einem Arzt oder beliebig vielen Ärzten behandelt. Ansonsten existiert das Krankheitsbild aktuell nicht. An dieser Stelle ist es wichtig nochmals klarzustellen, das hier der Faktor Zeit eine Rolle spielt. Hat eine Praxis in diesem Moment keine Patienten, existiert auch kein aktuelles Krankheitsbild. Allerdings heißt das nicht, das garkeine Krankheitsbilder existieren. In diesem Falle ist es also eher so zu verstehen. Das Krankheitsbild ist z.B. entweder eine Instanz der Klasse "Blinddarmentzündung", welche die Klasse "Krankheitsbild" beerbt oder eine Instanz der Klasse "Krankheitsbild", die in den Eigenschaften alle Informationen zum Bild "Blinddarmentzündung" beinhaltet. Der Faktor Zeit nimmt den aktuellen Ist-Stand.
Es kommt immer darauf an, wie kleinschrittig du deine Klassen definierst. Das wiederum kommt auf den Umfang der zu implementierenden Software an. Bei einer einfachen Patienten/Praxisverwaltung könnte das ganze so aussehen:
1. Arzt
2. Fachgebiet
3. Patient
4. Untersuchung
5. Behandlung
Bei einer umfangreichen Lösung:
1. Arzt
2. Fachgebiet
3. Untersuchungsmethoden
4. Behandlungsmethoden
5. Medikationsmethoden
6. Prognosen
7. Diagnosen
8. Patienten
9. Patientendaten
usw usw.
Die beiden von dir genannten Anforderungen sind allgemein recht schwer.