Medication models a drug that someone is taking and, in addition, the possibility that this drug was prescribed.
See also Indivo Coded Values and Indivo Provider Schema.
Schema:
<?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#" xmlns:indivo="http://indivo.org/vocab/xml/documents#" elementFormDefault="qualified"> <xs:include schemaLocation="codes.xsd" /> <xs:include schemaLocation="provider.xsd" /> <xs:include schemaLocation="values.xsd" /> <!-- prescription information that can be attached to a medication --> <xs:complexType name="Prescription"> <xs:sequence> <xs:element name="by" type="indivo:Provider" minOccurs="0" maxOccurs="1" /> <xs:element name="on" type="xs:date" minOccurs="0" maxOccurs="1" /> <xs:element name="stopOn" type="xs:date" minOccurs="0" maxOccurs="1" /> <xs:element name="dispenseAsWritten" type="xs:boolean" minOccurs="1" maxOccurs="1" /> <xs:element name="duration" type="xs:duration" minOccurs="0" maxOccurs="1" /> <xs:element name="refillInfo" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="instructions" type="xs:string" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> <!-- may not need a top-level prescription element --> <!-- <xs:element name="Prescription" type="indivo:Prescription" /> --> <!-- a medication, how often it's taken, etc.. --> <xs:complexType name="Medication"> <xs:sequence> <xs:element name="dateStarted" type="xs:date" minOccurs="0" maxOccurs="1" /> <xs:element name="dateStopped" type="xs:date" minOccurs="0" maxOccurs="1" /> <xs:element name="reasonStopped" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" /> <xs:element name="brandName" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" /> <xs:element name="dose" type="indivo:ValueAndUnit" minOccurs="1" maxOccurs="1" /> <!-- this is typically contained in the code, but maybe not --> <xs:element name="route" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" /> <xs:element name="strength" type="indivo:ValueAndUnit" minOccurs="0" maxOccurs="1" /> <xs:element name="frequency" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" /> <!-- was it prescribed? --> <xs:element name="prescription" type="indivo:Prescription" minOccurs="0" maxOccurs="1" /> <!-- other details on this drug --> <xs:element name="details" type="xs:string" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> <xs:element name="Medication" type="indivo:Medication" /> </xs:schema>
Example:
<Medication xmlns="http://indivo.org/vocab/xml/documents#">
<dateStarted>2009-02-05</dateStarted>
<name type="http://indivo.org/codes/meds#" abbrev="c2i" value="COX2 Inhibitor" />
<brandName type="http://indivo.org/codes/meds#" abbrev="vioxx" value="Vioxx" />
<dose>
<value>3</value>
<unit type="http://indivo.org/codes/units#" value="pills" abbrev="p" />
</dose>
<route type="http://indivo.org/codes/routes#" value="PO">By Mouth</route>
<strength>
<value>100</value>
<unit type="http://indivo.org/codes/units#" value="mg" abbrev="mg" />
</strength>
<frequency type="http://indivo.org/codes/frequency#" value="daily">daily</frequency>
<prescription>
<by>
<name>Dr. Ken Mandl</name>
<institution>Children's Hospital Boston</institution>
</by>
<on>2009-02-01</on>
<stopOn>2010-01-31</stopOn>
<dispenseAsWritten>true</dispenseAsWritten>
<!-- this duration means 2 months -->
<duration>P2M</duration>
<!-- does this need more structure? -->
<refillInfo>once a month for 3 months</refillInfo>
<instructions>don't take them all at once!</instructions>
</prescription>
</Medication>